2023-02-04 05:48:28 -06:00
|
|
|
- // MIR for `f` before CopyProp
|
|
|
|
+ // MIR for `f` after CopyProp
|
|
|
|
|
|
|
|
fn f(_1: Foo) -> bool {
|
|
|
|
let mut _0: bool; // return place in scope 0 at $DIR/move_projection.rs:+0:17: +0:21
|
|
|
|
let mut _2: Foo; // in scope 0 at $SRC_DIR/core/src/intrinsics/mir.rs:LL:COL
|
|
|
|
let mut _3: u8; // in scope 0 at $SRC_DIR/core/src/intrinsics/mir.rs:LL:COL
|
|
|
|
|
|
|
|
bb0: {
|
|
|
|
- _2 = _1; // scope 0 at $SRC_DIR/core/src/intrinsics/mir.rs:LL:COL
|
|
|
|
- _3 = move (_2.0: u8); // scope 0 at $SRC_DIR/core/src/intrinsics/mir.rs:LL:COL
|
2023-06-08 02:34:53 -05:00
|
|
|
- _0 = opaque::<Foo>(move _1) -> [return: bb1, unwind unreachable]; // scope 0 at $DIR/move_projection.rs:+6:13: +6:44
|
2023-02-04 05:48:28 -06:00
|
|
|
+ _3 = (_1.0: u8); // scope 0 at $SRC_DIR/core/src/intrinsics/mir.rs:LL:COL
|
2023-06-08 02:34:53 -05:00
|
|
|
+ _0 = opaque::<Foo>(_1) -> [return: bb1, unwind unreachable]; // scope 0 at $DIR/move_projection.rs:+6:13: +6:44
|
2023-02-04 05:48:28 -06:00
|
|
|
// mir::Constant
|
2023-04-05 03:44:20 -05:00
|
|
|
// + span: $DIR/move_projection.rs:20:28: 20:34
|
2023-02-04 05:48:28 -06:00
|
|
|
// + literal: Const { ty: fn(Foo) -> bool {opaque::<Foo>}, val: Value(<ZST>) }
|
|
|
|
}
|
|
|
|
|
|
|
|
bb1: {
|
2023-06-08 02:34:53 -05:00
|
|
|
_0 = opaque::<u8>(move _3) -> [return: bb2, unwind unreachable]; // scope 0 at $DIR/move_projection.rs:+9:13: +9:44
|
2023-02-04 05:48:28 -06:00
|
|
|
// mir::Constant
|
2023-04-05 03:44:20 -05:00
|
|
|
// + span: $DIR/move_projection.rs:23:28: 23:34
|
2023-02-04 05:48:28 -06:00
|
|
|
// + literal: Const { ty: fn(u8) -> bool {opaque::<u8>}, val: Value(<ZST>) }
|
|
|
|
}
|
|
|
|
|
|
|
|
bb2: {
|
|
|
|
return; // scope 0 at $DIR/move_projection.rs:+12:13: +12:21
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|