summaryrefslogtreecommitdiffstats
path: root/src/test/ui/specialization/assoc-ty-graph-cycle.rs
blob: fc39b553a61ac31cef08b8161cd2a66d01c2d859 (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
// run-pass

// Make sure we don't crash with a cycle error during coherence.

#![feature(specialization)] //~ WARN the feature `specialization` is incomplete

trait Trait<T> {
    type Assoc;
}

impl<T> Trait<T> for Vec<T> {
    default type Assoc = ();
}

impl Trait<u8> for Vec<u8> {
    type Assoc = u8;
}

impl<T> Trait<T> for String {
    type Assoc = ();
}

impl Trait<<Vec<u8> as Trait<u8>>::Assoc> for String {}

fn main() {}