//@ known-bug: #117392 pub trait BorrowComposite { type Ref<'a>: 'a; } impl BorrowComposite for () { type Ref<'a> = (); } pub trait Component { type Output; } impl Component for () { type Output = (); } pub fn delay FnMut(Args::Ref<'a>) -> C, C: Component>( make: Make, ) -> impl Component { } pub fn crash() -> impl Component<()> { delay(|()| delay(|()| ())) } pub fn main() {}