- // MIR for `assume` before LowerIntrinsics
+ // MIR for `assume` after LowerIntrinsics
  
  fn assume() -> () {
      let mut _0: ();
      let _1: ();
  
      bb0: {
          StorageLive(_1);
-         _1 = std::intrinsics::assume(const true) -> [return: bb1, unwind unreachable];
+         assume(const true);
+         goto -> bb1;
      }
  
      bb1: {
          StorageDead(_1);
          _0 = const ();
          return;
      }
  }
  
