Role annotation should never be ambiguous
[ezyang@hs01 ghc-backpack]$ cat A.hs
{-# LANGUAGE RoleAnnotations #-}
module A where
data Maybe a = AF
type role Maybe representational
[ezyang@hs01 ghc-backpack]$ ghc -c A.hs
A.hs:4:11:
Ambiguous occurrence ‘Maybe’
It could refer to either ‘A.Maybe’, defined at A.hs:3:1
or ‘Prelude.Maybe’,
imported from ‘Prelude’ at A.hs:2:8
(and originally defined in ‘GHC.Base’)
This is silly because roles can only ever be defined with the declaration, so only one reference makes sense.
Trac metadata
Trac field | Value |
---|---|
Version | 7.11 |
Type | Bug |
TypeOfFailure | OtherFailure |
Priority | normal |
Resolution | Unresolved |
Component | Compiler (Type checker) |
Test case | |
Differential revisions | |
BlockedBy | |
Related | |
Blocking | |
CC | |
Operating system | |
Architecture |