[GHC] #15807: GHC panic with visible kind applications
GHC
ghc-devs at haskell.org
Thu Oct 25 15:35:56 UTC 2018
#15807: GHC panic with visible kind applications
----------------------------------------+---------------------------------
Reporter: Iceland_jack | Owner: (none)
Type: bug | Status: new
Priority: normal | Milestone:
Component: Compiler | Version: 8.6.1
Keywords: TypeApplications | Operating System: Linux
Architecture: Unknown/Multiple | Type of failure: None/Unknown
Test Case: | Blocked By:
Blocking: | Related Tickets:
Differential Rev(s): | Wiki Page:
----------------------------------------+---------------------------------
Using the https://phabricator.haskell.org/D5229 diff
This is '''fine'''
{{{#!hs
{-# Language RankNTypes #-}
{-# Language TypeApplications #-}
{-# Language PolyKinds #-}
{-# Language GADTs #-}
import Data.Kind
data
App :: forall (f :: Type -> Type). Type -> Type
where
MkApp :: f a -> App @f a
}}}
Kind polymorphic is '''fine'''
{{{#!hs
{-# Language RankNTypes #-}
{-# Language TypeApplications #-}
{-# Language PolyKinds #-}
{-# Language GADTs #-}
import Data.Kind
data
App :: forall k (f :: k -> Type). k -> Type
where
MkApp :: f a -> App @k @(f :: k -> Type) (a :: k)
}}}
But offing the visibility of `k` '''fails'''
{{{#!hs
{-# Language RankNTypes #-}
{-# Language TypeApplications #-}
{-# Language PolyKinds #-}
{-# Language GADTs #-}
import Data.Kind
data
App :: forall (f :: k -> Type). k -> Type
where
MkApp :: f a -> App @(f :: k -> Type) (a :: k)
}}}
{{{#!hs
{-# Language RankNTypes #-}
{-# Language TypeApplications #-}
{-# Language PolyKinds #-}
{-# Language GADTs #-}
import Data.Kind
data
App :: forall (f :: k -> Type). k -> Type
where
MkApp :: f a -> App @f a
}}}
{{{
$ ghci -ignore-dot-ghci 581_bug.hs
GHCi, version 8.7.20181017: http://www.haskell.org/ghc/ :? for help
[1 of 1] Compiling Main ( 581_bug.hs, interpreted )
ghc-stage2: panic! (the 'impossible' happened)
(GHC version 8.7.20181017 for x86_64-unknown-linux):
ASSERT failed!
2
1
f_a1yB[tau:1]
f_a1yx[sk:1]
Call stack:
CallStack (from HasCallStack):
callStackDoc, called at compiler/utils/Outputable.hs:1160:37 in
ghc:Outputable
pprPanic, called at compiler/utils/Outputable.hs:1219:5 in
ghc:Outputable
assertPprPanic, called at compiler/typecheck/TcMType.hs:778:54 in
ghc:TcMType
Please report this as a GHC bug: http://www.haskell.org/ghc/reportabug
>
}}}
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/15807>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list