warning: not reporting region error due to nll --> $DIR/regions-addr-of-upvar-self.rs:20:41 | LL | let p: &'static mut usize = &mut self.food; //~ ERROR cannot infer | ^^^^^^^^^^^^^^ error: unsatisfied lifetime constraints --> $DIR/regions-addr-of-upvar-self.rs:20:41 | LL | let _f = || { | -- lifetime `'1` represents this closure's body LL | let p: &'static mut usize = &mut self.food; //~ ERROR cannot infer | ^^^^^^^^^^^^^^ requires that `'1` must outlive `'static` | = note: closure implements `FnMut`, so references to captured variables can't escape the closure error: unsatisfied lifetime constraints --> $DIR/regions-addr-of-upvar-self.rs:19:13 | LL | pub fn chase_cat(&mut self) { | - let's call the lifetime of this reference `'1` LL | let _f = || { | ^^ requires that `'1` must outlive `'static` error[E0597]: `self` does not live long enough --> $DIR/regions-addr-of-upvar-self.rs:20:46 | LL | let _f = || { | -- value captured here LL | let p: &'static mut usize = &mut self.food; //~ ERROR cannot infer | ^^^^ borrowed value does not live long enough ... LL | } | - `self` dropped here while still borrowed | = note: borrowed value must be valid for the static lifetime... error: aborting due to 3 previous errors For more information about this error, try `rustc --explain E0597`.