- // MIR for `main` before DataflowConstProp + // MIR for `main` after DataflowConstProp fn main() -> () { let mut _0: (); let mut _1: S; let mut _3: i32; let mut _5: i32; let mut _6: i32; scope 1 { debug s => _1; let _2: i32; scope 2 { debug a => _2; let _4: i32; scope 3 { debug b => _4; } } } bb0: { StorageLive(_1); _1 = S(const 1_i32); StorageLive(_2); StorageLive(_3); - _3 = (_1.0: i32); - _2 = Add(move _3, const 2_i32); + _3 = const 1_i32; + _2 = const 3_i32; StorageDead(_3); (_1.0: i32) = const 3_i32; StorageLive(_4); StorageLive(_5); - _5 = _2; + _5 = const 3_i32; StorageLive(_6); - _6 = (_1.0: i32); - _4 = Add(move _5, move _6); + _6 = const 3_i32; + _4 = const 6_i32; StorageDead(_6); StorageDead(_5); _0 = const (); StorageDead(_4); StorageDead(_2); StorageDead(_1); return; } }