[GHC] #13204: Core Lint error running testsuite with DEBUG way
GHC
ghc-devs at haskell.org
Sun Jan 29 00:42:39 UTC 2017
#13204: Core Lint error running testsuite with DEBUG way
-------------------------------------+-------------------------------------
Reporter: dobenour | Owner:
Type: bug | Status: new
Priority: normal | Milestone: 8.2.1
Component: Compiler | Version: 8.1
Keywords: | Operating System: Unknown/Multiple
Architecture: | Type of failure: None/Unknown
Unknown/Multiple |
Test Case: | Blocked By:
Blocking: | Related Tickets:
Differential Rev(s): | Wiki Page:
-------------------------------------+-------------------------------------
I was testing Phab:D2996 for benchmarking purposes, and I noticed that
some tests failed in the `ghci` way. I re-ran them with the `debug` way,
and got a Core Lint failure:
{{{
[1 of 1] Compiling Main ( StrictPats.hs, StrictPats.o )
*** Core Lint errors : in result of Simplifier ***
<no location info>: warning:
[RHS of q_s50e :: Addr#]
Recursive or top-level binder has strict demand info: q_s50e
Binder's demand info: <L,U>
*** Offending Program ***
$dIP_s50d :: CallStack
[LclId,
Unf=Unf{Src=<vanilla>, TopLvl=False, Value=False, ConLike=False,
WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 300 0}]
$dIP_s50d =
pushCallStack
(build
@ Char (\ (@ b_a503) -> unpackFoldrCString# @ b "undefined"#),
SrcLoc
(build @ Char (\ (@ b_a503) -> unpackFoldrCString# @ b "main"#))
(build @ Char (\ (@ b_a503) -> unpackFoldrCString# @ b "Main"#))
(build
@ Char (\ (@ b_a503) -> unpackFoldrCString# @ b
"StrictPats.hs"#))
(I# 27#)
(I# 14#)
(I# 27#)
(I# 23#))
emptyCallStack
ds_d4Z4 :: forall a. a
[LclId,
Unf=Unf{Src=<vanilla>, TopLvl=False, Value=False, ConLike=False,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 20 0}]
ds_d4Z4 =
\ (@ a_a4SJ) ->
undefined
@ 'LiftedRep
@ a
($dIP_s50d
`cast` (Sym (N:IP[0] <"callStack">_N <CallStack>_N)
:: (CallStack :: *) ~R# ((?callStack::CallStack) ::
Constraint)))
a :: Bool
[LclIdX,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True,
Guidance=ALWAYS_IF(arity=0,unsat_ok=True,boring_ok=True)}]
a = True
b :: Bool
[LclIdX,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=False, ConLike=False,
WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 330 10}]
b =
case \ (@ a_a4Hg) ->
undefined
@ 'LiftedRep
@ a
((pushCallStack
(build
@ Char (\ (@ b_a503) -> unpackFoldrCString# @ b
"undefined"#),
SrcLoc
(build @ Char (\ (@ b_a503) -> unpackFoldrCString# @ b
"main"#))
(build @ Char (\ (@ b_a503) -> unpackFoldrCString# @ b
"Main"#))
(build
@ Char (\ (@ b_a503) -> unpackFoldrCString# @ b
"StrictPats.hs"#))
(I# 32#)
(I# 14#)
(I# 32#)
(I# 23#))
emptyCallStack)
`cast` (Sym (N:IP[0] <"callStack">_N <CallStack>_N)
:: (CallStack :: *) ~R# ((?callStack::CallStack) ::
Constraint)))
of
{ __DEFAULT ->
True
}
c :: Bool
[LclIdX,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True,
Guidance=ALWAYS_IF(arity=0,unsat_ok=True,boring_ok=True)}]
c = True
d :: Bool
[LclIdX,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=False, ConLike=False,
WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 320 0}]
d =
case undefined
@ 'LiftedRep
@ Int
((pushCallStack
(build
@ Char (\ (@ b_a503) -> unpackFoldrCString# @ b
"undefined"#),
SrcLoc
(build @ Char (\ (@ b_a503) -> unpackFoldrCString# @ b
"main"#))
(build @ Char (\ (@ b_a503) -> unpackFoldrCString# @ b
"Main"#))
(build
@ Char (\ (@ b_a503) -> unpackFoldrCString# @ b
"StrictPats.hs"#))
(I# 40#)
(I# 17#)
(I# 40#)
(I# 26#))
emptyCallStack)
`cast` (Sym (N:IP[0] <"callStack">_N <CallStack>_N)
:: (CallStack :: *) ~R# ((?callStack::CallStack) ::
Constraint)))
of wild_00 {
}
e :: Bool
[LclIdX,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True,
Guidance=ALWAYS_IF(arity=0,unsat_ok=True,boring_ok=True)}]
e = True
f :: Bool
[LclIdX,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=False, ConLike=False,
WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 320 0}]
f =
case undefined
@ 'IntRep
@ Int#
((pushCallStack
(build
@ Char (\ (@ b_a503) -> unpackFoldrCString# @ b
"undefined"#),
SrcLoc
(build @ Char (\ (@ b_a503) -> unpackFoldrCString# @ b
"main"#))
(build @ Char (\ (@ b_a503) -> unpackFoldrCString# @ b
"Main"#))
(build
@ Char (\ (@ b_a503) -> unpackFoldrCString# @ b
"StrictPats.hs"#))
(I# 48#)
(I# 14#)
(I# 48#)
(I# 23#))
emptyCallStack)
`cast` (Sym (N:IP[0] <"callStack">_N <CallStack>_N)
:: (CallStack :: *) ~R# ((?callStack::CallStack) ::
Constraint)))
of wild_00 {
}
g :: Bool
[LclIdX,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True,
Guidance=ALWAYS_IF(arity=0,unsat_ok=True,boring_ok=True)}]
g = True
h :: Bool
[LclIdX,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True,
Guidance=ALWAYS_IF(arity=0,unsat_ok=True,boring_ok=True)}]
h = True
i :: Bool
[LclIdX,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=False, ConLike=False,
WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 320 0}]
i =
case undefined
@ ('TupleRep '['IntRep])
@ (# Int# #)
((pushCallStack
(build
@ Char (\ (@ b_a503) -> unpackFoldrCString# @ b
"undefined"#),
SrcLoc
(build @ Char (\ (@ b_a503) -> unpackFoldrCString# @ b
"main"#))
(build @ Char (\ (@ b_a503) -> unpackFoldrCString# @ b
"Main"#))
(build
@ Char (\ (@ b_a503) -> unpackFoldrCString# @ b
"StrictPats.hs"#))
(I# 60#)
(I# 20#)
(I# 60#)
(I# 29#))
emptyCallStack)
`cast` (Sym (N:IP[0] <"callStack">_N <CallStack>_N)
:: (CallStack :: *) ~R# ((?callStack::CallStack) ::
Constraint)))
of wild_00 {
}
j :: Bool
[LclIdX,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=False, ConLike=False,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 100 0}]
j =
case irrefutPatError
@ 'LiftedRep @ () "StrictPats.hs:64:9-21|True"#
of wild_00 {
}
k :: Bool
[LclIdX,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True,
Guidance=ALWAYS_IF(arity=0,unsat_ok=True,boring_ok=True)}]
k = True
l :: Bool
[LclIdX,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True,
Guidance=ALWAYS_IF(arity=0,unsat_ok=True,boring_ok=True)}]
l = True
m :: Bool
[LclIdX,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=False, ConLike=False,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 90 0}]
m =
case irrefutPatError @ 'LiftedRep @ () "StrictPats.hs:76:9-16|3#"#
of wild_00 {
}
n :: Bool
[LclIdX,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=False, ConLike=False,
WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 320 0}]
n =
case undefined
@ ('TupleRep '['LiftedRep])
@ (# () #)
((pushCallStack
(build
@ Char (\ (@ b_a503) -> unpackFoldrCString# @ b
"undefined"#),
SrcLoc
(build @ Char (\ (@ b_a503) -> unpackFoldrCString# @ b
"main"#))
(build @ Char (\ (@ b_a503) -> unpackFoldrCString# @ b
"Main"#))
(build
@ Char (\ (@ b_a503) -> unpackFoldrCString# @ b
"StrictPats.hs"#))
(I# 80#)
(I# 14#)
(I# 80#)
(I# 23#))
emptyCallStack)
`cast` (Sym (N:IP[0] <"callStack">_N <CallStack>_N)
:: (CallStack :: *) ~R# ((?callStack::CallStack) ::
Constraint)))
of wild_00 {
}
o :: Bool
[LclIdX,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True,
Guidance=ALWAYS_IF(arity=0,unsat_ok=True,boring_ok=True)}]
o = True
p :: Bool
[LclIdX,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True,
Guidance=ALWAYS_IF(arity=0,unsat_ok=True,boring_ok=True)}]
p = True
q_s50e :: Addr#
[LclId,
Unf=Unf{Src=<vanilla>, TopLvl=False, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 110 0}]
q_s50e = "StrictPats.hs:92:9-54|pattern binding"#
q :: Bool
[LclIdX,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=False, ConLike=False,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 20 0}]
q = patError @ 'LiftedRep @ Bool q_s50e
r :: Bool
[LclIdX,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True,
Guidance=ALWAYS_IF(arity=0,unsat_ok=True,boring_ok=True)}]
r = True
s :: Bool
[LclIdX,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=False, ConLike=False,
WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 340 10}]
s =
case \ (@ a_a3DN) ->
let {
ds_d4Xb :: (a)
[LclId,
Unf=Unf{Src=<vanilla>, TopLvl=False, Value=False,
ConLike=False,
WorkFree=False, Expandable=False, Guidance=IF_ARGS []
320 0}]
ds_d4Xb =
case undefined
@ ('TupleRep '['LiftedRep])
@ (# a #)
((pushCallStack
(build
@ Char (\ (@ b_a503) -> unpackFoldrCString# @ b
"undefined"#),
SrcLoc
(build @ Char (\ (@ b_a503) ->
unpackFoldrCString# @ b "main"#))
(build @ Char (\ (@ b_a503) ->
unpackFoldrCString# @ b "Main"#))
(build
@ Char (\ (@ b_a503) -> unpackFoldrCString#
@ b "StrictPats.hs"#))
(I# 100#)
(I# 20#)
(I# 100#)
(I# 29#))
emptyCallStack)
`cast` (Sym (N:IP[0] <"callStack">_N <CallStack>_N)
:: (CallStack :: *) ~R#
((?callStack::CallStack) :: Constraint)))
of wild_00 {
} } in
ds_d4Xb
of
{ __DEFAULT ->
True
}
$trModule_s50h :: Addr#
[LclId,
Unf=Unf{Src=<vanilla>, TopLvl=False, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 20 0}]
$trModule_s50h = "main"#
$trModule_s50g :: TrName
[LclId,
Unf=Unf{Src=<vanilla>, TopLvl=False, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 20}]
$trModule_s50g = TrNameS $trModule_s50h
$trModule_s50j :: Addr#
[LclId,
Unf=Unf{Src=<vanilla>, TopLvl=False, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 20 0}]
$trModule_s50j = "Main"#
$trModule_s50i :: TrName
[LclId,
Unf=Unf{Src=<vanilla>, TopLvl=False, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 20}]
$trModule_s50i = TrNameS $trModule_s50j
$trModule :: Module
[LclIdX,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 30}]
$trModule = Module $trModule_s50g $trModule_s50i
bad :: forall a. a -> IO ()
[LclIdX,
Arity=1,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [0] 400 60}]
bad =
\ (@ a_a4T7) (x_a3ed :: a) ->
bindIO
@ (Either SomeException a)
@ ()
($ @ 'LiftedRep
@ (IO a)
@ (IO (Either SomeException a))
(try @ SomeException @ a $fExceptionSomeException)
(evaluate @ a x_a3ed))
(\ (r_a3qv :: Either SomeException a) ->
case r_a3qv of {
Left ds_d4Zg ->
putStrLn
(build
@ Char
(\ (@ b_a503) ->
unpackFoldrCString# @ b "Exception thrown as
expected."#));
Right ds_d4Zh ->
putStrLn
(build
@ Char
(\ (@ b_a503) ->
unpackFoldrCString# @ b "Exception not thrown when
expected."#))
})
ok :: forall a. a -> IO ()
[LclIdX,
Arity=2,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [0] 160 0}]
ok =
\ (@ a_a4U0) (x_a37y :: a) ->
(\ (eta_B1 :: State# RealWorld) ->
((thenIO
@ a
@ ()
(evaluate @ a x_a37y)
(putStrLn
(build
@ Char
(\ (@ b_a503) ->
unpackFoldrCString# @ b "Evaluation successful."#))))
`cast` (N:IO[0] <()>_R
:: (IO () :: *)
~R#
((State# RealWorld -> (# State# RealWorld, () #)) ::
*)))
eta_B1)
`cast` (Sym (N:IO[0] <()>_R)
:: ((State# RealWorld -> (# State# RealWorld, () #)) :: *)
~R#
(IO () :: *))
main_s5ge :: IO ()
[LclId,
Arity=1,
Unf=Unf{Src=<vanilla>, TopLvl=False, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 20 60}]
main_s5ge = ok @ Bool a
main_s5gg :: IO ()
[LclId,
Unf=Unf{Src=<vanilla>, TopLvl=False, Value=False, ConLike=False,
WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 20 0}]
main_s5gg = bad @ Bool b
main_s5gi :: IO ()
[LclId,
Arity=1,
Unf=Unf{Src=<vanilla>, TopLvl=False, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 20 60}]
main_s5gi = ok @ Bool c
main_s5gk :: IO ()
[LclId,
Unf=Unf{Src=<vanilla>, TopLvl=False, Value=False, ConLike=False,
WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 20 0}]
main_s5gk = bad @ Bool d
main_s5gm :: IO ()
[LclId,
Arity=1,
Unf=Unf{Src=<vanilla>, TopLvl=False, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 20 60}]
main_s5gm = ok @ Bool e
main_s5go :: IO ()
[LclId,
Unf=Unf{Src=<vanilla>, TopLvl=False, Value=False, ConLike=False,
WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 20 0}]
main_s5go = bad @ Bool f
main_s5gq :: IO ()
[LclId,
Arity=1,
Unf=Unf{Src=<vanilla>, TopLvl=False, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 20 60}]
main_s5gq = ok @ Bool g
main_s5gs :: IO ()
[LclId,
Arity=1,
Unf=Unf{Src=<vanilla>, TopLvl=False, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 20 60}]
main_s5gs = ok @ Bool h
main_s5gu :: IO ()
[LclId,
Unf=Unf{Src=<vanilla>, TopLvl=False, Value=False, ConLike=False,
WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 20 0}]
main_s5gu = bad @ Bool i
main_s5gw :: IO ()
[LclId,
Unf=Unf{Src=<vanilla>, TopLvl=False, Value=False, ConLike=False,
WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 20 0}]
main_s5gw = bad @ Bool j
main_s5gy :: IO ()
[LclId,
Arity=1,
Unf=Unf{Src=<vanilla>, TopLvl=False, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 20 60}]
main_s5gy = ok @ Bool k
main_s5gA :: IO ()
[LclId,
Arity=1,
Unf=Unf{Src=<vanilla>, TopLvl=False, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 20 60}]
main_s5gA = ok @ Bool l
main_s5gC :: IO ()
[LclId,
Unf=Unf{Src=<vanilla>, TopLvl=False, Value=False, ConLike=False,
WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 20 0}]
main_s5gC = bad @ Bool m
main_s5gE :: IO ()
[LclId,
Unf=Unf{Src=<vanilla>, TopLvl=False, Value=False, ConLike=False,
WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 20 0}]
main_s5gE = bad @ Bool n
main_s5gG :: IO ()
[LclId,
Arity=1,
Unf=Unf{Src=<vanilla>, TopLvl=False, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 20 60}]
main_s5gG = ok @ Bool o
main_s5gI :: IO ()
[LclId,
Arity=1,
Unf=Unf{Src=<vanilla>, TopLvl=False, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 20 60}]
main_s5gI = ok @ Bool p
main_s5gK :: IO ()
[LclId,
Unf=Unf{Src=<vanilla>, TopLvl=False, Value=False, ConLike=False,
WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 20 0}]
main_s5gK = bad @ Bool q
main_s5gM :: IO ()
[LclId,
Arity=1,
Unf=Unf{Src=<vanilla>, TopLvl=False, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 20 60}]
main_s5gM = ok @ Bool r
main_s5gN :: IO ()
[LclId,
Unf=Unf{Src=<vanilla>, TopLvl=False, Value=False, ConLike=False,
WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 20 0}]
main_s5gN = bad @ Bool s
main_s5gL :: IO ()
[LclId,
Arity=1,
Unf=Unf{Src=<vanilla>, TopLvl=False, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 30 60}]
main_s5gL = thenIO @ () @ () main_s5gM main_s5gN
main_s5gJ :: IO ()
[LclId,
Arity=1,
Unf=Unf{Src=<vanilla>, TopLvl=False, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 30 60}]
main_s5gJ = thenIO @ () @ () main_s5gK main_s5gL
main_s5gH :: IO ()
[LclId,
Arity=1,
Unf=Unf{Src=<vanilla>, TopLvl=False, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 30 60}]
main_s5gH = thenIO @ () @ () main_s5gI main_s5gJ
main_s5gF :: IO ()
[LclId,
Arity=1,
Unf=Unf{Src=<vanilla>, TopLvl=False, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 30 60}]
main_s5gF = thenIO @ () @ () main_s5gG main_s5gH
main_s5gD :: IO ()
[LclId,
Arity=1,
Unf=Unf{Src=<vanilla>, TopLvl=False, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 30 60}]
main_s5gD = thenIO @ () @ () main_s5gE main_s5gF
main_s5gB :: IO ()
[LclId,
Arity=1,
Unf=Unf{Src=<vanilla>, TopLvl=False, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 30 60}]
main_s5gB = thenIO @ () @ () main_s5gC main_s5gD
main_s5gz :: IO ()
[LclId,
Arity=1,
Unf=Unf{Src=<vanilla>, TopLvl=False, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 30 60}]
main_s5gz = thenIO @ () @ () main_s5gA main_s5gB
main_s5gx :: IO ()
[LclId,
Arity=1,
Unf=Unf{Src=<vanilla>, TopLvl=False, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 30 60}]
main_s5gx = thenIO @ () @ () main_s5gy main_s5gz
main_s5gv :: IO ()
[LclId,
Arity=1,
Unf=Unf{Src=<vanilla>, TopLvl=False, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 30 60}]
main_s5gv = thenIO @ () @ () main_s5gw main_s5gx
main_s5gt :: IO ()
[LclId,
Arity=1,
Unf=Unf{Src=<vanilla>, TopLvl=False, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 30 60}]
main_s5gt = thenIO @ () @ () main_s5gu main_s5gv
main_s5gr :: IO ()
[LclId,
Arity=1,
Unf=Unf{Src=<vanilla>, TopLvl=False, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 30 60}]
main_s5gr = thenIO @ () @ () main_s5gs main_s5gt
main_s5gp :: IO ()
[LclId,
Arity=1,
Unf=Unf{Src=<vanilla>, TopLvl=False, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 30 60}]
main_s5gp = thenIO @ () @ () main_s5gq main_s5gr
main_s5gn :: IO ()
[LclId,
Arity=1,
Unf=Unf{Src=<vanilla>, TopLvl=False, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 30 60}]
main_s5gn = thenIO @ () @ () main_s5go main_s5gp
main_s5gl :: IO ()
[LclId,
Arity=1,
Unf=Unf{Src=<vanilla>, TopLvl=False, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 30 60}]
main_s5gl = thenIO @ () @ () main_s5gm main_s5gn
main_s5gj :: IO ()
[LclId,
Arity=1,
Unf=Unf{Src=<vanilla>, TopLvl=False, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 30 60}]
main_s5gj = thenIO @ () @ () main_s5gk main_s5gl
main_s5gh :: IO ()
[LclId,
Arity=1,
Unf=Unf{Src=<vanilla>, TopLvl=False, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 30 60}]
main_s5gh = thenIO @ () @ () main_s5gi main_s5gj
main_s5gf :: IO ()
[LclId,
Arity=1,
Unf=Unf{Src=<vanilla>, TopLvl=False, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 30 60}]
main_s5gf = thenIO @ () @ () main_s5gg main_s5gh
main :: IO ()
[LclIdX,
Arity=1,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 30 60}]
main = thenIO @ () @ () main_s5ge main_s5gf
main :: IO ()
[LclIdX,
Arity=1,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 20 60}]
main = runMainIO @ () main
*** End of Offense ***
<no location info>: error:
Compilation had errors
*** unexpected failure for StrictPats(debug)
}}}
I could not see how my patch to the interpreter would cause a Core Lint
failure, so I am reporting this as a bug.
CCing simonpj because this is either a bug in the typechecker, the
desugarer, or a core-to-core optimization pass.
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/13204>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list