[GHC] #10602: ghc panic: Template variable unbound in rewrite rule when compiling with -O2
GHC
ghc-devs at haskell.org
Sun Jul 5 11:58:41 UTC 2015
#10602: ghc panic: Template variable unbound in rewrite rule when compiling with
-O2
-------------------------------------+-------------------------------------
Reporter: pacak | Owner:
Type: bug | Status: new
Priority: normal | Milestone: 7.10.2
Component: Compiler | Version: 7.10.2-rc2
Resolution: | Keywords:
Operating System: Linux | Architecture:
Type of failure: Compile-time | Unknown/Multiple
crash | Test Case:
Blocked By: | Blocking:
Related Tickets: | Differential Revisions:
-------------------------------------+-------------------------------------
Description changed by goldfire:
Old description:
> I've seen a few related tickets, but they are market as closed.
>
> % ghc -O2 binlist.hs
>
> [1 of 1] Compiling Main ( binlist.hs, binlist.o )
> ghc: panic! (the 'impossible' happened)
> (GHC version 7.10.1.20150630 for x86_64-unknown-linux):
> Template variable unbound in rewrite rule
> sg_s5zh
> [sc_s5zf, sc_s5zg, sg_s5zh, sg_s5zi]
> [sc_s5zf, sc_s5zg, sg_s5zh, sg_s5zi]
> [: @ a_a3fo sc_s5zf sc_s5zg]
> [: @ a_a3fo sc_s5zb sc_s5zc]
>
> Please report this as a GHC bug: http://www.haskell.org/ghc/reportabug
>
> % cat binlist.hs
> import Control.Monad
> import Data.Binary
> import Data.List
>
> newtype A a = A [a]
>
> instance Binary a => Binary (A a) where
> put (A xs) = case splitAt 254 xs of
> (_, []) -> mapM_ put xs
> (a, b) -> put (A b)
>
> get = do xs <- replicateM 254 get
> A ys <- get
> return $ A $ xs ++ ys
>
> main :: IO ()
> main = undefined
New description:
I've seen a few related tickets, but they are market as closed.
{{{
% ghc -O2 binlist.hs
[1 of 1] Compiling Main ( binlist.hs, binlist.o )
ghc: panic! (the 'impossible' happened)
(GHC version 7.10.1.20150630 for x86_64-unknown-linux):
Template variable unbound in rewrite rule
sg_s5zh
[sc_s5zf, sc_s5zg, sg_s5zh, sg_s5zi]
[sc_s5zf, sc_s5zg, sg_s5zh, sg_s5zi]
[: @ a_a3fo sc_s5zf sc_s5zg]
[: @ a_a3fo sc_s5zb sc_s5zc]
Please report this as a GHC bug: http://www.haskell.org/ghc/reportabug
% cat binlist.hs
import Control.Monad
import Data.Binary
import Data.List
newtype A a = A [a]
instance Binary a => Binary (A a) where
put (A xs) = case splitAt 254 xs of
(_, []) -> mapM_ put xs
(a, b) -> put (A b)
get = do xs <- replicateM 254 get
A ys <- get
return $ A $ xs ++ ys
main :: IO ()
main = undefined
}}}
--
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/10602#comment:1>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list