Add tag for ignoring wasm

This commit is contained in:
kadmin 2022-04-19 15:39:49 +00:00
parent 5d9f5145ac
commit 610e1a1e05
9 changed files with 269 additions and 268 deletions

View file

@ -2,54 +2,54 @@
+ // MIR for `cand` after EnumSizeOpt
fn cand() -> () {
let mut _0: (); // return place in scope 0 at $DIR/enum_opt.rs:49:15: 49:15
let mut _1: Candidate; // in scope 0 at $DIR/enum_opt.rs:50:7: 50:12
let mut _2: Candidate; // in scope 0 at $DIR/enum_opt.rs:51:7: 51:34
let mut _3: [u64; 1024]; // in scope 0 at $DIR/enum_opt.rs:51:24: 51:33
+ let mut _4: [usize; 2]; // in scope 0 at $DIR/enum_opt.rs:51:3: 51:34
+ let mut _5: isize; // in scope 0 at $DIR/enum_opt.rs:51:3: 51:34
+ let mut _6: usize; // in scope 0 at $DIR/enum_opt.rs:51:3: 51:34
+ let mut _7: usize; // in scope 0 at $DIR/enum_opt.rs:51:3: 51:34
+ let mut _8: *mut Candidate; // in scope 0 at $DIR/enum_opt.rs:51:3: 51:34
+ let mut _9: *mut u8; // in scope 0 at $DIR/enum_opt.rs:51:3: 51:34
+ let mut _10: *const Candidate; // in scope 0 at $DIR/enum_opt.rs:51:3: 51:34
+ let mut _11: *const u8; // in scope 0 at $DIR/enum_opt.rs:51:3: 51:34
let mut _0: (); // return place in scope 0 at $DIR/enum_opt.rs:50:15: 50:15
let mut _1: Candidate; // in scope 0 at $DIR/enum_opt.rs:51:7: 51:12
let mut _2: Candidate; // in scope 0 at $DIR/enum_opt.rs:52:7: 52:34
let mut _3: [u64; 1024]; // in scope 0 at $DIR/enum_opt.rs:52:24: 52:33
+ let mut _4: [usize; 2]; // in scope 0 at $DIR/enum_opt.rs:52:3: 52:34
+ let mut _5: isize; // in scope 0 at $DIR/enum_opt.rs:52:3: 52:34
+ let mut _6: usize; // in scope 0 at $DIR/enum_opt.rs:52:3: 52:34
+ let mut _7: usize; // in scope 0 at $DIR/enum_opt.rs:52:3: 52:34
+ let mut _8: *mut Candidate; // in scope 0 at $DIR/enum_opt.rs:52:3: 52:34
+ let mut _9: *mut u8; // in scope 0 at $DIR/enum_opt.rs:52:3: 52:34
+ let mut _10: *const Candidate; // in scope 0 at $DIR/enum_opt.rs:52:3: 52:34
+ let mut _11: *const u8; // in scope 0 at $DIR/enum_opt.rs:52:3: 52:34
scope 1 {
debug a => _1; // in scope 1 at $DIR/enum_opt.rs:50:7: 50:12
debug a => _1; // in scope 1 at $DIR/enum_opt.rs:51:7: 51:12
}
bb0: {
StorageLive(_1); // scope 0 at $DIR/enum_opt.rs:50:7: 50:12
Deinit(_1); // scope 0 at $DIR/enum_opt.rs:50:15: 50:34
((_1 as Small).0: u8) = const 1_u8; // scope 0 at $DIR/enum_opt.rs:50:15: 50:34
discriminant(_1) = 0; // scope 0 at $DIR/enum_opt.rs:50:15: 50:34
StorageLive(_2); // scope 1 at $DIR/enum_opt.rs:51:7: 51:34
StorageLive(_3); // scope 1 at $DIR/enum_opt.rs:51:24: 51:33
_3 = [const 1_u64; 1024]; // scope 1 at $DIR/enum_opt.rs:51:24: 51:33
Deinit(_2); // scope 1 at $DIR/enum_opt.rs:51:7: 51:34
((_2 as Large).0: [u64; 1024]) = move _3; // scope 1 at $DIR/enum_opt.rs:51:7: 51:34
discriminant(_2) = 1; // scope 1 at $DIR/enum_opt.rs:51:7: 51:34
StorageDead(_3); // scope 1 at $DIR/enum_opt.rs:51:33: 51:34
- _1 = move _2; // scope 1 at $DIR/enum_opt.rs:51:3: 51:34
+ StorageLive(_4); // scope 1 at $DIR/enum_opt.rs:51:3: 51:34
+ _4 = const [2_usize, 8196_usize]; // scope 1 at $DIR/enum_opt.rs:51:3: 51:34
+ _5 = discriminant(_2); // scope 1 at $DIR/enum_opt.rs:51:3: 51:34
+ _6 = _5 as usize (Misc); // scope 1 at $DIR/enum_opt.rs:51:3: 51:34
+ _7 = _4[_6]; // scope 1 at $DIR/enum_opt.rs:51:3: 51:34
+ _8 = &raw mut _1; // scope 1 at $DIR/enum_opt.rs:51:3: 51:34
+ _9 = _8 as *mut u8 (Misc); // scope 1 at $DIR/enum_opt.rs:51:3: 51:34
+ _10 = &raw const _2; // scope 1 at $DIR/enum_opt.rs:51:3: 51:34
+ _11 = _10 as *const u8 (Misc); // scope 1 at $DIR/enum_opt.rs:51:3: 51:34
+ copy_nonoverlapping(src=_11, dst=_9, count=_7); // scope 1 at $DIR/enum_opt.rs:51:3: 51:34
+ StorageDead(_4); // scope 1 at $DIR/enum_opt.rs:51:3: 51:34
StorageDead(_2); // scope 1 at $DIR/enum_opt.rs:51:33: 51:34
_0 = const (); // scope 0 at $DIR/enum_opt.rs:49:15: 52:2
StorageDead(_1); // scope 0 at $DIR/enum_opt.rs:52:1: 52:2
return; // scope 0 at $DIR/enum_opt.rs:52:2: 52:2
StorageLive(_1); // scope 0 at $DIR/enum_opt.rs:51:7: 51:12
Deinit(_1); // scope 0 at $DIR/enum_opt.rs:51:15: 51:34
((_1 as Small).0: u8) = const 1_u8; // scope 0 at $DIR/enum_opt.rs:51:15: 51:34
discriminant(_1) = 0; // scope 0 at $DIR/enum_opt.rs:51:15: 51:34
StorageLive(_2); // scope 1 at $DIR/enum_opt.rs:52:7: 52:34
StorageLive(_3); // scope 1 at $DIR/enum_opt.rs:52:24: 52:33
_3 = [const 1_u64; 1024]; // scope 1 at $DIR/enum_opt.rs:52:24: 52:33
Deinit(_2); // scope 1 at $DIR/enum_opt.rs:52:7: 52:34
((_2 as Large).0: [u64; 1024]) = move _3; // scope 1 at $DIR/enum_opt.rs:52:7: 52:34
discriminant(_2) = 1; // scope 1 at $DIR/enum_opt.rs:52:7: 52:34
StorageDead(_3); // scope 1 at $DIR/enum_opt.rs:52:33: 52:34
- _1 = move _2; // scope 1 at $DIR/enum_opt.rs:52:3: 52:34
+ StorageLive(_4); // scope 1 at $DIR/enum_opt.rs:52:3: 52:34
+ _4 = const [2_usize, 8196_usize]; // scope 1 at $DIR/enum_opt.rs:52:3: 52:34
+ _5 = discriminant(_2); // scope 1 at $DIR/enum_opt.rs:52:3: 52:34
+ _6 = _5 as usize (Misc); // scope 1 at $DIR/enum_opt.rs:52:3: 52:34
+ _7 = _4[_6]; // scope 1 at $DIR/enum_opt.rs:52:3: 52:34
+ _8 = &raw mut _1; // scope 1 at $DIR/enum_opt.rs:52:3: 52:34
+ _9 = _8 as *mut u8 (Misc); // scope 1 at $DIR/enum_opt.rs:52:3: 52:34
+ _10 = &raw const _2; // scope 1 at $DIR/enum_opt.rs:52:3: 52:34
+ _11 = _10 as *const u8 (Misc); // scope 1 at $DIR/enum_opt.rs:52:3: 52:34
+ copy_nonoverlapping(src=_11, dst=_9, count=_7); // scope 1 at $DIR/enum_opt.rs:52:3: 52:34
+ StorageDead(_4); // scope 1 at $DIR/enum_opt.rs:52:3: 52:34
StorageDead(_2); // scope 1 at $DIR/enum_opt.rs:52:33: 52:34
_0 = const (); // scope 0 at $DIR/enum_opt.rs:50:15: 53:2
StorageDead(_1); // scope 0 at $DIR/enum_opt.rs:53:1: 53:2
return; // scope 0 at $DIR/enum_opt.rs:53:2: 53:2
}
bb1 (cleanup): {
resume; // scope 0 at $DIR/enum_opt.rs:49:1: 52:2
resume; // scope 0 at $DIR/enum_opt.rs:50:1: 53:2
}
}

