[GHC] #15170: GHC HEAD panic (dischargeFmv)
GHC
ghc-devs at haskell.org
Mon May 21 12:36:21 UTC 2018
#15170: GHC HEAD panic (dischargeFmv)
-------------------------------------+-------------------------------------
Reporter: RyanGlScott | Owner: (none)
Type: bug | Status: closed
Priority: normal | Milestone: 8.6.1
Component: Compiler (Type | Version: 8.5
checker) |
Resolution: fixed | Keywords: TypeInType
Operating System: Unknown/Multiple | Architecture:
| Unknown/Multiple
Type of failure: Compile-time | Test Case:
crash or panic | polykinds/T15170
Blocked By: | Blocking:
Related Tickets: #14880, #15076 | Differential Rev(s):
Wiki Page: |
-------------------------------------+-------------------------------------
Changes (by RyanGlScott):
* status: new => closed
* resolution: => fixed
* related: => #14880, #15076
Comment:
Thanks, Simon!
Ironically, I was writing this to work around #14880/#15076, and while I
applied the workaround to `f`, I forgot to apply it to `g`. This is the
function that I //meant// to write:
{{{#!hs
dcomp :: forall (a :: Type)
(b :: a ~> Type)
(c :: forall (x :: a). Proxy x ~> b @@ x ~> Type)
(f :: forall (x :: a) (y :: b @@ x). Proxy x ~> Proxy y ~>
c @@ ('Proxy :: Proxy x) @@ y)
(g :: forall (x :: a). Proxy x ~> b @@ x)
(x :: a).
SingKind (c @@ ('Proxy :: Proxy x) @@ (g @@ ('Proxy :: Proxy x)))
=> (forall (xx :: a) (yy :: b @@ xx). Sing (f @@ ('Proxy :: Proxy
xx) @@ ('Proxy :: Proxy yy)))
-> (forall (xx :: a). Sing (g @@ ('Proxy :: Proxy xx)))
-> Sing a
-> Demote (c @@ ('Proxy :: Proxy x) @@ (g @@ ('Proxy :: Proxy x)))
dcomp _sf _ _ = undefined
}}}
And after your most recent patch, this compiles without a hitch, even with
`-dcore-lint`! I think we can close this in favor of #14880/#15076, as the
Core Lint error in the original program is just a dressed-up version of
the program in #15076.
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/15170#comment:7>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list