| //@ test-mir-pass: ElaborateDrops | 
 | //@ needs-unwind | 
 |  | 
 | #![feature(rustc_attrs, liballoc_internals)] | 
 |  | 
 | // EMIT_MIR box_partial_move.maybe_move.ElaborateDrops.diff | 
 | fn maybe_move(cond: bool, thing: Box<String>) -> Option<String> { | 
 |     // CHECK-LABEL: fn maybe_move( | 
 |     // CHECK: let mut [[PTR:_[0-9]+]]: *const std::string::String; | 
 |     // CHECK: [[PTR]] = copy ((_2.0: std::ptr::Unique<std::string::String>).0: std::ptr::NonNull<std::string::String>) as *const std::string::String (Transmute); | 
 |     // CHECK: drop((*[[PTR]])) | 
 |     if cond { Some(*thing) } else { None } | 
 | } | 
 |  | 
 | fn main() { | 
 |     maybe_move(false, Box::new("hello".to_string())); | 
 | } |