Skip to content

Panic whilst compiling syb due to OptCoercion

Here is the minimised test case with most definitions inlined.

module Data.Generics.Aliases where

import Control.Monad
import Data.Data

mkMp :: ( MonadPlus m
        , Typeable a
        , Typeable b
        )
     => (b -> m b)
     -> a
     -> m a
mkMp ext = unM (maybe (M (const mzero)) id (gcast (M ext)))

newtype M m x = M { unM :: x -> m x }

Panics with -O2 as follows,

~/Documents/haskell/syb-0.6:ghc-7.11.20151214 Aliases.hs  -O2
[1 of 1] Compiling Data.Generics.Aliases ( Aliases.hs, Aliases.o )
ghc: panic! (the 'impossible' happened)
  (GHC version 7.11.20151214 for x86_64-apple-darwin):
	ASSERT failed! file compiler/types/OptCoercion.hs, line 234

Please report this as a GHC bug:  http://www.haskell.org/ghc/reportabug
Trac metadata
Trac field Value
Version 7.10.3
Type Bug
TypeOfFailure OtherFailure
Priority high
Resolution Unresolved
Component Compiler
Test case
Differential revisions
BlockedBy
Related
Blocking
CC goldfire
Operating system
Architecture
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information