
#15804: GHC panic: data T :: (a :: k) -> * -------------------------------------+------------------------------------- Reporter: Iceland_jack | Owner: (none) Type: bug | Status: new Priority: normal | Milestone: Component: Compiler | Version: 8.6.1 Resolution: | Keywords: | TypeApplications Operating System: Unknown/Multiple | Architecture: | Unknown/Multiple Type of failure: None/Unknown | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Changes (by Iceland_jack): * keywords: => TypeApplications * cc: mnguyen (added) Old description:
(using [https://phabricator.haskell.org/D5229 Visual Kind Application (D5229)])
This might be the root cause of some of my previous
{{{#!hs {-# Language PolyKinds #-}
data T :: (a :: k) -> * }}} {{{ $ ghci -ignore-dot-ghci 580.hs GHCi, version 8.7.20181017: http://www.haskell.org/ghc/ :? for help [1 of 1] Compiling Main ( 580.hs, interpreted ) ghc-stage2: panic! (the 'impossible' happened) (GHC version 8.7.20181017 for x86_64-unknown-linux): ASSERT failed! Type-correct unfilled coercion hole {co_a1xI} 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/TcHsSyn.hs:1805:99 in ghc:TcHsSyn
Please report this as a GHC bug: http://www.haskell.org/ghc/reportabug
}}}
on 8.6.1 this gives
{{{ $ ~/.stack/programs/x86_64-linux/ghc-8.6.1/bin/ghci -ignore-dot-ghci 580.hs GHCi, version 8.6.1: http://www.haskell.org/ghc/ :? for help [1 of 1] Compiling Main ( /home/baldur/hs/580.hs, interpreted )
/home/baldur/hs/580.hs:3:11: error: • Expected a type, but ‘(a :: k)’ has kind ‘k’ • In the kind ‘(a :: k) -> *’ | 3 | data T :: (a :: k) -> * | ^^^^^^^^ Failed, no modules loaded. Prelude> }}}
New description: This might be the root cause of some of my previous {{{#!hs {-# Language PolyKinds #-} data T :: (a :: k) -> * }}} {{{ $ ghci -ignore-dot-ghci 580.hs GHCi, version 8.7.20181017: http://www.haskell.org/ghc/ :? for help [1 of 1] Compiling Main ( 580.hs, interpreted ) ghc-stage2: panic! (the 'impossible' happened) (GHC version 8.7.20181017 for x86_64-unknown-linux): ASSERT failed! Type-correct unfilled coercion hole {co_a1xI} 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/TcHsSyn.hs:1805:99 in ghc:TcHsSyn Please report this as a GHC bug: http://www.haskell.org/ghc/reportabug
}}} on 8.6.1 this gives {{{ $ ~/.stack/programs/x86_64-linux/ghc-8.6.1/bin/ghci -ignore-dot-ghci 580.hs GHCi, version 8.6.1: http://www.haskell.org/ghc/ :? for help [1 of 1] Compiling Main ( /home/baldur/hs/580.hs, interpreted ) /home/baldur/hs/580.hs:3:11: error: • Expected a type, but ‘(a :: k)’ has kind ‘k’ • In the kind ‘(a :: k) -> *’ | 3 | data T :: (a :: k) -> * | ^^^^^^^^ Failed, no modules loaded. Prelude> }}} -- -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/15804#comment:5 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler