]> git.lizzy.rs Git - rust.git/blob - tests/mir-opt/const_prop/slice_len.main.ConstProp.64bit.diff
Auto merge of #107443 - cjgillot:generator-less-query, r=compiler-errors
[rust.git] / tests / mir-opt / const_prop / slice_len.main.ConstProp.64bit.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/slice_len.rs:+0:11: +0:11
6       let _1: u32;                         // in scope 0 at $DIR/slice_len.rs:+1:5: +1:33
7       let mut _2: &[u32];                  // in scope 0 at $DIR/slice_len.rs:+1:5: +1:30
8       let mut _3: &[u32; 3];               // in scope 0 at $DIR/slice_len.rs:+1:6: +1:19
9       let _4: &[u32; 3];                   // in scope 0 at $DIR/slice_len.rs:+1:6: +1:19
10       let _5: [u32; 3];                    // in scope 0 at $DIR/slice_len.rs:+1:7: +1:19
11       let _6: usize;                       // in scope 0 at $DIR/slice_len.rs:+1:31: +1:32
12       let mut _7: usize;                   // in scope 0 at $DIR/slice_len.rs:+1:5: +1:33
13       let mut _8: bool;                    // in scope 0 at $DIR/slice_len.rs:+1:5: +1:33
14       let mut _9: &[u32; 3];               // in scope 0 at $DIR/slice_len.rs:+1:6: +1:19
15   
16       bb0: {
17           StorageLive(_1);                 // scope 0 at $DIR/slice_len.rs:+1:5: +1:33
18           StorageLive(_2);                 // scope 0 at $DIR/slice_len.rs:+1:5: +1:30
19           StorageLive(_3);                 // scope 0 at $DIR/slice_len.rs:+1:6: +1:19
20           StorageLive(_4);                 // scope 0 at $DIR/slice_len.rs:+1:6: +1:19
21           _9 = const _;                    // scope 0 at $DIR/slice_len.rs:+1:6: +1:19
22                                            // mir::Constant
23                                            // + span: $DIR/slice_len.rs:7:6: 7:19
24                                            // + literal: Const { ty: &[u32; 3], val: Unevaluated(main, [], Some(promoted[0])) }
25           _4 = _9;                         // scope 0 at $DIR/slice_len.rs:+1:6: +1:19
26           _3 = _4;                         // scope 0 at $DIR/slice_len.rs:+1:6: +1:19
27           _2 = move _3 as &[u32] (Pointer(Unsize)); // scope 0 at $DIR/slice_len.rs:+1:6: +1:19
28           StorageDead(_3);                 // scope 0 at $DIR/slice_len.rs:+1:18: +1:19
29           StorageLive(_6);                 // scope 0 at $DIR/slice_len.rs:+1:31: +1:32
30           _6 = const 1_usize;              // scope 0 at $DIR/slice_len.rs:+1:31: +1:32
31 -         _7 = Len((*_2));                 // scope 0 at $DIR/slice_len.rs:+1:5: +1:33
32 -         _8 = Lt(_6, _7);                 // scope 0 at $DIR/slice_len.rs:+1:5: +1:33
33 -         assert(move _8, "index out of bounds: the length is {} but the index is {}", move _7, _6) -> bb1; // scope 0 at $DIR/slice_len.rs:+1:5: +1:33
34 +         _7 = const 3_usize;              // scope 0 at $DIR/slice_len.rs:+1:5: +1:33
35 +         _8 = const true;                 // scope 0 at $DIR/slice_len.rs:+1:5: +1:33
36 +         assert(const true, "index out of bounds: the length is {} but the index is {}", move _7, _6) -> bb1; // scope 0 at $DIR/slice_len.rs:+1:5: +1:33
37       }
38   
39       bb1: {
40 -         _1 = (*_2)[_6];                  // scope 0 at $DIR/slice_len.rs:+1:5: +1:33
41 +         _1 = const 2_u32;                // scope 0 at $DIR/slice_len.rs:+1:5: +1:33
42           StorageDead(_6);                 // scope 0 at $DIR/slice_len.rs:+1:33: +1:34
43           StorageDead(_4);                 // scope 0 at $DIR/slice_len.rs:+1:33: +1:34
44           StorageDead(_2);                 // scope 0 at $DIR/slice_len.rs:+1:33: +1:34
45           StorageDead(_1);                 // scope 0 at $DIR/slice_len.rs:+1:33: +1:34
46           _0 = const ();                   // scope 0 at $DIR/slice_len.rs:+0:11: +2:2
47           return;                          // scope 0 at $DIR/slice_len.rs:+2:2: +2:2
48       }
49   }
50