[GHC] #8773: Require -XIncoherentInstances to write role annotations on class definitions
GHC
ghc-devs at haskell.org
Wed Feb 12 15:39:50 UTC 2014
#8773: Require -XIncoherentInstances to write role annotations on class
definitions
------------------------------------+-------------------------------------
Reporter: goldfire | Owner: goldfire
Type: bug | Status: new
Priority: normal | Milestone:
Component: Compiler | Version: 7.8.1-rc1
Keywords: | Operating System: Unknown/Multiple
Architecture: Unknown/Multiple | Type of failure: None/Unknown
Difficulty: Unknown | Test Case:
Blocked By: | Blocking:
Related Tickets: #8745 |
------------------------------------+-------------------------------------
With a role annotation declaring a representational role for a class
parameter, it is very easy to create instance incoherence. See
[https://ghc.haskell.org/trac/ghc/ticket/8745#comment:5 this comment]. The
solution: require `-XIncoherentInstances` when writing such a role
annotation. This also has the knock-on effect (happily) of preventing such
shenanigans in Safe Haskell.
Class role annotations asking GHC to infer roles or with nominal roles,
although rather useless, will still be accepted without
`-XIncoherentInstances`.
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/8773>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list