pub trait Foo { type Assoc; } pub fn sample = u8>>(_: X) -> u32 { loop {} } pub fn synergy(_: impl Foo = u8>) -> ! { loop {} } pub fn consider(_: impl Foo = u32>) -> bool { loop {} } pub fn integrate(_: impl Foo = T>) -> T { loop {} }