- // MIR for `unreachable_box` before DataflowConstProp
+ // MIR for `unreachable_box` after DataflowConstProp
  
  fn unreachable_box() -> ! {
      let mut _0: !;
      let _1: std::boxed::Box<Never>;
      let mut _2: *const Never;
      scope 1 {
          debug x => _1;
      }
  
      bb0: {
          StorageLive(_1);
-         _1 = const 1_usize as std::boxed::Box<Never> (Transmute);
+         _1 = const Box::<Never>(Unique::<Never> {{ pointer: NonNull::<Never> {{ pointer: {0x1 as *const Never} }}, _marker: PhantomData::<Never> }}, std::alloc::Global);
          _2 = copy (((_1.0: std::ptr::Unique<Never>).0: std::ptr::NonNull<Never>).0: *const Never);
          unreachable;
      }
  }
  
