error[E0597]: `y` does not live long enough --> $DIR/E0597.rs:8:16 | LL | let y = 0; | - binding `y` declared here LL | x.x = Some(&y); | ^^ borrowed value does not live long enough LL | LL | } | - | | | `y` dropped here while still borrowed | borrow might be used here, when `x` is dropped and runs the `Drop` code for type `Foo` | = note: values in a scope are dropped in the opposite order they are defined error: aborting due to 1 previous error For more information about this error, try `rustc --explain E0597`.