1 error: `Self` is not valid in the self type of an impl block
2 --> $DIR/resolve-self-in-impl.rs:16:6
7 = note: replace `Self` with a different type
9 error: `Self` is not valid in the self type of an impl block
10 --> $DIR/resolve-self-in-impl.rs:17:8
15 = note: replace `Self` with a different type
17 error: `Self` is not valid in the self type of an impl block
18 --> $DIR/resolve-self-in-impl.rs:18:7
20 LL | impl (Self, Self) {}
23 = note: replace `Self` with a different type
25 error: `Self` is not valid in the self type of an impl block
26 --> $DIR/resolve-self-in-impl.rs:14:13
28 LL | impl Tr for Self {}
31 = note: replace `Self` with a different type
33 error: `Self` is not valid in the self type of an impl block
34 --> $DIR/resolve-self-in-impl.rs:15:15
36 LL | impl Tr for S<Self> {}
39 = note: replace `Self` with a different type
41 error[E0391]: cycle detected when computing trait implemented by `<impl at $DIR/resolve-self-in-impl.rs:19:1: 19:23>`
42 --> $DIR/resolve-self-in-impl.rs:19:1
44 LL | impl Tr<Self::A> for S {}
45 | ^^^^^^^^^^^^^^^^^^^^^^
47 = note: ...which immediately requires computing trait implemented by `<impl at $DIR/resolve-self-in-impl.rs:19:1: 19:23>` again
48 note: cycle used when collecting item types in top-level module
49 --> $DIR/resolve-self-in-impl.rs:1:1
51 LL | / #![feature(associated_type_defaults)]
53 LL | | struct S<T = u8>(T);
54 LL | | trait Tr<T = u8> {
60 error: aborting due to 6 previous errors
62 For more information about this error, try `rustc --explain E0391`.