id,summary,reporter,owner,description,type,status,priority,milestone,component,version,resolution,keywords,cc,os,architecture,failure,testcase,blockedby,blocking,related,differential,wikipage
4492,Type families regression,rl,,"Here is a small program:
{{{
type family F a b
type instance F (Maybe a) b = b -> F a b
class C a where
go :: (forall a. Maybe a -> b -> a) -> a -> F a b
instance C a => C (Maybe a) where
go f a b = go f (f a b)
}}}
The current head complains:
{{{
Could not deduce (F a b ~ F a b) from the context (C a)
NB: `F' is a type function, and may not be injective
Expected type: b -> F a b
Actual type: F (Maybe a) b
}}}
6.12.3 accepts it.",bug,closed,normal,,Compiler (Type checker),7.1,fixed,,,Unknown/Multiple,Unknown/Multiple,GHC rejects valid program,indexed-types/should_compile/T4492,,,,,