
When compiling blaze-builder-0.2.0.1 with ghc-7.0.1 on my ~amd64 gentoo system, I am getting the shown below. Any clues? Romildo [...] Building blaze-builder-0.2.0.1... [1 of 8] Compiling Blaze.ByteString.Builder.Internal ( Blaze/ByteString/Builder/Internal.hs, dist/build/Blaze/ByteString/Builder/Internal.o ) ghc: panic! (the 'impossible' happened) (GHC version 7.0.1 for x86_64-unknown-linux): dsLet: unlifted AbsBinds [b{tv aUH} [sk]] [] [pe{v axd} [lid] <= [b{tv aUH} [sk]] pe{v aUG} [lid]] pe{v axd} [lid] :: forall b{tv aUH} [sk]. base:GHC.Ptr.Ptr{tc 33A} b{tv aUH} [sk] [LclId] { {273:19-54} {273:19-54} !((pe{v aUG} [lid] :: base:GHC.Ptr.Ptr{tc 33A} b{tv aUH} [sk])) = {273:30-54} {273:33-41} (base:GHC.Ptr.plusPtr{v r4X} [gid]) @ base:GHC.Word.Word8{tc 32U} @ b{tv aUH} [sk] pf{v axc} [lid] firstBufSize{v arR} [lid] } EvBinds{{}} base:GHC.Base.>>={v 01P} [gid[ClassOp]] @ <nt>ghc-prim:GHC.Types.IO{tc 32I} $dMonad{v aUI} [lid] @ blaze-builder-0.2.0.1:Blaze.ByteString.Builder.Internal.BuildSignal{tc rre} @ bytestring-0.9.1.8:Data.ByteString.Lazy.Internal.ByteString{tc rg5} (step0{v arY} [lid] pf{v axc} [lid] (pe{v axd} [lid] @ base:GHC.Word.Word8{tc 32U})) (\ (next{v axT} [lid] :: blaze-builder-0.2.0.1:Blaze.ByteString.Builder.Internal.BuildSignal{tc rre}) -> let { ds_d15b{v} [lid] :: blaze-builder-0.2.0.1:Blaze.ByteString.Builder.Internal.BuildSignal{tc rre} [LclId] ds_d15b{v} [lid] = next{v axT} [lid] } in case ds_d15b{v} [lid] {ghc-prim:GHC.Types.IO{tc 32I} bytestring-0.9.1.8:Data.ByteString.Lazy.Internal.ByteString{tc rg5}} of (wild_B1{v} [lid] :: blaze-builder-0.2.0.1:Blaze.ByteString.Builder.Internal.BuildSignal{tc rre}) { blaze-builder-0.2.0.1:Blaze.ByteString.Builder.Internal.Done{d rrk} (rb_d15l{v} [lid] :: ghc-prim:GHC.Prim.Addr#{(w) tc 33}) -> let { pf'{v axU} [lid] :: base:GHC.Ptr.Ptr{tc 33A} base:GHC.Word.Word8{tc 32U} [LclId] pf'{v axU} [lid] = base:GHC.Ptr.Ptr{v rcP} [gid[DataCon]] @ base:GHC.Word.Word8{tc 32U} rb_d15l{v} [lid] } in let { fail_d15c{v} [lid] :: ghc-prim:GHC.Prim.State#{(w) tc 32q} ghc-prim:GHC.Prim.RealWorld{(w) tc 31E} -> ghc-prim:GHC.Types.IO{tc 32I} bytestring-0.9.1.8:Data.ByteString.Lazy.Internal.ByteString{tc rg5} [LclId] fail_d15c{v} [lid] = \ (ds_d15d{v} [lid] :: ghc-prim:GHC.Prim.State#{(w) tc 32q} ghc-prim:GHC.Prim.RealWorld{(w) tc 31E}) -> base:GHC.Base.${v 019} [gid] @ bytestring-0.9.1.8:Data.ByteString.Lazy.Internal.ByteString{tc rg5} @ (ghc-prim:GHC.Types.IO{tc 32I} bytestring-0.9.1.8:Data.ByteString.Lazy.Internal.ByteString{tc rg5}) (base:GHC.Base.return{v 01T} [gid[ClassOp]] @ <nt>ghc-prim:GHC.Types.IO{tc 32I} $dMonad{v aUN} [lid] @ bytestring-0.9.1.8:Data.ByteString.Lazy.Internal.ByteString{tc rg5}) (bytestring-0.9.1.8:Data.ByteString.Lazy.Internal.$WChunk{v reF} [gid[DataConWrapper]] (mkbs{v axe} [lid] @ base:GHC.Word.Word8{tc 32U} pf'{v axU} [lid]) k{v arT} [lid]) } in case base:GHC.Classes.=={v 01L} [gid[ClassOp]] @ (base:GHC.Ptr.Ptr{tc 33A} base:GHC.Word.Word8{tc 32U}) $dEq{v aUK} [lid] pf'{v axU} [lid] pf{v axc} [lid] {ghc-prim:GHC.Types.IO{tc 32I} bytestring-0.9.1.8:Data.ByteString.Lazy.Internal.ByteString{tc rg5}} of (wild_B1{v} [lid] :: ghc-prim:GHC.Bool.Bool{(w) tc 3c}) { ghc-prim:GHC.Bool.False{(w) d 68} -> fail_d15c{v} [lid] ghc-prim:GHC.Prim.realWorld#{(w) v 0o} [gid]; ghc-prim:GHC.Bool.True{(w) d 6u} -> base:GHC.Base.return{v 01T} [gid[ClassOp]] @ <nt>ghc-prim:GHC.Types.IO{tc 32I} $dMonad{v aUL} [lid] @ bytestring-0.9.1.8:Data.ByteString.Lazy.Internal.ByteString{tc rg5} k{v arT} [lid] }; blaze-builder-0.2.0.1:Blaze.ByteString.Builder.Internal.BufferFull{d rri} (rb_d15n{v} [lid] :: ghc-prim:GHC.Prim.Int#{(w) tc 3G}) (rb_d15o{v} [lid] :: ghc-prim:GHC.Prim.Addr#{(w) tc 33}) (nextStep{v axX} [lid] :: blaze-builder-0.2.0.1:Blaze.ByteString.Builder.Internal.BuildStep{tc rrc}) -> let { newSize{v axV} [lid] :: ghc-prim:GHC.Types.Int{(w) tc 3J} [LclId] newSize{v axV} [lid] = ghc-prim:GHC.Types.I#{(w) v 6d} [gid[DataCon]] rb_d15n{v} [lid] } in let { pf'{v axW} [lid] :: base:GHC.Ptr.Ptr{tc 33A} base:GHC.Word.Word8{tc 32U} [LclId] pf'{v axW} [lid] = base:GHC.Ptr.Ptr{v rcP} [gid[DataCon]] @ base:GHC.Word.Word8{tc 32U} rb_d15o{v} [lid] } in let { l{v aUP} [lid] :: ghc-prim:GHC.Types.Int{(w) tc 3J} [LclId] l{v aUP} [lid] = base:GHC.Ptr.minusPtr{v r4U} [gid] @ base:GHC.Word.Word8{tc 32U} @ base:GHC.Word.Word8{tc 32U} pf'{v axW} [lid] pf{v axc} [lid] } in case l{v aUP} [lid] {ghc-prim:GHC.Types.IO{tc 32I} bytestring-0.9.1.8:Data.ByteString.Lazy.Internal.ByteString{tc rg5}} of (l{v aUP} [lid] :: ghc-prim:GHC.Types.Int{(w) tc 3J}) { __DEFAULT -> let { l{v axY} [lid] :: ghc-prim:GHC.Types.Int{(w) tc 3J} [LclId] l{v axY} [lid] = l{v aUP} [lid] } in base:GHC.Base.${v 019} [gid] @ blaze-builder-0.2.0.1:Blaze.ByteString.Builder.Internal.BuildStep{tc rrc} @ (ghc-prim:GHC.Types.IO{tc 32I} bytestring-0.9.1.8:Data.ByteString.Lazy.Internal.ByteString{tc rg5}) (fillNewBuffer{v arW} [lid] (base:GHC.Classes.max{v rG} [gid[ClassOp]] @ ghc-prim:GHC.Types.Int{(w) tc 3J} $dOrd{v aUQ} [lid] (base:GHC.Num.+{v r24} [gid[ClassOp]] @ ghc-prim:GHC.Types.Int{(w) tc 3J} $dNum{v aY6} [lid] l{v axY} [lid] newSize{v axV} [lid]) minBufSize{v arQ} [lid])) (\ (pfNew{v axZ} [lid] :: base:GHC.Ptr.Ptr{tc 33A} base:GHC.Word.Word8{tc 32U}) (peNew{v ay0} [lid] :: base:GHC.Ptr.Ptr{tc 33A} base:GHC.Word.Word8{tc 32U}) -> base:GHC.Base.>>{v 01Q} [gid[ClassOp]] @ <nt>ghc-prim:GHC.Types.IO{tc 32I} $dMonad{v aY7} [lid] @ ghc-prim:GHC.Unit.(){(w) tc 40} @ blaze-builder-0.2.0.1:Blaze.ByteString.Builder.Internal.BuildSignal{tc rre} (base:Foreign.Marshal.Utils.copyBytes{v r4c} [gid] @ base:GHC.Word.Word8{tc 32U} pfNew{v axZ} [lid] pf{v axc} [lid] l{v axY} [lid]) (nextStep{v axX} [lid] (base:GHC.Ptr.plusPtr{v r4X} [gid] @ base:GHC.Word.Word8{tc 32U} @ base:GHC.Word.Word8{tc 32U} pfNew{v axZ} [lid] l{v axY} [lid]) peNew{v ay0} [lid])) }; blaze-builder-0.2.0.1:Blaze.ByteString.Builder.Internal.ModifyChunks{d rrg} (rb_d15q{v} [lid] :: ghc-prim:GHC.Prim.Addr#{(w) tc 33}) (bsk{v ay2} [lid] :: bytestring-0.9.1.8:Data.ByteString.Lazy.Internal.ByteString{tc rg5} -> bytestring-0.9.1.8:Data.ByteString.Lazy.Internal.ByteString{tc rg5}) (nextStep{v ay3} [lid] :: blaze-builder-0.2.0.1:Blaze.ByteString.Builder.Internal.BuildStep{tc rrc}) -> let { pf'{v ay1} [lid] :: base:GHC.Ptr.Ptr{tc 33A} base:GHC.Word.Word8{tc 32U} [LclId] pf'{v ay1} [lid] = base:GHC.Ptr.Ptr{v rcP} [gid[DataCon]] @ base:GHC.Word.Word8{tc 32U} rb_d15q{v} [lid] } in let { fail_d15g{v} [lid] :: ghc-prim:GHC.Prim.State#{(w) tc 32q} ghc-prim:GHC.Prim.RealWorld{(w) tc 31E} -> ghc-prim:GHC.Types.IO{tc 32I} bytestring-0.9.1.8:Data.ByteString.Lazy.Internal.ByteString{tc rg5} [LclId] fail_d15g{v} [lid] = \ (ds_d15h{v} [lid] :: ghc-prim:GHC.Prim.State#{(w) tc 32q} ghc-prim:GHC.Prim.RealWorld{(w) tc 31E}) -> base:GHC.Base.${v 019} [gid] @ bytestring-0.9.1.8:Data.ByteString.Lazy.Internal.ByteString{tc rg5} @ (ghc-prim:GHC.Types.IO{tc 32I} bytestring-0.9.1.8:Data.ByteString.Lazy.Internal.ByteString{tc rg5}) (base:GHC.Base.return{v 01T} [gid[ClassOp]] @ <nt>ghc-prim:GHC.Types.IO{tc 32I} $dMonad{v aYc} [lid] @ bytestring-0.9.1.8:Data.ByteString.Lazy.Internal.ByteString{tc rg5}) (bytestring-0.9.1.8:Data.ByteString.Lazy.Internal.$WChunk{v reF} [gid[DataConWrapper]] (mkbs{v axe} [lid] @ base:GHC.Word.Word8{tc 32U} pf'{v ay1} [lid]) (bsk{v ay2} [lid] (base:GHC.Base.${v 019} [gid] @ (ghc-prim:GHC.Types.IO{tc 32I} bytestring-0.9.1.8:Data.ByteString.Lazy.Internal.ByteString{tc rg5}) @ bytestring-0.9.1.8:Data.ByteString.Lazy.Internal.ByteString{tc rg5} (bytestring-0.9.1.8:Data.ByteString.Internal.inlinePerformIO{v riV} [gid] @ bytestring-0.9.1.8:Data.ByteString.Lazy.Internal.ByteString{tc rg5}) (fillNewBuffer{v arW} [lid] bufSize{v arP} [lid] nextStep{v ay3} [lid])))) } in case base:GHC.Classes.=={v 01L} [gid[ClassOp]] @ (base:GHC.Ptr.Ptr{tc 33A} base:GHC.Word.Word8{tc 32U}) $dEq{v aY9} [lid] pf'{v ay1} [lid] pf{v axc} [lid] {ghc-prim:GHC.Types.IO{tc 32I} bytestring-0.9.1.8:Data.ByteString.Lazy.Internal.ByteString{tc rg5}} of (wild_B1{v} [lid] :: ghc-prim:GHC.Bool.Bool{(w) tc 3c}) { ghc-prim:GHC.Bool.False{(w) d 68} -> fail_d15g{v} [lid] ghc-prim:GHC.Prim.realWorld#{(w) v 0o} [gid]; ghc-prim:GHC.Bool.True{(w) d 6u} -> base:GHC.Base.${v 019} [gid] @ bytestring-0.9.1.8:Data.ByteString.Lazy.Internal.ByteString{tc rg5} @ (ghc-prim:GHC.Types.IO{tc 32I} bytestring-0.9.1.8:Data.ByteString.Lazy.Internal.ByteString{tc rg5}) (base:GHC.Base.return{v 01T} [gid[ClassOp]] @ <nt>ghc-prim:GHC.Types.IO{tc 32I} $dMonad{v aYa} [lid] @ bytestring-0.9.1.8:Data.ByteString.Lazy.Internal.ByteString{tc rg5}) (bsk{v ay2} [lid] (base:GHC.Base.${v 019} [gid] @ (ghc-prim:GHC.Types.IO{tc 32I} bytestring-0.9.1.8:Data.ByteString.Lazy.Internal.ByteString{tc rg5}) @ bytestring-0.9.1.8:Data.ByteString.Lazy.Internal.ByteString{tc rg5} (bytestring-0.9.1.8:Data.ByteString.Internal.inlinePerformIO{v riV} [gid] @ bytestring-0.9.1.8:Data.ByteString.Lazy.Internal.ByteString{tc rg5}) (fillNewBuffer{v arW} [lid] bufSize{v arP} [lid] nextStep{v ay3} [lid]))) } })