File tree Expand file tree Collapse file tree 2 files changed +51
-0
lines changed Expand file tree Collapse file tree 2 files changed +51
-0
lines changed Original file line number Diff line number Diff line change 1+ #![ feature( trait_alias) ]
2+
3+ trait T1 = T2 ;
4+ //~^ ERROR cycle detected when computing the super predicates of `T1`
5+
6+ trait T2 = T3 ;
7+
8+ trait T3 = T1 + T3 ;
9+
10+ fn main ( ) { }
Original file line number Diff line number Diff line change 1+ error[E0391]: cycle detected when computing the super predicates of `T1`
2+ --> $DIR/infinite-trait-alias-recursion.rs:3:1
3+ |
4+ LL | trait T1 = T2;
5+ | ^^^^^^^^^^^^^^
6+ |
7+ note: ...which requires computing the super traits of `T1`...
8+ --> $DIR/infinite-trait-alias-recursion.rs:3:12
9+ |
10+ LL | trait T1 = T2;
11+ | ^^
12+ note: ...which requires computing the super predicates of `T2`...
13+ --> $DIR/infinite-trait-alias-recursion.rs:6:1
14+ |
15+ LL | trait T2 = T3;
16+ | ^^^^^^^^^^^^^^
17+ note: ...which requires computing the super traits of `T2`...
18+ --> $DIR/infinite-trait-alias-recursion.rs:6:12
19+ |
20+ LL | trait T2 = T3;
21+ | ^^
22+ note: ...which requires computing the super predicates of `T3`...
23+ --> $DIR/infinite-trait-alias-recursion.rs:8:1
24+ |
25+ LL | trait T3 = T1 + T3;
26+ | ^^^^^^^^^^^^^^^^^^^
27+ note: ...which requires computing the super traits of `T3`...
28+ --> $DIR/infinite-trait-alias-recursion.rs:8:12
29+ |
30+ LL | trait T3 = T1 + T3;
31+ | ^^
32+ = note: ...which again requires computing the super predicates of `T1`, completing the cycle
33+ note: cycle used when collecting item types in top-level module
34+ --> $DIR/infinite-trait-alias-recursion.rs:3:1
35+ |
36+ LL | trait T1 = T2;
37+ | ^^^^^^^^^^^^^^
38+
39+ error: aborting due to previous error
40+
41+ For more information about this error, try `rustc --explain E0391`.
You can’t perform that action at this time.
0 commit comments