#![deny(clippy::needless_lifetimes)] #![allow(dead_code)] trait Foo {} struct Bar; struct Baz<'a> { bar: &'a Bar, } impl<'a> Foo for Baz<'a> {} impl Bar { fn baz<'a>(&'a self) -> impl Foo + 'a { //~^ ERROR: the following explicit lifetimes could be elided: 'a Baz { bar: self } } } fn main() {}