- // MIR for `main` before DestinationPropagation + // MIR for `main` after DestinationPropagation fn main() -> () { let mut _0: (); let _1: main::Un; let mut _2: u32; let mut _3: u32; scope 1 { debug un => _1; scope 2 { } scope 3 (inlined std::mem::drop::) { debug _x => _3; } } bb0: { StorageLive(_1); StorageLive(_2); _2 = val() -> [return: bb1, unwind unreachable]; } bb1: { _1 = Un { us: move _2 }; StorageDead(_2); StorageLive(_3); _3 = (_1.0: u32); StorageDead(_3); StorageDead(_1); return; } }