]>
Commit | Line | Data |
---|---|---|
6a06907d XL |
1 | // MIR for `main` 0 mir_map |
2 | ||
3 | | User Type Annotations | |
4 | | 0: Canonical { max_universe: U0, variables: [], value: Ty(*mut Test) } at $DIR/receiver-ptr-mutability.rs:14:14: 14:23 | |
5 | | 1: Canonical { max_universe: U0, variables: [], value: Ty(*mut Test) } at $DIR/receiver-ptr-mutability.rs:14:14: 14:23 | |
6 | | 2: Canonical { max_universe: U0, variables: [CanonicalVarInfo { kind: Region(U0) }, CanonicalVarInfo { kind: Region(U0) }, CanonicalVarInfo { kind: Region(U0) }, CanonicalVarInfo { kind: Region(U0) }], value: Ty(&&&&*mut Test) } at $DIR/receiver-ptr-mutability.rs:18:18: 18:31 | |
7 | | 3: Canonical { max_universe: U0, variables: [CanonicalVarInfo { kind: Region(U0) }, CanonicalVarInfo { kind: Region(U0) }, CanonicalVarInfo { kind: Region(U0) }, CanonicalVarInfo { kind: Region(U0) }], value: Ty(&&&&*mut Test) } at $DIR/receiver-ptr-mutability.rs:18:18: 18:31 | |
8 | | | |
9 | fn main() -> () { | |
10 | let mut _0: (); // return place in scope 0 at $DIR/receiver-ptr-mutability.rs:13:11: 13:11 | |
11 | let _1: *mut Test as UserTypeProjection { base: UserType(0), projs: [] }; // in scope 0 at $DIR/receiver-ptr-mutability.rs:14:9: 14:12 | |
12 | let _2: (); // in scope 0 at $DIR/receiver-ptr-mutability.rs:15:5: 15:12 | |
13 | let mut _3: *const Test; // in scope 0 at $DIR/receiver-ptr-mutability.rs:15:5: 15:8 | |
14 | let mut _4: *mut Test; // in scope 0 at $DIR/receiver-ptr-mutability.rs:15:5: 15:8 | |
15 | let _6: &&&&*mut Test; // in scope 0 at $DIR/receiver-ptr-mutability.rs:18:34: 18:41 | |
16 | let _7: &&&*mut Test; // in scope 0 at $DIR/receiver-ptr-mutability.rs:18:35: 18:41 | |
17 | let _8: &&*mut Test; // in scope 0 at $DIR/receiver-ptr-mutability.rs:18:36: 18:41 | |
18 | let _9: &*mut Test; // in scope 0 at $DIR/receiver-ptr-mutability.rs:18:37: 18:41 | |
19 | let _10: (); // in scope 0 at $DIR/receiver-ptr-mutability.rs:19:5: 19:16 | |
20 | let mut _11: *const Test; // in scope 0 at $DIR/receiver-ptr-mutability.rs:19:5: 19:12 | |
21 | let mut _12: *mut Test; // in scope 0 at $DIR/receiver-ptr-mutability.rs:19:5: 19:12 | |
22 | scope 1 { | |
23 | debug ptr => _1; // in scope 1 at $DIR/receiver-ptr-mutability.rs:14:9: 14:12 | |
24 | let _5: &&&&*mut Test as UserTypeProjection { base: UserType(2), projs: [] }; // in scope 1 at $DIR/receiver-ptr-mutability.rs:18:9: 18:16 | |
25 | scope 2 { | |
26 | debug ptr_ref => _5; // in scope 2 at $DIR/receiver-ptr-mutability.rs:18:9: 18:16 | |
27 | } | |
28 | } | |
29 | ||
30 | bb0: { | |
31 | StorageLive(_1); // scope 0 at $DIR/receiver-ptr-mutability.rs:14:9: 14:12 | |
32 | _1 = null_mut::<Test>() -> [return: bb1, unwind: bb4]; // scope 0 at $DIR/receiver-ptr-mutability.rs:14:26: 14:46 | |
33 | // mir::Constant | |
34 | // + span: $DIR/receiver-ptr-mutability.rs:14:26: 14:44 | |
35 | // + literal: Const { ty: fn() -> *mut Test {std::ptr::null_mut::<Test>}, val: Value(Scalar(<ZST>)) } | |
36 | } | |
37 | ||
38 | bb1: { | |
39 | FakeRead(ForLet, _1); // scope 0 at $DIR/receiver-ptr-mutability.rs:14:9: 14:12 | |
40 | AscribeUserType(_1, o, UserTypeProjection { base: UserType(1), projs: [] }); // scope 0 at $DIR/receiver-ptr-mutability.rs:14:14: 14:23 | |
41 | StorageLive(_2); // scope 1 at $DIR/receiver-ptr-mutability.rs:15:5: 15:12 | |
42 | StorageLive(_3); // scope 1 at $DIR/receiver-ptr-mutability.rs:15:5: 15:8 | |
43 | StorageLive(_4); // scope 1 at $DIR/receiver-ptr-mutability.rs:15:5: 15:8 | |
44 | _4 = _1; // scope 1 at $DIR/receiver-ptr-mutability.rs:15:5: 15:8 | |
45 | _3 = move _4 as *const Test (Pointer(MutToConstPointer)); // scope 1 at $DIR/receiver-ptr-mutability.rs:15:5: 15:8 | |
46 | StorageDead(_4); // scope 1 at $DIR/receiver-ptr-mutability.rs:15:7: 15:8 | |
47 | _2 = Test::x(move _3) -> [return: bb2, unwind: bb4]; // scope 1 at $DIR/receiver-ptr-mutability.rs:15:5: 15:12 | |
48 | // mir::Constant | |
49 | // + span: $DIR/receiver-ptr-mutability.rs:15:9: 15:10 | |
50 | // + literal: Const { ty: fn(*const Test) {Test::x}, val: Value(Scalar(<ZST>)) } | |
51 | } | |
52 | ||
53 | bb2: { | |
54 | StorageDead(_3); // scope 1 at $DIR/receiver-ptr-mutability.rs:15:11: 15:12 | |
55 | StorageDead(_2); // scope 1 at $DIR/receiver-ptr-mutability.rs:15:12: 15:13 | |
56 | StorageLive(_5); // scope 1 at $DIR/receiver-ptr-mutability.rs:18:9: 18:16 | |
57 | StorageLive(_6); // scope 1 at $DIR/receiver-ptr-mutability.rs:18:34: 18:41 | |
58 | StorageLive(_7); // scope 1 at $DIR/receiver-ptr-mutability.rs:18:35: 18:41 | |
59 | StorageLive(_8); // scope 1 at $DIR/receiver-ptr-mutability.rs:18:36: 18:41 | |
60 | StorageLive(_9); // scope 1 at $DIR/receiver-ptr-mutability.rs:18:37: 18:41 | |
61 | _9 = &_1; // scope 1 at $DIR/receiver-ptr-mutability.rs:18:37: 18:41 | |
62 | _8 = &_9; // scope 1 at $DIR/receiver-ptr-mutability.rs:18:36: 18:41 | |
63 | _7 = &_8; // scope 1 at $DIR/receiver-ptr-mutability.rs:18:35: 18:41 | |
64 | _6 = &_7; // scope 1 at $DIR/receiver-ptr-mutability.rs:18:34: 18:41 | |
65 | _5 = &(*_6); // scope 1 at $DIR/receiver-ptr-mutability.rs:18:34: 18:41 | |
66 | FakeRead(ForLet, _5); // scope 1 at $DIR/receiver-ptr-mutability.rs:18:9: 18:16 | |
67 | AscribeUserType(_5, o, UserTypeProjection { base: UserType(3), projs: [] }); // scope 1 at $DIR/receiver-ptr-mutability.rs:18:18: 18:31 | |
68 | StorageDead(_6); // scope 1 at $DIR/receiver-ptr-mutability.rs:18:41: 18:42 | |
69 | StorageLive(_10); // scope 2 at $DIR/receiver-ptr-mutability.rs:19:5: 19:16 | |
70 | StorageLive(_11); // scope 2 at $DIR/receiver-ptr-mutability.rs:19:5: 19:12 | |
71 | StorageLive(_12); // scope 2 at $DIR/receiver-ptr-mutability.rs:19:5: 19:12 | |
72 | _12 = (*(*(*(*_5)))); // scope 2 at $DIR/receiver-ptr-mutability.rs:19:5: 19:12 | |
73 | _11 = move _12 as *const Test (Pointer(MutToConstPointer)); // scope 2 at $DIR/receiver-ptr-mutability.rs:19:5: 19:12 | |
74 | StorageDead(_12); // scope 2 at $DIR/receiver-ptr-mutability.rs:19:11: 19:12 | |
75 | _10 = Test::x(move _11) -> [return: bb3, unwind: bb4]; // scope 2 at $DIR/receiver-ptr-mutability.rs:19:5: 19:16 | |
76 | // mir::Constant | |
77 | // + span: $DIR/receiver-ptr-mutability.rs:19:13: 19:14 | |
78 | // + literal: Const { ty: fn(*const Test) {Test::x}, val: Value(Scalar(<ZST>)) } | |
79 | } | |
80 | ||
81 | bb3: { | |
82 | StorageDead(_11); // scope 2 at $DIR/receiver-ptr-mutability.rs:19:15: 19:16 | |
83 | StorageDead(_10); // scope 2 at $DIR/receiver-ptr-mutability.rs:19:16: 19:17 | |
84 | _0 = const (); // scope 0 at $DIR/receiver-ptr-mutability.rs:13:11: 20:2 | |
85 | StorageDead(_9); // scope 1 at $DIR/receiver-ptr-mutability.rs:20:1: 20:2 | |
86 | StorageDead(_8); // scope 1 at $DIR/receiver-ptr-mutability.rs:20:1: 20:2 | |
87 | StorageDead(_7); // scope 1 at $DIR/receiver-ptr-mutability.rs:20:1: 20:2 | |
88 | StorageDead(_5); // scope 1 at $DIR/receiver-ptr-mutability.rs:20:1: 20:2 | |
89 | StorageDead(_1); // scope 0 at $DIR/receiver-ptr-mutability.rs:20:1: 20:2 | |
90 | return; // scope 0 at $DIR/receiver-ptr-mutability.rs:20:2: 20:2 | |
91 | } | |
92 | ||
93 | bb4 (cleanup): { | |
94 | resume; // scope 0 at $DIR/receiver-ptr-mutability.rs:13:1: 20:2 | |
95 | } | |
96 | } |