View file

@ -2,54 +2,54 @@
+ // MIR for `cand` after EnumSizeOpt
fn cand() -> () {
let mut _0: (); // return place in scope 0 at $DIR/enum_opt.rs:49:15: 49:15
let mut _1: Candidate; // in scope 0 at $DIR/enum_opt.rs:50:7: 50:12
let mut _2: Candidate; // in scope 0 at $DIR/enum_opt.rs:51:7: 51:34
let mut _3: [u64; 1024]; // in scope 0 at $DIR/enum_opt.rs:51:24: 51:33
+ let mut _4: [usize; 2]; // in scope 0 at $DIR/enum_opt.rs:51:3: 51:34
+ let mut _5: isize; // in scope 0 at $DIR/enum_opt.rs:51:3: 51:34
+ let mut _6: usize; // in scope 0 at $DIR/enum_opt.rs:51:3: 51:34
+ let mut _7: usize; // in scope 0 at $DIR/enum_opt.rs:51:3: 51:34
+ let mut _8: *mut Candidate; // in scope 0 at $DIR/enum_opt.rs:51:3: 51:34
+ let mut _9: *mut u8; // in scope 0 at $DIR/enum_opt.rs:51:3: 51:34
+ let mut _10: *const Candidate; // in scope 0 at $DIR/enum_opt.rs:51:3: 51:34
+ let mut _11: *const u8; // in scope 0 at $DIR/enum_opt.rs:51:3: 51:34
let mut _0: (); // return place in scope 0 at $DIR/enum_opt.rs:50:15: 50:15
let mut _1: Candidate; // in scope 0 at $DIR/enum_opt.rs:51:7: 51:12
let mut _2: Candidate; // in scope 0 at $DIR/enum_opt.rs:52:7: 52:34
let mut _3: [u64; 1024]; // in scope 0 at $DIR/enum_opt.rs:52:24: 52:33
+ let mut _4: [usize; 2]; // in scope 0 at $DIR/enum_opt.rs:52:3: 52:34
+ let mut _5: isize; // in scope 0 at $DIR/enum_opt.rs:52:3: 52:34
+ let mut _6: usize; // in scope 0 at $DIR/enum_opt.rs:52:3: 52:34
+ let mut _7: usize; // in scope 0 at $DIR/enum_opt.rs:52:3: 52:34
+ let mut _8: *mut Candidate; // in scope 0 at $DIR/enum_opt.rs:52:3: 52:34
+ let mut _9: *mut u8; // in scope 0 at $DIR/enum_opt.rs:52:3: 52:34
+ let mut _10: *const Candidate; // in scope 0 at $DIR/enum_opt.rs:52:3: 52:34
+ let mut _11: *const u8; // in scope 0 at $DIR/enum_opt.rs:52:3: 52:34
scope 1 {
debug a => _1; // in scope 1 at $DIR/enum_opt.rs:50:7: 50:12
debug a => _1; // in scope 1 at $DIR/enum_opt.rs:51:7: 51:12
}
bb0: {
StorageLive(_1); // scope 0 at $DIR/enum_opt.rs:50:7: 50:12
Deinit(_1); // scope 0 at $DIR/enum_opt.rs:50:15: 50:34
((_1 as Small).0: u8) = const 1_u8; // scope 0 at $DIR/enum_opt.rs:50:15: 50:34
discriminant(_1) = 0; // scope 0 at $DIR/enum_opt.rs:50:15: 50:34
StorageLive(_2); // scope 1 at $DIR/enum_opt.rs:51:7: 51:34
StorageLive(_3); // scope 1 at $DIR/enum_opt.rs:51:24: 51:33
_3 = [const 1_u64; 1024]; // scope 1 at $DIR/enum_opt.rs:51:24: 51:33
Deinit(_2); // scope 1 at $DIR/enum_opt.rs:51:7: 51:34
((_2 as Large).0: [u64; 1024]) = move _3; // scope 1 at $DIR/enum_opt.rs:51:7: 51:34
discriminant(_2) = 1; // scope 1 at $DIR/enum_opt.rs:51:7: 51:34
StorageDead(_3); // scope 1 at $DIR/enum_opt.rs:51:33: 51:34
- _1 = move _2; // scope 1 at $DIR/enum_opt.rs:51:3: 51:34
+ StorageLive(_4); // scope 1 at $DIR/enum_opt.rs:51:3: 51:34
+ _4 = const [2_usize, 8200_usize]; // scope 1 at $DIR/enum_opt.rs:51:3: 51:34
+ _5 = discriminant(_2); // scope 1 at $DIR/enum_opt.rs:51:3: 51:34
+ _6 = _5 as usize (Misc); // scope 1 at $DIR/enum_opt.rs:51:3: 51:34
+ _7 = _4[_6]; // scope 1 at $DIR/enum_opt.rs:51:3: 51:34
+ _8 = &raw mut _1; // scope 1 at $DIR/enum_opt.rs:51:3: 51:34
+ _9 = _8 as *mut u8 (Misc); // scope 1 at $DIR/enum_opt.rs:51:3: 51:34
+ _10 = &raw const _2; // scope 1 at $DIR/enum_opt.rs:51:3: 51:34
+ _11 = _10 as *const u8 (Misc); // scope 1 at $DIR/enum_opt.rs:51:3: 51:34
+ copy_nonoverlapping(src=_11, dst=_9, count=_7); // scope 1 at $DIR/enum_opt.rs:51:3: 51:34
+ StorageDead(_4); // scope 1 at $DIR/enum_opt.rs:51:3: 51:34
StorageDead(_2); // scope 1 at $DIR/enum_opt.rs:51:33: 51:34
_0 = const (); // scope 0 at $DIR/enum_opt.rs:49:15: 52:2
StorageDead(_1); // scope 0 at $DIR/enum_opt.rs:52:1: 52:2
return; // scope 0 at $DIR/enum_opt.rs:52:2: 52:2
StorageLive(_1); // scope 0 at $DIR/enum_opt.rs:51:7: 51:12
Deinit(_1); // scope 0 at $DIR/enum_opt.rs:51:15: 51:34
((_1 as Small).0: u8) = const 1_u8; // scope 0 at $DIR/enum_opt.rs:51:15: 51:34
discriminant(_1) = 0; // scope 0 at $DIR/enum_opt.rs:51:15: 51:34
StorageLive(_2); // scope 1 at $DIR/enum_opt.rs:52:7: 52:34
StorageLive(_3); // scope 1 at $DIR/enum_opt.rs:52:24: 52:33
_3 = [const 1_u64; 1024]; // scope 1 at $DIR/enum_opt.rs:52:24: 52:33
Deinit(_2); // scope 1 at $DIR/enum_opt.rs:52:7: 52:34
((_2 as Large).0: [u64; 1024]) = move _3; // scope 1 at $DIR/enum_opt.rs:52:7: 52:34
discriminant(_2) = 1; // scope 1 at $DIR/enum_opt.rs:52:7: 52:34
StorageDead(_3); // scope 1 at $DIR/enum_opt.rs:52:33: 52:34
- _1 = move _2; // scope 1 at $DIR/enum_opt.rs:52:3: 52:34
+ StorageLive(_4); // scope 1 at $DIR/enum_opt.rs:52:3: 52:34
+ _4 = const [2_usize, 8200_usize]; // scope 1 at $DIR/enum_opt.rs:52:3: 52:34
+ _5 = discriminant(_2); // scope 1 at $DIR/enum_opt.rs:52:3: 52:34
+ _6 = _5 as usize (Misc); // scope 1 at $DIR/enum_opt.rs:52:3: 52:34
+ _7 = _4[_6]; // scope 1 at $DIR/enum_opt.rs:52:3: 52:34
+ _8 = &raw mut _1; // scope 1 at $DIR/enum_opt.rs:52:3: 52:34
+ _9 = _8 as *mut u8 (Misc); // scope 1 at $DIR/enum_opt.rs:52:3: 52:34
+ _10 = &raw const _2; // scope 1 at $DIR/enum_opt.rs:52:3: 52:34
+ _11 = _10 as *const u8 (Misc); // scope 1 at $DIR/enum_opt.rs:52:3: 52:34
+ copy_nonoverlapping(src=_11, dst=_9, count=_7); // scope 1 at $DIR/enum_opt.rs:52:3: 52:34
+ StorageDead(_4); // scope 1 at $DIR/enum_opt.rs:52:3: 52:34
StorageDead(_2); // scope 1 at $DIR/enum_opt.rs:52:33: 52:34
_0 = const (); // scope 0 at $DIR/enum_opt.rs:50:15: 53:2
StorageDead(_1); // scope 0 at $DIR/enum_opt.rs:53:1: 53:2
return; // scope 0 at $DIR/enum_opt.rs:53:2: 53:2
}
bb1 (cleanup): {
resume; // scope 0 at $DIR/enum_opt.rs:49:1: 52:2
resume; // scope 0 at $DIR/enum_opt.rs:50:1: 53:2
}
}

