mirror of
https://github.com/rust-lang/rust.git
synced 2025-10-03 10:47:16 +00:00

Instead of storing an extra array for discriminant values, create an allocation there and store those in an allocation immediately.
36 lines
2.0 KiB
Diff
36 lines
2.0 KiB
Diff
- // MIR for `invalid` before EnumSizeOpt
|
|
+ // 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
|
|
scope 1 {
|
|
debug a => _1; // in scope 1 at $DIR/enum_opt.rs:56:7: 56: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
|
|
}
|
|
|
|
bb1 (cleanup): {
|
|
resume; // scope 0 at $DIR/enum_opt.rs:55:1: 58:2
|
|
}
|
|
}
|
|
|