28 lines
386 B
Rust
28 lines
386 B
Rust
// Test that specializing on a `rustc_specialization_trait` trait is allowed.
|
|
|
|
//@ check-pass
|
|
|
|
#![feature(min_specialization)]
|
|
#![feature(rustc_attrs)]
|
|
|
|
#[rustc_specialization_trait]
|
|
trait SpecTrait {
|
|
fn g(&self);
|
|
}
|
|
|
|
trait X {
|
|
fn f(&self);
|
|
}
|
|
|
|
impl<T> X for T {
|
|
default fn f(&self) {}
|
|
}
|
|
|
|
impl<T: SpecTrait> X for T {
|
|
fn f(&self) {
|
|
self.g();
|
|
}
|
|
}
|
|
|
|
fn main() {}
|