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