error[E0311]: the parameter type `T` may not live long enough --> $DIR/missing-lifetimes-in-signature-2.rs:23:5 | LL | / foo.bar(move |_| { LL | | LL | | t.test(); LL | | }); | |______^ | note: the parameter type `T` must be valid for the anonymous lifetime defined here... --> $DIR/missing-lifetimes-in-signature-2.rs:22:24 | LL | fn func(foo: &Foo, t: T) { | ^^^ note: ...so that the type `T` will meet its required lifetime bounds --> $DIR/missing-lifetimes-in-signature-2.rs:23:5 | LL | / foo.bar(move |_| { LL | | LL | | t.test(); LL | | }); | |______^ help: consider adding an explicit lifetime bound... | LL | fn func<'a, T: Test + 'a>(foo: &'a Foo<'a>, t: T) { | +++ ++++ ++ ++++ error: aborting due to previous error For more information about this error, try `rustc --explain E0311`.