error[E0597]: `a` does not live long enough --> $DIR/issue-74684-1.rs:13:26 | LL | fn bug<'a, T: ?Sized + Fun = [u8]>>(_ : Box) -> &'static T::F<'a> { | -- lifetime `'a` defined here LL | let a = [0; 1]; | - binding `a` declared here LL | let _x = T::identity(&a); | ------------^^- | | | | | borrowed value does not live long enough | argument requires that `a` is borrowed for `'a` ... LL | } | - `a` dropped here while still borrowed error: aborting due to previous error For more information about this error, try `rustc --explain E0597`.