Skip to content

RecordWildcards and PatternSynonyms cause impossible bug

When using RecordWildcards with PatternSynonyms, I have found a way to cause this bug:

$ /usr/local/bin/ghc-7.10.0.20141222 test.hs 
[1 of 1] Compiling Main             ( test.hs, test.o )
ghc: panic! (the 'impossible' happened)
  (GHC version 7.10.0.20141222 for x86_64-apple-darwin):
	find_tycon
  Test
  [Test defined at test.hs:6:9,
   Test parent:Test defined at test.hs:4:13]

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

Here is the full code that causes it:

{-# LANGUAGE RecordWildCards #-}
{-# LANGUAGE PatternSynonyms #-}
data Test = Test { x :: Int }
pattern Test wat = Test { x = wat }

If you remove RecordWildCards, the bug does not happen.

Edited by Herbert Valerio Riedel
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information