error[E0597]: `v` does not live long enough --> $DIR/dropck-union.rs:37:18 | LL | let v : Wrap = Wrap::new(C(Cell::new(None))); | - binding `v` declared here LL | v.0.set(Some(&v)); | ^^ borrowed value does not live long enough LL | } | - | | | `v` dropped here while still borrowed | borrow might be used here, when `v` is dropped and runs the `Drop` code for type `Wrap` error: aborting due to 1 previous error For more information about this error, try `rustc --explain E0597`.