// check-pass pub trait Fn0: Fn(i32) -> Self::Out { type Out; } impl ()> Fn0 for F { type Out = (); } pub fn closure_typer(_: impl Fn0) {} fn main() { closure_typer(move |x| { let _: i64 = x.into(); }); }