1 - // MIR for `f` before DestinationPropagation
2 + // MIR for `f` after DestinationPropagation
5 debug a => _1; // in scope 0 at $DIR/unreachable.rs:+0:19: +0:20
6 let mut _0: (); // return place in scope 0 at $DIR/unreachable.rs:+0:25: +0:25
7 let _2: T; // in scope 0 at $DIR/unreachable.rs:+1:9: +1:10
8 let mut _3: bool; // in scope 0 at $DIR/unreachable.rs:+2:8: +2:13
9 let _4: (); // in scope 0 at $DIR/unreachable.rs:+3:9: +3:16
10 let mut _5: T; // in scope 0 at $DIR/unreachable.rs:+3:11: +3:12
11 let mut _6: T; // in scope 0 at $DIR/unreachable.rs:+3:14: +3:15
12 let _7: (); // in scope 0 at $DIR/unreachable.rs:+5:9: +5:16
13 let mut _8: T; // in scope 0 at $DIR/unreachable.rs:+5:11: +5:12
14 let mut _9: T; // in scope 0 at $DIR/unreachable.rs:+5:14: +5:15
16 - debug b => _2; // in scope 1 at $DIR/unreachable.rs:+1:9: +1:10
17 + debug b => _1; // in scope 1 at $DIR/unreachable.rs:+1:9: +1:10
21 - StorageLive(_2); // scope 0 at $DIR/unreachable.rs:+1:9: +1:10
22 - _2 = _1; // scope 0 at $DIR/unreachable.rs:+1:13: +1:14
23 + nop; // scope 0 at $DIR/unreachable.rs:+1:9: +1:10
24 + nop; // scope 0 at $DIR/unreachable.rs:+1:13: +1:14
25 StorageLive(_3); // scope 1 at $DIR/unreachable.rs:+2:8: +2:13
26 _3 = const false; // scope 1 at $DIR/unreachable.rs:+2:8: +2:13
27 - goto -> bb3; // scope 1 at $DIR/unreachable.rs:+2:8: +2:13
28 + goto -> bb1; // scope 1 at $DIR/unreachable.rs:+2:8: +2:13
32 - StorageLive(_4); // scope 1 at $DIR/unreachable.rs:+3:9: +3:16
33 - StorageLive(_5); // scope 1 at $DIR/unreachable.rs:+3:11: +3:12
34 - _5 = _1; // scope 1 at $DIR/unreachable.rs:+3:11: +3:12
35 - StorageLive(_6); // scope 1 at $DIR/unreachable.rs:+3:14: +3:15
36 - _6 = _2; // scope 1 at $DIR/unreachable.rs:+3:14: +3:15
37 - _4 = g::<T>(move _5, move _6) -> bb2; // scope 1 at $DIR/unreachable.rs:+3:9: +3:16
39 - // + span: $DIR/unreachable.rs:11:9: 11:10
40 - // + literal: Const { ty: fn(T, T) {g::<T>}, val: Value(<ZST>) }
44 - StorageDead(_6); // scope 1 at $DIR/unreachable.rs:+3:15: +3:16
45 - StorageDead(_5); // scope 1 at $DIR/unreachable.rs:+3:15: +3:16
46 - StorageDead(_4); // scope 1 at $DIR/unreachable.rs:+3:16: +3:17
47 - _0 = const (); // scope 1 at $DIR/unreachable.rs:+2:14: +4:6
48 - goto -> bb5; // scope 1 at $DIR/unreachable.rs:+2:5: +6:6
52 StorageLive(_7); // scope 1 at $DIR/unreachable.rs:+5:9: +5:16
53 - StorageLive(_8); // scope 1 at $DIR/unreachable.rs:+5:11: +5:12
54 - _8 = _2; // scope 1 at $DIR/unreachable.rs:+5:11: +5:12
55 + nop; // scope 1 at $DIR/unreachable.rs:+5:11: +5:12
56 + nop; // scope 1 at $DIR/unreachable.rs:+5:11: +5:12
57 StorageLive(_9); // scope 1 at $DIR/unreachable.rs:+5:14: +5:15
58 - _9 = _2; // scope 1 at $DIR/unreachable.rs:+5:14: +5:15
59 - _7 = g::<T>(move _8, move _9) -> bb4; // scope 1 at $DIR/unreachable.rs:+5:9: +5:16
60 + _9 = _1; // scope 1 at $DIR/unreachable.rs:+5:14: +5:15
61 + _7 = g::<T>(move _1, move _9) -> bb2; // scope 1 at $DIR/unreachable.rs:+5:9: +5:16
63 // + span: $DIR/unreachable.rs:13:9: 13:10
64 // + literal: Const { ty: fn(T, T) {g::<T>}, val: Value(<ZST>) }
69 StorageDead(_9); // scope 1 at $DIR/unreachable.rs:+5:15: +5:16
70 - StorageDead(_8); // scope 1 at $DIR/unreachable.rs:+5:15: +5:16
71 + nop; // scope 1 at $DIR/unreachable.rs:+5:15: +5:16
72 StorageDead(_7); // scope 1 at $DIR/unreachable.rs:+5:16: +5:17
73 _0 = const (); // scope 1 at $DIR/unreachable.rs:+4:12: +6:6
74 - goto -> bb5; // scope 1 at $DIR/unreachable.rs:+2:5: +6:6
75 + goto -> bb3; // scope 1 at $DIR/unreachable.rs:+2:5: +6:6
80 StorageDead(_3); // scope 1 at $DIR/unreachable.rs:+6:5: +6:6
81 - StorageDead(_2); // scope 0 at $DIR/unreachable.rs:+7:1: +7:2
82 + nop; // scope 0 at $DIR/unreachable.rs:+7:1: +7:2
83 return; // scope 0 at $DIR/unreachable.rs:+7:2: +7:2