about summary refs log tree commit diff
diff options
context:
space:
mode:
authorMatthias Krüger <matthias.krueger@famsik.de>2023-07-25 19:21:38 +0200
committerGitHub <noreply@github.com>2023-07-25 19:21:38 +0200
commit99f404aa733982d081677ab11f5ae3181621babc (patch)
treee21b5bf044c2681533bd67a2415cefc4fd2fd819
parent91d1d7aa4401d03c431aed47f8a07240db2382e7 (diff)
parent5d32fd1b0623651cca15acd71ecc901324f3170c (diff)
downloadrust-99f404aa733982d081677ab11f5ae3181621babc.tar.gz
rust-99f404aa733982d081677ab11f5ae3181621babc.zip
Rollup merge of #114051 - Enselic:const-local-var, r=cjgillot
Add regression test for invalid "unused const" in method

The warning can be reproduced with 1.63 but not with 1.64.

    $ rustc +1.63 tests/ui/lint/unused/const-local-var.rs
    warning: constant `F` is never used
      --> tests/ui/lint/unused/const-local-var.rs:14:9
       |
    14 |         const F: i32 = 2;
       |         ^^^^^^^^^^^^^^^^^
       |
       = note: `#[warn(dead_code)]` on by default
    $ rustc +1.64 tests/ui/lint/unused/const-local-var.rs

Add a regression test to prevent the problem from re-appearing.

Closes #69016
-rw-r--r--tests/ui/lint/unused/const-local-var.rs23
1 files changed, 23 insertions, 0 deletions
diff --git a/tests/ui/lint/unused/const-local-var.rs b/tests/ui/lint/unused/const-local-var.rs
new file mode 100644
index 00000000000..89ca16fe003
--- /dev/null
+++ b/tests/ui/lint/unused/const-local-var.rs
@@ -0,0 +1,23 @@
+// regression test for https://github.com/rust-lang/rust/issues/69016
+// check-pass
+
+#![warn(unused)]
+#![deny(warnings)]
+
+fn _unused1(x: i32) -> i32 {
+    const F: i32 = 2;
+    let g = 1;
+    x * F + g
+}
+
+pub struct Foo {}
+
+impl Foo {
+    fn _unused2(x: i32) -> i32 {
+        const F: i32 = 2;
+        let g = 1;
+        x * F + g
+    }
+}
+
+fn main() {}