#[lang = "sized"] pub trait Sized {} pub trait Foo { fn foo(self, _: A) -> u16; } impl Foo for u16 { fn foo(self, _: u16) -> u16 { self } } impl Foo for u16 { fn foo(self, _: u8) -> u16 { self } } pub fn bar() -> u16 { >::foo(0u16, 0u16) }