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