Fix bug where rustc_lint would not apply renamed tool lints
This commit is contained in:
parent
ef4e5b9ecb
commit
d19083d9da
@ -464,15 +464,16 @@ pub(crate) fn push(
|
||||
// we don't warn about the name change.
|
||||
if let CheckLintNameResult::Warning(_, Some(new_name)) = lint_result {
|
||||
// Ignore any errors or warnings that happen because the new name is inaccurate
|
||||
if let CheckLintNameResult::Ok(ids) =
|
||||
store.check_lint_name(&new_name, tool_name)
|
||||
{
|
||||
// NOTE: `new_name` already includes the tool name, so we don't have to add it again.
|
||||
if let CheckLintNameResult::Ok(ids) = store.check_lint_name(&new_name, None) {
|
||||
let src =
|
||||
LintLevelSource::Node(Symbol::intern(&new_name), li.span(), reason);
|
||||
for &id in ids {
|
||||
self.check_gated_lint(id, attr.span);
|
||||
self.insert_spec(&mut specs, id, (level, src));
|
||||
}
|
||||
} else {
|
||||
panic!("renamed lint does not exist: {}", new_name);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -4,3 +4,8 @@
|
||||
// stable channel.
|
||||
//! [x]
|
||||
//~^ ERROR unresolved link
|
||||
|
||||
#![deny(rustdoc::non_autolinks)]
|
||||
//~^ WARNING renamed to `rustdoc::bare_urls`
|
||||
//! http://example.com
|
||||
//~^ ERROR not a hyperlink
|
||||
|
@ -1,3 +1,11 @@
|
||||
warning: lint `rustdoc::non_autolinks` has been renamed to `rustdoc::bare_urls`
|
||||
--> $DIR/renamed-lint-still-applies.rs:8:9
|
||||
|
|
||||
LL | #![deny(rustdoc::non_autolinks)]
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^ help: use the new name: `rustdoc::bare_urls`
|
||||
|
|
||||
= note: `#[warn(renamed_and_removed_lints)]` on by default
|
||||
|
||||
error: unresolved link to `x`
|
||||
--> $DIR/renamed-lint-still-applies.rs:5:6
|
||||
|
|
||||
@ -12,5 +20,17 @@ LL | #![deny(broken_intra_doc_links)]
|
||||
= note: `#[deny(rustdoc::broken_intra_doc_links)]` implied by `#[deny(broken_intra_doc_links)]`
|
||||
= help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]`
|
||||
|
||||
error: aborting due to previous error
|
||||
error: this URL is not a hyperlink
|
||||
--> $DIR/renamed-lint-still-applies.rs:10:5
|
||||
|
|
||||
LL | //! http://example.com
|
||||
| ^^^^^^^^^^^^^^^^^^ help: use an automatic link instead: `<http://example.com>`
|
||||
|
|
||||
note: the lint level is defined here
|
||||
--> $DIR/renamed-lint-still-applies.rs:8:9
|
||||
|
|
||||
LL | #![deny(rustdoc::non_autolinks)]
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
error: aborting due to 2 previous errors; 1 warning emitted
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user