View file

@ -2,34 +2,34 @@
+ // MIR for `invalid` after EnumSizeOpt
fn invalid() -> () {
let mut _0: (); // return place in scope 0 at $DIR/enum_opt.rs:55:18: 55:18
let mut _1: InvalidIdxs; // in scope 0 at $DIR/enum_opt.rs:56:7: 56:12
let mut _2: InvalidIdxs; // in scope 0 at $DIR/enum_opt.rs:57:7: 57:36
let mut _3: [u64; 1024]; // in scope 0 at $DIR/enum_opt.rs:57:26: 57:35
let mut _0: (); // return place in scope 0 at $DIR/enum_opt.rs:56:18: 56:18
let mut _1: InvalidIdxs; // in scope 0 at $DIR/enum_opt.rs:57:7: 57:12
let mut _2: InvalidIdxs; // in scope 0 at $DIR/enum_opt.rs:58:7: 58:36
let mut _3: [u64; 1024]; // in scope 0 at $DIR/enum_opt.rs:58:26: 58:35
scope 1 {
debug a => _1; // in scope 1 at $DIR/enum_opt.rs:56:7: 56:12
debug a => _1; // in scope 1 at $DIR/enum_opt.rs:57:7: 57:12
}
bb0: {
StorageLive(_1); // scope 0 at $DIR/enum_opt.rs:56:7: 56:12
Deinit(_1); // scope 0 at $DIR/enum_opt.rs:56:15: 56:29
discriminant(_1) = 0; // scope 0 at $DIR/enum_opt.rs:56:15: 56:29
StorageLive(_2); // scope 1 at $DIR/enum_opt.rs:57:7: 57:36
StorageLive(_3); // scope 1 at $DIR/enum_opt.rs:57:26: 57:35
_3 = [const 0_u64; 1024]; // scope 1 at $DIR/enum_opt.rs:57:26: 57:35
Deinit(_2); // scope 1 at $DIR/enum_opt.rs:57:7: 57:36
((_2 as Large).0: [u64; 1024]) = move _3; // scope 1 at $DIR/enum_opt.rs:57:7: 57:36
discriminant(_2) = 1; // scope 1 at $DIR/enum_opt.rs:57:7: 57:36
StorageDead(_3); // scope 1 at $DIR/enum_opt.rs:57:35: 57:36
_1 = move _2; // scope 1 at $DIR/enum_opt.rs:57:3: 57:36
StorageDead(_2); // scope 1 at $DIR/enum_opt.rs:57:35: 57:36
_0 = const (); // scope 0 at $DIR/enum_opt.rs:55:18: 58:2
StorageDead(_1); // scope 0 at $DIR/enum_opt.rs:58:1: 58:2
return; // scope 0 at $DIR/enum_opt.rs:58:2: 58:2
StorageLive(_1); // scope 0 at $DIR/enum_opt.rs:57:7: 57:12
Deinit(_1); // scope 0 at $DIR/enum_opt.rs:57:15: 57:29
discriminant(_1) = 0; // scope 0 at $DIR/enum_opt.rs:57:15: 57:29
StorageLive(_2); // scope 1 at $DIR/enum_opt.rs:58:7: 58:36
StorageLive(_3); // scope 1 at $DIR/enum_opt.rs:58:26: 58:35
_3 = [const 0_u64; 1024]; // scope 1 at $DIR/enum_opt.rs:58:26: 58:35
Deinit(_2); // scope 1 at $DIR/enum_opt.rs:58:7: 58:36
((_2 as Large).0: [u64; 1024]) = move _3; // scope 1 at $DIR/enum_opt.rs:58:7: 58:36
discriminant(_2) = 1; // scope 1 at $DIR/enum_opt.rs:58:7: 58:36
StorageDead(_3); // scope 1 at $DIR/enum_opt.rs:58:35: 58:36
_1 = move _2; // scope 1 at $DIR/enum_opt.rs:58:3: 58:36
StorageDead(_2); // scope 1 at $DIR/enum_opt.rs:58:35: 58:36
_0 = const (); // scope 0 at $DIR/enum_opt.rs:56:18: 59:2
StorageDead(_1); // scope 0 at $DIR/enum_opt.rs:59:1: 59:2
return; // scope 0 at $DIR/enum_opt.rs:59:2: 59:2
}
bb1 (cleanup): {
resume; // scope 0 at $DIR/enum_opt.rs:55:1: 58:2
resume; // scope 0 at $DIR/enum_opt.rs:56:1: 59:2
}
}

