summaryrefslogtreecommitdiffstats
path: root/tests/ui/attributes
diff options
context:
space:
mode:
Diffstat (limited to 'tests/ui/attributes')
-rw-r--r--tests/ui/attributes/const-stability-on-macro.rs2
-rw-r--r--tests/ui/attributes/const-stability-on-macro.stderr4
-rw-r--r--tests/ui/attributes/statement-attribute-validation.rs39
-rw-r--r--tests/ui/attributes/statement-attribute-validation.stderr56
-rw-r--r--tests/ui/attributes/unix_sigpipe/unix_sigpipe-crate.stderr8
5 files changed, 104 insertions, 5 deletions
diff --git a/tests/ui/attributes/const-stability-on-macro.rs b/tests/ui/attributes/const-stability-on-macro.rs
index 412af195d..af268ccd5 100644
--- a/tests/ui/attributes/const-stability-on-macro.rs
+++ b/tests/ui/attributes/const-stability-on-macro.rs
@@ -1,7 +1,7 @@
#![feature(staged_api)]
#![stable(feature = "rust1", since = "1.0.0")]
-#[rustc_const_stable(feature = "foo", since = "0")]
+#[rustc_const_stable(feature = "foo", since = "3.3.3")]
//~^ ERROR macros cannot have const stability attributes
macro_rules! foo {
() => {};
diff --git a/tests/ui/attributes/const-stability-on-macro.stderr b/tests/ui/attributes/const-stability-on-macro.stderr
index c3da02c79..28f31e3d4 100644
--- a/tests/ui/attributes/const-stability-on-macro.stderr
+++ b/tests/ui/attributes/const-stability-on-macro.stderr
@@ -1,8 +1,8 @@
error: macros cannot have const stability attributes
--> $DIR/const-stability-on-macro.rs:4:1
|
-LL | #[rustc_const_stable(feature = "foo", since = "0")]
- | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ invalid const stability attribute
+LL | #[rustc_const_stable(feature = "foo", since = "3.3.3")]
+ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ invalid const stability attribute
LL |
LL | macro_rules! foo {
| ---------------- const stability attribute affects this macro
diff --git a/tests/ui/attributes/statement-attribute-validation.rs b/tests/ui/attributes/statement-attribute-validation.rs
new file mode 100644
index 000000000..31407364a
--- /dev/null
+++ b/tests/ui/attributes/statement-attribute-validation.rs
@@ -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 {}
+}
diff --git a/tests/ui/attributes/statement-attribute-validation.stderr b/tests/ui/attributes/statement-attribute-validation.stderr
new file mode 100644
index 000000000..06f447be5
--- /dev/null
+++ b/tests/ui/attributes/statement-attribute-validation.stderr
@@ -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
+
diff --git a/tests/ui/attributes/unix_sigpipe/unix_sigpipe-crate.stderr b/tests/ui/attributes/unix_sigpipe/unix_sigpipe-crate.stderr
index a1fb4d678..225b8e8f3 100644
--- a/tests/ui/attributes/unix_sigpipe/unix_sigpipe-crate.stderr
+++ b/tests/ui/attributes/unix_sigpipe/unix_sigpipe-crate.stderr
@@ -3,11 +3,15 @@ error: `unix_sigpipe` attribute cannot be used at crate level
|
LL | #![unix_sigpipe = "inherit"]
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+LL |
+LL | fn main() {}
+ | ---- the inner attribute doesn't annotate this function
|
help: perhaps you meant to use an outer attribute
|
-LL | #[unix_sigpipe = "inherit"]
- | ~~~~~~~~~~~~~~~~~~~~~~~~~~~
+LL - #![unix_sigpipe = "inherit"]
+LL + #[unix_sigpipe = "inherit"]
+ |
error: aborting due to previous error