Ticket #1588 (closed bug: fixed)
unrequested generalized newtype deriving?
| Reported by: | SamB | Owned by: | igloo |
|---|---|---|---|
| Priority: | normal | Milestone: | 6.8.1 |
| Component: | Compiler | Version: | 6.6.1 |
| Keywords: | Cc: | ||
| Operating System: | Unknown/Multiple | Architecture: | Unknown/Multiple |
| Type of failure: | Difficulty: | Unknown | |
| Test Case: | drvfail013 | Blocked By: | |
| Blocking: | Related Tickets: |
Description
Consider the two type definitions:
newtype MaybeT m a = MaybeT { runMaybeT :: m (Maybe a) } deriving Eq
data MaybeT' m a = MaybeT' { runMaybeT' :: m (Maybe a) } deriving Eq
Why is it that the former compiles, with no flags of any kind, but the latter does not? It seems like generalized newtype deriving is happening when unrequested and undesired...
(I'm trying to figure out how Derive should derive Eq, and compiler bugs don't help much ;-)
Change History
Note: See
TracTickets for help on using
tickets.