View file

@ -2,34 +2,34 @@
+ // MIR for `invalid` after EnumSizeOpt
fn invalid() -> () {
let mut _0: (); // return place in scope 0 at $DIR/enum_opt.rs:55:18: 55:18
let mut _1: InvalidIdxs; // in scope 0 at $DIR/enum_opt.rs:56:7: 56:12
let mut _2: InvalidIdxs; // in scope 0 at $DIR/enum_opt.rs:57:7: 57:36
let mut _3: [u64; 1024]; // in scope 0 at $DIR/enum_opt.rs:57:26: 57:35
let mut _0: (); // return place in scope 0 at $DIR/enum_opt.rs:56:18: 56:18
let mut _1: InvalidIdxs; // in scope 0 at $DIR/enum_opt.rs:57:7: 57:12
let mut _2: InvalidIdxs; // in scope 0 at $DIR/enum_opt.rs:58:7: 58:36
let mut _3: [u64; 1024]; // in scope 0 at $DIR/enum_opt.rs:58:26: 58:35
scope 1 {
debug a => _1; // in scope 1 at $DIR/enum_opt.rs:56:7: 56:12
debug a => _1; // in scope 1 at $DIR/enum_opt.rs:57:7: 57:12
}
bb0: {
StorageLive(_1); // scope 0 at $DIR/enum_opt.rs:56:7: 56:12
Deinit(_1); // scope 0 at $DIR/enum_opt.rs:56:15: 56:29
discriminant(_1) = 0; // scope 0 at $DIR/enum_opt.rs:56:15: 56:29
StorageLive(_2); // scope 1 at $DIR/enum_opt.rs:57:7: 57:36
StorageLive(_3); // scope 1 at $DIR/enum_opt.rs:57:26: 57:35
_3 = [const 0_u64; 1024]; // scope 1 at $DIR/enum_opt.rs:57:26: 57:35
Deinit(_2); // scope 1 at $DIR/enum_opt.rs:57:7: 57:36
((_2 as Large).0: [u64; 1024]) = move _3; // scope 1 at $DIR/enum_opt.rs:57:7: 57:36
discriminant(_2) = 1; // scope 1 at $DIR/enum_opt.rs:57:7: 57:36
StorageDead(_3); // scope 1 at $DIR/enum_opt.rs:57:35: 57:36
_1 = move _2; // scope 1 at $DIR/enum_opt.rs:57:3: 57:36
StorageDead(_2); // scope 1 at $DIR/enum_opt.rs:57:35: 57:36
_0 = const (); // scope 0 at $DIR/enum_opt.rs:55:18: 58:2
StorageDead(_1); // scope 0 at $DIR/enum_opt.rs:58:1: 58:2
return; // scope 0 at $DIR/enum_opt.rs:58:2: 58:2
StorageLive(_1); // scope 0 at $DIR/enum_opt.rs:57:7: 57:12
Deinit(_1); // scope 0 at $DIR/enum_opt.rs:57:15: 57:29
discriminant(_1) = 0; // scope 0 at $DIR/enum_opt.rs:57:15: 57:29
StorageLive(_2); // scope 1 at $DIR/enum_opt.rs:58:7: 58:36
StorageLive(_3); // scope 1 at $DIR/enum_opt.rs:58:26: 58:35
_3 = [const 0_u64; 1024]; // scope 1 at $DIR/enum_opt.rs:58:26: 58:35
Deinit(_2); // scope 1 at $DIR/enum_opt.rs:58:7: 58:36
((_2 as Large).0: [u64; 1024]) = move _3; // scope 1 at $DIR/enum_opt.rs:58:7: 58:36
discriminant(_2) = 1; // scope 1 at $DIR/enum_opt.rs:58:7: 58:36
StorageDead(_3); // scope 1 at $DIR/enum_opt.rs:58:35: 58:36
_1 = move _2; // scope 1 at $DIR/enum_opt.rs:58:3: 58:36
StorageDead(_2); // scope 1 at $DIR/enum_opt.rs:58:35: 58:36
_0 = const (); // scope 0 at $DIR/enum_opt.rs:56:18: 59:2
StorageDead(_1); // scope 0 at $DIR/enum_opt.rs:59:1: 59:2
return; // scope 0 at $DIR/enum_opt.rs:59:2: 59:2
}
bb1 (cleanup): {
resume; // scope 0 at $DIR/enum_opt.rs:55:1: 58:2
resume; // scope 0 at $DIR/enum_opt.rs:56:1: 59:2
}
}

View file

@ -1,5 +1,6 @@
// EMIT_MIR_FOR_EACH_BIT_WIDTH
// compile-flags: -Zunsound-mir-opts -Zmir-opt-level=3
// ignore-wasm32-bare compiled with panic=abort by default
#![feature(arbitrary_enum_discriminant, repr128)]
// Tests that an enum with a variant with no data gets correctly transformed.

View file

