[GHC] #9175: Bad interaction between Pattern Synonyms and Text
GHC
ghc-devs at haskell.org
Fri Jun 6 00:44:10 UTC 2014
#9175: Bad interaction between Pattern Synonyms and Text
-----------------------------------+---------------------------------------
Reporter: emertens | Owner:
Type: bug | Status: new
Priority: normal | Milestone:
Component: Compiler | Version: 7.8.2
Keywords: | Operating System: Unknown/Multiple
Architecture: | Type of failure: Compile-time crash
Unknown/Multiple | Test Case:
Difficulty: Unknown | Blocking:
Blocked By: |
Related Tickets: |
-----------------------------------+---------------------------------------
Compiling this file causes the impossible to happen. It is necessary to
enable optimizations. The bug did not occur if the Text parameter was
replaced with ByteString or String.
{{{
{-# LANGUAGE PatternSynonyms #-}
{-# LANGUAGE OverloadedStrings #-}
module Bug where
{-
- Must compile with optimizations
-
- text-1.1.1.3
- ghc-7.8.2
- Both Darwin and Linux platforms
-
-}
import Data.Text(Text)
data T = C Text Bool
f :: a -> b
f _ = undefined
{-# NOINLINE f #-} -- important
pattern P1 a = C "sh" a -- at least two characters
pattern P2 = C "x" True -- this pattern has to come last
g :: Text -> T
g x = case x of
"" -> f (P1 undefined) -- this has to be a pattern synonym
}}}
{{{
[1 of 1] Compiling Bug ( Bug.hs, Bug.o )
ghc: panic! (the 'impossible' happened)
(GHC version 7.8.2 for x86_64-apple-darwin):
StgCmmEnv: variable not found
lvl_s2Jr{v} [lid]
local binds for:
main:Bug.f{v rBS} [gid]
main:Bug.rewriteRule{v rBV} [gid]
main:Bug.$mP2{v r17q} [gid]
main:Bug.$WP2{v r17A} [gid]
main:Bug.$mP1{v r17E} [gid]
main:Bug.$WP1{v r17R} [gid]
main:Bug.$WP3{v r3bq} [gid]
main:Bug.$WP4{v r3ua} [gid]
main:Bug.$WP5{v r3ub} [gid]
main:Bug.$WP2_dt{v r3uc} [gid]
main:Bug.$WP6{v r3ud} [gid]
main:Bug.$WP7{v r3ue} [gid]
main:Bug.$WP8{v r3uf} [gid]
main:Bug.$w$mP1{v r3ug} [gid]
main:Bug.$w$mP2{v r3uh} [gid]
main:Bug.$mP3{v r3ui} [gid]
main:Bug.$mP4{v r3uj} [gid]
main:Bug.$mP5{v r3uk} [gid]
main:Bug.$wrewriteRule{v r3ul} [gid]
main:Bug.rewriteRule1{v r3um} [gid]
main:Bug.rewriteRule2{v r3un} [gid]
main:Bug.rewriteRule3{v r3uo} [gid]
main:Bug.rewriteRule4{v r3up} [gid]
main:Bug.rewriteRule5{v r3uq} [gid]
lvl{v r3ur} [gid]
Please report this as a GHC bug: http://www.haskell.org/ghc/reportabug
}}}
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/9175>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list