- // MIR for `main` before ConstProp
+ // MIR for `main` after ConstProp
  
  fn main() -> () {
      let mut _0: ();                      // return place in scope 0 at $DIR/indirect.rs:+0:11: +0:11
      let _1: u8;                          // in scope 0 at $DIR/indirect.rs:+1:9: +1:10
      let mut _2: u8;                      // in scope 0 at $DIR/indirect.rs:+1:13: +1:25
      let mut _3: (u8, bool);              // in scope 0 at $DIR/indirect.rs:+1:13: +1:29
      scope 1 {
          debug x => _1;                   // in scope 1 at $DIR/indirect.rs:+1:9: +1:10
      }
  
      bb0: {
          StorageLive(_1);                 // scope 0 at $DIR/indirect.rs:+1:9: +1:10
          StorageLive(_2);                 // scope 0 at $DIR/indirect.rs:+1:13: +1:25
-         _2 = const 2_u32 as u8 (IntToInt); // scope 0 at $DIR/indirect.rs:+1:13: +1:25
-         _3 = CheckedAdd(_2, const 1_u8); // scope 0 at $DIR/indirect.rs:+1:13: +1:29
-         assert(!move (_3.1: bool), "attempt to compute `{} + {}`, which would overflow", move _2, const 1_u8) -> bb1; // scope 0 at $DIR/indirect.rs:+1:13: +1:29
+         _2 = const 2_u8;                 // scope 0 at $DIR/indirect.rs:+1:13: +1:25
+         _3 = const (3_u8, false);        // scope 0 at $DIR/indirect.rs:+1:13: +1:29
+         assert(!const false, "attempt to compute `{} + {}`, which would overflow", move _2, const 1_u8) -> bb1; // scope 0 at $DIR/indirect.rs:+1:13: +1:29
      }
  
      bb1: {
-         _1 = move (_3.0: u8);            // scope 0 at $DIR/indirect.rs:+1:13: +1:29
+         _1 = const 3_u8;                 // scope 0 at $DIR/indirect.rs:+1:13: +1:29
          StorageDead(_2);                 // scope 0 at $DIR/indirect.rs:+1:28: +1:29
          _0 = const ();                   // scope 0 at $DIR/indirect.rs:+0:11: +2:2
          StorageDead(_1);                 // scope 0 at $DIR/indirect.rs:+2:1: +2:2
          return;                          // scope 0 at $DIR/indirect.rs:+2:2: +2:2
      }
  }
  
