error[E0403]: the name `S` is already used for a generic parameter in this item's generic parameters --> $DIR/issue-103790.rs:4:29 | LL | struct S; | - ^ already used | | | first use of `S` error[E0107]: missing generics for struct `S` --> $DIR/issue-103790.rs:4:32 | LL | struct S; | ^ expected at least 1 generic argument | note: struct defined here, with at least 1 generic parameter: `S` --> $DIR/issue-103790.rs:4:8 | LL | struct S; | ^ ----------- help: add missing generic argument | LL | struct S = { S }>; | +++ error[E0391]: cycle detected when computing type of `S::S` --> $DIR/issue-103790.rs:4:32 | LL | struct S; | ^ | = note: ...which immediately requires computing type of `S::S` again note: cycle used when computing type of `S` --> $DIR/issue-103790.rs:4:1 | LL | struct S; | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ error[E0391]: cycle detected when computing type of `S` --> $DIR/issue-103790.rs:4:1 | LL | struct S; | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | note: ...which requires computing type of `S::S`... --> $DIR/issue-103790.rs:4:32 | LL | struct S; | ^ = note: ...which again requires computing type of `S`, completing the cycle note: cycle used when collecting item types in top-level module --> $DIR/issue-103790.rs:1:1 | LL | / #![feature(generic_const_exprs)] LL | | #![allow(incomplete_features)] LL | | LL | | struct S; ... | LL | | LL | | fn main() {} | |____________^ error: aborting due to 4 previous errors Some errors have detailed explanations: E0107, E0391, E0403. For more information about an error, try `rustc --explain E0107`.