1 - // MIR for `flat` before ScalarReplacementOfAggregates
2 + // MIR for `flat` after ScalarReplacementOfAggregates
5 let mut _0: (); // return place in scope 0 at $DIR/sroa.rs:+0:15: +0:15
6 let _1: u8; // in scope 0 at $DIR/sroa.rs:+1:15: +1:16
7 let _2: (); // in scope 0 at $DIR/sroa.rs:+1:18: +1:19
8 let _3: &str; // in scope 0 at $DIR/sroa.rs:+1:21: +1:22
9 let _4: std::option::Option<isize>; // in scope 0 at $DIR/sroa.rs:+1:24: +1:25
10 let mut _5: Foo; // in scope 0 at $DIR/sroa.rs:+1:30: +1:70
11 let mut _6: (); // in scope 0 at $DIR/sroa.rs:+1:45: +1:47
12 let mut _7: std::option::Option<isize>; // in scope 0 at $DIR/sroa.rs:+1:60: +1:68
13 + let mut _8: u8; // in scope 0 at $DIR/sroa.rs:+1:30: +1:70
14 + let mut _9: (); // in scope 0 at $DIR/sroa.rs:+1:30: +1:70
15 + let mut _10: &str; // in scope 0 at $DIR/sroa.rs:+1:30: +1:70
16 + let mut _11: std::option::Option<isize>; // in scope 0 at $DIR/sroa.rs:+1:30: +1:70
18 debug a => _1; // in scope 1 at $DIR/sroa.rs:+1:15: +1:16
19 debug b => _2; // in scope 1 at $DIR/sroa.rs:+1:18: +1:19
20 debug c => _3; // in scope 1 at $DIR/sroa.rs:+1:21: +1:22
21 debug d => _4; // in scope 1 at $DIR/sroa.rs:+1:24: +1:25
33 - StorageLive(_5); // scope 0 at $DIR/sroa.rs:+1:30: +1:70
34 + StorageLive(_8); // scope 0 at $DIR/sroa.rs:+1:30: +1:70
35 + StorageLive(_9); // scope 0 at $DIR/sroa.rs:+1:30: +1:70
36 + StorageLive(_10); // scope 0 at $DIR/sroa.rs:+1:30: +1:70
37 + StorageLive(_11); // scope 0 at $DIR/sroa.rs:+1:30: +1:70
38 StorageLive(_6); // scope 0 at $DIR/sroa.rs:+1:45: +1:47
39 Deinit(_6); // scope 0 at $DIR/sroa.rs:+1:45: +1:47
40 StorageLive(_7); // scope 0 at $DIR/sroa.rs:+1:60: +1:68
41 Deinit(_7); // scope 0 at $DIR/sroa.rs:+1:60: +1:68
42 ((_7 as Some).0: isize) = const -4_isize; // scope 0 at $DIR/sroa.rs:+1:60: +1:68
43 discriminant(_7) = 1; // scope 0 at $DIR/sroa.rs:+1:60: +1:68
44 - Deinit(_5); // scope 0 at $DIR/sroa.rs:+1:30: +1:70
45 - (_5.0: u8) = const 5_u8; // scope 0 at $DIR/sroa.rs:+1:30: +1:70
46 - (_5.1: ()) = move _6; // scope 0 at $DIR/sroa.rs:+1:30: +1:70
47 - (_5.2: &str) = const "a"; // scope 0 at $DIR/sroa.rs:+1:30: +1:70
48 + Deinit(_8); // scope 0 at $DIR/sroa.rs:+1:30: +1:70
49 + Deinit(_9); // scope 0 at $DIR/sroa.rs:+1:30: +1:70
50 + Deinit(_10); // scope 0 at $DIR/sroa.rs:+1:30: +1:70
51 + Deinit(_11); // scope 0 at $DIR/sroa.rs:+1:30: +1:70
52 + _8 = const 5_u8; // scope 0 at $DIR/sroa.rs:+1:30: +1:70
53 + _9 = move _6; // scope 0 at $DIR/sroa.rs:+1:30: +1:70
54 + _10 = const "a"; // scope 0 at $DIR/sroa.rs:+1:30: +1:70
56 // + span: $DIR/sroa.rs:57:52: 57:55
57 // + literal: Const { ty: &str, val: Value(Slice(..)) }
58 - (_5.3: std::option::Option<isize>) = move _7; // scope 0 at $DIR/sroa.rs:+1:30: +1:70
59 + _11 = move _7; // scope 0 at $DIR/sroa.rs:+1:30: +1:70
60 StorageDead(_7); // scope 0 at $DIR/sroa.rs:+1:69: +1:70
61 StorageDead(_6); // scope 0 at $DIR/sroa.rs:+1:69: +1:70
62 StorageLive(_1); // scope 0 at $DIR/sroa.rs:+1:15: +1:16
63 - _1 = (_5.0: u8); // scope 0 at $DIR/sroa.rs:+1:15: +1:16
64 + _1 = _8; // scope 0 at $DIR/sroa.rs:+1:15: +1:16
65 StorageLive(_2); // scope 0 at $DIR/sroa.rs:+1:18: +1:19
66 - _2 = (_5.1: ()); // scope 0 at $DIR/sroa.rs:+1:18: +1:19
67 + _2 = _9; // scope 0 at $DIR/sroa.rs:+1:18: +1:19
68 StorageLive(_3); // scope 0 at $DIR/sroa.rs:+1:21: +1:22
69 - _3 = (_5.2: &str); // scope 0 at $DIR/sroa.rs:+1:21: +1:22
70 + _3 = _10; // scope 0 at $DIR/sroa.rs:+1:21: +1:22
71 StorageLive(_4); // scope 0 at $DIR/sroa.rs:+1:24: +1:25
72 - _4 = (_5.3: std::option::Option<isize>); // scope 0 at $DIR/sroa.rs:+1:24: +1:25
73 - StorageDead(_5); // scope 0 at $DIR/sroa.rs:+1:70: +1:71
74 + _4 = _11; // scope 0 at $DIR/sroa.rs:+1:24: +1:25
75 + StorageDead(_8); // scope 0 at $DIR/sroa.rs:+1:70: +1:71
76 + StorageDead(_9); // scope 0 at $DIR/sroa.rs:+1:70: +1:71
77 + StorageDead(_10); // scope 0 at $DIR/sroa.rs:+1:70: +1:71
78 + StorageDead(_11); // scope 0 at $DIR/sroa.rs:+1:70: +1:71
79 _0 = const (); // scope 0 at $DIR/sroa.rs:+0:15: +6:2
80 StorageDead(_4); // scope 0 at $DIR/sroa.rs:+6:1: +6:2
81 StorageDead(_3); // scope 0 at $DIR/sroa.rs:+6:1: +6:2
82 StorageDead(_2); // scope 0 at $DIR/sroa.rs:+6:1: +6:2
83 StorageDead(_1); // scope 0 at $DIR/sroa.rs:+6:1: +6:2
84 return; // scope 0 at $DIR/sroa.rs:+6:2: +6:2