Template Haskell quotes of data instance GADTs is totally broken
When I say
data family Fuggle x y
[d| data instance Fuggle Int (Maybe (a,b)) where
MkFuggle :: Fuggle Int (Maybe Bool) |]
I get (with -ddump-splices
)
[d| data instance Fuggle Int (Maybe (a_ajz6, b_ajz7))
where MkFuggle_ajz5 :: Fuggle Int (Maybe Bool) |]
======>
data instance Fuggle Int (Maybe (a_ajAf, b_ajAg))
= (b_ajAg ~ Maybe Bool, a_ajAf ~ Int) => MkFuggle_ajAe
But that's not at all what I said! Admittedly, what I said was garbage, but it should fail outright.
Is this addressed by D1465?
Trac metadata
Trac field | Value |
---|---|
Version | 7.10.2 |
Type | Bug |
TypeOfFailure | OtherFailure |
Priority | normal |
Resolution | Unresolved |
Component | Template Haskell |
Test case | |
Differential revisions | |
BlockedBy | |
Related | |
Blocking | |
CC | jstolarek |
Operating system | |
Architecture |