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.
|
// we don't warn about the name change.
|
||||||
if let CheckLintNameResult::Warning(_, Some(new_name)) = lint_result {
|
if let CheckLintNameResult::Warning(_, Some(new_name)) = lint_result {
|
||||||
// Ignore any errors or warnings that happen because the new name is inaccurate
|
// Ignore any errors or warnings that happen because the new name is inaccurate
|
||||||
if let CheckLintNameResult::Ok(ids) =
|
// NOTE: `new_name` already includes the tool name, so we don't have to add it again.
|
||||||
store.check_lint_name(&new_name, tool_name)
|
if let CheckLintNameResult::Ok(ids) = store.check_lint_name(&new_name, None) {
|
||||||
{
|
|
||||||
let src =
|
let src =
|
||||||
LintLevelSource::Node(Symbol::intern(&new_name), li.span(), reason);
|
LintLevelSource::Node(Symbol::intern(&new_name), li.span(), reason);
|
||||||
for &id in ids {
|
for &id in ids {
|
||||||
self.check_gated_lint(id, attr.span);
|
self.check_gated_lint(id, attr.span);
|
||||||
self.insert_spec(&mut specs, id, (level, src));
|
self.insert_spec(&mut specs, id, (level, src));
|
||||||
}
|
}
|
||||||
|
} else {
|
||||||
|
panic!("renamed lint does not exist: {}", new_name);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -4,3 +4,8 @@
|
|||||||
// stable channel.
|
// stable channel.
|
||||||
//! [x]
|
//! [x]
|
||||||
//~^ ERROR unresolved link
|
//~^ 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`
|
error: unresolved link to `x`
|
||||||
--> $DIR/renamed-lint-still-applies.rs:5:6
|
--> $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)]`
|
= note: `#[deny(rustdoc::broken_intra_doc_links)]` implied by `#[deny(broken_intra_doc_links)]`
|
||||||
= help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]`
|
= 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