segmentation fault/panic with -XTypeInType and functions of type * -> *
Since * :: *
, I can specialize a function of type a -> a
to type * -> *
. This seems like potentially not a great idea, and GHCi agrees:
rwbarton@morphism:/tmp$ ~/ghc-newest/inplace/bin/ghc-stage2 --interactive
GHCi, version 7.11.20151228: http://www.haskell.org/ghc/ :? for help
Prelude> :set -XTypeInType
Prelude> import Data.Kind
Prelude Data.Kind> :t id :: * -> *
id :: * -> * :: * -> *
Prelude Data.Kind> (id :: * -> *) undefined `seq` ()
Segmentation fault
Also, when compiling a module containing the above expression, I get a panic while producing Cmm:
rwbarton@morphism:/tmp$ ~/ghc-newest/inplace/bin/ghc-stage2 t
[1 of 1] Compiling Main ( t.hs, t.o )
ghc-stage2: panic! (the 'impossible' happened)
(GHC version 7.11.20151228 for x86_64-unknown-linux):
idToReg sat_sKV
Trac metadata
Trac field | Value |
---|---|
Version | 7.11 |
Type | Bug |
TypeOfFailure | OtherFailure |
Priority | normal |
Resolution | Unresolved |
Component | Compiler |
Test case | |
Differential revisions | |
BlockedBy | |
Related | |
Blocking | |
CC | goldfire |
Operating system | |
Architecture |