rust/tests/ui/specialization/defaultimpl/specialization-trait-item-n...

24 lines
521 B
Rust

// 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());
}