Auto merge of #103904 - JakobDegen:mir-opt-dash, r=oli-obk
Ban dashes in miropt test file names Dashes in miropt test file names are annoying - specifically, they cause the test files to not be sorted next to their outputs, which makes it very difficult to tell what goes with what. This PR changes all files to use underscores and adds a blessable tidy check that enforces this. r? `@jyn514` This PR is obviously going to bitrot very quickly. Because of this, I'm going to wait at least 48 hours and until review comes back to allow people from `@rust-lang/wg-mir-opt` or elsewhere to lodge complaints if there are any. If not, I'll rebase the branch on Friday afternoon PST and ask that it be `r+`'d with `p=1` at that time.
This commit is contained in:
commit
160b194295
198 changed files with 3299 additions and 3262 deletions
|
@ -1052,6 +1052,9 @@ impl Step for Tidy {
|
|||
if builder.is_verbose() {
|
||||
cmd.arg("--verbose");
|
||||
}
|
||||
if builder.config.cmd.bless() {
|
||||
cmd.arg("--bless");
|
||||
}
|
||||
|
||||
builder.info("tidy check");
|
||||
try_run(builder, &mut cmd);
|
||||
|
|
|
@ -1,115 +1,115 @@
|
|||
// MIR for `address_of_reborrow` after SimplifyCfg-initial
|
||||
|
||||
| User Type Annotations
|
||||
| 0: user_ty: Canonical { max_universe: U0, variables: [CanonicalVarInfo { kind: Ty(General(U0)) }], value: Ty(*const ^0) }, span: $DIR/address-of.rs:7:5: 7:18, inferred_ty: *const [i32; 10]
|
||||
| 1: user_ty: Canonical { max_universe: U0, variables: [CanonicalVarInfo { kind: Region(U0) }], value: Ty(*const dyn std::marker::Send) }, span: $DIR/address-of.rs:9:5: 9:25, inferred_ty: *const dyn std::marker::Send
|
||||
| 2: user_ty: Canonical { max_universe: U0, variables: [CanonicalVarInfo { kind: Ty(General(U0)) }], value: Ty(*const ^0) }, span: $DIR/address-of.rs:13:12: 13:20, inferred_ty: *const [i32; 10]
|
||||
| 3: user_ty: Canonical { max_universe: U0, variables: [CanonicalVarInfo { kind: Ty(General(U0)) }], value: Ty(*const ^0) }, span: $DIR/address-of.rs:13:12: 13:20, inferred_ty: *const [i32; 10]
|
||||
| 4: user_ty: Canonical { max_universe: U0, variables: [], value: Ty(*const [i32; 10]) }, span: $DIR/address-of.rs:14:12: 14:28, inferred_ty: *const [i32; 10]
|
||||
| 5: user_ty: Canonical { max_universe: U0, variables: [], value: Ty(*const [i32; 10]) }, span: $DIR/address-of.rs:14:12: 14:28, inferred_ty: *const [i32; 10]
|
||||
| 6: user_ty: Canonical { max_universe: U0, variables: [CanonicalVarInfo { kind: Region(U0) }], value: Ty(*const dyn std::marker::Send) }, span: $DIR/address-of.rs:15:12: 15:27, inferred_ty: *const dyn std::marker::Send
|
||||
| 7: user_ty: Canonical { max_universe: U0, variables: [CanonicalVarInfo { kind: Region(U0) }], value: Ty(*const dyn std::marker::Send) }, span: $DIR/address-of.rs:15:12: 15:27, inferred_ty: *const dyn std::marker::Send
|
||||
| 8: user_ty: Canonical { max_universe: U0, variables: [], value: Ty(*const [i32]) }, span: $DIR/address-of.rs:16:12: 16:24, inferred_ty: *const [i32]
|
||||
| 9: user_ty: Canonical { max_universe: U0, variables: [], value: Ty(*const [i32]) }, span: $DIR/address-of.rs:16:12: 16:24, inferred_ty: *const [i32]
|
||||
| 10: user_ty: Canonical { max_universe: U0, variables: [CanonicalVarInfo { kind: Ty(General(U0)) }], value: Ty(*const ^0) }, span: $DIR/address-of.rs:18:5: 18:18, inferred_ty: *const [i32; 10]
|
||||
| 11: user_ty: Canonical { max_universe: U0, variables: [CanonicalVarInfo { kind: Region(U0) }], value: Ty(*const dyn std::marker::Send) }, span: $DIR/address-of.rs:20:5: 20:25, inferred_ty: *const dyn std::marker::Send
|
||||
| 12: user_ty: Canonical { max_universe: U0, variables: [CanonicalVarInfo { kind: Ty(General(U0)) }], value: Ty(*const ^0) }, span: $DIR/address-of.rs:23:12: 23:20, inferred_ty: *const [i32; 10]
|
||||
| 13: user_ty: Canonical { max_universe: U0, variables: [CanonicalVarInfo { kind: Ty(General(U0)) }], value: Ty(*const ^0) }, span: $DIR/address-of.rs:23:12: 23:20, inferred_ty: *const [i32; 10]
|
||||
| 14: user_ty: Canonical { max_universe: U0, variables: [], value: Ty(*const [i32; 10]) }, span: $DIR/address-of.rs:24:12: 24:28, inferred_ty: *const [i32; 10]
|
||||
| 15: user_ty: Canonical { max_universe: U0, variables: [], value: Ty(*const [i32; 10]) }, span: $DIR/address-of.rs:24:12: 24:28, inferred_ty: *const [i32; 10]
|
||||
| 16: user_ty: Canonical { max_universe: U0, variables: [CanonicalVarInfo { kind: Region(U0) }], value: Ty(*const dyn std::marker::Send) }, span: $DIR/address-of.rs:25:12: 25:27, inferred_ty: *const dyn std::marker::Send
|
||||
| 17: user_ty: Canonical { max_universe: U0, variables: [CanonicalVarInfo { kind: Region(U0) }], value: Ty(*const dyn std::marker::Send) }, span: $DIR/address-of.rs:25:12: 25:27, inferred_ty: *const dyn std::marker::Send
|
||||
| 18: user_ty: Canonical { max_universe: U0, variables: [], value: Ty(*const [i32]) }, span: $DIR/address-of.rs:26:12: 26:24, inferred_ty: *const [i32]
|
||||
| 19: user_ty: Canonical { max_universe: U0, variables: [], value: Ty(*const [i32]) }, span: $DIR/address-of.rs:26:12: 26:24, inferred_ty: *const [i32]
|
||||
| 20: user_ty: Canonical { max_universe: U0, variables: [CanonicalVarInfo { kind: Ty(General(U0)) }], value: Ty(*mut ^0) }, span: $DIR/address-of.rs:28:5: 28:16, inferred_ty: *mut [i32; 10]
|
||||
| 21: user_ty: Canonical { max_universe: U0, variables: [CanonicalVarInfo { kind: Region(U0) }], value: Ty(*mut dyn std::marker::Send) }, span: $DIR/address-of.rs:30:5: 30:23, inferred_ty: *mut dyn std::marker::Send
|
||||
| 22: user_ty: Canonical { max_universe: U0, variables: [CanonicalVarInfo { kind: Ty(General(U0)) }], value: Ty(*mut ^0) }, span: $DIR/address-of.rs:33:12: 33:18, inferred_ty: *mut [i32; 10]
|
||||
| 23: user_ty: Canonical { max_universe: U0, variables: [CanonicalVarInfo { kind: Ty(General(U0)) }], value: Ty(*mut ^0) }, span: $DIR/address-of.rs:33:12: 33:18, inferred_ty: *mut [i32; 10]
|
||||
| 24: user_ty: Canonical { max_universe: U0, variables: [], value: Ty(*mut [i32; 10]) }, span: $DIR/address-of.rs:34:12: 34:26, inferred_ty: *mut [i32; 10]
|
||||
| 25: user_ty: Canonical { max_universe: U0, variables: [], value: Ty(*mut [i32; 10]) }, span: $DIR/address-of.rs:34:12: 34:26, inferred_ty: *mut [i32; 10]
|
||||
| 26: user_ty: Canonical { max_universe: U0, variables: [CanonicalVarInfo { kind: Region(U0) }], value: Ty(*mut dyn std::marker::Send) }, span: $DIR/address-of.rs:35:12: 35:25, inferred_ty: *mut dyn std::marker::Send
|
||||
| 27: user_ty: Canonical { max_universe: U0, variables: [CanonicalVarInfo { kind: Region(U0) }], value: Ty(*mut dyn std::marker::Send) }, span: $DIR/address-of.rs:35:12: 35:25, inferred_ty: *mut dyn std::marker::Send
|
||||
| 28: user_ty: Canonical { max_universe: U0, variables: [], value: Ty(*mut [i32]) }, span: $DIR/address-of.rs:36:12: 36:22, inferred_ty: *mut [i32]
|
||||
| 29: user_ty: Canonical { max_universe: U0, variables: [], value: Ty(*mut [i32]) }, span: $DIR/address-of.rs:36:12: 36:22, inferred_ty: *mut [i32]
|
||||
| 0: user_ty: Canonical { max_universe: U0, variables: [CanonicalVarInfo { kind: Ty(General(U0)) }], value: Ty(*const ^0) }, span: $DIR/address_of.rs:7:5: 7:18, inferred_ty: *const [i32; 10]
|
||||
| 1: user_ty: Canonical { max_universe: U0, variables: [CanonicalVarInfo { kind: Region(U0) }], value: Ty(*const dyn std::marker::Send) }, span: $DIR/address_of.rs:9:5: 9:25, inferred_ty: *const dyn std::marker::Send
|
||||
| 2: user_ty: Canonical { max_universe: U0, variables: [CanonicalVarInfo { kind: Ty(General(U0)) }], value: Ty(*const ^0) }, span: $DIR/address_of.rs:13:12: 13:20, inferred_ty: *const [i32; 10]
|
||||
| 3: user_ty: Canonical { max_universe: U0, variables: [CanonicalVarInfo { kind: Ty(General(U0)) }], value: Ty(*const ^0) }, span: $DIR/address_of.rs:13:12: 13:20, inferred_ty: *const [i32; 10]
|
||||
| 4: user_ty: Canonical { max_universe: U0, variables: [], value: Ty(*const [i32; 10]) }, span: $DIR/address_of.rs:14:12: 14:28, inferred_ty: *const [i32; 10]
|
||||
| 5: user_ty: Canonical { max_universe: U0, variables: [], value: Ty(*const [i32; 10]) }, span: $DIR/address_of.rs:14:12: 14:28, inferred_ty: *const [i32; 10]
|
||||
| 6: user_ty: Canonical { max_universe: U0, variables: [CanonicalVarInfo { kind: Region(U0) }], value: Ty(*const dyn std::marker::Send) }, span: $DIR/address_of.rs:15:12: 15:27, inferred_ty: *const dyn std::marker::Send
|
||||
| 7: user_ty: Canonical { max_universe: U0, variables: [CanonicalVarInfo { kind: Region(U0) }], value: Ty(*const dyn std::marker::Send) }, span: $DIR/address_of.rs:15:12: 15:27, inferred_ty: *const dyn std::marker::Send
|
||||
| 8: user_ty: Canonical { max_universe: U0, variables: [], value: Ty(*const [i32]) }, span: $DIR/address_of.rs:16:12: 16:24, inferred_ty: *const [i32]
|
||||
| 9: user_ty: Canonical { max_universe: U0, variables: [], value: Ty(*const [i32]) }, span: $DIR/address_of.rs:16:12: 16:24, inferred_ty: *const [i32]
|
||||
| 10: user_ty: Canonical { max_universe: U0, variables: [CanonicalVarInfo { kind: Ty(General(U0)) }], value: Ty(*const ^0) }, span: $DIR/address_of.rs:18:5: 18:18, inferred_ty: *const [i32; 10]
|
||||
| 11: user_ty: Canonical { max_universe: U0, variables: [CanonicalVarInfo { kind: Region(U0) }], value: Ty(*const dyn std::marker::Send) }, span: $DIR/address_of.rs:20:5: 20:25, inferred_ty: *const dyn std::marker::Send
|
||||
| 12: user_ty: Canonical { max_universe: U0, variables: [CanonicalVarInfo { kind: Ty(General(U0)) }], value: Ty(*const ^0) }, span: $DIR/address_of.rs:23:12: 23:20, inferred_ty: *const [i32; 10]
|
||||
| 13: user_ty: Canonical { max_universe: U0, variables: [CanonicalVarInfo { kind: Ty(General(U0)) }], value: Ty(*const ^0) }, span: $DIR/address_of.rs:23:12: 23:20, inferred_ty: *const [i32; 10]
|
||||
| 14: user_ty: Canonical { max_universe: U0, variables: [], value: Ty(*const [i32; 10]) }, span: $DIR/address_of.rs:24:12: 24:28, inferred_ty: *const [i32; 10]
|
||||
| 15: user_ty: Canonical { max_universe: U0, variables: [], value: Ty(*const [i32; 10]) }, span: $DIR/address_of.rs:24:12: 24:28, inferred_ty: *const [i32; 10]
|
||||
| 16: user_ty: Canonical { max_universe: U0, variables: [CanonicalVarInfo { kind: Region(U0) }], value: Ty(*const dyn std::marker::Send) }, span: $DIR/address_of.rs:25:12: 25:27, inferred_ty: *const dyn std::marker::Send
|
||||
| 17: user_ty: Canonical { max_universe: U0, variables: [CanonicalVarInfo { kind: Region(U0) }], value: Ty(*const dyn std::marker::Send) }, span: $DIR/address_of.rs:25:12: 25:27, inferred_ty: *const dyn std::marker::Send
|
||||
| 18: user_ty: Canonical { max_universe: U0, variables: [], value: Ty(*const [i32]) }, span: $DIR/address_of.rs:26:12: 26:24, inferred_ty: *const [i32]
|
||||
| 19: user_ty: Canonical { max_universe: U0, variables: [], value: Ty(*const [i32]) }, span: $DIR/address_of.rs:26:12: 26:24, inferred_ty: *const [i32]
|
||||
| 20: user_ty: Canonical { max_universe: U0, variables: [CanonicalVarInfo { kind: Ty(General(U0)) }], value: Ty(*mut ^0) }, span: $DIR/address_of.rs:28:5: 28:16, inferred_ty: *mut [i32; 10]
|
||||
| 21: user_ty: Canonical { max_universe: U0, variables: [CanonicalVarInfo { kind: Region(U0) }], value: Ty(*mut dyn std::marker::Send) }, span: $DIR/address_of.rs:30:5: 30:23, inferred_ty: *mut dyn std::marker::Send
|
||||
| 22: user_ty: Canonical { max_universe: U0, variables: [CanonicalVarInfo { kind: Ty(General(U0)) }], value: Ty(*mut ^0) }, span: $DIR/address_of.rs:33:12: 33:18, inferred_ty: *mut [i32; 10]
|
||||
| 23: user_ty: Canonical { max_universe: U0, variables: [CanonicalVarInfo { kind: Ty(General(U0)) }], value: Ty(*mut ^0) }, span: $DIR/address_of.rs:33:12: 33:18, inferred_ty: *mut [i32; 10]
|
||||
| 24: user_ty: Canonical { max_universe: U0, variables: [], value: Ty(*mut [i32; 10]) }, span: $DIR/address_of.rs:34:12: 34:26, inferred_ty: *mut [i32; 10]
|
||||
| 25: user_ty: Canonical { max_universe: U0, variables: [], value: Ty(*mut [i32; 10]) }, span: $DIR/address_of.rs:34:12: 34:26, inferred_ty: *mut [i32; 10]
|
||||
| 26: user_ty: Canonical { max_universe: U0, variables: [CanonicalVarInfo { kind: Region(U0) }], value: Ty(*mut dyn std::marker::Send) }, span: $DIR/address_of.rs:35:12: 35:25, inferred_ty: *mut dyn std::marker::Send
|
||||
| 27: user_ty: Canonical { max_universe: U0, variables: [CanonicalVarInfo { kind: Region(U0) }], value: Ty(*mut dyn std::marker::Send) }, span: $DIR/address_of.rs:35:12: 35:25, inferred_ty: *mut dyn std::marker::Send
|
||||
| 28: user_ty: Canonical { max_universe: U0, variables: [], value: Ty(*mut [i32]) }, span: $DIR/address_of.rs:36:12: 36:22, inferred_ty: *mut [i32]
|
||||
| 29: user_ty: Canonical { max_universe: U0, variables: [], value: Ty(*mut [i32]) }, span: $DIR/address_of.rs:36:12: 36:22, inferred_ty: *mut [i32]
|
||||
|
|
||||
fn address_of_reborrow() -> () {
|
||||
let mut _0: (); // return place in scope 0 at $DIR/address-of.rs:+0:26: +0:26
|
||||
let _1: &[i32; 10]; // in scope 0 at $DIR/address-of.rs:+1:9: +1:10
|
||||
let _2: [i32; 10]; // in scope 0 at $DIR/address-of.rs:+1:14: +1:21
|
||||
let mut _4: [i32; 10]; // in scope 0 at $DIR/address-of.rs:+2:22: +2:29
|
||||
let _5: *const [i32; 10]; // in scope 0 at $DIR/address-of.rs:+4:5: +4:18
|
||||
let mut _6: *const [i32; 10]; // in scope 0 at $DIR/address-of.rs:+4:5: +4:18
|
||||
let _7: *const [i32; 10]; // in scope 0 at $DIR/address-of.rs:+5:5: +5:26
|
||||
let _8: *const dyn std::marker::Send; // in scope 0 at $DIR/address-of.rs:+6:5: +6:25
|
||||
let mut _9: *const dyn std::marker::Send; // in scope 0 at $DIR/address-of.rs:+6:5: +6:25
|
||||
let mut _10: *const [i32; 10]; // in scope 0 at $DIR/address-of.rs:+6:5: +6:6
|
||||
let _11: *const [i32]; // in scope 0 at $DIR/address-of.rs:+7:5: +7:22
|
||||
let mut _12: *const [i32; 10]; // in scope 0 at $DIR/address-of.rs:+7:5: +7:6
|
||||
let _13: *const i32; // in scope 0 at $DIR/address-of.rs:+8:5: +8:20
|
||||
let mut _14: *const [i32; 10]; // in scope 0 at $DIR/address-of.rs:+8:5: +8:6
|
||||
let mut _18: *const [i32; 10]; // in scope 0 at $DIR/address-of.rs:+12:30: +12:31
|
||||
let mut _20: *const [i32; 10]; // in scope 0 at $DIR/address-of.rs:+13:27: +13:28
|
||||
let _21: *const [i32; 10]; // in scope 0 at $DIR/address-of.rs:+15:5: +15:18
|
||||
let mut _22: *const [i32; 10]; // in scope 0 at $DIR/address-of.rs:+15:5: +15:18
|
||||
let _23: *const [i32; 10]; // in scope 0 at $DIR/address-of.rs:+16:5: +16:26
|
||||
let _24: *const dyn std::marker::Send; // in scope 0 at $DIR/address-of.rs:+17:5: +17:25
|
||||
let mut _25: *const dyn std::marker::Send; // in scope 0 at $DIR/address-of.rs:+17:5: +17:25
|
||||
let mut _26: *const [i32; 10]; // in scope 0 at $DIR/address-of.rs:+17:5: +17:6
|
||||
let _27: *const [i32]; // in scope 0 at $DIR/address-of.rs:+18:5: +18:22
|
||||
let mut _28: *const [i32; 10]; // in scope 0 at $DIR/address-of.rs:+18:5: +18:6
|
||||
let mut _32: *const [i32; 10]; // in scope 0 at $DIR/address-of.rs:+22:30: +22:31
|
||||
let mut _34: *const [i32; 10]; // in scope 0 at $DIR/address-of.rs:+23:27: +23:28
|
||||
let _35: *mut [i32; 10]; // in scope 0 at $DIR/address-of.rs:+25:5: +25:16
|
||||
let mut _36: *mut [i32; 10]; // in scope 0 at $DIR/address-of.rs:+25:5: +25:16
|
||||
let _37: *mut [i32; 10]; // in scope 0 at $DIR/address-of.rs:+26:5: +26:24
|
||||
let _38: *mut dyn std::marker::Send; // in scope 0 at $DIR/address-of.rs:+27:5: +27:23
|
||||
let mut _39: *mut dyn std::marker::Send; // in scope 0 at $DIR/address-of.rs:+27:5: +27:23
|
||||
let mut _40: *mut [i32; 10]; // in scope 0 at $DIR/address-of.rs:+27:5: +27:6
|
||||
let _41: *mut [i32]; // in scope 0 at $DIR/address-of.rs:+28:5: +28:20
|
||||
let mut _42: *mut [i32; 10]; // in scope 0 at $DIR/address-of.rs:+28:5: +28:6
|
||||
let mut _46: *mut [i32; 10]; // in scope 0 at $DIR/address-of.rs:+32:28: +32:29
|
||||
let mut _48: *mut [i32; 10]; // in scope 0 at $DIR/address-of.rs:+33:25: +33:26
|
||||
let mut _0: (); // return place in scope 0 at $DIR/address_of.rs:+0:26: +0:26
|
||||
let _1: &[i32; 10]; // in scope 0 at $DIR/address_of.rs:+1:9: +1:10
|
||||
let _2: [i32; 10]; // in scope 0 at $DIR/address_of.rs:+1:14: +1:21
|
||||
let mut _4: [i32; 10]; // in scope 0 at $DIR/address_of.rs:+2:22: +2:29
|
||||
let _5: *const [i32; 10]; // in scope 0 at $DIR/address_of.rs:+4:5: +4:18
|
||||
let mut _6: *const [i32; 10]; // in scope 0 at $DIR/address_of.rs:+4:5: +4:18
|
||||
let _7: *const [i32; 10]; // in scope 0 at $DIR/address_of.rs:+5:5: +5:26
|
||||
let _8: *const dyn std::marker::Send; // in scope 0 at $DIR/address_of.rs:+6:5: +6:25
|
||||
let mut _9: *const dyn std::marker::Send; // in scope 0 at $DIR/address_of.rs:+6:5: +6:25
|
||||
let mut _10: *const [i32; 10]; // in scope 0 at $DIR/address_of.rs:+6:5: +6:6
|
||||
let _11: *const [i32]; // in scope 0 at $DIR/address_of.rs:+7:5: +7:22
|
||||
let mut _12: *const [i32; 10]; // in scope 0 at $DIR/address_of.rs:+7:5: +7:6
|
||||
let _13: *const i32; // in scope 0 at $DIR/address_of.rs:+8:5: +8:20
|
||||
let mut _14: *const [i32; 10]; // in scope 0 at $DIR/address_of.rs:+8:5: +8:6
|
||||
let mut _18: *const [i32; 10]; // in scope 0 at $DIR/address_of.rs:+12:30: +12:31
|
||||
let mut _20: *const [i32; 10]; // in scope 0 at $DIR/address_of.rs:+13:27: +13:28
|
||||
let _21: *const [i32; 10]; // in scope 0 at $DIR/address_of.rs:+15:5: +15:18
|
||||
let mut _22: *const [i32; 10]; // in scope 0 at $DIR/address_of.rs:+15:5: +15:18
|
||||
let _23: *const [i32; 10]; // in scope 0 at $DIR/address_of.rs:+16:5: +16:26
|
||||
let _24: *const dyn std::marker::Send; // in scope 0 at $DIR/address_of.rs:+17:5: +17:25
|
||||
let mut _25: *const dyn std::marker::Send; // in scope 0 at $DIR/address_of.rs:+17:5: +17:25
|
||||
let mut _26: *const [i32; 10]; // in scope 0 at $DIR/address_of.rs:+17:5: +17:6
|
||||
let _27: *const [i32]; // in scope 0 at $DIR/address_of.rs:+18:5: +18:22
|
||||
let mut _28: *const [i32; 10]; // in scope 0 at $DIR/address_of.rs:+18:5: +18:6
|
||||
let mut _32: *const [i32; 10]; // in scope 0 at $DIR/address_of.rs:+22:30: +22:31
|
||||
let mut _34: *const [i32; 10]; // in scope 0 at $DIR/address_of.rs:+23:27: +23:28
|
||||
let _35: *mut [i32; 10]; // in scope 0 at $DIR/address_of.rs:+25:5: +25:16
|
||||
let mut _36: *mut [i32; 10]; // in scope 0 at $DIR/address_of.rs:+25:5: +25:16
|
||||
let _37: *mut [i32; 10]; // in scope 0 at $DIR/address_of.rs:+26:5: +26:24
|
||||
let _38: *mut dyn std::marker::Send; // in scope 0 at $DIR/address_of.rs:+27:5: +27:23
|
||||
let mut _39: *mut dyn std::marker::Send; // in scope 0 at $DIR/address_of.rs:+27:5: +27:23
|
||||
let mut _40: *mut [i32; 10]; // in scope 0 at $DIR/address_of.rs:+27:5: +27:6
|
||||
let _41: *mut [i32]; // in scope 0 at $DIR/address_of.rs:+28:5: +28:20
|
||||
let mut _42: *mut [i32; 10]; // in scope 0 at $DIR/address_of.rs:+28:5: +28:6
|
||||
let mut _46: *mut [i32; 10]; // in scope 0 at $DIR/address_of.rs:+32:28: +32:29
|
||||
let mut _48: *mut [i32; 10]; // in scope 0 at $DIR/address_of.rs:+33:25: +33:26
|
||||
scope 1 {
|
||||
debug y => _1; // in scope 1 at $DIR/address-of.rs:+1:9: +1:10
|
||||
let mut _3: &mut [i32; 10]; // in scope 1 at $DIR/address-of.rs:+2:9: +2:14
|
||||
debug y => _1; // in scope 1 at $DIR/address_of.rs:+1:9: +1:10
|
||||
let mut _3: &mut [i32; 10]; // in scope 1 at $DIR/address_of.rs:+2:9: +2:14
|
||||
scope 2 {
|
||||
debug z => _3; // in scope 2 at $DIR/address-of.rs:+2:9: +2:14
|
||||
let _15: *const [i32; 10] as UserTypeProjection { base: UserType(2), projs: [] }; // in scope 2 at $DIR/address-of.rs:+10:9: +10:10
|
||||
debug z => _3; // in scope 2 at $DIR/address_of.rs:+2:9: +2:14
|
||||
let _15: *const [i32; 10] as UserTypeProjection { base: UserType(2), projs: [] }; // in scope 2 at $DIR/address_of.rs:+10:9: +10:10
|
||||
scope 3 {
|
||||
debug p => _15; // in scope 3 at $DIR/address-of.rs:+10:9: +10:10
|
||||
let _16: *const [i32; 10] as UserTypeProjection { base: UserType(4), projs: [] }; // in scope 3 at $DIR/address-of.rs:+11:9: +11:10
|
||||
debug p => _15; // in scope 3 at $DIR/address_of.rs:+10:9: +10:10
|
||||
let _16: *const [i32; 10] as UserTypeProjection { base: UserType(4), projs: [] }; // in scope 3 at $DIR/address_of.rs:+11:9: +11:10
|
||||
scope 4 {
|
||||
debug p => _16; // in scope 4 at $DIR/address-of.rs:+11:9: +11:10
|
||||
let _17: *const dyn std::marker::Send as UserTypeProjection { base: UserType(6), projs: [] }; // in scope 4 at $DIR/address-of.rs:+12:9: +12:10
|
||||
debug p => _16; // in scope 4 at $DIR/address_of.rs:+11:9: +11:10
|
||||
let _17: *const dyn std::marker::Send as UserTypeProjection { base: UserType(6), projs: [] }; // in scope 4 at $DIR/address_of.rs:+12:9: +12:10
|
||||
scope 5 {
|
||||
debug p => _17; // in scope 5 at $DIR/address-of.rs:+12:9: +12:10
|
||||
let _19: *const [i32] as UserTypeProjection { base: UserType(8), projs: [] }; // in scope 5 at $DIR/address-of.rs:+13:9: +13:10
|
||||
debug p => _17; // in scope 5 at $DIR/address_of.rs:+12:9: +12:10
|
||||
let _19: *const [i32] as UserTypeProjection { base: UserType(8), projs: [] }; // in scope 5 at $DIR/address_of.rs:+13:9: +13:10
|
||||
scope 6 {
|
||||
debug p => _19; // in scope 6 at $DIR/address-of.rs:+13:9: +13:10
|
||||
let _29: *const [i32; 10] as UserTypeProjection { base: UserType(12), projs: [] }; // in scope 6 at $DIR/address-of.rs:+20:9: +20:10
|
||||
debug p => _19; // in scope 6 at $DIR/address_of.rs:+13:9: +13:10
|
||||
let _29: *const [i32; 10] as UserTypeProjection { base: UserType(12), projs: [] }; // in scope 6 at $DIR/address_of.rs:+20:9: +20:10
|
||||
scope 7 {
|
||||
debug p => _29; // in scope 7 at $DIR/address-of.rs:+20:9: +20:10
|
||||
let _30: *const [i32; 10] as UserTypeProjection { base: UserType(14), projs: [] }; // in scope 7 at $DIR/address-of.rs:+21:9: +21:10
|
||||
debug p => _29; // in scope 7 at $DIR/address_of.rs:+20:9: +20:10
|
||||
let _30: *const [i32; 10] as UserTypeProjection { base: UserType(14), projs: [] }; // in scope 7 at $DIR/address_of.rs:+21:9: +21:10
|
||||
scope 8 {
|
||||
debug p => _30; // in scope 8 at $DIR/address-of.rs:+21:9: +21:10
|
||||
let _31: *const dyn std::marker::Send as UserTypeProjection { base: UserType(16), projs: [] }; // in scope 8 at $DIR/address-of.rs:+22:9: +22:10
|
||||
debug p => _30; // in scope 8 at $DIR/address_of.rs:+21:9: +21:10
|
||||
let _31: *const dyn std::marker::Send as UserTypeProjection { base: UserType(16), projs: [] }; // in scope 8 at $DIR/address_of.rs:+22:9: +22:10
|
||||
scope 9 {
|
||||
debug p => _31; // in scope 9 at $DIR/address-of.rs:+22:9: +22:10
|
||||
let _33: *const [i32] as UserTypeProjection { base: UserType(18), projs: [] }; // in scope 9 at $DIR/address-of.rs:+23:9: +23:10
|
||||
debug p => _31; // in scope 9 at $DIR/address_of.rs:+22:9: +22:10
|
||||
let _33: *const [i32] as UserTypeProjection { base: UserType(18), projs: [] }; // in scope 9 at $DIR/address_of.rs:+23:9: +23:10
|
||||
scope 10 {
|
||||
debug p => _33; // in scope 10 at $DIR/address-of.rs:+23:9: +23:10
|
||||
let _43: *mut [i32; 10] as UserTypeProjection { base: UserType(22), projs: [] }; // in scope 10 at $DIR/address-of.rs:+30:9: +30:10
|
||||
debug p => _33; // in scope 10 at $DIR/address_of.rs:+23:9: +23:10
|
||||
let _43: *mut [i32; 10] as UserTypeProjection { base: UserType(22), projs: [] }; // in scope 10 at $DIR/address_of.rs:+30:9: +30:10
|
||||
scope 11 {
|
||||
debug p => _43; // in scope 11 at $DIR/address-of.rs:+30:9: +30:10
|
||||
let _44: *mut [i32; 10] as UserTypeProjection { base: UserType(24), projs: [] }; // in scope 11 at $DIR/address-of.rs:+31:9: +31:10
|
||||
debug p => _43; // in scope 11 at $DIR/address_of.rs:+30:9: +30:10
|
||||
let _44: *mut [i32; 10] as UserTypeProjection { base: UserType(24), projs: [] }; // in scope 11 at $DIR/address_of.rs:+31:9: +31:10
|
||||
scope 12 {
|
||||
debug p => _44; // in scope 12 at $DIR/address-of.rs:+31:9: +31:10
|
||||
let _45: *mut dyn std::marker::Send as UserTypeProjection { base: UserType(26), projs: [] }; // in scope 12 at $DIR/address-of.rs:+32:9: +32:10
|
||||
debug p => _44; // in scope 12 at $DIR/address_of.rs:+31:9: +31:10
|
||||
let _45: *mut dyn std::marker::Send as UserTypeProjection { base: UserType(26), projs: [] }; // in scope 12 at $DIR/address_of.rs:+32:9: +32:10
|
||||
scope 13 {
|
||||
debug p => _45; // in scope 13 at $DIR/address-of.rs:+32:9: +32:10
|
||||
let _47: *mut [i32] as UserTypeProjection { base: UserType(28), projs: [] }; // in scope 13 at $DIR/address-of.rs:+33:9: +33:10
|
||||
debug p => _45; // in scope 13 at $DIR/address_of.rs:+32:9: +32:10
|
||||
let _47: *mut [i32] as UserTypeProjection { base: UserType(28), projs: [] }; // in scope 13 at $DIR/address_of.rs:+33:9: +33:10
|
||||
scope 14 {
|
||||
debug p => _47; // in scope 14 at $DIR/address-of.rs:+33:9: +33:10
|
||||
debug p => _47; // in scope 14 at $DIR/address_of.rs:+33:9: +33:10
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -126,183 +126,183 @@ fn address_of_reborrow() -> () {
|
|||
}
|
||||
|
||||
bb0: {
|
||||
StorageLive(_1); // scope 0 at $DIR/address-of.rs:+1:9: +1:10
|
||||
StorageLive(_2); // scope 0 at $DIR/address-of.rs:+1:14: +1:21
|
||||
_2 = [const 0_i32; 10]; // scope 0 at $DIR/address-of.rs:+1:14: +1:21
|
||||
_1 = &_2; // scope 0 at $DIR/address-of.rs:+1:13: +1:21
|
||||
FakeRead(ForLet(None), _1); // scope 0 at $DIR/address-of.rs:+1:9: +1:10
|
||||
StorageLive(_3); // scope 1 at $DIR/address-of.rs:+2:9: +2:14
|
||||
StorageLive(_4); // scope 1 at $DIR/address-of.rs:+2:22: +2:29
|
||||
_4 = [const 0_i32; 10]; // scope 1 at $DIR/address-of.rs:+2:22: +2:29
|
||||
_3 = &mut _4; // scope 1 at $DIR/address-of.rs:+2:17: +2:29
|
||||
FakeRead(ForLet(None), _3); // scope 1 at $DIR/address-of.rs:+2:9: +2:14
|
||||
StorageLive(_5); // scope 2 at $DIR/address-of.rs:+4:5: +4:18
|
||||
StorageLive(_6); // scope 2 at $DIR/address-of.rs:+4:5: +4:18
|
||||
_6 = &raw const (*_1); // scope 2 at $DIR/address-of.rs:+4:5: +4:6
|
||||
AscribeUserType(_6, o, UserTypeProjection { base: UserType(0), projs: [] }); // scope 2 at $DIR/address-of.rs:+4:5: +4:18
|
||||
_5 = _6; // scope 2 at $DIR/address-of.rs:+4:5: +4:18
|
||||
StorageDead(_6); // scope 2 at $DIR/address-of.rs:+4:18: +4:19
|
||||
StorageDead(_5); // scope 2 at $DIR/address-of.rs:+4:18: +4:19
|
||||
StorageLive(_7); // scope 2 at $DIR/address-of.rs:+5:5: +5:26
|
||||
_7 = &raw const (*_1); // scope 2 at $DIR/address-of.rs:+5:5: +5:6
|
||||
StorageDead(_7); // scope 2 at $DIR/address-of.rs:+5:26: +5:27
|
||||
StorageLive(_8); // scope 2 at $DIR/address-of.rs:+6:5: +6:25
|
||||
StorageLive(_9); // scope 2 at $DIR/address-of.rs:+6:5: +6:25
|
||||
StorageLive(_10); // scope 2 at $DIR/address-of.rs:+6:5: +6:6
|
||||
_10 = &raw const (*_1); // scope 2 at $DIR/address-of.rs:+6:5: +6:6
|
||||
_9 = move _10 as *const dyn std::marker::Send (Pointer(Unsize)); // scope 2 at $DIR/address-of.rs:+6:5: +6:6
|
||||
StorageDead(_10); // scope 2 at $DIR/address-of.rs:+6:5: +6:6
|
||||
AscribeUserType(_9, o, UserTypeProjection { base: UserType(1), projs: [] }); // scope 2 at $DIR/address-of.rs:+6:5: +6:25
|
||||
_8 = _9; // scope 2 at $DIR/address-of.rs:+6:5: +6:25
|
||||
StorageDead(_9); // scope 2 at $DIR/address-of.rs:+6:25: +6:26
|
||||
StorageDead(_8); // scope 2 at $DIR/address-of.rs:+6:25: +6:26
|
||||
StorageLive(_11); // scope 2 at $DIR/address-of.rs:+7:5: +7:22
|
||||
StorageLive(_12); // scope 2 at $DIR/address-of.rs:+7:5: +7:6
|
||||
_12 = &raw const (*_1); // scope 2 at $DIR/address-of.rs:+7:5: +7:6
|
||||
_11 = move _12 as *const [i32] (Pointer(Unsize)); // scope 2 at $DIR/address-of.rs:+7:5: +7:6
|
||||
StorageDead(_12); // scope 2 at $DIR/address-of.rs:+7:5: +7:6
|
||||
StorageDead(_11); // scope 2 at $DIR/address-of.rs:+7:22: +7:23
|
||||
StorageLive(_13); // scope 2 at $DIR/address-of.rs:+8:5: +8:20
|
||||
StorageLive(_14); // scope 2 at $DIR/address-of.rs:+8:5: +8:6
|
||||
_14 = &raw const (*_1); // scope 2 at $DIR/address-of.rs:+8:5: +8:6
|
||||
_13 = move _14 as *const i32 (Pointer(ArrayToPointer)); // scope 2 at $DIR/address-of.rs:+8:5: +8:20
|
||||
StorageDead(_14); // scope 2 at $DIR/address-of.rs:+8:19: +8:20
|
||||
StorageDead(_13); // scope 2 at $DIR/address-of.rs:+8:20: +8:21
|
||||
StorageLive(_15); // scope 2 at $DIR/address-of.rs:+10:9: +10:10
|
||||
_15 = &raw const (*_1); // scope 2 at $DIR/address-of.rs:+10:23: +10:24
|
||||
FakeRead(ForLet(None), _15); // scope 2 at $DIR/address-of.rs:+10:9: +10:10
|
||||
AscribeUserType(_15, o, UserTypeProjection { base: UserType(3), projs: [] }); // scope 2 at $DIR/address-of.rs:+10:12: +10:20
|
||||
StorageLive(_16); // scope 3 at $DIR/address-of.rs:+11:9: +11:10
|
||||
_16 = &raw const (*_1); // scope 3 at $DIR/address-of.rs:+11:31: +11:32
|
||||
FakeRead(ForLet(None), _16); // scope 3 at $DIR/address-of.rs:+11:9: +11:10
|
||||
AscribeUserType(_16, o, UserTypeProjection { base: UserType(5), projs: [] }); // scope 3 at $DIR/address-of.rs:+11:12: +11:28
|
||||
StorageLive(_17); // scope 4 at $DIR/address-of.rs:+12:9: +12:10
|
||||
StorageLive(_18); // scope 4 at $DIR/address-of.rs:+12:30: +12:31
|
||||
_18 = &raw const (*_1); // scope 4 at $DIR/address-of.rs:+12:30: +12:31
|
||||
_17 = move _18 as *const dyn std::marker::Send (Pointer(Unsize)); // scope 4 at $DIR/address-of.rs:+12:30: +12:31
|
||||
StorageDead(_18); // scope 4 at $DIR/address-of.rs:+12:30: +12:31
|
||||
FakeRead(ForLet(None), _17); // scope 4 at $DIR/address-of.rs:+12:9: +12:10
|
||||
AscribeUserType(_17, o, UserTypeProjection { base: UserType(7), projs: [] }); // scope 4 at $DIR/address-of.rs:+12:12: +12:27
|
||||
StorageLive(_19); // scope 5 at $DIR/address-of.rs:+13:9: +13:10
|
||||
StorageLive(_20); // scope 5 at $DIR/address-of.rs:+13:27: +13:28
|
||||
_20 = &raw const (*_1); // scope 5 at $DIR/address-of.rs:+13:27: +13:28
|
||||
_19 = move _20 as *const [i32] (Pointer(Unsize)); // scope 5 at $DIR/address-of.rs:+13:27: +13:28
|
||||
StorageDead(_20); // scope 5 at $DIR/address-of.rs:+13:27: +13:28
|
||||
FakeRead(ForLet(None), _19); // scope 5 at $DIR/address-of.rs:+13:9: +13:10
|
||||
AscribeUserType(_19, o, UserTypeProjection { base: UserType(9), projs: [] }); // scope 5 at $DIR/address-of.rs:+13:12: +13:24
|
||||
StorageLive(_21); // scope 6 at $DIR/address-of.rs:+15:5: +15:18
|
||||
StorageLive(_22); // scope 6 at $DIR/address-of.rs:+15:5: +15:18
|
||||
_22 = &raw const (*_3); // scope 6 at $DIR/address-of.rs:+15:5: +15:6
|
||||
AscribeUserType(_22, o, UserTypeProjection { base: UserType(10), projs: [] }); // scope 6 at $DIR/address-of.rs:+15:5: +15:18
|
||||
_21 = _22; // scope 6 at $DIR/address-of.rs:+15:5: +15:18
|
||||
StorageDead(_22); // scope 6 at $DIR/address-of.rs:+15:18: +15:19
|
||||
StorageDead(_21); // scope 6 at $DIR/address-of.rs:+15:18: +15:19
|
||||
StorageLive(_23); // scope 6 at $DIR/address-of.rs:+16:5: +16:26
|
||||
_23 = &raw const (*_3); // scope 6 at $DIR/address-of.rs:+16:5: +16:6
|
||||
StorageDead(_23); // scope 6 at $DIR/address-of.rs:+16:26: +16:27
|
||||
StorageLive(_24); // scope 6 at $DIR/address-of.rs:+17:5: +17:25
|
||||
StorageLive(_25); // scope 6 at $DIR/address-of.rs:+17:5: +17:25
|
||||
StorageLive(_26); // scope 6 at $DIR/address-of.rs:+17:5: +17:6
|
||||
_26 = &raw const (*_3); // scope 6 at $DIR/address-of.rs:+17:5: +17:6
|
||||
_25 = move _26 as *const dyn std::marker::Send (Pointer(Unsize)); // scope 6 at $DIR/address-of.rs:+17:5: +17:6
|
||||
StorageDead(_26); // scope 6 at $DIR/address-of.rs:+17:5: +17:6
|
||||
AscribeUserType(_25, o, UserTypeProjection { base: UserType(11), projs: [] }); // scope 6 at $DIR/address-of.rs:+17:5: +17:25
|
||||
_24 = _25; // scope 6 at $DIR/address-of.rs:+17:5: +17:25
|
||||
StorageDead(_25); // scope 6 at $DIR/address-of.rs:+17:25: +17:26
|
||||
StorageDead(_24); // scope 6 at $DIR/address-of.rs:+17:25: +17:26
|
||||
StorageLive(_27); // scope 6 at $DIR/address-of.rs:+18:5: +18:22
|
||||
StorageLive(_28); // scope 6 at $DIR/address-of.rs:+18:5: +18:6
|
||||
_28 = &raw const (*_3); // scope 6 at $DIR/address-of.rs:+18:5: +18:6
|
||||
_27 = move _28 as *const [i32] (Pointer(Unsize)); // scope 6 at $DIR/address-of.rs:+18:5: +18:6
|
||||
StorageDead(_28); // scope 6 at $DIR/address-of.rs:+18:5: +18:6
|
||||
StorageDead(_27); // scope 6 at $DIR/address-of.rs:+18:22: +18:23
|
||||
StorageLive(_29); // scope 6 at $DIR/address-of.rs:+20:9: +20:10
|
||||
_29 = &raw const (*_3); // scope 6 at $DIR/address-of.rs:+20:23: +20:24
|
||||
FakeRead(ForLet(None), _29); // scope 6 at $DIR/address-of.rs:+20:9: +20:10
|
||||
AscribeUserType(_29, o, UserTypeProjection { base: UserType(13), projs: [] }); // scope 6 at $DIR/address-of.rs:+20:12: +20:20
|
||||
StorageLive(_30); // scope 7 at $DIR/address-of.rs:+21:9: +21:10
|
||||
_30 = &raw const (*_3); // scope 7 at $DIR/address-of.rs:+21:31: +21:32
|
||||
FakeRead(ForLet(None), _30); // scope 7 at $DIR/address-of.rs:+21:9: +21:10
|
||||
AscribeUserType(_30, o, UserTypeProjection { base: UserType(15), projs: [] }); // scope 7 at $DIR/address-of.rs:+21:12: +21:28
|
||||
StorageLive(_31); // scope 8 at $DIR/address-of.rs:+22:9: +22:10
|
||||
StorageLive(_32); // scope 8 at $DIR/address-of.rs:+22:30: +22:31
|
||||
_32 = &raw const (*_3); // scope 8 at $DIR/address-of.rs:+22:30: +22:31
|
||||
_31 = move _32 as *const dyn std::marker::Send (Pointer(Unsize)); // scope 8 at $DIR/address-of.rs:+22:30: +22:31
|
||||
StorageDead(_32); // scope 8 at $DIR/address-of.rs:+22:30: +22:31
|
||||
FakeRead(ForLet(None), _31); // scope 8 at $DIR/address-of.rs:+22:9: +22:10
|
||||
AscribeUserType(_31, o, UserTypeProjection { base: UserType(17), projs: [] }); // scope 8 at $DIR/address-of.rs:+22:12: +22:27
|
||||
StorageLive(_33); // scope 9 at $DIR/address-of.rs:+23:9: +23:10
|
||||
StorageLive(_34); // scope 9 at $DIR/address-of.rs:+23:27: +23:28
|
||||
_34 = &raw const (*_3); // scope 9 at $DIR/address-of.rs:+23:27: +23:28
|
||||
_33 = move _34 as *const [i32] (Pointer(Unsize)); // scope 9 at $DIR/address-of.rs:+23:27: +23:28
|
||||
StorageDead(_34); // scope 9 at $DIR/address-of.rs:+23:27: +23:28
|
||||
FakeRead(ForLet(None), _33); // scope 9 at $DIR/address-of.rs:+23:9: +23:10
|
||||
AscribeUserType(_33, o, UserTypeProjection { base: UserType(19), projs: [] }); // scope 9 at $DIR/address-of.rs:+23:12: +23:24
|
||||
StorageLive(_35); // scope 10 at $DIR/address-of.rs:+25:5: +25:16
|
||||
StorageLive(_36); // scope 10 at $DIR/address-of.rs:+25:5: +25:16
|
||||
_36 = &raw mut (*_3); // scope 10 at $DIR/address-of.rs:+25:5: +25:6
|
||||
AscribeUserType(_36, o, UserTypeProjection { base: UserType(20), projs: [] }); // scope 10 at $DIR/address-of.rs:+25:5: +25:16
|
||||
_35 = _36; // scope 10 at $DIR/address-of.rs:+25:5: +25:16
|
||||
StorageDead(_36); // scope 10 at $DIR/address-of.rs:+25:16: +25:17
|
||||
StorageDead(_35); // scope 10 at $DIR/address-of.rs:+25:16: +25:17
|
||||
StorageLive(_37); // scope 10 at $DIR/address-of.rs:+26:5: +26:24
|
||||
_37 = &raw mut (*_3); // scope 10 at $DIR/address-of.rs:+26:5: +26:6
|
||||
StorageDead(_37); // scope 10 at $DIR/address-of.rs:+26:24: +26:25
|
||||
StorageLive(_38); // scope 10 at $DIR/address-of.rs:+27:5: +27:23
|
||||
StorageLive(_39); // scope 10 at $DIR/address-of.rs:+27:5: +27:23
|
||||
StorageLive(_40); // scope 10 at $DIR/address-of.rs:+27:5: +27:6
|
||||
_40 = &raw mut (*_3); // scope 10 at $DIR/address-of.rs:+27:5: +27:6
|
||||
_39 = move _40 as *mut dyn std::marker::Send (Pointer(Unsize)); // scope 10 at $DIR/address-of.rs:+27:5: +27:6
|
||||
StorageDead(_40); // scope 10 at $DIR/address-of.rs:+27:5: +27:6
|
||||
AscribeUserType(_39, o, UserTypeProjection { base: UserType(21), projs: [] }); // scope 10 at $DIR/address-of.rs:+27:5: +27:23
|
||||
_38 = _39; // scope 10 at $DIR/address-of.rs:+27:5: +27:23
|
||||
StorageDead(_39); // scope 10 at $DIR/address-of.rs:+27:23: +27:24
|
||||
StorageDead(_38); // scope 10 at $DIR/address-of.rs:+27:23: +27:24
|
||||
StorageLive(_41); // scope 10 at $DIR/address-of.rs:+28:5: +28:20
|
||||
StorageLive(_42); // scope 10 at $DIR/address-of.rs:+28:5: +28:6
|
||||
_42 = &raw mut (*_3); // scope 10 at $DIR/address-of.rs:+28:5: +28:6
|
||||
_41 = move _42 as *mut [i32] (Pointer(Unsize)); // scope 10 at $DIR/address-of.rs:+28:5: +28:6
|
||||
StorageDead(_42); // scope 10 at $DIR/address-of.rs:+28:5: +28:6
|
||||
StorageDead(_41); // scope 10 at $DIR/address-of.rs:+28:20: +28:21
|
||||
StorageLive(_43); // scope 10 at $DIR/address-of.rs:+30:9: +30:10
|
||||
_43 = &raw mut (*_3); // scope 10 at $DIR/address-of.rs:+30:21: +30:22
|
||||
FakeRead(ForLet(None), _43); // scope 10 at $DIR/address-of.rs:+30:9: +30:10
|
||||
AscribeUserType(_43, o, UserTypeProjection { base: UserType(23), projs: [] }); // scope 10 at $DIR/address-of.rs:+30:12: +30:18
|
||||
StorageLive(_44); // scope 11 at $DIR/address-of.rs:+31:9: +31:10
|
||||
_44 = &raw mut (*_3); // scope 11 at $DIR/address-of.rs:+31:29: +31:30
|
||||
FakeRead(ForLet(None), _44); // scope 11 at $DIR/address-of.rs:+31:9: +31:10
|
||||
AscribeUserType(_44, o, UserTypeProjection { base: UserType(25), projs: [] }); // scope 11 at $DIR/address-of.rs:+31:12: +31:26
|
||||
StorageLive(_45); // scope 12 at $DIR/address-of.rs:+32:9: +32:10
|
||||
StorageLive(_46); // scope 12 at $DIR/address-of.rs:+32:28: +32:29
|
||||
_46 = &raw mut (*_3); // scope 12 at $DIR/address-of.rs:+32:28: +32:29
|
||||
_45 = move _46 as *mut dyn std::marker::Send (Pointer(Unsize)); // scope 12 at $DIR/address-of.rs:+32:28: +32:29
|
||||
StorageDead(_46); // scope 12 at $DIR/address-of.rs:+32:28: +32:29
|
||||
FakeRead(ForLet(None), _45); // scope 12 at $DIR/address-of.rs:+32:9: +32:10
|
||||
AscribeUserType(_45, o, UserTypeProjection { base: UserType(27), projs: [] }); // scope 12 at $DIR/address-of.rs:+32:12: +32:25
|
||||
StorageLive(_47); // scope 13 at $DIR/address-of.rs:+33:9: +33:10
|
||||
StorageLive(_48); // scope 13 at $DIR/address-of.rs:+33:25: +33:26
|
||||
_48 = &raw mut (*_3); // scope 13 at $DIR/address-of.rs:+33:25: +33:26
|
||||
_47 = move _48 as *mut [i32] (Pointer(Unsize)); // scope 13 at $DIR/address-of.rs:+33:25: +33:26
|
||||
StorageDead(_48); // scope 13 at $DIR/address-of.rs:+33:25: +33:26
|
||||
FakeRead(ForLet(None), _47); // scope 13 at $DIR/address-of.rs:+33:9: +33:10
|
||||
AscribeUserType(_47, o, UserTypeProjection { base: UserType(29), projs: [] }); // scope 13 at $DIR/address-of.rs:+33:12: +33:22
|
||||
_0 = const (); // scope 0 at $DIR/address-of.rs:+0:26: +34:2
|
||||
StorageDead(_47); // scope 13 at $DIR/address-of.rs:+34:1: +34:2
|
||||
StorageDead(_45); // scope 12 at $DIR/address-of.rs:+34:1: +34:2
|
||||
StorageDead(_44); // scope 11 at $DIR/address-of.rs:+34:1: +34:2
|
||||
StorageDead(_43); // scope 10 at $DIR/address-of.rs:+34:1: +34:2
|
||||
StorageDead(_33); // scope 9 at $DIR/address-of.rs:+34:1: +34:2
|
||||
StorageDead(_31); // scope 8 at $DIR/address-of.rs:+34:1: +34:2
|
||||
StorageDead(_30); // scope 7 at $DIR/address-of.rs:+34:1: +34:2
|
||||
StorageDead(_29); // scope 6 at $DIR/address-of.rs:+34:1: +34:2
|
||||
StorageDead(_19); // scope 5 at $DIR/address-of.rs:+34:1: +34:2
|
||||
StorageDead(_17); // scope 4 at $DIR/address-of.rs:+34:1: +34:2
|
||||
StorageDead(_16); // scope 3 at $DIR/address-of.rs:+34:1: +34:2
|
||||
StorageDead(_15); // scope 2 at $DIR/address-of.rs:+34:1: +34:2
|
||||
StorageDead(_4); // scope 1 at $DIR/address-of.rs:+34:1: +34:2
|
||||
StorageDead(_3); // scope 1 at $DIR/address-of.rs:+34:1: +34:2
|
||||
StorageDead(_2); // scope 0 at $DIR/address-of.rs:+34:1: +34:2
|
||||
StorageDead(_1); // scope 0 at $DIR/address-of.rs:+34:1: +34:2
|
||||
return; // scope 0 at $DIR/address-of.rs:+34:2: +34:2
|
||||
StorageLive(_1); // scope 0 at $DIR/address_of.rs:+1:9: +1:10
|
||||
StorageLive(_2); // scope 0 at $DIR/address_of.rs:+1:14: +1:21
|
||||
_2 = [const 0_i32; 10]; // scope 0 at $DIR/address_of.rs:+1:14: +1:21
|
||||
_1 = &_2; // scope 0 at $DIR/address_of.rs:+1:13: +1:21
|
||||
FakeRead(ForLet(None), _1); // scope 0 at $DIR/address_of.rs:+1:9: +1:10
|
||||
StorageLive(_3); // scope 1 at $DIR/address_of.rs:+2:9: +2:14
|
||||
StorageLive(_4); // scope 1 at $DIR/address_of.rs:+2:22: +2:29
|
||||
_4 = [const 0_i32; 10]; // scope 1 at $DIR/address_of.rs:+2:22: +2:29
|
||||
_3 = &mut _4; // scope 1 at $DIR/address_of.rs:+2:17: +2:29
|
||||
FakeRead(ForLet(None), _3); // scope 1 at $DIR/address_of.rs:+2:9: +2:14
|
||||
StorageLive(_5); // scope 2 at $DIR/address_of.rs:+4:5: +4:18
|
||||
StorageLive(_6); // scope 2 at $DIR/address_of.rs:+4:5: +4:18
|
||||
_6 = &raw const (*_1); // scope 2 at $DIR/address_of.rs:+4:5: +4:6
|
||||
AscribeUserType(_6, o, UserTypeProjection { base: UserType(0), projs: [] }); // scope 2 at $DIR/address_of.rs:+4:5: +4:18
|
||||
_5 = _6; // scope 2 at $DIR/address_of.rs:+4:5: +4:18
|
||||
StorageDead(_6); // scope 2 at $DIR/address_of.rs:+4:18: +4:19
|
||||
StorageDead(_5); // scope 2 at $DIR/address_of.rs:+4:18: +4:19
|
||||
StorageLive(_7); // scope 2 at $DIR/address_of.rs:+5:5: +5:26
|
||||
_7 = &raw const (*_1); // scope 2 at $DIR/address_of.rs:+5:5: +5:6
|
||||
StorageDead(_7); // scope 2 at $DIR/address_of.rs:+5:26: +5:27
|
||||
StorageLive(_8); // scope 2 at $DIR/address_of.rs:+6:5: +6:25
|
||||
StorageLive(_9); // scope 2 at $DIR/address_of.rs:+6:5: +6:25
|
||||
StorageLive(_10); // scope 2 at $DIR/address_of.rs:+6:5: +6:6
|
||||
_10 = &raw const (*_1); // scope 2 at $DIR/address_of.rs:+6:5: +6:6
|
||||
_9 = move _10 as *const dyn std::marker::Send (Pointer(Unsize)); // scope 2 at $DIR/address_of.rs:+6:5: +6:6
|
||||
StorageDead(_10); // scope 2 at $DIR/address_of.rs:+6:5: +6:6
|
||||
AscribeUserType(_9, o, UserTypeProjection { base: UserType(1), projs: [] }); // scope 2 at $DIR/address_of.rs:+6:5: +6:25
|
||||
_8 = _9; // scope 2 at $DIR/address_of.rs:+6:5: +6:25
|
||||
StorageDead(_9); // scope 2 at $DIR/address_of.rs:+6:25: +6:26
|
||||
StorageDead(_8); // scope 2 at $DIR/address_of.rs:+6:25: +6:26
|
||||
StorageLive(_11); // scope 2 at $DIR/address_of.rs:+7:5: +7:22
|
||||
StorageLive(_12); // scope 2 at $DIR/address_of.rs:+7:5: +7:6
|
||||
_12 = &raw const (*_1); // scope 2 at $DIR/address_of.rs:+7:5: +7:6
|
||||
_11 = move _12 as *const [i32] (Pointer(Unsize)); // scope 2 at $DIR/address_of.rs:+7:5: +7:6
|
||||
StorageDead(_12); // scope 2 at $DIR/address_of.rs:+7:5: +7:6
|
||||
StorageDead(_11); // scope 2 at $DIR/address_of.rs:+7:22: +7:23
|
||||
StorageLive(_13); // scope 2 at $DIR/address_of.rs:+8:5: +8:20
|
||||
StorageLive(_14); // scope 2 at $DIR/address_of.rs:+8:5: +8:6
|
||||
_14 = &raw const (*_1); // scope 2 at $DIR/address_of.rs:+8:5: +8:6
|
||||
_13 = move _14 as *const i32 (Pointer(ArrayToPointer)); // scope 2 at $DIR/address_of.rs:+8:5: +8:20
|
||||
StorageDead(_14); // scope 2 at $DIR/address_of.rs:+8:19: +8:20
|
||||
StorageDead(_13); // scope 2 at $DIR/address_of.rs:+8:20: +8:21
|
||||
StorageLive(_15); // scope 2 at $DIR/address_of.rs:+10:9: +10:10
|
||||
_15 = &raw const (*_1); // scope 2 at $DIR/address_of.rs:+10:23: +10:24
|
||||
FakeRead(ForLet(None), _15); // scope 2 at $DIR/address_of.rs:+10:9: +10:10
|
||||
AscribeUserType(_15, o, UserTypeProjection { base: UserType(3), projs: [] }); // scope 2 at $DIR/address_of.rs:+10:12: +10:20
|
||||
StorageLive(_16); // scope 3 at $DIR/address_of.rs:+11:9: +11:10
|
||||
_16 = &raw const (*_1); // scope 3 at $DIR/address_of.rs:+11:31: +11:32
|
||||
FakeRead(ForLet(None), _16); // scope 3 at $DIR/address_of.rs:+11:9: +11:10
|
||||
AscribeUserType(_16, o, UserTypeProjection { base: UserType(5), projs: [] }); // scope 3 at $DIR/address_of.rs:+11:12: +11:28
|
||||
StorageLive(_17); // scope 4 at $DIR/address_of.rs:+12:9: +12:10
|
||||
StorageLive(_18); // scope 4 at $DIR/address_of.rs:+12:30: +12:31
|
||||
_18 = &raw const (*_1); // scope 4 at $DIR/address_of.rs:+12:30: +12:31
|
||||
_17 = move _18 as *const dyn std::marker::Send (Pointer(Unsize)); // scope 4 at $DIR/address_of.rs:+12:30: +12:31
|
||||
StorageDead(_18); // scope 4 at $DIR/address_of.rs:+12:30: +12:31
|
||||
FakeRead(ForLet(None), _17); // scope 4 at $DIR/address_of.rs:+12:9: +12:10
|
||||
AscribeUserType(_17, o, UserTypeProjection { base: UserType(7), projs: [] }); // scope 4 at $DIR/address_of.rs:+12:12: +12:27
|
||||
StorageLive(_19); // scope 5 at $DIR/address_of.rs:+13:9: +13:10
|
||||
StorageLive(_20); // scope 5 at $DIR/address_of.rs:+13:27: +13:28
|
||||
_20 = &raw const (*_1); // scope 5 at $DIR/address_of.rs:+13:27: +13:28
|
||||
_19 = move _20 as *const [i32] (Pointer(Unsize)); // scope 5 at $DIR/address_of.rs:+13:27: +13:28
|
||||
StorageDead(_20); // scope 5 at $DIR/address_of.rs:+13:27: +13:28
|
||||
FakeRead(ForLet(None), _19); // scope 5 at $DIR/address_of.rs:+13:9: +13:10
|
||||
AscribeUserType(_19, o, UserTypeProjection { base: UserType(9), projs: [] }); // scope 5 at $DIR/address_of.rs:+13:12: +13:24
|
||||
StorageLive(_21); // scope 6 at $DIR/address_of.rs:+15:5: +15:18
|
||||
StorageLive(_22); // scope 6 at $DIR/address_of.rs:+15:5: +15:18
|
||||
_22 = &raw const (*_3); // scope 6 at $DIR/address_of.rs:+15:5: +15:6
|
||||
AscribeUserType(_22, o, UserTypeProjection { base: UserType(10), projs: [] }); // scope 6 at $DIR/address_of.rs:+15:5: +15:18
|
||||
_21 = _22; // scope 6 at $DIR/address_of.rs:+15:5: +15:18
|
||||
StorageDead(_22); // scope 6 at $DIR/address_of.rs:+15:18: +15:19
|
||||
StorageDead(_21); // scope 6 at $DIR/address_of.rs:+15:18: +15:19
|
||||
StorageLive(_23); // scope 6 at $DIR/address_of.rs:+16:5: +16:26
|
||||
_23 = &raw const (*_3); // scope 6 at $DIR/address_of.rs:+16:5: +16:6
|
||||
StorageDead(_23); // scope 6 at $DIR/address_of.rs:+16:26: +16:27
|
||||
StorageLive(_24); // scope 6 at $DIR/address_of.rs:+17:5: +17:25
|
||||
StorageLive(_25); // scope 6 at $DIR/address_of.rs:+17:5: +17:25
|
||||
StorageLive(_26); // scope 6 at $DIR/address_of.rs:+17:5: +17:6
|
||||
_26 = &raw const (*_3); // scope 6 at $DIR/address_of.rs:+17:5: +17:6
|
||||
_25 = move _26 as *const dyn std::marker::Send (Pointer(Unsize)); // scope 6 at $DIR/address_of.rs:+17:5: +17:6
|
||||
StorageDead(_26); // scope 6 at $DIR/address_of.rs:+17:5: +17:6
|
||||
AscribeUserType(_25, o, UserTypeProjection { base: UserType(11), projs: [] }); // scope 6 at $DIR/address_of.rs:+17:5: +17:25
|
||||
_24 = _25; // scope 6 at $DIR/address_of.rs:+17:5: +17:25
|
||||
StorageDead(_25); // scope 6 at $DIR/address_of.rs:+17:25: +17:26
|
||||
StorageDead(_24); // scope 6 at $DIR/address_of.rs:+17:25: +17:26
|
||||
StorageLive(_27); // scope 6 at $DIR/address_of.rs:+18:5: +18:22
|
||||
StorageLive(_28); // scope 6 at $DIR/address_of.rs:+18:5: +18:6
|
||||
_28 = &raw const (*_3); // scope 6 at $DIR/address_of.rs:+18:5: +18:6
|
||||
_27 = move _28 as *const [i32] (Pointer(Unsize)); // scope 6 at $DIR/address_of.rs:+18:5: +18:6
|
||||
StorageDead(_28); // scope 6 at $DIR/address_of.rs:+18:5: +18:6
|
||||
StorageDead(_27); // scope 6 at $DIR/address_of.rs:+18:22: +18:23
|
||||
StorageLive(_29); // scope 6 at $DIR/address_of.rs:+20:9: +20:10
|
||||
_29 = &raw const (*_3); // scope 6 at $DIR/address_of.rs:+20:23: +20:24
|
||||
FakeRead(ForLet(None), _29); // scope 6 at $DIR/address_of.rs:+20:9: +20:10
|
||||
AscribeUserType(_29, o, UserTypeProjection { base: UserType(13), projs: [] }); // scope 6 at $DIR/address_of.rs:+20:12: +20:20
|
||||
StorageLive(_30); // scope 7 at $DIR/address_of.rs:+21:9: +21:10
|
||||
_30 = &raw const (*_3); // scope 7 at $DIR/address_of.rs:+21:31: +21:32
|
||||
FakeRead(ForLet(None), _30); // scope 7 at $DIR/address_of.rs:+21:9: +21:10
|
||||
AscribeUserType(_30, o, UserTypeProjection { base: UserType(15), projs: [] }); // scope 7 at $DIR/address_of.rs:+21:12: +21:28
|
||||
StorageLive(_31); // scope 8 at $DIR/address_of.rs:+22:9: +22:10
|
||||
StorageLive(_32); // scope 8 at $DIR/address_of.rs:+22:30: +22:31
|
||||
_32 = &raw const (*_3); // scope 8 at $DIR/address_of.rs:+22:30: +22:31
|
||||
_31 = move _32 as *const dyn std::marker::Send (Pointer(Unsize)); // scope 8 at $DIR/address_of.rs:+22:30: +22:31
|
||||
StorageDead(_32); // scope 8 at $DIR/address_of.rs:+22:30: +22:31
|
||||
FakeRead(ForLet(None), _31); // scope 8 at $DIR/address_of.rs:+22:9: +22:10
|
||||
AscribeUserType(_31, o, UserTypeProjection { base: UserType(17), projs: [] }); // scope 8 at $DIR/address_of.rs:+22:12: +22:27
|
||||
StorageLive(_33); // scope 9 at $DIR/address_of.rs:+23:9: +23:10
|
||||
StorageLive(_34); // scope 9 at $DIR/address_of.rs:+23:27: +23:28
|
||||
_34 = &raw const (*_3); // scope 9 at $DIR/address_of.rs:+23:27: +23:28
|
||||
_33 = move _34 as *const [i32] (Pointer(Unsize)); // scope 9 at $DIR/address_of.rs:+23:27: +23:28
|
||||
StorageDead(_34); // scope 9 at $DIR/address_of.rs:+23:27: +23:28
|
||||
FakeRead(ForLet(None), _33); // scope 9 at $DIR/address_of.rs:+23:9: +23:10
|
||||
AscribeUserType(_33, o, UserTypeProjection { base: UserType(19), projs: [] }); // scope 9 at $DIR/address_of.rs:+23:12: +23:24
|
||||
StorageLive(_35); // scope 10 at $DIR/address_of.rs:+25:5: +25:16
|
||||
StorageLive(_36); // scope 10 at $DIR/address_of.rs:+25:5: +25:16
|
||||
_36 = &raw mut (*_3); // scope 10 at $DIR/address_of.rs:+25:5: +25:6
|
||||
AscribeUserType(_36, o, UserTypeProjection { base: UserType(20), projs: [] }); // scope 10 at $DIR/address_of.rs:+25:5: +25:16
|
||||
_35 = _36; // scope 10 at $DIR/address_of.rs:+25:5: +25:16
|
||||
StorageDead(_36); // scope 10 at $DIR/address_of.rs:+25:16: +25:17
|
||||
StorageDead(_35); // scope 10 at $DIR/address_of.rs:+25:16: +25:17
|
||||
StorageLive(_37); // scope 10 at $DIR/address_of.rs:+26:5: +26:24
|
||||
_37 = &raw mut (*_3); // scope 10 at $DIR/address_of.rs:+26:5: +26:6
|
||||
StorageDead(_37); // scope 10 at $DIR/address_of.rs:+26:24: +26:25
|
||||
StorageLive(_38); // scope 10 at $DIR/address_of.rs:+27:5: +27:23
|
||||
StorageLive(_39); // scope 10 at $DIR/address_of.rs:+27:5: +27:23
|
||||
StorageLive(_40); // scope 10 at $DIR/address_of.rs:+27:5: +27:6
|
||||
_40 = &raw mut (*_3); // scope 10 at $DIR/address_of.rs:+27:5: +27:6
|
||||
_39 = move _40 as *mut dyn std::marker::Send (Pointer(Unsize)); // scope 10 at $DIR/address_of.rs:+27:5: +27:6
|
||||
StorageDead(_40); // scope 10 at $DIR/address_of.rs:+27:5: +27:6
|
||||
AscribeUserType(_39, o, UserTypeProjection { base: UserType(21), projs: [] }); // scope 10 at $DIR/address_of.rs:+27:5: +27:23
|
||||
_38 = _39; // scope 10 at $DIR/address_of.rs:+27:5: +27:23
|
||||
StorageDead(_39); // scope 10 at $DIR/address_of.rs:+27:23: +27:24
|
||||
StorageDead(_38); // scope 10 at $DIR/address_of.rs:+27:23: +27:24
|
||||
StorageLive(_41); // scope 10 at $DIR/address_of.rs:+28:5: +28:20
|
||||
StorageLive(_42); // scope 10 at $DIR/address_of.rs:+28:5: +28:6
|
||||
_42 = &raw mut (*_3); // scope 10 at $DIR/address_of.rs:+28:5: +28:6
|
||||
_41 = move _42 as *mut [i32] (Pointer(Unsize)); // scope 10 at $DIR/address_of.rs:+28:5: +28:6
|
||||
StorageDead(_42); // scope 10 at $DIR/address_of.rs:+28:5: +28:6
|
||||
StorageDead(_41); // scope 10 at $DIR/address_of.rs:+28:20: +28:21
|
||||
StorageLive(_43); // scope 10 at $DIR/address_of.rs:+30:9: +30:10
|
||||
_43 = &raw mut (*_3); // scope 10 at $DIR/address_of.rs:+30:21: +30:22
|
||||
FakeRead(ForLet(None), _43); // scope 10 at $DIR/address_of.rs:+30:9: +30:10
|
||||
AscribeUserType(_43, o, UserTypeProjection { base: UserType(23), projs: [] }); // scope 10 at $DIR/address_of.rs:+30:12: +30:18
|
||||
StorageLive(_44); // scope 11 at $DIR/address_of.rs:+31:9: +31:10
|
||||
_44 = &raw mut (*_3); // scope 11 at $DIR/address_of.rs:+31:29: +31:30
|
||||
FakeRead(ForLet(None), _44); // scope 11 at $DIR/address_of.rs:+31:9: +31:10
|
||||
AscribeUserType(_44, o, UserTypeProjection { base: UserType(25), projs: [] }); // scope 11 at $DIR/address_of.rs:+31:12: +31:26
|
||||
StorageLive(_45); // scope 12 at $DIR/address_of.rs:+32:9: +32:10
|
||||
StorageLive(_46); // scope 12 at $DIR/address_of.rs:+32:28: +32:29
|
||||
_46 = &raw mut (*_3); // scope 12 at $DIR/address_of.rs:+32:28: +32:29
|
||||
_45 = move _46 as *mut dyn std::marker::Send (Pointer(Unsize)); // scope 12 at $DIR/address_of.rs:+32:28: +32:29
|
||||
StorageDead(_46); // scope 12 at $DIR/address_of.rs:+32:28: +32:29
|
||||
FakeRead(ForLet(None), _45); // scope 12 at $DIR/address_of.rs:+32:9: +32:10
|
||||
AscribeUserType(_45, o, UserTypeProjection { base: UserType(27), projs: [] }); // scope 12 at $DIR/address_of.rs:+32:12: +32:25
|
||||
StorageLive(_47); // scope 13 at $DIR/address_of.rs:+33:9: +33:10
|
||||
StorageLive(_48); // scope 13 at $DIR/address_of.rs:+33:25: +33:26
|
||||
_48 = &raw mut (*_3); // scope 13 at $DIR/address_of.rs:+33:25: +33:26
|
||||
_47 = move _48 as *mut [i32] (Pointer(Unsize)); // scope 13 at $DIR/address_of.rs:+33:25: +33:26
|
||||
StorageDead(_48); // scope 13 at $DIR/address_of.rs:+33:25: +33:26
|
||||
FakeRead(ForLet(None), _47); // scope 13 at $DIR/address_of.rs:+33:9: +33:10
|
||||
AscribeUserType(_47, o, UserTypeProjection { base: UserType(29), projs: [] }); // scope 13 at $DIR/address_of.rs:+33:12: +33:22
|
||||
_0 = const (); // scope 0 at $DIR/address_of.rs:+0:26: +34:2
|
||||
StorageDead(_47); // scope 13 at $DIR/address_of.rs:+34:1: +34:2
|
||||
StorageDead(_45); // scope 12 at $DIR/address_of.rs:+34:1: +34:2
|
||||
StorageDead(_44); // scope 11 at $DIR/address_of.rs:+34:1: +34:2
|
||||
StorageDead(_43); // scope 10 at $DIR/address_of.rs:+34:1: +34:2
|
||||
StorageDead(_33); // scope 9 at $DIR/address_of.rs:+34:1: +34:2
|
||||
StorageDead(_31); // scope 8 at $DIR/address_of.rs:+34:1: +34:2
|
||||
StorageDead(_30); // scope 7 at $DIR/address_of.rs:+34:1: +34:2
|
||||
StorageDead(_29); // scope 6 at $DIR/address_of.rs:+34:1: +34:2
|
||||
StorageDead(_19); // scope 5 at $DIR/address_of.rs:+34:1: +34:2
|
||||
StorageDead(_17); // scope 4 at $DIR/address_of.rs:+34:1: +34:2
|
||||
StorageDead(_16); // scope 3 at $DIR/address_of.rs:+34:1: +34:2
|
||||
StorageDead(_15); // scope 2 at $DIR/address_of.rs:+34:1: +34:2
|
||||
StorageDead(_4); // scope 1 at $DIR/address_of.rs:+34:1: +34:2
|
||||
StorageDead(_3); // scope 1 at $DIR/address_of.rs:+34:1: +34:2
|
||||
StorageDead(_2); // scope 0 at $DIR/address_of.rs:+34:1: +34:2
|
||||
StorageDead(_1); // scope 0 at $DIR/address_of.rs:+34:1: +34:2
|
||||
return; // scope 0 at $DIR/address_of.rs:+34:2: +34:2
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,47 +1,47 @@
|
|||
// MIR for `borrow_and_cast` after SimplifyCfg-initial
|
||||
|
||||
fn borrow_and_cast(_1: i32) -> () {
|
||||
debug x => _1; // in scope 0 at $DIR/address-of.rs:+0:20: +0:25
|
||||
let mut _0: (); // return place in scope 0 at $DIR/address-of.rs:+0:32: +0:32
|
||||
let _2: *const i32; // in scope 0 at $DIR/address-of.rs:+1:9: +1:10
|
||||
let _3: &i32; // in scope 0 at $DIR/address-of.rs:+1:13: +1:15
|
||||
let _5: &mut i32; // in scope 0 at $DIR/address-of.rs:+2:13: +2:19
|
||||
let mut _7: &mut i32; // in scope 0 at $DIR/address-of.rs:+3:13: +3:19
|
||||
debug x => _1; // in scope 0 at $DIR/address_of.rs:+0:20: +0:25
|
||||
let mut _0: (); // return place in scope 0 at $DIR/address_of.rs:+0:32: +0:32
|
||||
let _2: *const i32; // in scope 0 at $DIR/address_of.rs:+1:9: +1:10
|
||||
let _3: &i32; // in scope 0 at $DIR/address_of.rs:+1:13: +1:15
|
||||
let _5: &mut i32; // in scope 0 at $DIR/address_of.rs:+2:13: +2:19
|
||||
let mut _7: &mut i32; // in scope 0 at $DIR/address_of.rs:+3:13: +3:19
|
||||
scope 1 {
|
||||
debug p => _2; // in scope 1 at $DIR/address-of.rs:+1:9: +1:10
|
||||
let _4: *const i32; // in scope 1 at $DIR/address-of.rs:+2:9: +2:10
|
||||
debug p => _2; // in scope 1 at $DIR/address_of.rs:+1:9: +1:10
|
||||
let _4: *const i32; // in scope 1 at $DIR/address_of.rs:+2:9: +2:10
|
||||
scope 2 {
|
||||
debug q => _4; // in scope 2 at $DIR/address-of.rs:+2:9: +2:10
|
||||
let _6: *mut i32; // in scope 2 at $DIR/address-of.rs:+3:9: +3:10
|
||||
debug q => _4; // in scope 2 at $DIR/address_of.rs:+2:9: +2:10
|
||||
let _6: *mut i32; // in scope 2 at $DIR/address_of.rs:+3:9: +3:10
|
||||
scope 3 {
|
||||
debug r => _6; // in scope 3 at $DIR/address-of.rs:+3:9: +3:10
|
||||
debug r => _6; // in scope 3 at $DIR/address_of.rs:+3:9: +3:10
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
bb0: {
|
||||
StorageLive(_2); // scope 0 at $DIR/address-of.rs:+1:9: +1:10
|
||||
StorageLive(_3); // scope 0 at $DIR/address-of.rs:+1:13: +1:15
|
||||
_3 = &_1; // scope 0 at $DIR/address-of.rs:+1:13: +1:15
|
||||
_2 = &raw const (*_3); // scope 0 at $DIR/address-of.rs:+1:13: +1:15
|
||||
FakeRead(ForLet(None), _2); // scope 0 at $DIR/address-of.rs:+1:9: +1:10
|
||||
StorageDead(_3); // scope 0 at $DIR/address-of.rs:+1:29: +1:30
|
||||
StorageLive(_4); // scope 1 at $DIR/address-of.rs:+2:9: +2:10
|
||||
StorageLive(_5); // scope 1 at $DIR/address-of.rs:+2:13: +2:19
|
||||
_5 = &mut _1; // scope 1 at $DIR/address-of.rs:+2:13: +2:19
|
||||
_4 = &raw const (*_5); // scope 1 at $DIR/address-of.rs:+2:13: +2:19
|
||||
FakeRead(ForLet(None), _4); // scope 1 at $DIR/address-of.rs:+2:9: +2:10
|
||||
StorageDead(_5); // scope 1 at $DIR/address-of.rs:+2:33: +2:34
|
||||
StorageLive(_6); // scope 2 at $DIR/address-of.rs:+3:9: +3:10
|
||||
StorageLive(_7); // scope 2 at $DIR/address-of.rs:+3:13: +3:19
|
||||
_7 = &mut _1; // scope 2 at $DIR/address-of.rs:+3:13: +3:19
|
||||
_6 = &raw mut (*_7); // scope 2 at $DIR/address-of.rs:+3:13: +3:19
|
||||
FakeRead(ForLet(None), _6); // scope 2 at $DIR/address-of.rs:+3:9: +3:10
|
||||
StorageDead(_7); // scope 2 at $DIR/address-of.rs:+3:31: +3:32
|
||||
_0 = const (); // scope 0 at $DIR/address-of.rs:+0:32: +4:2
|
||||
StorageDead(_6); // scope 2 at $DIR/address-of.rs:+4:1: +4:2
|
||||
StorageDead(_4); // scope 1 at $DIR/address-of.rs:+4:1: +4:2
|
||||
StorageDead(_2); // scope 0 at $DIR/address-of.rs:+4:1: +4:2
|
||||
return; // scope 0 at $DIR/address-of.rs:+4:2: +4:2
|
||||
StorageLive(_2); // scope 0 at $DIR/address_of.rs:+1:9: +1:10
|
||||
StorageLive(_3); // scope 0 at $DIR/address_of.rs:+1:13: +1:15
|
||||
_3 = &_1; // scope 0 at $DIR/address_of.rs:+1:13: +1:15
|
||||
_2 = &raw const (*_3); // scope 0 at $DIR/address_of.rs:+1:13: +1:15
|
||||
FakeRead(ForLet(None), _2); // scope 0 at $DIR/address_of.rs:+1:9: +1:10
|
||||
StorageDead(_3); // scope 0 at $DIR/address_of.rs:+1:29: +1:30
|
||||
StorageLive(_4); // scope 1 at $DIR/address_of.rs:+2:9: +2:10
|
||||
StorageLive(_5); // scope 1 at $DIR/address_of.rs:+2:13: +2:19
|
||||
_5 = &mut _1; // scope 1 at $DIR/address_of.rs:+2:13: +2:19
|
||||
_4 = &raw const (*_5); // scope 1 at $DIR/address_of.rs:+2:13: +2:19
|
||||
FakeRead(ForLet(None), _4); // scope 1 at $DIR/address_of.rs:+2:9: +2:10
|
||||
StorageDead(_5); // scope 1 at $DIR/address_of.rs:+2:33: +2:34
|
||||
StorageLive(_6); // scope 2 at $DIR/address_of.rs:+3:9: +3:10
|
||||
StorageLive(_7); // scope 2 at $DIR/address_of.rs:+3:13: +3:19
|
||||
_7 = &mut _1; // scope 2 at $DIR/address_of.rs:+3:13: +3:19
|
||||
_6 = &raw mut (*_7); // scope 2 at $DIR/address_of.rs:+3:13: +3:19
|
||||
FakeRead(ForLet(None), _6); // scope 2 at $DIR/address_of.rs:+3:9: +3:10
|
||||
StorageDead(_7); // scope 2 at $DIR/address_of.rs:+3:31: +3:32
|
||||
_0 = const (); // scope 0 at $DIR/address_of.rs:+0:32: +4:2
|
||||
StorageDead(_6); // scope 2 at $DIR/address_of.rs:+4:1: +4:2
|
||||
StorageDead(_4); // scope 1 at $DIR/address_of.rs:+4:1: +4:2
|
||||
StorageDead(_2); // scope 0 at $DIR/address_of.rs:+4:1: +4:2
|
||||
return; // scope 0 at $DIR/address_of.rs:+4:2: +4:2
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,22 +1,22 @@
|
|||
// MIR for `main` after SimplifyCfg-elaborate-drops
|
||||
|
||||
fn main() -> () {
|
||||
let mut _0: (); // return place in scope 0 at $DIR/array-index-is-temporary.rs:+0:11: +0:11
|
||||
let mut _1: [u32; 3]; // in scope 0 at $DIR/array-index-is-temporary.rs:+1:9: +1:14
|
||||
let mut _4: &mut usize; // in scope 0 at $DIR/array-index-is-temporary.rs:+3:25: +3:31
|
||||
let mut _5: u32; // in scope 0 at $DIR/array-index-is-temporary.rs:+4:12: +4:29
|
||||
let mut _6: *mut usize; // in scope 0 at $DIR/array-index-is-temporary.rs:+4:25: +4:26
|
||||
let _7: usize; // in scope 0 at $DIR/array-index-is-temporary.rs:+4:7: +4:8
|
||||
let mut _8: usize; // in scope 0 at $DIR/array-index-is-temporary.rs:+4:5: +4:9
|
||||
let mut _9: bool; // in scope 0 at $DIR/array-index-is-temporary.rs:+4:5: +4:9
|
||||
let mut _0: (); // return place in scope 0 at $DIR/array_index_is_temporary.rs:+0:11: +0:11
|
||||
let mut _1: [u32; 3]; // in scope 0 at $DIR/array_index_is_temporary.rs:+1:9: +1:14
|
||||
let mut _4: &mut usize; // in scope 0 at $DIR/array_index_is_temporary.rs:+3:25: +3:31
|
||||
let mut _5: u32; // in scope 0 at $DIR/array_index_is_temporary.rs:+4:12: +4:29
|
||||
let mut _6: *mut usize; // in scope 0 at $DIR/array_index_is_temporary.rs:+4:25: +4:26
|
||||
let _7: usize; // in scope 0 at $DIR/array_index_is_temporary.rs:+4:7: +4:8
|
||||
let mut _8: usize; // in scope 0 at $DIR/array_index_is_temporary.rs:+4:5: +4:9
|
||||
let mut _9: bool; // in scope 0 at $DIR/array_index_is_temporary.rs:+4:5: +4:9
|
||||
scope 1 {
|
||||
debug x => _1; // in scope 1 at $DIR/array-index-is-temporary.rs:+1:9: +1:14
|
||||
let mut _2: usize; // in scope 1 at $DIR/array-index-is-temporary.rs:+2:9: +2:14
|
||||
debug x => _1; // in scope 1 at $DIR/array_index_is_temporary.rs:+1:9: +1:14
|
||||
let mut _2: usize; // in scope 1 at $DIR/array_index_is_temporary.rs:+2:9: +2:14
|
||||
scope 2 {
|
||||
debug y => _2; // in scope 2 at $DIR/array-index-is-temporary.rs:+2:9: +2:14
|
||||
let _3: *mut usize; // in scope 2 at $DIR/array-index-is-temporary.rs:+3:9: +3:10
|
||||
debug y => _2; // in scope 2 at $DIR/array_index_is_temporary.rs:+2:9: +2:14
|
||||
let _3: *mut usize; // in scope 2 at $DIR/array_index_is_temporary.rs:+3:9: +3:10
|
||||
scope 3 {
|
||||
debug z => _3; // in scope 3 at $DIR/array-index-is-temporary.rs:+3:9: +3:10
|
||||
debug z => _3; // in scope 3 at $DIR/array_index_is_temporary.rs:+3:9: +3:10
|
||||
scope 4 {
|
||||
}
|
||||
}
|
||||
|
@ -24,41 +24,41 @@ fn main() -> () {
|
|||
}
|
||||
|
||||
bb0: {
|
||||
StorageLive(_1); // scope 0 at $DIR/array-index-is-temporary.rs:+1:9: +1:14
|
||||
_1 = [const 42_u32, const 43_u32, const 44_u32]; // scope 0 at $DIR/array-index-is-temporary.rs:+1:17: +1:29
|
||||
StorageLive(_2); // scope 1 at $DIR/array-index-is-temporary.rs:+2:9: +2:14
|
||||
_2 = const 1_usize; // scope 1 at $DIR/array-index-is-temporary.rs:+2:17: +2:18
|
||||
StorageLive(_3); // scope 2 at $DIR/array-index-is-temporary.rs:+3:9: +3:10
|
||||
StorageLive(_4); // scope 2 at $DIR/array-index-is-temporary.rs:+3:25: +3:31
|
||||
_4 = &mut _2; // scope 2 at $DIR/array-index-is-temporary.rs:+3:25: +3:31
|
||||
_3 = &raw mut (*_4); // scope 2 at $DIR/array-index-is-temporary.rs:+3:25: +3:31
|
||||
StorageDead(_4); // scope 2 at $DIR/array-index-is-temporary.rs:+3:31: +3:32
|
||||
StorageLive(_5); // scope 3 at $DIR/array-index-is-temporary.rs:+4:12: +4:29
|
||||
StorageLive(_6); // scope 4 at $DIR/array-index-is-temporary.rs:+4:25: +4:26
|
||||
_6 = _3; // scope 4 at $DIR/array-index-is-temporary.rs:+4:25: +4:26
|
||||
_5 = foo(move _6) -> bb1; // scope 4 at $DIR/array-index-is-temporary.rs:+4:21: +4:27
|
||||
StorageLive(_1); // scope 0 at $DIR/array_index_is_temporary.rs:+1:9: +1:14
|
||||
_1 = [const 42_u32, const 43_u32, const 44_u32]; // scope 0 at $DIR/array_index_is_temporary.rs:+1:17: +1:29
|
||||
StorageLive(_2); // scope 1 at $DIR/array_index_is_temporary.rs:+2:9: +2:14
|
||||
_2 = const 1_usize; // scope 1 at $DIR/array_index_is_temporary.rs:+2:17: +2:18
|
||||
StorageLive(_3); // scope 2 at $DIR/array_index_is_temporary.rs:+3:9: +3:10
|
||||
StorageLive(_4); // scope 2 at $DIR/array_index_is_temporary.rs:+3:25: +3:31
|
||||
_4 = &mut _2; // scope 2 at $DIR/array_index_is_temporary.rs:+3:25: +3:31
|
||||
_3 = &raw mut (*_4); // scope 2 at $DIR/array_index_is_temporary.rs:+3:25: +3:31
|
||||
StorageDead(_4); // scope 2 at $DIR/array_index_is_temporary.rs:+3:31: +3:32
|
||||
StorageLive(_5); // scope 3 at $DIR/array_index_is_temporary.rs:+4:12: +4:29
|
||||
StorageLive(_6); // scope 4 at $DIR/array_index_is_temporary.rs:+4:25: +4:26
|
||||
_6 = _3; // scope 4 at $DIR/array_index_is_temporary.rs:+4:25: +4:26
|
||||
_5 = foo(move _6) -> bb1; // scope 4 at $DIR/array_index_is_temporary.rs:+4:21: +4:27
|
||||
// mir::Constant
|
||||
// + span: $DIR/array-index-is-temporary.rs:16:21: 16:24
|
||||
// + span: $DIR/array_index_is_temporary.rs:16:21: 16:24
|
||||
// + literal: Const { ty: unsafe fn(*mut usize) -> u32 {foo}, val: Value(<ZST>) }
|
||||
}
|
||||
|
||||
bb1: {
|
||||
StorageDead(_6); // scope 4 at $DIR/array-index-is-temporary.rs:+4:26: +4:27
|
||||
StorageLive(_7); // scope 3 at $DIR/array-index-is-temporary.rs:+4:7: +4:8
|
||||
_7 = _2; // scope 3 at $DIR/array-index-is-temporary.rs:+4:7: +4:8
|
||||
_8 = Len(_1); // scope 3 at $DIR/array-index-is-temporary.rs:+4:5: +4:9
|
||||
_9 = Lt(_7, _8); // scope 3 at $DIR/array-index-is-temporary.rs:+4:5: +4:9
|
||||
assert(move _9, "index out of bounds: the length is {} but the index is {}", move _8, _7) -> bb2; // scope 3 at $DIR/array-index-is-temporary.rs:+4:5: +4:9
|
||||
StorageDead(_6); // scope 4 at $DIR/array_index_is_temporary.rs:+4:26: +4:27
|
||||
StorageLive(_7); // scope 3 at $DIR/array_index_is_temporary.rs:+4:7: +4:8
|
||||
_7 = _2; // scope 3 at $DIR/array_index_is_temporary.rs:+4:7: +4:8
|
||||
_8 = Len(_1); // scope 3 at $DIR/array_index_is_temporary.rs:+4:5: +4:9
|
||||
_9 = Lt(_7, _8); // scope 3 at $DIR/array_index_is_temporary.rs:+4:5: +4:9
|
||||
assert(move _9, "index out of bounds: the length is {} but the index is {}", move _8, _7) -> bb2; // scope 3 at $DIR/array_index_is_temporary.rs:+4:5: +4:9
|
||||
}
|
||||
|
||||
bb2: {
|
||||
_1[_7] = move _5; // scope 3 at $DIR/array-index-is-temporary.rs:+4:5: +4:29
|
||||
StorageDead(_5); // scope 3 at $DIR/array-index-is-temporary.rs:+4:28: +4:29
|
||||
StorageDead(_7); // scope 3 at $DIR/array-index-is-temporary.rs:+4:29: +4:30
|
||||
_0 = const (); // scope 0 at $DIR/array-index-is-temporary.rs:+0:11: +5:2
|
||||
StorageDead(_3); // scope 2 at $DIR/array-index-is-temporary.rs:+5:1: +5:2
|
||||
StorageDead(_2); // scope 1 at $DIR/array-index-is-temporary.rs:+5:1: +5:2
|
||||
StorageDead(_1); // scope 0 at $DIR/array-index-is-temporary.rs:+5:1: +5:2
|
||||
return; // scope 0 at $DIR/array-index-is-temporary.rs:+5:2: +5:2
|
||||
_1[_7] = move _5; // scope 3 at $DIR/array_index_is_temporary.rs:+4:5: +4:29
|
||||
StorageDead(_5); // scope 3 at $DIR/array_index_is_temporary.rs:+4:28: +4:29
|
||||
StorageDead(_7); // scope 3 at $DIR/array_index_is_temporary.rs:+4:29: +4:30
|
||||
_0 = const (); // scope 0 at $DIR/array_index_is_temporary.rs:+0:11: +5:2
|
||||
StorageDead(_3); // scope 2 at $DIR/array_index_is_temporary.rs:+5:1: +5:2
|
||||
StorageDead(_2); // scope 1 at $DIR/array_index_is_temporary.rs:+5:1: +5:2
|
||||
StorageDead(_1); // scope 0 at $DIR/array_index_is_temporary.rs:+5:1: +5:2
|
||||
return; // scope 0 at $DIR/array_index_is_temporary.rs:+5:2: +5:2
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,33 +1,33 @@
|
|||
// MIR for `main` after built
|
||||
|
||||
| User Type Annotations
|
||||
| 0: user_ty: Canonical { max_universe: U0, variables: [], value: Ty(std::option::Option<u8>) }, span: $DIR/issue-101867.rs:3:12: 3:22, inferred_ty: std::option::Option<u8>
|
||||
| 1: user_ty: Canonical { max_universe: U0, variables: [], value: Ty(std::option::Option<u8>) }, span: $DIR/issue-101867.rs:3:12: 3:22, inferred_ty: std::option::Option<u8>
|
||||
| 0: user_ty: Canonical { max_universe: U0, variables: [], value: Ty(std::option::Option<u8>) }, span: $DIR/issue_101867.rs:3:12: 3:22, inferred_ty: std::option::Option<u8>
|
||||
| 1: user_ty: Canonical { max_universe: U0, variables: [], value: Ty(std::option::Option<u8>) }, span: $DIR/issue_101867.rs:3:12: 3:22, inferred_ty: std::option::Option<u8>
|
||||
|
|
||||
fn main() -> () {
|
||||
let mut _0: (); // return place in scope 0 at $DIR/issue-101867.rs:+0:11: +0:11
|
||||
let _1: std::option::Option<u8> as UserTypeProjection { base: UserType(0), projs: [] }; // in scope 0 at $DIR/issue-101867.rs:+1:9: +1:10
|
||||
let mut _2: !; // in scope 0 at $DIR/issue-101867.rs:+2:26: +4:6
|
||||
let mut _0: (); // return place in scope 0 at $DIR/issue_101867.rs:+0:11: +0:11
|
||||
let _1: std::option::Option<u8> as UserTypeProjection { base: UserType(0), projs: [] }; // in scope 0 at $DIR/issue_101867.rs:+1:9: +1:10
|
||||
let mut _2: !; // in scope 0 at $DIR/issue_101867.rs:+2:26: +4:6
|
||||
let _3: (); // in scope 0 at $SRC_DIR/std/src/panic.rs:LL:COL
|
||||
let mut _4: !; // in scope 0 at $SRC_DIR/std/src/panic.rs:LL:COL
|
||||
let mut _6: isize; // in scope 0 at $DIR/issue-101867.rs:+2:9: +2:16
|
||||
let mut _6: isize; // in scope 0 at $DIR/issue_101867.rs:+2:9: +2:16
|
||||
scope 1 {
|
||||
debug x => _1; // in scope 1 at $DIR/issue-101867.rs:+1:9: +1:10
|
||||
let _5: u8; // in scope 1 at $DIR/issue-101867.rs:+2:14: +2:15
|
||||
debug x => _1; // in scope 1 at $DIR/issue_101867.rs:+1:9: +1:10
|
||||
let _5: u8; // in scope 1 at $DIR/issue_101867.rs:+2:14: +2:15
|
||||
scope 2 {
|
||||
debug y => _5; // in scope 2 at $DIR/issue-101867.rs:+2:14: +2:15
|
||||
debug y => _5; // in scope 2 at $DIR/issue_101867.rs:+2:14: +2:15
|
||||
}
|
||||
}
|
||||
|
||||
bb0: {
|
||||
StorageLive(_1); // scope 0 at $DIR/issue-101867.rs:+1:9: +1:10
|
||||
_1 = Option::<u8>::Some(const 1_u8); // scope 0 at $DIR/issue-101867.rs:+1:25: +1:32
|
||||
FakeRead(ForLet(None), _1); // scope 0 at $DIR/issue-101867.rs:+1:9: +1:10
|
||||
AscribeUserType(_1, o, UserTypeProjection { base: UserType(1), projs: [] }); // scope 0 at $DIR/issue-101867.rs:+1:12: +1:22
|
||||
StorageLive(_5); // scope 1 at $DIR/issue-101867.rs:+2:14: +2:15
|
||||
FakeRead(ForMatchedPlace(None), _1); // scope 1 at $DIR/issue-101867.rs:+2:19: +2:20
|
||||
_6 = discriminant(_1); // scope 1 at $DIR/issue-101867.rs:+2:19: +2:20
|
||||
switchInt(move _6) -> [1_isize: bb4, otherwise: bb3]; // scope 1 at $DIR/issue-101867.rs:+2:9: +2:16
|
||||
StorageLive(_1); // scope 0 at $DIR/issue_101867.rs:+1:9: +1:10
|
||||
_1 = Option::<u8>::Some(const 1_u8); // scope 0 at $DIR/issue_101867.rs:+1:25: +1:32
|
||||
FakeRead(ForLet(None), _1); // scope 0 at $DIR/issue_101867.rs:+1:9: +1:10
|
||||
AscribeUserType(_1, o, UserTypeProjection { base: UserType(1), projs: [] }); // scope 0 at $DIR/issue_101867.rs:+1:12: +1:22
|
||||
StorageLive(_5); // scope 1 at $DIR/issue_101867.rs:+2:14: +2:15
|
||||
FakeRead(ForMatchedPlace(None), _1); // scope 1 at $DIR/issue_101867.rs:+2:19: +2:20
|
||||
_6 = discriminant(_1); // scope 1 at $DIR/issue_101867.rs:+2:19: +2:20
|
||||
switchInt(move _6) -> [1_isize: bb4, otherwise: bb3]; // scope 1 at $DIR/issue_101867.rs:+2:9: +2:16
|
||||
}
|
||||
|
||||
bb1: {
|
||||
|
@ -44,32 +44,32 @@ fn main() -> () {
|
|||
|
||||
bb2: {
|
||||
StorageDead(_4); // scope 1 at $SRC_DIR/std/src/panic.rs:LL:COL
|
||||
StorageDead(_3); // scope 1 at $DIR/issue-101867.rs:+3:16: +3:17
|
||||
unreachable; // scope 1 at $DIR/issue-101867.rs:+2:26: +4:6
|
||||
StorageDead(_3); // scope 1 at $DIR/issue_101867.rs:+3:16: +3:17
|
||||
unreachable; // scope 1 at $DIR/issue_101867.rs:+2:26: +4:6
|
||||
}
|
||||
|
||||
bb3: {
|
||||
goto -> bb6; // scope 1 at $DIR/issue-101867.rs:+2:19: +2:20
|
||||
goto -> bb6; // scope 1 at $DIR/issue_101867.rs:+2:19: +2:20
|
||||
}
|
||||
|
||||
bb4: {
|
||||
falseEdge -> [real: bb5, imaginary: bb3]; // scope 1 at $DIR/issue-101867.rs:+2:9: +2:16
|
||||
falseEdge -> [real: bb5, imaginary: bb3]; // scope 1 at $DIR/issue_101867.rs:+2:9: +2:16
|
||||
}
|
||||
|
||||
bb5: {
|
||||
_5 = ((_1 as Some).0: u8); // scope 1 at $DIR/issue-101867.rs:+2:14: +2:15
|
||||
_0 = const (); // scope 0 at $DIR/issue-101867.rs:+0:11: +5:2
|
||||
StorageDead(_5); // scope 1 at $DIR/issue-101867.rs:+5:1: +5:2
|
||||
StorageDead(_1); // scope 0 at $DIR/issue-101867.rs:+5:1: +5:2
|
||||
return; // scope 0 at $DIR/issue-101867.rs:+5:2: +5:2
|
||||
_5 = ((_1 as Some).0: u8); // scope 1 at $DIR/issue_101867.rs:+2:14: +2:15
|
||||
_0 = const (); // scope 0 at $DIR/issue_101867.rs:+0:11: +5:2
|
||||
StorageDead(_5); // scope 1 at $DIR/issue_101867.rs:+5:1: +5:2
|
||||
StorageDead(_1); // scope 0 at $DIR/issue_101867.rs:+5:1: +5:2
|
||||
return; // scope 0 at $DIR/issue_101867.rs:+5:2: +5:2
|
||||
}
|
||||
|
||||
bb6: {
|
||||
StorageDead(_5); // scope 1 at $DIR/issue-101867.rs:+5:1: +5:2
|
||||
goto -> bb1; // scope 0 at $DIR/issue-101867.rs:+0:11: +5:2
|
||||
StorageDead(_5); // scope 1 at $DIR/issue_101867.rs:+5:1: +5:2
|
||||
goto -> bb1; // scope 0 at $DIR/issue_101867.rs:+0:11: +5:2
|
||||
}
|
||||
|
||||
bb7 (cleanup): {
|
||||
resume; // scope 0 at $DIR/issue-101867.rs:+0:1: +5:2
|
||||
resume; // scope 0 at $DIR/issue_101867.rs:+0:1: +5:2
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,82 +1,82 @@
|
|||
// MIR for `main` after built
|
||||
|
||||
fn main() -> () {
|
||||
let mut _0: (); // return place in scope 0 at $DIR/issue-49232.rs:+0:11: +0:11
|
||||
let mut _1: (); // in scope 0 at $DIR/issue-49232.rs:+0:1: +10:2
|
||||
let _2: i32; // in scope 0 at $DIR/issue-49232.rs:+2:13: +2:19
|
||||
let mut _3: bool; // in scope 0 at $DIR/issue-49232.rs:+3:19: +3:23
|
||||
let mut _4: !; // in scope 0 at $DIR/issue-49232.rs:+5:25: +5:30
|
||||
let _5: (); // in scope 0 at $DIR/issue-49232.rs:+8:9: +8:22
|
||||
let mut _6: &i32; // in scope 0 at $DIR/issue-49232.rs:+8:14: +8:21
|
||||
let mut _0: (); // return place in scope 0 at $DIR/issue_49232.rs:+0:11: +0:11
|
||||
let mut _1: (); // in scope 0 at $DIR/issue_49232.rs:+0:1: +10:2
|
||||
let _2: i32; // in scope 0 at $DIR/issue_49232.rs:+2:13: +2:19
|
||||
let mut _3: bool; // in scope 0 at $DIR/issue_49232.rs:+3:19: +3:23
|
||||
let mut _4: !; // in scope 0 at $DIR/issue_49232.rs:+5:25: +5:30
|
||||
let _5: (); // in scope 0 at $DIR/issue_49232.rs:+8:9: +8:22
|
||||
let mut _6: &i32; // in scope 0 at $DIR/issue_49232.rs:+8:14: +8:21
|
||||
scope 1 {
|
||||
debug beacon => _2; // in scope 1 at $DIR/issue-49232.rs:+2:13: +2:19
|
||||
debug beacon => _2; // in scope 1 at $DIR/issue_49232.rs:+2:13: +2:19
|
||||
}
|
||||
|
||||
bb0: {
|
||||
goto -> bb1; // scope 0 at $DIR/issue-49232.rs:+1:5: +9:6
|
||||
goto -> bb1; // scope 0 at $DIR/issue_49232.rs:+1:5: +9:6
|
||||
}
|
||||
|
||||
bb1: {
|
||||
falseUnwind -> [real: bb2, cleanup: bb11]; // scope 0 at $DIR/issue-49232.rs:+1:5: +9:6
|
||||
falseUnwind -> [real: bb2, cleanup: bb11]; // scope 0 at $DIR/issue_49232.rs:+1:5: +9:6
|
||||
}
|
||||
|
||||
bb2: {
|
||||
StorageLive(_2); // scope 0 at $DIR/issue-49232.rs:+2:13: +2:19
|
||||
StorageLive(_3); // scope 0 at $DIR/issue-49232.rs:+3:19: +3:23
|
||||
_3 = const true; // scope 0 at $DIR/issue-49232.rs:+3:19: +3:23
|
||||
FakeRead(ForMatchedPlace(None), _3); // scope 0 at $DIR/issue-49232.rs:+3:19: +3:23
|
||||
switchInt(_3) -> [false: bb3, otherwise: bb4]; // scope 0 at $DIR/issue-49232.rs:+3:13: +3:23
|
||||
StorageLive(_2); // scope 0 at $DIR/issue_49232.rs:+2:13: +2:19
|
||||
StorageLive(_3); // scope 0 at $DIR/issue_49232.rs:+3:19: +3:23
|
||||
_3 = const true; // scope 0 at $DIR/issue_49232.rs:+3:19: +3:23
|
||||
FakeRead(ForMatchedPlace(None), _3); // scope 0 at $DIR/issue_49232.rs:+3:19: +3:23
|
||||
switchInt(_3) -> [false: bb3, otherwise: bb4]; // scope 0 at $DIR/issue_49232.rs:+3:13: +3:23
|
||||
}
|
||||
|
||||
bb3: {
|
||||
falseEdge -> [real: bb5, imaginary: bb4]; // scope 0 at $DIR/issue-49232.rs:+4:17: +4:22
|
||||
falseEdge -> [real: bb5, imaginary: bb4]; // scope 0 at $DIR/issue_49232.rs:+4:17: +4:22
|
||||
}
|
||||
|
||||
bb4: {
|
||||
_0 = const (); // scope 0 at $DIR/issue-49232.rs:+5:25: +5:30
|
||||
goto -> bb10; // scope 0 at $DIR/issue-49232.rs:+5:25: +5:30
|
||||
_0 = const (); // scope 0 at $DIR/issue_49232.rs:+5:25: +5:30
|
||||
goto -> bb10; // scope 0 at $DIR/issue_49232.rs:+5:25: +5:30
|
||||
}
|
||||
|
||||
bb5: {
|
||||
_2 = const 4_i32; // scope 0 at $DIR/issue-49232.rs:+4:26: +4:27
|
||||
goto -> bb8; // scope 0 at $DIR/issue-49232.rs:+4:26: +4:27
|
||||
_2 = const 4_i32; // scope 0 at $DIR/issue_49232.rs:+4:26: +4:27
|
||||
goto -> bb8; // scope 0 at $DIR/issue_49232.rs:+4:26: +4:27
|
||||
}
|
||||
|
||||
bb6: {
|
||||
unreachable; // scope 0 at $DIR/issue-49232.rs:+5:25: +5:30
|
||||
unreachable; // scope 0 at $DIR/issue_49232.rs:+5:25: +5:30
|
||||
}
|
||||
|
||||
bb7: {
|
||||
goto -> bb8; // scope 0 at $DIR/issue-49232.rs:+6:13: +6:14
|
||||
goto -> bb8; // scope 0 at $DIR/issue_49232.rs:+6:13: +6:14
|
||||
}
|
||||
|
||||
bb8: {
|
||||
FakeRead(ForLet(None), _2); // scope 0 at $DIR/issue-49232.rs:+2:13: +2:19
|
||||
StorageDead(_3); // scope 0 at $DIR/issue-49232.rs:+7:10: +7:11
|
||||
StorageLive(_5); // scope 1 at $DIR/issue-49232.rs:+8:9: +8:22
|
||||
StorageLive(_6); // scope 1 at $DIR/issue-49232.rs:+8:14: +8:21
|
||||
_6 = &_2; // scope 1 at $DIR/issue-49232.rs:+8:14: +8:21
|
||||
_5 = std::mem::drop::<&i32>(move _6) -> [return: bb9, unwind: bb11]; // scope 1 at $DIR/issue-49232.rs:+8:9: +8:22
|
||||
FakeRead(ForLet(None), _2); // scope 0 at $DIR/issue_49232.rs:+2:13: +2:19
|
||||
StorageDead(_3); // scope 0 at $DIR/issue_49232.rs:+7:10: +7:11
|
||||
StorageLive(_5); // scope 1 at $DIR/issue_49232.rs:+8:9: +8:22
|
||||
StorageLive(_6); // scope 1 at $DIR/issue_49232.rs:+8:14: +8:21
|
||||
_6 = &_2; // scope 1 at $DIR/issue_49232.rs:+8:14: +8:21
|
||||
_5 = std::mem::drop::<&i32>(move _6) -> [return: bb9, unwind: bb11]; // scope 1 at $DIR/issue_49232.rs:+8:9: +8:22
|
||||
// mir::Constant
|
||||
// + span: $DIR/issue-49232.rs:13:9: 13:13
|
||||
// + span: $DIR/issue_49232.rs:13:9: 13:13
|
||||
// + literal: Const { ty: fn(&i32) {std::mem::drop::<&i32>}, val: Value(<ZST>) }
|
||||
}
|
||||
|
||||
bb9: {
|
||||
StorageDead(_6); // scope 1 at $DIR/issue-49232.rs:+8:21: +8:22
|
||||
StorageDead(_5); // scope 1 at $DIR/issue-49232.rs:+8:22: +8:23
|
||||
_1 = const (); // scope 0 at $DIR/issue-49232.rs:+1:10: +9:6
|
||||
StorageDead(_2); // scope 0 at $DIR/issue-49232.rs:+9:5: +9:6
|
||||
goto -> bb1; // scope 0 at $DIR/issue-49232.rs:+1:5: +9:6
|
||||
StorageDead(_6); // scope 1 at $DIR/issue_49232.rs:+8:21: +8:22
|
||||
StorageDead(_5); // scope 1 at $DIR/issue_49232.rs:+8:22: +8:23
|
||||
_1 = const (); // scope 0 at $DIR/issue_49232.rs:+1:10: +9:6
|
||||
StorageDead(_2); // scope 0 at $DIR/issue_49232.rs:+9:5: +9:6
|
||||
goto -> bb1; // scope 0 at $DIR/issue_49232.rs:+1:5: +9:6
|
||||
}
|
||||
|
||||
bb10: {
|
||||
StorageDead(_3); // scope 0 at $DIR/issue-49232.rs:+7:10: +7:11
|
||||
StorageDead(_2); // scope 0 at $DIR/issue-49232.rs:+9:5: +9:6
|
||||
return; // scope 0 at $DIR/issue-49232.rs:+10:2: +10:2
|
||||
StorageDead(_3); // scope 0 at $DIR/issue_49232.rs:+7:10: +7:11
|
||||
StorageDead(_2); // scope 0 at $DIR/issue_49232.rs:+9:5: +9:6
|
||||
return; // scope 0 at $DIR/issue_49232.rs:+10:2: +10:2
|
||||
}
|
||||
|
||||
bb11 (cleanup): {
|
||||
resume; // scope 0 at $DIR/issue-49232.rs:+0:1: +10:2
|
||||
resume; // scope 0 at $DIR/issue_49232.rs:+0:1: +10:2
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,96 +1,96 @@
|
|||
// MIR for `main` after built
|
||||
|
||||
| User Type Annotations
|
||||
| 0: user_ty: Canonical { max_universe: U0, variables: [], value: Ty(*mut Test) }, span: $DIR/receiver-ptr-mutability.rs:14:14: 14:23, inferred_ty: *mut Test
|
||||
| 1: user_ty: Canonical { max_universe: U0, variables: [], value: Ty(*mut Test) }, span: $DIR/receiver-ptr-mutability.rs:14:14: 14:23, inferred_ty: *mut Test
|
||||
| 2: user_ty: 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) }, span: $DIR/receiver-ptr-mutability.rs:18:18: 18:31, inferred_ty: &&&&*mut Test
|
||||
| 3: user_ty: 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) }, span: $DIR/receiver-ptr-mutability.rs:18:18: 18:31, inferred_ty: &&&&*mut Test
|
||||
| 0: user_ty: Canonical { max_universe: U0, variables: [], value: Ty(*mut Test) }, span: $DIR/receiver_ptr_mutability.rs:14:14: 14:23, inferred_ty: *mut Test
|
||||
| 1: user_ty: Canonical { max_universe: U0, variables: [], value: Ty(*mut Test) }, span: $DIR/receiver_ptr_mutability.rs:14:14: 14:23, inferred_ty: *mut Test
|
||||
| 2: user_ty: 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) }, span: $DIR/receiver_ptr_mutability.rs:18:18: 18:31, inferred_ty: &&&&*mut Test
|
||||
| 3: user_ty: 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) }, span: $DIR/receiver_ptr_mutability.rs:18:18: 18:31, inferred_ty: &&&&*mut Test
|
||||
|
|
||||
fn main() -> () {
|
||||
let mut _0: (); // return place in scope 0 at $DIR/receiver-ptr-mutability.rs:+0:11: +0:11
|
||||
let _1: *mut Test as UserTypeProjection { base: UserType(0), projs: [] }; // in scope 0 at $DIR/receiver-ptr-mutability.rs:+1:9: +1:12
|
||||
let _2: (); // in scope 0 at $DIR/receiver-ptr-mutability.rs:+2:5: +2:12
|
||||
let mut _3: *const Test; // in scope 0 at $DIR/receiver-ptr-mutability.rs:+2:5: +2:12
|
||||
let mut _4: *mut Test; // in scope 0 at $DIR/receiver-ptr-mutability.rs:+2:5: +2:8
|
||||
let _6: &&&&*mut Test; // in scope 0 at $DIR/receiver-ptr-mutability.rs:+5:34: +5:41
|
||||
let _7: &&&*mut Test; // in scope 0 at $DIR/receiver-ptr-mutability.rs:+5:35: +5:41
|
||||
let _8: &&*mut Test; // in scope 0 at $DIR/receiver-ptr-mutability.rs:+5:36: +5:41
|
||||
let _9: &*mut Test; // in scope 0 at $DIR/receiver-ptr-mutability.rs:+5:37: +5:41
|
||||
let _10: (); // in scope 0 at $DIR/receiver-ptr-mutability.rs:+6:5: +6:16
|
||||
let mut _11: *const Test; // in scope 0 at $DIR/receiver-ptr-mutability.rs:+6:5: +6:16
|
||||
let mut _12: *mut Test; // in scope 0 at $DIR/receiver-ptr-mutability.rs:+6:5: +6:16
|
||||
let mut _0: (); // return place in scope 0 at $DIR/receiver_ptr_mutability.rs:+0:11: +0:11
|
||||
let _1: *mut Test as UserTypeProjection { base: UserType(0), projs: [] }; // in scope 0 at $DIR/receiver_ptr_mutability.rs:+1:9: +1:12
|
||||
let _2: (); // in scope 0 at $DIR/receiver_ptr_mutability.rs:+2:5: +2:12
|
||||
let mut _3: *const Test; // in scope 0 at $DIR/receiver_ptr_mutability.rs:+2:5: +2:12
|
||||
let mut _4: *mut Test; // in scope 0 at $DIR/receiver_ptr_mutability.rs:+2:5: +2:8
|
||||
let _6: &&&&*mut Test; // in scope 0 at $DIR/receiver_ptr_mutability.rs:+5:34: +5:41
|
||||
let _7: &&&*mut Test; // in scope 0 at $DIR/receiver_ptr_mutability.rs:+5:35: +5:41
|
||||
let _8: &&*mut Test; // in scope 0 at $DIR/receiver_ptr_mutability.rs:+5:36: +5:41
|
||||
let _9: &*mut Test; // in scope 0 at $DIR/receiver_ptr_mutability.rs:+5:37: +5:41
|
||||
let _10: (); // in scope 0 at $DIR/receiver_ptr_mutability.rs:+6:5: +6:16
|
||||
let mut _11: *const Test; // in scope 0 at $DIR/receiver_ptr_mutability.rs:+6:5: +6:16
|
||||
let mut _12: *mut Test; // in scope 0 at $DIR/receiver_ptr_mutability.rs:+6:5: +6:16
|
||||
scope 1 {
|
||||
debug ptr => _1; // in scope 1 at $DIR/receiver-ptr-mutability.rs:+1:9: +1:12
|
||||
let _5: &&&&*mut Test as UserTypeProjection { base: UserType(2), projs: [] }; // in scope 1 at $DIR/receiver-ptr-mutability.rs:+5:9: +5:16
|
||||
debug ptr => _1; // in scope 1 at $DIR/receiver_ptr_mutability.rs:+1:9: +1:12
|
||||
let _5: &&&&*mut Test as UserTypeProjection { base: UserType(2), projs: [] }; // in scope 1 at $DIR/receiver_ptr_mutability.rs:+5:9: +5:16
|
||||
scope 2 {
|
||||
debug ptr_ref => _5; // in scope 2 at $DIR/receiver-ptr-mutability.rs:+5:9: +5:16
|
||||
debug ptr_ref => _5; // in scope 2 at $DIR/receiver_ptr_mutability.rs:+5:9: +5:16
|
||||
}
|
||||
}
|
||||
|
||||
bb0: {
|
||||
StorageLive(_1); // scope 0 at $DIR/receiver-ptr-mutability.rs:+1:9: +1:12
|
||||
_1 = null_mut::<Test>() -> [return: bb1, unwind: bb4]; // scope 0 at $DIR/receiver-ptr-mutability.rs:+1:26: +1:46
|
||||
StorageLive(_1); // scope 0 at $DIR/receiver_ptr_mutability.rs:+1:9: +1:12
|
||||
_1 = null_mut::<Test>() -> [return: bb1, unwind: bb4]; // scope 0 at $DIR/receiver_ptr_mutability.rs:+1:26: +1:46
|
||||
// mir::Constant
|
||||
// + span: $DIR/receiver-ptr-mutability.rs:14:26: 14:44
|
||||
// + span: $DIR/receiver_ptr_mutability.rs:14:26: 14:44
|
||||
// + literal: Const { ty: fn() -> *mut Test {null_mut::<Test>}, val: Value(<ZST>) }
|
||||
}
|
||||
|
||||
bb1: {
|
||||
FakeRead(ForLet(None), _1); // scope 0 at $DIR/receiver-ptr-mutability.rs:+1:9: +1:12
|
||||
AscribeUserType(_1, o, UserTypeProjection { base: UserType(1), projs: [] }); // scope 0 at $DIR/receiver-ptr-mutability.rs:+1:14: +1:23
|
||||
StorageLive(_2); // scope 1 at $DIR/receiver-ptr-mutability.rs:+2:5: +2:12
|
||||
StorageLive(_3); // scope 1 at $DIR/receiver-ptr-mutability.rs:+2:5: +2:12
|
||||
StorageLive(_4); // scope 1 at $DIR/receiver-ptr-mutability.rs:+2:5: +2:8
|
||||
_4 = _1; // scope 1 at $DIR/receiver-ptr-mutability.rs:+2:5: +2:8
|
||||
_3 = move _4 as *const Test (Pointer(MutToConstPointer)); // scope 1 at $DIR/receiver-ptr-mutability.rs:+2:5: +2:12
|
||||
StorageDead(_4); // scope 1 at $DIR/receiver-ptr-mutability.rs:+2:7: +2:8
|
||||
_2 = Test::x(move _3) -> [return: bb2, unwind: bb4]; // scope 1 at $DIR/receiver-ptr-mutability.rs:+2:5: +2:12
|
||||
FakeRead(ForLet(None), _1); // scope 0 at $DIR/receiver_ptr_mutability.rs:+1:9: +1:12
|
||||
AscribeUserType(_1, o, UserTypeProjection { base: UserType(1), projs: [] }); // scope 0 at $DIR/receiver_ptr_mutability.rs:+1:14: +1:23
|
||||
StorageLive(_2); // scope 1 at $DIR/receiver_ptr_mutability.rs:+2:5: +2:12
|
||||
StorageLive(_3); // scope 1 at $DIR/receiver_ptr_mutability.rs:+2:5: +2:12
|
||||
StorageLive(_4); // scope 1 at $DIR/receiver_ptr_mutability.rs:+2:5: +2:8
|
||||
_4 = _1; // scope 1 at $DIR/receiver_ptr_mutability.rs:+2:5: +2:8
|
||||
_3 = move _4 as *const Test (Pointer(MutToConstPointer)); // scope 1 at $DIR/receiver_ptr_mutability.rs:+2:5: +2:12
|
||||
StorageDead(_4); // scope 1 at $DIR/receiver_ptr_mutability.rs:+2:7: +2:8
|
||||
_2 = Test::x(move _3) -> [return: bb2, unwind: bb4]; // scope 1 at $DIR/receiver_ptr_mutability.rs:+2:5: +2:12
|
||||
// mir::Constant
|
||||
// + span: $DIR/receiver-ptr-mutability.rs:15:9: 15:10
|
||||
// + span: $DIR/receiver_ptr_mutability.rs:15:9: 15:10
|
||||
// + literal: Const { ty: fn(*const Test) {Test::x}, val: Value(<ZST>) }
|
||||
}
|
||||
|
||||
bb2: {
|
||||
StorageDead(_3); // scope 1 at $DIR/receiver-ptr-mutability.rs:+2:11: +2:12
|
||||
StorageDead(_2); // scope 1 at $DIR/receiver-ptr-mutability.rs:+2:12: +2:13
|
||||
StorageLive(_5); // scope 1 at $DIR/receiver-ptr-mutability.rs:+5:9: +5:16
|
||||
StorageLive(_6); // scope 1 at $DIR/receiver-ptr-mutability.rs:+5:34: +5:41
|
||||
StorageLive(_7); // scope 1 at $DIR/receiver-ptr-mutability.rs:+5:35: +5:41
|
||||
StorageLive(_8); // scope 1 at $DIR/receiver-ptr-mutability.rs:+5:36: +5:41
|
||||
StorageLive(_9); // scope 1 at $DIR/receiver-ptr-mutability.rs:+5:37: +5:41
|
||||
_9 = &_1; // scope 1 at $DIR/receiver-ptr-mutability.rs:+5:37: +5:41
|
||||
_8 = &_9; // scope 1 at $DIR/receiver-ptr-mutability.rs:+5:36: +5:41
|
||||
_7 = &_8; // scope 1 at $DIR/receiver-ptr-mutability.rs:+5:35: +5:41
|
||||
_6 = &_7; // scope 1 at $DIR/receiver-ptr-mutability.rs:+5:34: +5:41
|
||||
_5 = &(*_6); // scope 1 at $DIR/receiver-ptr-mutability.rs:+5:34: +5:41
|
||||
FakeRead(ForLet(None), _5); // scope 1 at $DIR/receiver-ptr-mutability.rs:+5:9: +5:16
|
||||
AscribeUserType(_5, o, UserTypeProjection { base: UserType(3), projs: [] }); // scope 1 at $DIR/receiver-ptr-mutability.rs:+5:18: +5:31
|
||||
StorageDead(_6); // scope 1 at $DIR/receiver-ptr-mutability.rs:+5:41: +5:42
|
||||
StorageLive(_10); // scope 2 at $DIR/receiver-ptr-mutability.rs:+6:5: +6:16
|
||||
StorageLive(_11); // scope 2 at $DIR/receiver-ptr-mutability.rs:+6:5: +6:16
|
||||
StorageLive(_12); // scope 2 at $DIR/receiver-ptr-mutability.rs:+6:5: +6:16
|
||||
_12 = (*(*(*(*_5)))); // scope 2 at $DIR/receiver-ptr-mutability.rs:+6:5: +6:16
|
||||
_11 = move _12 as *const Test (Pointer(MutToConstPointer)); // scope 2 at $DIR/receiver-ptr-mutability.rs:+6:5: +6:16
|
||||
StorageDead(_12); // scope 2 at $DIR/receiver-ptr-mutability.rs:+6:11: +6:12
|
||||
_10 = Test::x(move _11) -> [return: bb3, unwind: bb4]; // scope 2 at $DIR/receiver-ptr-mutability.rs:+6:5: +6:16
|
||||
StorageDead(_3); // scope 1 at $DIR/receiver_ptr_mutability.rs:+2:11: +2:12
|
||||
StorageDead(_2); // scope 1 at $DIR/receiver_ptr_mutability.rs:+2:12: +2:13
|
||||
StorageLive(_5); // scope 1 at $DIR/receiver_ptr_mutability.rs:+5:9: +5:16
|
||||
StorageLive(_6); // scope 1 at $DIR/receiver_ptr_mutability.rs:+5:34: +5:41
|
||||
StorageLive(_7); // scope 1 at $DIR/receiver_ptr_mutability.rs:+5:35: +5:41
|
||||
StorageLive(_8); // scope 1 at $DIR/receiver_ptr_mutability.rs:+5:36: +5:41
|
||||
StorageLive(_9); // scope 1 at $DIR/receiver_ptr_mutability.rs:+5:37: +5:41
|
||||
_9 = &_1; // scope 1 at $DIR/receiver_ptr_mutability.rs:+5:37: +5:41
|
||||
_8 = &_9; // scope 1 at $DIR/receiver_ptr_mutability.rs:+5:36: +5:41
|
||||
_7 = &_8; // scope 1 at $DIR/receiver_ptr_mutability.rs:+5:35: +5:41
|
||||
_6 = &_7; // scope 1 at $DIR/receiver_ptr_mutability.rs:+5:34: +5:41
|
||||
_5 = &(*_6); // scope 1 at $DIR/receiver_ptr_mutability.rs:+5:34: +5:41
|
||||
FakeRead(ForLet(None), _5); // scope 1 at $DIR/receiver_ptr_mutability.rs:+5:9: +5:16
|
||||
AscribeUserType(_5, o, UserTypeProjection { base: UserType(3), projs: [] }); // scope 1 at $DIR/receiver_ptr_mutability.rs:+5:18: +5:31
|
||||
StorageDead(_6); // scope 1 at $DIR/receiver_ptr_mutability.rs:+5:41: +5:42
|
||||
StorageLive(_10); // scope 2 at $DIR/receiver_ptr_mutability.rs:+6:5: +6:16
|
||||
StorageLive(_11); // scope 2 at $DIR/receiver_ptr_mutability.rs:+6:5: +6:16
|
||||
StorageLive(_12); // scope 2 at $DIR/receiver_ptr_mutability.rs:+6:5: +6:16
|
||||
_12 = (*(*(*(*_5)))); // scope 2 at $DIR/receiver_ptr_mutability.rs:+6:5: +6:16
|
||||
_11 = move _12 as *const Test (Pointer(MutToConstPointer)); // scope 2 at $DIR/receiver_ptr_mutability.rs:+6:5: +6:16
|
||||
StorageDead(_12); // scope 2 at $DIR/receiver_ptr_mutability.rs:+6:11: +6:12
|
||||
_10 = Test::x(move _11) -> [return: bb3, unwind: bb4]; // scope 2 at $DIR/receiver_ptr_mutability.rs:+6:5: +6:16
|
||||
// mir::Constant
|
||||
// + span: $DIR/receiver-ptr-mutability.rs:19:13: 19:14
|
||||
// + span: $DIR/receiver_ptr_mutability.rs:19:13: 19:14
|
||||
// + literal: Const { ty: fn(*const Test) {Test::x}, val: Value(<ZST>) }
|
||||
}
|
||||
|
||||
bb3: {
|
||||
StorageDead(_11); // scope 2 at $DIR/receiver-ptr-mutability.rs:+6:15: +6:16
|
||||
StorageDead(_10); // scope 2 at $DIR/receiver-ptr-mutability.rs:+6:16: +6:17
|
||||
_0 = const (); // scope 0 at $DIR/receiver-ptr-mutability.rs:+0:11: +7:2
|
||||
StorageDead(_9); // scope 1 at $DIR/receiver-ptr-mutability.rs:+7:1: +7:2
|
||||
StorageDead(_8); // scope 1 at $DIR/receiver-ptr-mutability.rs:+7:1: +7:2
|
||||
StorageDead(_7); // scope 1 at $DIR/receiver-ptr-mutability.rs:+7:1: +7:2
|
||||
StorageDead(_5); // scope 1 at $DIR/receiver-ptr-mutability.rs:+7:1: +7:2
|
||||
StorageDead(_1); // scope 0 at $DIR/receiver-ptr-mutability.rs:+7:1: +7:2
|
||||
return; // scope 0 at $DIR/receiver-ptr-mutability.rs:+7:2: +7:2
|
||||
StorageDead(_11); // scope 2 at $DIR/receiver_ptr_mutability.rs:+6:15: +6:16
|
||||
StorageDead(_10); // scope 2 at $DIR/receiver_ptr_mutability.rs:+6:16: +6:17
|
||||
_0 = const (); // scope 0 at $DIR/receiver_ptr_mutability.rs:+0:11: +7:2
|
||||
StorageDead(_9); // scope 1 at $DIR/receiver_ptr_mutability.rs:+7:1: +7:2
|
||||
StorageDead(_8); // scope 1 at $DIR/receiver_ptr_mutability.rs:+7:1: +7:2
|
||||
StorageDead(_7); // scope 1 at $DIR/receiver_ptr_mutability.rs:+7:1: +7:2
|
||||
StorageDead(_5); // scope 1 at $DIR/receiver_ptr_mutability.rs:+7:1: +7:2
|
||||
StorageDead(_1); // scope 0 at $DIR/receiver_ptr_mutability.rs:+7:1: +7:2
|
||||
return; // scope 0 at $DIR/receiver_ptr_mutability.rs:+7:2: +7:2
|
||||
}
|
||||
|
||||
bb4 (cleanup): {
|
||||
resume; // scope 0 at $DIR/receiver-ptr-mutability.rs:+0:1: +7:2
|
||||
resume; // scope 0 at $DIR/receiver_ptr_mutability.rs:+0:1: +7:2
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,29 +1,29 @@
|
|||
// MIR for `match_bool` after built
|
||||
|
||||
fn match_bool(_1: bool) -> usize {
|
||||
debug x => _1; // in scope 0 at $DIR/simple-match.rs:+0:15: +0:16
|
||||
let mut _0: usize; // return place in scope 0 at $DIR/simple-match.rs:+0:27: +0:32
|
||||
debug x => _1; // in scope 0 at $DIR/simple_match.rs:+0:15: +0:16
|
||||
let mut _0: usize; // return place in scope 0 at $DIR/simple_match.rs:+0:27: +0:32
|
||||
|
||||
bb0: {
|
||||
FakeRead(ForMatchedPlace(None), _1); // scope 0 at $DIR/simple-match.rs:+1:11: +1:12
|
||||
switchInt(_1) -> [false: bb2, otherwise: bb1]; // scope 0 at $DIR/simple-match.rs:+1:5: +1:12
|
||||
FakeRead(ForMatchedPlace(None), _1); // scope 0 at $DIR/simple_match.rs:+1:11: +1:12
|
||||
switchInt(_1) -> [false: bb2, otherwise: bb1]; // scope 0 at $DIR/simple_match.rs:+1:5: +1:12
|
||||
}
|
||||
|
||||
bb1: {
|
||||
falseEdge -> [real: bb3, imaginary: bb2]; // scope 0 at $DIR/simple-match.rs:+2:9: +2:13
|
||||
falseEdge -> [real: bb3, imaginary: bb2]; // scope 0 at $DIR/simple_match.rs:+2:9: +2:13
|
||||
}
|
||||
|
||||
bb2: {
|
||||
_0 = const 20_usize; // scope 0 at $DIR/simple-match.rs:+3:14: +3:16
|
||||
goto -> bb4; // scope 0 at $DIR/simple-match.rs:+3:14: +3:16
|
||||
_0 = const 20_usize; // scope 0 at $DIR/simple_match.rs:+3:14: +3:16
|
||||
goto -> bb4; // scope 0 at $DIR/simple_match.rs:+3:14: +3:16
|
||||
}
|
||||
|
||||
bb3: {
|
||||
_0 = const 10_usize; // scope 0 at $DIR/simple-match.rs:+2:17: +2:19
|
||||
goto -> bb4; // scope 0 at $DIR/simple-match.rs:+2:17: +2:19
|
||||
_0 = const 10_usize; // scope 0 at $DIR/simple_match.rs:+2:17: +2:19
|
||||
goto -> bb4; // scope 0 at $DIR/simple_match.rs:+2:17: +2:19
|
||||
}
|
||||
|
||||
bb4: {
|
||||
return; // scope 0 at $DIR/simple-match.rs:+5:2: +5:2
|
||||
return; // scope 0 at $DIR/simple_match.rs:+5:2: +5:2
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,20 +1,20 @@
|
|||
// MIR for `BAR::promoted[0]` after SimplifyCfg-elaborate-drops
|
||||
|
||||
promoted[0] in BAR: &[&i32; 1] = {
|
||||
let mut _0: &[&i32; 1]; // return place in scope 0 at $DIR/const-promotion-extern-static.rs:+0:31: +0:44
|
||||
let mut _1: [&i32; 1]; // in scope 0 at $DIR/const-promotion-extern-static.rs:+0:31: +0:35
|
||||
let mut _2: &i32; // in scope 0 at $DIR/const-promotion-extern-static.rs:+0:32: +0:34
|
||||
let mut _3: &i32; // in scope 0 at $DIR/const-promotion-extern-static.rs:+0:33: +0:34
|
||||
let mut _0: &[&i32; 1]; // return place in scope 0 at $DIR/const_promotion_extern_static.rs:+0:31: +0:44
|
||||
let mut _1: [&i32; 1]; // in scope 0 at $DIR/const_promotion_extern_static.rs:+0:31: +0:35
|
||||
let mut _2: &i32; // in scope 0 at $DIR/const_promotion_extern_static.rs:+0:32: +0:34
|
||||
let mut _3: &i32; // in scope 0 at $DIR/const_promotion_extern_static.rs:+0:33: +0:34
|
||||
|
||||
bb0: {
|
||||
_3 = const {alloc1: &i32}; // scope 0 at $DIR/const-promotion-extern-static.rs:+0:33: +0:34
|
||||
_3 = const {alloc1: &i32}; // scope 0 at $DIR/const_promotion_extern_static.rs:+0:33: +0:34
|
||||
// mir::Constant
|
||||
// + span: $DIR/const-promotion-extern-static.rs:9:33: 9:34
|
||||
// + span: $DIR/const_promotion_extern_static.rs:9:33: 9:34
|
||||
// + literal: Const { ty: &i32, val: Value(Scalar(alloc1)) }
|
||||
_2 = &(*_3); // scope 0 at $DIR/const-promotion-extern-static.rs:+0:32: +0:34
|
||||
_1 = [move _2]; // scope 0 at $DIR/const-promotion-extern-static.rs:+0:31: +0:35
|
||||
_0 = &_1; // scope 0 at $DIR/const-promotion-extern-static.rs:+0:31: +0:44
|
||||
return; // scope 0 at $DIR/const-promotion-extern-static.rs:+0:31: +0:44
|
||||
_2 = &(*_3); // scope 0 at $DIR/const_promotion_extern_static.rs:+0:32: +0:34
|
||||
_1 = [move _2]; // scope 0 at $DIR/const_promotion_extern_static.rs:+0:31: +0:35
|
||||
_0 = &_1; // scope 0 at $DIR/const_promotion_extern_static.rs:+0:31: +0:44
|
||||
return; // scope 0 at $DIR/const_promotion_extern_static.rs:+0:31: +0:44
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -2,49 +2,49 @@
|
|||
+ // MIR for `BAR` after PromoteTemps
|
||||
|
||||
static mut BAR: *const &i32 = {
|
||||
let mut _0: *const &i32; // return place in scope 0 at $DIR/const-promotion-extern-static.rs:+0:17: +0:28
|
||||
let mut _1: &[&i32]; // in scope 0 at $DIR/const-promotion-extern-static.rs:+0:31: +0:44
|
||||
let mut _2: &[&i32; 1]; // in scope 0 at $DIR/const-promotion-extern-static.rs:+0:31: +0:44
|
||||
let _3: [&i32; 1]; // in scope 0 at $DIR/const-promotion-extern-static.rs:+0:31: +0:35
|
||||
let mut _4: &i32; // in scope 0 at $DIR/const-promotion-extern-static.rs:+0:32: +0:34
|
||||
let _5: &i32; // in scope 0 at $DIR/const-promotion-extern-static.rs:+0:33: +0:34
|
||||
+ let mut _6: &[&i32; 1]; // in scope 0 at $DIR/const-promotion-extern-static.rs:+0:31: +0:44
|
||||
let mut _0: *const &i32; // return place in scope 0 at $DIR/const_promotion_extern_static.rs:+0:17: +0:28
|
||||
let mut _1: &[&i32]; // in scope 0 at $DIR/const_promotion_extern_static.rs:+0:31: +0:44
|
||||
let mut _2: &[&i32; 1]; // in scope 0 at $DIR/const_promotion_extern_static.rs:+0:31: +0:44
|
||||
let _3: [&i32; 1]; // in scope 0 at $DIR/const_promotion_extern_static.rs:+0:31: +0:35
|
||||
let mut _4: &i32; // in scope 0 at $DIR/const_promotion_extern_static.rs:+0:32: +0:34
|
||||
let _5: &i32; // in scope 0 at $DIR/const_promotion_extern_static.rs:+0:33: +0:34
|
||||
+ let mut _6: &[&i32; 1]; // in scope 0 at $DIR/const_promotion_extern_static.rs:+0:31: +0:44
|
||||
|
||||
bb0: {
|
||||
StorageLive(_1); // scope 0 at $DIR/const-promotion-extern-static.rs:+0:31: +0:44
|
||||
StorageLive(_2); // scope 0 at $DIR/const-promotion-extern-static.rs:+0:31: +0:44
|
||||
- StorageLive(_3); // scope 0 at $DIR/const-promotion-extern-static.rs:+0:31: +0:35
|
||||
- StorageLive(_4); // scope 0 at $DIR/const-promotion-extern-static.rs:+0:32: +0:34
|
||||
- StorageLive(_5); // scope 0 at $DIR/const-promotion-extern-static.rs:+0:33: +0:34
|
||||
- _5 = const {alloc1: &i32}; // scope 0 at $DIR/const-promotion-extern-static.rs:+0:33: +0:34
|
||||
+ _6 = const _; // scope 0 at $DIR/const-promotion-extern-static.rs:+0:31: +0:44
|
||||
StorageLive(_1); // scope 0 at $DIR/const_promotion_extern_static.rs:+0:31: +0:44
|
||||
StorageLive(_2); // scope 0 at $DIR/const_promotion_extern_static.rs:+0:31: +0:44
|
||||
- StorageLive(_3); // scope 0 at $DIR/const_promotion_extern_static.rs:+0:31: +0:35
|
||||
- StorageLive(_4); // scope 0 at $DIR/const_promotion_extern_static.rs:+0:32: +0:34
|
||||
- StorageLive(_5); // scope 0 at $DIR/const_promotion_extern_static.rs:+0:33: +0:34
|
||||
- _5 = const {alloc1: &i32}; // scope 0 at $DIR/const_promotion_extern_static.rs:+0:33: +0:34
|
||||
+ _6 = const _; // scope 0 at $DIR/const_promotion_extern_static.rs:+0:31: +0:44
|
||||
// mir::Constant
|
||||
- // + span: $DIR/const-promotion-extern-static.rs:9:33: 9:34
|
||||
- // + span: $DIR/const_promotion_extern_static.rs:9:33: 9:34
|
||||
- // + literal: Const { ty: &i32, val: Value(Scalar(alloc1)) }
|
||||
- _4 = &(*_5); // scope 0 at $DIR/const-promotion-extern-static.rs:+0:32: +0:34
|
||||
- _3 = [move _4]; // scope 0 at $DIR/const-promotion-extern-static.rs:+0:31: +0:35
|
||||
- _2 = &_3; // scope 0 at $DIR/const-promotion-extern-static.rs:+0:31: +0:44
|
||||
+ // + span: $DIR/const-promotion-extern-static.rs:9:31: 9:44
|
||||
- _4 = &(*_5); // scope 0 at $DIR/const_promotion_extern_static.rs:+0:32: +0:34
|
||||
- _3 = [move _4]; // scope 0 at $DIR/const_promotion_extern_static.rs:+0:31: +0:35
|
||||
- _2 = &_3; // scope 0 at $DIR/const_promotion_extern_static.rs:+0:31: +0:44
|
||||
+ // + span: $DIR/const_promotion_extern_static.rs:9:31: 9:44
|
||||
+ // + literal: Const { ty: &[&i32; 1], val: Unevaluated(BAR, [], Some(promoted[0])) }
|
||||
+ _2 = &(*_6); // scope 0 at $DIR/const-promotion-extern-static.rs:+0:31: +0:44
|
||||
_1 = move _2 as &[&i32] (Pointer(Unsize)); // scope 0 at $DIR/const-promotion-extern-static.rs:+0:31: +0:44
|
||||
- StorageDead(_4); // scope 0 at $DIR/const-promotion-extern-static.rs:+0:34: +0:35
|
||||
StorageDead(_2); // scope 0 at $DIR/const-promotion-extern-static.rs:+0:34: +0:35
|
||||
_0 = core::slice::<impl [&i32]>::as_ptr(move _1) -> [return: bb1, unwind: bb2]; // scope 0 at $DIR/const-promotion-extern-static.rs:+0:31: +0:44
|
||||
+ _2 = &(*_6); // scope 0 at $DIR/const_promotion_extern_static.rs:+0:31: +0:44
|
||||
_1 = move _2 as &[&i32] (Pointer(Unsize)); // scope 0 at $DIR/const_promotion_extern_static.rs:+0:31: +0:44
|
||||
- StorageDead(_4); // scope 0 at $DIR/const_promotion_extern_static.rs:+0:34: +0:35
|
||||
StorageDead(_2); // scope 0 at $DIR/const_promotion_extern_static.rs:+0:34: +0:35
|
||||
_0 = core::slice::<impl [&i32]>::as_ptr(move _1) -> [return: bb1, unwind: bb2]; // scope 0 at $DIR/const_promotion_extern_static.rs:+0:31: +0:44
|
||||
// mir::Constant
|
||||
// + span: $DIR/const-promotion-extern-static.rs:9:36: 9:42
|
||||
// + span: $DIR/const_promotion_extern_static.rs:9:36: 9:42
|
||||
// + literal: Const { ty: for<'a> fn(&'a [&i32]) -> *const &i32 {core::slice::<impl [&i32]>::as_ptr}, val: Value(<ZST>) }
|
||||
}
|
||||
|
||||
bb1: {
|
||||
- StorageDead(_5); // scope 0 at $DIR/const-promotion-extern-static.rs:+0:43: +0:44
|
||||
- StorageDead(_3); // scope 0 at $DIR/const-promotion-extern-static.rs:+0:43: +0:44
|
||||
StorageDead(_1); // scope 0 at $DIR/const-promotion-extern-static.rs:+0:43: +0:44
|
||||
return; // scope 0 at $DIR/const-promotion-extern-static.rs:+0:1: +0:45
|
||||
- StorageDead(_5); // scope 0 at $DIR/const_promotion_extern_static.rs:+0:43: +0:44
|
||||
- StorageDead(_3); // scope 0 at $DIR/const_promotion_extern_static.rs:+0:43: +0:44
|
||||
StorageDead(_1); // scope 0 at $DIR/const_promotion_extern_static.rs:+0:43: +0:44
|
||||
return; // scope 0 at $DIR/const_promotion_extern_static.rs:+0:1: +0:45
|
||||
}
|
||||
|
||||
bb2 (cleanup): {
|
||||
resume; // scope 0 at $DIR/const-promotion-extern-static.rs:+0:1: +0:45
|
||||
resume; // scope 0 at $DIR/const_promotion_extern_static.rs:+0:1: +0:45
|
||||
}
|
||||
- }
|
||||
-
|
||||
|
|
|
@ -1,17 +1,17 @@
|
|||
// MIR for `BOP` after built
|
||||
|
||||
static BOP: &i32 = {
|
||||
let mut _0: &i32; // return place in scope 0 at $DIR/const-promotion-extern-static.rs:+0:13: +0:17
|
||||
let _1: &i32; // in scope 0 at $DIR/const-promotion-extern-static.rs:+0:20: +0:23
|
||||
let _2: i32; // in scope 0 at $DIR/const-promotion-extern-static.rs:+0:21: +0:23
|
||||
let mut _0: &i32; // return place in scope 0 at $DIR/const_promotion_extern_static.rs:+0:13: +0:17
|
||||
let _1: &i32; // in scope 0 at $DIR/const_promotion_extern_static.rs:+0:20: +0:23
|
||||
let _2: i32; // in scope 0 at $DIR/const_promotion_extern_static.rs:+0:21: +0:23
|
||||
|
||||
bb0: {
|
||||
StorageLive(_1); // scope 0 at $DIR/const-promotion-extern-static.rs:+0:20: +0:23
|
||||
StorageLive(_2); // scope 0 at $DIR/const-promotion-extern-static.rs:+0:21: +0:23
|
||||
_2 = const 13_i32; // scope 0 at $DIR/const-promotion-extern-static.rs:+0:21: +0:23
|
||||
_1 = &_2; // scope 0 at $DIR/const-promotion-extern-static.rs:+0:20: +0:23
|
||||
_0 = &(*_1); // scope 0 at $DIR/const-promotion-extern-static.rs:+0:20: +0:23
|
||||
StorageDead(_1); // scope 0 at $DIR/const-promotion-extern-static.rs:+0:22: +0:23
|
||||
return; // scope 0 at $DIR/const-promotion-extern-static.rs:+0:1: +0:24
|
||||
StorageLive(_1); // scope 0 at $DIR/const_promotion_extern_static.rs:+0:20: +0:23
|
||||
StorageLive(_2); // scope 0 at $DIR/const_promotion_extern_static.rs:+0:21: +0:23
|
||||
_2 = const 13_i32; // scope 0 at $DIR/const_promotion_extern_static.rs:+0:21: +0:23
|
||||
_1 = &_2; // scope 0 at $DIR/const_promotion_extern_static.rs:+0:20: +0:23
|
||||
_0 = &(*_1); // scope 0 at $DIR/const_promotion_extern_static.rs:+0:20: +0:23
|
||||
StorageDead(_1); // scope 0 at $DIR/const_promotion_extern_static.rs:+0:22: +0:23
|
||||
return; // scope 0 at $DIR/const_promotion_extern_static.rs:+0:1: +0:24
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,20 +1,20 @@
|
|||
// MIR for `FOO::promoted[0]` after SimplifyCfg-elaborate-drops
|
||||
|
||||
promoted[0] in FOO: &[&i32; 1] = {
|
||||
let mut _0: &[&i32; 1]; // return place in scope 0 at $DIR/const-promotion-extern-static.rs:+0:31: +0:55
|
||||
let mut _1: [&i32; 1]; // in scope 0 at $DIR/const-promotion-extern-static.rs:+0:31: +0:46
|
||||
let mut _2: &i32; // in scope 0 at $DIR/const-promotion-extern-static.rs:+0:32: +0:45
|
||||
let mut _3: *const i32; // in scope 0 at $DIR/const-promotion-extern-static.rs:+0:42: +0:43
|
||||
let mut _0: &[&i32; 1]; // return place in scope 0 at $DIR/const_promotion_extern_static.rs:+0:31: +0:55
|
||||
let mut _1: [&i32; 1]; // in scope 0 at $DIR/const_promotion_extern_static.rs:+0:31: +0:46
|
||||
let mut _2: &i32; // in scope 0 at $DIR/const_promotion_extern_static.rs:+0:32: +0:45
|
||||
let mut _3: *const i32; // in scope 0 at $DIR/const_promotion_extern_static.rs:+0:42: +0:43
|
||||
|
||||
bb0: {
|
||||
_3 = const {alloc3: *const i32}; // scope 0 at $DIR/const-promotion-extern-static.rs:+0:42: +0:43
|
||||
_3 = const {alloc3: *const i32}; // scope 0 at $DIR/const_promotion_extern_static.rs:+0:42: +0:43
|
||||
// mir::Constant
|
||||
// + span: $DIR/const-promotion-extern-static.rs:13:42: 13:43
|
||||
// + span: $DIR/const_promotion_extern_static.rs:13:42: 13:43
|
||||
// + literal: Const { ty: *const i32, val: Value(Scalar(alloc3)) }
|
||||
_2 = &(*_3); // scope 0 at $DIR/const-promotion-extern-static.rs:+0:41: +0:43
|
||||
_1 = [move _2]; // scope 0 at $DIR/const-promotion-extern-static.rs:+0:31: +0:46
|
||||
_0 = &_1; // scope 0 at $DIR/const-promotion-extern-static.rs:+0:31: +0:55
|
||||
return; // scope 0 at $DIR/const-promotion-extern-static.rs:+0:31: +0:55
|
||||
_2 = &(*_3); // scope 0 at $DIR/const_promotion_extern_static.rs:+0:41: +0:43
|
||||
_1 = [move _2]; // scope 0 at $DIR/const_promotion_extern_static.rs:+0:31: +0:46
|
||||
_0 = &_1; // scope 0 at $DIR/const_promotion_extern_static.rs:+0:31: +0:55
|
||||
return; // scope 0 at $DIR/const_promotion_extern_static.rs:+0:31: +0:55
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -2,51 +2,51 @@
|
|||
+ // MIR for `FOO` after PromoteTemps
|
||||
|
||||
static mut FOO: *const &i32 = {
|
||||
let mut _0: *const &i32; // return place in scope 0 at $DIR/const-promotion-extern-static.rs:+0:17: +0:28
|
||||
let mut _1: &[&i32]; // in scope 0 at $DIR/const-promotion-extern-static.rs:+0:31: +0:55
|
||||
let mut _2: &[&i32; 1]; // in scope 0 at $DIR/const-promotion-extern-static.rs:+0:31: +0:55
|
||||
let _3: [&i32; 1]; // in scope 0 at $DIR/const-promotion-extern-static.rs:+0:31: +0:46
|
||||
let mut _4: &i32; // in scope 0 at $DIR/const-promotion-extern-static.rs:+0:32: +0:45
|
||||
let _5: *const i32; // in scope 0 at $DIR/const-promotion-extern-static.rs:+0:42: +0:43
|
||||
+ let mut _6: &[&i32; 1]; // in scope 0 at $DIR/const-promotion-extern-static.rs:+0:31: +0:55
|
||||
let mut _0: *const &i32; // return place in scope 0 at $DIR/const_promotion_extern_static.rs:+0:17: +0:28
|
||||
let mut _1: &[&i32]; // in scope 0 at $DIR/const_promotion_extern_static.rs:+0:31: +0:55
|
||||
let mut _2: &[&i32; 1]; // in scope 0 at $DIR/const_promotion_extern_static.rs:+0:31: +0:55
|
||||
let _3: [&i32; 1]; // in scope 0 at $DIR/const_promotion_extern_static.rs:+0:31: +0:46
|
||||
let mut _4: &i32; // in scope 0 at $DIR/const_promotion_extern_static.rs:+0:32: +0:45
|
||||
let _5: *const i32; // in scope 0 at $DIR/const_promotion_extern_static.rs:+0:42: +0:43
|
||||
+ let mut _6: &[&i32; 1]; // in scope 0 at $DIR/const_promotion_extern_static.rs:+0:31: +0:55
|
||||
scope 1 {
|
||||
}
|
||||
|
||||
bb0: {
|
||||
StorageLive(_1); // scope 0 at $DIR/const-promotion-extern-static.rs:+0:31: +0:55
|
||||
StorageLive(_2); // scope 0 at $DIR/const-promotion-extern-static.rs:+0:31: +0:55
|
||||
- StorageLive(_3); // scope 0 at $DIR/const-promotion-extern-static.rs:+0:31: +0:46
|
||||
- StorageLive(_4); // scope 0 at $DIR/const-promotion-extern-static.rs:+0:32: +0:45
|
||||
- StorageLive(_5); // scope 1 at $DIR/const-promotion-extern-static.rs:+0:42: +0:43
|
||||
- _5 = const {alloc3: *const i32}; // scope 1 at $DIR/const-promotion-extern-static.rs:+0:42: +0:43
|
||||
+ _6 = const _; // scope 0 at $DIR/const-promotion-extern-static.rs:+0:31: +0:55
|
||||
StorageLive(_1); // scope 0 at $DIR/const_promotion_extern_static.rs:+0:31: +0:55
|
||||
StorageLive(_2); // scope 0 at $DIR/const_promotion_extern_static.rs:+0:31: +0:55
|
||||
- StorageLive(_3); // scope 0 at $DIR/const_promotion_extern_static.rs:+0:31: +0:46
|
||||
- StorageLive(_4); // scope 0 at $DIR/const_promotion_extern_static.rs:+0:32: +0:45
|
||||
- StorageLive(_5); // scope 1 at $DIR/const_promotion_extern_static.rs:+0:42: +0:43
|
||||
- _5 = const {alloc3: *const i32}; // scope 1 at $DIR/const_promotion_extern_static.rs:+0:42: +0:43
|
||||
+ _6 = const _; // scope 0 at $DIR/const_promotion_extern_static.rs:+0:31: +0:55
|
||||
// mir::Constant
|
||||
- // + span: $DIR/const-promotion-extern-static.rs:13:42: 13:43
|
||||
- // + span: $DIR/const_promotion_extern_static.rs:13:42: 13:43
|
||||
- // + literal: Const { ty: *const i32, val: Value(Scalar(alloc3)) }
|
||||
- _4 = &(*_5); // scope 1 at $DIR/const-promotion-extern-static.rs:+0:41: +0:43
|
||||
- _3 = [move _4]; // scope 0 at $DIR/const-promotion-extern-static.rs:+0:31: +0:46
|
||||
- _2 = &_3; // scope 0 at $DIR/const-promotion-extern-static.rs:+0:31: +0:55
|
||||
+ // + span: $DIR/const-promotion-extern-static.rs:13:31: 13:55
|
||||
- _4 = &(*_5); // scope 1 at $DIR/const_promotion_extern_static.rs:+0:41: +0:43
|
||||
- _3 = [move _4]; // scope 0 at $DIR/const_promotion_extern_static.rs:+0:31: +0:46
|
||||
- _2 = &_3; // scope 0 at $DIR/const_promotion_extern_static.rs:+0:31: +0:55
|
||||
+ // + span: $DIR/const_promotion_extern_static.rs:13:31: 13:55
|
||||
+ // + literal: Const { ty: &[&i32; 1], val: Unevaluated(FOO, [], Some(promoted[0])) }
|
||||
+ _2 = &(*_6); // scope 0 at $DIR/const-promotion-extern-static.rs:+0:31: +0:55
|
||||
_1 = move _2 as &[&i32] (Pointer(Unsize)); // scope 0 at $DIR/const-promotion-extern-static.rs:+0:31: +0:55
|
||||
- StorageDead(_4); // scope 0 at $DIR/const-promotion-extern-static.rs:+0:45: +0:46
|
||||
StorageDead(_2); // scope 0 at $DIR/const-promotion-extern-static.rs:+0:45: +0:46
|
||||
_0 = core::slice::<impl [&i32]>::as_ptr(move _1) -> [return: bb1, unwind: bb2]; // scope 0 at $DIR/const-promotion-extern-static.rs:+0:31: +0:55
|
||||
+ _2 = &(*_6); // scope 0 at $DIR/const_promotion_extern_static.rs:+0:31: +0:55
|
||||
_1 = move _2 as &[&i32] (Pointer(Unsize)); // scope 0 at $DIR/const_promotion_extern_static.rs:+0:31: +0:55
|
||||
- StorageDead(_4); // scope 0 at $DIR/const_promotion_extern_static.rs:+0:45: +0:46
|
||||
StorageDead(_2); // scope 0 at $DIR/const_promotion_extern_static.rs:+0:45: +0:46
|
||||
_0 = core::slice::<impl [&i32]>::as_ptr(move _1) -> [return: bb1, unwind: bb2]; // scope 0 at $DIR/const_promotion_extern_static.rs:+0:31: +0:55
|
||||
// mir::Constant
|
||||
// + span: $DIR/const-promotion-extern-static.rs:13:47: 13:53
|
||||
// + span: $DIR/const_promotion_extern_static.rs:13:47: 13:53
|
||||
// + literal: Const { ty: for<'a> fn(&'a [&i32]) -> *const &i32 {core::slice::<impl [&i32]>::as_ptr}, val: Value(<ZST>) }
|
||||
}
|
||||
|
||||
bb1: {
|
||||
- StorageDead(_5); // scope 0 at $DIR/const-promotion-extern-static.rs:+0:54: +0:55
|
||||
- StorageDead(_3); // scope 0 at $DIR/const-promotion-extern-static.rs:+0:54: +0:55
|
||||
StorageDead(_1); // scope 0 at $DIR/const-promotion-extern-static.rs:+0:54: +0:55
|
||||
return; // scope 0 at $DIR/const-promotion-extern-static.rs:+0:1: +0:56
|
||||
- StorageDead(_5); // scope 0 at $DIR/const_promotion_extern_static.rs:+0:54: +0:55
|
||||
- StorageDead(_3); // scope 0 at $DIR/const_promotion_extern_static.rs:+0:54: +0:55
|
||||
StorageDead(_1); // scope 0 at $DIR/const_promotion_extern_static.rs:+0:54: +0:55
|
||||
return; // scope 0 at $DIR/const_promotion_extern_static.rs:+0:1: +0:56
|
||||
}
|
||||
|
||||
bb2 (cleanup): {
|
||||
resume; // scope 0 at $DIR/const-promotion-extern-static.rs:+0:1: +0:56
|
||||
resume; // scope 0 at $DIR/const_promotion_extern_static.rs:+0:1: +0:56
|
||||
}
|
||||
}
|
||||
-
|
||||
|
|
|
@ -2,15 +2,15 @@
|
|||
+ // MIR for `hello` after ConstProp
|
||||
|
||||
fn hello() -> () {
|
||||
let mut _0: (); // return place in scope 0 at $DIR/control-flow-simplification.rs:+0:14: +0:14
|
||||
let mut _1: bool; // in scope 0 at $DIR/control-flow-simplification.rs:+1:8: +1:21
|
||||
let mut _0: (); // return place in scope 0 at $DIR/control_flow_simplification.rs:+0:14: +0:14
|
||||
let mut _1: bool; // in scope 0 at $DIR/control_flow_simplification.rs:+1:8: +1:21
|
||||
let mut _2: !; // in scope 0 at $SRC_DIR/std/src/panic.rs:LL:COL
|
||||
|
||||
bb0: {
|
||||
StorageLive(_1); // scope 0 at $DIR/control-flow-simplification.rs:+1:8: +1:21
|
||||
_1 = const _; // scope 0 at $DIR/control-flow-simplification.rs:+1:8: +1:21
|
||||
- switchInt(move _1) -> [false: bb2, otherwise: bb1]; // scope 0 at $DIR/control-flow-simplification.rs:+1:8: +1:21
|
||||
+ switchInt(const false) -> [false: bb2, otherwise: bb1]; // scope 0 at $DIR/control-flow-simplification.rs:+1:8: +1:21
|
||||
StorageLive(_1); // scope 0 at $DIR/control_flow_simplification.rs:+1:8: +1:21
|
||||
_1 = const _; // scope 0 at $DIR/control_flow_simplification.rs:+1:8: +1:21
|
||||
- switchInt(move _1) -> [false: bb2, otherwise: bb1]; // scope 0 at $DIR/control_flow_simplification.rs:+1:8: +1:21
|
||||
+ switchInt(const false) -> [false: bb2, otherwise: bb1]; // scope 0 at $DIR/control_flow_simplification.rs:+1:8: +1:21
|
||||
}
|
||||
|
||||
bb1: {
|
||||
|
@ -25,9 +25,9 @@
|
|||
}
|
||||
|
||||
bb2: {
|
||||
nop; // scope 0 at $DIR/control-flow-simplification.rs:+3:6: +3:6
|
||||
StorageDead(_1); // scope 0 at $DIR/control-flow-simplification.rs:+3:5: +3:6
|
||||
return; // scope 0 at $DIR/control-flow-simplification.rs:+4:2: +4:2
|
||||
nop; // scope 0 at $DIR/control_flow_simplification.rs:+3:6: +3:6
|
||||
StorageDead(_1); // scope 0 at $DIR/control_flow_simplification.rs:+3:5: +3:6
|
||||
return; // scope 0 at $DIR/control_flow_simplification.rs:+4:2: +4:2
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
// MIR for `hello` before PreCodegen
|
||||
|
||||
fn hello() -> () {
|
||||
let mut _0: (); // return place in scope 0 at $DIR/control-flow-simplification.rs:+0:14: +0:14
|
||||
let mut _0: (); // return place in scope 0 at $DIR/control_flow_simplification.rs:+0:14: +0:14
|
||||
|
||||
bb0: {
|
||||
return; // scope 0 at $DIR/control-flow-simplification.rs:+4:2: +4:2
|
||||
return; // scope 0 at $DIR/control_flow_simplification.rs:+4:2: +4:2
|
||||
}
|
||||
}
|
||||
|
|
|
@ -2,32 +2,32 @@
|
|||
+ // MIR for `main` after ConstProp
|
||||
|
||||
fn main() -> () {
|
||||
let mut _0: (); // return place in scope 0 at $DIR/issue-66971.rs:+0:11: +0:11
|
||||
let _1: (); // in scope 0 at $DIR/issue-66971.rs:+1:5: +1:23
|
||||
let mut _2: ((), u8, u8); // in scope 0 at $DIR/issue-66971.rs:+1:12: +1:22
|
||||
let mut _3: (); // in scope 0 at $DIR/issue-66971.rs:+1:13: +1:15
|
||||
let mut _0: (); // return place in scope 0 at $DIR/issue_66971.rs:+0:11: +0:11
|
||||
let _1: (); // in scope 0 at $DIR/issue_66971.rs:+1:5: +1:23
|
||||
let mut _2: ((), u8, u8); // in scope 0 at $DIR/issue_66971.rs:+1:12: +1:22
|
||||
let mut _3: (); // in scope 0 at $DIR/issue_66971.rs:+1:13: +1:15
|
||||
|
||||
bb0: {
|
||||
StorageLive(_1); // scope 0 at $DIR/issue-66971.rs:+1:5: +1:23
|
||||
StorageLive(_2); // scope 0 at $DIR/issue-66971.rs:+1:12: +1:22
|
||||
StorageLive(_3); // scope 0 at $DIR/issue-66971.rs:+1:13: +1:15
|
||||
nop; // scope 0 at $DIR/issue-66971.rs:+1:13: +1:15
|
||||
Deinit(_2); // scope 0 at $DIR/issue-66971.rs:+1:12: +1:22
|
||||
nop; // scope 0 at $DIR/issue-66971.rs:+1:12: +1:22
|
||||
(_2.1: u8) = const 0_u8; // scope 0 at $DIR/issue-66971.rs:+1:12: +1:22
|
||||
(_2.2: u8) = const 0_u8; // scope 0 at $DIR/issue-66971.rs:+1:12: +1:22
|
||||
StorageDead(_3); // scope 0 at $DIR/issue-66971.rs:+1:21: +1:22
|
||||
_1 = encode(move _2) -> bb1; // scope 0 at $DIR/issue-66971.rs:+1:5: +1:23
|
||||
StorageLive(_1); // scope 0 at $DIR/issue_66971.rs:+1:5: +1:23
|
||||
StorageLive(_2); // scope 0 at $DIR/issue_66971.rs:+1:12: +1:22
|
||||
StorageLive(_3); // scope 0 at $DIR/issue_66971.rs:+1:13: +1:15
|
||||
nop; // scope 0 at $DIR/issue_66971.rs:+1:13: +1:15
|
||||
Deinit(_2); // scope 0 at $DIR/issue_66971.rs:+1:12: +1:22
|
||||
nop; // scope 0 at $DIR/issue_66971.rs:+1:12: +1:22
|
||||
(_2.1: u8) = const 0_u8; // scope 0 at $DIR/issue_66971.rs:+1:12: +1:22
|
||||
(_2.2: u8) = const 0_u8; // scope 0 at $DIR/issue_66971.rs:+1:12: +1:22
|
||||
StorageDead(_3); // scope 0 at $DIR/issue_66971.rs:+1:21: +1:22
|
||||
_1 = encode(move _2) -> bb1; // scope 0 at $DIR/issue_66971.rs:+1:5: +1:23
|
||||
// mir::Constant
|
||||
// + span: $DIR/issue-66971.rs:17:5: 17:11
|
||||
// + span: $DIR/issue_66971.rs:17:5: 17:11
|
||||
// + literal: Const { ty: fn(((), u8, u8)) {encode}, val: Value(<ZST>) }
|
||||
}
|
||||
|
||||
bb1: {
|
||||
StorageDead(_2); // scope 0 at $DIR/issue-66971.rs:+1:22: +1:23
|
||||
StorageDead(_1); // scope 0 at $DIR/issue-66971.rs:+1:23: +1:24
|
||||
nop; // scope 0 at $DIR/issue-66971.rs:+0:11: +2:2
|
||||
return; // scope 0 at $DIR/issue-66971.rs:+2:2: +2:2
|
||||
StorageDead(_2); // scope 0 at $DIR/issue_66971.rs:+1:22: +1:23
|
||||
StorageDead(_1); // scope 0 at $DIR/issue_66971.rs:+1:23: +1:24
|
||||
nop; // scope 0 at $DIR/issue_66971.rs:+0:11: +2:2
|
||||
return; // scope 0 at $DIR/issue_66971.rs:+2:2: +2:2
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -2,33 +2,33 @@
|
|||
+ // MIR for `main` after ConstProp
|
||||
|
||||
fn main() -> () {
|
||||
let mut _0: (); // return place in scope 0 at $DIR/issue-67019.rs:+0:11: +0:11
|
||||
let _1: (); // in scope 0 at $DIR/issue-67019.rs:+1:5: +1:20
|
||||
let mut _2: ((u8, u8),); // in scope 0 at $DIR/issue-67019.rs:+1:10: +1:19
|
||||
let mut _3: (u8, u8); // in scope 0 at $DIR/issue-67019.rs:+1:11: +1:17
|
||||
let mut _0: (); // return place in scope 0 at $DIR/issue_67019.rs:+0:11: +0:11
|
||||
let _1: (); // in scope 0 at $DIR/issue_67019.rs:+1:5: +1:20
|
||||
let mut _2: ((u8, u8),); // in scope 0 at $DIR/issue_67019.rs:+1:10: +1:19
|
||||
let mut _3: (u8, u8); // in scope 0 at $DIR/issue_67019.rs:+1:11: +1:17
|
||||
|
||||
bb0: {
|
||||
StorageLive(_1); // scope 0 at $DIR/issue-67019.rs:+1:5: +1:20
|
||||
StorageLive(_2); // scope 0 at $DIR/issue-67019.rs:+1:10: +1:19
|
||||
StorageLive(_3); // scope 0 at $DIR/issue-67019.rs:+1:11: +1:17
|
||||
Deinit(_3); // scope 0 at $DIR/issue-67019.rs:+1:11: +1:17
|
||||
(_3.0: u8) = const 1_u8; // scope 0 at $DIR/issue-67019.rs:+1:11: +1:17
|
||||
(_3.1: u8) = const 2_u8; // scope 0 at $DIR/issue-67019.rs:+1:11: +1:17
|
||||
Deinit(_2); // scope 0 at $DIR/issue-67019.rs:+1:10: +1:19
|
||||
- (_2.0: (u8, u8)) = move _3; // scope 0 at $DIR/issue-67019.rs:+1:10: +1:19
|
||||
+ (_2.0: (u8, u8)) = const (1_u8, 2_u8); // scope 0 at $DIR/issue-67019.rs:+1:10: +1:19
|
||||
StorageDead(_3); // scope 0 at $DIR/issue-67019.rs:+1:18: +1:19
|
||||
_1 = test(move _2) -> bb1; // scope 0 at $DIR/issue-67019.rs:+1:5: +1:20
|
||||
StorageLive(_1); // scope 0 at $DIR/issue_67019.rs:+1:5: +1:20
|
||||
StorageLive(_2); // scope 0 at $DIR/issue_67019.rs:+1:10: +1:19
|
||||
StorageLive(_3); // scope 0 at $DIR/issue_67019.rs:+1:11: +1:17
|
||||
Deinit(_3); // scope 0 at $DIR/issue_67019.rs:+1:11: +1:17
|
||||
(_3.0: u8) = const 1_u8; // scope 0 at $DIR/issue_67019.rs:+1:11: +1:17
|
||||
(_3.1: u8) = const 2_u8; // scope 0 at $DIR/issue_67019.rs:+1:11: +1:17
|
||||
Deinit(_2); // scope 0 at $DIR/issue_67019.rs:+1:10: +1:19
|
||||
- (_2.0: (u8, u8)) = move _3; // scope 0 at $DIR/issue_67019.rs:+1:10: +1:19
|
||||
+ (_2.0: (u8, u8)) = const (1_u8, 2_u8); // scope 0 at $DIR/issue_67019.rs:+1:10: +1:19
|
||||
StorageDead(_3); // scope 0 at $DIR/issue_67019.rs:+1:18: +1:19
|
||||
_1 = test(move _2) -> bb1; // scope 0 at $DIR/issue_67019.rs:+1:5: +1:20
|
||||
// mir::Constant
|
||||
// + span: $DIR/issue-67019.rs:12:5: 12:9
|
||||
// + span: $DIR/issue_67019.rs:12:5: 12:9
|
||||
// + literal: Const { ty: fn(((u8, u8),)) {test}, val: Value(<ZST>) }
|
||||
}
|
||||
|
||||
bb1: {
|
||||
StorageDead(_2); // scope 0 at $DIR/issue-67019.rs:+1:19: +1:20
|
||||
StorageDead(_1); // scope 0 at $DIR/issue-67019.rs:+1:20: +1:21
|
||||
nop; // scope 0 at $DIR/issue-67019.rs:+0:11: +2:2
|
||||
return; // scope 0 at $DIR/issue-67019.rs:+2:2: +2:2
|
||||
StorageDead(_2); // scope 0 at $DIR/issue_67019.rs:+1:19: +1:20
|
||||
StorageDead(_1); // scope 0 at $DIR/issue_67019.rs:+1:20: +1:21
|
||||
nop; // scope 0 at $DIR/issue_67019.rs:+0:11: +2:2
|
||||
return; // scope 0 at $DIR/issue_67019.rs:+2:2: +2:2
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -1,83 +1,83 @@
|
|||
// MIR for `match_tuple` after SimplifyCfg-initial
|
||||
|
||||
fn match_tuple(_1: (u32, bool, Option<i32>, u32)) -> u32 {
|
||||
debug x => _1; // in scope 0 at $DIR/exponential-or.rs:+0:16: +0:17
|
||||
let mut _0: u32; // return place in scope 0 at $DIR/exponential-or.rs:+0:53: +0:56
|
||||
let mut _2: isize; // in scope 0 at $DIR/exponential-or.rs:+2:37: +2:48
|
||||
let mut _3: bool; // in scope 0 at $DIR/exponential-or.rs:+2:70: +2:77
|
||||
let mut _4: bool; // in scope 0 at $DIR/exponential-or.rs:+2:70: +2:77
|
||||
let mut _5: bool; // in scope 0 at $DIR/exponential-or.rs:+2:62: +2:67
|
||||
let mut _6: bool; // in scope 0 at $DIR/exponential-or.rs:+2:62: +2:67
|
||||
let _7: u32; // in scope 0 at $DIR/exponential-or.rs:+2:10: +2:11
|
||||
let _8: u32; // in scope 0 at $DIR/exponential-or.rs:+2:57: +2:58
|
||||
let mut _9: u32; // in scope 0 at $DIR/exponential-or.rs:+2:83: +2:84
|
||||
let mut _10: u32; // in scope 0 at $DIR/exponential-or.rs:+2:87: +2:88
|
||||
debug x => _1; // in scope 0 at $DIR/exponential_or.rs:+0:16: +0:17
|
||||
let mut _0: u32; // return place in scope 0 at $DIR/exponential_or.rs:+0:53: +0:56
|
||||
let mut _2: isize; // in scope 0 at $DIR/exponential_or.rs:+2:37: +2:48
|
||||
let mut _3: bool; // in scope 0 at $DIR/exponential_or.rs:+2:70: +2:77
|
||||
let mut _4: bool; // in scope 0 at $DIR/exponential_or.rs:+2:70: +2:77
|
||||
let mut _5: bool; // in scope 0 at $DIR/exponential_or.rs:+2:62: +2:67
|
||||
let mut _6: bool; // in scope 0 at $DIR/exponential_or.rs:+2:62: +2:67
|
||||
let _7: u32; // in scope 0 at $DIR/exponential_or.rs:+2:10: +2:11
|
||||
let _8: u32; // in scope 0 at $DIR/exponential_or.rs:+2:57: +2:58
|
||||
let mut _9: u32; // in scope 0 at $DIR/exponential_or.rs:+2:83: +2:84
|
||||
let mut _10: u32; // in scope 0 at $DIR/exponential_or.rs:+2:87: +2:88
|
||||
scope 1 {
|
||||
debug y => _7; // in scope 1 at $DIR/exponential-or.rs:+2:10: +2:11
|
||||
debug z => _8; // in scope 1 at $DIR/exponential-or.rs:+2:57: +2:58
|
||||
debug y => _7; // in scope 1 at $DIR/exponential_or.rs:+2:10: +2:11
|
||||
debug z => _8; // in scope 1 at $DIR/exponential_or.rs:+2:57: +2:58
|
||||
}
|
||||
|
||||
bb0: {
|
||||
FakeRead(ForMatchedPlace(None), _1); // scope 0 at $DIR/exponential-or.rs:+1:11: +1:12
|
||||
switchInt((_1.0: u32)) -> [1_u32: bb2, 4_u32: bb2, otherwise: bb1]; // scope 0 at $DIR/exponential-or.rs:+2:15: +2:20
|
||||
FakeRead(ForMatchedPlace(None), _1); // scope 0 at $DIR/exponential_or.rs:+1:11: +1:12
|
||||
switchInt((_1.0: u32)) -> [1_u32: bb2, 4_u32: bb2, otherwise: bb1]; // scope 0 at $DIR/exponential_or.rs:+2:15: +2:20
|
||||
}
|
||||
|
||||
bb1: {
|
||||
_0 = const 0_u32; // scope 0 at $DIR/exponential-or.rs:+3:14: +3:15
|
||||
goto -> bb10; // scope 0 at $DIR/exponential-or.rs:+3:14: +3:15
|
||||
_0 = const 0_u32; // scope 0 at $DIR/exponential_or.rs:+3:14: +3:15
|
||||
goto -> bb10; // scope 0 at $DIR/exponential_or.rs:+3:14: +3:15
|
||||
}
|
||||
|
||||
bb2: {
|
||||
_2 = discriminant((_1.2: std::option::Option<i32>)); // scope 0 at $DIR/exponential-or.rs:+2:37: +2:55
|
||||
switchInt(move _2) -> [0_isize: bb4, 1_isize: bb3, otherwise: bb1]; // scope 0 at $DIR/exponential-or.rs:+2:37: +2:55
|
||||
_2 = discriminant((_1.2: std::option::Option<i32>)); // scope 0 at $DIR/exponential_or.rs:+2:37: +2:55
|
||||
switchInt(move _2) -> [0_isize: bb4, 1_isize: bb3, otherwise: bb1]; // scope 0 at $DIR/exponential_or.rs:+2:37: +2:55
|
||||
}
|
||||
|
||||
bb3: {
|
||||
switchInt((((_1.2: std::option::Option<i32>) as Some).0: i32)) -> [1_i32: bb4, 8_i32: bb4, otherwise: bb1]; // scope 0 at $DIR/exponential-or.rs:+2:37: +2:55
|
||||
switchInt((((_1.2: std::option::Option<i32>) as Some).0: i32)) -> [1_i32: bb4, 8_i32: bb4, otherwise: bb1]; // scope 0 at $DIR/exponential_or.rs:+2:37: +2:55
|
||||
}
|
||||
|
||||
bb4: {
|
||||
_5 = Le(const 6_u32, (_1.3: u32)); // scope 0 at $DIR/exponential-or.rs:+2:62: +2:67
|
||||
switchInt(move _5) -> [false: bb6, otherwise: bb5]; // scope 0 at $DIR/exponential-or.rs:+2:62: +2:67
|
||||
_5 = Le(const 6_u32, (_1.3: u32)); // scope 0 at $DIR/exponential_or.rs:+2:62: +2:67
|
||||
switchInt(move _5) -> [false: bb6, otherwise: bb5]; // scope 0 at $DIR/exponential_or.rs:+2:62: +2:67
|
||||
}
|
||||
|
||||
bb5: {
|
||||
_6 = Le((_1.3: u32), const 9_u32); // scope 0 at $DIR/exponential-or.rs:+2:62: +2:67
|
||||
switchInt(move _6) -> [false: bb6, otherwise: bb8]; // scope 0 at $DIR/exponential-or.rs:+2:62: +2:67
|
||||
_6 = Le((_1.3: u32), const 9_u32); // scope 0 at $DIR/exponential_or.rs:+2:62: +2:67
|
||||
switchInt(move _6) -> [false: bb6, otherwise: bb8]; // scope 0 at $DIR/exponential_or.rs:+2:62: +2:67
|
||||
}
|
||||
|
||||
bb6: {
|
||||
_3 = Le(const 13_u32, (_1.3: u32)); // scope 0 at $DIR/exponential-or.rs:+2:70: +2:77
|
||||
switchInt(move _3) -> [false: bb1, otherwise: bb7]; // scope 0 at $DIR/exponential-or.rs:+2:70: +2:77
|
||||
_3 = Le(const 13_u32, (_1.3: u32)); // scope 0 at $DIR/exponential_or.rs:+2:70: +2:77
|
||||
switchInt(move _3) -> [false: bb1, otherwise: bb7]; // scope 0 at $DIR/exponential_or.rs:+2:70: +2:77
|
||||
}
|
||||
|
||||
bb7: {
|
||||
_4 = Le((_1.3: u32), const 16_u32); // scope 0 at $DIR/exponential-or.rs:+2:70: +2:77
|
||||
switchInt(move _4) -> [false: bb1, otherwise: bb8]; // scope 0 at $DIR/exponential-or.rs:+2:70: +2:77
|
||||
_4 = Le((_1.3: u32), const 16_u32); // scope 0 at $DIR/exponential_or.rs:+2:70: +2:77
|
||||
switchInt(move _4) -> [false: bb1, otherwise: bb8]; // scope 0 at $DIR/exponential_or.rs:+2:70: +2:77
|
||||
}
|
||||
|
||||
bb8: {
|
||||
falseEdge -> [real: bb9, imaginary: bb1]; // scope 0 at $DIR/exponential-or.rs:+2:9: +2:79
|
||||
falseEdge -> [real: bb9, imaginary: bb1]; // scope 0 at $DIR/exponential_or.rs:+2:9: +2:79
|
||||
}
|
||||
|
||||
bb9: {
|
||||
StorageLive(_7); // scope 0 at $DIR/exponential-or.rs:+2:10: +2:11
|
||||
_7 = (_1.0: u32); // scope 0 at $DIR/exponential-or.rs:+2:10: +2:11
|
||||
StorageLive(_8); // scope 0 at $DIR/exponential-or.rs:+2:57: +2:58
|
||||
_8 = (_1.3: u32); // scope 0 at $DIR/exponential-or.rs:+2:57: +2:58
|
||||
StorageLive(_9); // scope 1 at $DIR/exponential-or.rs:+2:83: +2:84
|
||||
_9 = _7; // scope 1 at $DIR/exponential-or.rs:+2:83: +2:84
|
||||
StorageLive(_10); // scope 1 at $DIR/exponential-or.rs:+2:87: +2:88
|
||||
_10 = _8; // scope 1 at $DIR/exponential-or.rs:+2:87: +2:88
|
||||
_0 = BitXor(move _9, move _10); // scope 1 at $DIR/exponential-or.rs:+2:83: +2:88
|
||||
StorageDead(_10); // scope 1 at $DIR/exponential-or.rs:+2:87: +2:88
|
||||
StorageDead(_9); // scope 1 at $DIR/exponential-or.rs:+2:87: +2:88
|
||||
StorageDead(_8); // scope 0 at $DIR/exponential-or.rs:+2:87: +2:88
|
||||
StorageDead(_7); // scope 0 at $DIR/exponential-or.rs:+2:87: +2:88
|
||||
goto -> bb10; // scope 0 at $DIR/exponential-or.rs:+2:87: +2:88
|
||||
StorageLive(_7); // scope 0 at $DIR/exponential_or.rs:+2:10: +2:11
|
||||
_7 = (_1.0: u32); // scope 0 at $DIR/exponential_or.rs:+2:10: +2:11
|
||||
StorageLive(_8); // scope 0 at $DIR/exponential_or.rs:+2:57: +2:58
|
||||
_8 = (_1.3: u32); // scope 0 at $DIR/exponential_or.rs:+2:57: +2:58
|
||||
StorageLive(_9); // scope 1 at $DIR/exponential_or.rs:+2:83: +2:84
|
||||
_9 = _7; // scope 1 at $DIR/exponential_or.rs:+2:83: +2:84
|
||||
StorageLive(_10); // scope 1 at $DIR/exponential_or.rs:+2:87: +2:88
|
||||
_10 = _8; // scope 1 at $DIR/exponential_or.rs:+2:87: +2:88
|
||||
_0 = BitXor(move _9, move _10); // scope 1 at $DIR/exponential_or.rs:+2:83: +2:88
|
||||
StorageDead(_10); // scope 1 at $DIR/exponential_or.rs:+2:87: +2:88
|
||||
StorageDead(_9); // scope 1 at $DIR/exponential_or.rs:+2:87: +2:88
|
||||
StorageDead(_8); // scope 0 at $DIR/exponential_or.rs:+2:87: +2:88
|
||||
StorageDead(_7); // scope 0 at $DIR/exponential_or.rs:+2:87: +2:88
|
||||
goto -> bb10; // scope 0 at $DIR/exponential_or.rs:+2:87: +2:88
|
||||
}
|
||||
|
||||
bb10: {
|
||||
return; // scope 0 at $DIR/exponential-or.rs:+5:2: +5:2
|
||||
return; // scope 0 at $DIR/exponential_or.rs:+5:2: +5:2
|
||||
}
|
||||
}
|
||||
|
|
|
@ -14,71 +14,71 @@
|
|||
},
|
||||
} */
|
||||
|
||||
fn main::{closure#0}(_1: *mut [generator@$DIR/generator-drop-cleanup.rs:10:15: 10:17]) -> () {
|
||||
let mut _0: (); // return place in scope 0 at $DIR/generator-drop-cleanup.rs:+0:15: +3:6
|
||||
let mut _2: (); // in scope 0 at $DIR/generator-drop-cleanup.rs:+0:15: +3:6
|
||||
let _3: std::string::String; // in scope 0 at $DIR/generator-drop-cleanup.rs:+1:13: +1:15
|
||||
let _4: (); // in scope 0 at $DIR/generator-drop-cleanup.rs:+2:9: +2:14
|
||||
let mut _5: (); // in scope 0 at $DIR/generator-drop-cleanup.rs:+2:9: +2:14
|
||||
let mut _6: (); // in scope 0 at $DIR/generator-drop-cleanup.rs:+0:18: +0:18
|
||||
let mut _7: (); // in scope 0 at $DIR/generator-drop-cleanup.rs:+0:15: +3:6
|
||||
let mut _8: u32; // in scope 0 at $DIR/generator-drop-cleanup.rs:+0:15: +3:6
|
||||
fn main::{closure#0}(_1: *mut [generator@$DIR/generator_drop_cleanup.rs:10:15: 10:17]) -> () {
|
||||
let mut _0: (); // return place in scope 0 at $DIR/generator_drop_cleanup.rs:+0:15: +3:6
|
||||
let mut _2: (); // in scope 0 at $DIR/generator_drop_cleanup.rs:+0:15: +3:6
|
||||
let _3: std::string::String; // in scope 0 at $DIR/generator_drop_cleanup.rs:+1:13: +1:15
|
||||
let _4: (); // in scope 0 at $DIR/generator_drop_cleanup.rs:+2:9: +2:14
|
||||
let mut _5: (); // in scope 0 at $DIR/generator_drop_cleanup.rs:+2:9: +2:14
|
||||
let mut _6: (); // in scope 0 at $DIR/generator_drop_cleanup.rs:+0:18: +0:18
|
||||
let mut _7: (); // in scope 0 at $DIR/generator_drop_cleanup.rs:+0:15: +3:6
|
||||
let mut _8: u32; // in scope 0 at $DIR/generator_drop_cleanup.rs:+0:15: +3:6
|
||||
scope 1 {
|
||||
debug _s => (((*_1) as variant#3).0: std::string::String); // in scope 1 at $DIR/generator-drop-cleanup.rs:+1:13: +1:15
|
||||
debug _s => (((*_1) as variant#3).0: std::string::String); // in scope 1 at $DIR/generator_drop_cleanup.rs:+1:13: +1:15
|
||||
}
|
||||
|
||||
bb0: {
|
||||
_8 = discriminant((*_1)); // scope 0 at $DIR/generator-drop-cleanup.rs:+0:15: +3:6
|
||||
switchInt(move _8) -> [0_u32: bb7, 3_u32: bb10, otherwise: bb11]; // scope 0 at $DIR/generator-drop-cleanup.rs:+0:15: +3:6
|
||||
_8 = discriminant((*_1)); // scope 0 at $DIR/generator_drop_cleanup.rs:+0:15: +3:6
|
||||
switchInt(move _8) -> [0_u32: bb7, 3_u32: bb10, otherwise: bb11]; // scope 0 at $DIR/generator_drop_cleanup.rs:+0:15: +3:6
|
||||
}
|
||||
|
||||
bb1: {
|
||||
StorageDead(_5); // scope 1 at $DIR/generator-drop-cleanup.rs:+2:13: +2:14
|
||||
StorageDead(_4); // scope 1 at $DIR/generator-drop-cleanup.rs:+2:14: +2:15
|
||||
drop((((*_1) as variant#3).0: std::string::String)) -> [return: bb2, unwind: bb5]; // scope 0 at $DIR/generator-drop-cleanup.rs:+3:5: +3:6
|
||||
StorageDead(_5); // scope 1 at $DIR/generator_drop_cleanup.rs:+2:13: +2:14
|
||||
StorageDead(_4); // scope 1 at $DIR/generator_drop_cleanup.rs:+2:14: +2:15
|
||||
drop((((*_1) as variant#3).0: std::string::String)) -> [return: bb2, unwind: bb5]; // scope 0 at $DIR/generator_drop_cleanup.rs:+3:5: +3:6
|
||||
}
|
||||
|
||||
bb2: {
|
||||
nop; // scope 0 at $DIR/generator-drop-cleanup.rs:+3:5: +3:6
|
||||
goto -> bb8; // scope 0 at $DIR/generator-drop-cleanup.rs:+3:5: +3:6
|
||||
nop; // scope 0 at $DIR/generator_drop_cleanup.rs:+3:5: +3:6
|
||||
goto -> bb8; // scope 0 at $DIR/generator_drop_cleanup.rs:+3:5: +3:6
|
||||
}
|
||||
|
||||
bb3: {
|
||||
return; // scope 0 at $DIR/generator-drop-cleanup.rs:+0:15: +3:6
|
||||
return; // scope 0 at $DIR/generator_drop_cleanup.rs:+0:15: +3:6
|
||||
}
|
||||
|
||||
bb4 (cleanup): {
|
||||
resume; // scope 0 at $DIR/generator-drop-cleanup.rs:+0:15: +3:6
|
||||
resume; // scope 0 at $DIR/generator_drop_cleanup.rs:+0:15: +3:6
|
||||
}
|
||||
|
||||
bb5 (cleanup): {
|
||||
nop; // scope 0 at $DIR/generator-drop-cleanup.rs:+3:5: +3:6
|
||||
goto -> bb4; // scope 0 at $DIR/generator-drop-cleanup.rs:+3:5: +3:6
|
||||
nop; // scope 0 at $DIR/generator_drop_cleanup.rs:+3:5: +3:6
|
||||
goto -> bb4; // scope 0 at $DIR/generator_drop_cleanup.rs:+3:5: +3:6
|
||||
}
|
||||
|
||||
bb6: {
|
||||
return; // scope 0 at $DIR/generator-drop-cleanup.rs:+0:15: +3:6
|
||||
return; // scope 0 at $DIR/generator_drop_cleanup.rs:+0:15: +3:6
|
||||
}
|
||||
|
||||
bb7: {
|
||||
goto -> bb9; // scope 0 at $DIR/generator-drop-cleanup.rs:+0:15: +3:6
|
||||
goto -> bb9; // scope 0 at $DIR/generator_drop_cleanup.rs:+0:15: +3:6
|
||||
}
|
||||
|
||||
bb8: {
|
||||
goto -> bb3; // scope 0 at $DIR/generator-drop-cleanup.rs:+3:5: +3:6
|
||||
goto -> bb3; // scope 0 at $DIR/generator_drop_cleanup.rs:+3:5: +3:6
|
||||
}
|
||||
|
||||
bb9: {
|
||||
goto -> bb6; // scope 0 at $DIR/generator-drop-cleanup.rs:+0:15: +3:6
|
||||
goto -> bb6; // scope 0 at $DIR/generator_drop_cleanup.rs:+0:15: +3:6
|
||||
}
|
||||
|
||||
bb10: {
|
||||
StorageLive(_4); // scope 0 at $DIR/generator-drop-cleanup.rs:+0:15: +3:6
|
||||
StorageLive(_5); // scope 0 at $DIR/generator-drop-cleanup.rs:+0:15: +3:6
|
||||
goto -> bb1; // scope 0 at $DIR/generator-drop-cleanup.rs:+0:15: +3:6
|
||||
StorageLive(_4); // scope 0 at $DIR/generator_drop_cleanup.rs:+0:15: +3:6
|
||||
StorageLive(_5); // scope 0 at $DIR/generator_drop_cleanup.rs:+0:15: +3:6
|
||||
goto -> bb1; // scope 0 at $DIR/generator_drop_cleanup.rs:+0:15: +3:6
|
||||
}
|
||||
|
||||
bb11: {
|
||||
return; // scope 0 at $DIR/generator-drop-cleanup.rs:+0:15: +3:6
|
||||
return; // scope 0 at $DIR/generator_drop_cleanup.rs:+0:15: +3:6
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,124 +1,124 @@
|
|||
// MIR for `main::{closure#0}` before StateTransform
|
||||
|
||||
fn main::{closure#0}(_1: [generator@$DIR/generator-storage-dead-unwind.rs:22:16: 22:18], _2: ()) -> ()
|
||||
fn main::{closure#0}(_1: [generator@$DIR/generator_storage_dead_unwind.rs:22:16: 22:18], _2: ()) -> ()
|
||||
yields ()
|
||||
{
|
||||
let mut _0: (); // return place in scope 0 at $DIR/generator-storage-dead-unwind.rs:+0:19: +0:19
|
||||
let _3: Foo; // in scope 0 at $DIR/generator-storage-dead-unwind.rs:+1:13: +1:14
|
||||
let _5: (); // in scope 0 at $DIR/generator-storage-dead-unwind.rs:+3:9: +3:14
|
||||
let mut _6: (); // in scope 0 at $DIR/generator-storage-dead-unwind.rs:+3:9: +3:14
|
||||
let _7: (); // in scope 0 at $DIR/generator-storage-dead-unwind.rs:+4:9: +4:16
|
||||
let mut _8: Foo; // in scope 0 at $DIR/generator-storage-dead-unwind.rs:+4:14: +4:15
|
||||
let _9: (); // in scope 0 at $DIR/generator-storage-dead-unwind.rs:+5:9: +5:16
|
||||
let mut _10: Bar; // in scope 0 at $DIR/generator-storage-dead-unwind.rs:+5:14: +5:15
|
||||
let mut _0: (); // return place in scope 0 at $DIR/generator_storage_dead_unwind.rs:+0:19: +0:19
|
||||
let _3: Foo; // in scope 0 at $DIR/generator_storage_dead_unwind.rs:+1:13: +1:14
|
||||
let _5: (); // in scope 0 at $DIR/generator_storage_dead_unwind.rs:+3:9: +3:14
|
||||
let mut _6: (); // in scope 0 at $DIR/generator_storage_dead_unwind.rs:+3:9: +3:14
|
||||
let _7: (); // in scope 0 at $DIR/generator_storage_dead_unwind.rs:+4:9: +4:16
|
||||
let mut _8: Foo; // in scope 0 at $DIR/generator_storage_dead_unwind.rs:+4:14: +4:15
|
||||
let _9: (); // in scope 0 at $DIR/generator_storage_dead_unwind.rs:+5:9: +5:16
|
||||
let mut _10: Bar; // in scope 0 at $DIR/generator_storage_dead_unwind.rs:+5:14: +5:15
|
||||
scope 1 {
|
||||
debug a => _3; // in scope 1 at $DIR/generator-storage-dead-unwind.rs:+1:13: +1:14
|
||||
let _4: Bar; // in scope 1 at $DIR/generator-storage-dead-unwind.rs:+2:13: +2:14
|
||||
debug a => _3; // in scope 1 at $DIR/generator_storage_dead_unwind.rs:+1:13: +1:14
|
||||
let _4: Bar; // in scope 1 at $DIR/generator_storage_dead_unwind.rs:+2:13: +2:14
|
||||
scope 2 {
|
||||
debug b => _4; // in scope 2 at $DIR/generator-storage-dead-unwind.rs:+2:13: +2:14
|
||||
debug b => _4; // in scope 2 at $DIR/generator_storage_dead_unwind.rs:+2:13: +2:14
|
||||
}
|
||||
}
|
||||
|
||||
bb0: {
|
||||
StorageLive(_3); // scope 0 at $DIR/generator-storage-dead-unwind.rs:+1:13: +1:14
|
||||
_3 = Foo(const 5_i32); // scope 0 at $DIR/generator-storage-dead-unwind.rs:+1:17: +1:23
|
||||
StorageLive(_4); // scope 1 at $DIR/generator-storage-dead-unwind.rs:+2:13: +2:14
|
||||
_4 = Bar(const 6_i32); // scope 1 at $DIR/generator-storage-dead-unwind.rs:+2:17: +2:23
|
||||
StorageLive(_5); // scope 2 at $DIR/generator-storage-dead-unwind.rs:+3:9: +3:14
|
||||
StorageLive(_6); // scope 2 at $DIR/generator-storage-dead-unwind.rs:+3:9: +3:14
|
||||
_6 = (); // scope 2 at $DIR/generator-storage-dead-unwind.rs:+3:9: +3:14
|
||||
_5 = yield(move _6) -> [resume: bb1, drop: bb6]; // scope 2 at $DIR/generator-storage-dead-unwind.rs:+3:9: +3:14
|
||||
StorageLive(_3); // scope 0 at $DIR/generator_storage_dead_unwind.rs:+1:13: +1:14
|
||||
_3 = Foo(const 5_i32); // scope 0 at $DIR/generator_storage_dead_unwind.rs:+1:17: +1:23
|
||||
StorageLive(_4); // scope 1 at $DIR/generator_storage_dead_unwind.rs:+2:13: +2:14
|
||||
_4 = Bar(const 6_i32); // scope 1 at $DIR/generator_storage_dead_unwind.rs:+2:17: +2:23
|
||||
StorageLive(_5); // scope 2 at $DIR/generator_storage_dead_unwind.rs:+3:9: +3:14
|
||||
StorageLive(_6); // scope 2 at $DIR/generator_storage_dead_unwind.rs:+3:9: +3:14
|
||||
_6 = (); // scope 2 at $DIR/generator_storage_dead_unwind.rs:+3:9: +3:14
|
||||
_5 = yield(move _6) -> [resume: bb1, drop: bb6]; // scope 2 at $DIR/generator_storage_dead_unwind.rs:+3:9: +3:14
|
||||
}
|
||||
|
||||
bb1: {
|
||||
StorageDead(_6); // scope 2 at $DIR/generator-storage-dead-unwind.rs:+3:13: +3:14
|
||||
StorageDead(_5); // scope 2 at $DIR/generator-storage-dead-unwind.rs:+3:14: +3:15
|
||||
StorageLive(_7); // scope 2 at $DIR/generator-storage-dead-unwind.rs:+4:9: +4:16
|
||||
StorageLive(_8); // scope 2 at $DIR/generator-storage-dead-unwind.rs:+4:14: +4:15
|
||||
_8 = move _3; // scope 2 at $DIR/generator-storage-dead-unwind.rs:+4:14: +4:15
|
||||
_7 = take::<Foo>(move _8) -> [return: bb2, unwind: bb10]; // scope 2 at $DIR/generator-storage-dead-unwind.rs:+4:9: +4:16
|
||||
StorageDead(_6); // scope 2 at $DIR/generator_storage_dead_unwind.rs:+3:13: +3:14
|
||||
StorageDead(_5); // scope 2 at $DIR/generator_storage_dead_unwind.rs:+3:14: +3:15
|
||||
StorageLive(_7); // scope 2 at $DIR/generator_storage_dead_unwind.rs:+4:9: +4:16
|
||||
StorageLive(_8); // scope 2 at $DIR/generator_storage_dead_unwind.rs:+4:14: +4:15
|
||||
_8 = move _3; // scope 2 at $DIR/generator_storage_dead_unwind.rs:+4:14: +4:15
|
||||
_7 = take::<Foo>(move _8) -> [return: bb2, unwind: bb10]; // scope 2 at $DIR/generator_storage_dead_unwind.rs:+4:9: +4:16
|
||||
// mir::Constant
|
||||
// + span: $DIR/generator-storage-dead-unwind.rs:26:9: 26:13
|
||||
// + span: $DIR/generator_storage_dead_unwind.rs:26:9: 26:13
|
||||
// + literal: Const { ty: fn(Foo) {take::<Foo>}, val: Value(<ZST>) }
|
||||
}
|
||||
|
||||
bb2: {
|
||||
StorageDead(_8); // scope 2 at $DIR/generator-storage-dead-unwind.rs:+4:15: +4:16
|
||||
StorageDead(_7); // scope 2 at $DIR/generator-storage-dead-unwind.rs:+4:16: +4:17
|
||||
StorageLive(_9); // scope 2 at $DIR/generator-storage-dead-unwind.rs:+5:9: +5:16
|
||||
StorageLive(_10); // scope 2 at $DIR/generator-storage-dead-unwind.rs:+5:14: +5:15
|
||||
_10 = move _4; // scope 2 at $DIR/generator-storage-dead-unwind.rs:+5:14: +5:15
|
||||
_9 = take::<Bar>(move _10) -> [return: bb3, unwind: bb9]; // scope 2 at $DIR/generator-storage-dead-unwind.rs:+5:9: +5:16
|
||||
StorageDead(_8); // scope 2 at $DIR/generator_storage_dead_unwind.rs:+4:15: +4:16
|
||||
StorageDead(_7); // scope 2 at $DIR/generator_storage_dead_unwind.rs:+4:16: +4:17
|
||||
StorageLive(_9); // scope 2 at $DIR/generator_storage_dead_unwind.rs:+5:9: +5:16
|
||||
StorageLive(_10); // scope 2 at $DIR/generator_storage_dead_unwind.rs:+5:14: +5:15
|
||||
_10 = move _4; // scope 2 at $DIR/generator_storage_dead_unwind.rs:+5:14: +5:15
|
||||
_9 = take::<Bar>(move _10) -> [return: bb3, unwind: bb9]; // scope 2 at $DIR/generator_storage_dead_unwind.rs:+5:9: +5:16
|
||||
// mir::Constant
|
||||
// + span: $DIR/generator-storage-dead-unwind.rs:27:9: 27:13
|
||||
// + span: $DIR/generator_storage_dead_unwind.rs:27:9: 27:13
|
||||
// + literal: Const { ty: fn(Bar) {take::<Bar>}, val: Value(<ZST>) }
|
||||
}
|
||||
|
||||
bb3: {
|
||||
StorageDead(_10); // scope 2 at $DIR/generator-storage-dead-unwind.rs:+5:15: +5:16
|
||||
StorageDead(_9); // scope 2 at $DIR/generator-storage-dead-unwind.rs:+5:16: +5:17
|
||||
_0 = const (); // scope 0 at $DIR/generator-storage-dead-unwind.rs:+0:19: +6:6
|
||||
StorageDead(_4); // scope 1 at $DIR/generator-storage-dead-unwind.rs:+6:5: +6:6
|
||||
goto -> bb4; // scope 0 at $DIR/generator-storage-dead-unwind.rs:+6:5: +6:6
|
||||
StorageDead(_10); // scope 2 at $DIR/generator_storage_dead_unwind.rs:+5:15: +5:16
|
||||
StorageDead(_9); // scope 2 at $DIR/generator_storage_dead_unwind.rs:+5:16: +5:17
|
||||
_0 = const (); // scope 0 at $DIR/generator_storage_dead_unwind.rs:+0:19: +6:6
|
||||
StorageDead(_4); // scope 1 at $DIR/generator_storage_dead_unwind.rs:+6:5: +6:6
|
||||
goto -> bb4; // scope 0 at $DIR/generator_storage_dead_unwind.rs:+6:5: +6:6
|
||||
}
|
||||
|
||||
bb4: {
|
||||
StorageDead(_3); // scope 0 at $DIR/generator-storage-dead-unwind.rs:+6:5: +6:6
|
||||
drop(_1) -> [return: bb5, unwind: bb14]; // scope 0 at $DIR/generator-storage-dead-unwind.rs:+6:5: +6:6
|
||||
StorageDead(_3); // scope 0 at $DIR/generator_storage_dead_unwind.rs:+6:5: +6:6
|
||||
drop(_1) -> [return: bb5, unwind: bb14]; // scope 0 at $DIR/generator_storage_dead_unwind.rs:+6:5: +6:6
|
||||
}
|
||||
|
||||
bb5: {
|
||||
return; // scope 0 at $DIR/generator-storage-dead-unwind.rs:+6:6: +6:6
|
||||
return; // scope 0 at $DIR/generator_storage_dead_unwind.rs:+6:6: +6:6
|
||||
}
|
||||
|
||||
bb6: {
|
||||
StorageDead(_6); // scope 2 at $DIR/generator-storage-dead-unwind.rs:+3:13: +3:14
|
||||
StorageDead(_5); // scope 2 at $DIR/generator-storage-dead-unwind.rs:+3:14: +3:15
|
||||
StorageDead(_4); // scope 1 at $DIR/generator-storage-dead-unwind.rs:+6:5: +6:6
|
||||
drop(_3) -> [return: bb7, unwind: bb15]; // scope 0 at $DIR/generator-storage-dead-unwind.rs:+6:5: +6:6
|
||||
StorageDead(_6); // scope 2 at $DIR/generator_storage_dead_unwind.rs:+3:13: +3:14
|
||||
StorageDead(_5); // scope 2 at $DIR/generator_storage_dead_unwind.rs:+3:14: +3:15
|
||||
StorageDead(_4); // scope 1 at $DIR/generator_storage_dead_unwind.rs:+6:5: +6:6
|
||||
drop(_3) -> [return: bb7, unwind: bb15]; // scope 0 at $DIR/generator_storage_dead_unwind.rs:+6:5: +6:6
|
||||
}
|
||||
|
||||
bb7: {
|
||||
StorageDead(_3); // scope 0 at $DIR/generator-storage-dead-unwind.rs:+6:5: +6:6
|
||||
drop(_1) -> [return: bb8, unwind: bb14]; // scope 0 at $DIR/generator-storage-dead-unwind.rs:+6:5: +6:6
|
||||
StorageDead(_3); // scope 0 at $DIR/generator_storage_dead_unwind.rs:+6:5: +6:6
|
||||
drop(_1) -> [return: bb8, unwind: bb14]; // scope 0 at $DIR/generator_storage_dead_unwind.rs:+6:5: +6:6
|
||||
}
|
||||
|
||||
bb8: {
|
||||
generator_drop; // scope 0 at $DIR/generator-storage-dead-unwind.rs:+0:16: +6:6
|
||||
generator_drop; // scope 0 at $DIR/generator_storage_dead_unwind.rs:+0:16: +6:6
|
||||
}
|
||||
|
||||
bb9 (cleanup): {
|
||||
StorageDead(_10); // scope 2 at $DIR/generator-storage-dead-unwind.rs:+5:15: +5:16
|
||||
StorageDead(_9); // scope 2 at $DIR/generator-storage-dead-unwind.rs:+5:16: +5:17
|
||||
StorageDead(_10); // scope 2 at $DIR/generator_storage_dead_unwind.rs:+5:15: +5:16
|
||||
StorageDead(_9); // scope 2 at $DIR/generator_storage_dead_unwind.rs:+5:16: +5:17
|
||||
goto -> bb12; // scope 2 at no-location
|
||||
}
|
||||
|
||||
bb10 (cleanup): {
|
||||
goto -> bb11; // scope 2 at $DIR/generator-storage-dead-unwind.rs:+4:15: +4:16
|
||||
goto -> bb11; // scope 2 at $DIR/generator_storage_dead_unwind.rs:+4:15: +4:16
|
||||
}
|
||||
|
||||
bb11 (cleanup): {
|
||||
StorageDead(_8); // scope 2 at $DIR/generator-storage-dead-unwind.rs:+4:15: +4:16
|
||||
StorageDead(_7); // scope 2 at $DIR/generator-storage-dead-unwind.rs:+4:16: +4:17
|
||||
StorageDead(_8); // scope 2 at $DIR/generator_storage_dead_unwind.rs:+4:15: +4:16
|
||||
StorageDead(_7); // scope 2 at $DIR/generator_storage_dead_unwind.rs:+4:16: +4:17
|
||||
goto -> bb12; // scope 2 at no-location
|
||||
}
|
||||
|
||||
bb12 (cleanup): {
|
||||
StorageDead(_4); // scope 1 at $DIR/generator-storage-dead-unwind.rs:+6:5: +6:6
|
||||
goto -> bb13; // scope 0 at $DIR/generator-storage-dead-unwind.rs:+6:5: +6:6
|
||||
StorageDead(_4); // scope 1 at $DIR/generator_storage_dead_unwind.rs:+6:5: +6:6
|
||||
goto -> bb13; // scope 0 at $DIR/generator_storage_dead_unwind.rs:+6:5: +6:6
|
||||
}
|
||||
|
||||
bb13 (cleanup): {
|
||||
StorageDead(_3); // scope 0 at $DIR/generator-storage-dead-unwind.rs:+6:5: +6:6
|
||||
drop(_1) -> bb14; // scope 0 at $DIR/generator-storage-dead-unwind.rs:+6:5: +6:6
|
||||
StorageDead(_3); // scope 0 at $DIR/generator_storage_dead_unwind.rs:+6:5: +6:6
|
||||
drop(_1) -> bb14; // scope 0 at $DIR/generator_storage_dead_unwind.rs:+6:5: +6:6
|
||||
}
|
||||
|
||||
bb14 (cleanup): {
|
||||
resume; // scope 0 at $DIR/generator-storage-dead-unwind.rs:+0:16: +6:6
|
||||
resume; // scope 0 at $DIR/generator_storage_dead_unwind.rs:+0:16: +6:6
|
||||
}
|
||||
|
||||
bb15 (cleanup): {
|
||||
StorageDead(_3); // scope 0 at $DIR/generator-storage-dead-unwind.rs:+6:5: +6:6
|
||||
drop(_1) -> bb14; // scope 0 at $DIR/generator-storage-dead-unwind.rs:+6:5: +6:6
|
||||
StorageDead(_3); // scope 0 at $DIR/generator_storage_dead_unwind.rs:+6:5: +6:6
|
||||
drop(_1) -> bb14; // scope 0 at $DIR/generator_storage_dead_unwind.rs:+6:5: +6:6
|
||||
}
|
||||
}
|
||||
|
|
|
@ -14,71 +14,71 @@
|
|||
},
|
||||
} */
|
||||
|
||||
fn main::{closure#0}(_1: Pin<&mut [generator@$DIR/generator-tiny.rs:19:16: 19:24]>, _2: u8) -> GeneratorState<(), ()> {
|
||||
debug _x => _10; // in scope 0 at $DIR/generator-tiny.rs:+0:17: +0:19
|
||||
let mut _0: std::ops::GeneratorState<(), ()>; // return place in scope 0 at $DIR/generator-tiny.rs:+0:16: +6:6
|
||||
let _3: HasDrop; // in scope 0 at $DIR/generator-tiny.rs:+1:13: +1:15
|
||||
let mut _4: !; // in scope 0 at $DIR/generator-tiny.rs:+2:9: +5:10
|
||||
let mut _5: (); // in scope 0 at $DIR/generator-tiny.rs:+0:16: +6:6
|
||||
let _6: u8; // in scope 0 at $DIR/generator-tiny.rs:+3:13: +3:18
|
||||
let mut _7: (); // in scope 0 at $DIR/generator-tiny.rs:+3:13: +3:18
|
||||
let _8: (); // in scope 0 at $DIR/generator-tiny.rs:+4:13: +4:21
|
||||
let mut _9: (); // in scope 0 at $DIR/generator-tiny.rs:+0:25: +0:25
|
||||
let _10: u8; // in scope 0 at $DIR/generator-tiny.rs:+0:17: +0:19
|
||||
let mut _11: u32; // in scope 0 at $DIR/generator-tiny.rs:+0:16: +6:6
|
||||
fn main::{closure#0}(_1: Pin<&mut [generator@$DIR/generator_tiny.rs:19:16: 19:24]>, _2: u8) -> GeneratorState<(), ()> {
|
||||
debug _x => _10; // in scope 0 at $DIR/generator_tiny.rs:+0:17: +0:19
|
||||
let mut _0: std::ops::GeneratorState<(), ()>; // return place in scope 0 at $DIR/generator_tiny.rs:+0:16: +6:6
|
||||
let _3: HasDrop; // in scope 0 at $DIR/generator_tiny.rs:+1:13: +1:15
|
||||
let mut _4: !; // in scope 0 at $DIR/generator_tiny.rs:+2:9: +5:10
|
||||
let mut _5: (); // in scope 0 at $DIR/generator_tiny.rs:+0:16: +6:6
|
||||
let _6: u8; // in scope 0 at $DIR/generator_tiny.rs:+3:13: +3:18
|
||||
let mut _7: (); // in scope 0 at $DIR/generator_tiny.rs:+3:13: +3:18
|
||||
let _8: (); // in scope 0 at $DIR/generator_tiny.rs:+4:13: +4:21
|
||||
let mut _9: (); // in scope 0 at $DIR/generator_tiny.rs:+0:25: +0:25
|
||||
let _10: u8; // in scope 0 at $DIR/generator_tiny.rs:+0:17: +0:19
|
||||
let mut _11: u32; // in scope 0 at $DIR/generator_tiny.rs:+0:16: +6:6
|
||||
scope 1 {
|
||||
debug _d => (((*(_1.0: &mut [generator@$DIR/generator-tiny.rs:19:16: 19:24])) as variant#3).0: HasDrop); // in scope 1 at $DIR/generator-tiny.rs:+1:13: +1:15
|
||||
debug _d => (((*(_1.0: &mut [generator@$DIR/generator_tiny.rs:19:16: 19:24])) as variant#3).0: HasDrop); // in scope 1 at $DIR/generator_tiny.rs:+1:13: +1:15
|
||||
}
|
||||
|
||||
bb0: {
|
||||
_11 = discriminant((*(_1.0: &mut [generator@$DIR/generator-tiny.rs:19:16: 19:24]))); // scope 0 at $DIR/generator-tiny.rs:+0:16: +6:6
|
||||
switchInt(move _11) -> [0_u32: bb1, 3_u32: bb5, otherwise: bb6]; // scope 0 at $DIR/generator-tiny.rs:+0:16: +6:6
|
||||
_11 = discriminant((*(_1.0: &mut [generator@$DIR/generator_tiny.rs:19:16: 19:24]))); // scope 0 at $DIR/generator_tiny.rs:+0:16: +6:6
|
||||
switchInt(move _11) -> [0_u32: bb1, 3_u32: bb5, otherwise: bb6]; // scope 0 at $DIR/generator_tiny.rs:+0:16: +6:6
|
||||
}
|
||||
|
||||
bb1: {
|
||||
_10 = move _2; // scope 0 at $DIR/generator-tiny.rs:+0:16: +6:6
|
||||
nop; // scope 0 at $DIR/generator-tiny.rs:+1:13: +1:15
|
||||
(((*(_1.0: &mut [generator@$DIR/generator-tiny.rs:19:16: 19:24])) as variant#3).0: HasDrop) = HasDrop; // scope 0 at $DIR/generator-tiny.rs:+1:18: +1:25
|
||||
StorageLive(_4); // scope 1 at $DIR/generator-tiny.rs:+2:9: +5:10
|
||||
goto -> bb2; // scope 1 at $DIR/generator-tiny.rs:+2:9: +5:10
|
||||
_10 = move _2; // scope 0 at $DIR/generator_tiny.rs:+0:16: +6:6
|
||||
nop; // scope 0 at $DIR/generator_tiny.rs:+1:13: +1:15
|
||||
(((*(_1.0: &mut [generator@$DIR/generator_tiny.rs:19:16: 19:24])) as variant#3).0: HasDrop) = HasDrop; // scope 0 at $DIR/generator_tiny.rs:+1:18: +1:25
|
||||
StorageLive(_4); // scope 1 at $DIR/generator_tiny.rs:+2:9: +5:10
|
||||
goto -> bb2; // scope 1 at $DIR/generator_tiny.rs:+2:9: +5:10
|
||||
}
|
||||
|
||||
bb2: {
|
||||
StorageLive(_6); // scope 1 at $DIR/generator-tiny.rs:+3:13: +3:18
|
||||
StorageLive(_7); // scope 1 at $DIR/generator-tiny.rs:+3:13: +3:18
|
||||
_7 = (); // scope 1 at $DIR/generator-tiny.rs:+3:13: +3:18
|
||||
Deinit(_0); // scope 1 at $DIR/generator-tiny.rs:+3:13: +3:18
|
||||
((_0 as Yielded).0: ()) = move _7; // scope 1 at $DIR/generator-tiny.rs:+3:13: +3:18
|
||||
discriminant(_0) = 0; // scope 1 at $DIR/generator-tiny.rs:+3:13: +3:18
|
||||
discriminant((*(_1.0: &mut [generator@$DIR/generator-tiny.rs:19:16: 19:24]))) = 3; // scope 1 at $DIR/generator-tiny.rs:+3:13: +3:18
|
||||
return; // scope 1 at $DIR/generator-tiny.rs:+3:13: +3:18
|
||||
StorageLive(_6); // scope 1 at $DIR/generator_tiny.rs:+3:13: +3:18
|
||||
StorageLive(_7); // scope 1 at $DIR/generator_tiny.rs:+3:13: +3:18
|
||||
_7 = (); // scope 1 at $DIR/generator_tiny.rs:+3:13: +3:18
|
||||
Deinit(_0); // scope 1 at $DIR/generator_tiny.rs:+3:13: +3:18
|
||||
((_0 as Yielded).0: ()) = move _7; // scope 1 at $DIR/generator_tiny.rs:+3:13: +3:18
|
||||
discriminant(_0) = 0; // scope 1 at $DIR/generator_tiny.rs:+3:13: +3:18
|
||||
discriminant((*(_1.0: &mut [generator@$DIR/generator_tiny.rs:19:16: 19:24]))) = 3; // scope 1 at $DIR/generator_tiny.rs:+3:13: +3:18
|
||||
return; // scope 1 at $DIR/generator_tiny.rs:+3:13: +3:18
|
||||
}
|
||||
|
||||
bb3: {
|
||||
StorageDead(_7); // scope 1 at $DIR/generator-tiny.rs:+3:17: +3:18
|
||||
StorageDead(_6); // scope 1 at $DIR/generator-tiny.rs:+3:18: +3:19
|
||||
StorageLive(_8); // scope 1 at $DIR/generator-tiny.rs:+4:13: +4:21
|
||||
_8 = callee() -> bb4; // scope 1 at $DIR/generator-tiny.rs:+4:13: +4:21
|
||||
StorageDead(_7); // scope 1 at $DIR/generator_tiny.rs:+3:17: +3:18
|
||||
StorageDead(_6); // scope 1 at $DIR/generator_tiny.rs:+3:18: +3:19
|
||||
StorageLive(_8); // scope 1 at $DIR/generator_tiny.rs:+4:13: +4:21
|
||||
_8 = callee() -> bb4; // scope 1 at $DIR/generator_tiny.rs:+4:13: +4:21
|
||||
// mir::Constant
|
||||
// + span: $DIR/generator-tiny.rs:23:13: 23:19
|
||||
// + span: $DIR/generator_tiny.rs:23:13: 23:19
|
||||
// + literal: Const { ty: fn() {callee}, val: Value(<ZST>) }
|
||||
}
|
||||
|
||||
bb4: {
|
||||
StorageDead(_8); // scope 1 at $DIR/generator-tiny.rs:+4:21: +4:22
|
||||
_5 = const (); // scope 1 at $DIR/generator-tiny.rs:+2:14: +5:10
|
||||
goto -> bb2; // scope 1 at $DIR/generator-tiny.rs:+2:9: +5:10
|
||||
StorageDead(_8); // scope 1 at $DIR/generator_tiny.rs:+4:21: +4:22
|
||||
_5 = const (); // scope 1 at $DIR/generator_tiny.rs:+2:14: +5:10
|
||||
goto -> bb2; // scope 1 at $DIR/generator_tiny.rs:+2:9: +5:10
|
||||
}
|
||||
|
||||
bb5: {
|
||||
StorageLive(_4); // scope 0 at $DIR/generator-tiny.rs:+0:16: +6:6
|
||||
StorageLive(_6); // scope 0 at $DIR/generator-tiny.rs:+0:16: +6:6
|
||||
StorageLive(_7); // scope 0 at $DIR/generator-tiny.rs:+0:16: +6:6
|
||||
_6 = move _2; // scope 0 at $DIR/generator-tiny.rs:+0:16: +6:6
|
||||
goto -> bb3; // scope 0 at $DIR/generator-tiny.rs:+0:16: +6:6
|
||||
StorageLive(_4); // scope 0 at $DIR/generator_tiny.rs:+0:16: +6:6
|
||||
StorageLive(_6); // scope 0 at $DIR/generator_tiny.rs:+0:16: +6:6
|
||||
StorageLive(_7); // scope 0 at $DIR/generator_tiny.rs:+0:16: +6:6
|
||||
_6 = move _2; // scope 0 at $DIR/generator_tiny.rs:+0:16: +6:6
|
||||
goto -> bb3; // scope 0 at $DIR/generator_tiny.rs:+0:16: +6:6
|
||||
}
|
||||
|
||||
bb6: {
|
||||
unreachable; // scope 0 at $DIR/generator-tiny.rs:+0:16: +6:6
|
||||
unreachable; // scope 0 at $DIR/generator_tiny.rs:+0:16: +6:6
|
||||
}
|
||||
}
|
||||
|
|
|
@ -2,29 +2,29 @@
|
|||
+ // MIR for `dont_opt_bool` after SimplifyComparisonIntegral
|
||||
|
||||
fn dont_opt_bool(_1: bool) -> u32 {
|
||||
debug x => _1; // in scope 0 at $DIR/if-condition-int.rs:+0:18: +0:19
|
||||
let mut _0: u32; // return place in scope 0 at $DIR/if-condition-int.rs:+0:30: +0:33
|
||||
let mut _2: bool; // in scope 0 at $DIR/if-condition-int.rs:+1:8: +1:9
|
||||
debug x => _1; // in scope 0 at $DIR/if_condition_int.rs:+0:18: +0:19
|
||||
let mut _0: u32; // return place in scope 0 at $DIR/if_condition_int.rs:+0:30: +0:33
|
||||
let mut _2: bool; // in scope 0 at $DIR/if_condition_int.rs:+1:8: +1:9
|
||||
|
||||
bb0: {
|
||||
StorageLive(_2); // scope 0 at $DIR/if-condition-int.rs:+1:8: +1:9
|
||||
_2 = _1; // scope 0 at $DIR/if-condition-int.rs:+1:8: +1:9
|
||||
switchInt(move _2) -> [false: bb2, otherwise: bb1]; // scope 0 at $DIR/if-condition-int.rs:+1:8: +1:9
|
||||
StorageLive(_2); // scope 0 at $DIR/if_condition_int.rs:+1:8: +1:9
|
||||
_2 = _1; // scope 0 at $DIR/if_condition_int.rs:+1:8: +1:9
|
||||
switchInt(move _2) -> [false: bb2, otherwise: bb1]; // scope 0 at $DIR/if_condition_int.rs:+1:8: +1:9
|
||||
}
|
||||
|
||||
bb1: {
|
||||
_0 = const 0_u32; // scope 0 at $DIR/if-condition-int.rs:+1:12: +1:13
|
||||
goto -> bb3; // scope 0 at $DIR/if-condition-int.rs:+1:5: +1:26
|
||||
_0 = const 0_u32; // scope 0 at $DIR/if_condition_int.rs:+1:12: +1:13
|
||||
goto -> bb3; // scope 0 at $DIR/if_condition_int.rs:+1:5: +1:26
|
||||
}
|
||||
|
||||
bb2: {
|
||||
_0 = const 1_u32; // scope 0 at $DIR/if-condition-int.rs:+1:23: +1:24
|
||||
goto -> bb3; // scope 0 at $DIR/if-condition-int.rs:+1:5: +1:26
|
||||
_0 = const 1_u32; // scope 0 at $DIR/if_condition_int.rs:+1:23: +1:24
|
||||
goto -> bb3; // scope 0 at $DIR/if_condition_int.rs:+1:5: +1:26
|
||||
}
|
||||
|
||||
bb3: {
|
||||
StorageDead(_2); // scope 0 at $DIR/if-condition-int.rs:+1:25: +1:26
|
||||
return; // scope 0 at $DIR/if-condition-int.rs:+2:2: +2:2
|
||||
StorageDead(_2); // scope 0 at $DIR/if_condition_int.rs:+1:25: +1:26
|
||||
return; // scope 0 at $DIR/if_condition_int.rs:+2:2: +2:2
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -2,33 +2,33 @@
|
|||
+ // MIR for `dont_opt_floats` after SimplifyComparisonIntegral
|
||||
|
||||
fn dont_opt_floats(_1: f32) -> i32 {
|
||||
debug a => _1; // in scope 0 at $DIR/if-condition-int.rs:+0:20: +0:21
|
||||
let mut _0: i32; // return place in scope 0 at $DIR/if-condition-int.rs:+0:31: +0:34
|
||||
let mut _2: bool; // in scope 0 at $DIR/if-condition-int.rs:+1:8: +1:18
|
||||
let mut _3: f32; // in scope 0 at $DIR/if-condition-int.rs:+1:8: +1:9
|
||||
debug a => _1; // in scope 0 at $DIR/if_condition_int.rs:+0:20: +0:21
|
||||
let mut _0: i32; // return place in scope 0 at $DIR/if_condition_int.rs:+0:31: +0:34
|
||||
let mut _2: bool; // in scope 0 at $DIR/if_condition_int.rs:+1:8: +1:18
|
||||
let mut _3: f32; // in scope 0 at $DIR/if_condition_int.rs:+1:8: +1:9
|
||||
|
||||
bb0: {
|
||||
StorageLive(_2); // scope 0 at $DIR/if-condition-int.rs:+1:8: +1:18
|
||||
StorageLive(_3); // scope 0 at $DIR/if-condition-int.rs:+1:8: +1:9
|
||||
_3 = _1; // scope 0 at $DIR/if-condition-int.rs:+1:8: +1:9
|
||||
_2 = Eq(move _3, const -42f32); // scope 0 at $DIR/if-condition-int.rs:+1:8: +1:18
|
||||
StorageDead(_3); // scope 0 at $DIR/if-condition-int.rs:+1:17: +1:18
|
||||
switchInt(move _2) -> [false: bb2, otherwise: bb1]; // scope 0 at $DIR/if-condition-int.rs:+1:8: +1:18
|
||||
StorageLive(_2); // scope 0 at $DIR/if_condition_int.rs:+1:8: +1:18
|
||||
StorageLive(_3); // scope 0 at $DIR/if_condition_int.rs:+1:8: +1:9
|
||||
_3 = _1; // scope 0 at $DIR/if_condition_int.rs:+1:8: +1:9
|
||||
_2 = Eq(move _3, const -42f32); // scope 0 at $DIR/if_condition_int.rs:+1:8: +1:18
|
||||
StorageDead(_3); // scope 0 at $DIR/if_condition_int.rs:+1:17: +1:18
|
||||
switchInt(move _2) -> [false: bb2, otherwise: bb1]; // scope 0 at $DIR/if_condition_int.rs:+1:8: +1:18
|
||||
}
|
||||
|
||||
bb1: {
|
||||
_0 = const 0_i32; // scope 0 at $DIR/if-condition-int.rs:+1:21: +1:22
|
||||
goto -> bb3; // scope 0 at $DIR/if-condition-int.rs:+1:5: +1:35
|
||||
_0 = const 0_i32; // scope 0 at $DIR/if_condition_int.rs:+1:21: +1:22
|
||||
goto -> bb3; // scope 0 at $DIR/if_condition_int.rs:+1:5: +1:35
|
||||
}
|
||||
|
||||
bb2: {
|
||||
_0 = const 1_i32; // scope 0 at $DIR/if-condition-int.rs:+1:32: +1:33
|
||||
goto -> bb3; // scope 0 at $DIR/if-condition-int.rs:+1:5: +1:35
|
||||
_0 = const 1_i32; // scope 0 at $DIR/if_condition_int.rs:+1:32: +1:33
|
||||
goto -> bb3; // scope 0 at $DIR/if_condition_int.rs:+1:5: +1:35
|
||||
}
|
||||
|
||||
bb3: {
|
||||
StorageDead(_2); // scope 0 at $DIR/if-condition-int.rs:+1:34: +1:35
|
||||
return; // scope 0 at $DIR/if-condition-int.rs:+2:2: +2:2
|
||||
StorageDead(_2); // scope 0 at $DIR/if_condition_int.rs:+1:34: +1:35
|
||||
return; // scope 0 at $DIR/if_condition_int.rs:+2:2: +2:2
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -2,57 +2,57 @@
|
|||
+ // MIR for `dont_remove_comparison` after SimplifyComparisonIntegral
|
||||
|
||||
fn dont_remove_comparison(_1: i8) -> i32 {
|
||||
debug a => _1; // in scope 0 at $DIR/if-condition-int.rs:+0:27: +0:28
|
||||
let mut _0: i32; // return place in scope 0 at $DIR/if-condition-int.rs:+0:37: +0:40
|
||||
let _2: bool; // in scope 0 at $DIR/if-condition-int.rs:+1:9: +1:10
|
||||
let mut _3: i8; // in scope 0 at $DIR/if-condition-int.rs:+1:13: +1:14
|
||||
let mut _4: i32; // in scope 0 at $DIR/if-condition-int.rs:+3:23: +3:31
|
||||
let mut _5: bool; // in scope 0 at $DIR/if-condition-int.rs:+3:23: +3:24
|
||||
let mut _6: i32; // in scope 0 at $DIR/if-condition-int.rs:+4:23: +4:31
|
||||
let mut _7: bool; // in scope 0 at $DIR/if-condition-int.rs:+4:23: +4:24
|
||||
debug a => _1; // in scope 0 at $DIR/if_condition_int.rs:+0:27: +0:28
|
||||
let mut _0: i32; // return place in scope 0 at $DIR/if_condition_int.rs:+0:37: +0:40
|
||||
let _2: bool; // in scope 0 at $DIR/if_condition_int.rs:+1:9: +1:10
|
||||
let mut _3: i8; // in scope 0 at $DIR/if_condition_int.rs:+1:13: +1:14
|
||||
let mut _4: i32; // in scope 0 at $DIR/if_condition_int.rs:+3:23: +3:31
|
||||
let mut _5: bool; // in scope 0 at $DIR/if_condition_int.rs:+3:23: +3:24
|
||||
let mut _6: i32; // in scope 0 at $DIR/if_condition_int.rs:+4:23: +4:31
|
||||
let mut _7: bool; // in scope 0 at $DIR/if_condition_int.rs:+4:23: +4:24
|
||||
scope 1 {
|
||||
debug b => _2; // in scope 1 at $DIR/if-condition-int.rs:+1:9: +1:10
|
||||
debug b => _2; // in scope 1 at $DIR/if_condition_int.rs:+1:9: +1:10
|
||||
}
|
||||
|
||||
bb0: {
|
||||
StorageLive(_2); // scope 0 at $DIR/if-condition-int.rs:+1:9: +1:10
|
||||
StorageLive(_3); // scope 0 at $DIR/if-condition-int.rs:+1:13: +1:14
|
||||
_3 = _1; // scope 0 at $DIR/if-condition-int.rs:+1:13: +1:14
|
||||
- _2 = Eq(move _3, const 17_i8); // scope 0 at $DIR/if-condition-int.rs:+1:13: +1:20
|
||||
- StorageDead(_3); // scope 0 at $DIR/if-condition-int.rs:+1:19: +1:20
|
||||
- switchInt(_2) -> [false: bb2, otherwise: bb1]; // scope 1 at $DIR/if-condition-int.rs:+2:5: +2:12
|
||||
+ _2 = Eq(_3, const 17_i8); // scope 0 at $DIR/if-condition-int.rs:+1:13: +1:20
|
||||
+ nop; // scope 0 at $DIR/if-condition-int.rs:+1:19: +1:20
|
||||
+ switchInt(move _3) -> [17_i8: bb1, otherwise: bb2]; // scope 1 at $DIR/if-condition-int.rs:+2:5: +2:12
|
||||
StorageLive(_2); // scope 0 at $DIR/if_condition_int.rs:+1:9: +1:10
|
||||
StorageLive(_3); // scope 0 at $DIR/if_condition_int.rs:+1:13: +1:14
|
||||
_3 = _1; // scope 0 at $DIR/if_condition_int.rs:+1:13: +1:14
|
||||
- _2 = Eq(move _3, const 17_i8); // scope 0 at $DIR/if_condition_int.rs:+1:13: +1:20
|
||||
- StorageDead(_3); // scope 0 at $DIR/if_condition_int.rs:+1:19: +1:20
|
||||
- switchInt(_2) -> [false: bb2, otherwise: bb1]; // scope 1 at $DIR/if_condition_int.rs:+2:5: +2:12
|
||||
+ _2 = Eq(_3, const 17_i8); // scope 0 at $DIR/if_condition_int.rs:+1:13: +1:20
|
||||
+ nop; // scope 0 at $DIR/if_condition_int.rs:+1:19: +1:20
|
||||
+ switchInt(move _3) -> [17_i8: bb1, otherwise: bb2]; // scope 1 at $DIR/if_condition_int.rs:+2:5: +2:12
|
||||
}
|
||||
|
||||
bb1: {
|
||||
+ StorageDead(_3); // scope 1 at $DIR/if-condition-int.rs:+2:5: +2:12
|
||||
StorageLive(_6); // scope 1 at $DIR/if-condition-int.rs:+4:23: +4:31
|
||||
StorageLive(_7); // scope 1 at $DIR/if-condition-int.rs:+4:23: +4:24
|
||||
_7 = _2; // scope 1 at $DIR/if-condition-int.rs:+4:23: +4:24
|
||||
_6 = move _7 as i32 (IntToInt); // scope 1 at $DIR/if-condition-int.rs:+4:23: +4:31
|
||||
StorageDead(_7); // scope 1 at $DIR/if-condition-int.rs:+4:30: +4:31
|
||||
_0 = Add(const 100_i32, move _6); // scope 1 at $DIR/if-condition-int.rs:+4:17: +4:31
|
||||
StorageDead(_6); // scope 1 at $DIR/if-condition-int.rs:+4:30: +4:31
|
||||
goto -> bb3; // scope 1 at $DIR/if-condition-int.rs:+4:30: +4:31
|
||||
+ StorageDead(_3); // scope 1 at $DIR/if_condition_int.rs:+2:5: +2:12
|
||||
StorageLive(_6); // scope 1 at $DIR/if_condition_int.rs:+4:23: +4:31
|
||||
StorageLive(_7); // scope 1 at $DIR/if_condition_int.rs:+4:23: +4:24
|
||||
_7 = _2; // scope 1 at $DIR/if_condition_int.rs:+4:23: +4:24
|
||||
_6 = move _7 as i32 (IntToInt); // scope 1 at $DIR/if_condition_int.rs:+4:23: +4:31
|
||||
StorageDead(_7); // scope 1 at $DIR/if_condition_int.rs:+4:30: +4:31
|
||||
_0 = Add(const 100_i32, move _6); // scope 1 at $DIR/if_condition_int.rs:+4:17: +4:31
|
||||
StorageDead(_6); // scope 1 at $DIR/if_condition_int.rs:+4:30: +4:31
|
||||
goto -> bb3; // scope 1 at $DIR/if_condition_int.rs:+4:30: +4:31
|
||||
}
|
||||
|
||||
bb2: {
|
||||
+ StorageDead(_3); // scope 1 at $DIR/if-condition-int.rs:+2:5: +2:12
|
||||
StorageLive(_4); // scope 1 at $DIR/if-condition-int.rs:+3:23: +3:31
|
||||
StorageLive(_5); // scope 1 at $DIR/if-condition-int.rs:+3:23: +3:24
|
||||
_5 = _2; // scope 1 at $DIR/if-condition-int.rs:+3:23: +3:24
|
||||
_4 = move _5 as i32 (IntToInt); // scope 1 at $DIR/if-condition-int.rs:+3:23: +3:31
|
||||
StorageDead(_5); // scope 1 at $DIR/if-condition-int.rs:+3:30: +3:31
|
||||
_0 = Add(const 10_i32, move _4); // scope 1 at $DIR/if-condition-int.rs:+3:18: +3:31
|
||||
StorageDead(_4); // scope 1 at $DIR/if-condition-int.rs:+3:30: +3:31
|
||||
goto -> bb3; // scope 1 at $DIR/if-condition-int.rs:+3:30: +3:31
|
||||
+ StorageDead(_3); // scope 1 at $DIR/if_condition_int.rs:+2:5: +2:12
|
||||
StorageLive(_4); // scope 1 at $DIR/if_condition_int.rs:+3:23: +3:31
|
||||
StorageLive(_5); // scope 1 at $DIR/if_condition_int.rs:+3:23: +3:24
|
||||
_5 = _2; // scope 1 at $DIR/if_condition_int.rs:+3:23: +3:24
|
||||
_4 = move _5 as i32 (IntToInt); // scope 1 at $DIR/if_condition_int.rs:+3:23: +3:31
|
||||
StorageDead(_5); // scope 1 at $DIR/if_condition_int.rs:+3:30: +3:31
|
||||
_0 = Add(const 10_i32, move _4); // scope 1 at $DIR/if_condition_int.rs:+3:18: +3:31
|
||||
StorageDead(_4); // scope 1 at $DIR/if_condition_int.rs:+3:30: +3:31
|
||||
goto -> bb3; // scope 1 at $DIR/if_condition_int.rs:+3:30: +3:31
|
||||
}
|
||||
|
||||
bb3: {
|
||||
StorageDead(_2); // scope 0 at $DIR/if-condition-int.rs:+6:1: +6:2
|
||||
return; // scope 0 at $DIR/if-condition-int.rs:+6:2: +6:2
|
||||
StorageDead(_2); // scope 0 at $DIR/if_condition_int.rs:+6:1: +6:2
|
||||
return; // scope 0 at $DIR/if_condition_int.rs:+6:2: +6:2
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -2,38 +2,38 @@
|
|||
+ // MIR for `opt_char` after SimplifyComparisonIntegral
|
||||
|
||||
fn opt_char(_1: char) -> u32 {
|
||||
debug x => _1; // in scope 0 at $DIR/if-condition-int.rs:+0:13: +0:14
|
||||
let mut _0: u32; // return place in scope 0 at $DIR/if-condition-int.rs:+0:25: +0:28
|
||||
let mut _2: bool; // in scope 0 at $DIR/if-condition-int.rs:+1:8: +1:16
|
||||
let mut _3: char; // in scope 0 at $DIR/if-condition-int.rs:+1:8: +1:9
|
||||
debug x => _1; // in scope 0 at $DIR/if_condition_int.rs:+0:13: +0:14
|
||||
let mut _0: u32; // return place in scope 0 at $DIR/if_condition_int.rs:+0:25: +0:28
|
||||
let mut _2: bool; // in scope 0 at $DIR/if_condition_int.rs:+1:8: +1:16
|
||||
let mut _3: char; // in scope 0 at $DIR/if_condition_int.rs:+1:8: +1:9
|
||||
|
||||
bb0: {
|
||||
StorageLive(_2); // scope 0 at $DIR/if-condition-int.rs:+1:8: +1:16
|
||||
StorageLive(_3); // scope 0 at $DIR/if-condition-int.rs:+1:8: +1:9
|
||||
_3 = _1; // scope 0 at $DIR/if-condition-int.rs:+1:8: +1:9
|
||||
- _2 = Eq(move _3, const 'x'); // scope 0 at $DIR/if-condition-int.rs:+1:8: +1:16
|
||||
- StorageDead(_3); // scope 0 at $DIR/if-condition-int.rs:+1:15: +1:16
|
||||
- switchInt(move _2) -> [false: bb2, otherwise: bb1]; // scope 0 at $DIR/if-condition-int.rs:+1:8: +1:16
|
||||
+ nop; // scope 0 at $DIR/if-condition-int.rs:+1:8: +1:16
|
||||
+ nop; // scope 0 at $DIR/if-condition-int.rs:+1:15: +1:16
|
||||
+ switchInt(move _3) -> ['x': bb1, otherwise: bb2]; // scope 0 at $DIR/if-condition-int.rs:+1:8: +1:16
|
||||
StorageLive(_2); // scope 0 at $DIR/if_condition_int.rs:+1:8: +1:16
|
||||
StorageLive(_3); // scope 0 at $DIR/if_condition_int.rs:+1:8: +1:9
|
||||
_3 = _1; // scope 0 at $DIR/if_condition_int.rs:+1:8: +1:9
|
||||
- _2 = Eq(move _3, const 'x'); // scope 0 at $DIR/if_condition_int.rs:+1:8: +1:16
|
||||
- StorageDead(_3); // scope 0 at $DIR/if_condition_int.rs:+1:15: +1:16
|
||||
- switchInt(move _2) -> [false: bb2, otherwise: bb1]; // scope 0 at $DIR/if_condition_int.rs:+1:8: +1:16
|
||||
+ nop; // scope 0 at $DIR/if_condition_int.rs:+1:8: +1:16
|
||||
+ nop; // scope 0 at $DIR/if_condition_int.rs:+1:15: +1:16
|
||||
+ switchInt(move _3) -> ['x': bb1, otherwise: bb2]; // scope 0 at $DIR/if_condition_int.rs:+1:8: +1:16
|
||||
}
|
||||
|
||||
bb1: {
|
||||
+ StorageDead(_3); // scope 0 at $DIR/if-condition-int.rs:+1:8: +1:16
|
||||
_0 = const 0_u32; // scope 0 at $DIR/if-condition-int.rs:+1:19: +1:20
|
||||
goto -> bb3; // scope 0 at $DIR/if-condition-int.rs:+1:5: +1:33
|
||||
+ StorageDead(_3); // scope 0 at $DIR/if_condition_int.rs:+1:8: +1:16
|
||||
_0 = const 0_u32; // scope 0 at $DIR/if_condition_int.rs:+1:19: +1:20
|
||||
goto -> bb3; // scope 0 at $DIR/if_condition_int.rs:+1:5: +1:33
|
||||
}
|
||||
|
||||
bb2: {
|
||||
+ StorageDead(_3); // scope 0 at $DIR/if-condition-int.rs:+1:8: +1:16
|
||||
_0 = const 1_u32; // scope 0 at $DIR/if-condition-int.rs:+1:30: +1:31
|
||||
goto -> bb3; // scope 0 at $DIR/if-condition-int.rs:+1:5: +1:33
|
||||
+ StorageDead(_3); // scope 0 at $DIR/if_condition_int.rs:+1:8: +1:16
|
||||
_0 = const 1_u32; // scope 0 at $DIR/if_condition_int.rs:+1:30: +1:31
|
||||
goto -> bb3; // scope 0 at $DIR/if_condition_int.rs:+1:5: +1:33
|
||||
}
|
||||
|
||||
bb3: {
|
||||
StorageDead(_2); // scope 0 at $DIR/if-condition-int.rs:+1:32: +1:33
|
||||
return; // scope 0 at $DIR/if-condition-int.rs:+2:2: +2:2
|
||||
StorageDead(_2); // scope 0 at $DIR/if_condition_int.rs:+1:32: +1:33
|
||||
return; // scope 0 at $DIR/if_condition_int.rs:+2:2: +2:2
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -2,38 +2,38 @@
|
|||
+ // MIR for `opt_i8` after SimplifyComparisonIntegral
|
||||
|
||||
fn opt_i8(_1: i8) -> u32 {
|
||||
debug x => _1; // in scope 0 at $DIR/if-condition-int.rs:+0:11: +0:12
|
||||
let mut _0: u32; // return place in scope 0 at $DIR/if-condition-int.rs:+0:21: +0:24
|
||||
let mut _2: bool; // in scope 0 at $DIR/if-condition-int.rs:+1:8: +1:15
|
||||
let mut _3: i8; // in scope 0 at $DIR/if-condition-int.rs:+1:8: +1:9
|
||||
debug x => _1; // in scope 0 at $DIR/if_condition_int.rs:+0:11: +0:12
|
||||
let mut _0: u32; // return place in scope 0 at $DIR/if_condition_int.rs:+0:21: +0:24
|
||||
let mut _2: bool; // in scope 0 at $DIR/if_condition_int.rs:+1:8: +1:15
|
||||
let mut _3: i8; // in scope 0 at $DIR/if_condition_int.rs:+1:8: +1:9
|
||||
|
||||
bb0: {
|
||||
StorageLive(_2); // scope 0 at $DIR/if-condition-int.rs:+1:8: +1:15
|
||||
StorageLive(_3); // scope 0 at $DIR/if-condition-int.rs:+1:8: +1:9
|
||||
_3 = _1; // scope 0 at $DIR/if-condition-int.rs:+1:8: +1:9
|
||||
- _2 = Eq(move _3, const 42_i8); // scope 0 at $DIR/if-condition-int.rs:+1:8: +1:15
|
||||
- StorageDead(_3); // scope 0 at $DIR/if-condition-int.rs:+1:14: +1:15
|
||||
- switchInt(move _2) -> [false: bb2, otherwise: bb1]; // scope 0 at $DIR/if-condition-int.rs:+1:8: +1:15
|
||||
+ nop; // scope 0 at $DIR/if-condition-int.rs:+1:8: +1:15
|
||||
+ nop; // scope 0 at $DIR/if-condition-int.rs:+1:14: +1:15
|
||||
+ switchInt(move _3) -> [42_i8: bb1, otherwise: bb2]; // scope 0 at $DIR/if-condition-int.rs:+1:8: +1:15
|
||||
StorageLive(_2); // scope 0 at $DIR/if_condition_int.rs:+1:8: +1:15
|
||||
StorageLive(_3); // scope 0 at $DIR/if_condition_int.rs:+1:8: +1:9
|
||||
_3 = _1; // scope 0 at $DIR/if_condition_int.rs:+1:8: +1:9
|
||||
- _2 = Eq(move _3, const 42_i8); // scope 0 at $DIR/if_condition_int.rs:+1:8: +1:15
|
||||
- StorageDead(_3); // scope 0 at $DIR/if_condition_int.rs:+1:14: +1:15
|
||||
- switchInt(move _2) -> [false: bb2, otherwise: bb1]; // scope 0 at $DIR/if_condition_int.rs:+1:8: +1:15
|
||||
+ nop; // scope 0 at $DIR/if_condition_int.rs:+1:8: +1:15
|
||||
+ nop; // scope 0 at $DIR/if_condition_int.rs:+1:14: +1:15
|
||||
+ switchInt(move _3) -> [42_i8: bb1, otherwise: bb2]; // scope 0 at $DIR/if_condition_int.rs:+1:8: +1:15
|
||||
}
|
||||
|
||||
bb1: {
|
||||
+ StorageDead(_3); // scope 0 at $DIR/if-condition-int.rs:+1:8: +1:15
|
||||
_0 = const 0_u32; // scope 0 at $DIR/if-condition-int.rs:+1:18: +1:19
|
||||
goto -> bb3; // scope 0 at $DIR/if-condition-int.rs:+1:5: +1:32
|
||||
+ StorageDead(_3); // scope 0 at $DIR/if_condition_int.rs:+1:8: +1:15
|
||||
_0 = const 0_u32; // scope 0 at $DIR/if_condition_int.rs:+1:18: +1:19
|
||||
goto -> bb3; // scope 0 at $DIR/if_condition_int.rs:+1:5: +1:32
|
||||
}
|
||||
|
||||
bb2: {
|
||||
+ StorageDead(_3); // scope 0 at $DIR/if-condition-int.rs:+1:8: +1:15
|
||||
_0 = const 1_u32; // scope 0 at $DIR/if-condition-int.rs:+1:29: +1:30
|
||||
goto -> bb3; // scope 0 at $DIR/if-condition-int.rs:+1:5: +1:32
|
||||
+ StorageDead(_3); // scope 0 at $DIR/if_condition_int.rs:+1:8: +1:15
|
||||
_0 = const 1_u32; // scope 0 at $DIR/if_condition_int.rs:+1:29: +1:30
|
||||
goto -> bb3; // scope 0 at $DIR/if_condition_int.rs:+1:5: +1:32
|
||||
}
|
||||
|
||||
bb3: {
|
||||
StorageDead(_2); // scope 0 at $DIR/if-condition-int.rs:+1:31: +1:32
|
||||
return; // scope 0 at $DIR/if-condition-int.rs:+2:2: +2:2
|
||||
StorageDead(_2); // scope 0 at $DIR/if_condition_int.rs:+1:31: +1:32
|
||||
return; // scope 0 at $DIR/if_condition_int.rs:+2:2: +2:2
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -2,64 +2,64 @@
|
|||
+ // MIR for `opt_multiple_ifs` after SimplifyComparisonIntegral
|
||||
|
||||
fn opt_multiple_ifs(_1: u32) -> u32 {
|
||||
debug x => _1; // in scope 0 at $DIR/if-condition-int.rs:+0:21: +0:22
|
||||
let mut _0: u32; // return place in scope 0 at $DIR/if-condition-int.rs:+0:32: +0:35
|
||||
let mut _2: bool; // in scope 0 at $DIR/if-condition-int.rs:+1:8: +1:15
|
||||
let mut _3: u32; // in scope 0 at $DIR/if-condition-int.rs:+1:8: +1:9
|
||||
let mut _4: bool; // in scope 0 at $DIR/if-condition-int.rs:+3:15: +3:22
|
||||
let mut _5: u32; // in scope 0 at $DIR/if-condition-int.rs:+3:15: +3:16
|
||||
debug x => _1; // in scope 0 at $DIR/if_condition_int.rs:+0:21: +0:22
|
||||
let mut _0: u32; // return place in scope 0 at $DIR/if_condition_int.rs:+0:32: +0:35
|
||||
let mut _2: bool; // in scope 0 at $DIR/if_condition_int.rs:+1:8: +1:15
|
||||
let mut _3: u32; // in scope 0 at $DIR/if_condition_int.rs:+1:8: +1:9
|
||||
let mut _4: bool; // in scope 0 at $DIR/if_condition_int.rs:+3:15: +3:22
|
||||
let mut _5: u32; // in scope 0 at $DIR/if_condition_int.rs:+3:15: +3:16
|
||||
|
||||
bb0: {
|
||||
StorageLive(_2); // scope 0 at $DIR/if-condition-int.rs:+1:8: +1:15
|
||||
StorageLive(_3); // scope 0 at $DIR/if-condition-int.rs:+1:8: +1:9
|
||||
_3 = _1; // scope 0 at $DIR/if-condition-int.rs:+1:8: +1:9
|
||||
- _2 = Eq(move _3, const 42_u32); // scope 0 at $DIR/if-condition-int.rs:+1:8: +1:15
|
||||
- StorageDead(_3); // scope 0 at $DIR/if-condition-int.rs:+1:14: +1:15
|
||||
- switchInt(move _2) -> [false: bb2, otherwise: bb1]; // scope 0 at $DIR/if-condition-int.rs:+1:8: +1:15
|
||||
+ nop; // scope 0 at $DIR/if-condition-int.rs:+1:8: +1:15
|
||||
+ nop; // scope 0 at $DIR/if-condition-int.rs:+1:14: +1:15
|
||||
+ switchInt(move _3) -> [42_u32: bb1, otherwise: bb2]; // scope 0 at $DIR/if-condition-int.rs:+1:8: +1:15
|
||||
StorageLive(_2); // scope 0 at $DIR/if_condition_int.rs:+1:8: +1:15
|
||||
StorageLive(_3); // scope 0 at $DIR/if_condition_int.rs:+1:8: +1:9
|
||||
_3 = _1; // scope 0 at $DIR/if_condition_int.rs:+1:8: +1:9
|
||||
- _2 = Eq(move _3, const 42_u32); // scope 0 at $DIR/if_condition_int.rs:+1:8: +1:15
|
||||
- StorageDead(_3); // scope 0 at $DIR/if_condition_int.rs:+1:14: +1:15
|
||||
- switchInt(move _2) -> [false: bb2, otherwise: bb1]; // scope 0 at $DIR/if_condition_int.rs:+1:8: +1:15
|
||||
+ nop; // scope 0 at $DIR/if_condition_int.rs:+1:8: +1:15
|
||||
+ nop; // scope 0 at $DIR/if_condition_int.rs:+1:14: +1:15
|
||||
+ switchInt(move _3) -> [42_u32: bb1, otherwise: bb2]; // scope 0 at $DIR/if_condition_int.rs:+1:8: +1:15
|
||||
}
|
||||
|
||||
bb1: {
|
||||
+ StorageDead(_3); // scope 0 at $DIR/if-condition-int.rs:+1:8: +1:15
|
||||
_0 = const 0_u32; // scope 0 at $DIR/if-condition-int.rs:+2:9: +2:10
|
||||
goto -> bb6; // scope 0 at $DIR/if-condition-int.rs:+1:5: +7:6
|
||||
+ StorageDead(_3); // scope 0 at $DIR/if_condition_int.rs:+1:8: +1:15
|
||||
_0 = const 0_u32; // scope 0 at $DIR/if_condition_int.rs:+2:9: +2:10
|
||||
goto -> bb6; // scope 0 at $DIR/if_condition_int.rs:+1:5: +7:6
|
||||
}
|
||||
|
||||
bb2: {
|
||||
+ StorageDead(_3); // scope 0 at $DIR/if-condition-int.rs:+1:8: +1:15
|
||||
StorageLive(_4); // scope 0 at $DIR/if-condition-int.rs:+3:15: +3:22
|
||||
StorageLive(_5); // scope 0 at $DIR/if-condition-int.rs:+3:15: +3:16
|
||||
_5 = _1; // scope 0 at $DIR/if-condition-int.rs:+3:15: +3:16
|
||||
- _4 = Ne(move _5, const 21_u32); // scope 0 at $DIR/if-condition-int.rs:+3:15: +3:22
|
||||
- StorageDead(_5); // scope 0 at $DIR/if-condition-int.rs:+3:21: +3:22
|
||||
- switchInt(move _4) -> [false: bb4, otherwise: bb3]; // scope 0 at $DIR/if-condition-int.rs:+3:15: +3:22
|
||||
+ nop; // scope 0 at $DIR/if-condition-int.rs:+3:15: +3:22
|
||||
+ nop; // scope 0 at $DIR/if-condition-int.rs:+3:21: +3:22
|
||||
+ switchInt(move _5) -> [21_u32: bb4, otherwise: bb3]; // scope 0 at $DIR/if-condition-int.rs:+3:15: +3:22
|
||||
+ StorageDead(_3); // scope 0 at $DIR/if_condition_int.rs:+1:8: +1:15
|
||||
StorageLive(_4); // scope 0 at $DIR/if_condition_int.rs:+3:15: +3:22
|
||||
StorageLive(_5); // scope 0 at $DIR/if_condition_int.rs:+3:15: +3:16
|
||||
_5 = _1; // scope 0 at $DIR/if_condition_int.rs:+3:15: +3:16
|
||||
- _4 = Ne(move _5, const 21_u32); // scope 0 at $DIR/if_condition_int.rs:+3:15: +3:22
|
||||
- StorageDead(_5); // scope 0 at $DIR/if_condition_int.rs:+3:21: +3:22
|
||||
- switchInt(move _4) -> [false: bb4, otherwise: bb3]; // scope 0 at $DIR/if_condition_int.rs:+3:15: +3:22
|
||||
+ nop; // scope 0 at $DIR/if_condition_int.rs:+3:15: +3:22
|
||||
+ nop; // scope 0 at $DIR/if_condition_int.rs:+3:21: +3:22
|
||||
+ switchInt(move _5) -> [21_u32: bb4, otherwise: bb3]; // scope 0 at $DIR/if_condition_int.rs:+3:15: +3:22
|
||||
}
|
||||
|
||||
bb3: {
|
||||
+ StorageDead(_5); // scope 0 at $DIR/if-condition-int.rs:+3:15: +3:22
|
||||
_0 = const 1_u32; // scope 0 at $DIR/if-condition-int.rs:+4:9: +4:10
|
||||
goto -> bb5; // scope 0 at $DIR/if-condition-int.rs:+3:12: +7:6
|
||||
+ StorageDead(_5); // scope 0 at $DIR/if_condition_int.rs:+3:15: +3:22
|
||||
_0 = const 1_u32; // scope 0 at $DIR/if_condition_int.rs:+4:9: +4:10
|
||||
goto -> bb5; // scope 0 at $DIR/if_condition_int.rs:+3:12: +7:6
|
||||
}
|
||||
|
||||
bb4: {
|
||||
+ StorageDead(_5); // scope 0 at $DIR/if-condition-int.rs:+3:15: +3:22
|
||||
_0 = const 2_u32; // scope 0 at $DIR/if-condition-int.rs:+6:9: +6:10
|
||||
goto -> bb5; // scope 0 at $DIR/if-condition-int.rs:+3:12: +7:6
|
||||
+ StorageDead(_5); // scope 0 at $DIR/if_condition_int.rs:+3:15: +3:22
|
||||
_0 = const 2_u32; // scope 0 at $DIR/if_condition_int.rs:+6:9: +6:10
|
||||
goto -> bb5; // scope 0 at $DIR/if_condition_int.rs:+3:12: +7:6
|
||||
}
|
||||
|
||||
bb5: {
|
||||
StorageDead(_4); // scope 0 at $DIR/if-condition-int.rs:+7:5: +7:6
|
||||
goto -> bb6; // scope 0 at $DIR/if-condition-int.rs:+1:5: +7:6
|
||||
StorageDead(_4); // scope 0 at $DIR/if_condition_int.rs:+7:5: +7:6
|
||||
goto -> bb6; // scope 0 at $DIR/if_condition_int.rs:+1:5: +7:6
|
||||
}
|
||||
|
||||
bb6: {
|
||||
StorageDead(_2); // scope 0 at $DIR/if-condition-int.rs:+7:5: +7:6
|
||||
return; // scope 0 at $DIR/if-condition-int.rs:+8:2: +8:2
|
||||
StorageDead(_2); // scope 0 at $DIR/if_condition_int.rs:+7:5: +7:6
|
||||
return; // scope 0 at $DIR/if_condition_int.rs:+8:2: +8:2
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -2,38 +2,38 @@
|
|||
+ // MIR for `opt_negative` after SimplifyComparisonIntegral
|
||||
|
||||
fn opt_negative(_1: i32) -> u32 {
|
||||
debug x => _1; // in scope 0 at $DIR/if-condition-int.rs:+0:17: +0:18
|
||||
let mut _0: u32; // return place in scope 0 at $DIR/if-condition-int.rs:+0:28: +0:31
|
||||
let mut _2: bool; // in scope 0 at $DIR/if-condition-int.rs:+1:8: +1:16
|
||||
let mut _3: i32; // in scope 0 at $DIR/if-condition-int.rs:+1:8: +1:9
|
||||
debug x => _1; // in scope 0 at $DIR/if_condition_int.rs:+0:17: +0:18
|
||||
let mut _0: u32; // return place in scope 0 at $DIR/if_condition_int.rs:+0:28: +0:31
|
||||
let mut _2: bool; // in scope 0 at $DIR/if_condition_int.rs:+1:8: +1:16
|
||||
let mut _3: i32; // in scope 0 at $DIR/if_condition_int.rs:+1:8: +1:9
|
||||
|
||||
bb0: {
|
||||
StorageLive(_2); // scope 0 at $DIR/if-condition-int.rs:+1:8: +1:16
|
||||
StorageLive(_3); // scope 0 at $DIR/if-condition-int.rs:+1:8: +1:9
|
||||
_3 = _1; // scope 0 at $DIR/if-condition-int.rs:+1:8: +1:9
|
||||
- _2 = Eq(move _3, const -42_i32); // scope 0 at $DIR/if-condition-int.rs:+1:8: +1:16
|
||||
- StorageDead(_3); // scope 0 at $DIR/if-condition-int.rs:+1:15: +1:16
|
||||
- switchInt(move _2) -> [false: bb2, otherwise: bb1]; // scope 0 at $DIR/if-condition-int.rs:+1:8: +1:16
|
||||
+ nop; // scope 0 at $DIR/if-condition-int.rs:+1:8: +1:16
|
||||
+ nop; // scope 0 at $DIR/if-condition-int.rs:+1:15: +1:16
|
||||
+ switchInt(move _3) -> [-42_i32: bb1, otherwise: bb2]; // scope 0 at $DIR/if-condition-int.rs:+1:8: +1:16
|
||||
StorageLive(_2); // scope 0 at $DIR/if_condition_int.rs:+1:8: +1:16
|
||||
StorageLive(_3); // scope 0 at $DIR/if_condition_int.rs:+1:8: +1:9
|
||||
_3 = _1; // scope 0 at $DIR/if_condition_int.rs:+1:8: +1:9
|
||||
- _2 = Eq(move _3, const -42_i32); // scope 0 at $DIR/if_condition_int.rs:+1:8: +1:16
|
||||
- StorageDead(_3); // scope 0 at $DIR/if_condition_int.rs:+1:15: +1:16
|
||||
- switchInt(move _2) -> [false: bb2, otherwise: bb1]; // scope 0 at $DIR/if_condition_int.rs:+1:8: +1:16
|
||||
+ nop; // scope 0 at $DIR/if_condition_int.rs:+1:8: +1:16
|
||||
+ nop; // scope 0 at $DIR/if_condition_int.rs:+1:15: +1:16
|
||||
+ switchInt(move _3) -> [-42_i32: bb1, otherwise: bb2]; // scope 0 at $DIR/if_condition_int.rs:+1:8: +1:16
|
||||
}
|
||||
|
||||
bb1: {
|
||||
+ StorageDead(_3); // scope 0 at $DIR/if-condition-int.rs:+1:8: +1:16
|
||||
_0 = const 0_u32; // scope 0 at $DIR/if-condition-int.rs:+1:19: +1:20
|
||||
goto -> bb3; // scope 0 at $DIR/if-condition-int.rs:+1:5: +1:33
|
||||
+ StorageDead(_3); // scope 0 at $DIR/if_condition_int.rs:+1:8: +1:16
|
||||
_0 = const 0_u32; // scope 0 at $DIR/if_condition_int.rs:+1:19: +1:20
|
||||
goto -> bb3; // scope 0 at $DIR/if_condition_int.rs:+1:5: +1:33
|
||||
}
|
||||
|
||||
bb2: {
|
||||
+ StorageDead(_3); // scope 0 at $DIR/if-condition-int.rs:+1:8: +1:16
|
||||
_0 = const 1_u32; // scope 0 at $DIR/if-condition-int.rs:+1:30: +1:31
|
||||
goto -> bb3; // scope 0 at $DIR/if-condition-int.rs:+1:5: +1:33
|
||||
+ StorageDead(_3); // scope 0 at $DIR/if_condition_int.rs:+1:8: +1:16
|
||||
_0 = const 1_u32; // scope 0 at $DIR/if_condition_int.rs:+1:30: +1:31
|
||||
goto -> bb3; // scope 0 at $DIR/if_condition_int.rs:+1:5: +1:33
|
||||
}
|
||||
|
||||
bb3: {
|
||||
StorageDead(_2); // scope 0 at $DIR/if-condition-int.rs:+1:32: +1:33
|
||||
return; // scope 0 at $DIR/if-condition-int.rs:+2:2: +2:2
|
||||
StorageDead(_2); // scope 0 at $DIR/if_condition_int.rs:+1:32: +1:33
|
||||
return; // scope 0 at $DIR/if_condition_int.rs:+2:2: +2:2
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -2,38 +2,38 @@
|
|||
+ // MIR for `opt_u32` after SimplifyComparisonIntegral
|
||||
|
||||
fn opt_u32(_1: u32) -> u32 {
|
||||
debug x => _1; // in scope 0 at $DIR/if-condition-int.rs:+0:12: +0:13
|
||||
let mut _0: u32; // return place in scope 0 at $DIR/if-condition-int.rs:+0:23: +0:26
|
||||
let mut _2: bool; // in scope 0 at $DIR/if-condition-int.rs:+1:8: +1:15
|
||||
let mut _3: u32; // in scope 0 at $DIR/if-condition-int.rs:+1:8: +1:9
|
||||
debug x => _1; // in scope 0 at $DIR/if_condition_int.rs:+0:12: +0:13
|
||||
let mut _0: u32; // return place in scope 0 at $DIR/if_condition_int.rs:+0:23: +0:26
|
||||
let mut _2: bool; // in scope 0 at $DIR/if_condition_int.rs:+1:8: +1:15
|
||||
let mut _3: u32; // in scope 0 at $DIR/if_condition_int.rs:+1:8: +1:9
|
||||
|
||||
bb0: {
|
||||
StorageLive(_2); // scope 0 at $DIR/if-condition-int.rs:+1:8: +1:15
|
||||
StorageLive(_3); // scope 0 at $DIR/if-condition-int.rs:+1:8: +1:9
|
||||
_3 = _1; // scope 0 at $DIR/if-condition-int.rs:+1:8: +1:9
|
||||
- _2 = Eq(move _3, const 42_u32); // scope 0 at $DIR/if-condition-int.rs:+1:8: +1:15
|
||||
- StorageDead(_3); // scope 0 at $DIR/if-condition-int.rs:+1:14: +1:15
|
||||
- switchInt(move _2) -> [false: bb2, otherwise: bb1]; // scope 0 at $DIR/if-condition-int.rs:+1:8: +1:15
|
||||
+ nop; // scope 0 at $DIR/if-condition-int.rs:+1:8: +1:15
|
||||
+ nop; // scope 0 at $DIR/if-condition-int.rs:+1:14: +1:15
|
||||
+ switchInt(move _3) -> [42_u32: bb1, otherwise: bb2]; // scope 0 at $DIR/if-condition-int.rs:+1:8: +1:15
|
||||
StorageLive(_2); // scope 0 at $DIR/if_condition_int.rs:+1:8: +1:15
|
||||
StorageLive(_3); // scope 0 at $DIR/if_condition_int.rs:+1:8: +1:9
|
||||
_3 = _1; // scope 0 at $DIR/if_condition_int.rs:+1:8: +1:9
|
||||
- _2 = Eq(move _3, const 42_u32); // scope 0 at $DIR/if_condition_int.rs:+1:8: +1:15
|
||||
- StorageDead(_3); // scope 0 at $DIR/if_condition_int.rs:+1:14: +1:15
|
||||
- switchInt(move _2) -> [false: bb2, otherwise: bb1]; // scope 0 at $DIR/if_condition_int.rs:+1:8: +1:15
|
||||
+ nop; // scope 0 at $DIR/if_condition_int.rs:+1:8: +1:15
|
||||
+ nop; // scope 0 at $DIR/if_condition_int.rs:+1:14: +1:15
|
||||
+ switchInt(move _3) -> [42_u32: bb1, otherwise: bb2]; // scope 0 at $DIR/if_condition_int.rs:+1:8: +1:15
|
||||
}
|
||||
|
||||
bb1: {
|
||||
+ StorageDead(_3); // scope 0 at $DIR/if-condition-int.rs:+1:8: +1:15
|
||||
_0 = const 0_u32; // scope 0 at $DIR/if-condition-int.rs:+1:18: +1:19
|
||||
goto -> bb3; // scope 0 at $DIR/if-condition-int.rs:+1:5: +1:32
|
||||
+ StorageDead(_3); // scope 0 at $DIR/if_condition_int.rs:+1:8: +1:15
|
||||
_0 = const 0_u32; // scope 0 at $DIR/if_condition_int.rs:+1:18: +1:19
|
||||
goto -> bb3; // scope 0 at $DIR/if_condition_int.rs:+1:5: +1:32
|
||||
}
|
||||
|
||||
bb2: {
|
||||
+ StorageDead(_3); // scope 0 at $DIR/if-condition-int.rs:+1:8: +1:15
|
||||
_0 = const 1_u32; // scope 0 at $DIR/if-condition-int.rs:+1:29: +1:30
|
||||
goto -> bb3; // scope 0 at $DIR/if-condition-int.rs:+1:5: +1:32
|
||||
+ StorageDead(_3); // scope 0 at $DIR/if_condition_int.rs:+1:8: +1:15
|
||||
_0 = const 1_u32; // scope 0 at $DIR/if_condition_int.rs:+1:29: +1:30
|
||||
goto -> bb3; // scope 0 at $DIR/if_condition_int.rs:+1:5: +1:32
|
||||
}
|
||||
|
||||
bb3: {
|
||||
StorageDead(_2); // scope 0 at $DIR/if-condition-int.rs:+1:31: +1:32
|
||||
return; // scope 0 at $DIR/if-condition-int.rs:+2:2: +2:2
|
||||
StorageDead(_2); // scope 0 at $DIR/if_condition_int.rs:+1:31: +1:32
|
||||
return; // scope 0 at $DIR/if_condition_int.rs:+2:2: +2:2
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -2,44 +2,44 @@
|
|||
+ // MIR for `main` after Inline
|
||||
|
||||
fn main() -> () {
|
||||
let mut _0: (); // return place in scope 0 at $DIR/asm-unwind.rs:+0:15: +0:15
|
||||
let _1: (); // in scope 0 at $DIR/asm-unwind.rs:+1:5: +1:10
|
||||
+ scope 1 (inlined foo) { // at $DIR/asm-unwind.rs:21:5: 21:10
|
||||
+ let _2: D; // in scope 1 at $DIR/asm-unwind.rs:15:9: 15:11
|
||||
let mut _0: (); // return place in scope 0 at $DIR/asm_unwind.rs:+0:15: +0:15
|
||||
let _1: (); // in scope 0 at $DIR/asm_unwind.rs:+1:5: +1:10
|
||||
+ scope 1 (inlined foo) { // at $DIR/asm_unwind.rs:21:5: 21:10
|
||||
+ let _2: D; // in scope 1 at $DIR/asm_unwind.rs:15:9: 15:11
|
||||
+ scope 2 {
|
||||
+ debug _d => _2; // in scope 2 at $DIR/asm-unwind.rs:15:9: 15:11
|
||||
+ debug _d => _2; // in scope 2 at $DIR/asm_unwind.rs:15:9: 15:11
|
||||
+ scope 3 {
|
||||
+ }
|
||||
+ }
|
||||
+ }
|
||||
|
||||
bb0: {
|
||||
StorageLive(_1); // scope 0 at $DIR/asm-unwind.rs:+1:5: +1:10
|
||||
- _1 = foo() -> bb1; // scope 0 at $DIR/asm-unwind.rs:+1:5: +1:10
|
||||
StorageLive(_1); // scope 0 at $DIR/asm_unwind.rs:+1:5: +1:10
|
||||
- _1 = foo() -> bb1; // scope 0 at $DIR/asm_unwind.rs:+1:5: +1:10
|
||||
- // mir::Constant
|
||||
- // + span: $DIR/asm-unwind.rs:21:5: 21:8
|
||||
- // + span: $DIR/asm_unwind.rs:21:5: 21:8
|
||||
- // + literal: Const { ty: fn() {foo}, val: Value(<ZST>) }
|
||||
+ StorageLive(_2); // scope 1 at $DIR/asm-unwind.rs:15:9: 15:11
|
||||
+ asm!("", options(MAY_UNWIND)) -> [return: bb1, unwind: bb3]; // scope 3 at $DIR/asm-unwind.rs:16:14: 16:54
|
||||
+ StorageLive(_2); // scope 1 at $DIR/asm_unwind.rs:15:9: 15:11
|
||||
+ asm!("", options(MAY_UNWIND)) -> [return: bb1, unwind: bb3]; // scope 3 at $DIR/asm_unwind.rs:16:14: 16:54
|
||||
}
|
||||
|
||||
bb1: {
|
||||
+ drop(_2) -> bb2; // scope 1 at $DIR/asm-unwind.rs:17:1: 17:2
|
||||
+ drop(_2) -> bb2; // scope 1 at $DIR/asm_unwind.rs:17:1: 17:2
|
||||
+ }
|
||||
+
|
||||
+ bb2: {
|
||||
+ StorageDead(_2); // scope 1 at $DIR/asm-unwind.rs:17:1: 17:2
|
||||
StorageDead(_1); // scope 0 at $DIR/asm-unwind.rs:+1:10: +1:11
|
||||
_0 = const (); // scope 0 at $DIR/asm-unwind.rs:+0:15: +2:2
|
||||
return; // scope 0 at $DIR/asm-unwind.rs:+2:2: +2:2
|
||||
+ StorageDead(_2); // scope 1 at $DIR/asm_unwind.rs:17:1: 17:2
|
||||
StorageDead(_1); // scope 0 at $DIR/asm_unwind.rs:+1:10: +1:11
|
||||
_0 = const (); // scope 0 at $DIR/asm_unwind.rs:+0:15: +2:2
|
||||
return; // scope 0 at $DIR/asm_unwind.rs:+2:2: +2:2
|
||||
+ }
|
||||
+
|
||||
+ bb3 (cleanup): {
|
||||
+ drop(_2) -> bb4; // scope 1 at $DIR/asm-unwind.rs:17:1: 17:2
|
||||
+ drop(_2) -> bb4; // scope 1 at $DIR/asm_unwind.rs:17:1: 17:2
|
||||
+ }
|
||||
+
|
||||
+ bb4 (cleanup): {
|
||||
+ resume; // scope 1 at $DIR/asm-unwind.rs:14:1: 17:2
|
||||
+ resume; // scope 1 at $DIR/asm_unwind.rs:14:1: 17:2
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -2,32 +2,32 @@
|
|||
+ // MIR for `foo` after Inline
|
||||
|
||||
fn foo() -> () {
|
||||
let mut _0: (); // return place in scope 0 at $DIR/caller-with-trivial-bound.rs:+1:1: +1:1
|
||||
let mut _1: <IntFactory as Factory<T>>::Item; // in scope 0 at $DIR/caller-with-trivial-bound.rs:+4:9: +4:14
|
||||
let mut _0: (); // return place in scope 0 at $DIR/caller_with_trivial_bound.rs:+1:1: +1:1
|
||||
let mut _1: <IntFactory as Factory<T>>::Item; // in scope 0 at $DIR/caller_with_trivial_bound.rs:+4:9: +4:14
|
||||
scope 1 {
|
||||
debug x => _1; // in scope 1 at $DIR/caller-with-trivial-bound.rs:+4:9: +4:14
|
||||
debug x => _1; // in scope 1 at $DIR/caller_with_trivial_bound.rs:+4:9: +4:14
|
||||
}
|
||||
|
||||
bb0: {
|
||||
StorageLive(_1); // scope 0 at $DIR/caller-with-trivial-bound.rs:+4:9: +4:14
|
||||
_1 = bar::<T>() -> bb1; // scope 0 at $DIR/caller-with-trivial-bound.rs:+4:51: +4:61
|
||||
StorageLive(_1); // scope 0 at $DIR/caller_with_trivial_bound.rs:+4:9: +4:14
|
||||
_1 = bar::<T>() -> bb1; // scope 0 at $DIR/caller_with_trivial_bound.rs:+4:51: +4:61
|
||||
// mir::Constant
|
||||
// + span: $DIR/caller-with-trivial-bound.rs:20:51: 20:59
|
||||
// + span: $DIR/caller_with_trivial_bound.rs:20:51: 20:59
|
||||
// + literal: Const { ty: fn() -> <IntFactory as Factory<T>>::Item {bar::<T>}, val: Value(<ZST>) }
|
||||
}
|
||||
|
||||
bb1: {
|
||||
_0 = const (); // scope 0 at $DIR/caller-with-trivial-bound.rs:+3:1: +5:2
|
||||
drop(_1) -> [return: bb2, unwind: bb3]; // scope 0 at $DIR/caller-with-trivial-bound.rs:+5:1: +5:2
|
||||
_0 = const (); // scope 0 at $DIR/caller_with_trivial_bound.rs:+3:1: +5:2
|
||||
drop(_1) -> [return: bb2, unwind: bb3]; // scope 0 at $DIR/caller_with_trivial_bound.rs:+5:1: +5:2
|
||||
}
|
||||
|
||||
bb2: {
|
||||
StorageDead(_1); // scope 0 at $DIR/caller-with-trivial-bound.rs:+5:1: +5:2
|
||||
return; // scope 0 at $DIR/caller-with-trivial-bound.rs:+5:2: +5:2
|
||||
StorageDead(_1); // scope 0 at $DIR/caller_with_trivial_bound.rs:+5:1: +5:2
|
||||
return; // scope 0 at $DIR/caller_with_trivial_bound.rs:+5:2: +5:2
|
||||
}
|
||||
|
||||
bb3 (cleanup): {
|
||||
resume; // scope 0 at $DIR/caller-with-trivial-bound.rs:+0:1: +5:2
|
||||
resume; // scope 0 at $DIR/caller_with_trivial_bound.rs:+0:1: +5:2
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -2,61 +2,61 @@
|
|||
+ // MIR for `get_query` after Inline
|
||||
|
||||
fn get_query(_1: &T) -> () {
|
||||
debug t => _1; // in scope 0 at $DIR/dyn-trait.rs:+0:31: +0:32
|
||||
let mut _0: (); // return place in scope 0 at $DIR/dyn-trait.rs:+0:38: +0:38
|
||||
let _2: &<Q as Query>::C; // in scope 0 at $DIR/dyn-trait.rs:+1:9: +1:10
|
||||
let mut _3: &T; // in scope 0 at $DIR/dyn-trait.rs:+1:22: +1:23
|
||||
let mut _4: &<Q as Query>::C; // in scope 0 at $DIR/dyn-trait.rs:+2:23: +2:24
|
||||
debug t => _1; // in scope 0 at $DIR/dyn_trait.rs:+0:31: +0:32
|
||||
let mut _0: (); // return place in scope 0 at $DIR/dyn_trait.rs:+0:38: +0:38
|
||||
let _2: &<Q as Query>::C; // in scope 0 at $DIR/dyn_trait.rs:+1:9: +1:10
|
||||
let mut _3: &T; // in scope 0 at $DIR/dyn_trait.rs:+1:22: +1:23
|
||||
let mut _4: &<Q as Query>::C; // in scope 0 at $DIR/dyn_trait.rs:+2:23: +2:24
|
||||
scope 1 {
|
||||
debug c => _2; // in scope 1 at $DIR/dyn-trait.rs:+1:9: +1:10
|
||||
+ scope 2 (inlined try_execute_query::<<Q as Query>::C>) { // at $DIR/dyn-trait.rs:34:5: 34:25
|
||||
+ debug c => _4; // in scope 2 at $DIR/dyn-trait.rs:26:36: 26:37
|
||||
+ let mut _5: &dyn Cache<V = <Q as Query>::V>; // in scope 2 at $DIR/dyn-trait.rs:27:14: 27:15
|
||||
+ let mut _6: &<Q as Query>::C; // in scope 2 at $DIR/dyn-trait.rs:27:14: 27:15
|
||||
+ scope 3 (inlined mk_cycle::<<Q as Query>::V>) { // at $DIR/dyn-trait.rs:27:5: 27:16
|
||||
+ debug c => _5; // in scope 3 at $DIR/dyn-trait.rs:20:27: 20:28
|
||||
+ let mut _7: &dyn Cache<V = <Q as Query>::V>; // in scope 3 at $DIR/dyn-trait.rs:21:5: 21:22
|
||||
debug c => _2; // in scope 1 at $DIR/dyn_trait.rs:+1:9: +1:10
|
||||
+ scope 2 (inlined try_execute_query::<<Q as Query>::C>) { // at $DIR/dyn_trait.rs:34:5: 34:25
|
||||
+ debug c => _4; // in scope 2 at $DIR/dyn_trait.rs:26:36: 26:37
|
||||
+ let mut _5: &dyn Cache<V = <Q as Query>::V>; // in scope 2 at $DIR/dyn_trait.rs:27:14: 27:15
|
||||
+ let mut _6: &<Q as Query>::C; // in scope 2 at $DIR/dyn_trait.rs:27:14: 27:15
|
||||
+ scope 3 (inlined mk_cycle::<<Q as Query>::V>) { // at $DIR/dyn_trait.rs:27:5: 27:16
|
||||
+ debug c => _5; // in scope 3 at $DIR/dyn_trait.rs:20:27: 20:28
|
||||
+ let mut _7: &dyn Cache<V = <Q as Query>::V>; // in scope 3 at $DIR/dyn_trait.rs:21:5: 21:22
|
||||
+ }
|
||||
+ }
|
||||
}
|
||||
|
||||
bb0: {
|
||||
StorageLive(_2); // scope 0 at $DIR/dyn-trait.rs:+1:9: +1:10
|
||||
StorageLive(_3); // scope 0 at $DIR/dyn-trait.rs:+1:22: +1:23
|
||||
_3 = &(*_1); // scope 0 at $DIR/dyn-trait.rs:+1:22: +1:23
|
||||
_2 = <Q as Query>::cache::<T>(move _3) -> bb1; // scope 0 at $DIR/dyn-trait.rs:+1:13: +1:24
|
||||
StorageLive(_2); // scope 0 at $DIR/dyn_trait.rs:+1:9: +1:10
|
||||
StorageLive(_3); // scope 0 at $DIR/dyn_trait.rs:+1:22: +1:23
|
||||
_3 = &(*_1); // scope 0 at $DIR/dyn_trait.rs:+1:22: +1:23
|
||||
_2 = <Q as Query>::cache::<T>(move _3) -> bb1; // scope 0 at $DIR/dyn_trait.rs:+1:13: +1:24
|
||||
// mir::Constant
|
||||
// + span: $DIR/dyn-trait.rs:33:13: 33:21
|
||||
// + span: $DIR/dyn_trait.rs:33:13: 33:21
|
||||
// + user_ty: UserType(0)
|
||||
// + literal: Const { ty: for<'a> fn(&'a T) -> &'a <Q as Query>::C {<Q as Query>::cache::<T>}, val: Value(<ZST>) }
|
||||
}
|
||||
|
||||
bb1: {
|
||||
StorageDead(_3); // scope 0 at $DIR/dyn-trait.rs:+1:23: +1:24
|
||||
StorageLive(_4); // scope 1 at $DIR/dyn-trait.rs:+2:23: +2:24
|
||||
_4 = &(*_2); // scope 1 at $DIR/dyn-trait.rs:+2:23: +2:24
|
||||
- _0 = try_execute_query::<<Q as Query>::C>(move _4) -> bb2; // scope 1 at $DIR/dyn-trait.rs:+2:5: +2:25
|
||||
+ StorageLive(_5); // scope 2 at $DIR/dyn-trait.rs:27:14: 27:15
|
||||
+ StorageLive(_6); // scope 2 at $DIR/dyn-trait.rs:27:14: 27:15
|
||||
+ _6 = _4; // scope 2 at $DIR/dyn-trait.rs:27:14: 27:15
|
||||
+ _5 = move _6 as &dyn Cache<V = <Q as Query>::V> (Pointer(Unsize)); // scope 2 at $DIR/dyn-trait.rs:27:14: 27:15
|
||||
+ StorageDead(_6); // scope 2 at $DIR/dyn-trait.rs:27:14: 27:15
|
||||
+ StorageLive(_7); // scope 3 at $DIR/dyn-trait.rs:21:5: 21:22
|
||||
+ _7 = _5; // scope 3 at $DIR/dyn-trait.rs:21:5: 21:22
|
||||
+ _0 = <dyn Cache<V = <Q as Query>::V> as Cache>::store_nocache(move _7) -> bb2; // scope 3 at $DIR/dyn-trait.rs:21:5: 21:22
|
||||
StorageDead(_3); // scope 0 at $DIR/dyn_trait.rs:+1:23: +1:24
|
||||
StorageLive(_4); // scope 1 at $DIR/dyn_trait.rs:+2:23: +2:24
|
||||
_4 = &(*_2); // scope 1 at $DIR/dyn_trait.rs:+2:23: +2:24
|
||||
- _0 = try_execute_query::<<Q as Query>::C>(move _4) -> bb2; // scope 1 at $DIR/dyn_trait.rs:+2:5: +2:25
|
||||
+ StorageLive(_5); // scope 2 at $DIR/dyn_trait.rs:27:14: 27:15
|
||||
+ StorageLive(_6); // scope 2 at $DIR/dyn_trait.rs:27:14: 27:15
|
||||
+ _6 = _4; // scope 2 at $DIR/dyn_trait.rs:27:14: 27:15
|
||||
+ _5 = move _6 as &dyn Cache<V = <Q as Query>::V> (Pointer(Unsize)); // scope 2 at $DIR/dyn_trait.rs:27:14: 27:15
|
||||
+ StorageDead(_6); // scope 2 at $DIR/dyn_trait.rs:27:14: 27:15
|
||||
+ StorageLive(_7); // scope 3 at $DIR/dyn_trait.rs:21:5: 21:22
|
||||
+ _7 = _5; // scope 3 at $DIR/dyn_trait.rs:21:5: 21:22
|
||||
+ _0 = <dyn Cache<V = <Q as Query>::V> as Cache>::store_nocache(move _7) -> bb2; // scope 3 at $DIR/dyn_trait.rs:21:5: 21:22
|
||||
// mir::Constant
|
||||
- // + span: $DIR/dyn-trait.rs:34:5: 34:22
|
||||
- // + span: $DIR/dyn_trait.rs:34:5: 34:22
|
||||
- // + literal: Const { ty: for<'a> fn(&'a <Q as Query>::C) {try_execute_query::<<Q as Query>::C>}, val: Value(<ZST>) }
|
||||
+ // + span: $DIR/dyn-trait.rs:21:7: 21:20
|
||||
+ // + span: $DIR/dyn_trait.rs:21:7: 21:20
|
||||
+ // + literal: Const { ty: for<'a> fn(&'a dyn Cache<V = <Q as Query>::V>) {<dyn Cache<V = <Q as Query>::V> as Cache>::store_nocache}, val: Value(<ZST>) }
|
||||
}
|
||||
|
||||
bb2: {
|
||||
+ StorageDead(_7); // scope 3 at $DIR/dyn-trait.rs:21:21: 21:22
|
||||
+ StorageDead(_5); // scope 2 at $DIR/dyn-trait.rs:27:15: 27:16
|
||||
StorageDead(_4); // scope 1 at $DIR/dyn-trait.rs:+2:24: +2:25
|
||||
StorageDead(_2); // scope 0 at $DIR/dyn-trait.rs:+3:1: +3:2
|
||||
return; // scope 0 at $DIR/dyn-trait.rs:+3:2: +3:2
|
||||
+ StorageDead(_7); // scope 3 at $DIR/dyn_trait.rs:21:21: 21:22
|
||||
+ StorageDead(_5); // scope 2 at $DIR/dyn_trait.rs:27:15: 27:16
|
||||
StorageDead(_4); // scope 1 at $DIR/dyn_trait.rs:+2:24: +2:25
|
||||
StorageDead(_2); // scope 0 at $DIR/dyn_trait.rs:+3:1: +3:2
|
||||
return; // scope 0 at $DIR/dyn_trait.rs:+3:2: +3:2
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -2,22 +2,22 @@
|
|||
+ // MIR for `mk_cycle` after Inline
|
||||
|
||||
fn mk_cycle(_1: &dyn Cache<V = V>) -> () {
|
||||
debug c => _1; // in scope 0 at $DIR/dyn-trait.rs:+0:27: +0:28
|
||||
let mut _0: (); // return place in scope 0 at $DIR/dyn-trait.rs:+0:49: +0:49
|
||||
let mut _2: &dyn Cache<V = V>; // in scope 0 at $DIR/dyn-trait.rs:+1:5: +1:22
|
||||
debug c => _1; // in scope 0 at $DIR/dyn_trait.rs:+0:27: +0:28
|
||||
let mut _0: (); // return place in scope 0 at $DIR/dyn_trait.rs:+0:49: +0:49
|
||||
let mut _2: &dyn Cache<V = V>; // in scope 0 at $DIR/dyn_trait.rs:+1:5: +1:22
|
||||
|
||||
bb0: {
|
||||
StorageLive(_2); // scope 0 at $DIR/dyn-trait.rs:+1:5: +1:22
|
||||
_2 = &(*_1); // scope 0 at $DIR/dyn-trait.rs:+1:5: +1:22
|
||||
_0 = <dyn Cache<V = V> as Cache>::store_nocache(move _2) -> bb1; // scope 0 at $DIR/dyn-trait.rs:+1:5: +1:22
|
||||
StorageLive(_2); // scope 0 at $DIR/dyn_trait.rs:+1:5: +1:22
|
||||
_2 = &(*_1); // scope 0 at $DIR/dyn_trait.rs:+1:5: +1:22
|
||||
_0 = <dyn Cache<V = V> as Cache>::store_nocache(move _2) -> bb1; // scope 0 at $DIR/dyn_trait.rs:+1:5: +1:22
|
||||
// mir::Constant
|
||||
// + span: $DIR/dyn-trait.rs:21:7: 21:20
|
||||
// + span: $DIR/dyn_trait.rs:21:7: 21:20
|
||||
// + literal: Const { ty: for<'a> fn(&'a dyn Cache<V = V>) {<dyn Cache<V = V> as Cache>::store_nocache}, val: Value(<ZST>) }
|
||||
}
|
||||
|
||||
bb1: {
|
||||
StorageDead(_2); // scope 0 at $DIR/dyn-trait.rs:+1:21: +1:22
|
||||
return; // scope 0 at $DIR/dyn-trait.rs:+2:2: +2:2
|
||||
StorageDead(_2); // scope 0 at $DIR/dyn_trait.rs:+1:21: +1:22
|
||||
return; // scope 0 at $DIR/dyn_trait.rs:+2:2: +2:2
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -2,36 +2,36 @@
|
|||
+ // MIR for `try_execute_query` after Inline
|
||||
|
||||
fn try_execute_query(_1: &C) -> () {
|
||||
debug c => _1; // in scope 0 at $DIR/dyn-trait.rs:+0:36: +0:37
|
||||
let mut _0: (); // return place in scope 0 at $DIR/dyn-trait.rs:+0:43: +0:43
|
||||
let mut _2: &dyn Cache<V = <C as Cache>::V>; // in scope 0 at $DIR/dyn-trait.rs:+1:14: +1:15
|
||||
let mut _3: &C; // in scope 0 at $DIR/dyn-trait.rs:+1:14: +1:15
|
||||
+ scope 1 (inlined mk_cycle::<<C as Cache>::V>) { // at $DIR/dyn-trait.rs:27:5: 27:16
|
||||
+ debug c => _2; // in scope 1 at $DIR/dyn-trait.rs:20:27: 20:28
|
||||
+ let mut _4: &dyn Cache<V = <C as Cache>::V>; // in scope 1 at $DIR/dyn-trait.rs:21:5: 21:22
|
||||
debug c => _1; // in scope 0 at $DIR/dyn_trait.rs:+0:36: +0:37
|
||||
let mut _0: (); // return place in scope 0 at $DIR/dyn_trait.rs:+0:43: +0:43
|
||||
let mut _2: &dyn Cache<V = <C as Cache>::V>; // in scope 0 at $DIR/dyn_trait.rs:+1:14: +1:15
|
||||
let mut _3: &C; // in scope 0 at $DIR/dyn_trait.rs:+1:14: +1:15
|
||||
+ scope 1 (inlined mk_cycle::<<C as Cache>::V>) { // at $DIR/dyn_trait.rs:27:5: 27:16
|
||||
+ debug c => _2; // in scope 1 at $DIR/dyn_trait.rs:20:27: 20:28
|
||||
+ let mut _4: &dyn Cache<V = <C as Cache>::V>; // in scope 1 at $DIR/dyn_trait.rs:21:5: 21:22
|
||||
+ }
|
||||
|
||||
bb0: {
|
||||
StorageLive(_2); // scope 0 at $DIR/dyn-trait.rs:+1:14: +1:15
|
||||
StorageLive(_3); // scope 0 at $DIR/dyn-trait.rs:+1:14: +1:15
|
||||
_3 = &(*_1); // scope 0 at $DIR/dyn-trait.rs:+1:14: +1:15
|
||||
_2 = move _3 as &dyn Cache<V = <C as Cache>::V> (Pointer(Unsize)); // scope 0 at $DIR/dyn-trait.rs:+1:14: +1:15
|
||||
StorageDead(_3); // scope 0 at $DIR/dyn-trait.rs:+1:14: +1:15
|
||||
- _0 = mk_cycle::<<C as Cache>::V>(move _2) -> bb1; // scope 0 at $DIR/dyn-trait.rs:+1:5: +1:16
|
||||
+ StorageLive(_4); // scope 1 at $DIR/dyn-trait.rs:21:5: 21:22
|
||||
+ _4 = _2; // scope 1 at $DIR/dyn-trait.rs:21:5: 21:22
|
||||
+ _0 = <dyn Cache<V = <C as Cache>::V> as Cache>::store_nocache(move _4) -> bb1; // scope 1 at $DIR/dyn-trait.rs:21:5: 21:22
|
||||
StorageLive(_2); // scope 0 at $DIR/dyn_trait.rs:+1:14: +1:15
|
||||
StorageLive(_3); // scope 0 at $DIR/dyn_trait.rs:+1:14: +1:15
|
||||
_3 = &(*_1); // scope 0 at $DIR/dyn_trait.rs:+1:14: +1:15
|
||||
_2 = move _3 as &dyn Cache<V = <C as Cache>::V> (Pointer(Unsize)); // scope 0 at $DIR/dyn_trait.rs:+1:14: +1:15
|
||||
StorageDead(_3); // scope 0 at $DIR/dyn_trait.rs:+1:14: +1:15
|
||||
- _0 = mk_cycle::<<C as Cache>::V>(move _2) -> bb1; // scope 0 at $DIR/dyn_trait.rs:+1:5: +1:16
|
||||
+ StorageLive(_4); // scope 1 at $DIR/dyn_trait.rs:21:5: 21:22
|
||||
+ _4 = _2; // scope 1 at $DIR/dyn_trait.rs:21:5: 21:22
|
||||
+ _0 = <dyn Cache<V = <C as Cache>::V> as Cache>::store_nocache(move _4) -> bb1; // scope 1 at $DIR/dyn_trait.rs:21:5: 21:22
|
||||
// mir::Constant
|
||||
- // + span: $DIR/dyn-trait.rs:27:5: 27:13
|
||||
- // + span: $DIR/dyn_trait.rs:27:5: 27:13
|
||||
- // + literal: Const { ty: for<'a> fn(&'a (dyn Cache<V = <C as Cache>::V> + 'a)) {mk_cycle::<<C as Cache>::V>}, val: Value(<ZST>) }
|
||||
+ // + span: $DIR/dyn-trait.rs:21:7: 21:20
|
||||
+ // + span: $DIR/dyn_trait.rs:21:7: 21:20
|
||||
+ // + literal: Const { ty: for<'a> fn(&'a dyn Cache<V = <C as Cache>::V>) {<dyn Cache<V = <C as Cache>::V> as Cache>::store_nocache}, val: Value(<ZST>) }
|
||||
}
|
||||
|
||||
bb1: {
|
||||
+ StorageDead(_4); // scope 1 at $DIR/dyn-trait.rs:21:21: 21:22
|
||||
StorageDead(_2); // scope 0 at $DIR/dyn-trait.rs:+1:15: +1:16
|
||||
return; // scope 0 at $DIR/dyn-trait.rs:+2:2: +2:2
|
||||
+ StorageDead(_4); // scope 1 at $DIR/dyn_trait.rs:21:21: 21:22
|
||||
StorageDead(_2); // scope 0 at $DIR/dyn_trait.rs:+1:15: +1:16
|
||||
return; // scope 0 at $DIR/dyn_trait.rs:+2:2: +2:2
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -1,44 +1,44 @@
|
|||
// MIR for `bar` after Inline
|
||||
|
||||
fn bar() -> bool {
|
||||
let mut _0: bool; // return place in scope 0 at $DIR/inline-any-operand.rs:+0:13: +0:17
|
||||
let _1: fn(i32, i32) -> bool {foo}; // in scope 0 at $DIR/inline-any-operand.rs:+1:9: +1:10
|
||||
let mut _2: fn(i32, i32) -> bool {foo}; // in scope 0 at $DIR/inline-any-operand.rs:+2:5: +2:6
|
||||
let mut _3: i32; // in scope 0 at $DIR/inline-any-operand.rs:+2:5: +2:13
|
||||
let mut _4: i32; // in scope 0 at $DIR/inline-any-operand.rs:+2:5: +2:13
|
||||
let mut _0: bool; // return place in scope 0 at $DIR/inline_any_operand.rs:+0:13: +0:17
|
||||
let _1: fn(i32, i32) -> bool {foo}; // in scope 0 at $DIR/inline_any_operand.rs:+1:9: +1:10
|
||||
let mut _2: fn(i32, i32) -> bool {foo}; // in scope 0 at $DIR/inline_any_operand.rs:+2:5: +2:6
|
||||
let mut _3: i32; // in scope 0 at $DIR/inline_any_operand.rs:+2:5: +2:13
|
||||
let mut _4: i32; // in scope 0 at $DIR/inline_any_operand.rs:+2:5: +2:13
|
||||
scope 1 {
|
||||
debug f => _1; // in scope 1 at $DIR/inline-any-operand.rs:+1:9: +1:10
|
||||
scope 2 (inlined foo) { // at $DIR/inline-any-operand.rs:12:5: 12:13
|
||||
debug x => _3; // in scope 2 at $DIR/inline-any-operand.rs:16:8: 16:9
|
||||
debug y => _4; // in scope 2 at $DIR/inline-any-operand.rs:16:16: 16:17
|
||||
let mut _5: i32; // in scope 2 at $DIR/inline-any-operand.rs:17:5: 17:6
|
||||
let mut _6: i32; // in scope 2 at $DIR/inline-any-operand.rs:17:10: 17:11
|
||||
debug f => _1; // in scope 1 at $DIR/inline_any_operand.rs:+1:9: +1:10
|
||||
scope 2 (inlined foo) { // at $DIR/inline_any_operand.rs:12:5: 12:13
|
||||
debug x => _3; // in scope 2 at $DIR/inline_any_operand.rs:16:8: 16:9
|
||||
debug y => _4; // in scope 2 at $DIR/inline_any_operand.rs:16:16: 16:17
|
||||
let mut _5: i32; // in scope 2 at $DIR/inline_any_operand.rs:17:5: 17:6
|
||||
let mut _6: i32; // in scope 2 at $DIR/inline_any_operand.rs:17:10: 17:11
|
||||
}
|
||||
}
|
||||
|
||||
bb0: {
|
||||
StorageLive(_1); // scope 0 at $DIR/inline-any-operand.rs:+1:9: +1:10
|
||||
_1 = foo; // scope 0 at $DIR/inline-any-operand.rs:+1:13: +1:16
|
||||
StorageLive(_1); // scope 0 at $DIR/inline_any_operand.rs:+1:9: +1:10
|
||||
_1 = foo; // scope 0 at $DIR/inline_any_operand.rs:+1:13: +1:16
|
||||
// mir::Constant
|
||||
// + span: $DIR/inline-any-operand.rs:11:13: 11:16
|
||||
// + span: $DIR/inline_any_operand.rs:11:13: 11:16
|
||||
// + literal: Const { ty: fn(i32, i32) -> bool {foo}, val: Value(<ZST>) }
|
||||
StorageLive(_2); // scope 1 at $DIR/inline-any-operand.rs:+2:5: +2:6
|
||||
_2 = _1; // scope 1 at $DIR/inline-any-operand.rs:+2:5: +2:6
|
||||
StorageLive(_3); // scope 1 at $DIR/inline-any-operand.rs:+2:5: +2:13
|
||||
_3 = const 1_i32; // scope 1 at $DIR/inline-any-operand.rs:+2:5: +2:13
|
||||
StorageLive(_4); // scope 1 at $DIR/inline-any-operand.rs:+2:5: +2:13
|
||||
_4 = const -1_i32; // scope 1 at $DIR/inline-any-operand.rs:+2:5: +2:13
|
||||
StorageLive(_5); // scope 2 at $DIR/inline-any-operand.rs:17:5: 17:6
|
||||
_5 = _3; // scope 2 at $DIR/inline-any-operand.rs:17:5: 17:6
|
||||
StorageLive(_6); // scope 2 at $DIR/inline-any-operand.rs:17:10: 17:11
|
||||
_6 = _4; // scope 2 at $DIR/inline-any-operand.rs:17:10: 17:11
|
||||
_0 = Eq(move _5, move _6); // scope 2 at $DIR/inline-any-operand.rs:17:5: 17:11
|
||||
StorageDead(_6); // scope 2 at $DIR/inline-any-operand.rs:17:10: 17:11
|
||||
StorageDead(_5); // scope 2 at $DIR/inline-any-operand.rs:17:10: 17:11
|
||||
StorageDead(_4); // scope 1 at $DIR/inline-any-operand.rs:+2:5: +2:13
|
||||
StorageDead(_3); // scope 1 at $DIR/inline-any-operand.rs:+2:5: +2:13
|
||||
StorageDead(_2); // scope 1 at $DIR/inline-any-operand.rs:+2:12: +2:13
|
||||
StorageDead(_1); // scope 0 at $DIR/inline-any-operand.rs:+3:1: +3:2
|
||||
return; // scope 0 at $DIR/inline-any-operand.rs:+3:2: +3:2
|
||||
StorageLive(_2); // scope 1 at $DIR/inline_any_operand.rs:+2:5: +2:6
|
||||
_2 = _1; // scope 1 at $DIR/inline_any_operand.rs:+2:5: +2:6
|
||||
StorageLive(_3); // scope 1 at $DIR/inline_any_operand.rs:+2:5: +2:13
|
||||
_3 = const 1_i32; // scope 1 at $DIR/inline_any_operand.rs:+2:5: +2:13
|
||||
StorageLive(_4); // scope 1 at $DIR/inline_any_operand.rs:+2:5: +2:13
|
||||
_4 = const -1_i32; // scope 1 at $DIR/inline_any_operand.rs:+2:5: +2:13
|
||||
StorageLive(_5); // scope 2 at $DIR/inline_any_operand.rs:17:5: 17:6
|
||||
_5 = _3; // scope 2 at $DIR/inline_any_operand.rs:17:5: 17:6
|
||||
StorageLive(_6); // scope 2 at $DIR/inline_any_operand.rs:17:10: 17:11
|
||||
_6 = _4; // scope 2 at $DIR/inline_any_operand.rs:17:10: 17:11
|
||||
_0 = Eq(move _5, move _6); // scope 2 at $DIR/inline_any_operand.rs:17:5: 17:11
|
||||
StorageDead(_6); // scope 2 at $DIR/inline_any_operand.rs:17:10: 17:11
|
||||
StorageDead(_5); // scope 2 at $DIR/inline_any_operand.rs:17:10: 17:11
|
||||
StorageDead(_4); // scope 1 at $DIR/inline_any_operand.rs:+2:5: +2:13
|
||||
StorageDead(_3); // scope 1 at $DIR/inline_any_operand.rs:+2:5: +2:13
|
||||
StorageDead(_2); // scope 1 at $DIR/inline_any_operand.rs:+2:12: +2:13
|
||||
StorageDead(_1); // scope 0 at $DIR/inline_any_operand.rs:+3:1: +3:2
|
||||
return; // scope 0 at $DIR/inline_any_operand.rs:+3:2: +3:2
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,49 +1,49 @@
|
|||
// MIR for `foo` after Inline
|
||||
|
||||
fn foo(_1: T, _2: i32) -> i32 {
|
||||
debug _t => _1; // in scope 0 at $DIR/inline-closure.rs:+0:17: +0:19
|
||||
debug q => _2; // in scope 0 at $DIR/inline-closure.rs:+0:24: +0:25
|
||||
let mut _0: i32; // return place in scope 0 at $DIR/inline-closure.rs:+0:35: +0:38
|
||||
let _3: [closure@foo<T>::{closure#0}]; // in scope 0 at $DIR/inline-closure.rs:+1:9: +1:10
|
||||
let mut _4: &[closure@foo<T>::{closure#0}]; // in scope 0 at $DIR/inline-closure.rs:+2:5: +2:6
|
||||
let mut _5: (i32, i32); // in scope 0 at $DIR/inline-closure.rs:+2:5: +2:12
|
||||
let mut _6: i32; // in scope 0 at $DIR/inline-closure.rs:+2:7: +2:8
|
||||
let mut _7: i32; // in scope 0 at $DIR/inline-closure.rs:+2:10: +2:11
|
||||
let mut _8: i32; // in scope 0 at $DIR/inline-closure.rs:+2:5: +2:12
|
||||
let mut _9: i32; // in scope 0 at $DIR/inline-closure.rs:+2:5: +2:12
|
||||
debug _t => _1; // in scope 0 at $DIR/inline_closure.rs:+0:17: +0:19
|
||||
debug q => _2; // in scope 0 at $DIR/inline_closure.rs:+0:24: +0:25
|
||||
let mut _0: i32; // return place in scope 0 at $DIR/inline_closure.rs:+0:35: +0:38
|
||||
let _3: [closure@foo<T>::{closure#0}]; // in scope 0 at $DIR/inline_closure.rs:+1:9: +1:10
|
||||
let mut _4: &[closure@foo<T>::{closure#0}]; // in scope 0 at $DIR/inline_closure.rs:+2:5: +2:6
|
||||
let mut _5: (i32, i32); // in scope 0 at $DIR/inline_closure.rs:+2:5: +2:12
|
||||
let mut _6: i32; // in scope 0 at $DIR/inline_closure.rs:+2:7: +2:8
|
||||
let mut _7: i32; // in scope 0 at $DIR/inline_closure.rs:+2:10: +2:11
|
||||
let mut _8: i32; // in scope 0 at $DIR/inline_closure.rs:+2:5: +2:12
|
||||
let mut _9: i32; // in scope 0 at $DIR/inline_closure.rs:+2:5: +2:12
|
||||
scope 1 {
|
||||
debug x => _3; // in scope 1 at $DIR/inline-closure.rs:+1:9: +1:10
|
||||
scope 2 (inlined foo::<T>::{closure#0}) { // at $DIR/inline-closure.rs:12:5: 12:12
|
||||
debug _t => _8; // in scope 2 at $DIR/inline-closure.rs:+1:14: +1:16
|
||||
debug _q => _9; // in scope 2 at $DIR/inline-closure.rs:+1:18: +1:20
|
||||
debug x => _3; // in scope 1 at $DIR/inline_closure.rs:+1:9: +1:10
|
||||
scope 2 (inlined foo::<T>::{closure#0}) { // at $DIR/inline_closure.rs:12:5: 12:12
|
||||
debug _t => _8; // in scope 2 at $DIR/inline_closure.rs:+1:14: +1:16
|
||||
debug _q => _9; // in scope 2 at $DIR/inline_closure.rs:+1:18: +1:20
|
||||
}
|
||||
}
|
||||
|
||||
bb0: {
|
||||
StorageLive(_3); // scope 0 at $DIR/inline-closure.rs:+1:9: +1:10
|
||||
Deinit(_3); // scope 0 at $DIR/inline-closure.rs:+1:13: +1:24
|
||||
StorageLive(_4); // scope 1 at $DIR/inline-closure.rs:+2:5: +2:6
|
||||
_4 = &_3; // scope 1 at $DIR/inline-closure.rs:+2:5: +2:6
|
||||
StorageLive(_5); // scope 1 at $DIR/inline-closure.rs:+2:5: +2:12
|
||||
StorageLive(_6); // scope 1 at $DIR/inline-closure.rs:+2:7: +2:8
|
||||
_6 = _2; // scope 1 at $DIR/inline-closure.rs:+2:7: +2:8
|
||||
StorageLive(_7); // scope 1 at $DIR/inline-closure.rs:+2:10: +2:11
|
||||
_7 = _2; // scope 1 at $DIR/inline-closure.rs:+2:10: +2:11
|
||||
Deinit(_5); // scope 1 at $DIR/inline-closure.rs:+2:5: +2:12
|
||||
(_5.0: i32) = move _6; // scope 1 at $DIR/inline-closure.rs:+2:5: +2:12
|
||||
(_5.1: i32) = move _7; // scope 1 at $DIR/inline-closure.rs:+2:5: +2:12
|
||||
StorageLive(_8); // scope 1 at $DIR/inline-closure.rs:+2:5: +2:12
|
||||
_8 = move (_5.0: i32); // scope 1 at $DIR/inline-closure.rs:+2:5: +2:12
|
||||
StorageLive(_9); // scope 1 at $DIR/inline-closure.rs:+2:5: +2:12
|
||||
_9 = move (_5.1: i32); // scope 1 at $DIR/inline-closure.rs:+2:5: +2:12
|
||||
_0 = _8; // scope 2 at $DIR/inline-closure.rs:+1:22: +1:24
|
||||
StorageDead(_9); // scope 1 at $DIR/inline-closure.rs:+2:5: +2:12
|
||||
StorageDead(_8); // scope 1 at $DIR/inline-closure.rs:+2:5: +2:12
|
||||
StorageDead(_7); // scope 1 at $DIR/inline-closure.rs:+2:11: +2:12
|
||||
StorageDead(_6); // scope 1 at $DIR/inline-closure.rs:+2:11: +2:12
|
||||
StorageDead(_5); // scope 1 at $DIR/inline-closure.rs:+2:11: +2:12
|
||||
StorageDead(_4); // scope 1 at $DIR/inline-closure.rs:+2:11: +2:12
|
||||
StorageDead(_3); // scope 0 at $DIR/inline-closure.rs:+3:1: +3:2
|
||||
return; // scope 0 at $DIR/inline-closure.rs:+3:2: +3:2
|
||||
StorageLive(_3); // scope 0 at $DIR/inline_closure.rs:+1:9: +1:10
|
||||
Deinit(_3); // scope 0 at $DIR/inline_closure.rs:+1:13: +1:24
|
||||
StorageLive(_4); // scope 1 at $DIR/inline_closure.rs:+2:5: +2:6
|
||||
_4 = &_3; // scope 1 at $DIR/inline_closure.rs:+2:5: +2:6
|
||||
StorageLive(_5); // scope 1 at $DIR/inline_closure.rs:+2:5: +2:12
|
||||
StorageLive(_6); // scope 1 at $DIR/inline_closure.rs:+2:7: +2:8
|
||||
_6 = _2; // scope 1 at $DIR/inline_closure.rs:+2:7: +2:8
|
||||
StorageLive(_7); // scope 1 at $DIR/inline_closure.rs:+2:10: +2:11
|
||||
_7 = _2; // scope 1 at $DIR/inline_closure.rs:+2:10: +2:11
|
||||
Deinit(_5); // scope 1 at $DIR/inline_closure.rs:+2:5: +2:12
|
||||
(_5.0: i32) = move _6; // scope 1 at $DIR/inline_closure.rs:+2:5: +2:12
|
||||
(_5.1: i32) = move _7; // scope 1 at $DIR/inline_closure.rs:+2:5: +2:12
|
||||
StorageLive(_8); // scope 1 at $DIR/inline_closure.rs:+2:5: +2:12
|
||||
_8 = move (_5.0: i32); // scope 1 at $DIR/inline_closure.rs:+2:5: +2:12
|
||||
StorageLive(_9); // scope 1 at $DIR/inline_closure.rs:+2:5: +2:12
|
||||
_9 = move (_5.1: i32); // scope 1 at $DIR/inline_closure.rs:+2:5: +2:12
|
||||
_0 = _8; // scope 2 at $DIR/inline_closure.rs:+1:22: +1:24
|
||||
StorageDead(_9); // scope 1 at $DIR/inline_closure.rs:+2:5: +2:12
|
||||
StorageDead(_8); // scope 1 at $DIR/inline_closure.rs:+2:5: +2:12
|
||||
StorageDead(_7); // scope 1 at $DIR/inline_closure.rs:+2:11: +2:12
|
||||
StorageDead(_6); // scope 1 at $DIR/inline_closure.rs:+2:11: +2:12
|
||||
StorageDead(_5); // scope 1 at $DIR/inline_closure.rs:+2:11: +2:12
|
||||
StorageDead(_4); // scope 1 at $DIR/inline_closure.rs:+2:11: +2:12
|
||||
StorageDead(_3); // scope 0 at $DIR/inline_closure.rs:+3:1: +3:2
|
||||
return; // scope 0 at $DIR/inline_closure.rs:+3:2: +3:2
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,56 +1,56 @@
|
|||
// MIR for `foo` after Inline
|
||||
|
||||
fn foo(_1: T, _2: &i32) -> i32 {
|
||||
debug _t => _1; // in scope 0 at $DIR/inline-closure-borrows-arg.rs:+0:17: +0:19
|
||||
debug q => _2; // in scope 0 at $DIR/inline-closure-borrows-arg.rs:+0:24: +0:25
|
||||
let mut _0: i32; // return place in scope 0 at $DIR/inline-closure-borrows-arg.rs:+0:36: +0:39
|
||||
let _3: [closure@foo<T>::{closure#0}]; // in scope 0 at $DIR/inline-closure-borrows-arg.rs:+1:9: +1:10
|
||||
let mut _4: &[closure@foo<T>::{closure#0}]; // in scope 0 at $DIR/inline-closure-borrows-arg.rs:+5:5: +5:6
|
||||
let mut _5: (&i32, &i32); // in scope 0 at $DIR/inline-closure-borrows-arg.rs:+5:5: +5:12
|
||||
let mut _6: &i32; // in scope 0 at $DIR/inline-closure-borrows-arg.rs:+5:7: +5:8
|
||||
let mut _7: &i32; // in scope 0 at $DIR/inline-closure-borrows-arg.rs:+5:10: +5:11
|
||||
let mut _8: &i32; // in scope 0 at $DIR/inline-closure-borrows-arg.rs:+5:5: +5:12
|
||||
let mut _9: &i32; // in scope 0 at $DIR/inline-closure-borrows-arg.rs:+5:5: +5:12
|
||||
debug _t => _1; // in scope 0 at $DIR/inline_closure_borrows_arg.rs:+0:17: +0:19
|
||||
debug q => _2; // in scope 0 at $DIR/inline_closure_borrows_arg.rs:+0:24: +0:25
|
||||
let mut _0: i32; // return place in scope 0 at $DIR/inline_closure_borrows_arg.rs:+0:36: +0:39
|
||||
let _3: [closure@foo<T>::{closure#0}]; // in scope 0 at $DIR/inline_closure_borrows_arg.rs:+1:9: +1:10
|
||||
let mut _4: &[closure@foo<T>::{closure#0}]; // in scope 0 at $DIR/inline_closure_borrows_arg.rs:+5:5: +5:6
|
||||
let mut _5: (&i32, &i32); // in scope 0 at $DIR/inline_closure_borrows_arg.rs:+5:5: +5:12
|
||||
let mut _6: &i32; // in scope 0 at $DIR/inline_closure_borrows_arg.rs:+5:7: +5:8
|
||||
let mut _7: &i32; // in scope 0 at $DIR/inline_closure_borrows_arg.rs:+5:10: +5:11
|
||||
let mut _8: &i32; // in scope 0 at $DIR/inline_closure_borrows_arg.rs:+5:5: +5:12
|
||||
let mut _9: &i32; // in scope 0 at $DIR/inline_closure_borrows_arg.rs:+5:5: +5:12
|
||||
scope 1 {
|
||||
debug x => _3; // in scope 1 at $DIR/inline-closure-borrows-arg.rs:+1:9: +1:10
|
||||
scope 2 (inlined foo::<T>::{closure#0}) { // at $DIR/inline-closure-borrows-arg.rs:16:5: 16:12
|
||||
debug r => _8; // in scope 2 at $DIR/inline-closure-borrows-arg.rs:+1:14: +1:15
|
||||
debug _s => _9; // in scope 2 at $DIR/inline-closure-borrows-arg.rs:+1:23: +1:25
|
||||
let _10: &i32; // in scope 2 at $DIR/inline-closure-borrows-arg.rs:+2:13: +2:21
|
||||
debug x => _3; // in scope 1 at $DIR/inline_closure_borrows_arg.rs:+1:9: +1:10
|
||||
scope 2 (inlined foo::<T>::{closure#0}) { // at $DIR/inline_closure_borrows_arg.rs:16:5: 16:12
|
||||
debug r => _8; // in scope 2 at $DIR/inline_closure_borrows_arg.rs:+1:14: +1:15
|
||||
debug _s => _9; // in scope 2 at $DIR/inline_closure_borrows_arg.rs:+1:23: +1:25
|
||||
let _10: &i32; // in scope 2 at $DIR/inline_closure_borrows_arg.rs:+2:13: +2:21
|
||||
scope 3 {
|
||||
debug variable => _10; // in scope 3 at $DIR/inline-closure-borrows-arg.rs:+2:13: +2:21
|
||||
debug variable => _10; // in scope 3 at $DIR/inline_closure_borrows_arg.rs:+2:13: +2:21
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
bb0: {
|
||||
StorageLive(_3); // scope 0 at $DIR/inline-closure-borrows-arg.rs:+1:9: +1:10
|
||||
Deinit(_3); // scope 0 at $DIR/inline-closure-borrows-arg.rs:+1:13: +4:6
|
||||
StorageLive(_4); // scope 1 at $DIR/inline-closure-borrows-arg.rs:+5:5: +5:6
|
||||
_4 = &_3; // scope 1 at $DIR/inline-closure-borrows-arg.rs:+5:5: +5:6
|
||||
StorageLive(_5); // scope 1 at $DIR/inline-closure-borrows-arg.rs:+5:5: +5:12
|
||||
StorageLive(_6); // scope 1 at $DIR/inline-closure-borrows-arg.rs:+5:7: +5:8
|
||||
_6 = &(*_2); // scope 1 at $DIR/inline-closure-borrows-arg.rs:+5:7: +5:8
|
||||
StorageLive(_7); // scope 1 at $DIR/inline-closure-borrows-arg.rs:+5:10: +5:11
|
||||
_7 = &(*_2); // scope 1 at $DIR/inline-closure-borrows-arg.rs:+5:10: +5:11
|
||||
Deinit(_5); // scope 1 at $DIR/inline-closure-borrows-arg.rs:+5:5: +5:12
|
||||
(_5.0: &i32) = move _6; // scope 1 at $DIR/inline-closure-borrows-arg.rs:+5:5: +5:12
|
||||
(_5.1: &i32) = move _7; // scope 1 at $DIR/inline-closure-borrows-arg.rs:+5:5: +5:12
|
||||
StorageLive(_8); // scope 1 at $DIR/inline-closure-borrows-arg.rs:+5:5: +5:12
|
||||
_8 = move (_5.0: &i32); // scope 1 at $DIR/inline-closure-borrows-arg.rs:+5:5: +5:12
|
||||
StorageLive(_9); // scope 1 at $DIR/inline-closure-borrows-arg.rs:+5:5: +5:12
|
||||
_9 = move (_5.1: &i32); // scope 1 at $DIR/inline-closure-borrows-arg.rs:+5:5: +5:12
|
||||
StorageLive(_10); // scope 2 at $DIR/inline-closure-borrows-arg.rs:+2:13: +2:21
|
||||
_10 = _8; // scope 2 at $DIR/inline-closure-borrows-arg.rs:+2:24: +2:27
|
||||
_0 = (*_10); // scope 3 at $DIR/inline-closure-borrows-arg.rs:+3:9: +3:18
|
||||
StorageDead(_10); // scope 2 at $DIR/inline-closure-borrows-arg.rs:+4:5: +4:6
|
||||
StorageDead(_9); // scope 1 at $DIR/inline-closure-borrows-arg.rs:+5:5: +5:12
|
||||
StorageDead(_8); // scope 1 at $DIR/inline-closure-borrows-arg.rs:+5:5: +5:12
|
||||
StorageDead(_7); // scope 1 at $DIR/inline-closure-borrows-arg.rs:+5:11: +5:12
|
||||
StorageDead(_6); // scope 1 at $DIR/inline-closure-borrows-arg.rs:+5:11: +5:12
|
||||
StorageDead(_5); // scope 1 at $DIR/inline-closure-borrows-arg.rs:+5:11: +5:12
|
||||
StorageDead(_4); // scope 1 at $DIR/inline-closure-borrows-arg.rs:+5:11: +5:12
|
||||
StorageDead(_3); // scope 0 at $DIR/inline-closure-borrows-arg.rs:+6:1: +6:2
|
||||
return; // scope 0 at $DIR/inline-closure-borrows-arg.rs:+6:2: +6:2
|
||||
StorageLive(_3); // scope 0 at $DIR/inline_closure_borrows_arg.rs:+1:9: +1:10
|
||||
Deinit(_3); // scope 0 at $DIR/inline_closure_borrows_arg.rs:+1:13: +4:6
|
||||
StorageLive(_4); // scope 1 at $DIR/inline_closure_borrows_arg.rs:+5:5: +5:6
|
||||
_4 = &_3; // scope 1 at $DIR/inline_closure_borrows_arg.rs:+5:5: +5:6
|
||||
StorageLive(_5); // scope 1 at $DIR/inline_closure_borrows_arg.rs:+5:5: +5:12
|
||||
StorageLive(_6); // scope 1 at $DIR/inline_closure_borrows_arg.rs:+5:7: +5:8
|
||||
_6 = &(*_2); // scope 1 at $DIR/inline_closure_borrows_arg.rs:+5:7: +5:8
|
||||
StorageLive(_7); // scope 1 at $DIR/inline_closure_borrows_arg.rs:+5:10: +5:11
|
||||
_7 = &(*_2); // scope 1 at $DIR/inline_closure_borrows_arg.rs:+5:10: +5:11
|
||||
Deinit(_5); // scope 1 at $DIR/inline_closure_borrows_arg.rs:+5:5: +5:12
|
||||
(_5.0: &i32) = move _6; // scope 1 at $DIR/inline_closure_borrows_arg.rs:+5:5: +5:12
|
||||
(_5.1: &i32) = move _7; // scope 1 at $DIR/inline_closure_borrows_arg.rs:+5:5: +5:12
|
||||
StorageLive(_8); // scope 1 at $DIR/inline_closure_borrows_arg.rs:+5:5: +5:12
|
||||
_8 = move (_5.0: &i32); // scope 1 at $DIR/inline_closure_borrows_arg.rs:+5:5: +5:12
|
||||
StorageLive(_9); // scope 1 at $DIR/inline_closure_borrows_arg.rs:+5:5: +5:12
|
||||
_9 = move (_5.1: &i32); // scope 1 at $DIR/inline_closure_borrows_arg.rs:+5:5: +5:12
|
||||
StorageLive(_10); // scope 2 at $DIR/inline_closure_borrows_arg.rs:+2:13: +2:21
|
||||
_10 = _8; // scope 2 at $DIR/inline_closure_borrows_arg.rs:+2:24: +2:27
|
||||
_0 = (*_10); // scope 3 at $DIR/inline_closure_borrows_arg.rs:+3:9: +3:18
|
||||
StorageDead(_10); // scope 2 at $DIR/inline_closure_borrows_arg.rs:+4:5: +4:6
|
||||
StorageDead(_9); // scope 1 at $DIR/inline_closure_borrows_arg.rs:+5:5: +5:12
|
||||
StorageDead(_8); // scope 1 at $DIR/inline_closure_borrows_arg.rs:+5:5: +5:12
|
||||
StorageDead(_7); // scope 1 at $DIR/inline_closure_borrows_arg.rs:+5:11: +5:12
|
||||
StorageDead(_6); // scope 1 at $DIR/inline_closure_borrows_arg.rs:+5:11: +5:12
|
||||
StorageDead(_5); // scope 1 at $DIR/inline_closure_borrows_arg.rs:+5:11: +5:12
|
||||
StorageDead(_4); // scope 1 at $DIR/inline_closure_borrows_arg.rs:+5:11: +5:12
|
||||
StorageDead(_3); // scope 0 at $DIR/inline_closure_borrows_arg.rs:+6:1: +6:2
|
||||
return; // scope 0 at $DIR/inline_closure_borrows_arg.rs:+6:2: +6:2
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,65 +1,65 @@
|
|||
// MIR for `foo` after Inline
|
||||
|
||||
fn foo(_1: T, _2: i32) -> (i32, T) {
|
||||
debug t => _1; // in scope 0 at $DIR/inline-closure-captures.rs:+0:17: +0:18
|
||||
debug q => _2; // in scope 0 at $DIR/inline-closure-captures.rs:+0:23: +0:24
|
||||
let mut _0: (i32, T); // return place in scope 0 at $DIR/inline-closure-captures.rs:+0:34: +0:42
|
||||
let _3: [closure@foo<T>::{closure#0}]; // in scope 0 at $DIR/inline-closure-captures.rs:+1:9: +1:10
|
||||
let mut _4: &i32; // in scope 0 at $DIR/inline-closure-captures.rs:+1:13: +1:24
|
||||
let mut _5: &T; // in scope 0 at $DIR/inline-closure-captures.rs:+1:13: +1:24
|
||||
let mut _6: &[closure@foo<T>::{closure#0}]; // in scope 0 at $DIR/inline-closure-captures.rs:+2:5: +2:6
|
||||
let mut _7: (i32,); // in scope 0 at $DIR/inline-closure-captures.rs:+2:5: +2:9
|
||||
let mut _8: i32; // in scope 0 at $DIR/inline-closure-captures.rs:+2:7: +2:8
|
||||
let mut _9: i32; // in scope 0 at $DIR/inline-closure-captures.rs:+2:5: +2:9
|
||||
debug t => _1; // in scope 0 at $DIR/inline_closure_captures.rs:+0:17: +0:18
|
||||
debug q => _2; // in scope 0 at $DIR/inline_closure_captures.rs:+0:23: +0:24
|
||||
let mut _0: (i32, T); // return place in scope 0 at $DIR/inline_closure_captures.rs:+0:34: +0:42
|
||||
let _3: [closure@foo<T>::{closure#0}]; // in scope 0 at $DIR/inline_closure_captures.rs:+1:9: +1:10
|
||||
let mut _4: &i32; // in scope 0 at $DIR/inline_closure_captures.rs:+1:13: +1:24
|
||||
let mut _5: &T; // in scope 0 at $DIR/inline_closure_captures.rs:+1:13: +1:24
|
||||
let mut _6: &[closure@foo<T>::{closure#0}]; // in scope 0 at $DIR/inline_closure_captures.rs:+2:5: +2:6
|
||||
let mut _7: (i32,); // in scope 0 at $DIR/inline_closure_captures.rs:+2:5: +2:9
|
||||
let mut _8: i32; // in scope 0 at $DIR/inline_closure_captures.rs:+2:7: +2:8
|
||||
let mut _9: i32; // in scope 0 at $DIR/inline_closure_captures.rs:+2:5: +2:9
|
||||
scope 1 {
|
||||
debug x => _3; // in scope 1 at $DIR/inline-closure-captures.rs:+1:9: +1:10
|
||||
scope 2 (inlined foo::<T>::{closure#0}) { // at $DIR/inline-closure-captures.rs:12:5: 12:9
|
||||
debug _q => _9; // in scope 2 at $DIR/inline-closure-captures.rs:+1:14: +1:16
|
||||
debug q => (*((*_6).0: &i32)); // in scope 2 at $DIR/inline-closure-captures.rs:+0:23: +0:24
|
||||
debug t => (*((*_6).1: &T)); // in scope 2 at $DIR/inline-closure-captures.rs:+0:17: +0:18
|
||||
let mut _10: i32; // in scope 2 at $DIR/inline-closure-captures.rs:+1:19: +1:20
|
||||
let mut _11: T; // in scope 2 at $DIR/inline-closure-captures.rs:+1:22: +1:23
|
||||
let mut _12: &i32; // in scope 2 at $DIR/inline-closure-captures.rs:+1:13: +1:24
|
||||
let mut _13: &T; // in scope 2 at $DIR/inline-closure-captures.rs:+1:13: +1:24
|
||||
debug x => _3; // in scope 1 at $DIR/inline_closure_captures.rs:+1:9: +1:10
|
||||
scope 2 (inlined foo::<T>::{closure#0}) { // at $DIR/inline_closure_captures.rs:12:5: 12:9
|
||||
debug _q => _9; // in scope 2 at $DIR/inline_closure_captures.rs:+1:14: +1:16
|
||||
debug q => (*((*_6).0: &i32)); // in scope 2 at $DIR/inline_closure_captures.rs:+0:23: +0:24
|
||||
debug t => (*((*_6).1: &T)); // in scope 2 at $DIR/inline_closure_captures.rs:+0:17: +0:18
|
||||
let mut _10: i32; // in scope 2 at $DIR/inline_closure_captures.rs:+1:19: +1:20
|
||||
let mut _11: T; // in scope 2 at $DIR/inline_closure_captures.rs:+1:22: +1:23
|
||||
let mut _12: &i32; // in scope 2 at $DIR/inline_closure_captures.rs:+1:13: +1:24
|
||||
let mut _13: &T; // in scope 2 at $DIR/inline_closure_captures.rs:+1:13: +1:24
|
||||
}
|
||||
}
|
||||
|
||||
bb0: {
|
||||
StorageLive(_3); // scope 0 at $DIR/inline-closure-captures.rs:+1:9: +1:10
|
||||
StorageLive(_4); // scope 0 at $DIR/inline-closure-captures.rs:+1:13: +1:24
|
||||
_4 = &_2; // scope 0 at $DIR/inline-closure-captures.rs:+1:13: +1:24
|
||||
StorageLive(_5); // scope 0 at $DIR/inline-closure-captures.rs:+1:13: +1:24
|
||||
_5 = &_1; // scope 0 at $DIR/inline-closure-captures.rs:+1:13: +1:24
|
||||
Deinit(_3); // scope 0 at $DIR/inline-closure-captures.rs:+1:13: +1:24
|
||||
(_3.0: &i32) = move _4; // scope 0 at $DIR/inline-closure-captures.rs:+1:13: +1:24
|
||||
(_3.1: &T) = move _5; // scope 0 at $DIR/inline-closure-captures.rs:+1:13: +1:24
|
||||
StorageDead(_5); // scope 0 at $DIR/inline-closure-captures.rs:+1:16: +1:17
|
||||
StorageDead(_4); // scope 0 at $DIR/inline-closure-captures.rs:+1:16: +1:17
|
||||
StorageLive(_6); // scope 1 at $DIR/inline-closure-captures.rs:+2:5: +2:6
|
||||
_6 = &_3; // scope 1 at $DIR/inline-closure-captures.rs:+2:5: +2:6
|
||||
StorageLive(_7); // scope 1 at $DIR/inline-closure-captures.rs:+2:5: +2:9
|
||||
StorageLive(_8); // scope 1 at $DIR/inline-closure-captures.rs:+2:7: +2:8
|
||||
_8 = _2; // scope 1 at $DIR/inline-closure-captures.rs:+2:7: +2:8
|
||||
Deinit(_7); // scope 1 at $DIR/inline-closure-captures.rs:+2:5: +2:9
|
||||
(_7.0: i32) = move _8; // scope 1 at $DIR/inline-closure-captures.rs:+2:5: +2:9
|
||||
StorageLive(_9); // scope 1 at $DIR/inline-closure-captures.rs:+2:5: +2:9
|
||||
_9 = move (_7.0: i32); // scope 1 at $DIR/inline-closure-captures.rs:+2:5: +2:9
|
||||
StorageLive(_10); // scope 2 at $DIR/inline-closure-captures.rs:+1:19: +1:20
|
||||
_12 = deref_copy ((*_6).0: &i32); // scope 2 at $DIR/inline-closure-captures.rs:+1:19: +1:20
|
||||
_10 = (*_12); // scope 2 at $DIR/inline-closure-captures.rs:+1:19: +1:20
|
||||
StorageLive(_11); // scope 2 at $DIR/inline-closure-captures.rs:+1:22: +1:23
|
||||
_13 = deref_copy ((*_6).1: &T); // scope 2 at $DIR/inline-closure-captures.rs:+1:22: +1:23
|
||||
_11 = (*_13); // scope 2 at $DIR/inline-closure-captures.rs:+1:22: +1:23
|
||||
Deinit(_0); // scope 2 at $DIR/inline-closure-captures.rs:+1:18: +1:24
|
||||
(_0.0: i32) = move _10; // scope 2 at $DIR/inline-closure-captures.rs:+1:18: +1:24
|
||||
(_0.1: T) = move _11; // scope 2 at $DIR/inline-closure-captures.rs:+1:18: +1:24
|
||||
StorageDead(_11); // scope 2 at $DIR/inline-closure-captures.rs:+1:23: +1:24
|
||||
StorageDead(_10); // scope 2 at $DIR/inline-closure-captures.rs:+1:23: +1:24
|
||||
StorageDead(_9); // scope 1 at $DIR/inline-closure-captures.rs:+2:5: +2:9
|
||||
StorageDead(_8); // scope 1 at $DIR/inline-closure-captures.rs:+2:8: +2:9
|
||||
StorageDead(_7); // scope 1 at $DIR/inline-closure-captures.rs:+2:8: +2:9
|
||||
StorageDead(_6); // scope 1 at $DIR/inline-closure-captures.rs:+2:8: +2:9
|
||||
StorageDead(_3); // scope 0 at $DIR/inline-closure-captures.rs:+3:1: +3:2
|
||||
return; // scope 0 at $DIR/inline-closure-captures.rs:+3:2: +3:2
|
||||
StorageLive(_3); // scope 0 at $DIR/inline_closure_captures.rs:+1:9: +1:10
|
||||
StorageLive(_4); // scope 0 at $DIR/inline_closure_captures.rs:+1:13: +1:24
|
||||
_4 = &_2; // scope 0 at $DIR/inline_closure_captures.rs:+1:13: +1:24
|
||||
StorageLive(_5); // scope 0 at $DIR/inline_closure_captures.rs:+1:13: +1:24
|
||||
_5 = &_1; // scope 0 at $DIR/inline_closure_captures.rs:+1:13: +1:24
|
||||
Deinit(_3); // scope 0 at $DIR/inline_closure_captures.rs:+1:13: +1:24
|
||||
(_3.0: &i32) = move _4; // scope 0 at $DIR/inline_closure_captures.rs:+1:13: +1:24
|
||||
(_3.1: &T) = move _5; // scope 0 at $DIR/inline_closure_captures.rs:+1:13: +1:24
|
||||
StorageDead(_5); // scope 0 at $DIR/inline_closure_captures.rs:+1:16: +1:17
|
||||
StorageDead(_4); // scope 0 at $DIR/inline_closure_captures.rs:+1:16: +1:17
|
||||
StorageLive(_6); // scope 1 at $DIR/inline_closure_captures.rs:+2:5: +2:6
|
||||
_6 = &_3; // scope 1 at $DIR/inline_closure_captures.rs:+2:5: +2:6
|
||||
StorageLive(_7); // scope 1 at $DIR/inline_closure_captures.rs:+2:5: +2:9
|
||||
StorageLive(_8); // scope 1 at $DIR/inline_closure_captures.rs:+2:7: +2:8
|
||||
_8 = _2; // scope 1 at $DIR/inline_closure_captures.rs:+2:7: +2:8
|
||||
Deinit(_7); // scope 1 at $DIR/inline_closure_captures.rs:+2:5: +2:9
|
||||
(_7.0: i32) = move _8; // scope 1 at $DIR/inline_closure_captures.rs:+2:5: +2:9
|
||||
StorageLive(_9); // scope 1 at $DIR/inline_closure_captures.rs:+2:5: +2:9
|
||||
_9 = move (_7.0: i32); // scope 1 at $DIR/inline_closure_captures.rs:+2:5: +2:9
|
||||
StorageLive(_10); // scope 2 at $DIR/inline_closure_captures.rs:+1:19: +1:20
|
||||
_12 = deref_copy ((*_6).0: &i32); // scope 2 at $DIR/inline_closure_captures.rs:+1:19: +1:20
|
||||
_10 = (*_12); // scope 2 at $DIR/inline_closure_captures.rs:+1:19: +1:20
|
||||
StorageLive(_11); // scope 2 at $DIR/inline_closure_captures.rs:+1:22: +1:23
|
||||
_13 = deref_copy ((*_6).1: &T); // scope 2 at $DIR/inline_closure_captures.rs:+1:22: +1:23
|
||||
_11 = (*_13); // scope 2 at $DIR/inline_closure_captures.rs:+1:22: +1:23
|
||||
Deinit(_0); // scope 2 at $DIR/inline_closure_captures.rs:+1:18: +1:24
|
||||
(_0.0: i32) = move _10; // scope 2 at $DIR/inline_closure_captures.rs:+1:18: +1:24
|
||||
(_0.1: T) = move _11; // scope 2 at $DIR/inline_closure_captures.rs:+1:18: +1:24
|
||||
StorageDead(_11); // scope 2 at $DIR/inline_closure_captures.rs:+1:23: +1:24
|
||||
StorageDead(_10); // scope 2 at $DIR/inline_closure_captures.rs:+1:23: +1:24
|
||||
StorageDead(_9); // scope 1 at $DIR/inline_closure_captures.rs:+2:5: +2:9
|
||||
StorageDead(_8); // scope 1 at $DIR/inline_closure_captures.rs:+2:8: +2:9
|
||||
StorageDead(_7); // scope 1 at $DIR/inline_closure_captures.rs:+2:8: +2:9
|
||||
StorageDead(_6); // scope 1 at $DIR/inline_closure_captures.rs:+2:8: +2:9
|
||||
StorageDead(_3); // scope 0 at $DIR/inline_closure_captures.rs:+3:1: +3:2
|
||||
return; // scope 0 at $DIR/inline_closure_captures.rs:+3:2: +3:2
|
||||
}
|
||||
}
|
||||
|
|
|
@ -2,23 +2,23 @@
|
|||
+ // MIR for `inlined_no_sanitize` after Inline
|
||||
|
||||
fn inlined_no_sanitize() -> () {
|
||||
let mut _0: (); // return place in scope 0 at $DIR/inline-compatibility.rs:+0:37: +0:37
|
||||
let _1: (); // in scope 0 at $DIR/inline-compatibility.rs:+1:5: +1:18
|
||||
+ scope 1 (inlined no_sanitize) { // at $DIR/inline-compatibility.rs:24:5: 24:18
|
||||
let mut _0: (); // return place in scope 0 at $DIR/inline_compatibility.rs:+0:37: +0:37
|
||||
let _1: (); // in scope 0 at $DIR/inline_compatibility.rs:+1:5: +1:18
|
||||
+ scope 1 (inlined no_sanitize) { // at $DIR/inline_compatibility.rs:24:5: 24:18
|
||||
+ }
|
||||
|
||||
bb0: {
|
||||
StorageLive(_1); // scope 0 at $DIR/inline-compatibility.rs:+1:5: +1:18
|
||||
- _1 = no_sanitize() -> bb1; // scope 0 at $DIR/inline-compatibility.rs:+1:5: +1:18
|
||||
StorageLive(_1); // scope 0 at $DIR/inline_compatibility.rs:+1:5: +1:18
|
||||
- _1 = no_sanitize() -> bb1; // scope 0 at $DIR/inline_compatibility.rs:+1:5: +1:18
|
||||
- // mir::Constant
|
||||
- // + span: $DIR/inline-compatibility.rs:24:5: 24:16
|
||||
- // + span: $DIR/inline_compatibility.rs:24:5: 24:16
|
||||
- // + literal: Const { ty: unsafe fn() {no_sanitize}, val: Value(<ZST>) }
|
||||
- }
|
||||
-
|
||||
- bb1: {
|
||||
StorageDead(_1); // scope 0 at $DIR/inline-compatibility.rs:+1:18: +1:19
|
||||
_0 = const (); // scope 0 at $DIR/inline-compatibility.rs:+0:37: +2:2
|
||||
return; // scope 0 at $DIR/inline-compatibility.rs:+2:2: +2:2
|
||||
StorageDead(_1); // scope 0 at $DIR/inline_compatibility.rs:+1:18: +1:19
|
||||
_0 = const (); // scope 0 at $DIR/inline_compatibility.rs:+0:37: +2:2
|
||||
return; // scope 0 at $DIR/inline_compatibility.rs:+2:2: +2:2
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -2,23 +2,23 @@
|
|||
+ // MIR for `inlined_target_feature` after Inline
|
||||
|
||||
fn inlined_target_feature() -> () {
|
||||
let mut _0: (); // return place in scope 0 at $DIR/inline-compatibility.rs:+0:40: +0:40
|
||||
let _1: (); // in scope 0 at $DIR/inline-compatibility.rs:+1:5: +1:21
|
||||
+ scope 1 (inlined target_feature) { // at $DIR/inline-compatibility.rs:13:5: 13:21
|
||||
let mut _0: (); // return place in scope 0 at $DIR/inline_compatibility.rs:+0:40: +0:40
|
||||
let _1: (); // in scope 0 at $DIR/inline_compatibility.rs:+1:5: +1:21
|
||||
+ scope 1 (inlined target_feature) { // at $DIR/inline_compatibility.rs:13:5: 13:21
|
||||
+ }
|
||||
|
||||
bb0: {
|
||||
StorageLive(_1); // scope 0 at $DIR/inline-compatibility.rs:+1:5: +1:21
|
||||
- _1 = target_feature() -> bb1; // scope 0 at $DIR/inline-compatibility.rs:+1:5: +1:21
|
||||
StorageLive(_1); // scope 0 at $DIR/inline_compatibility.rs:+1:5: +1:21
|
||||
- _1 = target_feature() -> bb1; // scope 0 at $DIR/inline_compatibility.rs:+1:5: +1:21
|
||||
- // mir::Constant
|
||||
- // + span: $DIR/inline-compatibility.rs:13:5: 13:19
|
||||
- // + span: $DIR/inline_compatibility.rs:13:5: 13:19
|
||||
- // + literal: Const { ty: unsafe fn() {target_feature}, val: Value(<ZST>) }
|
||||
- }
|
||||
-
|
||||
- bb1: {
|
||||
StorageDead(_1); // scope 0 at $DIR/inline-compatibility.rs:+1:21: +1:22
|
||||
_0 = const (); // scope 0 at $DIR/inline-compatibility.rs:+0:40: +2:2
|
||||
return; // scope 0 at $DIR/inline-compatibility.rs:+2:2: +2:2
|
||||
StorageDead(_1); // scope 0 at $DIR/inline_compatibility.rs:+1:21: +1:22
|
||||
_0 = const (); // scope 0 at $DIR/inline_compatibility.rs:+0:40: +2:2
|
||||
return; // scope 0 at $DIR/inline_compatibility.rs:+2:2: +2:2
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -2,24 +2,24 @@
|
|||
+ // MIR for `not_inlined_c_variadic` after Inline
|
||||
|
||||
fn not_inlined_c_variadic() -> () {
|
||||
let mut _0: (); // return place in scope 0 at $DIR/inline-compatibility.rs:+0:40: +0:40
|
||||
let _1: u32; // in scope 0 at $DIR/inline-compatibility.rs:+1:9: +1:10
|
||||
let mut _0: (); // return place in scope 0 at $DIR/inline_compatibility.rs:+0:40: +0:40
|
||||
let _1: u32; // in scope 0 at $DIR/inline_compatibility.rs:+1:9: +1:10
|
||||
scope 1 {
|
||||
debug s => _1; // in scope 1 at $DIR/inline-compatibility.rs:+1:9: +1:10
|
||||
debug s => _1; // in scope 1 at $DIR/inline_compatibility.rs:+1:9: +1:10
|
||||
}
|
||||
|
||||
bb0: {
|
||||
StorageLive(_1); // scope 0 at $DIR/inline-compatibility.rs:+1:9: +1:10
|
||||
_1 = sum(const 4_u32, const 4_u32, const 30_u32, const 200_u32, const 1000_u32) -> bb1; // scope 0 at $DIR/inline-compatibility.rs:+1:13: +1:52
|
||||
StorageLive(_1); // scope 0 at $DIR/inline_compatibility.rs:+1:9: +1:10
|
||||
_1 = sum(const 4_u32, const 4_u32, const 30_u32, const 200_u32, const 1000_u32) -> bb1; // scope 0 at $DIR/inline_compatibility.rs:+1:13: +1:52
|
||||
// mir::Constant
|
||||
// + span: $DIR/inline-compatibility.rs:42:13: 42:16
|
||||
// + span: $DIR/inline_compatibility.rs:42:13: 42:16
|
||||
// + literal: Const { ty: unsafe extern "C" fn(u32, ...) -> u32 {sum}, val: Value(<ZST>) }
|
||||
}
|
||||
|
||||
bb1: {
|
||||
_0 = const (); // scope 0 at $DIR/inline-compatibility.rs:+0:40: +2:2
|
||||
StorageDead(_1); // scope 0 at $DIR/inline-compatibility.rs:+2:1: +2:2
|
||||
return; // scope 0 at $DIR/inline-compatibility.rs:+2:2: +2:2
|
||||
_0 = const (); // scope 0 at $DIR/inline_compatibility.rs:+0:40: +2:2
|
||||
StorageDead(_1); // scope 0 at $DIR/inline_compatibility.rs:+2:1: +2:2
|
||||
return; // scope 0 at $DIR/inline_compatibility.rs:+2:2: +2:2
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -2,21 +2,21 @@
|
|||
+ // MIR for `not_inlined_no_sanitize` after Inline
|
||||
|
||||
fn not_inlined_no_sanitize() -> () {
|
||||
let mut _0: (); // return place in scope 0 at $DIR/inline-compatibility.rs:+0:41: +0:41
|
||||
let _1: (); // in scope 0 at $DIR/inline-compatibility.rs:+1:5: +1:18
|
||||
let mut _0: (); // return place in scope 0 at $DIR/inline_compatibility.rs:+0:41: +0:41
|
||||
let _1: (); // in scope 0 at $DIR/inline_compatibility.rs:+1:5: +1:18
|
||||
|
||||
bb0: {
|
||||
StorageLive(_1); // scope 0 at $DIR/inline-compatibility.rs:+1:5: +1:18
|
||||
_1 = no_sanitize() -> bb1; // scope 0 at $DIR/inline-compatibility.rs:+1:5: +1:18
|
||||
StorageLive(_1); // scope 0 at $DIR/inline_compatibility.rs:+1:5: +1:18
|
||||
_1 = no_sanitize() -> bb1; // scope 0 at $DIR/inline_compatibility.rs:+1:5: +1:18
|
||||
// mir::Constant
|
||||
// + span: $DIR/inline-compatibility.rs:29:5: 29:16
|
||||
// + span: $DIR/inline_compatibility.rs:29:5: 29:16
|
||||
// + literal: Const { ty: unsafe fn() {no_sanitize}, val: Value(<ZST>) }
|
||||
}
|
||||
|
||||
bb1: {
|
||||
StorageDead(_1); // scope 0 at $DIR/inline-compatibility.rs:+1:18: +1:19
|
||||
_0 = const (); // scope 0 at $DIR/inline-compatibility.rs:+0:41: +2:2
|
||||
return; // scope 0 at $DIR/inline-compatibility.rs:+2:2: +2:2
|
||||
StorageDead(_1); // scope 0 at $DIR/inline_compatibility.rs:+1:18: +1:19
|
||||
_0 = const (); // scope 0 at $DIR/inline_compatibility.rs:+0:41: +2:2
|
||||
return; // scope 0 at $DIR/inline_compatibility.rs:+2:2: +2:2
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -2,21 +2,21 @@
|
|||
+ // MIR for `not_inlined_target_feature` after Inline
|
||||
|
||||
fn not_inlined_target_feature() -> () {
|
||||
let mut _0: (); // return place in scope 0 at $DIR/inline-compatibility.rs:+0:44: +0:44
|
||||
let _1: (); // in scope 0 at $DIR/inline-compatibility.rs:+1:5: +1:21
|
||||
let mut _0: (); // return place in scope 0 at $DIR/inline_compatibility.rs:+0:44: +0:44
|
||||
let _1: (); // in scope 0 at $DIR/inline_compatibility.rs:+1:5: +1:21
|
||||
|
||||
bb0: {
|
||||
StorageLive(_1); // scope 0 at $DIR/inline-compatibility.rs:+1:5: +1:21
|
||||
_1 = target_feature() -> bb1; // scope 0 at $DIR/inline-compatibility.rs:+1:5: +1:21
|
||||
StorageLive(_1); // scope 0 at $DIR/inline_compatibility.rs:+1:5: +1:21
|
||||
_1 = target_feature() -> bb1; // scope 0 at $DIR/inline_compatibility.rs:+1:5: +1:21
|
||||
// mir::Constant
|
||||
// + span: $DIR/inline-compatibility.rs:18:5: 18:19
|
||||
// + span: $DIR/inline_compatibility.rs:18:5: 18:19
|
||||
// + literal: Const { ty: unsafe fn() {target_feature}, val: Value(<ZST>) }
|
||||
}
|
||||
|
||||
bb1: {
|
||||
StorageDead(_1); // scope 0 at $DIR/inline-compatibility.rs:+1:21: +1:22
|
||||
_0 = const (); // scope 0 at $DIR/inline-compatibility.rs:+0:44: +2:2
|
||||
return; // scope 0 at $DIR/inline-compatibility.rs:+2:2: +2:2
|
||||
StorageDead(_1); // scope 0 at $DIR/inline_compatibility.rs:+1:21: +1:22
|
||||
_0 = const (); // scope 0 at $DIR/inline_compatibility.rs:+0:44: +2:2
|
||||
return; // scope 0 at $DIR/inline_compatibility.rs:+2:2: +2:2
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -2,29 +2,29 @@
|
|||
+ // MIR for `one` after Inline
|
||||
|
||||
fn one() -> () {
|
||||
let mut _0: (); // return place in scope 0 at $DIR/inline-cycle.rs:+0:10: +0:10
|
||||
let _1: (); // in scope 0 at $DIR/inline-cycle.rs:+1:5: +1:24
|
||||
+ scope 1 (inlined <C as Call>::call) { // at $DIR/inline-cycle.rs:14:5: 14:24
|
||||
+ scope 2 (inlined <A<C> as Call>::call) { // at $DIR/inline-cycle.rs:43:9: 43:23
|
||||
+ scope 3 (inlined <B<C> as Call>::call) { // at $DIR/inline-cycle.rs:28:9: 28:31
|
||||
let mut _0: (); // return place in scope 0 at $DIR/inline_cycle.rs:+0:10: +0:10
|
||||
let _1: (); // in scope 0 at $DIR/inline_cycle.rs:+1:5: +1:24
|
||||
+ scope 1 (inlined <C as Call>::call) { // at $DIR/inline_cycle.rs:14:5: 14:24
|
||||
+ scope 2 (inlined <A<C> as Call>::call) { // at $DIR/inline_cycle.rs:43:9: 43:23
|
||||
+ scope 3 (inlined <B<C> as Call>::call) { // at $DIR/inline_cycle.rs:28:9: 28:31
|
||||
+ }
|
||||
+ }
|
||||
+ }
|
||||
|
||||
bb0: {
|
||||
StorageLive(_1); // scope 0 at $DIR/inline-cycle.rs:+1:5: +1:24
|
||||
- _1 = <C as Call>::call() -> bb1; // scope 0 at $DIR/inline-cycle.rs:+1:5: +1:24
|
||||
+ _1 = <C as Call>::call() -> bb1; // scope 3 at $DIR/inline-cycle.rs:36:9: 36:28
|
||||
StorageLive(_1); // scope 0 at $DIR/inline_cycle.rs:+1:5: +1:24
|
||||
- _1 = <C as Call>::call() -> bb1; // scope 0 at $DIR/inline_cycle.rs:+1:5: +1:24
|
||||
+ _1 = <C as Call>::call() -> bb1; // scope 3 at $DIR/inline_cycle.rs:36:9: 36:28
|
||||
// mir::Constant
|
||||
- // + span: $DIR/inline-cycle.rs:14:5: 14:22
|
||||
+ // + span: $DIR/inline-cycle.rs:36:9: 36:26
|
||||
- // + span: $DIR/inline_cycle.rs:14:5: 14:22
|
||||
+ // + span: $DIR/inline_cycle.rs:36:9: 36:26
|
||||
// + literal: Const { ty: fn() {<C as Call>::call}, val: Value(<ZST>) }
|
||||
}
|
||||
|
||||
bb1: {
|
||||
StorageDead(_1); // scope 0 at $DIR/inline-cycle.rs:+1:24: +1:25
|
||||
_0 = const (); // scope 0 at $DIR/inline-cycle.rs:+0:10: +2:2
|
||||
return; // scope 0 at $DIR/inline-cycle.rs:+2:2: +2:2
|
||||
StorageDead(_1); // scope 0 at $DIR/inline_cycle.rs:+1:24: +1:25
|
||||
_0 = const (); // scope 0 at $DIR/inline_cycle.rs:+0:10: +2:2
|
||||
return; // scope 0 at $DIR/inline_cycle.rs:+2:2: +2:2
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -2,54 +2,54 @@
|
|||
+ // MIR for `two` after Inline
|
||||
|
||||
fn two() -> () {
|
||||
let mut _0: (); // return place in scope 0 at $DIR/inline-cycle.rs:+0:10: +0:10
|
||||
let _1: (); // in scope 0 at $DIR/inline-cycle.rs:+1:5: +1:12
|
||||
+ let mut _2: fn() {f}; // in scope 0 at $DIR/inline-cycle.rs:+1:5: +1:12
|
||||
+ scope 1 (inlined call::<fn() {f}>) { // at $DIR/inline-cycle.rs:49:5: 49:12
|
||||
+ debug f => _2; // in scope 1 at $DIR/inline-cycle.rs:53:22: 53:23
|
||||
+ let _3: (); // in scope 1 at $DIR/inline-cycle.rs:54:5: 54:8
|
||||
+ let mut _4: fn() {f}; // in scope 1 at $DIR/inline-cycle.rs:54:5: 54:6
|
||||
+ let mut _5: (); // in scope 1 at $DIR/inline-cycle.rs:54:5: 54:8
|
||||
+ scope 2 (inlined <fn() {f} as FnOnce<()>>::call_once - shim(fn() {f})) { // at $DIR/inline-cycle.rs:54:5: 54:8
|
||||
let mut _0: (); // return place in scope 0 at $DIR/inline_cycle.rs:+0:10: +0:10
|
||||
let _1: (); // in scope 0 at $DIR/inline_cycle.rs:+1:5: +1:12
|
||||
+ let mut _2: fn() {f}; // in scope 0 at $DIR/inline_cycle.rs:+1:5: +1:12
|
||||
+ scope 1 (inlined call::<fn() {f}>) { // at $DIR/inline_cycle.rs:49:5: 49:12
|
||||
+ debug f => _2; // in scope 1 at $DIR/inline_cycle.rs:53:22: 53:23
|
||||
+ let _3: (); // in scope 1 at $DIR/inline_cycle.rs:54:5: 54:8
|
||||
+ let mut _4: fn() {f}; // in scope 1 at $DIR/inline_cycle.rs:54:5: 54:6
|
||||
+ let mut _5: (); // in scope 1 at $DIR/inline_cycle.rs:54:5: 54:8
|
||||
+ scope 2 (inlined <fn() {f} as FnOnce<()>>::call_once - shim(fn() {f})) { // at $DIR/inline_cycle.rs:54:5: 54:8
|
||||
+ scope 3 (inlined f) { // at $SRC_DIR/core/src/ops/function.rs:LL:COL
|
||||
+ let _6: (); // in scope 3 at $DIR/inline-cycle.rs:59:5: 59:12
|
||||
+ let _6: (); // in scope 3 at $DIR/inline_cycle.rs:59:5: 59:12
|
||||
+ }
|
||||
+ }
|
||||
+ }
|
||||
|
||||
bb0: {
|
||||
StorageLive(_1); // scope 0 at $DIR/inline-cycle.rs:+1:5: +1:12
|
||||
- _1 = call::<fn() {f}>(f) -> bb1; // scope 0 at $DIR/inline-cycle.rs:+1:5: +1:12
|
||||
+ StorageLive(_2); // scope 0 at $DIR/inline-cycle.rs:+1:5: +1:12
|
||||
+ _2 = f; // scope 0 at $DIR/inline-cycle.rs:+1:5: +1:12
|
||||
StorageLive(_1); // scope 0 at $DIR/inline_cycle.rs:+1:5: +1:12
|
||||
- _1 = call::<fn() {f}>(f) -> bb1; // scope 0 at $DIR/inline_cycle.rs:+1:5: +1:12
|
||||
+ StorageLive(_2); // scope 0 at $DIR/inline_cycle.rs:+1:5: +1:12
|
||||
+ _2 = f; // scope 0 at $DIR/inline_cycle.rs:+1:5: +1:12
|
||||
// mir::Constant
|
||||
- // + span: $DIR/inline-cycle.rs:49:5: 49:9
|
||||
+ // + span: $DIR/inline-cycle.rs:49:10: 49:11
|
||||
- // + span: $DIR/inline_cycle.rs:49:5: 49:9
|
||||
+ // + span: $DIR/inline_cycle.rs:49:10: 49:11
|
||||
+ // + literal: Const { ty: fn() {f}, val: Value(<ZST>) }
|
||||
+ StorageLive(_3); // scope 1 at $DIR/inline-cycle.rs:54:5: 54:8
|
||||
+ StorageLive(_4); // scope 1 at $DIR/inline-cycle.rs:54:5: 54:6
|
||||
+ _4 = move _2; // scope 1 at $DIR/inline-cycle.rs:54:5: 54:6
|
||||
+ StorageLive(_5); // scope 1 at $DIR/inline-cycle.rs:54:5: 54:8
|
||||
+ StorageLive(_6); // scope 3 at $DIR/inline-cycle.rs:59:5: 59:12
|
||||
+ _6 = call::<fn() {f}>(f) -> bb1; // scope 3 at $DIR/inline-cycle.rs:59:5: 59:12
|
||||
+ StorageLive(_3); // scope 1 at $DIR/inline_cycle.rs:54:5: 54:8
|
||||
+ StorageLive(_4); // scope 1 at $DIR/inline_cycle.rs:54:5: 54:6
|
||||
+ _4 = move _2; // scope 1 at $DIR/inline_cycle.rs:54:5: 54:6
|
||||
+ StorageLive(_5); // scope 1 at $DIR/inline_cycle.rs:54:5: 54:8
|
||||
+ StorageLive(_6); // scope 3 at $DIR/inline_cycle.rs:59:5: 59:12
|
||||
+ _6 = call::<fn() {f}>(f) -> bb1; // scope 3 at $DIR/inline_cycle.rs:59:5: 59:12
|
||||
+ // mir::Constant
|
||||
+ // + span: $DIR/inline-cycle.rs:59:5: 59:9
|
||||
+ // + span: $DIR/inline_cycle.rs:59:5: 59:9
|
||||
// + literal: Const { ty: fn(fn() {f}) {call::<fn() {f}>}, val: Value(<ZST>) }
|
||||
// mir::Constant
|
||||
- // + span: $DIR/inline-cycle.rs:49:10: 49:11
|
||||
+ // + span: $DIR/inline-cycle.rs:59:10: 59:11
|
||||
- // + span: $DIR/inline_cycle.rs:49:10: 49:11
|
||||
+ // + span: $DIR/inline_cycle.rs:59:10: 59:11
|
||||
// + literal: Const { ty: fn() {f}, val: Value(<ZST>) }
|
||||
}
|
||||
|
||||
bb1: {
|
||||
+ StorageDead(_6); // scope 3 at $DIR/inline-cycle.rs:59:12: 59:13
|
||||
+ StorageDead(_5); // scope 1 at $DIR/inline-cycle.rs:54:7: 54:8
|
||||
+ StorageDead(_4); // scope 1 at $DIR/inline-cycle.rs:54:7: 54:8
|
||||
+ StorageDead(_3); // scope 1 at $DIR/inline-cycle.rs:54:8: 54:9
|
||||
+ StorageDead(_2); // scope 0 at $DIR/inline-cycle.rs:+1:5: +1:12
|
||||
StorageDead(_1); // scope 0 at $DIR/inline-cycle.rs:+1:12: +1:13
|
||||
_0 = const (); // scope 0 at $DIR/inline-cycle.rs:+0:10: +2:2
|
||||
return; // scope 0 at $DIR/inline-cycle.rs:+2:2: +2:2
|
||||
+ StorageDead(_6); // scope 3 at $DIR/inline_cycle.rs:59:12: 59:13
|
||||
+ StorageDead(_5); // scope 1 at $DIR/inline_cycle.rs:54:7: 54:8
|
||||
+ StorageDead(_4); // scope 1 at $DIR/inline_cycle.rs:54:7: 54:8
|
||||
+ StorageDead(_3); // scope 1 at $DIR/inline_cycle.rs:54:8: 54:9
|
||||
+ StorageDead(_2); // scope 0 at $DIR/inline_cycle.rs:+1:5: +1:12
|
||||
StorageDead(_1); // scope 0 at $DIR/inline_cycle.rs:+1:12: +1:13
|
||||
_0 = const (); // scope 0 at $DIR/inline_cycle.rs:+0:10: +2:2
|
||||
return; // scope 0 at $DIR/inline_cycle.rs:+2:2: +2:2
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -2,31 +2,31 @@
|
|||
+ // MIR for `main` after Inline
|
||||
|
||||
fn main() -> () {
|
||||
let mut _0: (); // return place in scope 0 at $DIR/inline-cycle-generic.rs:+0:11: +0:11
|
||||
let _1: (); // in scope 0 at $DIR/inline-cycle-generic.rs:+1:5: +1:24
|
||||
+ scope 1 (inlined <C as Call>::call) { // at $DIR/inline-cycle-generic.rs:9:5: 9:24
|
||||
+ scope 2 (inlined <B<A> as Call>::call) { // at $DIR/inline-cycle-generic.rs:38:9: 38:31
|
||||
+ scope 3 (inlined <A as Call>::call) { // at $DIR/inline-cycle-generic.rs:31:9: 31:28
|
||||
+ scope 4 (inlined <B<C> as Call>::call) { // at $DIR/inline-cycle-generic.rs:23:9: 23:31
|
||||
let mut _0: (); // return place in scope 0 at $DIR/inline_cycle_generic.rs:+0:11: +0:11
|
||||
let _1: (); // in scope 0 at $DIR/inline_cycle_generic.rs:+1:5: +1:24
|
||||
+ scope 1 (inlined <C as Call>::call) { // at $DIR/inline_cycle_generic.rs:9:5: 9:24
|
||||
+ scope 2 (inlined <B<A> as Call>::call) { // at $DIR/inline_cycle_generic.rs:38:9: 38:31
|
||||
+ scope 3 (inlined <A as Call>::call) { // at $DIR/inline_cycle_generic.rs:31:9: 31:28
|
||||
+ scope 4 (inlined <B<C> as Call>::call) { // at $DIR/inline_cycle_generic.rs:23:9: 23:31
|
||||
+ }
|
||||
+ }
|
||||
+ }
|
||||
+ }
|
||||
|
||||
bb0: {
|
||||
StorageLive(_1); // scope 0 at $DIR/inline-cycle-generic.rs:+1:5: +1:24
|
||||
- _1 = <C as Call>::call() -> bb1; // scope 0 at $DIR/inline-cycle-generic.rs:+1:5: +1:24
|
||||
+ _1 = <C as Call>::call() -> bb1; // scope 4 at $DIR/inline-cycle-generic.rs:31:9: 31:28
|
||||
StorageLive(_1); // scope 0 at $DIR/inline_cycle_generic.rs:+1:5: +1:24
|
||||
- _1 = <C as Call>::call() -> bb1; // scope 0 at $DIR/inline_cycle_generic.rs:+1:5: +1:24
|
||||
+ _1 = <C as Call>::call() -> bb1; // scope 4 at $DIR/inline_cycle_generic.rs:31:9: 31:28
|
||||
// mir::Constant
|
||||
- // + span: $DIR/inline-cycle-generic.rs:9:5: 9:22
|
||||
+ // + span: $DIR/inline-cycle-generic.rs:31:9: 31:26
|
||||
- // + span: $DIR/inline_cycle_generic.rs:9:5: 9:22
|
||||
+ // + span: $DIR/inline_cycle_generic.rs:31:9: 31:26
|
||||
// + literal: Const { ty: fn() {<C as Call>::call}, val: Value(<ZST>) }
|
||||
}
|
||||
|
||||
bb1: {
|
||||
StorageDead(_1); // scope 0 at $DIR/inline-cycle-generic.rs:+1:24: +1:25
|
||||
_0 = const (); // scope 0 at $DIR/inline-cycle-generic.rs:+0:11: +2:2
|
||||
return; // scope 0 at $DIR/inline-cycle-generic.rs:+2:2: +2:2
|
||||
StorageDead(_1); // scope 0 at $DIR/inline_cycle_generic.rs:+1:24: +1:25
|
||||
_0 = const (); // scope 0 at $DIR/inline_cycle_generic.rs:+0:11: +2:2
|
||||
return; // scope 0 at $DIR/inline_cycle_generic.rs:+2:2: +2:2
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -2,23 +2,23 @@
|
|||
+ // MIR for `f` after Inline
|
||||
|
||||
fn f() -> () {
|
||||
let mut _0: (); // return place in scope 0 at $DIR/inline-diverging.rs:+0:12: +0:12
|
||||
let mut _1: !; // in scope 0 at $DIR/inline-diverging.rs:+0:12: +2:2
|
||||
let _2: !; // in scope 0 at $DIR/inline-diverging.rs:+1:5: +1:12
|
||||
+ scope 1 (inlined sleep) { // at $DIR/inline-diverging.rs:8:5: 8:12
|
||||
let mut _0: (); // return place in scope 0 at $DIR/inline_diverging.rs:+0:12: +0:12
|
||||
let mut _1: !; // in scope 0 at $DIR/inline_diverging.rs:+0:12: +2:2
|
||||
let _2: !; // in scope 0 at $DIR/inline_diverging.rs:+1:5: +1:12
|
||||
+ scope 1 (inlined sleep) { // at $DIR/inline_diverging.rs:8:5: 8:12
|
||||
+ }
|
||||
|
||||
bb0: {
|
||||
StorageLive(_2); // scope 0 at $DIR/inline-diverging.rs:+1:5: +1:12
|
||||
- _2 = sleep(); // scope 0 at $DIR/inline-diverging.rs:+1:5: +1:12
|
||||
StorageLive(_2); // scope 0 at $DIR/inline_diverging.rs:+1:5: +1:12
|
||||
- _2 = sleep(); // scope 0 at $DIR/inline_diverging.rs:+1:5: +1:12
|
||||
- // mir::Constant
|
||||
- // + span: $DIR/inline-diverging.rs:8:5: 8:10
|
||||
- // + span: $DIR/inline_diverging.rs:8:5: 8:10
|
||||
- // + literal: Const { ty: fn() -> ! {sleep}, val: Value(<ZST>) }
|
||||
+ goto -> bb1; // scope 0 at $DIR/inline-diverging.rs:+1:5: +1:12
|
||||
+ goto -> bb1; // scope 0 at $DIR/inline_diverging.rs:+1:5: +1:12
|
||||
+ }
|
||||
+
|
||||
+ bb1: {
|
||||
+ goto -> bb1; // scope 1 at $DIR/inline-diverging.rs:39:5: 39:12
|
||||
+ goto -> bb1; // scope 1 at $DIR/inline_diverging.rs:39:5: 39:12
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -2,42 +2,42 @@
|
|||
+ // MIR for `g` after Inline
|
||||
|
||||
fn g(_1: i32) -> u32 {
|
||||
debug i => _1; // in scope 0 at $DIR/inline-diverging.rs:+0:10: +0:11
|
||||
let mut _0: u32; // return place in scope 0 at $DIR/inline-diverging.rs:+0:21: +0:24
|
||||
let mut _2: bool; // in scope 0 at $DIR/inline-diverging.rs:+1:8: +1:13
|
||||
let mut _3: i32; // in scope 0 at $DIR/inline-diverging.rs:+1:8: +1:9
|
||||
let mut _4: i32; // in scope 0 at $DIR/inline-diverging.rs:+2:9: +2:10
|
||||
let mut _5: !; // in scope 0 at $DIR/inline-diverging.rs:+3:12: +5:6
|
||||
let _6: !; // in scope 0 at $DIR/inline-diverging.rs:+4:9: +4:16
|
||||
+ scope 1 (inlined panic) { // at $DIR/inline-diverging.rs:16:9: 16:16
|
||||
debug i => _1; // in scope 0 at $DIR/inline_diverging.rs:+0:10: +0:11
|
||||
let mut _0: u32; // return place in scope 0 at $DIR/inline_diverging.rs:+0:21: +0:24
|
||||
let mut _2: bool; // in scope 0 at $DIR/inline_diverging.rs:+1:8: +1:13
|
||||
let mut _3: i32; // in scope 0 at $DIR/inline_diverging.rs:+1:8: +1:9
|
||||
let mut _4: i32; // in scope 0 at $DIR/inline_diverging.rs:+2:9: +2:10
|
||||
let mut _5: !; // in scope 0 at $DIR/inline_diverging.rs:+3:12: +5:6
|
||||
let _6: !; // in scope 0 at $DIR/inline_diverging.rs:+4:9: +4:16
|
||||
+ scope 1 (inlined panic) { // at $DIR/inline_diverging.rs:16:9: 16:16
|
||||
+ let mut _7: !; // in scope 1 at $SRC_DIR/std/src/panic.rs:LL:COL
|
||||
+ }
|
||||
|
||||
bb0: {
|
||||
StorageLive(_2); // scope 0 at $DIR/inline-diverging.rs:+1:8: +1:13
|
||||
StorageLive(_3); // scope 0 at $DIR/inline-diverging.rs:+1:8: +1:9
|
||||
_3 = _1; // scope 0 at $DIR/inline-diverging.rs:+1:8: +1:9
|
||||
_2 = Gt(move _3, const 0_i32); // scope 0 at $DIR/inline-diverging.rs:+1:8: +1:13
|
||||
StorageDead(_3); // scope 0 at $DIR/inline-diverging.rs:+1:12: +1:13
|
||||
switchInt(move _2) -> [false: bb2, otherwise: bb1]; // scope 0 at $DIR/inline-diverging.rs:+1:8: +1:13
|
||||
StorageLive(_2); // scope 0 at $DIR/inline_diverging.rs:+1:8: +1:13
|
||||
StorageLive(_3); // scope 0 at $DIR/inline_diverging.rs:+1:8: +1:9
|
||||
_3 = _1; // scope 0 at $DIR/inline_diverging.rs:+1:8: +1:9
|
||||
_2 = Gt(move _3, const 0_i32); // scope 0 at $DIR/inline_diverging.rs:+1:8: +1:13
|
||||
StorageDead(_3); // scope 0 at $DIR/inline_diverging.rs:+1:12: +1:13
|
||||
switchInt(move _2) -> [false: bb2, otherwise: bb1]; // scope 0 at $DIR/inline_diverging.rs:+1:8: +1:13
|
||||
}
|
||||
|
||||
bb1: {
|
||||
StorageLive(_4); // scope 0 at $DIR/inline-diverging.rs:+2:9: +2:10
|
||||
_4 = _1; // scope 0 at $DIR/inline-diverging.rs:+2:9: +2:10
|
||||
_0 = move _4 as u32 (IntToInt); // scope 0 at $DIR/inline-diverging.rs:+2:9: +2:17
|
||||
StorageDead(_4); // scope 0 at $DIR/inline-diverging.rs:+2:16: +2:17
|
||||
StorageDead(_2); // scope 0 at $DIR/inline-diverging.rs:+5:5: +5:6
|
||||
return; // scope 0 at $DIR/inline-diverging.rs:+6:2: +6:2
|
||||
StorageLive(_4); // scope 0 at $DIR/inline_diverging.rs:+2:9: +2:10
|
||||
_4 = _1; // scope 0 at $DIR/inline_diverging.rs:+2:9: +2:10
|
||||
_0 = move _4 as u32 (IntToInt); // scope 0 at $DIR/inline_diverging.rs:+2:9: +2:17
|
||||
StorageDead(_4); // scope 0 at $DIR/inline_diverging.rs:+2:16: +2:17
|
||||
StorageDead(_2); // scope 0 at $DIR/inline_diverging.rs:+5:5: +5:6
|
||||
return; // scope 0 at $DIR/inline_diverging.rs:+6:2: +6:2
|
||||
}
|
||||
|
||||
bb2: {
|
||||
StorageLive(_6); // scope 0 at $DIR/inline-diverging.rs:+4:9: +4:16
|
||||
- _6 = panic(); // scope 0 at $DIR/inline-diverging.rs:+4:9: +4:16
|
||||
StorageLive(_6); // scope 0 at $DIR/inline_diverging.rs:+4:9: +4:16
|
||||
- _6 = panic(); // scope 0 at $DIR/inline_diverging.rs:+4:9: +4:16
|
||||
+ StorageLive(_7); // scope 1 at $SRC_DIR/std/src/panic.rs:LL:COL
|
||||
+ _7 = begin_panic::<&str>(const "explicit panic"); // scope 1 at $SRC_DIR/std/src/panic.rs:LL:COL
|
||||
// mir::Constant
|
||||
- // + span: $DIR/inline-diverging.rs:16:9: 16:14
|
||||
- // + span: $DIR/inline_diverging.rs:16:9: 16:14
|
||||
- // + literal: Const { ty: fn() -> ! {panic}, val: Value(<ZST>) }
|
||||
+ // + span: $SRC_DIR/std/src/panic.rs:LL:COL
|
||||
+ // + literal: Const { ty: fn(&str) -> ! {begin_panic::<&str>}, val: Value(<ZST>) }
|
||||
|
|
|
@ -2,55 +2,55 @@
|
|||
+ // MIR for `h` after Inline
|
||||
|
||||
fn h() -> () {
|
||||
let mut _0: (); // return place in scope 0 at $DIR/inline-diverging.rs:+0:12: +0:12
|
||||
let _1: (!, !); // in scope 0 at $DIR/inline-diverging.rs:+1:5: +1:22
|
||||
+ let mut _2: fn() -> ! {sleep}; // in scope 0 at $DIR/inline-diverging.rs:+1:5: +1:22
|
||||
+ scope 1 (inlined call_twice::<!, fn() -> ! {sleep}>) { // at $DIR/inline-diverging.rs:22:5: 22:22
|
||||
+ debug f => _2; // in scope 1 at $DIR/inline-diverging.rs:26:36: 26:37
|
||||
+ let _3: !; // in scope 1 at $DIR/inline-diverging.rs:27:9: 27:10
|
||||
+ let mut _4: &fn() -> ! {sleep}; // in scope 1 at $DIR/inline-diverging.rs:27:13: 27:14
|
||||
+ let mut _5: (); // in scope 1 at $DIR/inline-diverging.rs:27:13: 27:16
|
||||
+ let mut _7: &fn() -> ! {sleep}; // in scope 1 at $DIR/inline-diverging.rs:28:13: 28:14
|
||||
+ let mut _8: (); // in scope 1 at $DIR/inline-diverging.rs:28:13: 28:16
|
||||
+ let mut _9: !; // in scope 1 at $DIR/inline-diverging.rs:29:6: 29:7
|
||||
+ let mut _10: !; // in scope 1 at $DIR/inline-diverging.rs:29:9: 29:10
|
||||
let mut _0: (); // return place in scope 0 at $DIR/inline_diverging.rs:+0:12: +0:12
|
||||
let _1: (!, !); // in scope 0 at $DIR/inline_diverging.rs:+1:5: +1:22
|
||||
+ let mut _2: fn() -> ! {sleep}; // in scope 0 at $DIR/inline_diverging.rs:+1:5: +1:22
|
||||
+ scope 1 (inlined call_twice::<!, fn() -> ! {sleep}>) { // at $DIR/inline_diverging.rs:22:5: 22:22
|
||||
+ debug f => _2; // in scope 1 at $DIR/inline_diverging.rs:26:36: 26:37
|
||||
+ let _3: !; // in scope 1 at $DIR/inline_diverging.rs:27:9: 27:10
|
||||
+ let mut _4: &fn() -> ! {sleep}; // in scope 1 at $DIR/inline_diverging.rs:27:13: 27:14
|
||||
+ let mut _5: (); // in scope 1 at $DIR/inline_diverging.rs:27:13: 27:16
|
||||
+ let mut _7: &fn() -> ! {sleep}; // in scope 1 at $DIR/inline_diverging.rs:28:13: 28:14
|
||||
+ let mut _8: (); // in scope 1 at $DIR/inline_diverging.rs:28:13: 28:16
|
||||
+ let mut _9: !; // in scope 1 at $DIR/inline_diverging.rs:29:6: 29:7
|
||||
+ let mut _10: !; // in scope 1 at $DIR/inline_diverging.rs:29:9: 29:10
|
||||
+ scope 2 {
|
||||
+ debug a => _3; // in scope 2 at $DIR/inline-diverging.rs:27:9: 27:10
|
||||
+ let _6: !; // in scope 2 at $DIR/inline-diverging.rs:28:9: 28:10
|
||||
+ debug a => _3; // in scope 2 at $DIR/inline_diverging.rs:27:9: 27:10
|
||||
+ let _6: !; // in scope 2 at $DIR/inline_diverging.rs:28:9: 28:10
|
||||
+ scope 3 {
|
||||
+ debug b => _6; // in scope 3 at $DIR/inline-diverging.rs:28:9: 28:10
|
||||
+ debug b => _6; // in scope 3 at $DIR/inline_diverging.rs:28:9: 28:10
|
||||
+ }
|
||||
+ scope 6 (inlined <fn() -> ! {sleep} as Fn<()>>::call - shim(fn() -> ! {sleep})) { // at $DIR/inline-diverging.rs:28:13: 28:16
|
||||
+ scope 6 (inlined <fn() -> ! {sleep} as Fn<()>>::call - shim(fn() -> ! {sleep})) { // at $DIR/inline_diverging.rs:28:13: 28:16
|
||||
+ scope 7 (inlined sleep) { // at $SRC_DIR/core/src/ops/function.rs:LL:COL
|
||||
+ }
|
||||
+ }
|
||||
+ }
|
||||
+ scope 4 (inlined <fn() -> ! {sleep} as Fn<()>>::call - shim(fn() -> ! {sleep})) { // at $DIR/inline-diverging.rs:27:13: 27:16
|
||||
+ scope 4 (inlined <fn() -> ! {sleep} as Fn<()>>::call - shim(fn() -> ! {sleep})) { // at $DIR/inline_diverging.rs:27:13: 27:16
|
||||
+ scope 5 (inlined sleep) { // at $SRC_DIR/core/src/ops/function.rs:LL:COL
|
||||
+ }
|
||||
+ }
|
||||
+ }
|
||||
|
||||
bb0: {
|
||||
StorageLive(_1); // scope 0 at $DIR/inline-diverging.rs:+1:5: +1:22
|
||||
- _1 = call_twice::<!, fn() -> ! {sleep}>(sleep); // scope 0 at $DIR/inline-diverging.rs:+1:5: +1:22
|
||||
+ StorageLive(_2); // scope 0 at $DIR/inline-diverging.rs:+1:5: +1:22
|
||||
+ _2 = sleep; // scope 0 at $DIR/inline-diverging.rs:+1:5: +1:22
|
||||
StorageLive(_1); // scope 0 at $DIR/inline_diverging.rs:+1:5: +1:22
|
||||
- _1 = call_twice::<!, fn() -> ! {sleep}>(sleep); // scope 0 at $DIR/inline_diverging.rs:+1:5: +1:22
|
||||
+ StorageLive(_2); // scope 0 at $DIR/inline_diverging.rs:+1:5: +1:22
|
||||
+ _2 = sleep; // scope 0 at $DIR/inline_diverging.rs:+1:5: +1:22
|
||||
// mir::Constant
|
||||
- // + span: $DIR/inline-diverging.rs:22:5: 22:15
|
||||
- // + span: $DIR/inline_diverging.rs:22:5: 22:15
|
||||
- // + literal: Const { ty: fn(fn() -> ! {sleep}) -> (!, !) {call_twice::<!, fn() -> ! {sleep}>}, val: Value(<ZST>) }
|
||||
- // mir::Constant
|
||||
// + span: $DIR/inline-diverging.rs:22:16: 22:21
|
||||
// + span: $DIR/inline_diverging.rs:22:16: 22:21
|
||||
// + literal: Const { ty: fn() -> ! {sleep}, val: Value(<ZST>) }
|
||||
+ StorageLive(_3); // scope 1 at $DIR/inline-diverging.rs:27:9: 27:10
|
||||
+ StorageLive(_4); // scope 1 at $DIR/inline-diverging.rs:27:13: 27:14
|
||||
+ _4 = &_2; // scope 1 at $DIR/inline-diverging.rs:27:13: 27:14
|
||||
+ StorageLive(_5); // scope 1 at $DIR/inline-diverging.rs:27:13: 27:16
|
||||
+ goto -> bb1; // scope 5 at $DIR/inline-diverging.rs:39:5: 39:12
|
||||
+ StorageLive(_3); // scope 1 at $DIR/inline_diverging.rs:27:9: 27:10
|
||||
+ StorageLive(_4); // scope 1 at $DIR/inline_diverging.rs:27:13: 27:14
|
||||
+ _4 = &_2; // scope 1 at $DIR/inline_diverging.rs:27:13: 27:14
|
||||
+ StorageLive(_5); // scope 1 at $DIR/inline_diverging.rs:27:13: 27:16
|
||||
+ goto -> bb1; // scope 5 at $DIR/inline_diverging.rs:39:5: 39:12
|
||||
+ }
|
||||
+
|
||||
+ bb1: {
|
||||
+ goto -> bb1; // scope 5 at $DIR/inline-diverging.rs:39:5: 39:12
|
||||
+ goto -> bb1; // scope 5 at $DIR/inline_diverging.rs:39:5: 39:12
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -2,59 +2,59 @@
|
|||
+ // MIR for `main` after Inline
|
||||
|
||||
fn main() -> () {
|
||||
let mut _0: (); // return place in scope 0 at $DIR/inline-generator.rs:+0:11: +0:11
|
||||
let _1: std::ops::GeneratorState<i32, bool>; // in scope 0 at $DIR/inline-generator.rs:+1:9: +1:11
|
||||
let mut _2: std::pin::Pin<&mut [generator@$DIR/inline-generator.rs:15:5: 15:8]>; // in scope 0 at $DIR/inline-generator.rs:+1:14: +1:32
|
||||
let mut _3: &mut [generator@$DIR/inline-generator.rs:15:5: 15:8]; // in scope 0 at $DIR/inline-generator.rs:+1:23: +1:31
|
||||
let mut _4: [generator@$DIR/inline-generator.rs:15:5: 15:8]; // in scope 0 at $DIR/inline-generator.rs:+1:28: +1:31
|
||||
+ let mut _7: bool; // in scope 0 at $DIR/inline-generator.rs:+1:14: +1:46
|
||||
let mut _0: (); // return place in scope 0 at $DIR/inline_generator.rs:+0:11: +0:11
|
||||
let _1: std::ops::GeneratorState<i32, bool>; // in scope 0 at $DIR/inline_generator.rs:+1:9: +1:11
|
||||
let mut _2: std::pin::Pin<&mut [generator@$DIR/inline_generator.rs:15:5: 15:8]>; // in scope 0 at $DIR/inline_generator.rs:+1:14: +1:32
|
||||
let mut _3: &mut [generator@$DIR/inline_generator.rs:15:5: 15:8]; // in scope 0 at $DIR/inline_generator.rs:+1:23: +1:31
|
||||
let mut _4: [generator@$DIR/inline_generator.rs:15:5: 15:8]; // in scope 0 at $DIR/inline_generator.rs:+1:28: +1:31
|
||||
+ let mut _7: bool; // in scope 0 at $DIR/inline_generator.rs:+1:14: +1:46
|
||||
scope 1 {
|
||||
debug _r => _1; // in scope 1 at $DIR/inline-generator.rs:+1:9: +1:11
|
||||
debug _r => _1; // in scope 1 at $DIR/inline_generator.rs:+1:9: +1:11
|
||||
}
|
||||
+ scope 2 (inlined g) { // at $DIR/inline-generator.rs:9:28: 9:31
|
||||
+ scope 2 (inlined g) { // at $DIR/inline_generator.rs:9:28: 9:31
|
||||
+ }
|
||||
+ scope 3 (inlined Pin::<&mut [generator@$DIR/inline-generator.rs:15:5: 15:8]>::new) { // at $DIR/inline-generator.rs:9:14: 9:32
|
||||
+ scope 3 (inlined Pin::<&mut [generator@$DIR/inline_generator.rs:15:5: 15:8]>::new) { // at $DIR/inline_generator.rs:9:14: 9:32
|
||||
+ debug pointer => _3; // in scope 3 at $SRC_DIR/core/src/pin.rs:LL:COL
|
||||
+ let mut _5: &mut [generator@$DIR/inline-generator.rs:15:5: 15:8]; // in scope 3 at $SRC_DIR/core/src/pin.rs:LL:COL
|
||||
+ let mut _5: &mut [generator@$DIR/inline_generator.rs:15:5: 15:8]; // in scope 3 at $SRC_DIR/core/src/pin.rs:LL:COL
|
||||
+ scope 4 {
|
||||
+ scope 5 (inlined Pin::<&mut [generator@$DIR/inline-generator.rs:15:5: 15:8]>::new_unchecked) { // at $SRC_DIR/core/src/pin.rs:LL:COL
|
||||
+ scope 5 (inlined Pin::<&mut [generator@$DIR/inline_generator.rs:15:5: 15:8]>::new_unchecked) { // at $SRC_DIR/core/src/pin.rs:LL:COL
|
||||
+ debug pointer => _5; // in scope 5 at $SRC_DIR/core/src/pin.rs:LL:COL
|
||||
+ let mut _6: &mut [generator@$DIR/inline-generator.rs:15:5: 15:8]; // in scope 5 at $SRC_DIR/core/src/pin.rs:LL:COL
|
||||
+ let mut _6: &mut [generator@$DIR/inline_generator.rs:15:5: 15:8]; // in scope 5 at $SRC_DIR/core/src/pin.rs:LL:COL
|
||||
+ }
|
||||
+ }
|
||||
+ }
|
||||
+ scope 6 (inlined g::{closure#0}) { // at $DIR/inline-generator.rs:9:14: 9:46
|
||||
+ debug a => _11; // in scope 6 at $DIR/inline-generator.rs:15:6: 15:7
|
||||
+ let mut _8: i32; // in scope 6 at $DIR/inline-generator.rs:15:17: 15:39
|
||||
+ let mut _9: bool; // in scope 6 at $DIR/inline-generator.rs:15:20: 15:21
|
||||
+ let mut _10: bool; // in scope 6 at $DIR/inline-generator.rs:15:9: 15:9
|
||||
+ let _11: bool; // in scope 6 at $DIR/inline-generator.rs:15:6: 15:7
|
||||
+ let mut _12: u32; // in scope 6 at $DIR/inline-generator.rs:15:5: 15:41
|
||||
+ let mut _13: &mut [generator@$DIR/inline-generator.rs:15:5: 15:8]; // in scope 6 at $DIR/inline-generator.rs:15:5: 15:41
|
||||
+ let mut _14: &mut [generator@$DIR/inline-generator.rs:15:5: 15:8]; // in scope 6 at $DIR/inline-generator.rs:15:5: 15:41
|
||||
+ let mut _15: &mut [generator@$DIR/inline-generator.rs:15:5: 15:8]; // in scope 6 at $DIR/inline-generator.rs:15:5: 15:41
|
||||
+ scope 6 (inlined g::{closure#0}) { // at $DIR/inline_generator.rs:9:14: 9:46
|
||||
+ debug a => _11; // in scope 6 at $DIR/inline_generator.rs:15:6: 15:7
|
||||
+ let mut _8: i32; // in scope 6 at $DIR/inline_generator.rs:15:17: 15:39
|
||||
+ let mut _9: bool; // in scope 6 at $DIR/inline_generator.rs:15:20: 15:21
|
||||
+ let mut _10: bool; // in scope 6 at $DIR/inline_generator.rs:15:9: 15:9
|
||||
+ let _11: bool; // in scope 6 at $DIR/inline_generator.rs:15:6: 15:7
|
||||
+ let mut _12: u32; // in scope 6 at $DIR/inline_generator.rs:15:5: 15:41
|
||||
+ let mut _13: &mut [generator@$DIR/inline_generator.rs:15:5: 15:8]; // in scope 6 at $DIR/inline_generator.rs:15:5: 15:41
|
||||
+ let mut _14: &mut [generator@$DIR/inline_generator.rs:15:5: 15:8]; // in scope 6 at $DIR/inline_generator.rs:15:5: 15:41
|
||||
+ let mut _15: &mut [generator@$DIR/inline_generator.rs:15:5: 15:8]; // in scope 6 at $DIR/inline_generator.rs:15:5: 15:41
|
||||
+ }
|
||||
|
||||
bb0: {
|
||||
StorageLive(_1); // scope 0 at $DIR/inline-generator.rs:+1:9: +1:11
|
||||
StorageLive(_2); // scope 0 at $DIR/inline-generator.rs:+1:14: +1:32
|
||||
StorageLive(_3); // scope 0 at $DIR/inline-generator.rs:+1:23: +1:31
|
||||
StorageLive(_4); // scope 0 at $DIR/inline-generator.rs:+1:28: +1:31
|
||||
- _4 = g() -> bb1; // scope 0 at $DIR/inline-generator.rs:+1:28: +1:31
|
||||
StorageLive(_1); // scope 0 at $DIR/inline_generator.rs:+1:9: +1:11
|
||||
StorageLive(_2); // scope 0 at $DIR/inline_generator.rs:+1:14: +1:32
|
||||
StorageLive(_3); // scope 0 at $DIR/inline_generator.rs:+1:23: +1:31
|
||||
StorageLive(_4); // scope 0 at $DIR/inline_generator.rs:+1:28: +1:31
|
||||
- _4 = g() -> bb1; // scope 0 at $DIR/inline_generator.rs:+1:28: +1:31
|
||||
- // mir::Constant
|
||||
- // + span: $DIR/inline-generator.rs:9:28: 9:29
|
||||
- // + span: $DIR/inline_generator.rs:9:28: 9:29
|
||||
- // + literal: Const { ty: fn() -> impl Generator<bool> {g}, val: Value(<ZST>) }
|
||||
- }
|
||||
-
|
||||
- bb1: {
|
||||
+ Deinit(_4); // scope 2 at $DIR/inline-generator.rs:15:5: 15:41
|
||||
+ discriminant(_4) = 0; // scope 2 at $DIR/inline-generator.rs:15:5: 15:41
|
||||
_3 = &mut _4; // scope 0 at $DIR/inline-generator.rs:+1:23: +1:31
|
||||
- _2 = Pin::<&mut [generator@$DIR/inline-generator.rs:15:5: 15:8]>::new(move _3) -> [return: bb2, unwind: bb4]; // scope 0 at $DIR/inline-generator.rs:+1:14: +1:32
|
||||
+ Deinit(_4); // scope 2 at $DIR/inline_generator.rs:15:5: 15:41
|
||||
+ discriminant(_4) = 0; // scope 2 at $DIR/inline_generator.rs:15:5: 15:41
|
||||
_3 = &mut _4; // scope 0 at $DIR/inline_generator.rs:+1:23: +1:31
|
||||
- _2 = Pin::<&mut [generator@$DIR/inline_generator.rs:15:5: 15:8]>::new(move _3) -> [return: bb2, unwind: bb4]; // scope 0 at $DIR/inline_generator.rs:+1:14: +1:32
|
||||
- // mir::Constant
|
||||
- // + span: $DIR/inline-generator.rs:9:14: 9:22
|
||||
- // + span: $DIR/inline_generator.rs:9:14: 9:22
|
||||
- // + user_ty: UserType(0)
|
||||
- // + literal: Const { ty: fn(&mut [generator@$DIR/inline-generator.rs:15:5: 15:8]) -> Pin<&mut [generator@$DIR/inline-generator.rs:15:5: 15:8]> {Pin::<&mut [generator@$DIR/inline-generator.rs:15:5: 15:8]>::new}, val: Value(<ZST>) }
|
||||
- // + literal: Const { ty: fn(&mut [generator@$DIR/inline_generator.rs:15:5: 15:8]) -> Pin<&mut [generator@$DIR/inline_generator.rs:15:5: 15:8]> {Pin::<&mut [generator@$DIR/inline_generator.rs:15:5: 15:8]>::new}, val: Value(<ZST>) }
|
||||
- }
|
||||
-
|
||||
- bb2: {
|
||||
|
@ -63,86 +63,86 @@
|
|||
+ StorageLive(_6); // scope 5 at $SRC_DIR/core/src/pin.rs:LL:COL
|
||||
+ _6 = move _5; // scope 5 at $SRC_DIR/core/src/pin.rs:LL:COL
|
||||
+ Deinit(_2); // scope 5 at $SRC_DIR/core/src/pin.rs:LL:COL
|
||||
+ (_2.0: &mut [generator@$DIR/inline-generator.rs:15:5: 15:8]) = move _6; // scope 5 at $SRC_DIR/core/src/pin.rs:LL:COL
|
||||
+ (_2.0: &mut [generator@$DIR/inline_generator.rs:15:5: 15:8]) = move _6; // scope 5 at $SRC_DIR/core/src/pin.rs:LL:COL
|
||||
+ StorageDead(_6); // scope 5 at $SRC_DIR/core/src/pin.rs:LL:COL
|
||||
+ StorageDead(_5); // scope 4 at $SRC_DIR/core/src/pin.rs:LL:COL
|
||||
StorageDead(_3); // scope 0 at $DIR/inline-generator.rs:+1:31: +1:32
|
||||
- _1 = <[generator@$DIR/inline-generator.rs:15:5: 15:8] as Generator<bool>>::resume(move _2, const false) -> [return: bb3, unwind: bb4]; // scope 0 at $DIR/inline-generator.rs:+1:14: +1:46
|
||||
StorageDead(_3); // scope 0 at $DIR/inline_generator.rs:+1:31: +1:32
|
||||
- _1 = <[generator@$DIR/inline_generator.rs:15:5: 15:8] as Generator<bool>>::resume(move _2, const false) -> [return: bb3, unwind: bb4]; // scope 0 at $DIR/inline_generator.rs:+1:14: +1:46
|
||||
- // mir::Constant
|
||||
- // + span: $DIR/inline-generator.rs:9:33: 9:39
|
||||
- // + literal: Const { ty: for<'a> fn(Pin<&'a mut [generator@$DIR/inline-generator.rs:15:5: 15:8]>, bool) -> GeneratorState<<[generator@$DIR/inline-generator.rs:15:5: 15:8] as Generator<bool>>::Yield, <[generator@$DIR/inline-generator.rs:15:5: 15:8] as Generator<bool>>::Return> {<[generator@$DIR/inline-generator.rs:15:5: 15:8] as Generator<bool>>::resume}, val: Value(<ZST>) }
|
||||
+ StorageLive(_7); // scope 0 at $DIR/inline-generator.rs:+1:14: +1:46
|
||||
+ _7 = const false; // scope 0 at $DIR/inline-generator.rs:+1:14: +1:46
|
||||
+ StorageLive(_10); // scope 0 at $DIR/inline-generator.rs:+1:14: +1:46
|
||||
+ StorageLive(_11); // scope 0 at $DIR/inline-generator.rs:+1:14: +1:46
|
||||
+ _13 = deref_copy (_2.0: &mut [generator@$DIR/inline-generator.rs:15:5: 15:8]); // scope 6 at $DIR/inline-generator.rs:15:5: 15:41
|
||||
+ _12 = discriminant((*_13)); // scope 6 at $DIR/inline-generator.rs:15:5: 15:41
|
||||
+ switchInt(move _12) -> [0_u32: bb3, 1_u32: bb8, 3_u32: bb7, otherwise: bb9]; // scope 6 at $DIR/inline-generator.rs:15:5: 15:41
|
||||
- // + span: $DIR/inline_generator.rs:9:33: 9:39
|
||||
- // + literal: Const { ty: for<'a> fn(Pin<&'a mut [generator@$DIR/inline_generator.rs:15:5: 15:8]>, bool) -> GeneratorState<<[generator@$DIR/inline_generator.rs:15:5: 15:8] as Generator<bool>>::Yield, <[generator@$DIR/inline_generator.rs:15:5: 15:8] as Generator<bool>>::Return> {<[generator@$DIR/inline_generator.rs:15:5: 15:8] as Generator<bool>>::resume}, val: Value(<ZST>) }
|
||||
+ StorageLive(_7); // scope 0 at $DIR/inline_generator.rs:+1:14: +1:46
|
||||
+ _7 = const false; // scope 0 at $DIR/inline_generator.rs:+1:14: +1:46
|
||||
+ StorageLive(_10); // scope 0 at $DIR/inline_generator.rs:+1:14: +1:46
|
||||
+ StorageLive(_11); // scope 0 at $DIR/inline_generator.rs:+1:14: +1:46
|
||||
+ _13 = deref_copy (_2.0: &mut [generator@$DIR/inline_generator.rs:15:5: 15:8]); // scope 6 at $DIR/inline_generator.rs:15:5: 15:41
|
||||
+ _12 = discriminant((*_13)); // scope 6 at $DIR/inline_generator.rs:15:5: 15:41
|
||||
+ switchInt(move _12) -> [0_u32: bb3, 1_u32: bb8, 3_u32: bb7, otherwise: bb9]; // scope 6 at $DIR/inline_generator.rs:15:5: 15:41
|
||||
}
|
||||
|
||||
- bb3: {
|
||||
+ bb1: {
|
||||
+ StorageDead(_11); // scope 0 at $DIR/inline-generator.rs:+1:14: +1:46
|
||||
+ StorageDead(_10); // scope 0 at $DIR/inline-generator.rs:+1:14: +1:46
|
||||
+ StorageDead(_7); // scope 0 at $DIR/inline-generator.rs:+1:14: +1:46
|
||||
StorageDead(_2); // scope 0 at $DIR/inline-generator.rs:+1:45: +1:46
|
||||
StorageDead(_4); // scope 0 at $DIR/inline-generator.rs:+1:46: +1:47
|
||||
_0 = const (); // scope 0 at $DIR/inline-generator.rs:+0:11: +2:2
|
||||
StorageDead(_1); // scope 0 at $DIR/inline-generator.rs:+2:1: +2:2
|
||||
return; // scope 0 at $DIR/inline-generator.rs:+2:2: +2:2
|
||||
+ StorageDead(_11); // scope 0 at $DIR/inline_generator.rs:+1:14: +1:46
|
||||
+ StorageDead(_10); // scope 0 at $DIR/inline_generator.rs:+1:14: +1:46
|
||||
+ StorageDead(_7); // scope 0 at $DIR/inline_generator.rs:+1:14: +1:46
|
||||
StorageDead(_2); // scope 0 at $DIR/inline_generator.rs:+1:45: +1:46
|
||||
StorageDead(_4); // scope 0 at $DIR/inline_generator.rs:+1:46: +1:47
|
||||
_0 = const (); // scope 0 at $DIR/inline_generator.rs:+0:11: +2:2
|
||||
StorageDead(_1); // scope 0 at $DIR/inline_generator.rs:+2:1: +2:2
|
||||
return; // scope 0 at $DIR/inline_generator.rs:+2:2: +2:2
|
||||
}
|
||||
|
||||
- bb4 (cleanup): {
|
||||
+ bb2 (cleanup): {
|
||||
resume; // scope 0 at $DIR/inline-generator.rs:+0:1: +2:2
|
||||
resume; // scope 0 at $DIR/inline_generator.rs:+0:1: +2:2
|
||||
+ }
|
||||
+
|
||||
+ bb3: {
|
||||
+ _11 = move _7; // scope 6 at $DIR/inline-generator.rs:15:5: 15:41
|
||||
+ StorageLive(_8); // scope 6 at $DIR/inline-generator.rs:15:17: 15:39
|
||||
+ StorageLive(_9); // scope 6 at $DIR/inline-generator.rs:15:20: 15:21
|
||||
+ _9 = _11; // scope 6 at $DIR/inline-generator.rs:15:20: 15:21
|
||||
+ switchInt(move _9) -> [false: bb5, otherwise: bb4]; // scope 6 at $DIR/inline-generator.rs:15:20: 15:21
|
||||
+ _11 = move _7; // scope 6 at $DIR/inline_generator.rs:15:5: 15:41
|
||||
+ StorageLive(_8); // scope 6 at $DIR/inline_generator.rs:15:17: 15:39
|
||||
+ StorageLive(_9); // scope 6 at $DIR/inline_generator.rs:15:20: 15:21
|
||||
+ _9 = _11; // scope 6 at $DIR/inline_generator.rs:15:20: 15:21
|
||||
+ switchInt(move _9) -> [false: bb5, otherwise: bb4]; // scope 6 at $DIR/inline_generator.rs:15:20: 15:21
|
||||
+ }
|
||||
+
|
||||
+ bb4: {
|
||||
+ _8 = const 7_i32; // scope 6 at $DIR/inline-generator.rs:15:24: 15:25
|
||||
+ goto -> bb6; // scope 6 at $DIR/inline-generator.rs:15:17: 15:39
|
||||
+ _8 = const 7_i32; // scope 6 at $DIR/inline_generator.rs:15:24: 15:25
|
||||
+ goto -> bb6; // scope 6 at $DIR/inline_generator.rs:15:17: 15:39
|
||||
+ }
|
||||
+
|
||||
+ bb5: {
|
||||
+ _8 = const 13_i32; // scope 6 at $DIR/inline-generator.rs:15:35: 15:37
|
||||
+ goto -> bb6; // scope 6 at $DIR/inline-generator.rs:15:17: 15:39
|
||||
+ _8 = const 13_i32; // scope 6 at $DIR/inline_generator.rs:15:35: 15:37
|
||||
+ goto -> bb6; // scope 6 at $DIR/inline_generator.rs:15:17: 15:39
|
||||
+ }
|
||||
+
|
||||
+ bb6: {
|
||||
+ StorageDead(_9); // scope 6 at $DIR/inline-generator.rs:15:38: 15:39
|
||||
+ Deinit(_1); // scope 6 at $DIR/inline-generator.rs:15:11: 15:39
|
||||
+ ((_1 as Yielded).0: i32) = move _8; // scope 6 at $DIR/inline-generator.rs:15:11: 15:39
|
||||
+ discriminant(_1) = 0; // scope 6 at $DIR/inline-generator.rs:15:11: 15:39
|
||||
+ _14 = deref_copy (_2.0: &mut [generator@$DIR/inline-generator.rs:15:5: 15:8]); // scope 6 at $DIR/inline-generator.rs:15:11: 15:39
|
||||
+ discriminant((*_14)) = 3; // scope 6 at $DIR/inline-generator.rs:15:11: 15:39
|
||||
+ goto -> bb1; // scope 0 at $DIR/inline-generator.rs:15:11: 15:39
|
||||
+ StorageDead(_9); // scope 6 at $DIR/inline_generator.rs:15:38: 15:39
|
||||
+ Deinit(_1); // scope 6 at $DIR/inline_generator.rs:15:11: 15:39
|
||||
+ ((_1 as Yielded).0: i32) = move _8; // scope 6 at $DIR/inline_generator.rs:15:11: 15:39
|
||||
+ discriminant(_1) = 0; // scope 6 at $DIR/inline_generator.rs:15:11: 15:39
|
||||
+ _14 = deref_copy (_2.0: &mut [generator@$DIR/inline_generator.rs:15:5: 15:8]); // scope 6 at $DIR/inline_generator.rs:15:11: 15:39
|
||||
+ discriminant((*_14)) = 3; // scope 6 at $DIR/inline_generator.rs:15:11: 15:39
|
||||
+ goto -> bb1; // scope 0 at $DIR/inline_generator.rs:15:11: 15:39
|
||||
+ }
|
||||
+
|
||||
+ bb7: {
|
||||
+ StorageLive(_8); // scope 6 at $DIR/inline-generator.rs:15:5: 15:41
|
||||
+ _10 = move _7; // scope 6 at $DIR/inline-generator.rs:15:5: 15:41
|
||||
+ StorageDead(_8); // scope 6 at $DIR/inline-generator.rs:15:38: 15:39
|
||||
+ Deinit(_1); // scope 6 at $DIR/inline-generator.rs:15:41: 15:41
|
||||
+ ((_1 as Complete).0: bool) = move _10; // scope 6 at $DIR/inline-generator.rs:15:41: 15:41
|
||||
+ discriminant(_1) = 1; // scope 6 at $DIR/inline-generator.rs:15:41: 15:41
|
||||
+ _15 = deref_copy (_2.0: &mut [generator@$DIR/inline-generator.rs:15:5: 15:8]); // scope 6 at $DIR/inline-generator.rs:15:41: 15:41
|
||||
+ discriminant((*_15)) = 1; // scope 6 at $DIR/inline-generator.rs:15:41: 15:41
|
||||
+ goto -> bb1; // scope 0 at $DIR/inline-generator.rs:15:41: 15:41
|
||||
+ StorageLive(_8); // scope 6 at $DIR/inline_generator.rs:15:5: 15:41
|
||||
+ _10 = move _7; // scope 6 at $DIR/inline_generator.rs:15:5: 15:41
|
||||
+ StorageDead(_8); // scope 6 at $DIR/inline_generator.rs:15:38: 15:39
|
||||
+ Deinit(_1); // scope 6 at $DIR/inline_generator.rs:15:41: 15:41
|
||||
+ ((_1 as Complete).0: bool) = move _10; // scope 6 at $DIR/inline_generator.rs:15:41: 15:41
|
||||
+ discriminant(_1) = 1; // scope 6 at $DIR/inline_generator.rs:15:41: 15:41
|
||||
+ _15 = deref_copy (_2.0: &mut [generator@$DIR/inline_generator.rs:15:5: 15:8]); // scope 6 at $DIR/inline_generator.rs:15:41: 15:41
|
||||
+ discriminant((*_15)) = 1; // scope 6 at $DIR/inline_generator.rs:15:41: 15:41
|
||||
+ goto -> bb1; // scope 0 at $DIR/inline_generator.rs:15:41: 15:41
|
||||
+ }
|
||||
+
|
||||
+ bb8: {
|
||||
+ assert(const false, "generator resumed after completion") -> [success: bb8, unwind: bb2]; // scope 6 at $DIR/inline-generator.rs:15:5: 15:41
|
||||
+ assert(const false, "generator resumed after completion") -> [success: bb8, unwind: bb2]; // scope 6 at $DIR/inline_generator.rs:15:5: 15:41
|
||||
+ }
|
||||
+
|
||||
+ bb9: {
|
||||
+ unreachable; // scope 6 at $DIR/inline-generator.rs:15:5: 15:41
|
||||
+ unreachable; // scope 6 at $DIR/inline_generator.rs:15:5: 15:41
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -2,43 +2,43 @@
|
|||
+ // MIR for `default` after Inline
|
||||
|
||||
fn default() -> () {
|
||||
let mut _0: (); // return place in scope 0 at $DIR/inline-instruction-set.rs:+0:18: +0:18
|
||||
let _1: (); // in scope 0 at $DIR/inline-instruction-set.rs:+1:5: +1:26
|
||||
let _2: (); // in scope 0 at $DIR/inline-instruction-set.rs:+2:5: +2:26
|
||||
let _3: (); // in scope 0 at $DIR/inline-instruction-set.rs:+3:5: +3:30
|
||||
+ scope 1 (inlined instruction_set_default) { // at $DIR/inline-instruction-set.rs:53:5: 53:30
|
||||
let mut _0: (); // return place in scope 0 at $DIR/inline_instruction_set.rs:+0:18: +0:18
|
||||
let _1: (); // in scope 0 at $DIR/inline_instruction_set.rs:+1:5: +1:26
|
||||
let _2: (); // in scope 0 at $DIR/inline_instruction_set.rs:+2:5: +2:26
|
||||
let _3: (); // in scope 0 at $DIR/inline_instruction_set.rs:+3:5: +3:30
|
||||
+ scope 1 (inlined instruction_set_default) { // at $DIR/inline_instruction_set.rs:53:5: 53:30
|
||||
+ }
|
||||
|
||||
bb0: {
|
||||
StorageLive(_1); // scope 0 at $DIR/inline-instruction-set.rs:+1:5: +1:26
|
||||
_1 = instruction_set_a32() -> bb1; // scope 0 at $DIR/inline-instruction-set.rs:+1:5: +1:26
|
||||
StorageLive(_1); // scope 0 at $DIR/inline_instruction_set.rs:+1:5: +1:26
|
||||
_1 = instruction_set_a32() -> bb1; // scope 0 at $DIR/inline_instruction_set.rs:+1:5: +1:26
|
||||
// mir::Constant
|
||||
// + span: $DIR/inline-instruction-set.rs:51:5: 51:24
|
||||
// + span: $DIR/inline_instruction_set.rs:51:5: 51:24
|
||||
// + literal: Const { ty: fn() {instruction_set_a32}, val: Value(<ZST>) }
|
||||
}
|
||||
|
||||
bb1: {
|
||||
StorageDead(_1); // scope 0 at $DIR/inline-instruction-set.rs:+1:26: +1:27
|
||||
StorageLive(_2); // scope 0 at $DIR/inline-instruction-set.rs:+2:5: +2:26
|
||||
_2 = instruction_set_t32() -> bb2; // scope 0 at $DIR/inline-instruction-set.rs:+2:5: +2:26
|
||||
StorageDead(_1); // scope 0 at $DIR/inline_instruction_set.rs:+1:26: +1:27
|
||||
StorageLive(_2); // scope 0 at $DIR/inline_instruction_set.rs:+2:5: +2:26
|
||||
_2 = instruction_set_t32() -> bb2; // scope 0 at $DIR/inline_instruction_set.rs:+2:5: +2:26
|
||||
// mir::Constant
|
||||
// + span: $DIR/inline-instruction-set.rs:52:5: 52:24
|
||||
// + span: $DIR/inline_instruction_set.rs:52:5: 52:24
|
||||
// + literal: Const { ty: fn() {instruction_set_t32}, val: Value(<ZST>) }
|
||||
}
|
||||
|
||||
bb2: {
|
||||
StorageDead(_2); // scope 0 at $DIR/inline-instruction-set.rs:+2:26: +2:27
|
||||
StorageLive(_3); // scope 0 at $DIR/inline-instruction-set.rs:+3:5: +3:30
|
||||
- _3 = instruction_set_default() -> bb3; // scope 0 at $DIR/inline-instruction-set.rs:+3:5: +3:30
|
||||
StorageDead(_2); // scope 0 at $DIR/inline_instruction_set.rs:+2:26: +2:27
|
||||
StorageLive(_3); // scope 0 at $DIR/inline_instruction_set.rs:+3:5: +3:30
|
||||
- _3 = instruction_set_default() -> bb3; // scope 0 at $DIR/inline_instruction_set.rs:+3:5: +3:30
|
||||
- // mir::Constant
|
||||
- // + span: $DIR/inline-instruction-set.rs:53:5: 53:28
|
||||
- // + span: $DIR/inline_instruction_set.rs:53:5: 53:28
|
||||
- // + literal: Const { ty: fn() {instruction_set_default}, val: Value(<ZST>) }
|
||||
- }
|
||||
-
|
||||
- bb3: {
|
||||
StorageDead(_3); // scope 0 at $DIR/inline-instruction-set.rs:+3:30: +3:31
|
||||
_0 = const (); // scope 0 at $DIR/inline-instruction-set.rs:+0:18: +4:2
|
||||
return; // scope 0 at $DIR/inline-instruction-set.rs:+4:2: +4:2
|
||||
StorageDead(_3); // scope 0 at $DIR/inline_instruction_set.rs:+3:30: +3:31
|
||||
_0 = const (); // scope 0 at $DIR/inline_instruction_set.rs:+0:18: +4:2
|
||||
return; // scope 0 at $DIR/inline_instruction_set.rs:+4:2: +4:2
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -2,45 +2,45 @@
|
|||
+ // MIR for `t32` after Inline
|
||||
|
||||
fn t32() -> () {
|
||||
let mut _0: (); // return place in scope 0 at $DIR/inline-instruction-set.rs:+0:14: +0:14
|
||||
let _1: (); // in scope 0 at $DIR/inline-instruction-set.rs:+1:5: +1:26
|
||||
let _2: (); // in scope 0 at $DIR/inline-instruction-set.rs:+2:5: +2:26
|
||||
let _3: (); // in scope 0 at $DIR/inline-instruction-set.rs:+5:5: +5:30
|
||||
+ scope 1 (inlined instruction_set_t32) { // at $DIR/inline-instruction-set.rs:43:5: 43:26
|
||||
let mut _0: (); // return place in scope 0 at $DIR/inline_instruction_set.rs:+0:14: +0:14
|
||||
let _1: (); // in scope 0 at $DIR/inline_instruction_set.rs:+1:5: +1:26
|
||||
let _2: (); // in scope 0 at $DIR/inline_instruction_set.rs:+2:5: +2:26
|
||||
let _3: (); // in scope 0 at $DIR/inline_instruction_set.rs:+5:5: +5:30
|
||||
+ scope 1 (inlined instruction_set_t32) { // at $DIR/inline_instruction_set.rs:43:5: 43:26
|
||||
+ }
|
||||
|
||||
bb0: {
|
||||
StorageLive(_1); // scope 0 at $DIR/inline-instruction-set.rs:+1:5: +1:26
|
||||
_1 = instruction_set_a32() -> bb1; // scope 0 at $DIR/inline-instruction-set.rs:+1:5: +1:26
|
||||
StorageLive(_1); // scope 0 at $DIR/inline_instruction_set.rs:+1:5: +1:26
|
||||
_1 = instruction_set_a32() -> bb1; // scope 0 at $DIR/inline_instruction_set.rs:+1:5: +1:26
|
||||
// mir::Constant
|
||||
// + span: $DIR/inline-instruction-set.rs:42:5: 42:24
|
||||
// + span: $DIR/inline_instruction_set.rs:42:5: 42:24
|
||||
// + literal: Const { ty: fn() {instruction_set_a32}, val: Value(<ZST>) }
|
||||
}
|
||||
|
||||
bb1: {
|
||||
StorageDead(_1); // scope 0 at $DIR/inline-instruction-set.rs:+1:26: +1:27
|
||||
StorageLive(_2); // scope 0 at $DIR/inline-instruction-set.rs:+2:5: +2:26
|
||||
- _2 = instruction_set_t32() -> bb2; // scope 0 at $DIR/inline-instruction-set.rs:+2:5: +2:26
|
||||
StorageDead(_1); // scope 0 at $DIR/inline_instruction_set.rs:+1:26: +1:27
|
||||
StorageLive(_2); // scope 0 at $DIR/inline_instruction_set.rs:+2:5: +2:26
|
||||
- _2 = instruction_set_t32() -> bb2; // scope 0 at $DIR/inline_instruction_set.rs:+2:5: +2:26
|
||||
- // mir::Constant
|
||||
- // + span: $DIR/inline-instruction-set.rs:43:5: 43:24
|
||||
- // + span: $DIR/inline_instruction_set.rs:43:5: 43:24
|
||||
- // + literal: Const { ty: fn() {instruction_set_t32}, val: Value(<ZST>) }
|
||||
- }
|
||||
-
|
||||
- bb2: {
|
||||
StorageDead(_2); // scope 0 at $DIR/inline-instruction-set.rs:+2:26: +2:27
|
||||
StorageLive(_3); // scope 0 at $DIR/inline-instruction-set.rs:+5:5: +5:30
|
||||
- _3 = instruction_set_default() -> bb3; // scope 0 at $DIR/inline-instruction-set.rs:+5:5: +5:30
|
||||
+ _3 = instruction_set_default() -> bb2; // scope 0 at $DIR/inline-instruction-set.rs:+5:5: +5:30
|
||||
StorageDead(_2); // scope 0 at $DIR/inline_instruction_set.rs:+2:26: +2:27
|
||||
StorageLive(_3); // scope 0 at $DIR/inline_instruction_set.rs:+5:5: +5:30
|
||||
- _3 = instruction_set_default() -> bb3; // scope 0 at $DIR/inline_instruction_set.rs:+5:5: +5:30
|
||||
+ _3 = instruction_set_default() -> bb2; // scope 0 at $DIR/inline_instruction_set.rs:+5:5: +5:30
|
||||
// mir::Constant
|
||||
// + span: $DIR/inline-instruction-set.rs:46:5: 46:28
|
||||
// + span: $DIR/inline_instruction_set.rs:46:5: 46:28
|
||||
// + literal: Const { ty: fn() {instruction_set_default}, val: Value(<ZST>) }
|
||||
}
|
||||
|
||||
- bb3: {
|
||||
+ bb2: {
|
||||
StorageDead(_3); // scope 0 at $DIR/inline-instruction-set.rs:+5:30: +5:31
|
||||
_0 = const (); // scope 0 at $DIR/inline-instruction-set.rs:+0:14: +6:2
|
||||
return; // scope 0 at $DIR/inline-instruction-set.rs:+6:2: +6:2
|
||||
StorageDead(_3); // scope 0 at $DIR/inline_instruction_set.rs:+5:30: +5:31
|
||||
_0 = const (); // scope 0 at $DIR/inline_instruction_set.rs:+0:14: +6:2
|
||||
return; // scope 0 at $DIR/inline_instruction_set.rs:+6:2: +6:2
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -2,45 +2,45 @@
|
|||
+ // MIR for `main` after Inline
|
||||
|
||||
fn main() -> () {
|
||||
let mut _0: (); // return place in scope 0 at $DIR/inline-into-box-place.rs:+0:11: +0:11
|
||||
let _1: std::boxed::Box<std::vec::Vec<u32>>; // in scope 0 at $DIR/inline-into-box-place.rs:+1:9: +1:11
|
||||
let mut _2: usize; // in scope 0 at $DIR/inline-into-box-place.rs:+1:29: +1:43
|
||||
let mut _3: usize; // in scope 0 at $DIR/inline-into-box-place.rs:+1:29: +1:43
|
||||
let mut _4: *mut u8; // in scope 0 at $DIR/inline-into-box-place.rs:+1:29: +1:43
|
||||
let mut _5: std::boxed::Box<std::vec::Vec<u32>>; // in scope 0 at $DIR/inline-into-box-place.rs:+1:29: +1:43
|
||||
let mut _6: (); // in scope 0 at $DIR/inline-into-box-place.rs:+1:42: +1:43
|
||||
let mut _7: *const std::vec::Vec<u32>; // in scope 0 at $DIR/inline-into-box-place.rs:+1:29: +1:43
|
||||
+ let mut _8: &mut std::vec::Vec<u32>; // in scope 0 at $DIR/inline-into-box-place.rs:+1:33: +1:43
|
||||
let mut _0: (); // return place in scope 0 at $DIR/inline_into_box_place.rs:+0:11: +0:11
|
||||
let _1: std::boxed::Box<std::vec::Vec<u32>>; // in scope 0 at $DIR/inline_into_box_place.rs:+1:9: +1:11
|
||||
let mut _2: usize; // in scope 0 at $DIR/inline_into_box_place.rs:+1:29: +1:43
|
||||
let mut _3: usize; // in scope 0 at $DIR/inline_into_box_place.rs:+1:29: +1:43
|
||||
let mut _4: *mut u8; // in scope 0 at $DIR/inline_into_box_place.rs:+1:29: +1:43
|
||||
let mut _5: std::boxed::Box<std::vec::Vec<u32>>; // in scope 0 at $DIR/inline_into_box_place.rs:+1:29: +1:43
|
||||
let mut _6: (); // in scope 0 at $DIR/inline_into_box_place.rs:+1:42: +1:43
|
||||
let mut _7: *const std::vec::Vec<u32>; // in scope 0 at $DIR/inline_into_box_place.rs:+1:29: +1:43
|
||||
+ let mut _8: &mut std::vec::Vec<u32>; // in scope 0 at $DIR/inline_into_box_place.rs:+1:33: +1:43
|
||||
scope 1 {
|
||||
debug _x => _1; // in scope 1 at $DIR/inline-into-box-place.rs:+1:9: +1:11
|
||||
debug _x => _1; // in scope 1 at $DIR/inline_into_box_place.rs:+1:9: +1:11
|
||||
}
|
||||
scope 2 {
|
||||
}
|
||||
+ scope 3 (inlined Vec::<u32>::new) { // at $DIR/inline-into-box-place.rs:8:33: 8:43
|
||||
+ scope 3 (inlined Vec::<u32>::new) { // at $DIR/inline_into_box_place.rs:8:33: 8:43
|
||||
+ let mut _9: alloc::raw_vec::RawVec<u32>; // in scope 3 at $SRC_DIR/alloc/src/vec/mod.rs:LL:COL
|
||||
+ }
|
||||
|
||||
bb0: {
|
||||
StorageLive(_1); // scope 0 at $DIR/inline-into-box-place.rs:+1:9: +1:11
|
||||
_2 = SizeOf(std::vec::Vec<u32>); // scope 2 at $DIR/inline-into-box-place.rs:+1:29: +1:43
|
||||
_3 = AlignOf(std::vec::Vec<u32>); // scope 2 at $DIR/inline-into-box-place.rs:+1:29: +1:43
|
||||
_4 = alloc::alloc::exchange_malloc(move _2, move _3) -> bb1; // scope 2 at $DIR/inline-into-box-place.rs:+1:29: +1:43
|
||||
StorageLive(_1); // scope 0 at $DIR/inline_into_box_place.rs:+1:9: +1:11
|
||||
_2 = SizeOf(std::vec::Vec<u32>); // scope 2 at $DIR/inline_into_box_place.rs:+1:29: +1:43
|
||||
_3 = AlignOf(std::vec::Vec<u32>); // scope 2 at $DIR/inline_into_box_place.rs:+1:29: +1:43
|
||||
_4 = alloc::alloc::exchange_malloc(move _2, move _3) -> bb1; // scope 2 at $DIR/inline_into_box_place.rs:+1:29: +1:43
|
||||
// mir::Constant
|
||||
// + span: $DIR/inline-into-box-place.rs:8:29: 8:43
|
||||
// + span: $DIR/inline_into_box_place.rs:8:29: 8:43
|
||||
// + literal: Const { ty: unsafe fn(usize, usize) -> *mut u8 {alloc::alloc::exchange_malloc}, val: Value(<ZST>) }
|
||||
}
|
||||
|
||||
bb1: {
|
||||
StorageLive(_5); // scope 0 at $DIR/inline-into-box-place.rs:+1:29: +1:43
|
||||
_5 = ShallowInitBox(move _4, std::vec::Vec<u32>); // scope 0 at $DIR/inline-into-box-place.rs:+1:29: +1:43
|
||||
_7 = (((_5.0: std::ptr::Unique<std::vec::Vec<u32>>).0: std::ptr::NonNull<std::vec::Vec<u32>>).0: *const std::vec::Vec<u32>); // scope 0 at $DIR/inline-into-box-place.rs:+1:33: +1:43
|
||||
- (*_7) = Vec::<u32>::new() -> [return: bb2, unwind: bb5]; // scope 0 at $DIR/inline-into-box-place.rs:+1:33: +1:43
|
||||
+ StorageLive(_8); // scope 0 at $DIR/inline-into-box-place.rs:+1:33: +1:43
|
||||
+ _8 = &mut (*_7); // scope 0 at $DIR/inline-into-box-place.rs:+1:33: +1:43
|
||||
StorageLive(_5); // scope 0 at $DIR/inline_into_box_place.rs:+1:29: +1:43
|
||||
_5 = ShallowInitBox(move _4, std::vec::Vec<u32>); // scope 0 at $DIR/inline_into_box_place.rs:+1:29: +1:43
|
||||
_7 = (((_5.0: std::ptr::Unique<std::vec::Vec<u32>>).0: std::ptr::NonNull<std::vec::Vec<u32>>).0: *const std::vec::Vec<u32>); // scope 0 at $DIR/inline_into_box_place.rs:+1:33: +1:43
|
||||
- (*_7) = Vec::<u32>::new() -> [return: bb2, unwind: bb5]; // scope 0 at $DIR/inline_into_box_place.rs:+1:33: +1:43
|
||||
+ StorageLive(_8); // scope 0 at $DIR/inline_into_box_place.rs:+1:33: +1:43
|
||||
+ _8 = &mut (*_7); // scope 0 at $DIR/inline_into_box_place.rs:+1:33: +1:43
|
||||
+ StorageLive(_9); // scope 3 at $SRC_DIR/alloc/src/vec/mod.rs:LL:COL
|
||||
+ _9 = const _; // scope 3 at $SRC_DIR/alloc/src/vec/mod.rs:LL:COL
|
||||
// mir::Constant
|
||||
- // + span: $DIR/inline-into-box-place.rs:8:33: 8:41
|
||||
- // + span: $DIR/inline_into_box_place.rs:8:33: 8:41
|
||||
- // + user_ty: UserType(1)
|
||||
- // + literal: Const { ty: fn() -> Vec<u32> {Vec::<u32>::new}, val: Value(<ZST>) }
|
||||
- }
|
||||
|
@ -53,29 +53,29 @@
|
|||
+ ((*_8).0: alloc::raw_vec::RawVec<u32>) = move _9; // scope 3 at $SRC_DIR/alloc/src/vec/mod.rs:LL:COL
|
||||
+ ((*_8).1: usize) = const 0_usize; // scope 3 at $SRC_DIR/alloc/src/vec/mod.rs:LL:COL
|
||||
+ StorageDead(_9); // scope 3 at $SRC_DIR/alloc/src/vec/mod.rs:LL:COL
|
||||
+ StorageDead(_8); // scope 0 at $DIR/inline-into-box-place.rs:+1:33: +1:43
|
||||
_1 = move _5; // scope 0 at $DIR/inline-into-box-place.rs:+1:29: +1:43
|
||||
StorageDead(_5); // scope 0 at $DIR/inline-into-box-place.rs:+1:42: +1:43
|
||||
_0 = const (); // scope 0 at $DIR/inline-into-box-place.rs:+0:11: +2:2
|
||||
- drop(_1) -> [return: bb3, unwind: bb4]; // scope 0 at $DIR/inline-into-box-place.rs:+2:1: +2:2
|
||||
+ drop(_1) -> [return: bb2, unwind: bb3]; // scope 0 at $DIR/inline-into-box-place.rs:+2:1: +2:2
|
||||
+ StorageDead(_8); // scope 0 at $DIR/inline_into_box_place.rs:+1:33: +1:43
|
||||
_1 = move _5; // scope 0 at $DIR/inline_into_box_place.rs:+1:29: +1:43
|
||||
StorageDead(_5); // scope 0 at $DIR/inline_into_box_place.rs:+1:42: +1:43
|
||||
_0 = const (); // scope 0 at $DIR/inline_into_box_place.rs:+0:11: +2:2
|
||||
- drop(_1) -> [return: bb3, unwind: bb4]; // scope 0 at $DIR/inline_into_box_place.rs:+2:1: +2:2
|
||||
+ drop(_1) -> [return: bb2, unwind: bb3]; // scope 0 at $DIR/inline_into_box_place.rs:+2:1: +2:2
|
||||
}
|
||||
|
||||
- bb3: {
|
||||
+ bb2: {
|
||||
StorageDead(_1); // scope 0 at $DIR/inline-into-box-place.rs:+2:1: +2:2
|
||||
return; // scope 0 at $DIR/inline-into-box-place.rs:+2:2: +2:2
|
||||
StorageDead(_1); // scope 0 at $DIR/inline_into_box_place.rs:+2:1: +2:2
|
||||
return; // scope 0 at $DIR/inline_into_box_place.rs:+2:2: +2:2
|
||||
}
|
||||
|
||||
- bb4 (cleanup): {
|
||||
+ bb3 (cleanup): {
|
||||
resume; // scope 0 at $DIR/inline-into-box-place.rs:+0:1: +2:2
|
||||
resume; // scope 0 at $DIR/inline_into_box_place.rs:+0:1: +2:2
|
||||
- }
|
||||
-
|
||||
- bb5 (cleanup): {
|
||||
- _6 = alloc::alloc::box_free::<Vec<u32>, std::alloc::Global>(move (_5.0: std::ptr::Unique<std::vec::Vec<u32>>), move (_5.1: std::alloc::Global)) -> bb4; // scope 0 at $DIR/inline-into-box-place.rs:+1:42: +1:43
|
||||
- _6 = alloc::alloc::box_free::<Vec<u32>, std::alloc::Global>(move (_5.0: std::ptr::Unique<std::vec::Vec<u32>>), move (_5.1: std::alloc::Global)) -> bb4; // scope 0 at $DIR/inline_into_box_place.rs:+1:42: +1:43
|
||||
- // mir::Constant
|
||||
- // + span: $DIR/inline-into-box-place.rs:8:42: 8:43
|
||||
- // + span: $DIR/inline_into_box_place.rs:8:42: 8:43
|
||||
- // + literal: Const { ty: unsafe fn(Unique<Vec<u32>>, std::alloc::Global) {alloc::alloc::box_free::<Vec<u32>, std::alloc::Global>}, val: Value(<ZST>) }
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,55 +1,55 @@
|
|||
// MIR for `main` after Inline
|
||||
|
||||
fn main() -> () {
|
||||
let mut _0: (); // return place in scope 0 at $DIR/inline-options.rs:+0:11: +0:11
|
||||
let _1: (); // in scope 0 at $DIR/inline-options.rs:+1:5: +1:18
|
||||
let _2: (); // in scope 0 at $DIR/inline-options.rs:+2:5: +2:21
|
||||
scope 1 (inlined inlined::<u32>) { // at $DIR/inline-options.rs:10:5: 10:21
|
||||
let _3: (); // in scope 1 at $DIR/inline-options.rs:16:23: 16:26
|
||||
let _4: (); // in scope 1 at $DIR/inline-options.rs:16:28: 16:31
|
||||
let _5: (); // in scope 1 at $DIR/inline-options.rs:16:33: 16:36
|
||||
let mut _0: (); // return place in scope 0 at $DIR/inline_options.rs:+0:11: +0:11
|
||||
let _1: (); // in scope 0 at $DIR/inline_options.rs:+1:5: +1:18
|
||||
let _2: (); // in scope 0 at $DIR/inline_options.rs:+2:5: +2:21
|
||||
scope 1 (inlined inlined::<u32>) { // at $DIR/inline_options.rs:10:5: 10:21
|
||||
let _3: (); // in scope 1 at $DIR/inline_options.rs:16:23: 16:26
|
||||
let _4: (); // in scope 1 at $DIR/inline_options.rs:16:28: 16:31
|
||||
let _5: (); // in scope 1 at $DIR/inline_options.rs:16:33: 16:36
|
||||
}
|
||||
|
||||
bb0: {
|
||||
StorageLive(_1); // scope 0 at $DIR/inline-options.rs:+1:5: +1:18
|
||||
_1 = not_inlined() -> bb1; // scope 0 at $DIR/inline-options.rs:+1:5: +1:18
|
||||
StorageLive(_1); // scope 0 at $DIR/inline_options.rs:+1:5: +1:18
|
||||
_1 = not_inlined() -> bb1; // scope 0 at $DIR/inline_options.rs:+1:5: +1:18
|
||||
// mir::Constant
|
||||
// + span: $DIR/inline-options.rs:9:5: 9:16
|
||||
// + span: $DIR/inline_options.rs:9:5: 9:16
|
||||
// + literal: Const { ty: fn() {not_inlined}, val: Value(<ZST>) }
|
||||
}
|
||||
|
||||
bb1: {
|
||||
StorageDead(_1); // scope 0 at $DIR/inline-options.rs:+1:18: +1:19
|
||||
StorageLive(_2); // scope 0 at $DIR/inline-options.rs:+2:5: +2:21
|
||||
StorageLive(_3); // scope 1 at $DIR/inline-options.rs:16:23: 16:26
|
||||
_3 = g() -> bb2; // scope 1 at $DIR/inline-options.rs:16:23: 16:26
|
||||
StorageDead(_1); // scope 0 at $DIR/inline_options.rs:+1:18: +1:19
|
||||
StorageLive(_2); // scope 0 at $DIR/inline_options.rs:+2:5: +2:21
|
||||
StorageLive(_3); // scope 1 at $DIR/inline_options.rs:16:23: 16:26
|
||||
_3 = g() -> bb2; // scope 1 at $DIR/inline_options.rs:16:23: 16:26
|
||||
// mir::Constant
|
||||
// + span: $DIR/inline-options.rs:16:23: 16:24
|
||||
// + span: $DIR/inline_options.rs:16:23: 16:24
|
||||
// + literal: Const { ty: fn() {g}, val: Value(<ZST>) }
|
||||
}
|
||||
|
||||
bb2: {
|
||||
StorageDead(_3); // scope 1 at $DIR/inline-options.rs:16:26: 16:27
|
||||
StorageLive(_4); // scope 1 at $DIR/inline-options.rs:16:28: 16:31
|
||||
_4 = g() -> bb3; // scope 1 at $DIR/inline-options.rs:16:28: 16:31
|
||||
StorageDead(_3); // scope 1 at $DIR/inline_options.rs:16:26: 16:27
|
||||
StorageLive(_4); // scope 1 at $DIR/inline_options.rs:16:28: 16:31
|
||||
_4 = g() -> bb3; // scope 1 at $DIR/inline_options.rs:16:28: 16:31
|
||||
// mir::Constant
|
||||
// + span: $DIR/inline-options.rs:16:28: 16:29
|
||||
// + span: $DIR/inline_options.rs:16:28: 16:29
|
||||
// + literal: Const { ty: fn() {g}, val: Value(<ZST>) }
|
||||
}
|
||||
|
||||
bb3: {
|
||||
StorageDead(_4); // scope 1 at $DIR/inline-options.rs:16:31: 16:32
|
||||
StorageLive(_5); // scope 1 at $DIR/inline-options.rs:16:33: 16:36
|
||||
_5 = g() -> bb4; // scope 1 at $DIR/inline-options.rs:16:33: 16:36
|
||||
StorageDead(_4); // scope 1 at $DIR/inline_options.rs:16:31: 16:32
|
||||
StorageLive(_5); // scope 1 at $DIR/inline_options.rs:16:33: 16:36
|
||||
_5 = g() -> bb4; // scope 1 at $DIR/inline_options.rs:16:33: 16:36
|
||||
// mir::Constant
|
||||
// + span: $DIR/inline-options.rs:16:33: 16:34
|
||||
// + span: $DIR/inline_options.rs:16:33: 16:34
|
||||
// + literal: Const { ty: fn() {g}, val: Value(<ZST>) }
|
||||
}
|
||||
|
||||
bb4: {
|
||||
StorageDead(_5); // scope 1 at $DIR/inline-options.rs:16:36: 16:37
|
||||
StorageDead(_2); // scope 0 at $DIR/inline-options.rs:+2:21: +2:22
|
||||
_0 = const (); // scope 0 at $DIR/inline-options.rs:+0:11: +3:2
|
||||
return; // scope 0 at $DIR/inline-options.rs:+3:2: +3:2
|
||||
StorageDead(_5); // scope 1 at $DIR/inline_options.rs:16:36: 16:37
|
||||
StorageDead(_2); // scope 0 at $DIR/inline_options.rs:+2:21: +2:22
|
||||
_0 = const (); // scope 0 at $DIR/inline_options.rs:+0:11: +3:2
|
||||
return; // scope 0 at $DIR/inline_options.rs:+3:2: +3:2
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,72 +1,72 @@
|
|||
// MIR for `bar` after Inline
|
||||
|
||||
fn bar() -> bool {
|
||||
let mut _0: bool; // return place in scope 0 at $DIR/inline-retag.rs:+0:13: +0:17
|
||||
let _1: for<'a, 'b> fn(&'a i32, &'b i32) -> bool {foo}; // in scope 0 at $DIR/inline-retag.rs:+1:9: +1:10
|
||||
let mut _2: for<'a, 'b> fn(&'a i32, &'b i32) -> bool {foo}; // in scope 0 at $DIR/inline-retag.rs:+2:5: +2:6
|
||||
let mut _3: &i32; // in scope 0 at $DIR/inline-retag.rs:+2:7: +2:9
|
||||
let _4: &i32; // in scope 0 at $DIR/inline-retag.rs:+2:7: +2:9
|
||||
let _5: i32; // in scope 0 at $DIR/inline-retag.rs:+2:8: +2:9
|
||||
let mut _6: &i32; // in scope 0 at $DIR/inline-retag.rs:+2:11: +2:14
|
||||
let _7: &i32; // in scope 0 at $DIR/inline-retag.rs:+2:11: +2:14
|
||||
let _8: i32; // in scope 0 at $DIR/inline-retag.rs:+2:12: +2:14
|
||||
let mut _0: bool; // return place in scope 0 at $DIR/inline_retag.rs:+0:13: +0:17
|
||||
let _1: for<'a, 'b> fn(&'a i32, &'b i32) -> bool {foo}; // in scope 0 at $DIR/inline_retag.rs:+1:9: +1:10
|
||||
let mut _2: for<'a, 'b> fn(&'a i32, &'b i32) -> bool {foo}; // in scope 0 at $DIR/inline_retag.rs:+2:5: +2:6
|
||||
let mut _3: &i32; // in scope 0 at $DIR/inline_retag.rs:+2:7: +2:9
|
||||
let _4: &i32; // in scope 0 at $DIR/inline_retag.rs:+2:7: +2:9
|
||||
let _5: i32; // in scope 0 at $DIR/inline_retag.rs:+2:8: +2:9
|
||||
let mut _6: &i32; // in scope 0 at $DIR/inline_retag.rs:+2:11: +2:14
|
||||
let _7: &i32; // in scope 0 at $DIR/inline_retag.rs:+2:11: +2:14
|
||||
let _8: i32; // in scope 0 at $DIR/inline_retag.rs:+2:12: +2:14
|
||||
scope 1 {
|
||||
debug f => _1; // in scope 1 at $DIR/inline-retag.rs:+1:9: +1:10
|
||||
let mut _9: &i32; // in scope 1 at $DIR/inline-retag.rs:+2:11: +2:14
|
||||
let mut _10: &i32; // in scope 1 at $DIR/inline-retag.rs:+2:7: +2:9
|
||||
scope 2 (inlined foo) { // at $DIR/inline-retag.rs:12:5: 12:15
|
||||
debug x => _3; // in scope 2 at $DIR/inline-retag.rs:16:8: 16:9
|
||||
debug y => _6; // in scope 2 at $DIR/inline-retag.rs:16:17: 16:18
|
||||
let mut _11: i32; // in scope 2 at $DIR/inline-retag.rs:17:5: 17:7
|
||||
let mut _12: i32; // in scope 2 at $DIR/inline-retag.rs:17:11: 17:13
|
||||
debug f => _1; // in scope 1 at $DIR/inline_retag.rs:+1:9: +1:10
|
||||
let mut _9: &i32; // in scope 1 at $DIR/inline_retag.rs:+2:11: +2:14
|
||||
let mut _10: &i32; // in scope 1 at $DIR/inline_retag.rs:+2:7: +2:9
|
||||
scope 2 (inlined foo) { // at $DIR/inline_retag.rs:12:5: 12:15
|
||||
debug x => _3; // in scope 2 at $DIR/inline_retag.rs:16:8: 16:9
|
||||
debug y => _6; // in scope 2 at $DIR/inline_retag.rs:16:17: 16:18
|
||||
let mut _11: i32; // in scope 2 at $DIR/inline_retag.rs:17:5: 17:7
|
||||
let mut _12: i32; // in scope 2 at $DIR/inline_retag.rs:17:11: 17:13
|
||||
}
|
||||
}
|
||||
|
||||
bb0: {
|
||||
StorageLive(_1); // scope 0 at $DIR/inline-retag.rs:+1:9: +1:10
|
||||
_1 = foo; // scope 0 at $DIR/inline-retag.rs:+1:13: +1:16
|
||||
StorageLive(_1); // scope 0 at $DIR/inline_retag.rs:+1:9: +1:10
|
||||
_1 = foo; // scope 0 at $DIR/inline_retag.rs:+1:13: +1:16
|
||||
// mir::Constant
|
||||
// + span: $DIR/inline-retag.rs:11:13: 11:16
|
||||
// + span: $DIR/inline_retag.rs:11:13: 11:16
|
||||
// + literal: Const { ty: for<'a, 'b> fn(&'a i32, &'b i32) -> bool {foo}, val: Value(<ZST>) }
|
||||
StorageLive(_2); // scope 1 at $DIR/inline-retag.rs:+2:5: +2:6
|
||||
_2 = _1; // scope 1 at $DIR/inline-retag.rs:+2:5: +2:6
|
||||
StorageLive(_3); // scope 1 at $DIR/inline-retag.rs:+2:7: +2:9
|
||||
StorageLive(_4); // scope 1 at $DIR/inline-retag.rs:+2:7: +2:9
|
||||
_10 = const _; // scope 1 at $DIR/inline-retag.rs:+2:7: +2:9
|
||||
StorageLive(_2); // scope 1 at $DIR/inline_retag.rs:+2:5: +2:6
|
||||
_2 = _1; // scope 1 at $DIR/inline_retag.rs:+2:5: +2:6
|
||||
StorageLive(_3); // scope 1 at $DIR/inline_retag.rs:+2:7: +2:9
|
||||
StorageLive(_4); // scope 1 at $DIR/inline_retag.rs:+2:7: +2:9
|
||||
_10 = const _; // scope 1 at $DIR/inline_retag.rs:+2:7: +2:9
|
||||
// mir::Constant
|
||||
// + span: $DIR/inline-retag.rs:12:7: 12:9
|
||||
// + span: $DIR/inline_retag.rs:12:7: 12:9
|
||||
// + literal: Const { ty: &i32, val: Unevaluated(bar, [], Some(promoted[1])) }
|
||||
Retag(_10); // scope 1 at $DIR/inline-retag.rs:+2:7: +2:9
|
||||
_4 = &(*_10); // scope 1 at $DIR/inline-retag.rs:+2:7: +2:9
|
||||
Retag(_4); // scope 1 at $DIR/inline-retag.rs:+2:7: +2:9
|
||||
_3 = &(*_4); // scope 1 at $DIR/inline-retag.rs:+2:7: +2:9
|
||||
Retag(_3); // scope 1 at $DIR/inline-retag.rs:+2:7: +2:9
|
||||
StorageLive(_6); // scope 1 at $DIR/inline-retag.rs:+2:11: +2:14
|
||||
StorageLive(_7); // scope 1 at $DIR/inline-retag.rs:+2:11: +2:14
|
||||
_9 = const _; // scope 1 at $DIR/inline-retag.rs:+2:11: +2:14
|
||||
Retag(_10); // scope 1 at $DIR/inline_retag.rs:+2:7: +2:9
|
||||
_4 = &(*_10); // scope 1 at $DIR/inline_retag.rs:+2:7: +2:9
|
||||
Retag(_4); // scope 1 at $DIR/inline_retag.rs:+2:7: +2:9
|
||||
_3 = &(*_4); // scope 1 at $DIR/inline_retag.rs:+2:7: +2:9
|
||||
Retag(_3); // scope 1 at $DIR/inline_retag.rs:+2:7: +2:9
|
||||
StorageLive(_6); // scope 1 at $DIR/inline_retag.rs:+2:11: +2:14
|
||||
StorageLive(_7); // scope 1 at $DIR/inline_retag.rs:+2:11: +2:14
|
||||
_9 = const _; // scope 1 at $DIR/inline_retag.rs:+2:11: +2:14
|
||||
// mir::Constant
|
||||
// + span: $DIR/inline-retag.rs:12:11: 12:14
|
||||
// + span: $DIR/inline_retag.rs:12:11: 12:14
|
||||
// + literal: Const { ty: &i32, val: Unevaluated(bar, [], Some(promoted[0])) }
|
||||
Retag(_9); // scope 1 at $DIR/inline-retag.rs:+2:11: +2:14
|
||||
_7 = &(*_9); // scope 1 at $DIR/inline-retag.rs:+2:11: +2:14
|
||||
Retag(_7); // scope 1 at $DIR/inline-retag.rs:+2:11: +2:14
|
||||
_6 = &(*_7); // scope 1 at $DIR/inline-retag.rs:+2:11: +2:14
|
||||
Retag(_6); // scope 1 at $DIR/inline-retag.rs:+2:11: +2:14
|
||||
Retag(_3); // scope 2 at $DIR/inline-retag.rs:16:8: 16:9
|
||||
Retag(_6); // scope 2 at $DIR/inline-retag.rs:16:17: 16:18
|
||||
StorageLive(_11); // scope 2 at $DIR/inline-retag.rs:17:5: 17:7
|
||||
_11 = (*_3); // scope 2 at $DIR/inline-retag.rs:17:5: 17:7
|
||||
StorageLive(_12); // scope 2 at $DIR/inline-retag.rs:17:11: 17:13
|
||||
_12 = (*_6); // scope 2 at $DIR/inline-retag.rs:17:11: 17:13
|
||||
_0 = Eq(move _11, move _12); // scope 2 at $DIR/inline-retag.rs:17:5: 17:13
|
||||
StorageDead(_12); // scope 2 at $DIR/inline-retag.rs:17:12: 17:13
|
||||
StorageDead(_11); // scope 2 at $DIR/inline-retag.rs:17:12: 17:13
|
||||
StorageDead(_6); // scope 1 at $DIR/inline-retag.rs:+2:14: +2:15
|
||||
StorageDead(_3); // scope 1 at $DIR/inline-retag.rs:+2:14: +2:15
|
||||
StorageDead(_2); // scope 1 at $DIR/inline-retag.rs:+2:14: +2:15
|
||||
StorageDead(_1); // scope 0 at $DIR/inline-retag.rs:+3:1: +3:2
|
||||
StorageDead(_7); // scope 0 at $DIR/inline-retag.rs:+3:1: +3:2
|
||||
StorageDead(_4); // scope 0 at $DIR/inline-retag.rs:+3:1: +3:2
|
||||
return; // scope 0 at $DIR/inline-retag.rs:+3:2: +3:2
|
||||
Retag(_9); // scope 1 at $DIR/inline_retag.rs:+2:11: +2:14
|
||||
_7 = &(*_9); // scope 1 at $DIR/inline_retag.rs:+2:11: +2:14
|
||||
Retag(_7); // scope 1 at $DIR/inline_retag.rs:+2:11: +2:14
|
||||
_6 = &(*_7); // scope 1 at $DIR/inline_retag.rs:+2:11: +2:14
|
||||
Retag(_6); // scope 1 at $DIR/inline_retag.rs:+2:11: +2:14
|
||||
Retag(_3); // scope 2 at $DIR/inline_retag.rs:16:8: 16:9
|
||||
Retag(_6); // scope 2 at $DIR/inline_retag.rs:16:17: 16:18
|
||||
StorageLive(_11); // scope 2 at $DIR/inline_retag.rs:17:5: 17:7
|
||||
_11 = (*_3); // scope 2 at $DIR/inline_retag.rs:17:5: 17:7
|
||||
StorageLive(_12); // scope 2 at $DIR/inline_retag.rs:17:11: 17:13
|
||||
_12 = (*_6); // scope 2 at $DIR/inline_retag.rs:17:11: 17:13
|
||||
_0 = Eq(move _11, move _12); // scope 2 at $DIR/inline_retag.rs:17:5: 17:13
|
||||
StorageDead(_12); // scope 2 at $DIR/inline_retag.rs:17:12: 17:13
|
||||
StorageDead(_11); // scope 2 at $DIR/inline_retag.rs:17:12: 17:13
|
||||
StorageDead(_6); // scope 1 at $DIR/inline_retag.rs:+2:14: +2:15
|
||||
StorageDead(_3); // scope 1 at $DIR/inline_retag.rs:+2:14: +2:15
|
||||
StorageDead(_2); // scope 1 at $DIR/inline_retag.rs:+2:14: +2:15
|
||||
StorageDead(_1); // scope 0 at $DIR/inline_retag.rs:+3:1: +3:2
|
||||
StorageDead(_7); // scope 0 at $DIR/inline_retag.rs:+3:1: +3:2
|
||||
StorageDead(_4); // scope 0 at $DIR/inline_retag.rs:+3:1: +3:2
|
||||
return; // scope 0 at $DIR/inline_retag.rs:+3:2: +3:2
|
||||
}
|
||||
}
|
||||
|
|
|
@ -2,25 +2,25 @@
|
|||
+ // MIR for `clone` after Inline
|
||||
|
||||
fn clone(_1: fn(A, B)) -> fn(A, B) {
|
||||
debug f => _1; // in scope 0 at $DIR/inline-shims.rs:+0:20: +0:21
|
||||
let mut _0: fn(A, B); // return place in scope 0 at $DIR/inline-shims.rs:+0:36: +0:44
|
||||
let mut _2: &fn(A, B); // in scope 0 at $DIR/inline-shims.rs:+1:5: +1:14
|
||||
+ scope 1 (inlined <fn(A, B) as Clone>::clone - shim(fn(A, B))) { // at $DIR/inline-shims.rs:6:5: 6:14
|
||||
debug f => _1; // in scope 0 at $DIR/inline_shims.rs:+0:20: +0:21
|
||||
let mut _0: fn(A, B); // return place in scope 0 at $DIR/inline_shims.rs:+0:36: +0:44
|
||||
let mut _2: &fn(A, B); // in scope 0 at $DIR/inline_shims.rs:+1:5: +1:14
|
||||
+ scope 1 (inlined <fn(A, B) as Clone>::clone - shim(fn(A, B))) { // at $DIR/inline_shims.rs:6:5: 6:14
|
||||
+ }
|
||||
|
||||
bb0: {
|
||||
StorageLive(_2); // scope 0 at $DIR/inline-shims.rs:+1:5: +1:14
|
||||
_2 = &_1; // scope 0 at $DIR/inline-shims.rs:+1:5: +1:14
|
||||
- _0 = <fn(A, B) as Clone>::clone(move _2) -> bb1; // scope 0 at $DIR/inline-shims.rs:+1:5: +1:14
|
||||
StorageLive(_2); // scope 0 at $DIR/inline_shims.rs:+1:5: +1:14
|
||||
_2 = &_1; // scope 0 at $DIR/inline_shims.rs:+1:5: +1:14
|
||||
- _0 = <fn(A, B) as Clone>::clone(move _2) -> bb1; // scope 0 at $DIR/inline_shims.rs:+1:5: +1:14
|
||||
- // mir::Constant
|
||||
- // + span: $DIR/inline-shims.rs:6:7: 6:12
|
||||
- // + span: $DIR/inline_shims.rs:6:7: 6:12
|
||||
- // + literal: Const { ty: for<'a> fn(&'a fn(A, B)) -> fn(A, B) {<fn(A, B) as Clone>::clone}, val: Value(<ZST>) }
|
||||
- }
|
||||
-
|
||||
- bb1: {
|
||||
+ _0 = (*_2); // scope 1 at $SRC_DIR/core/src/clone.rs:LL:COL
|
||||
StorageDead(_2); // scope 0 at $DIR/inline-shims.rs:+1:13: +1:14
|
||||
return; // scope 0 at $DIR/inline-shims.rs:+2:2: +2:2
|
||||
StorageDead(_2); // scope 0 at $DIR/inline_shims.rs:+1:13: +1:14
|
||||
return; // scope 0 at $DIR/inline_shims.rs:+2:2: +2:2
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -2,51 +2,51 @@
|
|||
+ // MIR for `drop` after Inline
|
||||
|
||||
fn drop(_1: *mut Vec<A>, _2: *mut Option<B>) -> () {
|
||||
debug a => _1; // in scope 0 at $DIR/inline-shims.rs:+0:19: +0:20
|
||||
debug b => _2; // in scope 0 at $DIR/inline-shims.rs:+0:35: +0:36
|
||||
let mut _0: (); // return place in scope 0 at $DIR/inline-shims.rs:+0:54: +0:54
|
||||
let _3: (); // in scope 0 at $DIR/inline-shims.rs:+1:14: +1:40
|
||||
let mut _4: *mut std::vec::Vec<A>; // in scope 0 at $DIR/inline-shims.rs:+1:38: +1:39
|
||||
let mut _5: *mut std::option::Option<B>; // in scope 0 at $DIR/inline-shims.rs:+2:38: +2:39
|
||||
debug a => _1; // in scope 0 at $DIR/inline_shims.rs:+0:19: +0:20
|
||||
debug b => _2; // in scope 0 at $DIR/inline_shims.rs:+0:35: +0:36
|
||||
let mut _0: (); // return place in scope 0 at $DIR/inline_shims.rs:+0:54: +0:54
|
||||
let _3: (); // in scope 0 at $DIR/inline_shims.rs:+1:14: +1:40
|
||||
let mut _4: *mut std::vec::Vec<A>; // in scope 0 at $DIR/inline_shims.rs:+1:38: +1:39
|
||||
let mut _5: *mut std::option::Option<B>; // in scope 0 at $DIR/inline_shims.rs:+2:38: +2:39
|
||||
scope 1 {
|
||||
}
|
||||
scope 2 {
|
||||
+ scope 3 (inlined std::ptr::drop_in_place::<Option<B>> - shim(Some(Option<B>))) { // at $DIR/inline-shims.rs:12:14: 12:40
|
||||
+ scope 3 (inlined std::ptr::drop_in_place::<Option<B>> - shim(Some(Option<B>))) { // at $DIR/inline_shims.rs:12:14: 12:40
|
||||
+ let mut _6: isize; // in scope 3 at $SRC_DIR/core/src/ptr/mod.rs:LL:COL
|
||||
+ let mut _7: isize; // in scope 3 at $SRC_DIR/core/src/ptr/mod.rs:LL:COL
|
||||
+ }
|
||||
}
|
||||
|
||||
bb0: {
|
||||
StorageLive(_3); // scope 0 at $DIR/inline-shims.rs:+1:5: +1:42
|
||||
StorageLive(_4); // scope 1 at $DIR/inline-shims.rs:+1:38: +1:39
|
||||
_4 = _1; // scope 1 at $DIR/inline-shims.rs:+1:38: +1:39
|
||||
_3 = std::ptr::drop_in_place::<Vec<A>>(move _4) -> bb1; // scope 1 at $DIR/inline-shims.rs:+1:14: +1:40
|
||||
StorageLive(_3); // scope 0 at $DIR/inline_shims.rs:+1:5: +1:42
|
||||
StorageLive(_4); // scope 1 at $DIR/inline_shims.rs:+1:38: +1:39
|
||||
_4 = _1; // scope 1 at $DIR/inline_shims.rs:+1:38: +1:39
|
||||
_3 = std::ptr::drop_in_place::<Vec<A>>(move _4) -> bb1; // scope 1 at $DIR/inline_shims.rs:+1:14: +1:40
|
||||
// mir::Constant
|
||||
// + span: $DIR/inline-shims.rs:11:14: 11:37
|
||||
// + span: $DIR/inline_shims.rs:11:14: 11:37
|
||||
// + literal: Const { ty: unsafe fn(*mut Vec<A>) {std::ptr::drop_in_place::<Vec<A>>}, val: Value(<ZST>) }
|
||||
}
|
||||
|
||||
bb1: {
|
||||
StorageDead(_4); // scope 1 at $DIR/inline-shims.rs:+1:39: +1:40
|
||||
StorageDead(_3); // scope 0 at $DIR/inline-shims.rs:+1:41: +1:42
|
||||
StorageLive(_5); // scope 2 at $DIR/inline-shims.rs:+2:38: +2:39
|
||||
_5 = _2; // scope 2 at $DIR/inline-shims.rs:+2:38: +2:39
|
||||
- _0 = std::ptr::drop_in_place::<Option<B>>(move _5) -> bb2; // scope 2 at $DIR/inline-shims.rs:+2:14: +2:40
|
||||
StorageDead(_4); // scope 1 at $DIR/inline_shims.rs:+1:39: +1:40
|
||||
StorageDead(_3); // scope 0 at $DIR/inline_shims.rs:+1:41: +1:42
|
||||
StorageLive(_5); // scope 2 at $DIR/inline_shims.rs:+2:38: +2:39
|
||||
_5 = _2; // scope 2 at $DIR/inline_shims.rs:+2:38: +2:39
|
||||
- _0 = std::ptr::drop_in_place::<Option<B>>(move _5) -> bb2; // scope 2 at $DIR/inline_shims.rs:+2:14: +2:40
|
||||
- // mir::Constant
|
||||
- // + span: $DIR/inline-shims.rs:12:14: 12:37
|
||||
- // + span: $DIR/inline_shims.rs:12:14: 12:37
|
||||
- // + literal: Const { ty: unsafe fn(*mut Option<B>) {std::ptr::drop_in_place::<Option<B>>}, val: Value(<ZST>) }
|
||||
+ StorageLive(_6); // scope 2 at $DIR/inline-shims.rs:+2:14: +2:40
|
||||
+ StorageLive(_7); // scope 2 at $DIR/inline-shims.rs:+2:14: +2:40
|
||||
+ StorageLive(_6); // scope 2 at $DIR/inline_shims.rs:+2:14: +2:40
|
||||
+ StorageLive(_7); // scope 2 at $DIR/inline_shims.rs:+2:14: +2:40
|
||||
+ _6 = discriminant((*_5)); // scope 3 at $SRC_DIR/core/src/ptr/mod.rs:LL:COL
|
||||
+ switchInt(move _6) -> [0_isize: bb2, otherwise: bb3]; // scope 3 at $SRC_DIR/core/src/ptr/mod.rs:LL:COL
|
||||
}
|
||||
|
||||
bb2: {
|
||||
+ StorageDead(_7); // scope 2 at $DIR/inline-shims.rs:+2:14: +2:40
|
||||
+ StorageDead(_6); // scope 2 at $DIR/inline-shims.rs:+2:14: +2:40
|
||||
StorageDead(_5); // scope 2 at $DIR/inline-shims.rs:+2:39: +2:40
|
||||
return; // scope 0 at $DIR/inline-shims.rs:+3:2: +3:2
|
||||
+ StorageDead(_7); // scope 2 at $DIR/inline_shims.rs:+2:14: +2:40
|
||||
+ StorageDead(_6); // scope 2 at $DIR/inline_shims.rs:+2:14: +2:40
|
||||
StorageDead(_5); // scope 2 at $DIR/inline_shims.rs:+2:39: +2:40
|
||||
return; // scope 0 at $DIR/inline_shims.rs:+3:2: +3:2
|
||||
+ }
|
||||
+
|
||||
+ bb3: {
|
||||
|
|
|
@ -2,27 +2,27 @@
|
|||
+ // MIR for `main` after Inline
|
||||
|
||||
fn main() -> () {
|
||||
let mut _0: (); // return place in scope 0 at $DIR/inline-specialization.rs:+0:11: +0:11
|
||||
let _1: u32; // in scope 0 at $DIR/inline-specialization.rs:+1:9: +1:10
|
||||
let mut _0: (); // return place in scope 0 at $DIR/inline_specialization.rs:+0:11: +0:11
|
||||
let _1: u32; // in scope 0 at $DIR/inline_specialization.rs:+1:9: +1:10
|
||||
scope 1 {
|
||||
debug x => _1; // in scope 1 at $DIR/inline-specialization.rs:+1:9: +1:10
|
||||
debug x => _1; // in scope 1 at $DIR/inline_specialization.rs:+1:9: +1:10
|
||||
}
|
||||
+ scope 2 (inlined <Vec<()> as Foo>::bar) { // at $DIR/inline-specialization.rs:5:13: 5:38
|
||||
+ scope 2 (inlined <Vec<()> as Foo>::bar) { // at $DIR/inline_specialization.rs:5:13: 5:38
|
||||
+ }
|
||||
|
||||
bb0: {
|
||||
StorageLive(_1); // scope 0 at $DIR/inline-specialization.rs:+1:9: +1:10
|
||||
- _1 = <Vec<()> as Foo>::bar() -> bb1; // scope 0 at $DIR/inline-specialization.rs:+1:13: +1:38
|
||||
StorageLive(_1); // scope 0 at $DIR/inline_specialization.rs:+1:9: +1:10
|
||||
- _1 = <Vec<()> as Foo>::bar() -> bb1; // scope 0 at $DIR/inline_specialization.rs:+1:13: +1:38
|
||||
- // mir::Constant
|
||||
- // + span: $DIR/inline-specialization.rs:5:13: 5:36
|
||||
- // + span: $DIR/inline_specialization.rs:5:13: 5:36
|
||||
- // + literal: Const { ty: fn() -> u32 {<Vec<()> as Foo>::bar}, val: Value(<ZST>) }
|
||||
- }
|
||||
-
|
||||
- bb1: {
|
||||
+ _1 = const 123_u32; // scope 2 at $DIR/inline-specialization.rs:14:31: 14:34
|
||||
_0 = const (); // scope 0 at $DIR/inline-specialization.rs:+0:11: +2:2
|
||||
StorageDead(_1); // scope 0 at $DIR/inline-specialization.rs:+2:1: +2:2
|
||||
return; // scope 0 at $DIR/inline-specialization.rs:+2:2: +2:2
|
||||
+ _1 = const 123_u32; // scope 2 at $DIR/inline_specialization.rs:14:31: 14:34
|
||||
_0 = const (); // scope 0 at $DIR/inline_specialization.rs:+0:11: +2:2
|
||||
StorageDead(_1); // scope 0 at $DIR/inline_specialization.rs:+2:1: +2:2
|
||||
return; // scope 0 at $DIR/inline_specialization.rs:+2:2: +2:2
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -1,21 +1,21 @@
|
|||
// MIR for `test` after Inline
|
||||
|
||||
fn test(_1: &dyn X) -> u32 {
|
||||
debug x => _1; // in scope 0 at $DIR/inline-trait-method.rs:+0:9: +0:10
|
||||
let mut _0: u32; // return place in scope 0 at $DIR/inline-trait-method.rs:+0:23: +0:26
|
||||
let mut _2: &dyn X; // in scope 0 at $DIR/inline-trait-method.rs:+1:5: +1:10
|
||||
debug x => _1; // in scope 0 at $DIR/inline_trait_method.rs:+0:9: +0:10
|
||||
let mut _0: u32; // return place in scope 0 at $DIR/inline_trait_method.rs:+0:23: +0:26
|
||||
let mut _2: &dyn X; // in scope 0 at $DIR/inline_trait_method.rs:+1:5: +1:10
|
||||
|
||||
bb0: {
|
||||
StorageLive(_2); // scope 0 at $DIR/inline-trait-method.rs:+1:5: +1:10
|
||||
_2 = &(*_1); // scope 0 at $DIR/inline-trait-method.rs:+1:5: +1:10
|
||||
_0 = <dyn X as X>::y(move _2) -> bb1; // scope 0 at $DIR/inline-trait-method.rs:+1:5: +1:10
|
||||
StorageLive(_2); // scope 0 at $DIR/inline_trait_method.rs:+1:5: +1:10
|
||||
_2 = &(*_1); // scope 0 at $DIR/inline_trait_method.rs:+1:5: +1:10
|
||||
_0 = <dyn X as X>::y(move _2) -> bb1; // scope 0 at $DIR/inline_trait_method.rs:+1:5: +1:10
|
||||
// mir::Constant
|
||||
// + span: $DIR/inline-trait-method.rs:9:7: 9:8
|
||||
// + span: $DIR/inline_trait_method.rs:9:7: 9:8
|
||||
// + literal: Const { ty: for<'a> fn(&'a dyn X) -> u32 {<dyn X as X>::y}, val: Value(<ZST>) }
|
||||
}
|
||||
|
||||
bb1: {
|
||||
StorageDead(_2); // scope 0 at $DIR/inline-trait-method.rs:+1:9: +1:10
|
||||
return; // scope 0 at $DIR/inline-trait-method.rs:+2:2: +2:2
|
||||
StorageDead(_2); // scope 0 at $DIR/inline_trait_method.rs:+1:9: +1:10
|
||||
return; // scope 0 at $DIR/inline_trait_method.rs:+2:2: +2:2
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,32 +1,32 @@
|
|||
// MIR for `test2` after Inline
|
||||
|
||||
fn test2(_1: &dyn X) -> bool {
|
||||
debug x => _1; // in scope 0 at $DIR/inline-trait-method_2.rs:+0:10: +0:11
|
||||
let mut _0: bool; // return place in scope 0 at $DIR/inline-trait-method_2.rs:+0:24: +0:28
|
||||
let mut _2: &dyn X; // in scope 0 at $DIR/inline-trait-method_2.rs:+1:10: +1:11
|
||||
let mut _3: &dyn X; // in scope 0 at $DIR/inline-trait-method_2.rs:+1:10: +1:11
|
||||
scope 1 (inlined test) { // at $DIR/inline-trait-method_2.rs:5:5: 5:12
|
||||
debug x => _2; // in scope 1 at $DIR/inline-trait-method_2.rs:9:9: 9:10
|
||||
let mut _4: &dyn X; // in scope 1 at $DIR/inline-trait-method_2.rs:10:5: 10:10
|
||||
debug x => _1; // in scope 0 at $DIR/inline_trait_method_2.rs:+0:10: +0:11
|
||||
let mut _0: bool; // return place in scope 0 at $DIR/inline_trait_method_2.rs:+0:24: +0:28
|
||||
let mut _2: &dyn X; // in scope 0 at $DIR/inline_trait_method_2.rs:+1:10: +1:11
|
||||
let mut _3: &dyn X; // in scope 0 at $DIR/inline_trait_method_2.rs:+1:10: +1:11
|
||||
scope 1 (inlined test) { // at $DIR/inline_trait_method_2.rs:5:5: 5:12
|
||||
debug x => _2; // in scope 1 at $DIR/inline_trait_method_2.rs:9:9: 9:10
|
||||
let mut _4: &dyn X; // in scope 1 at $DIR/inline_trait_method_2.rs:10:5: 10:10
|
||||
}
|
||||
|
||||
bb0: {
|
||||
StorageLive(_2); // scope 0 at $DIR/inline-trait-method_2.rs:+1:10: +1:11
|
||||
StorageLive(_3); // scope 0 at $DIR/inline-trait-method_2.rs:+1:10: +1:11
|
||||
_3 = &(*_1); // scope 0 at $DIR/inline-trait-method_2.rs:+1:10: +1:11
|
||||
_2 = move _3 as &dyn X (Pointer(Unsize)); // scope 0 at $DIR/inline-trait-method_2.rs:+1:10: +1:11
|
||||
StorageDead(_3); // scope 0 at $DIR/inline-trait-method_2.rs:+1:10: +1:11
|
||||
StorageLive(_4); // scope 1 at $DIR/inline-trait-method_2.rs:10:5: 10:10
|
||||
_4 = _2; // scope 1 at $DIR/inline-trait-method_2.rs:10:5: 10:10
|
||||
_0 = <dyn X as X>::y(move _4) -> bb1; // scope 1 at $DIR/inline-trait-method_2.rs:10:5: 10:10
|
||||
StorageLive(_2); // scope 0 at $DIR/inline_trait_method_2.rs:+1:10: +1:11
|
||||
StorageLive(_3); // scope 0 at $DIR/inline_trait_method_2.rs:+1:10: +1:11
|
||||
_3 = &(*_1); // scope 0 at $DIR/inline_trait_method_2.rs:+1:10: +1:11
|
||||
_2 = move _3 as &dyn X (Pointer(Unsize)); // scope 0 at $DIR/inline_trait_method_2.rs:+1:10: +1:11
|
||||
StorageDead(_3); // scope 0 at $DIR/inline_trait_method_2.rs:+1:10: +1:11
|
||||
StorageLive(_4); // scope 1 at $DIR/inline_trait_method_2.rs:10:5: 10:10
|
||||
_4 = _2; // scope 1 at $DIR/inline_trait_method_2.rs:10:5: 10:10
|
||||
_0 = <dyn X as X>::y(move _4) -> bb1; // scope 1 at $DIR/inline_trait_method_2.rs:10:5: 10:10
|
||||
// mir::Constant
|
||||
// + span: $DIR/inline-trait-method_2.rs:10:7: 10:8
|
||||
// + span: $DIR/inline_trait_method_2.rs:10:7: 10:8
|
||||
// + literal: Const { ty: for<'a> fn(&'a dyn X) -> bool {<dyn X as X>::y}, val: Value(<ZST>) }
|
||||
}
|
||||
|
||||
bb1: {
|
||||
StorageDead(_4); // scope 1 at $DIR/inline-trait-method_2.rs:10:9: 10:10
|
||||
StorageDead(_2); // scope 0 at $DIR/inline-trait-method_2.rs:+1:11: +1:12
|
||||
return; // scope 0 at $DIR/inline-trait-method_2.rs:+2:2: +2:2
|
||||
StorageDead(_4); // scope 1 at $DIR/inline_trait_method_2.rs:10:9: 10:10
|
||||
StorageDead(_2); // scope 0 at $DIR/inline_trait_method_2.rs:+1:11: +1:12
|
||||
return; // scope 0 at $DIR/inline_trait_method_2.rs:+2:2: +2:2
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,30 +1,30 @@
|
|||
// MIR for `a` after Inline
|
||||
|
||||
fn a(_1: &mut [T]) -> &mut [T] {
|
||||
debug x => _1; // in scope 0 at $DIR/issue-58867-inline-as-ref-as-mut.rs:+0:13: +0:14
|
||||
let mut _0: &mut [T]; // return place in scope 0 at $DIR/issue-58867-inline-as-ref-as-mut.rs:+0:29: +0:37
|
||||
let mut _2: &mut [T]; // in scope 0 at $DIR/issue-58867-inline-as-ref-as-mut.rs:+1:5: +1:15
|
||||
let mut _3: &mut [T]; // in scope 0 at $DIR/issue-58867-inline-as-ref-as-mut.rs:+1:5: +1:15
|
||||
let mut _4: &mut [T]; // in scope 0 at $DIR/issue-58867-inline-as-ref-as-mut.rs:+1:5: +1:15
|
||||
scope 1 (inlined <[T] as AsMut<[T]>>::as_mut) { // at $DIR/issue-58867-inline-as-ref-as-mut.rs:3:5: 3:15
|
||||
debug x => _1; // in scope 0 at $DIR/issue_58867_inline_as_ref_as_mut.rs:+0:13: +0:14
|
||||
let mut _0: &mut [T]; // return place in scope 0 at $DIR/issue_58867_inline_as_ref_as_mut.rs:+0:29: +0:37
|
||||
let mut _2: &mut [T]; // in scope 0 at $DIR/issue_58867_inline_as_ref_as_mut.rs:+1:5: +1:15
|
||||
let mut _3: &mut [T]; // in scope 0 at $DIR/issue_58867_inline_as_ref_as_mut.rs:+1:5: +1:15
|
||||
let mut _4: &mut [T]; // in scope 0 at $DIR/issue_58867_inline_as_ref_as_mut.rs:+1:5: +1:15
|
||||
scope 1 (inlined <[T] as AsMut<[T]>>::as_mut) { // at $DIR/issue_58867_inline_as_ref_as_mut.rs:3:5: 3:15
|
||||
debug self => _4; // in scope 1 at $SRC_DIR/core/src/convert/mod.rs:LL:COL
|
||||
let mut _5: &mut [T]; // in scope 1 at $SRC_DIR/core/src/convert/mod.rs:LL:COL
|
||||
}
|
||||
|
||||
bb0: {
|
||||
StorageLive(_2); // scope 0 at $DIR/issue-58867-inline-as-ref-as-mut.rs:+1:5: +1:15
|
||||
StorageLive(_3); // scope 0 at $DIR/issue-58867-inline-as-ref-as-mut.rs:+1:5: +1:15
|
||||
StorageLive(_4); // scope 0 at $DIR/issue-58867-inline-as-ref-as-mut.rs:+1:5: +1:15
|
||||
_4 = &mut (*_1); // scope 0 at $DIR/issue-58867-inline-as-ref-as-mut.rs:+1:5: +1:15
|
||||
StorageLive(_2); // scope 0 at $DIR/issue_58867_inline_as_ref_as_mut.rs:+1:5: +1:15
|
||||
StorageLive(_3); // scope 0 at $DIR/issue_58867_inline_as_ref_as_mut.rs:+1:5: +1:15
|
||||
StorageLive(_4); // scope 0 at $DIR/issue_58867_inline_as_ref_as_mut.rs:+1:5: +1:15
|
||||
_4 = &mut (*_1); // scope 0 at $DIR/issue_58867_inline_as_ref_as_mut.rs:+1:5: +1:15
|
||||
StorageLive(_5); // scope 1 at $SRC_DIR/core/src/convert/mod.rs:LL:COL
|
||||
_5 = &mut (*_4); // scope 1 at $SRC_DIR/core/src/convert/mod.rs:LL:COL
|
||||
_3 = &mut (*_5); // scope 1 at $SRC_DIR/core/src/convert/mod.rs:LL:COL
|
||||
StorageDead(_5); // scope 1 at $SRC_DIR/core/src/convert/mod.rs:LL:COL
|
||||
_2 = &mut (*_3); // scope 0 at $DIR/issue-58867-inline-as-ref-as-mut.rs:+1:5: +1:15
|
||||
StorageDead(_4); // scope 0 at $DIR/issue-58867-inline-as-ref-as-mut.rs:+1:14: +1:15
|
||||
_0 = &mut (*_2); // scope 0 at $DIR/issue-58867-inline-as-ref-as-mut.rs:+1:5: +1:15
|
||||
StorageDead(_3); // scope 0 at $DIR/issue-58867-inline-as-ref-as-mut.rs:+2:1: +2:2
|
||||
StorageDead(_2); // scope 0 at $DIR/issue-58867-inline-as-ref-as-mut.rs:+2:1: +2:2
|
||||
return; // scope 0 at $DIR/issue-58867-inline-as-ref-as-mut.rs:+2:2: +2:2
|
||||
_2 = &mut (*_3); // scope 0 at $DIR/issue_58867_inline_as_ref_as_mut.rs:+1:5: +1:15
|
||||
StorageDead(_4); // scope 0 at $DIR/issue_58867_inline_as_ref_as_mut.rs:+1:14: +1:15
|
||||
_0 = &mut (*_2); // scope 0 at $DIR/issue_58867_inline_as_ref_as_mut.rs:+1:5: +1:15
|
||||
StorageDead(_3); // scope 0 at $DIR/issue_58867_inline_as_ref_as_mut.rs:+2:1: +2:2
|
||||
StorageDead(_2); // scope 0 at $DIR/issue_58867_inline_as_ref_as_mut.rs:+2:1: +2:2
|
||||
return; // scope 0 at $DIR/issue_58867_inline_as_ref_as_mut.rs:+2:2: +2:2
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,12 +1,12 @@
|
|||
// MIR for `b` after Inline
|
||||
|
||||
fn b(_1: &mut Box<T>) -> &mut T {
|
||||
debug x => _1; // in scope 0 at $DIR/issue-58867-inline-as-ref-as-mut.rs:+0:13: +0:14
|
||||
let mut _0: &mut T; // return place in scope 0 at $DIR/issue-58867-inline-as-ref-as-mut.rs:+0:32: +0:38
|
||||
let mut _2: &mut T; // in scope 0 at $DIR/issue-58867-inline-as-ref-as-mut.rs:+1:5: +1:15
|
||||
let mut _3: &mut T; // in scope 0 at $DIR/issue-58867-inline-as-ref-as-mut.rs:+1:5: +1:15
|
||||
let mut _4: &mut std::boxed::Box<T>; // in scope 0 at $DIR/issue-58867-inline-as-ref-as-mut.rs:+1:5: +1:15
|
||||
scope 1 (inlined <Box<T> as AsMut<T>>::as_mut) { // at $DIR/issue-58867-inline-as-ref-as-mut.rs:8:5: 8:15
|
||||
debug x => _1; // in scope 0 at $DIR/issue_58867_inline_as_ref_as_mut.rs:+0:13: +0:14
|
||||
let mut _0: &mut T; // return place in scope 0 at $DIR/issue_58867_inline_as_ref_as_mut.rs:+0:32: +0:38
|
||||
let mut _2: &mut T; // in scope 0 at $DIR/issue_58867_inline_as_ref_as_mut.rs:+1:5: +1:15
|
||||
let mut _3: &mut T; // in scope 0 at $DIR/issue_58867_inline_as_ref_as_mut.rs:+1:5: +1:15
|
||||
let mut _4: &mut std::boxed::Box<T>; // in scope 0 at $DIR/issue_58867_inline_as_ref_as_mut.rs:+1:5: +1:15
|
||||
scope 1 (inlined <Box<T> as AsMut<T>>::as_mut) { // at $DIR/issue_58867_inline_as_ref_as_mut.rs:8:5: 8:15
|
||||
debug self => _4; // in scope 1 at $SRC_DIR/alloc/src/boxed.rs:LL:COL
|
||||
let mut _5: &mut T; // in scope 1 at $SRC_DIR/alloc/src/boxed.rs:LL:COL
|
||||
let mut _6: &mut T; // in scope 1 at $SRC_DIR/alloc/src/boxed.rs:LL:COL
|
||||
|
@ -15,10 +15,10 @@ fn b(_1: &mut Box<T>) -> &mut T {
|
|||
}
|
||||
|
||||
bb0: {
|
||||
StorageLive(_2); // scope 0 at $DIR/issue-58867-inline-as-ref-as-mut.rs:+1:5: +1:15
|
||||
StorageLive(_3); // scope 0 at $DIR/issue-58867-inline-as-ref-as-mut.rs:+1:5: +1:15
|
||||
StorageLive(_4); // scope 0 at $DIR/issue-58867-inline-as-ref-as-mut.rs:+1:5: +1:15
|
||||
_4 = &mut (*_1); // scope 0 at $DIR/issue-58867-inline-as-ref-as-mut.rs:+1:5: +1:15
|
||||
StorageLive(_2); // scope 0 at $DIR/issue_58867_inline_as_ref_as_mut.rs:+1:5: +1:15
|
||||
StorageLive(_3); // scope 0 at $DIR/issue_58867_inline_as_ref_as_mut.rs:+1:5: +1:15
|
||||
StorageLive(_4); // scope 0 at $DIR/issue_58867_inline_as_ref_as_mut.rs:+1:5: +1:15
|
||||
_4 = &mut (*_1); // scope 0 at $DIR/issue_58867_inline_as_ref_as_mut.rs:+1:5: +1:15
|
||||
StorageLive(_5); // scope 1 at $SRC_DIR/alloc/src/boxed.rs:LL:COL
|
||||
StorageLive(_6); // scope 1 at $SRC_DIR/alloc/src/boxed.rs:LL:COL
|
||||
_7 = deref_copy (*_4); // scope 1 at $SRC_DIR/alloc/src/boxed.rs:LL:COL
|
||||
|
@ -28,11 +28,11 @@ fn b(_1: &mut Box<T>) -> &mut T {
|
|||
_3 = &mut (*_5); // scope 1 at $SRC_DIR/alloc/src/boxed.rs:LL:COL
|
||||
StorageDead(_6); // scope 1 at $SRC_DIR/alloc/src/boxed.rs:LL:COL
|
||||
StorageDead(_5); // scope 1 at $SRC_DIR/alloc/src/boxed.rs:LL:COL
|
||||
_2 = &mut (*_3); // scope 0 at $DIR/issue-58867-inline-as-ref-as-mut.rs:+1:5: +1:15
|
||||
StorageDead(_4); // scope 0 at $DIR/issue-58867-inline-as-ref-as-mut.rs:+1:14: +1:15
|
||||
_0 = &mut (*_2); // scope 0 at $DIR/issue-58867-inline-as-ref-as-mut.rs:+1:5: +1:15
|
||||
StorageDead(_3); // scope 0 at $DIR/issue-58867-inline-as-ref-as-mut.rs:+2:1: +2:2
|
||||
StorageDead(_2); // scope 0 at $DIR/issue-58867-inline-as-ref-as-mut.rs:+2:1: +2:2
|
||||
return; // scope 0 at $DIR/issue-58867-inline-as-ref-as-mut.rs:+2:2: +2:2
|
||||
_2 = &mut (*_3); // scope 0 at $DIR/issue_58867_inline_as_ref_as_mut.rs:+1:5: +1:15
|
||||
StorageDead(_4); // scope 0 at $DIR/issue_58867_inline_as_ref_as_mut.rs:+1:14: +1:15
|
||||
_0 = &mut (*_2); // scope 0 at $DIR/issue_58867_inline_as_ref_as_mut.rs:+1:5: +1:15
|
||||
StorageDead(_3); // scope 0 at $DIR/issue_58867_inline_as_ref_as_mut.rs:+2:1: +2:2
|
||||
StorageDead(_2); // scope 0 at $DIR/issue_58867_inline_as_ref_as_mut.rs:+2:1: +2:2
|
||||
return; // scope 0 at $DIR/issue_58867_inline_as_ref_as_mut.rs:+2:2: +2:2
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,22 +1,22 @@
|
|||
// MIR for `c` after Inline
|
||||
|
||||
fn c(_1: &[T]) -> &[T] {
|
||||
debug x => _1; // in scope 0 at $DIR/issue-58867-inline-as-ref-as-mut.rs:+0:13: +0:14
|
||||
let mut _0: &[T]; // return place in scope 0 at $DIR/issue-58867-inline-as-ref-as-mut.rs:+0:25: +0:29
|
||||
let _2: &[T]; // in scope 0 at $DIR/issue-58867-inline-as-ref-as-mut.rs:+1:5: +1:15
|
||||
let mut _3: &[T]; // in scope 0 at $DIR/issue-58867-inline-as-ref-as-mut.rs:+1:5: +1:15
|
||||
scope 1 (inlined <[T] as AsRef<[T]>>::as_ref) { // at $DIR/issue-58867-inline-as-ref-as-mut.rs:13:5: 13:15
|
||||
debug x => _1; // in scope 0 at $DIR/issue_58867_inline_as_ref_as_mut.rs:+0:13: +0:14
|
||||
let mut _0: &[T]; // return place in scope 0 at $DIR/issue_58867_inline_as_ref_as_mut.rs:+0:25: +0:29
|
||||
let _2: &[T]; // in scope 0 at $DIR/issue_58867_inline_as_ref_as_mut.rs:+1:5: +1:15
|
||||
let mut _3: &[T]; // in scope 0 at $DIR/issue_58867_inline_as_ref_as_mut.rs:+1:5: +1:15
|
||||
scope 1 (inlined <[T] as AsRef<[T]>>::as_ref) { // at $DIR/issue_58867_inline_as_ref_as_mut.rs:13:5: 13:15
|
||||
debug self => _3; // in scope 1 at $SRC_DIR/core/src/convert/mod.rs:LL:COL
|
||||
}
|
||||
|
||||
bb0: {
|
||||
StorageLive(_2); // scope 0 at $DIR/issue-58867-inline-as-ref-as-mut.rs:+1:5: +1:15
|
||||
StorageLive(_3); // scope 0 at $DIR/issue-58867-inline-as-ref-as-mut.rs:+1:5: +1:15
|
||||
_3 = &(*_1); // scope 0 at $DIR/issue-58867-inline-as-ref-as-mut.rs:+1:5: +1:15
|
||||
StorageLive(_2); // scope 0 at $DIR/issue_58867_inline_as_ref_as_mut.rs:+1:5: +1:15
|
||||
StorageLive(_3); // scope 0 at $DIR/issue_58867_inline_as_ref_as_mut.rs:+1:5: +1:15
|
||||
_3 = &(*_1); // scope 0 at $DIR/issue_58867_inline_as_ref_as_mut.rs:+1:5: +1:15
|
||||
_2 = _3; // scope 1 at $SRC_DIR/core/src/convert/mod.rs:LL:COL
|
||||
_0 = &(*_2); // scope 0 at $DIR/issue-58867-inline-as-ref-as-mut.rs:+1:5: +1:15
|
||||
StorageDead(_3); // scope 0 at $DIR/issue-58867-inline-as-ref-as-mut.rs:+1:14: +1:15
|
||||
StorageDead(_2); // scope 0 at $DIR/issue-58867-inline-as-ref-as-mut.rs:+2:1: +2:2
|
||||
return; // scope 0 at $DIR/issue-58867-inline-as-ref-as-mut.rs:+2:2: +2:2
|
||||
_0 = &(*_2); // scope 0 at $DIR/issue_58867_inline_as_ref_as_mut.rs:+1:5: +1:15
|
||||
StorageDead(_3); // scope 0 at $DIR/issue_58867_inline_as_ref_as_mut.rs:+1:14: +1:15
|
||||
StorageDead(_2); // scope 0 at $DIR/issue_58867_inline_as_ref_as_mut.rs:+2:1: +2:2
|
||||
return; // scope 0 at $DIR/issue_58867_inline_as_ref_as_mut.rs:+2:2: +2:2
|
||||
}
|
||||
}
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Reference in a new issue