
#11148: T9563 doesn't pass with reversed uniques -------------------------------------+------------------------------------- Reporter: niteria | Owner: Type: bug | Status: new Priority: normal | Milestone: Component: Compiler | Version: 7.10.2 Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: | Unknown/Multiple Type of failure: None/Unknown | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Comment (by RyanGlScott): I'm not immediately sure what's wrong, but it doesn't seem specific to `Generic1`. In fact, you can get the same error if you change `Generic1` to `Functor`, `Foldable`, or `Traversable`. It seems that something about typeclasses with kind `(* -> *) -> Constraint` triggers this, since I can derive `Eq`, `Ord`, `Read`, `Show`, `Data`, and `Lift` for `G Int b Float d` without any issue. Another clue is that `data instance F A a = AData a deriving Generic1` works fine, but `data instance F b a = AData a deriving Generic1` triggers this error, so you need at least one type variable in a data instance for this to happen. Perhaps the type variable in the data family declaration and the type variable in the data family instance have conflicting `Unique`s when reversed? -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/11148#comment:3 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler