error: `use<...>` precise capturing syntax is currently not allowed in return-position `impl Trait` in traits --> $DIR/rpitit-captures-more-method-lifetimes.rs:6:53 | LL | fn bar<'tr: 'tr>(&'tr mut self) -> impl Sized + use; | ^^^^^^^^^ | = note: currently, return-position `impl Trait` in traits and trait implementations capture all lifetimes in scope error: return type captures more lifetimes than trait definition --> $DIR/rpitit-captures-more-method-lifetimes.rs:11:40 | LL | fn bar<'im: 'im>(&'im mut self) -> impl Sized + 'im {} | --- ^^^^^^^^^^^^^^^^ | | | this lifetime was captured | note: hidden type must only reference lifetimes captured by this impl trait --> $DIR/rpitit-captures-more-method-lifetimes.rs:6:40 | LL | fn bar<'tr: 'tr>(&'tr mut self) -> impl Sized + use; | ^^^^^^^^^^^^^^^^^^^^^^ = note: hidden type inferred to be `impl Sized + 'im` warning: impl trait in impl method signature does not match trait method signature --> $DIR/rpitit-captures-more-method-lifetimes.rs:11:40 | LL | fn bar<'tr: 'tr>(&'tr mut self) -> impl Sized + use; | ---------------------- return type from trait method defined here ... LL | fn bar<'im: 'im>(&'im mut self) -> impl Sized + 'im {} | ^^^^^^^^^^^^^^^^ | = note: add `#[allow(refining_impl_trait)]` if it is intended for this to be part of the public API of this crate = note: we are soliciting feedback, see issue #121718 for more information = note: `#[warn(refining_impl_trait_reachable)]` on by default help: replace the return type so that it matches the trait | LL | fn bar<'im: 'im>(&'im mut self) -> impl Sized {} | ~~~~~~~~~~ error: aborting due to 2 previous errors; 1 warning emitted