Skip to content

guards in arrow notation (Arrows extension) case statement cause compiler panic

The attached test case causes this panic message:

ghc: panic! (the 'impossible' happened)
  (GHC version 6.12.1 for x86_64-unknown-linux):
	initC: srt_lbl

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

The offending line is the one with '| neg'. It doesn't panic if you use the commented out line below it instead.

This kind of case statement is specific to arrow notation (provided by the Arrows extension) - the compiler uses ArrowChoice to implement it.

Edited by Ian Lynagh -
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information