summaryrefslogtreecommitdiffstats
path: root/src/test/ui/keyword/keyword-self-as-type-param.stderr
blob: 419652e13492f5c7fc179e8ffc9e77ec90f7ddfd (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
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
   | |
   | recursive type has infinite size
   |
help: insert some indirection (e.g., a `Box`, `Rc`, or `&`) to make `Foo` representable
   |
LL | struct Foo<Self>(Box<Self>);
   |                  ++++    +

error: aborting due to 3 previous errors

For more information about this error, try `rustc --explain E0072`.