]> git.lizzy.rs Git - rust.git/blob - src/test/mir-opt/const_prop/invalid_constant.main.ConstProp.diff
Support pretty printing of invalid constants
[rust.git] / src / test / mir-opt / const_prop / invalid_constant.main.ConstProp.diff
1 - // MIR for `main` before ConstProp
2 + // MIR for `main` after ConstProp
3   
4   fn main() -> () {
5       let mut _0: ();                      // return place in scope 0 at $DIR/invalid_constant.rs:15:11: 15:11
6       let _1: std::option::Option<()>;     // in scope 0 at $DIR/invalid_constant.rs:16:5: 16:12
7       let mut _2: std::option::Option<std::option::Option<()>>; // in scope 0 at $DIR/invalid_constant.rs:16:7: 16:11
8       scope 1 (inlined f) {                // at $DIR/invalid_constant.rs:16:5: 16:12
9           debug x => _2;                   // in scope 1 at $DIR/invalid_constant.rs:16:5: 16:12
10           let mut _3: isize;               // in scope 1 at $DIR/invalid_constant.rs:16:5: 16:12
11           let _4: std::option::Option<()>; // in scope 1 at $DIR/invalid_constant.rs:16:5: 16:12
12           scope 2 {
13               debug y => _4;               // in scope 2 at $DIR/invalid_constant.rs:16:5: 16:12
14           }
15       }
16   
17       bb0: {
18           discriminant(_2) = 0;            // scope 0 at $DIR/invalid_constant.rs:16:7: 16:11
19 -         _3 = discriminant(_2);           // scope 1 at $DIR/invalid_constant.rs:16:5: 16:12
20 -         switchInt(move _3) -> [0_isize: bb3, otherwise: bb2]; // scope 1 at $DIR/invalid_constant.rs:16:5: 16:12
21 +         _3 = const 0_isize;              // scope 1 at $DIR/invalid_constant.rs:16:5: 16:12
22 +         switchInt(const 0_isize) -> [0_isize: bb3, otherwise: bb2]; // scope 1 at $DIR/invalid_constant.rs:16:5: 16:12
23       }
24   
25       bb1: {
26           nop;                             // scope 0 at $DIR/invalid_constant.rs:15:11: 17:2
27           return;                          // scope 0 at $DIR/invalid_constant.rs:17:2: 17:2
28       }
29   
30       bb2: {
31 -         _4 = ((_2 as Some).0: std::option::Option<()>); // scope 1 at $DIR/invalid_constant.rs:16:5: 16:12
32 -         _1 = _4;                         // scope 2 at $DIR/invalid_constant.rs:16:5: 16:12
33 +         _4 = const Scalar(0x02): Option::<()>; // scope 1 at $DIR/invalid_constant.rs:16:5: 16:12
34 +                                          // ty::Const
35 +                                          // + ty: std::option::Option<()>
36 +                                          // + val: Value(Scalar(0x02))
37 +                                          // mir::Constant
38 +                                          // + span: $DIR/invalid_constant.rs:16:5: 16:12
39 +                                          // + literal: Const { ty: std::option::Option<()>, val: Value(Scalar(0x02)) }
40 +         _1 = const Scalar(0x02): Option::<()>; // scope 2 at $DIR/invalid_constant.rs:16:5: 16:12
41 +                                          // ty::Const
42 +                                          // + ty: std::option::Option<()>
43 +                                          // + val: Value(Scalar(0x02))
44 +                                          // mir::Constant
45 +                                          // + span: $DIR/invalid_constant.rs:16:5: 16:12
46 +                                          // + literal: Const { ty: std::option::Option<()>, val: Value(Scalar(0x02)) }
47           goto -> bb1;                     // scope 0 at $DIR/invalid_constant.rs:10:20: 10:21
48       }
49   
50       bb3: {
51           discriminant(_1) = 0;            // scope 1 at $DIR/invalid_constant.rs:16:5: 16:12
52           goto -> bb1;                     // scope 0 at $DIR/invalid_constant.rs:9:17: 9:21
53       }
54   }
55