//@ known-bug: #140381 pub trait Foo {} pub trait Lend { type From<'a> where Self: 'a; fn lend(from: Self::From<'_>) -> impl Foo>; } impl Lend for (T, F) { type From<'a> = (); fn lend(from: Self::From<'_>) -> impl Foo> { from } }