
It seems that this might be related to the work that Bartosz has done in making GHC more deterministic.
That is, the error already existed in ghc-8.0.1 but was not always
#12526: regression in type inference with respect to type families -------------------------------------+------------------------------------- Reporter: Lemming | Owner: Type: bug | Status: new Priority: highest | Milestone: 8.0.2 Component: Compiler (Type | Version: 8.1 checker) | Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: Type of failure: GHC rejects | Unknown/Multiple valid program | Test Case: Blocked By: | Blocking: Related Tickets: 10634 | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Changes (by Lemming): * related: => 10634 Comment: Replying to [comment:4 niteria]: triggered.
Most of the determinism patches were merged *after* ghc-8.0.1, so it
sounds unlikely. Why? GHC-8.0.1 showed the error sometimes, GHC-8.0.2 shows it always. mpickering's guess matches perfectly.
Lemming: Can you provide step by step repro?
I am currently reducing the example. It looks like another instance of the fake injective type functions problem. https://ghc.haskell.org/trac/ghc/ticket/10634 -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/12526#comment:5 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler