#11512 closed bug (fixed)
An unwritten kind variable is "specified", when it shouldn't be.
Reported by: | goldfire | Owned by: | goldfire |
---|---|---|---|
Priority: | normal | Milestone: | 8.0.1 |
Component: | Compiler | Version: | 8.1 |
Keywords: | TypeApplications | Cc: | |
Operating System: | Unknown/Multiple | Architecture: | Unknown/Multiple |
Type of failure: | None/Unknown | Test Case: | typecheck/should_compile/T11512 |
Blocked By: | Blocking: | ||
Related Tickets: | Differential Rev(s): | ||
Wiki Page: |
Description
This fails:
{-# LANGUAGE PolyKinds, TypeApplications, ScopedTypeVariables #-} module Bug where import Data.Proxy class C a where foo :: Proxy a bar :: forall a. C a => Proxy a bar = foo @a
But it really should work, because the invisible kind variable to class C
should not be available for type application. On the last line, foo @_ @a
works, when you explicitly instantiate the kind variable. Also, saying :t foo
in GHCi shows the specified kind variable.
Will fix. At some point.
Change History (6)
comment:1 Changed 4 years ago by
comment:2 Changed 4 years ago by
Status: | new → merge |
---|---|
Test Case: | → typecheck/should_compile/T11512 |
comment:3 Changed 4 years ago by
Milestone: | → 8.0.1 |
---|
comment:6 Changed 4 years ago by
Resolution: | → fixed |
---|---|
Status: | merge → closed |
Merged as fefaba919f4fcfe4eb71198d91a8718b72d7b6a1.
Note: See
TracTickets for help on using
tickets.
In f4f315a/ghc: