mirror of https://github.com/rust-lang/rust
31 lines
973 B
Plaintext
31 lines
973 B
Plaintext
error: unexpected keyword `Self` in generic parameters
|
|
--> $DIR/keyword-self-as-type-param.rs:3:12
|
|
|
|
|
LL | struct Foo<Self>(Self);
|
|
| ^^^^
|
|
|
|
|
= note: you cannot use `Self` as a generic parameter because it is reserved for associated items
|
|
|
|
error: unexpected keyword `Self` in generic parameters
|
|
--> $DIR/keyword-self-as-type-param.rs:7:11
|
|
|
|
|
LL | trait Bar<Self> {}
|
|
| ^^^^
|
|
|
|
|
= note: you cannot use `Self` as a generic parameter because it is reserved for associated items
|
|
|
|
error[E0072]: recursive type `Foo` has infinite size
|
|
--> $DIR/keyword-self-as-type-param.rs:3:1
|
|
|
|
|
LL | struct Foo<Self>(Self);
|
|
| ^^^^^^^^^^^^^^^^ ---- recursive without indirection
|
|
|
|
|
help: insert some indirection (e.g., a `Box`, `Rc`, or `&`) to break the cycle
|
|
|
|
|
LL | struct Foo<Self>(Box<Self>);
|
|
| ++++ +
|
|
|
|
error: aborting due to 3 previous errors
|
|
|
|
For more information about this error, try `rustc --explain E0072`.
|