Ticket #267 (closed bug: Wont Fix)
compiler panic with existential types and ... ?
Description
This code is is based upon a post by Oleg at
http://www.haskell.org/pipermail/haskell-cafe/2004-October/007160.html.
{-# OPTIONS -fglasgow-exts #-}
import Control.Monad.Trans
data Bar m = forall t. (MonadTrans t, Monad (t m)) =>
Bar (t m () -> m ()) (t m Int)
data Foo = Foo (forall m. Monad m => Bar m)
runProg (Foo (Bar run op)) = run $ prog op
prog op = do
lift $ putStrLn "Running prog"
return ()
data ABC = A
instance Show ABC where
show A = "A"
main = putStrLn $ show A
It seems to be nearly minimal, though I have no idea
why. When I compile with ghc 6.2.1 from Debian
unstable, I get
% ghc try.hs
ghc-6.2.1: panic! (the `impossible' happened, GHC
version 6.2.1):
cgPanic
zddMonad {- v aGa -}
static binds for:
local binds for:
Main.prog {- v rz -}
show {- v rJG -}
SRT labelghc-6.2.1: panic! (the `impossible'
happened, GHC version 6.2.1):
initC: srt
Change History
Note: See
TracTickets for help on using
tickets.
