Re: [GHC] #13985: GHC 8.0 regression: ‘k’ is not in scope during type checking, but it passed the renamer
GHC
ghc-devs at haskell.org
Sat Aug 12 18:56:29 UTC 2017
#13985: GHC 8.0 regression: ‘k’ is not in scope during type checking, but it passed
the renamer
-------------------------------------+-------------------------------------
Reporter: RyanGlScott | Owner: (none)
Type: bug | Status: new
Priority: normal | Milestone:
Component: Compiler (Type | Version: 8.0.1
checker) |
Resolution: | Keywords: TypeFamilies
Operating System: Unknown/Multiple | Architecture:
Type of failure: Compile-time | Unknown/Multiple
crash or panic | Test Case:
Blocked By: | Blocking:
Related Tickets: #13738 | Differential Rev(s):
Wiki Page: |
-------------------------------------+-------------------------------------
Comment (by goldfire):
I was hoping to nab this in a drive-by fix, but that didn't happen. The
solution here, I think, is to put the kind variables in the implicit part
of the `dfid_pats` field. (This is rather like what happens with ordinary
data declarations.) Then, they'll be in scope during type-checking and we
can discover that they're "floating".
There's an interesting invariant that data instance declarations violate:
every `Name` invented by the renamer must be bound precisely once. Indeed
the "not in scope during type checking" error says the invariant is not
upheld. It makes me want a linear type system, but we can't always get
what we want.
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/13985#comment:2>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list