Support Typeable instances for types with coercions
If I say
{-# LANGUAGE GADTs, TypeApplications, TypeInType #-}
module Bug where
import Type.Reflection
data G a where
MkG :: a ~ Bool => G a
rep = typeRep @MkG
I get
Bug.hs:10:7: error:
• No instance for (Typeable <>) arising from a use of ‘typeRep’
• In the expression: typeRep @MkG
In an equation for ‘rep’: rep = typeRep @MkG
|
10 | rep = typeRep @MkG
|
First off, the error message is confusing, mentioning the mysterious <>
. But more importantly, it would be nice if the Typeable
mechanism supported coercions.
Trac metadata
Trac field | Value |
---|---|
Version | 8.3 |
Type | Bug |
TypeOfFailure | OtherFailure |
Priority | normal |
Resolution | Unresolved |
Component | Compiler |
Test case | |
Differential revisions | |
BlockedBy | |
Related | |
Blocking | |
CC | |
Operating system | |
Architecture |