- // MIR for `foo` before ConstProp + // MIR for `foo` after ConstProp fn foo() -> () { let mut _0: (); // return place in scope 0 at $DIR/const_prop_miscompile.rs:4:10: 4:10 let mut _1: (i32,); // in scope 0 at $DIR/const_prop_miscompile.rs:5:9: 5:14 let mut _2: &mut i32; // in scope 0 at $DIR/const_prop_miscompile.rs:6:6: 6:14 let mut _4: i32; // in scope 0 at $DIR/const_prop_miscompile.rs:7:13: 7:20 scope 1 { debug u => _1; // in scope 1 at $DIR/const_prop_miscompile.rs:5:9: 5:14 let _3: bool; // in scope 1 at $DIR/const_prop_miscompile.rs:7:9: 7:10 scope 2 { debug y => _3; // in scope 2 at $DIR/const_prop_miscompile.rs:7:9: 7:10 } } bb0: { StorageLive(_1); // scope 0 at $DIR/const_prop_miscompile.rs:5:9: 5:14 - _1 = (const 1_i32,); // scope 0 at $DIR/const_prop_miscompile.rs:5:17: 5:21 + _1 = const (1_i32,); // scope 0 at $DIR/const_prop_miscompile.rs:5:17: 5:21 // ty::Const - // + ty: i32 + // + ty: (i32,) // + val: Value(Scalar(0x00000001)) // mir::Constant - // + span: $DIR/const_prop_miscompile.rs:5:18: 5:19 - // + literal: Const { ty: i32, val: Value(Scalar(0x00000001)) } + // + span: $DIR/const_prop_miscompile.rs:5:17: 5:21 + // + literal: Const { ty: (i32,), val: Value(Scalar(0x00000001)) } StorageLive(_2); // scope 1 at $DIR/const_prop_miscompile.rs:6:6: 6:14 _2 = &mut (_1.0: i32); // scope 1 at $DIR/const_prop_miscompile.rs:6:6: 6:14 (*_2) = const 5_i32; // scope 1 at $DIR/const_prop_miscompile.rs:6:5: 6:18 // ty::Const // + ty: i32 // + val: Value(Scalar(0x00000005)) // mir::Constant // + span: $DIR/const_prop_miscompile.rs:6:17: 6:18 // + literal: Const { ty: i32, val: Value(Scalar(0x00000005)) } StorageDead(_2); // scope 1 at $DIR/const_prop_miscompile.rs:6:18: 6:19 StorageLive(_3); // scope 1 at $DIR/const_prop_miscompile.rs:7:9: 7:10 StorageLive(_4); // scope 1 at $DIR/const_prop_miscompile.rs:7:13: 7:20 _4 = (_1.0: i32); // scope 1 at $DIR/const_prop_miscompile.rs:7:15: 7:18 _3 = Eq(move _4, const 5_i32); // scope 1 at $DIR/const_prop_miscompile.rs:7:13: 7:25 // ty::Const // + ty: i32 // + val: Value(Scalar(0x00000005)) // mir::Constant // + span: $DIR/const_prop_miscompile.rs:7:24: 7:25 // + literal: Const { ty: i32, val: Value(Scalar(0x00000005)) } StorageDead(_4); // scope 1 at $DIR/const_prop_miscompile.rs:7:24: 7:25 _0 = const (); // scope 0 at $DIR/const_prop_miscompile.rs:4:10: 8:2 // ty::Const // + ty: () // + val: Value(Scalar()) // mir::Constant // + span: $DIR/const_prop_miscompile.rs:4:10: 8:2 // + literal: Const { ty: (), val: Value(Scalar()) } StorageDead(_3); // scope 1 at $DIR/const_prop_miscompile.rs:8:1: 8:2 StorageDead(_1); // scope 0 at $DIR/const_prop_miscompile.rs:8:1: 8:2 return; // scope 0 at $DIR/const_prop_miscompile.rs:8:2: 8:2 } }