[GHC] #13092: family instance consistency checks are too pessimistic
GHC
ghc-devs at haskell.org
Tue Jan 10 12:45:05 UTC 2017
#13092: family instance consistency checks are too pessimistic
-------------------------------------+-------------------------------------
Reporter: rwbarton | Owner: rwbarton
Type: bug | Status: new
Priority: normal | Milestone: 8.2.1
Component: Compiler | Version: 8.1
Resolution: | Keywords:
Operating System: Unknown/Multiple | Architecture:
Type of failure: Compile-time | Unknown/Multiple
performance bug | Test Case:
Blocked By: | Blocking:
Related Tickets: | Differential Rev(s):
Wiki Page: |
-------------------------------------+-------------------------------------
Comment (by rwbarton):
Replying to [comment:8 simonpj]:
> > When Main is compiled the interface file for B is not read at all!
>
> Ah, that is the bit I was missing! (It's not read, because nobody
mentions `X`.) If B.hi was read we would (I hope) get an overlap error
when solving `(A (a,y))`.
Earlier I had a simpler version (without the proxy/CPS stuff in `x` and
`y`, and using visible type application in `z`) that ''was'' reading
`B.hi`, because the type of `x` was `A (X, b) -> ()` which mentions `X`,
which is defined in `B`. But it didn't read it until it got to `z`, at
which point it had already type checked `y`, it seems. So it never noticed
the conflict.
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/13092#comment:9>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list