[GHC] #15795: Core lint error with unused kind variable in data type return kind
GHC
ghc-devs at haskell.org
Tue Dec 11 18:48:06 UTC 2018
#15795: Core lint error with unused kind variable in data type return kind
-------------------------------------+-------------------------------------
Reporter: Iceland_jack | Owner: (none)
Type: bug | Status: new
Priority: normal | Milestone:
Component: Compiler | Version: 8.6.1
Resolution: | Keywords: TypeInType
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):
It's worth noting that this Core Lint error only appears to occur when GHC
constructs a wrapper for `Prod`. In other words, the following errors:
{{{#!hs
data F :: forall (cat1 :: ob1). ob1 -> Type where
Prod :: forall u (a :: u). F a
}}}
But this does //not// error:
{{{#!hs
data F :: forall (cat1 :: ob1). ob1 -> Type where
Prod :: F a
}}}
Since in the latter code, `Prod` won't need a wrapper, and its type will
simply be `forall {ob1} {cat1 :: ob1} (a :: ob1). F a`. (Currently,
there's no way to write that with GHC's explicit `forall` syntax, so
pretty much any attempt to write the type of `Prod` using a `forall` will
trigger this error.)
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/15795#comment:4>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list