From 6f968782fdbe806007b4adbe98d362a96c9981cf Mon Sep 17 00:00:00 2001 From: Jonathan Brouwer Date: Fri, 17 Apr 2026 12:37:58 +0200 Subject: [PATCH] Add regression tests --- tests/ui/attributes/attr-order-deprecated.rs | 11 ++++++ .../attributes/attr-order-deprecated.stderr | 22 ++++++++++++ tests/ui/attributes/attr-order-must-use.rs | 19 +++++++++++ .../ui/attributes/attr-order-must-use.stderr | 34 +++++++++++++++++++ 4 files changed, 86 insertions(+) create mode 100644 tests/ui/attributes/attr-order-deprecated.rs create mode 100644 tests/ui/attributes/attr-order-deprecated.stderr create mode 100644 tests/ui/attributes/attr-order-must-use.rs create mode 100644 tests/ui/attributes/attr-order-must-use.stderr diff --git a/tests/ui/attributes/attr-order-deprecated.rs b/tests/ui/attributes/attr-order-deprecated.rs new file mode 100644 index 000000000000..606e714819b5 --- /dev/null +++ b/tests/ui/attributes/attr-order-deprecated.rs @@ -0,0 +1,11 @@ +#[deprecated = "AAA"] +//~^ NOTE also specified here +#[deprecated = "BBB"] +//~^ ERROR multiple `deprecated` attributes +fn deprecated() { } + +fn main() { + deprecated(); + //~^ WARN use of deprecated function `deprecated`: AAA [deprecated] + //~| NOTE `#[warn(deprecated)]` on by default +} diff --git a/tests/ui/attributes/attr-order-deprecated.stderr b/tests/ui/attributes/attr-order-deprecated.stderr new file mode 100644 index 000000000000..41e26bec761e --- /dev/null +++ b/tests/ui/attributes/attr-order-deprecated.stderr @@ -0,0 +1,22 @@ +error: multiple `deprecated` attributes + --> $DIR/attr-order-deprecated.rs:3:1 + | +LL | #[deprecated = "BBB"] + | ^^^^^^^^^^^^^^^^^^^^^ help: remove this attribute + | +note: attribute also specified here + --> $DIR/attr-order-deprecated.rs:1:1 + | +LL | #[deprecated = "AAA"] + | ^^^^^^^^^^^^^^^^^^^^^ + +warning: use of deprecated function `deprecated`: AAA + --> $DIR/attr-order-deprecated.rs:8:5 + | +LL | deprecated(); + | ^^^^^^^^^^ + | + = note: `#[warn(deprecated)]` on by default + +error: aborting due to 1 previous error; 1 warning emitted + diff --git a/tests/ui/attributes/attr-order-must-use.rs b/tests/ui/attributes/attr-order-must-use.rs new file mode 100644 index 000000000000..36ffe9d5ed70 --- /dev/null +++ b/tests/ui/attributes/attr-order-must-use.rs @@ -0,0 +1,19 @@ +#![deny(unused)] +//~^ NOTE lint level is defined here + +#[must_use = "AAA"] +//~^ NOTE also specified here +#[must_use = "BBB"] +//~^ ERROR unused attribute +//~| WARN previously accepted +//~| NOTE `#[deny(unused_attributes)]` implied by `#[deny(unused)]` +fn must_use() -> usize { + 0 +} + +fn main() { + must_use(); + //~^ ERROR unused return value of `must_use` that must be used + //~| NOTE AAA + //~| NOTE `#[deny(unused_must_use)]` implied by `#[deny(unused)]` +} diff --git a/tests/ui/attributes/attr-order-must-use.stderr b/tests/ui/attributes/attr-order-must-use.stderr new file mode 100644 index 000000000000..18b581162301 --- /dev/null +++ b/tests/ui/attributes/attr-order-must-use.stderr @@ -0,0 +1,34 @@ +error: unused attribute + --> $DIR/attr-order-must-use.rs:6:1 + | +LL | #[must_use = "BBB"] + | ^^^^^^^^^^^^^^^^^^^ help: remove this attribute + | +note: attribute also specified here + --> $DIR/attr-order-must-use.rs:4:1 + | +LL | #[must_use = "AAA"] + | ^^^^^^^^^^^^^^^^^^^ + = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! +note: the lint level is defined here + --> $DIR/attr-order-must-use.rs:1:9 + | +LL | #![deny(unused)] + | ^^^^^^ + = note: `#[deny(unused_attributes)]` implied by `#[deny(unused)]` + +error: unused return value of `must_use` that must be used + --> $DIR/attr-order-must-use.rs:15:5 + | +LL | must_use(); + | ^^^^^^^^^^ + | + = note: AAA + = note: `#[deny(unused_must_use)]` implied by `#[deny(unused)]` +help: use `let _ = ...` to ignore the resulting value + | +LL | let _ = must_use(); + | +++++++ + +error: aborting due to 2 previous errors +