struct Foo<'a> { x: Option<&'a u32>, } fn main() { let mut x = Foo { x: None }; let y = 0; x.x = Some(&y); //~^ `y` does not live long enough [E0597] } impl<'a> Drop for Foo<'a> { fn drop(&mut self) { } }