Skip to content

Regression: Pattern synonyms make GHCi 8.0.1 crash

This code:

{-# LANGUAGE PatternSynonyms #-}

data T = C

pattern P :: T
pattern P = C

pattern P' :: T
pattern P' = P

compiles fine with both GHC 7.10.3 and 8.0.1. However, if you try to load it into GHCi 8.0.1, it panics:

GHCi, version 8.0.1: http://www.haskell.org/ghc/  :? for help
Prelude> :l M.hs 
[1 of 1] Compiling Main             ( M.hs, interpreted )
ghc: panic! (the 'impossible' happened)
  (GHC version 8.0.1 for x86_64-unknown-linux):
	kindPrimRep.go rep_a18a

Please report this as a GHC bug:  http://www.haskell.org/ghc/reportabug

GHCi 7.10.3 does not crash, therefore it's a regression:

GHCi, version 7.10.3: http://www.haskell.org/ghc/  :? for help
Prelude> :l M.hs
[1 of 1] Compiling Main             ( M.hs, interpreted )
Ok, modules loaded: Main.
*Main> 
Trac metadata
Trac field Value
Version 8.0.1
Type Bug
TypeOfFailure OtherFailure
Priority normal
Resolution Unresolved
Component GHCi
Test case https://gist.githubusercontent.com/int-index/17dfb68fd97f724aef2849d0defae0d6/raw/3dab71756bbafa197b93170310ccabfea8c92120/M.hs
Differential revisions
BlockedBy
Related
Blocking
CC
Operating system
Architecture
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information