Generate Typeable info at definition sites
[ghc.git] / testsuite / tests / simplCore / should_compile / T4930.stderr
1
2 ==================== Tidy Core ====================
3 Result size of Tidy Core = {terms: 45, types: 17, coercions: 0}
4
5 -- RHS size: {terms: 2, types: 0, coercions: 0}
6 T4930.$trModule2 :: TrName
7 [GblId,
8  Caf=NoCafRefs,
9  Str=DmdType m1,
10  Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
11          WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 30 20}]
12 T4930.$trModule2 = TrNameS "main"#
13
14 -- RHS size: {terms: 2, types: 0, coercions: 0}
15 T4930.$trModule1 :: TrName
16 [GblId,
17  Caf=NoCafRefs,
18  Str=DmdType m1,
19  Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
20          WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 40 20}]
21 T4930.$trModule1 = TrNameS "T4930"#
22
23 -- RHS size: {terms: 3, types: 0, coercions: 0}
24 T4930.$trModule :: Module
25 [GblId[ReflectionId],
26  Caf=NoCafRefs,
27  Str=DmdType m,
28  Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
29          WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 30}]
30 T4930.$trModule = Module T4930.$trModule2 T4930.$trModule1
31
32 Rec {
33 -- RHS size: {terms: 23, types: 6, coercions: 0}
34 T4930.$wfoo [InlPrag=[0], Occ=LoopBreaker] :: Int# -> Int#
35 [GblId, Arity=1, Caf=NoCafRefs, Str=DmdType <L,U>]
36 T4930.$wfoo =
37   \ (ww :: Int#) ->
38     case case tagToEnum# @ Bool (<# ww 5#) of _ [Occ=Dead] {
39            False -> I# (+# ww 2#);
40            True -> case T4930.$wfoo ww of ww1 { __DEFAULT -> I# ww1 }
41          }
42     of _ [Occ=Dead] { I# ipv ->
43     +# ww 5#
44     }
45 end Rec }
46
47 -- RHS size: {terms: 10, types: 4, coercions: 0}
48 foo [InlPrag=INLINE[0]] :: Int -> Int
49 [GblId,
50  Arity=1,
51  Caf=NoCafRefs,
52  Str=DmdType <S,1*U(U)>m,
53  Unf=Unf{Src=InlineStable, TopLvl=True, Value=True, ConLike=True,
54          WorkFree=True, Expandable=True,
55          Guidance=ALWAYS_IF(arity=1,unsat_ok=True,boring_ok=False)
56          Tmpl= \ (w [Occ=Once!] :: Int) ->
57                  case w of _ [Occ=Dead] { I# ww1 [Occ=Once] ->
58                  case T4930.$wfoo ww1 of ww2 { __DEFAULT -> I# ww2 }
59                  }}]
60 foo =
61   \ (w :: Int) ->
62     case w of _ [Occ=Dead] { I# ww1 ->
63     case T4930.$wfoo ww1 of ww2 { __DEFAULT -> I# ww2 }
64     }
65
66
67