- // MIR for `main` before DataflowConstProp + // MIR for `main` after DataflowConstProp fn main() -> () { let mut _0: (); let _1: i32; let _2: (); let mut _3: i32; let mut _4: i32; scope 1 { debug a => _1; } bb0: { StorageLive(_1); _1 = const 1_i32; StorageLive(_2); StorageLive(_3); StorageLive(_4); - _4 = copy _1; - _3 = Add(move _4, const 1_i32); + _4 = const 1_i32; + _3 = const 2_i32; StorageDead(_4); - _2 = foo(move _3) -> [return: bb1, unwind unreachable]; + _2 = foo(const 2_i32) -> [return: bb1, unwind unreachable]; } bb1: { StorageDead(_3); StorageDead(_2); _0 = const (); StorageDead(_1); return; } }