error[E0597]: `a` does not live long enough --> $DIR/method-ufcs-2.rs:42:7 | LL | x(&a, b, c); //~ ERROR | ^^ borrowed value does not live long enough LL | } | - `a` dropped here while still borrowed | = note: borrowed value must be valid for the static lifetime... error[E0597]: `b` does not live long enough --> $DIR/method-ufcs-2.rs:49:39 | LL | <_ as Bazoom<&'a u32>>::method(a, &b, c); //~ ERROR | ^^ borrowed value does not live long enough LL | } | - `b` dropped here while still borrowed | note: borrowed value must be valid for the lifetime 'a as defined on the function body at 45:35... --> $DIR/method-ufcs-2.rs:45:35 | LL | fn annot_reference_named_lifetime<'a>(_d: &'a u32) { | ^^ error[E0597]: `b` does not live long enough --> $DIR/method-ufcs-2.rs:63:44 | LL | let _closure = || { | -- value captured here LL | let c = 66; LL | <_ as Bazoom<&'a u32>>::method(a, &b, c); //~ ERROR | ^ borrowed value does not live long enough LL | }; LL | } | - `b` dropped here while still borrowed | note: borrowed value must be valid for the lifetime 'a as defined on the function body at 58:46... --> $DIR/method-ufcs-2.rs:58:46 | LL | fn annot_reference_named_lifetime_in_closure<'a>(_: &'a u32) { | ^^ error: aborting due to 3 previous errors For more information about this error, try `rustc --explain E0597`.