
#16188: GHC HEAD-only panic (buildKindCoercion)
-------------------------------------+-------------------------------------
Reporter: RyanGlScott | Owner: (none)
Type: bug | Status: new
Priority: highest | Milestone: 8.8.1
Component: Compiler (Type | Version: 8.7
checker) |
Resolution: | Keywords: TypeInType
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: |
-------------------------------------+-------------------------------------
Comment (by RyanGlScott):
Here's what you get when you compile the program with `-dcore-lint`:
{{{
$ ~/Software/ghc4/inplace/bin/ghc-stage2 Bug.hs -dcore-lint
[1 of 1] Compiling Bug ( Bug.hs, Bug.o )
*** Core Lint errors : in result of Desugar (before optimization) ***
<no location info>: warning:
[RHS of ds_d1ur :: (Sing Any, Sing (ReNotEmpty re2_a1hm))]
The type of this binder doesn't match the type of its RHS: ds_d1ur
Binder's type: (Sing Any, Sing (ReNotEmpty re2_a1hm))
Rhs type: (Sing (Apply ReNotEmptySym0 re1_a1hl),
Sing (ReNotEmpty re2_a1hm))
*** Offending Program ***
<elided>
blah :: forall t (re :: RegExp t). Sing re -> ()
[LclIdX]
blah
= \ (@ t_a1hg)
(@ (re_a1hh :: RegExp t_a1hg))
(ds_d1uq :: Sing re_a1hh) ->
let {
ds_d1vi :: R:SingRegExp t_a1hg re_a1hh
[LclId]
ds_d1vi
= ds_d1uq
`cast` (D:R:SingRegExp0[0]