rust/tests/ui/issues/issue-55380.rs

29 lines
451 B
Rust

//@ run-pass
#![feature(specialization)]
//~^ WARN the feature `specialization` is incomplete
pub trait Foo {
fn abc() -> u32;
fn def() -> u32;
}
pub trait Marker {}
impl Marker for () {}
impl<T> Foo for T {
default fn abc() -> u32 { 16 }
default fn def() -> u32 { 42 }
}
impl<T: Marker> Foo for T {
fn def() -> u32 {
Self::abc()
}
}
fn main() {
assert_eq!(<()>::def(), 16);
assert_eq!(<i32>::def(), 42);
}