]> git.lizzy.rs Git - rust.git/blob - tests/mir-opt/sroa.dropping.ScalarReplacementOfAggregates.diff
Do not eagerly recover for bad impl-trait in macros
[rust.git] / tests / mir-opt / sroa.dropping.ScalarReplacementOfAggregates.diff
1 - // MIR for `dropping` before ScalarReplacementOfAggregates
2 + // MIR for `dropping` after ScalarReplacementOfAggregates
3   
4   fn dropping() -> () {
5       let mut _0: ();                      // return place in scope 0 at $DIR/sroa.rs:+0:19: +0:19
6       let _1: Tag;                         // in scope 0 at $DIR/sroa.rs:+1:5: +1:32
7       let mut _2: S;                       // in scope 0 at $DIR/sroa.rs:+1:5: +1:30
8       let mut _3: Tag;                     // in scope 0 at $DIR/sroa.rs:+1:7: +1:13
9       let mut _4: Tag;                     // in scope 0 at $DIR/sroa.rs:+1:15: +1:21
10       let mut _5: Tag;                     // in scope 0 at $DIR/sroa.rs:+1:23: +1:29
11   
12       bb0: {
13           StorageLive(_1);                 // scope 0 at $DIR/sroa.rs:+1:5: +1:32
14           StorageLive(_2);                 // scope 0 at $DIR/sroa.rs:+1:5: +1:30
15           StorageLive(_3);                 // scope 0 at $DIR/sroa.rs:+1:7: +1:13
16           _3 = Tag(const 0_usize);         // scope 0 at $DIR/sroa.rs:+1:7: +1:13
17           StorageLive(_4);                 // scope 0 at $DIR/sroa.rs:+1:15: +1:21
18           _4 = Tag(const 1_usize);         // scope 0 at $DIR/sroa.rs:+1:15: +1:21
19           StorageLive(_5);                 // scope 0 at $DIR/sroa.rs:+1:23: +1:29
20           _5 = Tag(const 2_usize);         // scope 0 at $DIR/sroa.rs:+1:23: +1:29
21           _2 = S(move _3, move _4, move _5); // scope 0 at $DIR/sroa.rs:+1:5: +1:30
22           StorageDead(_5);                 // scope 0 at $DIR/sroa.rs:+1:29: +1:30
23           StorageDead(_4);                 // scope 0 at $DIR/sroa.rs:+1:29: +1:30
24           StorageDead(_3);                 // scope 0 at $DIR/sroa.rs:+1:29: +1:30
25           _1 = move (_2.1: Tag);           // scope 0 at $DIR/sroa.rs:+1:5: +1:32
26           drop(_1) -> bb1;                 // scope 0 at $DIR/sroa.rs:+1:32: +1:33
27       }
28   
29       bb1: {
30           drop((_2.0: Tag)) -> bb3;        // scope 0 at $DIR/sroa.rs:+1:32: +1:33
31       }
32   
33       bb2: {
34           StorageDead(_2);                 // scope 0 at $DIR/sroa.rs:+1:32: +1:33
35           StorageDead(_1);                 // scope 0 at $DIR/sroa.rs:+1:32: +1:33
36           _0 = const ();                   // scope 0 at $DIR/sroa.rs:+0:19: +2:2
37           return;                          // scope 0 at $DIR/sroa.rs:+2:2: +2:2
38       }
39   
40       bb3: {
41           drop((_2.2: Tag)) -> bb2;        // scope 0 at $DIR/sroa.rs:+1:32: +1:33
42       }
43   }
44