```rust pub trait Fn0: Fn(i32) -> Self::Out { type Out; } impl<F: Fn(i32) -> ()> Fn0 for F { type Out = (); } pub fn closure_typer(_: impl Fn0) {} fn main() { closure_typer(move |x| { let _: i64 = x.into(); }); } ``` affected tests - tests/ui/closures/supertrait-hint-references-assoc-ty.rs - tests/ui/borrowck/issue-103095.rs