diff options
| author | Guillaume Gomez <guillaume1.gomez@gmail.com> | 2023-08-15 14:29:47 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-08-15 14:29:47 +0200 |
| commit | dd76268ac59aa1ee6267e8993e53648864d87694 (patch) | |
| tree | c06ed88f7cb3d106554ebbf1f7706f43348e4a0a | |
| parent | f527d56c086842ac177c65ed09cf875cf0139bc0 (diff) | |
| parent | 9dda6b5d35e6e8a1e405fa9b156dfaec67aef02d (diff) | |
| download | rust-dd76268ac59aa1ee6267e8993e53648864d87694.tar.gz rust-dd76268ac59aa1ee6267e8993e53648864d87694.zip | |
Rollup merge of #114820 - ehuss:unknown-lint-mod-warning, r=compiler-errors
Add test for unknown_lints from another file. This adds a test for #84936 which was incidentally fixed via #97266. It is a strange issue where `#![allow(unknown_lints)]` at the crate root was not applying to unknown lints that fired in a non-inline-module. I did not dig further into how #97266 fixed it, but I did verify it. I couldn't find any existing tests which did anything similar. Closes #84936
| -rw-r--r-- | tests/ui/lint/unknown-lints/allow-in-other-module.rs | 26 | ||||
| -rw-r--r-- | tests/ui/lint/unknown-lints/other.rs | 10 |
2 files changed, 36 insertions, 0 deletions
diff --git a/tests/ui/lint/unknown-lints/allow-in-other-module.rs b/tests/ui/lint/unknown-lints/allow-in-other-module.rs new file mode 100644 index 00000000000..20bf0d7af03 --- /dev/null +++ b/tests/ui/lint/unknown-lints/allow-in-other-module.rs @@ -0,0 +1,26 @@ +// check-pass + +// Tests that the unknown_lints lint doesn't fire for an unknown lint loaded from a separate file. +// The key part is that the stderr output should be empty. +// Reported in https://github.com/rust-lang/rust/issues/84936 +// Fixed incidentally by https://github.com/rust-lang/rust/pull/97266 + +// This `allow` should apply to submodules, whether they are inline or loaded from a file. +#![allow(unknown_lints)] +#![allow(dead_code)] +// no warning +#![allow(not_a_real_lint)] + +mod other; + +// no warning +#[allow(not_a_real_lint)] +fn m() {} + +mod mm { + // no warning + #[allow(not_a_real_lint)] + fn m() {} +} + +fn main() {} diff --git a/tests/ui/lint/unknown-lints/other.rs b/tests/ui/lint/unknown-lints/other.rs new file mode 100644 index 00000000000..a5111c00a3e --- /dev/null +++ b/tests/ui/lint/unknown-lints/other.rs @@ -0,0 +1,10 @@ +// ignore-test + +// Companion to allow-in-other-module.rs + +// This should not warn. +#![allow(not_a_real_lint)] + +// This should not warn, either. +#[allow(not_a_real_lint)] +fn m() {} |
