3 #![feature(type_alias_impl_trait)]
6 // This was reachable in https://github.com/rust-lang/rust/issues/100800
7 fn foo(&self) { unreachable!() }
16 type Input = impl Foo;
17 fn run1<F: FnOnce(Input)>(f: F, i: Input) {f(i)}
18 fn run2<F: FnOnce(B)>(f: F, i: B) {f(i)}
21 run1(|x: B| {x.foo()}, B);
22 run2(|x: B| {x.foo()}, B);