[GHC] #13204: Core Lint error running testsuite with DEBUG way
#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
#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 Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: | Unknown/Multiple Type of failure: None/Unknown | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Comment (by dobenour): The failure does not appear in the `normal` way. -- Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/13204#comment:1> GHC <http://www.haskell.org/ghc/> The Glasgow Haskell Compiler
#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 Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: | Unknown/Multiple Type of failure: None/Unknown | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Comment (by bgamari): This is likely fallout from the top-level strings patch (d49b2bb21691892ca6ac8f2403e31f2a5e53feb3). -- Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/13204#comment:2> GHC <http://www.haskell.org/ghc/> The Glasgow Haskell Compiler
#13204: Core Lint error running testsuite with DEBUG way -------------------------------------+------------------------------------- Reporter: dobenour | Owner: Type: bug | Status: patch Priority: normal | Milestone: 8.2.1 Component: Compiler | Version: 8.1 Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: | Unknown/Multiple Type of failure: None/Unknown | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Phab:D3051 Wiki Page: | -------------------------------------+------------------------------------- Changes (by bgamari): * status: new => patch * differential: => Phab:D3051 Comment: I suspect this will be resolved by Phab:D3051. -- Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/13204#comment:3> GHC <http://www.haskell.org/ghc/> The Glasgow Haskell Compiler
#13204: Core Lint error running testsuite with DEBUG way -------------------------------------+------------------------------------- Reporter: dobenour | Owner: Type: bug | Status: closed Priority: normal | Milestone: 8.2.1 Component: Compiler | Version: 8.1 Resolution: fixed | Keywords: Operating System: Unknown/Multiple | Architecture: | Unknown/Multiple Type of failure: None/Unknown | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Phab:D3051 Wiki Page: | -------------------------------------+------------------------------------- Changes (by bgamari): * status: patch => closed * resolution: => fixed Comment: I believe this was fixed by my top-level strings fix (f5b275a239d2554c4da0b7621211642bf3b10650). -- Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/13204#comment:4> GHC <http://www.haskell.org/ghc/> The Glasgow Haskell Compiler
participants (1)
-
GHC