
#15648: Core Lint error with source-level unboxed equality -------------------------------------+------------------------------------- Reporter: RyanGlScott | Owner: (none) Type: bug | Status: new Priority: normal | Milestone: 8.8.1 Component: Compiler | Version: 8.4.3 Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: Type of failure: Compile-time | Unknown/Multiple crash or panic | Test Case: Blocked By: | Blocking: Related Tickets: #15209 | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Comment (by goldfire): Sigh. I see two problems here: 1. Why does GHC type check `Jank` at type `JankyEquality a b`? There must be something in the type checker which treats arguments of type `a ~# b` as invisible. But these shouldn't be -- they are not `Constraint`s. To fix: find this code and kill it. 2. What on earth was the simplifier thinking?!? To fix: find this code and encourage it to get an education. I'd be less alarmed if the core lint error were right in the desugarer. Then, we could plausibly argue that forbidding `~#` from source would fix the problem. But if the simplifier is doing it, there's got to be a legitimate bug (or, at least, a delicate invariant) somewhere. I don't think we should be able to get a lint error just by writing `~#` in the source. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/15648#comment:1 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler