2019-10-17 05:46:51 -05:00
|
|
|
// compile-flags: -C overflow-checks=no
|
|
|
|
|
|
|
|
fn use_zst(_: ((), ())) { }
|
|
|
|
|
|
|
|
struct Temp {
|
|
|
|
x: u8
|
|
|
|
}
|
|
|
|
|
|
|
|
fn use_u8(_: u8) { }
|
|
|
|
|
|
|
|
fn main() {
|
|
|
|
let ((), ()) = ((), ());
|
|
|
|
use_zst(((), ()));
|
|
|
|
|
|
|
|
use_u8((Temp { x : 40 }).x + 2);
|
|
|
|
}
|
|
|
|
|
|
|
|
// END RUST SOURCE
|
|
|
|
|
|
|
|
// START rustc.main.SimplifyLocals.before.mir
|
|
|
|
// let mut _0: ();
|
|
|
|
// let mut _1: ((), ());
|
|
|
|
// let mut _2: ();
|
|
|
|
// let mut _3: ();
|
|
|
|
// let _4: ();
|
|
|
|
// let mut _5: ((), ());
|
|
|
|
// let mut _6: ();
|
|
|
|
// let mut _7: ();
|
|
|
|
// let _8: ();
|
|
|
|
// let mut _9: u8;
|
|
|
|
// let mut _10: u8;
|
|
|
|
// let mut _11: Temp;
|
|
|
|
// scope 1 {
|
|
|
|
// }
|
|
|
|
// bb0: {
|
|
|
|
// StorageLive(_1);
|
|
|
|
// StorageLive(_2);
|
2019-12-23 10:41:06 -06:00
|
|
|
// _2 = const ();
|
2019-10-17 05:46:51 -05:00
|
|
|
// StorageLive(_3);
|
2019-12-23 10:41:06 -06:00
|
|
|
// _3 = const ();
|
|
|
|
// _1 = const ((), ());
|
2019-10-17 05:46:51 -05:00
|
|
|
// StorageDead(_3);
|
|
|
|
// StorageDead(_2);
|
|
|
|
// StorageDead(_1);
|
|
|
|
// StorageLive(_4);
|
|
|
|
// StorageLive(_6);
|
2019-12-23 10:41:06 -06:00
|
|
|
// _6 = const ();
|
2019-10-17 05:46:51 -05:00
|
|
|
// StorageLive(_7);
|
2019-12-23 10:41:06 -06:00
|
|
|
// _7 = const ();
|
2019-10-17 05:46:51 -05:00
|
|
|
// StorageDead(_7);
|
|
|
|
// StorageDead(_6);
|
2019-12-23 10:41:06 -06:00
|
|
|
// _4 = const use_zst(const ((), ())) -> bb1;
|
2019-10-17 05:46:51 -05:00
|
|
|
// }
|
|
|
|
// bb1: {
|
|
|
|
// StorageDead(_4);
|
|
|
|
// StorageLive(_8);
|
|
|
|
// StorageLive(_10);
|
|
|
|
// StorageLive(_11);
|
2019-12-23 10:41:06 -06:00
|
|
|
// _11 = const {0x28 : Temp};
|
2019-10-17 05:46:51 -05:00
|
|
|
// _10 = const 40u8;
|
|
|
|
// StorageDead(_10);
|
|
|
|
// _8 = const use_u8(const 42u8) -> bb2;
|
|
|
|
// }
|
|
|
|
// bb2: {
|
|
|
|
// StorageDead(_11);
|
|
|
|
// StorageDead(_8);
|
|
|
|
// return;
|
|
|
|
// }
|
|
|
|
// END rustc.main.SimplifyLocals.before.mir
|
|
|
|
// START rustc.main.SimplifyLocals.after.mir
|
|
|
|
// let mut _0: ();
|
|
|
|
// let _1: ();
|
|
|
|
// let _2: ();
|
|
|
|
// scope 1 {
|
|
|
|
// }
|
|
|
|
// bb0: {
|
|
|
|
// StorageLive(_1);
|
2019-12-23 10:41:06 -06:00
|
|
|
// _1 = const use_zst(const ((), ())) -> bb1;
|
2019-10-17 05:46:51 -05:00
|
|
|
// }
|
|
|
|
// bb1: {
|
|
|
|
// StorageDead(_1);
|
|
|
|
// StorageLive(_2);
|
|
|
|
// _2 = const use_u8(const 42u8) -> bb2;
|
|
|
|
// }
|
|
|
|
// bb2: {
|
|
|
|
// StorageDead(_2);
|
|
|
|
// return;
|
|
|
|
// }
|
|
|
|
// END rustc.main.SimplifyLocals.after.mir
|