#![feature(precise_capturing_in_traits)] struct Invariant<'a>(&'a mut &'a mut ()); trait Trait { fn hello(self_: Invariant<'_>) -> impl Sized + use; } impl Trait for () { fn hello(self_: Invariant<'_>) -> impl Sized + use<'_> {} //~^ ERROR return type captures more lifetimes than trait definition } fn main() {}