@ -2,45 +2,45 @@
+ // MIR for `trunc` after EnumSizeOpt
fn trunc() -> () {
let mut _0: (); // return place in scope 0 at $DIR/enum_opt.rs:61:16: 61:16
let mut _1: Truncatable; // in scope 0 at $DIR/enum_opt.rs:62:7: 62:12
let mut _2: Truncatable; // in scope 0 at $DIR/enum_opt.rs:63:7: 63:32
let mut _3: [u8; 1024]; // in scope 0 at $DIR/enum_opt.rs:63:22: 63:31
let mut _4: Truncatable; // in scope 0 at $DIR/enum_opt.rs:64:7: 64:32
let mut _5: [u8; 4096]; // in scope 0 at $DIR/enum_opt.rs:64:22: 64:31
let mut _0: (); // return place in scope 0 at $DIR/enum_opt.rs:62:16: 62:16
let mut _1: Truncatable; // in scope 0 at $DIR/enum_opt.rs:63:7: 63:12
let mut _2: Truncatable; // in scope 0 at $DIR/enum_opt.rs:64:7: 64:32
let mut _3: [u8; 1024]; // in scope 0 at $DIR/enum_opt.rs:64:22: 64:31
let mut _4: Truncatable; // in scope 0 at $DIR/enum_opt.rs:65:7: 65:32
let mut _5: [u8; 4096]; // in scope 0 at $DIR/enum_opt.rs:65:22: 65:31
scope 1 {
debug a => _1; // in scope 1 at $DIR/enum_opt.rs:62:7: 62:12
debug a => _1; // in scope 1 at $DIR/enum_opt.rs:63:7: 63:12
}
bb0: {
StorageLive(_1); // scope 0 at $DIR/enum_opt.rs:62:7: 62:12
Deinit(_1); // scope 0 at $DIR/enum_opt.rs:62:15: 62:29
discriminant(_1) = 0; // scope 0 at $DIR/enum_opt.rs:62:15: 62:29
StorageLive(_2); // scope 1 at $DIR/enum_opt.rs:63:7: 63:32
StorageLive(_3); // scope 1 at $DIR/enum_opt.rs:63:22: 63:31
_3 = [const 0_u8; 1024]; // scope 1 at $DIR/enum_opt.rs:63:22: 63:31
Deinit(_2); // scope 1 at $DIR/enum_opt.rs:63:7: 63:32
((_2 as B).0: [u8; 1024]) = move _3; // scope 1 at $DIR/enum_opt.rs:63:7: 63:32
discriminant(_2) = 1; // scope 1 at $DIR/enum_opt.rs:63:7: 63:32
StorageDead(_3); // scope 1 at $DIR/enum_opt.rs:63:31: 63:32
_1 = move _2; // scope 1 at $DIR/enum_opt.rs:63:3: 63:32
StorageDead(_2); // scope 1 at $DIR/enum_opt.rs:63:31: 63:32
StorageLive(_4); // scope 1 at $DIR/enum_opt.rs:64:7: 64:32
StorageLive(_5); // scope 1 at $DIR/enum_opt.rs:64:22: 64:31
_5 = [const 0_u8; 4096]; // scope 1 at $DIR/enum_opt.rs:64:22: 64:31
Deinit(_4); // scope 1 at $DIR/enum_opt.rs:64:7: 64:32
((_4 as C).0: [u8; 4096]) = move _5; // scope 1 at $DIR/enum_opt.rs:64:7: 64:32
discriminant(_4) = 2; // scope 1 at $DIR/enum_opt.rs:64:7: 64:32
StorageDead(_5); // scope 1 at $DIR/enum_opt.rs:64:31: 64:32
_1 = move _4; // scope 1 at $DIR/enum_opt.rs:64:3: 64:32
StorageDead(_4); // scope 1 at $DIR/enum_opt.rs:64:31: 64:32
_0 = const (); // scope 0 at $DIR/enum_opt.rs:61:16: 65:2
StorageDead(_1); // scope 0 at $DIR/enum_opt.rs:65:1: 65:2
return; // scope 0 at $DIR/enum_opt.rs:65:2: 65:2
StorageLive(_1); // scope 0 at $DIR/enum_opt.rs:63:7: 63:12
Deinit(_1); // scope 0 at $DIR/enum_opt.rs:63:15: 63:29
discriminant(_1) = 0; // scope 0 at $DIR/enum_opt.rs:63:15: 63:29
StorageLive(_2); // scope 1 at $DIR/enum_opt.rs:64:7: 64:32
StorageLive(_3); // scope 1 at $DIR/enum_opt.rs:64:22: 64:31
_3 = [const 0_u8; 1024]; // scope 1 at $DIR/enum_opt.rs:64:22: 64:31
Deinit(_2); // scope 1 at $DIR/enum_opt.rs:64:7: 64:32
((_2 as B).0: [u8; 1024]) = move _3; // scope 1 at $DIR/enum_opt.rs:64:7: 64:32
discriminant(_2) = 1; // scope 1 at $DIR/enum_opt.rs:64:7: 64:32
StorageDead(_3); // scope 1 at $DIR/enum_opt.rs:64:31: 64:32
_1 = move _2; // scope 1 at $DIR/enum_opt.rs:64:3: 64:32
StorageDead(_2); // scope 1 at $DIR/enum_opt.rs:64:31: 64:32
StorageLive(_4); // scope 1 at $DIR/enum_opt.rs:65:7: 65:32
StorageLive(_5); // scope 1 at $DIR/enum_opt.rs:65:22: 65:31
_5 = [const 0_u8; 4096]; // scope 1 at $DIR/enum_opt.rs:65:22: 65:31
Deinit(_4); // scope 1 at $DIR/enum_opt.rs:65:7: 65:32
((_4 as C).0: [u8; 4096]) = move _5; // scope 1 at $DIR/enum_opt.rs:65:7: 65:32
discriminant(_4) = 2; // scope 1 at $DIR/enum_opt.rs:65:7: 65:32
StorageDead(_5); // scope 1 at $DIR/enum_opt.rs:65:31: 65:32
_1 = move _4; // scope 1 at $DIR/enum_opt.rs:65:3: 65:32
StorageDead(_4); // scope 1 at $DIR/enum_opt.rs:65:31: 65:32
_0 = const (); // scope 0 at $DIR/enum_opt.rs:62:16: 66:2
StorageDead(_1); // scope 0 at $DIR/enum_opt.rs:66:1: 66:2
return; // scope 0 at $DIR/enum_opt.rs:66:2: 66:2
}
bb1 (cleanup): {
resume; // scope 0 at $DIR/enum_opt.rs:61:1: 65:2
resume; // scope 0 at $DIR/enum_opt.rs:62:1: 66:2
}
}

View file

