|  | - // 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; | 
|  | } | 
|  | } | 
|  |  |