error[E0597]: `c` does not live long enough --> $DIR/method-call.rs:38:34 | LL | a.method::<&'static u32>(b, &c); //~ ERROR | -----------------------------^^- | | | | | borrowed value does not live long enough | argument requires that `c` is borrowed for `'static` LL | } | - `c` dropped here while still borrowed error[E0597]: `c` does not live long enough --> $DIR/method-call.rs:45:29 | LL | fn annot_reference_named_lifetime<'a>(_d: &'a u32) { | -- lifetime `'a` defined here ... LL | a.method::<&'a u32>(b, &c); //~ ERROR | ------------------------^^- | | | | | borrowed value does not live long enough | argument requires that `c` is borrowed for `'a` LL | } | - `c` dropped here while still borrowed error[E0597]: `c` does not live long enough --> $DIR/method-call.rs:59:33 | LL | fn annot_reference_named_lifetime_in_closure<'a>(_: &'a u32) { | -- lifetime `'a` defined here ... LL | a.method::<&'a u32>(b, &c); //~ ERROR | ------------------------^^- | | | | | borrowed value does not live long enough | argument requires that `c` is borrowed for `'a` LL | }; | - `c` dropped here while still borrowed error: aborting due to 3 previous errors For more information about this error, try `rustc --explain E0597`.