@ -2,45 +2,45 @@
+ // MIR for `trunc` after EnumSizeOpt
fn trunc() -> () {
let mut _0: (); // return place in scope 0 at $DIR/enum_opt.rs:61:16: 61:16
let mut _1: Truncatable; // in scope 0 at $DIR/enum_opt.rs:62:7: 62:12
let mut _2: Truncatable; // in scope 0 at $DIR/enum_opt.rs:63:7: 63:32
let mut _3: [u8; 1024]; // in scope 0 at $DIR/enum_opt.rs:63:22: 63:31
let mut _4: Truncatable; // in scope 0 at $DIR/enum_opt.rs:64:7: 64:32
let mut _5: [u8; 4096]; // in scope 0 at $DIR/enum_opt.rs:64:22: 64:31
let mut _0: (); // return place in scope 0 at $DIR/enum_opt.rs:62:16: 62:16
let mut _1: Truncatable; // in scope 0 at $DIR/enum_opt.rs:63:7: 63:12
let mut _2: Truncatable; // in scope 0 at $DIR/enum_opt.rs:64:7: 64:32
let mut _3: [u8; 1024]; // in scope 0 at $DIR/enum_opt.rs:64:22: 64:31
let mut _4: Truncatable; // in scope 0 at $DIR/enum_opt.rs:65:7: 65:32
let mut _5: [u8; 4096]; // in scope 0 at $DIR/enum_opt.rs:65:22: 65:31
scope 1 {
debug a => _1; // in scope 1 at $DIR/enum_opt.rs:62:7: 62:12
debug a => _1; // in scope 1 at $DIR/enum_opt.rs:63:7: 63:12
}
bb0: {
StorageLive(_1); // scope 0 at $DIR/enum_opt.rs:62:7: 62:12
Deinit(_1); // scope 0 at $DIR/enum_opt.rs:62:15: 62:29
discriminant(_1) = 0; // scope 0 at $DIR/enum_opt.rs:62:15: 62:29
StorageLive(_2); // scope 1 at $DIR/enum_opt.rs:63:7: 63:32
StorageLive(_3); // scope 1 at $DIR/enum_opt.rs:63:22: 63:31
_3 = [const 0_u8; 1024]; // scope 1 at $DIR/enum_opt.rs:63:22: 63:31
Deinit(_2); // scope 1 at $DIR/enum_opt.rs:63:7: 63:32
((_2 as B).0: [u8; 1024]) = move _3; // scope 1 at $DIR/enum_opt.rs:63:7: 63:32
discriminant(_2) = 1; // scope 1 at $DIR/enum_opt.rs:63:7: 63:32
StorageDead(_3); // scope 1 at $DIR/enum_opt.rs:63:31: 63:32
_1 = move _2; // scope 1 at $DIR/enum_opt.rs:63:3: 63:32
StorageDead(_2); // scope 1 at $DIR/enum_opt.rs:63:31: 63:32
StorageLive(_4); // scope 1 at $DIR/enum_opt.rs:64:7: 64:32
StorageLive(_5); // scope 1 at $DIR/enum_opt.rs:64:22: 64:31
_5 = [const 0_u8; 4096]; // scope 1 at $DIR/enum_opt.rs:64:22: 64:31
Deinit(_4); // scope 1 at $DIR/enum_opt.rs:64:7: 64:32
((_4 as C).0: [u8; 4096]) = move _5; // scope 1 at $DIR/enum_opt.rs:64:7: 64:32
discriminant(_4) = 2; // scope 1 at $DIR/enum_opt.rs:64:7: 64:32
StorageDead(_5); // scope 1 at $DIR/enum_opt.rs:64:31: 64:32
_1 = move _4; // scope 1 at $DIR/enum_opt.rs:64:3: 64:32
StorageDead(_4); // scope 1 at $DIR/enum_opt.rs:64:31: 64:32
_0 = const (); // scope 0 at $DIR/enum_opt.rs:61:16: 65:2
StorageDead(_1); // scope 0 at $DIR/enum_opt.rs:65:1: 65:2
return; // scope 0 at $DIR/enum_opt.rs:65:2: 65:2
StorageLive(_1); // scope 0 at $DIR/enum_opt.rs:63:7: 63:12
Deinit(_1); // scope 0 at $DIR/enum_opt.rs:63:15: 63:29
discriminant(_1) = 0; // scope 0 at $DIR/enum_opt.rs:63:15: 63:29
StorageLive(_2); // scope 1 at $DIR/enum_opt.rs:64:7: 64:32
StorageLive(_3); // scope 1 at $DIR/enum_opt.rs:64:22: 64:31
_3 = [const 0_u8; 1024]; // scope 1 at $DIR/enum_opt.rs:64:22: 64:31
Deinit(_2); // scope 1 at $DIR/enum_opt.rs:64:7: 64:32
((_2 as B).0: [u8; 1024]) = move _3; // scope 1 at $DIR/enum_opt.rs:64:7: 64:32
discriminant(_2) = 1; // scope 1 at $DIR/enum_opt.rs:64:7: 64:32
StorageDead(_3); // scope 1 at $DIR/enum_opt.rs:64:31: 64:32
_1 = move _2; // scope 1 at $DIR/enum_opt.rs:64:3: 64:32
StorageDead(_2); // scope 1 at $DIR/enum_opt.rs:64:31: 64:32
StorageLive(_4); // scope 1 at $DIR/enum_opt.rs:65:7: 65:32
StorageLive(_5); // scope 1 at $DIR/enum_opt.rs:65:22: 65:31
_5 = [const 0_u8; 4096]; // scope 1 at $DIR/enum_opt.rs:65:22: 65:31
Deinit(_4); // scope 1 at $DIR/enum_opt.rs:65:7: 65:32
((_4 as C).0: [u8; 4096]) = move _5; // scope 1 at $DIR/enum_opt.rs:65:7: 65:32
discriminant(_4) = 2; // scope 1 at $DIR/enum_opt.rs:65:7: 65:32
StorageDead(_5); // scope 1 at $DIR/enum_opt.rs:65:31: 65:32
_1 = move _4; // scope 1 at $DIR/enum_opt.rs:65:3: 65:32
StorageDead(_4); // scope 1 at $DIR/enum_opt.rs:65:31: 65:32
_0 = const (); // scope 0 at $DIR/enum_opt.rs:62:16: 66:2
StorageDead(_1); // scope 0 at $DIR/enum_opt.rs:66:1: 66:2
return; // scope 0 at $DIR/enum_opt.rs:66:2: 66:2
}
bb1 (cleanup): {
resume; // scope 0 at $DIR/enum_opt.rs:61:1: 65:2
resume; // scope 0 at $DIR/enum_opt.rs:62:1: 66:2
}
}

View file

