- // MIR for `main` before Inline + // MIR for `main` after Inline fn main() -> () { let mut _0: (); // return place in scope 0 at $DIR/exponential_runtime.rs:+0:11: +0:11 let _1: (); // in scope 0 at $DIR/exponential_runtime.rs:+1:5: +1:22 + scope 1 (inlined <() as G>::call) { // at $DIR/exponential_runtime.rs:87:5: 87:22 + let _2: (); // in scope 1 at $DIR/exponential_runtime.rs:74:9: 74:25 + let _3: (); // in scope 1 at $DIR/exponential_runtime.rs:75:9: 75:25 + let _4: (); // in scope 1 at $DIR/exponential_runtime.rs:76:9: 76:25 + scope 2 (inlined <() as F>::call) { // at $DIR/exponential_runtime.rs:74:9: 74:25 + let _5: (); // in scope 2 at $DIR/exponential_runtime.rs:62:9: 62:25 + let _6: (); // in scope 2 at $DIR/exponential_runtime.rs:63:9: 63:25 + let _7: (); // in scope 2 at $DIR/exponential_runtime.rs:64:9: 64:25 + scope 3 (inlined <() as E>::call) { // at $DIR/exponential_runtime.rs:62:9: 62:25 + let _8: (); // in scope 3 at $DIR/exponential_runtime.rs:50:9: 50:25 + let _9: (); // in scope 3 at $DIR/exponential_runtime.rs:51:9: 51:25 + let _10: (); // in scope 3 at $DIR/exponential_runtime.rs:52:9: 52:25 + scope 4 (inlined <() as D>::call) { // at $DIR/exponential_runtime.rs:50:9: 50:25 + let _11: (); // in scope 4 at $DIR/exponential_runtime.rs:38:9: 38:25 + let _12: (); // in scope 4 at $DIR/exponential_runtime.rs:39:9: 39:25 + let _13: (); // in scope 4 at $DIR/exponential_runtime.rs:40:9: 40:25 + scope 5 (inlined <() as C>::call) { // at $DIR/exponential_runtime.rs:38:9: 38:25 + let _14: (); // in scope 5 at $DIR/exponential_runtime.rs:26:9: 26:25 + let _15: (); // in scope 5 at $DIR/exponential_runtime.rs:27:9: 27:25 + let _16: (); // in scope 5 at $DIR/exponential_runtime.rs:28:9: 28:25 + scope 6 (inlined <() as B>::call) { // at $DIR/exponential_runtime.rs:26:9: 26:25 + let _17: (); // in scope 6 at $DIR/exponential_runtime.rs:14:9: 14:25 + let _18: (); // in scope 6 at $DIR/exponential_runtime.rs:15:9: 15:25 + let _19: (); // in scope 6 at $DIR/exponential_runtime.rs:16:9: 16:25 + } + } + } + } + } + } bb0: { StorageLive(_1); // scope 0 at $DIR/exponential_runtime.rs:+1:5: +1:22 - _1 = <() as G>::call() -> [return: bb1, unwind unreachable]; // scope 0 at $DIR/exponential_runtime.rs:+1:5: +1:22 + StorageLive(_2); // scope 0 at $DIR/exponential_runtime.rs:+1:5: +1:22 + StorageLive(_3); // scope 0 at $DIR/exponential_runtime.rs:+1:5: +1:22 + StorageLive(_4); // scope 0 at $DIR/exponential_runtime.rs:+1:5: +1:22 + StorageLive(_5); // scope 1 at $DIR/exponential_runtime.rs:74:9: 74:25 + StorageLive(_6); // scope 1 at $DIR/exponential_runtime.rs:74:9: 74:25 + StorageLive(_7); // scope 1 at $DIR/exponential_runtime.rs:74:9: 74:25 + StorageLive(_8); // scope 2 at $DIR/exponential_runtime.rs:62:9: 62:25 + StorageLive(_9); // scope 2 at $DIR/exponential_runtime.rs:62:9: 62:25 + StorageLive(_10); // scope 2 at $DIR/exponential_runtime.rs:62:9: 62:25 + StorageLive(_11); // scope 3 at $DIR/exponential_runtime.rs:50:9: 50:25 + StorageLive(_12); // scope 3 at $DIR/exponential_runtime.rs:50:9: 50:25 + StorageLive(_13); // scope 3 at $DIR/exponential_runtime.rs:50:9: 50:25 + StorageLive(_14); // scope 4 at $DIR/exponential_runtime.rs:38:9: 38:25 + StorageLive(_15); // scope 4 at $DIR/exponential_runtime.rs:38:9: 38:25 + StorageLive(_16); // scope 4 at $DIR/exponential_runtime.rs:38:9: 38:25 + StorageLive(_17); // scope 5 at $DIR/exponential_runtime.rs:26:9: 26:25 + StorageLive(_18); // scope 5 at $DIR/exponential_runtime.rs:26:9: 26:25 + StorageLive(_19); // scope 5 at $DIR/exponential_runtime.rs:26:9: 26:25 + _17 = <() as A>::call() -> [return: bb12, unwind unreachable]; // scope 6 at $DIR/exponential_runtime.rs:14:9: 14:25 // mir::Constant - // + span: $DIR/exponential_runtime.rs:87:5: 87:20 - // + literal: Const { ty: fn() {<() as G>::call}, val: Value() } + // + span: $DIR/exponential_runtime.rs:14:9: 14:23 + // + literal: Const { ty: fn() {<() as A>::call}, val: Value() } } bb1: { + StorageDead(_4); // scope 0 at $DIR/exponential_runtime.rs:+1:5: +1:22 + StorageDead(_3); // scope 0 at $DIR/exponential_runtime.rs:+1:5: +1:22 + StorageDead(_2); // scope 0 at $DIR/exponential_runtime.rs:+1:5: +1:22 StorageDead(_1); // scope 0 at $DIR/exponential_runtime.rs:+1:22: +1:23 _0 = const (); // scope 0 at $DIR/exponential_runtime.rs:+0:11: +2:2 return; // scope 0 at $DIR/exponential_runtime.rs:+2:2: +2:2 + } + + bb2: { + StorageDead(_7); // scope 1 at $DIR/exponential_runtime.rs:74:9: 74:25 + StorageDead(_6); // scope 1 at $DIR/exponential_runtime.rs:74:9: 74:25 + StorageDead(_5); // scope 1 at $DIR/exponential_runtime.rs:74:9: 74:25 + _3 = <() as F>::call() -> [return: bb3, unwind unreachable]; // scope 1 at $DIR/exponential_runtime.rs:75:9: 75:25 + // mir::Constant + // + span: $DIR/exponential_runtime.rs:75:9: 75:23 + // + literal: Const { ty: fn() {<() as F>::call}, val: Value() } + } + + bb3: { + _4 = <() as F>::call() -> [return: bb1, unwind unreachable]; // scope 1 at $DIR/exponential_runtime.rs:76:9: 76:25 + // mir::Constant + // + span: $DIR/exponential_runtime.rs:76:9: 76:23 + // + literal: Const { ty: fn() {<() as F>::call}, val: Value() } + } + + bb4: { + StorageDead(_10); // scope 2 at $DIR/exponential_runtime.rs:62:9: 62:25 + StorageDead(_9); // scope 2 at $DIR/exponential_runtime.rs:62:9: 62:25 + StorageDead(_8); // scope 2 at $DIR/exponential_runtime.rs:62:9: 62:25 + _6 = <() as E>::call() -> [return: bb5, unwind unreachable]; // scope 2 at $DIR/exponential_runtime.rs:63:9: 63:25 + // mir::Constant + // + span: $DIR/exponential_runtime.rs:63:9: 63:23 + // + literal: Const { ty: fn() {<() as E>::call}, val: Value() } + } + + bb5: { + _7 = <() as E>::call() -> [return: bb2, unwind unreachable]; // scope 2 at $DIR/exponential_runtime.rs:64:9: 64:25 + // mir::Constant + // + span: $DIR/exponential_runtime.rs:64:9: 64:23 + // + literal: Const { ty: fn() {<() as E>::call}, val: Value() } + } + + bb6: { + StorageDead(_13); // scope 3 at $DIR/exponential_runtime.rs:50:9: 50:25 + StorageDead(_12); // scope 3 at $DIR/exponential_runtime.rs:50:9: 50:25 + StorageDead(_11); // scope 3 at $DIR/exponential_runtime.rs:50:9: 50:25 + _9 = <() as D>::call() -> [return: bb7, unwind unreachable]; // scope 3 at $DIR/exponential_runtime.rs:51:9: 51:25 + // mir::Constant + // + span: $DIR/exponential_runtime.rs:51:9: 51:23 + // + literal: Const { ty: fn() {<() as D>::call}, val: Value() } + } + + bb7: { + _10 = <() as D>::call() -> [return: bb4, unwind unreachable]; // scope 3 at $DIR/exponential_runtime.rs:52:9: 52:25 + // mir::Constant + // + span: $DIR/exponential_runtime.rs:52:9: 52:23 + // + literal: Const { ty: fn() {<() as D>::call}, val: Value() } + } + + bb8: { + StorageDead(_16); // scope 4 at $DIR/exponential_runtime.rs:38:9: 38:25 + StorageDead(_15); // scope 4 at $DIR/exponential_runtime.rs:38:9: 38:25 + StorageDead(_14); // scope 4 at $DIR/exponential_runtime.rs:38:9: 38:25 + _12 = <() as C>::call() -> [return: bb9, unwind unreachable]; // scope 4 at $DIR/exponential_runtime.rs:39:9: 39:25 + // mir::Constant + // + span: $DIR/exponential_runtime.rs:39:9: 39:23 + // + literal: Const { ty: fn() {<() as C>::call}, val: Value() } + } + + bb9: { + _13 = <() as C>::call() -> [return: bb6, unwind unreachable]; // scope 4 at $DIR/exponential_runtime.rs:40:9: 40:25 + // mir::Constant + // + span: $DIR/exponential_runtime.rs:40:9: 40:23 + // + literal: Const { ty: fn() {<() as C>::call}, val: Value() } + } + + bb10: { + StorageDead(_19); // scope 5 at $DIR/exponential_runtime.rs:26:9: 26:25 + StorageDead(_18); // scope 5 at $DIR/exponential_runtime.rs:26:9: 26:25 + StorageDead(_17); // scope 5 at $DIR/exponential_runtime.rs:26:9: 26:25 + _15 = <() as B>::call() -> [return: bb11, unwind unreachable]; // scope 5 at $DIR/exponential_runtime.rs:27:9: 27:25 + // mir::Constant + // + span: $DIR/exponential_runtime.rs:27:9: 27:23 + // + literal: Const { ty: fn() {<() as B>::call}, val: Value() } + } + + bb11: { + _16 = <() as B>::call() -> [return: bb8, unwind unreachable]; // scope 5 at $DIR/exponential_runtime.rs:28:9: 28:25 + // mir::Constant + // + span: $DIR/exponential_runtime.rs:28:9: 28:23 + // + literal: Const { ty: fn() {<() as B>::call}, val: Value() } + } + + bb12: { + _18 = <() as A>::call() -> [return: bb13, unwind unreachable]; // scope 6 at $DIR/exponential_runtime.rs:15:9: 15:25 + // mir::Constant + // + span: $DIR/exponential_runtime.rs:15:9: 15:23 + // + literal: Const { ty: fn() {<() as A>::call}, val: Value() } + } + + bb13: { + _19 = <() as A>::call() -> [return: bb10, unwind unreachable]; // scope 6 at $DIR/exponential_runtime.rs:16:9: 16:25 + // mir::Constant + // + span: $DIR/exponential_runtime.rs:16:9: 16:23 + // + literal: Const { ty: fn() {<() as A>::call}, val: Value() } } }