]> git.lizzy.rs Git - rust.git/blob - src/test/mir-opt/deaggregator_test_enum_2/rustc.test1.Deaggregator.diff
Fix wrong argument in autoderef process
[rust.git] / src / test / mir-opt / deaggregator_test_enum_2 / rustc.test1.Deaggregator.diff
1 - // MIR for `test1` before Deaggregator
2 + // MIR for `test1` after Deaggregator
3   
4   fn test1(_1: bool, _2: i32) -> Foo {
5       debug x => _1;                       // in scope 0 at $DIR/deaggregator_test_enum_2.rs:9:10: 9:11
6       debug y => _2;                       // in scope 0 at $DIR/deaggregator_test_enum_2.rs:9:19: 9:20
7       let mut _0: Foo;                     // return place in scope 0 at $DIR/deaggregator_test_enum_2.rs:9:30: 9:33
8       let mut _3: bool;                    // in scope 0 at $DIR/deaggregator_test_enum_2.rs:10:8: 10:9
9       let mut _4: i32;                     // in scope 0 at $DIR/deaggregator_test_enum_2.rs:11:16: 11:17
10       let mut _5: i32;                     // in scope 0 at $DIR/deaggregator_test_enum_2.rs:13:16: 13:17
11   
12       bb0: {
13           StorageLive(_3);                 // bb0[0]: scope 0 at $DIR/deaggregator_test_enum_2.rs:10:8: 10:9
14           _3 = _1;                         // bb0[1]: scope 0 at $DIR/deaggregator_test_enum_2.rs:10:8: 10:9
15           switchInt(_3) -> [false: bb1, otherwise: bb2]; // bb0[2]: scope 0 at $DIR/deaggregator_test_enum_2.rs:10:5: 14:6
16       }
17   
18       bb1: {
19           StorageLive(_5);                 // bb1[0]: scope 0 at $DIR/deaggregator_test_enum_2.rs:13:16: 13:17
20           _5 = _2;                         // bb1[1]: scope 0 at $DIR/deaggregator_test_enum_2.rs:13:16: 13:17
21 -         _0 = Foo::B(move _5);            // bb1[2]: scope 0 at $DIR/deaggregator_test_enum_2.rs:13:9: 13:18
22 -         StorageDead(_5);                 // bb1[3]: scope 0 at $DIR/deaggregator_test_enum_2.rs:13:17: 13:18
23 -         goto -> bb3;                     // bb1[4]: scope 0 at $DIR/deaggregator_test_enum_2.rs:10:5: 14:6
24 +         ((_0 as B).0: i32) = move _5;    // bb1[2]: scope 0 at $DIR/deaggregator_test_enum_2.rs:13:9: 13:18
25 +         discriminant(_0) = 1;            // bb1[3]: scope 0 at $DIR/deaggregator_test_enum_2.rs:13:9: 13:18
26 +         StorageDead(_5);                 // bb1[4]: scope 0 at $DIR/deaggregator_test_enum_2.rs:13:17: 13:18
27 +         goto -> bb3;                     // bb1[5]: scope 0 at $DIR/deaggregator_test_enum_2.rs:10:5: 14:6
28       }
29   
30       bb2: {
31           StorageLive(_4);                 // bb2[0]: scope 0 at $DIR/deaggregator_test_enum_2.rs:11:16: 11:17
32           _4 = _2;                         // bb2[1]: scope 0 at $DIR/deaggregator_test_enum_2.rs:11:16: 11:17
33 -         _0 = Foo::A(move _4);            // bb2[2]: scope 0 at $DIR/deaggregator_test_enum_2.rs:11:9: 11:18
34 -         StorageDead(_4);                 // bb2[3]: scope 0 at $DIR/deaggregator_test_enum_2.rs:11:17: 11:18
35 -         goto -> bb3;                     // bb2[4]: scope 0 at $DIR/deaggregator_test_enum_2.rs:10:5: 14:6
36 +         ((_0 as A).0: i32) = move _4;    // bb2[2]: scope 0 at $DIR/deaggregator_test_enum_2.rs:11:9: 11:18
37 +         discriminant(_0) = 0;            // bb2[3]: scope 0 at $DIR/deaggregator_test_enum_2.rs:11:9: 11:18
38 +         StorageDead(_4);                 // bb2[4]: scope 0 at $DIR/deaggregator_test_enum_2.rs:11:17: 11:18
39 +         goto -> bb3;                     // bb2[5]: scope 0 at $DIR/deaggregator_test_enum_2.rs:10:5: 14:6
40       }
41   
42       bb3: {
43           StorageDead(_3);                 // bb3[0]: scope 0 at $DIR/deaggregator_test_enum_2.rs:15:1: 15:2
44           return;                          // bb3[1]: scope 0 at $DIR/deaggregator_test_enum_2.rs:15:2: 15:2
45       }
46   }
47