diff options
Diffstat (limited to 'src/test/ui/keyword/keyword-self-as-type-param.stderr')
-rw-r--r-- | src/test/ui/keyword/keyword-self-as-type-param.stderr | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/src/test/ui/keyword/keyword-self-as-type-param.stderr b/src/test/ui/keyword/keyword-self-as-type-param.stderr new file mode 100644 index 000000000..419652e13 --- /dev/null +++ b/src/test/ui/keyword/keyword-self-as-type-param.stderr @@ -0,0 +1,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`. |