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