@ -2,53 +2,53 @@
+ // MIR for `unin` after EnumSizeOpt
fn unin() -> () {
let mut _0: (); // return place in scope 0 at $DIR/enum_opt.rs:43:15: 43:15
let mut _1: NoData; // in scope 0 at $DIR/enum_opt.rs:44:7: 44:12
let mut _2: NoData; // in scope 0 at $DIR/enum_opt.rs:45:7: 45:31
let mut _3: [u64; 1024]; // in scope 0 at $DIR/enum_opt.rs:45:21: 45:30
+ let mut _4: [usize; 2]; // in scope 0 at $DIR/enum_opt.rs:45:3: 45:31
+ let mut _5: isize; // in scope 0 at $DIR/enum_opt.rs:45:3: 45:31
+ let mut _6: usize; // in scope 0 at $DIR/enum_opt.rs:45:3: 45:31
+ let mut _7: usize; // in scope 0 at $DIR/enum_opt.rs:45:3: 45:31
+ let mut _8: *mut NoData; // in scope 0 at $DIR/enum_opt.rs:45:3: 45:31
+ let mut _9: *mut u8; // in scope 0 at $DIR/enum_opt.rs:45:3: 45:31
+ let mut _10: *const NoData; // in scope 0 at $DIR/enum_opt.rs:45:3: 45:31
+ let mut _11: *const u8; // in scope 0 at $DIR/enum_opt.rs:45:3: 45:31
let mut _0: (); // return place in scope 0 at $DIR/enum_opt.rs:44:15: 44:15
let mut _1: NoData; // in scope 0 at $DIR/enum_opt.rs:45:7: 45:12
let mut _2: NoData; // in scope 0 at $DIR/enum_opt.rs:46:7: 46:31
let mut _3: [u64; 1024]; // in scope 0 at $DIR/enum_opt.rs:46:21: 46:30
+ let mut _4: [usize; 2]; // in scope 0 at $DIR/enum_opt.rs:46:3: 46:31
+ let mut _5: isize; // in scope 0 at $DIR/enum_opt.rs:46:3: 46:31
+ let mut _6: usize; // in scope 0 at $DIR/enum_opt.rs:46:3: 46:31
+ let mut _7: usize; // in scope 0 at $DIR/enum_opt.rs:46:3: 46:31
+ let mut _8: *mut NoData; // in scope 0 at $DIR/enum_opt.rs:46:3: 46:31
+ let mut _9: *mut u8; // in scope 0 at $DIR/enum_opt.rs:46:3: 46:31
+ let mut _10: *const NoData; // in scope 0 at $DIR/enum_opt.rs:46:3: 46:31
+ let mut _11: *const u8; // in scope 0 at $DIR/enum_opt.rs:46:3: 46:31
scope 1 {
debug a => _1; // in scope 1 at $DIR/enum_opt.rs:44:7: 44:12
debug a => _1; // in scope 1 at $DIR/enum_opt.rs:45:7: 45:12
}
bb0: {
StorageLive(_1); // scope 0 at $DIR/enum_opt.rs:44:7: 44:12
Deinit(_1); // scope 0 at $DIR/enum_opt.rs:44:15: 44:27
discriminant(_1) = 0; // scope 0 at $DIR/enum_opt.rs:44:15: 44:27
StorageLive(_2); // scope 1 at $DIR/enum_opt.rs:45:7: 45:31
StorageLive(_3); // scope 1 at $DIR/enum_opt.rs:45:21: 45:30
_3 = [const 1_u64; 1024]; // scope 1 at $DIR/enum_opt.rs:45:21: 45:30
Deinit(_2); // scope 1 at $DIR/enum_opt.rs:45:7: 45:31
((_2 as Large).0: [u64; 1024]) = move _3; // scope 1 at $DIR/enum_opt.rs:45:7: 45:31
discriminant(_2) = 1; // scope 1 at $DIR/enum_opt.rs:45:7: 45:31
StorageDead(_3); // scope 1 at $DIR/enum_opt.rs:45:30: 45:31
- _1 = move _2; // scope 1 at $DIR/enum_opt.rs:45:3: 45:31
+ StorageLive(_4); // scope 1 at $DIR/enum_opt.rs:45:3: 45:31
+ _4 = const [4_usize, 8196_usize]; // scope 1 at $DIR/enum_opt.rs:45:3: 45:31
+ _5 = discriminant(_2); // scope 1 at $DIR/enum_opt.rs:45:3: 45:31
+ _6 = _5 as usize (Misc); // scope 1 at $DIR/enum_opt.rs:45:3: 45:31
+ _7 = _4[_6]; // scope 1 at $DIR/enum_opt.rs:45:3: 45:31
+ _8 = &raw mut _1; // scope 1 at $DIR/enum_opt.rs:45:3: 45:31
+ _9 = _8 as *mut u8 (Misc); // scope 1 at $DIR/enum_opt.rs:45:3: 45:31
+ _10 = &raw const _2; // scope 1 at $DIR/enum_opt.rs:45:3: 45:31
+ _11 = _10 as *const u8 (Misc); // scope 1 at $DIR/enum_opt.rs:45:3: 45:31
+ copy_nonoverlapping(src=_11, dst=_9, count=_7); // scope 1 at $DIR/enum_opt.rs:45:3: 45:31
+ StorageDead(_4); // scope 1 at $DIR/enum_opt.rs:45:3: 45:31
StorageDead(_2); // scope 1 at $DIR/enum_opt.rs:45:30: 45:31
_0 = const (); // scope 0 at $DIR/enum_opt.rs:43:15: 46:2
StorageDead(_1); // scope 0 at $DIR/enum_opt.rs:46:1: 46:2
return; // scope 0 at $DIR/enum_opt.rs:46:2: 46:2
StorageLive(_1); // scope 0 at $DIR/enum_opt.rs:45:7: 45:12
Deinit(_1); // scope 0 at $DIR/enum_opt.rs:45:15: 45:27
discriminant(_1) = 0; // scope 0 at $DIR/enum_opt.rs:45:15: 45:27
StorageLive(_2); // scope 1 at $DIR/enum_opt.rs:46:7: 46:31
StorageLive(_3); // scope 1 at $DIR/enum_opt.rs:46:21: 46:30
_3 = [const 1_u64; 1024]; // scope 1 at $DIR/enum_opt.rs:46:21: 46:30
Deinit(_2); // scope 1 at $DIR/enum_opt.rs:46:7: 46:31
((_2 as Large).0: [u64; 1024]) = move _3; // scope 1 at $DIR/enum_opt.rs:46:7: 46:31
discriminant(_2) = 1; // scope 1 at $DIR/enum_opt.rs:46:7: 46:31
StorageDead(_3); // scope 1 at $DIR/enum_opt.rs:46:30: 46:31
- _1 = move _2; // scope 1 at $DIR/enum_opt.rs:46:3: 46:31
+ StorageLive(_4); // scope 1 at $DIR/enum_opt.rs:46:3: 46:31
+ _4 = const [4_usize, 8196_usize]; // scope 1 at $DIR/enum_opt.rs:46:3: 46:31
+ _5 = discriminant(_2); // scope 1 at $DIR/enum_opt.rs:46:3: 46:31
+ _6 = _5 as usize (Misc); // scope 1 at $DIR/enum_opt.rs:46:3: 46:31
+ _7 = _4[_6]; // scope 1 at $DIR/enum_opt.rs:46:3: 46:31
+ _8 = &raw mut _1; // scope 1 at $DIR/enum_opt.rs:46:3: 46:31
+ _9 = _8 as *mut u8 (Misc); // scope 1 at $DIR/enum_opt.rs:46:3: 46:31
+ _10 = &raw const _2; // scope 1 at $DIR/enum_opt.rs:46:3: 46:31
+ _11 = _10 as *const u8 (Misc); // scope 1 at $DIR/enum_opt.rs:46:3: 46:31
+ copy_nonoverlapping(src=_11, dst=_9, count=_7); // scope 1 at $DIR/enum_opt.rs:46:3: 46:31
+ StorageDead(_4); // scope 1 at $DIR/enum_opt.rs:46:3: 46:31
StorageDead(_2); // scope 1 at $DIR/enum_opt.rs:46:30: 46:31
_0 = const (); // scope 0 at $DIR/enum_opt.rs:44:15: 47:2
StorageDead(_1); // scope 0 at $DIR/enum_opt.rs:47:1: 47:2
return; // scope 0 at $DIR/enum_opt.rs:47:2: 47:2
}
bb1 (cleanup): {
resume; // scope 0 at $DIR/enum_opt.rs:43:1: 46:2
resume; // scope 0 at $DIR/enum_opt.rs:44:1: 47:2
}
}

View file

