error[E0597]: `a` does not live long enough --> $DIR/method-ufcs-2.rs:32:7 | LL | x(&a, b, c); | --^^------- | | | | | borrowed value does not live long enough | argument requires that `a` is borrowed for `'static` LL | } | - `a` dropped here while still borrowed error[E0597]: `b` does not live long enough --> $DIR/method-ufcs-2.rs:39:39 | LL | fn annot_reference_named_lifetime<'a>(_d: &'a u32) { | -- lifetime `'a` defined here ... LL | <_ as Bazoom<&'a u32>>::method(a, &b, c); | ----------------------------------^^---- | | | | | borrowed value does not live long enough | argument requires that `b` is borrowed for `'a` LL | } | - `b` dropped here while still borrowed error[E0597]: `b` does not live long enough --> $DIR/method-ufcs-2.rs:53:44 | LL | fn annot_reference_named_lifetime_in_closure<'a>(_: &'a u32) { | -- lifetime `'a` defined here ... LL | let _closure = || { | -- value captured here LL | let c = 66; LL | <_ as Bazoom<&'a u32>>::method(a, &b, c); | -----------------------------------^---- | | | | | borrowed value does not live long enough | argument requires that `b` is borrowed for `'a` LL | }; LL | } | - `b` dropped here while still borrowed error: aborting due to 3 previous errors For more information about this error, try `rustc --explain E0597`.