Warn on a visibility qualifier applied to a `const _` item, as it has no
effect.
gcc/rust/ChangeLog:
* checks/lints/unused/rust-unused-checker.cc (UnusedChecker::visit):
Warn on a visibility qualifier on a `const _` item.
gcc/testsuite/ChangeLog:
* rust/compile/unused-visibilities_0.rs: New test.
Signed-off-by: Lucas Ly Ba <lucas.ly-ba@outlook.com>
rust_warning_at (item.get_locus (), OPT_Wunused_variable,
"unused variable %qs",
item.get_identifier ().as_string ().c_str ());
+
+ // The unused_visibilities lint: a visibility qualifier on a `const _` item
+ // has no effect.
+ if (var_name == "_" && item.get_visibility ().is_public ())
+ rust_warning_at (item.get_locus (), OPT_Wunused_variable,
+ "visibility qualifier on a %<const _%> item is unused");
}
void
--- /dev/null
+// { dg-additional-options "-frust-unused-check-2.0" }
+#![feature(no_core)]
+#![no_core]
+
+pub const _: i32 = 0;
+// { dg-warning "visibility qualifier on a .const _. item is unused" "" { target *-*-* } .-1 }