- // MIR for `main` before ConstProp + // MIR for `main` after ConstProp fn main() -> () { let mut _0: (); // return place in scope 0 at $DIR/invalid_constant.rs:15:11: 15:11 let _1: char; // in scope 0 at $DIR/invalid_constant.rs:21:9: 21:22 let mut _2: main::InvalidChar; // in scope 0 at $DIR/invalid_constant.rs:21:34: 21:63 let mut _4: E; // in scope 0 at $DIR/invalid_constant.rs:28:25: 28:59 let mut _5: main::InvalidTag; // in scope 0 at $DIR/invalid_constant.rs:28:34: 28:55 let mut _7: Empty; // in scope 0 at $DIR/invalid_constant.rs:35:35: 35:73 let mut _8: main::NoVariants; // in scope 0 at $DIR/invalid_constant.rs:35:44: 35:65 scope 1 { debug _invalid_char => _1; // in scope 1 at $DIR/invalid_constant.rs:21:9: 21:22 let _3: [E; 1]; // in scope 1 at $DIR/invalid_constant.rs:28:9: 28:21 scope 3 { debug _invalid_tag => _3; // in scope 3 at $DIR/invalid_constant.rs:28:9: 28:21 let _6: [Empty; 1]; // in scope 3 at $DIR/invalid_constant.rs:35:9: 35:31 scope 5 { debug _enum_without_variants => _6; // in scope 5 at $DIR/invalid_constant.rs:35:9: 35:31 let _9: main::Str<"���">; // in scope 5 at $DIR/invalid_constant.rs:39:9: 39:22 scope 7 { debug _non_utf8_str => _9; // in scope 7 at $DIR/invalid_constant.rs:39:9: 39:22 } } scope 6 { } } scope 4 { } } scope 2 { } bb0: { StorageLive(_1); // scope 0 at $DIR/invalid_constant.rs:21:9: 21:22 StorageLive(_2); // scope 2 at $DIR/invalid_constant.rs:21:34: 21:63 Deinit(_2); // scope 2 at $DIR/invalid_constant.rs:21:34: 21:63 (_2.0: u32) = const 1114113_u32; // scope 2 at $DIR/invalid_constant.rs:21:34: 21:63 - _1 = (_2.1: char); // scope 2 at $DIR/invalid_constant.rs:21:34: 21:67 + _1 = const {transmute(0x00110001): char}; // scope 2 at $DIR/invalid_constant.rs:21:34: 21:67 StorageDead(_2); // scope 0 at $DIR/invalid_constant.rs:21:69: 21:70 StorageLive(_3); // scope 1 at $DIR/invalid_constant.rs:28:9: 28:21 StorageLive(_4); // scope 1 at $DIR/invalid_constant.rs:28:25: 28:59 StorageLive(_5); // scope 4 at $DIR/invalid_constant.rs:28:34: 28:55 Deinit(_5); // scope 4 at $DIR/invalid_constant.rs:28:34: 28:55 (_5.0: u32) = const 4_u32; // scope 4 at $DIR/invalid_constant.rs:28:34: 28:55 - _4 = (_5.1: E); // scope 4 at $DIR/invalid_constant.rs:28:34: 28:57 - _3 = [move _4]; // scope 1 at $DIR/invalid_constant.rs:28:24: 28:60 + _4 = const Scalar(0x00000004): E; // scope 4 at $DIR/invalid_constant.rs:28:34: 28:57 + // mir::Constant + // + span: $DIR/invalid_constant.rs:28:34: 28:57 + // + literal: Const { ty: E, val: Value(Scalar(0x00000004)) } + _3 = [const Scalar(0x00000004): E]; // scope 1 at $DIR/invalid_constant.rs:28:24: 28:60 + // mir::Constant + // + span: $DIR/invalid_constant.rs:28:24: 28:60 + // + literal: Const { ty: E, val: Value(Scalar(0x00000004)) } StorageDead(_4); // scope 1 at $DIR/invalid_constant.rs:28:59: 28:60 StorageDead(_5); // scope 1 at $DIR/invalid_constant.rs:28:60: 28:61 StorageLive(_6); // scope 3 at $DIR/invalid_constant.rs:35:9: 35:31 StorageLive(_7); // scope 3 at $DIR/invalid_constant.rs:35:35: 35:73 StorageLive(_8); // scope 6 at $DIR/invalid_constant.rs:35:44: 35:65 Deinit(_8); // scope 6 at $DIR/invalid_constant.rs:35:44: 35:65 (_8.0: u32) = const 0_u32; // scope 6 at $DIR/invalid_constant.rs:35:44: 35:65 nop; // scope 6 at $DIR/invalid_constant.rs:35:44: 35:71 nop; // scope 3 at $DIR/invalid_constant.rs:35:34: 35:74 StorageDead(_7); // scope 3 at $DIR/invalid_constant.rs:35:73: 35:74 StorageDead(_8); // scope 3 at $DIR/invalid_constant.rs:35:74: 35:75 StorageLive(_9); // scope 5 at $DIR/invalid_constant.rs:39:9: 39:22 nop; // scope 0 at $DIR/invalid_constant.rs:15:11: 42:2 StorageDead(_9); // scope 5 at $DIR/invalid_constant.rs:42:1: 42:2 StorageDead(_6); // scope 3 at $DIR/invalid_constant.rs:42:1: 42:2 StorageDead(_3); // scope 1 at $DIR/invalid_constant.rs:42:1: 42:2 StorageDead(_1); // scope 0 at $DIR/invalid_constant.rs:42:1: 42:2 return; // scope 0 at $DIR/invalid_constant.rs:42:2: 42:2 } }