error: `Self` is not valid in the self type of an impl block --> $DIR/resolve-self-in-impl.rs:14:13 | LL | impl Tr for Self {} | ^^^^ | = note: replace `Self` with a different type error: `Self` is not valid in the self type of an impl block --> $DIR/resolve-self-in-impl.rs:15:15 | LL | impl Tr for S {} | ^^^^ | = note: replace `Self` with a different type error[E0391]: cycle detected when computing trait implemented by `` --> $DIR/resolve-self-in-impl.rs:19:1 | LL | impl Tr for S {} | ^^^^^^^^^^^^^^^^^^^^^^ | = note: ...which immediately requires computing trait implemented by `` again note: cycle used when building specialization graph of trait `Tr` --> $DIR/resolve-self-in-impl.rs:4:1 | LL | trait Tr { | ^^^^^^^^^^^^^^^^ = note: see https://rustc-dev-guide.rust-lang.org/overview.html#queries and https://rustc-dev-guide.rust-lang.org/query.html for more information error: `Self` is not valid in the self type of an impl block --> $DIR/resolve-self-in-impl.rs:16:6 | LL | impl Self {} | ^^^^ | = note: replace `Self` with a different type error: `Self` is not valid in the self type of an impl block --> $DIR/resolve-self-in-impl.rs:17:8 | LL | impl S {} | ^^^^ | = note: replace `Self` with a different type error: `Self` is not valid in the self type of an impl block --> $DIR/resolve-self-in-impl.rs:18:7 | LL | impl (Self, Self) {} | ^^^^ ^^^^ | = note: replace `Self` with a different type error: aborting due to 6 previous errors For more information about this error, try `rustc --explain E0391`.