Rollup merge of #117092 - matthewjasper:attribute-validation, r=compiler-errors

Add regression test for #117058

The new behavior in nightly is correct, so add a test that it stays this way.

Closes #117058
This commit is contained in:
Matthias Krüger 2023-10-24 17:09:00 +02:00 committed by GitHub
commit af58cdab18
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 95 additions and 0 deletions

View File

@ -0,0 +1,39 @@
// test for #117058 - check that attributes are validated on various kinds of statements.
struct A;
fn func() {}
fn main() {
#[allow(two-words)]
//~^ ERROR expected one of `(`, `,`, `::`, or `=`, found `-`
if true {
} else {
}
#[allow(two-words)]
//~^ ERROR expected one of `(`, `,`, `::`, or `=`, found `-`
(1);
#[allow(two-words)]
//~^ ERROR expected one of `(`, `,`, `::`, or `=`, found `-`
match 1 {
_ => {}
}
#[allow(two-words)]
//~^ ERROR expected one of `(`, `,`, `::`, or `=`, found `-`
while false {}
#[allow(two-words)]
//~^ ERROR expected one of `(`, `,`, `::`, or `=`, found `-`
{}
#[allow(two-words)]
//~^ ERROR expected one of `(`, `,`, `::`, or `=`, found `-`
A {};
#[allow(two-words)]
//~^ ERROR expected one of `(`, `,`, `::`, or `=`, found `-`
func();
#[allow(two-words)]
//~^ ERROR expected one of `(`, `,`, `::`, or `=`, found `-`
A;
#[allow(two-words)]
//~^ ERROR expected one of `(`, `,`, `::`, or `=`, found `-`
loop {}
}

View File

@ -0,0 +1,56 @@
error: expected one of `(`, `,`, `::`, or `=`, found `-`
--> $DIR/statement-attribute-validation.rs:8:16
|
LL | #[allow(two-words)]
| ^ expected one of `(`, `,`, `::`, or `=`
error: expected one of `(`, `,`, `::`, or `=`, found `-`
--> $DIR/statement-attribute-validation.rs:13:16
|
LL | #[allow(two-words)]
| ^ expected one of `(`, `,`, `::`, or `=`
error: expected one of `(`, `,`, `::`, or `=`, found `-`
--> $DIR/statement-attribute-validation.rs:16:16
|
LL | #[allow(two-words)]
| ^ expected one of `(`, `,`, `::`, or `=`
error: expected one of `(`, `,`, `::`, or `=`, found `-`
--> $DIR/statement-attribute-validation.rs:21:16
|
LL | #[allow(two-words)]
| ^ expected one of `(`, `,`, `::`, or `=`
error: expected one of `(`, `,`, `::`, or `=`, found `-`
--> $DIR/statement-attribute-validation.rs:24:16
|
LL | #[allow(two-words)]
| ^ expected one of `(`, `,`, `::`, or `=`
error: expected one of `(`, `,`, `::`, or `=`, found `-`
--> $DIR/statement-attribute-validation.rs:27:16
|
LL | #[allow(two-words)]
| ^ expected one of `(`, `,`, `::`, or `=`
error: expected one of `(`, `,`, `::`, or `=`, found `-`
--> $DIR/statement-attribute-validation.rs:30:16
|
LL | #[allow(two-words)]
| ^ expected one of `(`, `,`, `::`, or `=`
error: expected one of `(`, `,`, `::`, or `=`, found `-`
--> $DIR/statement-attribute-validation.rs:33:16
|
LL | #[allow(two-words)]
| ^ expected one of `(`, `,`, `::`, or `=`
error: expected one of `(`, `,`, `::`, or `=`, found `-`
--> $DIR/statement-attribute-validation.rs:36:16
|
LL | #[allow(two-words)]
| ^ expected one of `(`, `,`, `::`, or `=`
error: aborting due to 9 previous errors