[GHC] #15870: No skolem info panic
GHC
ghc-devs at haskell.org
Wed Nov 7 17:47:55 UTC 2018
#15870: No skolem info panic
-------------------------------------+-------------------------------------
Reporter: sheaf | Owner: (none)
Type: bug | Status: new
Priority: highest | Milestone: 8.6.3
Component: Compiler (Type | Version: 8.6.2
checker) |
Resolution: | Keywords:
Operating System: Unknown/Multiple | Architecture:
Type of failure: Compile-time | Unknown/Multiple
crash or panic | Test Case:
Blocked By: | Blocking:
Related Tickets: | Differential Rev(s):
Wiki Page: |
-------------------------------------+-------------------------------------
Changes (by RyanGlScott):
* priority: normal => highest
* milestone: => 8.6.3
Comment:
First, this appears to be a regression from GHC 8.4, which simply gives an
error message:
{{{
$ /opt/ghc/8.4.4/bin/ghci Bug.hs -XTypeInType
GHCi, version 8.4.4: http://www.haskell.org/ghc/ :? for help
Loaded GHCi configuration from /home/rgscott/.ghci
[1 of 1] Compiling Main ( Bug.hs, interpreted )
Bug.hs:30:34: error:
• Expected kind ‘Optic a’, but ‘g2’ has kind ‘Optic b’
• In the second argument of ‘Get’, namely ‘g2’
In the type ‘Get a g2’
In the type instance declaration for ‘Get’
|
30 | type Get a (g1 :.: g2) = Get a g2
| ^^
}}}
So that's not good. I'll mark this as highest priority as a result.
Second, the error message:
{{{
• Expected kind ‘Optic b’, but ‘g2’ has kind ‘Optic (Get a g1)’
• In the second argument of ‘Gettable’, namely ‘g2’
In the instance declaration for ‘Gettable a (g1 :.: g2)’
|
20 | , Gettable b g2
|
}}}
Is actually expected behavior (at least, at the moment). Even though
you've written `b ~ Get a g1`, GHC isn't able to make use of this fact at
the type level yet. See #12677/#15710 for the tickets tracking this
infelicity.
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/15870#comment:1>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list