diff options
| author | est31 <MTest31@outlook.com> | 2022-06-09 23:46:40 +0200 |
|---|---|---|
| committer | est31 <MTest31@outlook.com> | 2022-06-09 23:49:13 +0200 |
| commit | 787e24cdfd5bef5136540287dd918e48b8a645db (patch) | |
| tree | 6df61d855b67f996425c7f8cb65e70e8a77d29e2 /src/test | |
| parent | 777e136f4cd811bec0c5dabd47e1ae4285f25ca2 (diff) | |
| download | rust-787e24cdfd5bef5136540287dd918e48b8a645db.tar.gz rust-787e24cdfd5bef5136540287dd918e48b8a645db.zip | |
Test that the unused_macros lint works correctly if rules are malformed
The unused_macro_rules lint had a bug where it would regard all rules of a macro as unused if one rule were malformed. This bug doesn't exist with the unused_macros lint. To ensure it doesn't appear in the future, we add a test for it.
Diffstat (limited to 'src/test')
| -rw-r--r-- | src/test/ui/lint/unused/unused-macros-malformed-rule.rs | 15 | ||||
| -rw-r--r-- | src/test/ui/lint/unused/unused-macros-malformed-rule.stderr | 26 |
2 files changed, 41 insertions, 0 deletions
diff --git a/src/test/ui/lint/unused/unused-macros-malformed-rule.rs b/src/test/ui/lint/unused/unused-macros-malformed-rule.rs new file mode 100644 index 00000000000..d4c35fad9b0 --- /dev/null +++ b/src/test/ui/lint/unused/unused-macros-malformed-rule.rs @@ -0,0 +1,15 @@ +#![deny(unused_macros)] + +macro_rules! foo { //~ ERROR: unused macro definition + (v) => {}; + () => 0; //~ ERROR: macro rhs must be delimited +} + +macro_rules! bar { + (v) => {}; + () => 0; //~ ERROR: macro rhs must be delimited +} + +fn main() { + bar!(v); +} diff --git a/src/test/ui/lint/unused/unused-macros-malformed-rule.stderr b/src/test/ui/lint/unused/unused-macros-malformed-rule.stderr new file mode 100644 index 00000000000..9a880dccfbf --- /dev/null +++ b/src/test/ui/lint/unused/unused-macros-malformed-rule.stderr @@ -0,0 +1,26 @@ +error: macro rhs must be delimited + --> $DIR/unused-macros-malformed-rule.rs:5:11 + | +LL | () => 0; + | ^ + +error: macro rhs must be delimited + --> $DIR/unused-macros-malformed-rule.rs:10:11 + | +LL | () => 0; + | ^ + +error: unused macro definition: `foo` + --> $DIR/unused-macros-malformed-rule.rs:3:14 + | +LL | macro_rules! foo { + | ^^^ + | +note: the lint level is defined here + --> $DIR/unused-macros-malformed-rule.rs:1:9 + | +LL | #![deny(unused_macros)] + | ^^^^^^^^^^^^^ + +error: aborting due to 3 previous errors + |
