rust/tests/ui/issues/issue-55380.rs
2023-01-11 09:32:08 +00:00

28 lines
450 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);
}