@ -2,53 +2,53 @@
+ // MIR for `unin` after EnumSizeOpt
fn unin() -> () {
let mut _0: (); // return place in scope 0 at $DIR/enum_opt.rs:43:15: 43:15
let mut _1: NoData; // in scope 0 at $DIR/enum_opt.rs:44:7: 44:12
let mut _2: NoData; // in scope 0 at $DIR/enum_opt.rs:45:7: 45:31
let mut _3: [u64; 1024]; // in scope 0 at $DIR/enum_opt.rs:45:21: 45:30
+ let mut _4: [usize; 2]; // in scope 0 at $DIR/enum_opt.rs:45:3: 45:31
+ let mut _5: isize; // in scope 0 at $DIR/enum_opt.rs:45:3: 45:31
+ let mut _6: usize; // in scope 0 at $DIR/enum_opt.rs:45:3: 45:31
+ let mut _7: usize; // in scope 0 at $DIR/enum_opt.rs:45:3: 45:31
+ let mut _8: *mut NoData; // in scope 0 at $DIR/enum_opt.rs:45:3: 45:31
+ let mut _9: *mut u8; // in scope 0 at $DIR/enum_opt.rs:45:3: 45:31
+ let mut _10: *const NoData; // in scope 0 at $DIR/enum_opt.rs:45:3: 45:31
+ let mut _11: *const u8; // in scope 0 at $DIR/enum_opt.rs:45:3: 45:31
let mut _0: (); // return place in scope 0 at $DIR/enum_opt.rs:44:15: 44:15
let mut _1: NoData; // in scope 0 at $DIR/enum_opt.rs:45:7: 45:12
let mut _2: NoData; // in scope 0 at $DIR/enum_opt.rs:46:7: 46:31
let mut _3: [u64; 1024]; // in scope 0 at $DIR/enum_opt.rs:46:21: 46:30
+ let mut _4: [usize; 2]; // in scope 0 at $DIR/enum_opt.rs:46:3: 46:31
+ let mut _5: isize; // in scope 0 at $DIR/enum_opt.rs:46:3: 46:31
+ let mut _6: usize; // in scope 0 at $DIR/enum_opt.rs:46:3: 46:31
+ let mut _7: usize; // in scope 0 at $DIR/enum_opt.rs:46:3: 46:31
+ let mut _8: *mut NoData; // in scope 0 at $DIR/enum_opt.rs:46:3: 46:31
+ let mut _9: *mut u8; // in scope 0 at $DIR/enum_opt.rs:46:3: 46:31
+ let mut _10: *const NoData; // in scope 0 at $DIR/enum_opt.rs:46:3: 46:31
+ let mut _11: *const u8; // in scope 0 at $DIR/enum_opt.rs:46:3: 46:31
scope 1 {
debug a => _1; // in scope 1 at $DIR/enum_opt.rs:44:7: 44:12
debug a => _1; // in scope 1 at $DIR/enum_opt.rs:45:7: 45:12
}
bb0: {
StorageLive(_1); // scope 0 at $DIR/enum_opt.rs:44:7: 44:12
Deinit(_1); // scope 0 at $DIR/enum_opt.rs:44:15: 44:27
discriminant(_1) = 0; // scope 0 at $DIR/enum_opt.rs:44:15: 44:27
StorageLive(_2); // scope 1 at $DIR/enum_opt.rs:45:7: 45:31
StorageLive(_3); // scope 1 at $DIR/enum_opt.rs:45:21: 45:30
_3 = [const 1_u64; 1024]; // scope 1 at $DIR/enum_opt.rs:45:21: 45:30
Deinit(_2); // scope 1 at $DIR/enum_opt.rs:45:7: 45:31
((_2 as Large).0: [u64; 1024]) = move _3; // scope 1 at $DIR/enum_opt.rs:45:7: 45:31
discriminant(_2) = 1; // scope 1 at $DIR/enum_opt.rs:45:7: 45:31
StorageDead(_3); // scope 1 at $DIR/enum_opt.rs:45:30: 45:31
- _1 = move _2; // scope 1 at $DIR/enum_opt.rs:45:3: 45:31
+ StorageLive(_4); // scope 1 at $DIR/enum_opt.rs:45:3: 45:31
+ _4 = const [8_usize, 8200_usize]; // scope 1 at $DIR/enum_opt.rs:45:3: 45:31
+ _5 = discriminant(_2); // scope 1 at $DIR/enum_opt.rs:45:3: 45:31
+ _6 = _5 as usize (Misc); // scope 1 at $DIR/enum_opt.rs:45:3: 45:31
+ _7 = _4[_6]; // scope 1 at $DIR/enum_opt.rs:45:3: 45:31
+ _8 = &raw mut _1; // scope 1 at $DIR/enum_opt.rs:45:3: 45:31
+ _9 = _8 as *mut u8 (Misc); // scope 1 at $DIR/enum_opt.rs:45:3: 45:31
+ _10 = &raw const _2; // scope 1 at $DIR/enum_opt.rs:45:3: 45:31
+ _11 = _10 as *const u8 (Misc); // scope 1 at $DIR/enum_opt.rs:45:3: 45:31
+ copy_nonoverlapping(src=_11, dst=_9, count=_7); // scope 1 at $DIR/enum_opt.rs:45:3: 45:31
+ StorageDead(_4); // scope 1 at $DIR/enum_opt.rs:45:3: 45:31
StorageDead(_2); // scope 1 at $DIR/enum_opt.rs:45:30: 45:31
_0 = const (); // scope 0 at $DIR/enum_opt.rs:43:15: 46:2
StorageDead(_1); // scope 0 at $DIR/enum_opt.rs:46:1: 46:2
return; // scope 0 at $DIR/enum_opt.rs:46:2: 46:2
StorageLive(_1); // scope 0 at $DIR/enum_opt.rs:45:7: 45:12
Deinit(_1); // scope 0 at $DIR/enum_opt.rs:45:15: 45:27
discriminant(_1) = 0; // scope 0 at $DIR/enum_opt.rs:45:15: 45:27
StorageLive(_2); // scope 1 at $DIR/enum_opt.rs:46:7: 46:31
StorageLive(_3); // scope 1 at $DIR/enum_opt.rs:46:21: 46:30
_3 = [const 1_u64; 1024]; // scope 1 at $DIR/enum_opt.rs:46:21: 46:30
Deinit(_2); // scope 1 at $DIR/enum_opt.rs:46:7: 46:31
((_2 as Large).0: [u64; 1024]) = move _3; // scope 1 at $DIR/enum_opt.rs:46:7: 46:31
discriminant(_2) = 1; // scope 1 at $DIR/enum_opt.rs:46:7: 46:31
StorageDead(_3); // scope 1 at $DIR/enum_opt.rs:46:30: 46:31
- _1 = move _2; // scope 1 at $DIR/enum_opt.rs:46:3: 46:31
+ StorageLive(_4); // scope 1 at $DIR/enum_opt.rs:46:3: 46:31
+ _4 = const [8_usize, 8200_usize]; // scope 1 at $DIR/enum_opt.rs:46:3: 46:31
+ _5 = discriminant(_2); // scope 1 at $DIR/enum_opt.rs:46:3: 46:31
+ _6 = _5 as usize (Misc); // scope 1 at $DIR/enum_opt.rs:46:3: 46:31
+ _7 = _4[_6]; // scope 1 at $DIR/enum_opt.rs:46:3: 46:31
+ _8 = &raw mut _1; // scope 1 at $DIR/enum_opt.rs:46:3: 46:31
+ _9 = _8 as *mut u8 (Misc); // scope 1 at $DIR/enum_opt.rs:46:3: 46:31
+ _10 = &raw const _2; // scope 1 at $DIR/enum_opt.rs:46:3: 46:31
+ _11 = _10 as *const u8 (Misc); // scope 1 at $DIR/enum_opt.rs:46:3: 46:31
+ copy_nonoverlapping(src=_11, dst=_9, count=_7); // scope 1 at $DIR/enum_opt.rs:46:3: 46:31
+ StorageDead(_4); // scope 1 at $DIR/enum_opt.rs:46:3: 46:31
StorageDead(_2); // scope 1 at $DIR/enum_opt.rs:46:30: 46:31
_0 = const (); // scope 0 at $DIR/enum_opt.rs:44:15: 47:2
StorageDead(_1); // scope 0 at $DIR/enum_opt.rs:47:1: 47:2
return; // scope 0 at $DIR/enum_opt.rs:47:2: 47:2
}
bb1 (cleanup): {
resume; // scope 0 at $DIR/enum_opt.rs:43:1: 46:2
resume; // scope 0 at $DIR/enum_opt.rs:44:1: 47:2
}
}