#4492: Type families regression
---------------------------------+------------------------------------------
Reporter: rl | Owner:
Type: bug | Status: new
Priority: normal | Component: Compiler (Type checker)
Version: 7.1 | Keywords:
Testcase: | Blockedby:
Os: Unknown/Multiple | Blocking:
Architecture: Unknown/Multiple | Failure: GHC rejects valid program
---------------------------------+------------------------------------------
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.
--
Ticket URL: <http://hackage.haskell.org/trac/ghc/ticket/4492>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
_______________________________________________
Glasgow-haskell-bugs mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs