|
4 | 4 | static mut FOO: *const &i32 = {
|
5 | 5 | let mut _0: *const &i32; // return place in scope 0 at $DIR/const-promotion-extern-static.rs:13:17: 13:28
|
6 | 6 | let mut _1: &[&i32]; // in scope 0 at $DIR/const-promotion-extern-static.rs:13:31: 13:55
|
7 |
| - let mut _2: &[&i32; 1]; // in scope 0 at $DIR/const-promotion-extern-static.rs:13:31: 13:55 |
8 |
| - let _3: [&i32; 1]; // in scope 0 at $DIR/const-promotion-extern-static.rs:13:31: 13:46 |
9 |
| - let mut _4: &i32; // in scope 0 at $DIR/const-promotion-extern-static.rs:13:32: 13:45 |
10 |
| - let _5: *const i32; // in scope 0 at $DIR/const-promotion-extern-static.rs:13:42: 13:43 |
11 |
| -+ let mut _6: &[&i32; 1]; // in scope 0 at $DIR/const-promotion-extern-static.rs:13:31: 13:55 |
| 7 | + let _2: &[&i32]; // in scope 0 at $DIR/const-promotion-extern-static.rs:13:31: 13:55 |
| 8 | + let mut _3: &[&i32; 1]; // in scope 0 at $DIR/const-promotion-extern-static.rs:13:31: 13:55 |
| 9 | + let _4: [&i32; 1]; // in scope 0 at $DIR/const-promotion-extern-static.rs:13:31: 13:46 |
| 10 | + let mut _5: &i32; // in scope 0 at $DIR/const-promotion-extern-static.rs:13:32: 13:45 |
| 11 | + let _6: *const i32; // in scope 0 at $DIR/const-promotion-extern-static.rs:13:42: 13:43 |
| 12 | ++ let mut _7: &[&i32; 1]; // in scope 0 at $DIR/const-promotion-extern-static.rs:13:31: 13:55 |
12 | 13 | scope 1 {
|
13 | 14 | }
|
14 | 15 |
|
15 | 16 | bb0: {
|
16 | 17 | StorageLive(_1); // scope 0 at $DIR/const-promotion-extern-static.rs:13:31: 13:55
|
17 | 18 | StorageLive(_2); // scope 0 at $DIR/const-promotion-extern-static.rs:13:31: 13:55
|
18 |
| -- StorageLive(_3); // scope 0 at $DIR/const-promotion-extern-static.rs:13:31: 13:46 |
19 |
| -- StorageLive(_4); // scope 0 at $DIR/const-promotion-extern-static.rs:13:32: 13:45 |
20 |
| -- StorageLive(_5); // scope 1 at $DIR/const-promotion-extern-static.rs:13:42: 13:43 |
21 |
| -- _5 = const {alloc3: *const i32}; // scope 1 at $DIR/const-promotion-extern-static.rs:13:42: 13:43 |
22 |
| -+ _6 = const FOO::promoted[0]; // scope 0 at $DIR/const-promotion-extern-static.rs:13:31: 13:55 |
| 19 | + StorageLive(_3); // scope 0 at $DIR/const-promotion-extern-static.rs:13:31: 13:55 |
| 20 | +- StorageLive(_4); // scope 0 at $DIR/const-promotion-extern-static.rs:13:31: 13:46 |
| 21 | +- StorageLive(_5); // scope 0 at $DIR/const-promotion-extern-static.rs:13:32: 13:45 |
| 22 | +- StorageLive(_6); // scope 1 at $DIR/const-promotion-extern-static.rs:13:42: 13:43 |
| 23 | +- _6 = const {alloc3: *const i32}; // scope 1 at $DIR/const-promotion-extern-static.rs:13:42: 13:43 |
| 24 | ++ _7 = const FOO::promoted[0]; // scope 0 at $DIR/const-promotion-extern-static.rs:13:31: 13:55 |
23 | 25 | // ty::Const
|
24 | 26 | - // + ty: *const i32
|
25 | 27 | - // + val: Value(Scalar(alloc3))
|
|
28 | 30 | // mir::Constant
|
29 | 31 | - // + span: $DIR/const-promotion-extern-static.rs:13:42: 13:43
|
30 | 32 | - // + literal: Const { ty: *const i32, val: Value(Scalar(alloc3)) }
|
31 |
| -- _4 = &(*_5); // scope 1 at $DIR/const-promotion-extern-static.rs:13:41: 13:43 |
32 |
| -- _3 = [move _4]; // scope 0 at $DIR/const-promotion-extern-static.rs:13:31: 13:46 |
33 |
| -- _2 = &_3; // scope 0 at $DIR/const-promotion-extern-static.rs:13:31: 13:55 |
| 33 | +- _5 = &(*_6); // scope 1 at $DIR/const-promotion-extern-static.rs:13:41: 13:43 |
| 34 | +- _4 = [move _5]; // scope 0 at $DIR/const-promotion-extern-static.rs:13:31: 13:46 |
| 35 | +- _3 = &_4; // scope 0 at $DIR/const-promotion-extern-static.rs:13:31: 13:55 |
34 | 36 | + // + span: $DIR/const-promotion-extern-static.rs:13:31: 13:55
|
35 | 37 | + // + literal: Const { ty: &[&i32; 1], val: Unevaluated(Unevaluated { def: WithOptConstParam { did: DefId(0:7 ~ const_promotion_extern_static[HASH]::FOO), const_param_did: None }, substs_: Some([]), promoted: Some(promoted[0]) }) }
|
36 |
| -+ _2 = &(*_6); // scope 0 at $DIR/const-promotion-extern-static.rs:13:31: 13:55 |
37 |
| - _1 = move _2 as &[&i32] (Pointer(Unsize)); // scope 0 at $DIR/const-promotion-extern-static.rs:13:31: 13:55 |
38 |
| -- StorageDead(_4); // scope 0 at $DIR/const-promotion-extern-static.rs:13:45: 13:46 |
39 |
| - StorageDead(_2); // scope 0 at $DIR/const-promotion-extern-static.rs:13:45: 13:46 |
| 38 | ++ _3 = &(*_7); // scope 0 at $DIR/const-promotion-extern-static.rs:13:31: 13:55 |
| 39 | + _2 = move _3 as &[&i32] (Pointer(Unsize)); // scope 0 at $DIR/const-promotion-extern-static.rs:13:31: 13:55 |
| 40 | + _1 = &(*_2); // scope 0 at $DIR/const-promotion-extern-static.rs:13:31: 13:55 |
| 41 | +- StorageDead(_5); // scope 0 at $DIR/const-promotion-extern-static.rs:13:45: 13:46 |
| 42 | + StorageDead(_3); // scope 0 at $DIR/const-promotion-extern-static.rs:13:45: 13:46 |
40 | 43 | _0 = core::slice::<impl [&i32]>::as_ptr(move _1) -> [return: bb1, unwind: bb2]; // scope 0 at $DIR/const-promotion-extern-static.rs:13:31: 13:55
|
41 | 44 | // mir::Constant
|
42 | 45 | // + span: $DIR/const-promotion-extern-static.rs:13:47: 13:53
|
43 | 46 | // + literal: Const { ty: for<'r> fn(&'r [&i32]) -> *const &i32 {core::slice::<impl [&i32]>::as_ptr}, val: Value(Scalar(<ZST>)) }
|
44 | 47 | }
|
45 | 48 |
|
46 | 49 | bb1: {
|
47 |
| -- StorageDead(_5); // scope 0 at $DIR/const-promotion-extern-static.rs:13:54: 13:55 |
48 |
| -- StorageDead(_3); // scope 0 at $DIR/const-promotion-extern-static.rs:13:54: 13:55 |
| 50 | +- StorageDead(_6); // scope 0 at $DIR/const-promotion-extern-static.rs:13:54: 13:55 |
| 51 | +- StorageDead(_4); // scope 0 at $DIR/const-promotion-extern-static.rs:13:54: 13:55 |
| 52 | + StorageDead(_2); // scope 0 at $DIR/const-promotion-extern-static.rs:13:54: 13:55 |
49 | 53 | StorageDead(_1); // scope 0 at $DIR/const-promotion-extern-static.rs:13:54: 13:55
|
50 | 54 | return; // scope 0 at $DIR/const-promotion-extern-static.rs:13:1: 13:56
|
51 | 55 | }
|
|
0 commit comments