From 36c22f7cf7a7070c9c6b478406f9b2ba831560c6 Mon Sep 17 00:00:00 2001 From: jumpiix Date: Mon, 23 Mar 2026 13:08:12 +0100 Subject: [PATCH] Add test for dead code warnings in const _ Tests that dead code warnings work correctly inside const _ blocks. Issue was already fixed, adding regression test as requested. --- .../const-underscore-issue-101532.rs | 14 ++++++++ .../const-underscore-issue-101532.stderr | 32 +++++++++++++++++++ 2 files changed, 46 insertions(+) create mode 100644 tests/ui/lint/dead-code/const-underscore-issue-101532.rs create mode 100644 tests/ui/lint/dead-code/const-underscore-issue-101532.stderr diff --git a/tests/ui/lint/dead-code/const-underscore-issue-101532.rs b/tests/ui/lint/dead-code/const-underscore-issue-101532.rs new file mode 100644 index 0000000000000..4dc25fbbecea9 --- /dev/null +++ b/tests/ui/lint/dead-code/const-underscore-issue-101532.rs @@ -0,0 +1,14 @@ +//@ check-pass +// Test for issue #101532 - dead code warnings should work inside const _ + +#![warn(dead_code)] + +const _: () = { + let a: (); + struct B {} //~ WARN struct `B` is never constructed + enum C {} //~ WARN enum `C` is never used + fn d() {} //~ WARN function `d` is never used + const E: () = {}; //~ WARN constant `E` is never used +}; + +fn main() {} diff --git a/tests/ui/lint/dead-code/const-underscore-issue-101532.stderr b/tests/ui/lint/dead-code/const-underscore-issue-101532.stderr new file mode 100644 index 0000000000000..d330b9e9f40a4 --- /dev/null +++ b/tests/ui/lint/dead-code/const-underscore-issue-101532.stderr @@ -0,0 +1,32 @@ +warning: struct `B` is never constructed + --> $DIR/const-underscore-issue-101532.rs:8:12 + | +LL | struct B {} + | ^ + | +note: the lint level is defined here + --> $DIR/const-underscore-issue-101532.rs:4:9 + | +LL | #![warn(dead_code)] + | ^^^^^^^^^ + +warning: enum `C` is never used + --> $DIR/const-underscore-issue-101532.rs:9:10 + | +LL | enum C {} + | ^ + +warning: function `d` is never used + --> $DIR/const-underscore-issue-101532.rs:10:8 + | +LL | fn d() {} + | ^ + +warning: constant `E` is never used + --> $DIR/const-underscore-issue-101532.rs:11:11 + | +LL | const E: () = {}; + | ^ + +warning: 4 warnings emitted +