- // MIR for `test` before GVN
+ // MIR for `test` after GVN
  
  fn test() -> () {
      let mut _0: ();
      let _1: i32;
      let mut _3: &i32;
      scope 1 {
          debug x => _1;
          let _2: unsafe<'a> &'a i32;
          scope 2 {
              debug binder => _2;
          }
      }
  
      bb0: {
          StorageLive(_1);
          _1 = const 1_i32;
          StorageLive(_2);
          StorageLive(_3);
          _3 = &_1;
          _2 = wrap_binder!(move _3; unsafe<'a> &'a i32);
          StorageDead(_3);
          _0 = const ();
          StorageDead(_2);
          StorageDead(_1);
          return;
      }
  }
  
