2018-10-08 21:39:44 +09:00
|
|
|
#![feature(specialization)]
|
2020-06-16 10:06:35 +02:00
|
|
|
//~^ WARN the feature `specialization` is incomplete
|
2018-10-08 21:39:44 +09:00
|
|
|
|
|
|
|
|
pub trait Foo {
|
|
|
|
|
fn foo();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
impl Foo for i32 {}
|
|
|
|
|
impl Foo for i64 {
|
|
|
|
|
fn foo() {}
|
|
|
|
|
//~^ERROR `foo` specializes an item from a parent `impl`
|
|
|
|
|
}
|
|
|
|
|
impl<T> Foo for T {
|
|
|
|
|
fn foo() {}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
fn main() {
|
|
|
|
|
i32::foo();
|
|
|
|
|
i64::foo();
|
|
|
|
|
u8::foo();
|
|
|
|
|
}
|