- // MIR for `main` before GVN
+ // MIR for `main` after GVN
  
  fn main() -> () {
      let mut _0: ();
      let _1: u32;
      scope 1 {
          debug x => _1;
          let _2: u8;
          scope 2 {
              debug y => _2;
          }
      }
  
      bb0: {
          StorageLive(_1);
-         _1 = const 42_u8 as u32 (IntToInt);
+         _1 = const 42_u32;
          StorageLive(_2);
-         _2 = const 42_u32 as u8 (IntToInt);
+         _2 = const 42_u8;
          _0 = const ();
          StorageDead(_2);
          StorageDead(_1);
          return;
      }
  }
  
