#[lang = "sized"] pub trait Sized {} trait Foo { type A; fn baz(a: Self::A) -> Self::A; } struct Bar(T); impl Foo for Bar { type A = T; fn baz(a: Self::A) -> T { a } } fn main() { let a; a = Bar::::baz(123); }