| // Tests that default impls do not have to supply all items but regular impls do. | |
| #![feature(specialization)] //~ WARN the feature `specialization` is incomplete | |
| trait Foo { | |
| fn foo_one(&self) -> &'static str; | |
| fn foo_two(&self) -> &'static str; | |
| } | |
| struct MyStruct; | |
| default impl<T> Foo for T { | |
| fn foo_one(&self) -> &'static str { | |
| "generic" | |
| } | |
| } | |
| impl Foo for MyStruct {} | |
| //~^ ERROR not all trait items implemented, missing: `foo_two` [E0046] | |
| fn main() { | |
| println!("{}", MyStruct.foo_one()); | |
| } |