summaryrefslogtreecommitdiffstats
path: root/tests/mir-opt/copy-prop/move_projection.f.CopyProp.diff
blob: beb85d68a660c33c0abc059e2612e0cdd905ee5d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
- // 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
-         _0 = opaque::<Foo>(move _1) -> bb1; // scope 0 at $DIR/move_projection.rs:+6:13: +6:44
+         _3 = (_1.0: u8);                 // scope 0 at $SRC_DIR/core/src/intrinsics/mir.rs:LL:COL
+         _0 = opaque::<Foo>(_1) -> bb1;   // scope 0 at $DIR/move_projection.rs:+6:13: +6:44
                                           // mir::Constant
                                           // + span: $DIR/move_projection.rs:20:28: 20:34
                                           // + literal: Const { ty: fn(Foo) -> bool {opaque::<Foo>}, val: Value(<ZST>) }
      }
  
      bb1: {
          _0 = opaque::<u8>(move _3) -> bb2; // scope 0 at $DIR/move_projection.rs:+9:13: +9:44
                                           // mir::Constant
                                           // + span: $DIR/move_projection.rs:23:28: 23:34
                                           // + literal: Const { ty: fn(u8) -> bool {opaque::<u8>}, val: Value(<ZST>) }
      }
  
      bb2: {
          return;                          // scope 0 at $DIR/move_projection.rs:+12:13: +12:21
      }
  }