summaryrefslogtreecommitdiffstats
path: root/tests/ui/specialization/min_specialization/specialize_on_spec_trait.rs
blob: abbab5c23dbb760cc07f77d0fe7c91655adc3eec (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
// 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() {}