- // MIR for `f` before GVN
+ // MIR for `f` after GVN
  
  fn f() -> u32 {
      let mut _0: u32;
      let _1: u32;
      let mut _2: E;
      let mut _3: &U;
      let _4: U;
      let mut _5: &U;
      scope 1 {
          debug i => _1;
      }
  
      bb0: {
          StorageLive(_2);
          StorageLive(_3);
          _5 = const f::promoted[0];
          _3 = &(*_5);
-         _2 = copy ((*_3).1: E);
+         _2 = const Scalar(0x00000000): E;
          StorageLive(_1);
-         _1 = copy ((_2 as A).1: u32);
+         _1 = const 0_u32;
          StorageDead(_3);
          StorageDead(_2);
-         _0 = copy _1;
+         _0 = const 0_u32;
          StorageDead(_1);
          return;
      }
  }
  
