//@ known-bug: rust-lang/rust#125099 pub trait ContFn: Fn(T) -> Self::Future { type Future; } impl ContFn for F where F: Fn(T), { type Future = (); } pub trait SeqHandler { type Requires; fn process>() -> impl Sized; } pub struct ConvertToU64; impl SeqHandler for ConvertToU64 { type Requires = u64; fn process>() -> impl Sized {} } fn main() {}