diff options
| author | Albert Larsan <74931857+albertlarsan68@users.noreply.github.com> | 2023-01-05 09:13:28 +0100 |
|---|---|---|
| committer | Albert Larsan <74931857+albertlarsan68@users.noreply.github.com> | 2023-01-11 09:32:08 +0000 |
| commit | cf2dff2b1e3fa55fa5415d524200070d0d7aacfe (patch) | |
| tree | 40a88d9a46aaf3e8870676eb2538378b75a263eb /tests/ui/keyword | |
| parent | ca855e6e42787ecd062d81d53336fe6788ef51a9 (diff) | |
| download | rust-cf2dff2b1e3fa55fa5415d524200070d0d7aacfe.tar.gz rust-cf2dff2b1e3fa55fa5415d524200070d0d7aacfe.zip | |
Move /src/test to /tests
Diffstat (limited to 'tests/ui/keyword')
20 files changed, 168 insertions, 0 deletions
diff --git a/tests/ui/keyword/extern/keyword-extern-as-identifier-expr.rs b/tests/ui/keyword/extern/keyword-extern-as-identifier-expr.rs new file mode 100644 index 00000000000..b738eb4c703 --- /dev/null +++ b/tests/ui/keyword/extern/keyword-extern-as-identifier-expr.rs @@ -0,0 +1,3 @@ +fn main() { + let s = extern::foo::Bar; //~ ERROR expected expression, found keyword `extern` +} diff --git a/tests/ui/keyword/extern/keyword-extern-as-identifier-expr.stderr b/tests/ui/keyword/extern/keyword-extern-as-identifier-expr.stderr new file mode 100644 index 00000000000..8bb89d2ee21 --- /dev/null +++ b/tests/ui/keyword/extern/keyword-extern-as-identifier-expr.stderr @@ -0,0 +1,8 @@ +error: expected expression, found keyword `extern` + --> $DIR/keyword-extern-as-identifier-expr.rs:2:13 + | +LL | let s = extern::foo::Bar; + | ^^^^^^ expected expression + +error: aborting due to previous error + diff --git a/tests/ui/keyword/extern/keyword-extern-as-identifier-pat.rs b/tests/ui/keyword/extern/keyword-extern-as-identifier-pat.rs new file mode 100644 index 00000000000..8a420f7203c --- /dev/null +++ b/tests/ui/keyword/extern/keyword-extern-as-identifier-pat.rs @@ -0,0 +1,3 @@ +fn main() { + let extern = 0; //~ ERROR expected identifier, found keyword `extern` +} diff --git a/tests/ui/keyword/extern/keyword-extern-as-identifier-pat.stderr b/tests/ui/keyword/extern/keyword-extern-as-identifier-pat.stderr new file mode 100644 index 00000000000..9bf416341e8 --- /dev/null +++ b/tests/ui/keyword/extern/keyword-extern-as-identifier-pat.stderr @@ -0,0 +1,13 @@ +error: expected identifier, found keyword `extern` + --> $DIR/keyword-extern-as-identifier-pat.rs:2:9 + | +LL | let extern = 0; + | ^^^^^^ expected identifier, found keyword + | +help: escape `extern` to use it as an identifier + | +LL | let r#extern = 0; + | ++ + +error: aborting due to previous error + diff --git a/tests/ui/keyword/extern/keyword-extern-as-identifier-type.rs b/tests/ui/keyword/extern/keyword-extern-as-identifier-type.rs new file mode 100644 index 00000000000..12aa059766b --- /dev/null +++ b/tests/ui/keyword/extern/keyword-extern-as-identifier-type.rs @@ -0,0 +1,3 @@ +type A = extern::foo::bar; //~ ERROR expected type, found keyword `extern` + +fn main() {} diff --git a/tests/ui/keyword/extern/keyword-extern-as-identifier-type.stderr b/tests/ui/keyword/extern/keyword-extern-as-identifier-type.stderr new file mode 100644 index 00000000000..20ecf6bac76 --- /dev/null +++ b/tests/ui/keyword/extern/keyword-extern-as-identifier-type.stderr @@ -0,0 +1,8 @@ +error: expected type, found keyword `extern` + --> $DIR/keyword-extern-as-identifier-type.rs:1:10 + | +LL | type A = extern::foo::bar; + | ^^^^^^ expected type + +error: aborting due to previous error + diff --git a/tests/ui/keyword/extern/keyword-extern-as-identifier-use.rs b/tests/ui/keyword/extern/keyword-extern-as-identifier-use.rs new file mode 100644 index 00000000000..a46ce67d40d --- /dev/null +++ b/tests/ui/keyword/extern/keyword-extern-as-identifier-use.rs @@ -0,0 +1,4 @@ +use extern::foo; //~ ERROR expected identifier, found keyword `extern` + //~| ERROR unresolved import `r#extern` + +fn main() {} diff --git a/tests/ui/keyword/extern/keyword-extern-as-identifier-use.stderr b/tests/ui/keyword/extern/keyword-extern-as-identifier-use.stderr new file mode 100644 index 00000000000..54ee45c2867 --- /dev/null +++ b/tests/ui/keyword/extern/keyword-extern-as-identifier-use.stderr @@ -0,0 +1,22 @@ +error: expected identifier, found keyword `extern` + --> $DIR/keyword-extern-as-identifier-use.rs:1:5 + | +LL | use extern::foo; + | ^^^^^^ expected identifier, found keyword + | +help: escape `extern` to use it as an identifier + | +LL | use r#extern::foo; + | ++ + +error[E0432]: unresolved import `r#extern` + --> $DIR/keyword-extern-as-identifier-use.rs:1:5 + | +LL | use extern::foo; + | ^^^^^^ maybe a missing crate `r#extern`? + | + = help: consider adding `extern crate r#extern` to use the `r#extern` crate + +error: aborting due to 2 previous errors + +For more information about this error, try `rustc --explain E0432`. diff --git a/tests/ui/keyword/keyword-false-as-identifier.rs b/tests/ui/keyword/keyword-false-as-identifier.rs new file mode 100644 index 00000000000..6382f841b04 --- /dev/null +++ b/tests/ui/keyword/keyword-false-as-identifier.rs @@ -0,0 +1,3 @@ +fn main() { + let false = 22; //~ error: mismatched types +} diff --git a/tests/ui/keyword/keyword-false-as-identifier.stderr b/tests/ui/keyword/keyword-false-as-identifier.stderr new file mode 100644 index 00000000000..6dcfa3a4811 --- /dev/null +++ b/tests/ui/keyword/keyword-false-as-identifier.stderr @@ -0,0 +1,11 @@ +error[E0308]: mismatched types + --> $DIR/keyword-false-as-identifier.rs:2:9 + | +LL | let false = 22; + | ^^^^^ -- this expression has type `{integer}` + | | + | expected integer, found `bool` + +error: aborting due to previous error + +For more information about this error, try `rustc --explain E0308`. diff --git a/tests/ui/keyword/keyword-self-as-identifier.rs b/tests/ui/keyword/keyword-self-as-identifier.rs new file mode 100644 index 00000000000..72e4f01e21e --- /dev/null +++ b/tests/ui/keyword/keyword-self-as-identifier.rs @@ -0,0 +1,3 @@ +fn main() { + let Self = 22; //~ ERROR cannot find unit struct, unit variant or constant `Self` in this scope +} diff --git a/tests/ui/keyword/keyword-self-as-identifier.stderr b/tests/ui/keyword/keyword-self-as-identifier.stderr new file mode 100644 index 00000000000..060e7c3eafc --- /dev/null +++ b/tests/ui/keyword/keyword-self-as-identifier.stderr @@ -0,0 +1,9 @@ +error[E0531]: cannot find unit struct, unit variant or constant `Self` in this scope + --> $DIR/keyword-self-as-identifier.rs:2:9 + | +LL | let Self = 22; + | ^^^^ not found in this scope + +error: aborting due to previous error + +For more information about this error, try `rustc --explain E0531`. diff --git a/tests/ui/keyword/keyword-self-as-type-param.rs b/tests/ui/keyword/keyword-self-as-type-param.rs new file mode 100644 index 00000000000..55c7ac128ff --- /dev/null +++ b/tests/ui/keyword/keyword-self-as-type-param.rs @@ -0,0 +1,10 @@ +// Regression test of #36638. + +struct Foo<Self>(Self); +//~^ ERROR unexpected keyword `Self` in generic parameters +//~| ERROR recursive type `Foo` has infinite size + +trait Bar<Self> {} +//~^ ERROR unexpected keyword `Self` in generic parameters + +fn main() {} diff --git a/tests/ui/keyword/keyword-self-as-type-param.stderr b/tests/ui/keyword/keyword-self-as-type-param.stderr new file mode 100644 index 00000000000..5aef9475486 --- /dev/null +++ b/tests/ui/keyword/keyword-self-as-type-param.stderr @@ -0,0 +1,30 @@ +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`. diff --git a/tests/ui/keyword/keyword-super-as-identifier.rs b/tests/ui/keyword/keyword-super-as-identifier.rs new file mode 100644 index 00000000000..02c1b27b08a --- /dev/null +++ b/tests/ui/keyword/keyword-super-as-identifier.rs @@ -0,0 +1,3 @@ +fn main() { + let super = 22; //~ ERROR failed to resolve: there are too many leading `super` keywords +} diff --git a/tests/ui/keyword/keyword-super-as-identifier.stderr b/tests/ui/keyword/keyword-super-as-identifier.stderr new file mode 100644 index 00000000000..1f64f3b73d6 --- /dev/null +++ b/tests/ui/keyword/keyword-super-as-identifier.stderr @@ -0,0 +1,9 @@ +error[E0433]: failed to resolve: there are too many leading `super` keywords + --> $DIR/keyword-super-as-identifier.rs:2:9 + | +LL | let super = 22; + | ^^^^^ there are too many leading `super` keywords + +error: aborting due to previous error + +For more information about this error, try `rustc --explain E0433`. diff --git a/tests/ui/keyword/keyword-super.rs b/tests/ui/keyword/keyword-super.rs new file mode 100644 index 00000000000..c121a6c1050 --- /dev/null +++ b/tests/ui/keyword/keyword-super.rs @@ -0,0 +1,3 @@ +fn main() { + let super: isize; //~ ERROR failed to resolve: there are too many leading `super` keywords +} diff --git a/tests/ui/keyword/keyword-super.stderr b/tests/ui/keyword/keyword-super.stderr new file mode 100644 index 00000000000..0e0d67cb97b --- /dev/null +++ b/tests/ui/keyword/keyword-super.stderr @@ -0,0 +1,9 @@ +error[E0433]: failed to resolve: there are too many leading `super` keywords + --> $DIR/keyword-super.rs:2:9 + | +LL | let super: isize; + | ^^^^^ there are too many leading `super` keywords + +error: aborting due to previous error + +For more information about this error, try `rustc --explain E0433`. diff --git a/tests/ui/keyword/keyword-true-as-identifier.rs b/tests/ui/keyword/keyword-true-as-identifier.rs new file mode 100644 index 00000000000..8c4ad7e2a66 --- /dev/null +++ b/tests/ui/keyword/keyword-true-as-identifier.rs @@ -0,0 +1,3 @@ +fn main() { + let true = 22; //~ error: mismatched types +} diff --git a/tests/ui/keyword/keyword-true-as-identifier.stderr b/tests/ui/keyword/keyword-true-as-identifier.stderr new file mode 100644 index 00000000000..86f6e00064f --- /dev/null +++ b/tests/ui/keyword/keyword-true-as-identifier.stderr @@ -0,0 +1,11 @@ +error[E0308]: mismatched types + --> $DIR/keyword-true-as-identifier.rs:2:9 + | +LL | let true = 22; + | ^^^^ -- this expression has type `{integer}` + | | + | expected integer, found `bool` + +error: aborting due to previous error + +For more information about this error, try `rustc --explain E0308`. |
