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