• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1- // MIR for `main` before Inline
2+ // MIR for `main` after Inline
3
4  fn main() -> () {
5      let mut _0: ();
6      let _1: ();
7+     scope 1 (inlined <() as G>::call) {
8+         let _2: ();
9+         let _3: ();
10+         let _4: ();
11+         scope 2 (inlined <() as F>::call) {
12+             let _5: ();
13+             let _6: ();
14+             let _7: ();
15+             scope 3 (inlined <() as E>::call) {
16+                 let _8: ();
17+                 let _9: ();
18+                 let _10: ();
19+                 scope 4 (inlined <() as D>::call) {
20+                     let _11: ();
21+                     let _12: ();
22+                     let _13: ();
23+                     scope 5 (inlined <() as C>::call) {
24+                         let _14: ();
25+                         let _15: ();
26+                         let _16: ();
27+                         scope 6 (inlined <() as B>::call) {
28+                             let _17: ();
29+                             let _18: ();
30+                             let _19: ();
31+                         }
32+                     }
33+                 }
34+             }
35+         }
36+     }
37
38      bb0: {
39          StorageLive(_1);
40-         _1 = <() as G>::call() -> [return: bb1, unwind continue];
41+         StorageLive(_2);
42+         StorageLive(_3);
43+         StorageLive(_4);
44+         StorageLive(_5);
45+         StorageLive(_6);
46+         StorageLive(_7);
47+         StorageLive(_8);
48+         StorageLive(_9);
49+         StorageLive(_10);
50+         StorageLive(_11);
51+         StorageLive(_12);
52+         StorageLive(_13);
53+         StorageLive(_14);
54+         StorageLive(_15);
55+         StorageLive(_16);
56+         StorageLive(_17);
57+         StorageLive(_18);
58+         StorageLive(_19);
59+         _17 = <() as A>::call() -> [return: bb12, unwind continue];
60      }
61
62      bb1: {
63+         StorageDead(_4);
64+         StorageDead(_3);
65+         StorageDead(_2);
66          StorageDead(_1);
67          _0 = const ();
68          return;
69+     }
70+
71+     bb2: {
72+         StorageDead(_7);
73+         StorageDead(_6);
74+         StorageDead(_5);
75+         _3 = <() as F>::call() -> [return: bb3, unwind continue];
76+     }
77+
78+     bb3: {
79+         _4 = <() as F>::call() -> [return: bb1, unwind continue];
80+     }
81+
82+     bb4: {
83+         StorageDead(_10);
84+         StorageDead(_9);
85+         StorageDead(_8);
86+         _6 = <() as E>::call() -> [return: bb5, unwind continue];
87+     }
88+
89+     bb5: {
90+         _7 = <() as E>::call() -> [return: bb2, unwind continue];
91+     }
92+
93+     bb6: {
94+         StorageDead(_13);
95+         StorageDead(_12);
96+         StorageDead(_11);
97+         _9 = <() as D>::call() -> [return: bb7, unwind continue];
98+     }
99+
100+     bb7: {
101+         _10 = <() as D>::call() -> [return: bb4, unwind continue];
102+     }
103+
104+     bb8: {
105+         StorageDead(_16);
106+         StorageDead(_15);
107+         StorageDead(_14);
108+         _12 = <() as C>::call() -> [return: bb9, unwind continue];
109+     }
110+
111+     bb9: {
112+         _13 = <() as C>::call() -> [return: bb6, unwind continue];
113+     }
114+
115+     bb10: {
116+         StorageDead(_19);
117+         StorageDead(_18);
118+         StorageDead(_17);
119+         _15 = <() as B>::call() -> [return: bb11, unwind continue];
120+     }
121+
122+     bb11: {
123+         _16 = <() as B>::call() -> [return: bb8, unwind continue];
124+     }
125+
126+     bb12: {
127+         _18 = <() as A>::call() -> [return: bb13, unwind continue];
128+     }
129+
130+     bb13: {
131+         _19 = <() as A>::call() -> [return: bb10, unwind continue];
132      }
133  }
134
135