rustc_lint: Enforce rustc::potential_query_instability
lint
Stop allowing `rustc::potential_query_instability` on all of `rustc_lint` and instead allow it on a case-by-case basis if it is safe to do so. In this particular crate, all lints were safe to allow.
This commit is contained in:
parent
231dbbcb6a
commit
295d6003ac
@ -430,6 +430,8 @@ fn no_lint_suggestion(&self, lint_name: &str) -> CheckLintNameResult<'_> {
|
||||
// Note: find_best_match_for_name depends on the sort order of its input vector.
|
||||
// To ensure deterministic output, sort elements of the lint_groups hash map.
|
||||
// Also, never suggest deprecated lint groups.
|
||||
// We will soon sort, so the initial order does not matter.
|
||||
#[allow(rustc::potential_query_instability)]
|
||||
let mut groups: Vec<_> = self
|
||||
.lint_groups
|
||||
.iter()
|
||||
|
@ -197,6 +197,8 @@ pub(super) fn builtin(
|
||||
if let Some(ExpectedValues::Some(best_match_values)) =
|
||||
sess.parse_sess.check_config.expecteds.get(&best_match)
|
||||
{
|
||||
// We will soon sort, so the initial order does not matter.
|
||||
#[allow(rustc::potential_query_instability)]
|
||||
let mut possibilities =
|
||||
best_match_values.iter().flatten().map(Symbol::as_str).collect::<Vec<_>>();
|
||||
possibilities.sort();
|
||||
@ -298,6 +300,9 @@ pub(super) fn builtin(
|
||||
);
|
||||
};
|
||||
let mut have_none_possibility = false;
|
||||
// We later sort possibilities if it is not empty, so the
|
||||
// order here does not matter.
|
||||
#[allow(rustc::potential_query_instability)]
|
||||
let possibilities: Vec<Symbol> = values
|
||||
.iter()
|
||||
.inspect(|a| have_none_possibility |= a.is_none())
|
||||
|
@ -25,7 +25,6 @@
|
||||
//!
|
||||
//! This API is completely unstable and subject to change.
|
||||
|
||||
#![allow(rustc::potential_query_instability)]
|
||||
#![doc(html_root_url = "https://doc.rust-lang.org/nightly/nightly-rustc/")]
|
||||
#![doc(rust_logo)]
|
||||
#![feature(rustdoc_internals)]
|
||||
|
@ -174,6 +174,8 @@ fn check_crate(&mut self, cx: &EarlyContext<'_>, _: &ast::Crate) {
|
||||
|
||||
// Sort by `Span` so that error messages make sense with respect to the
|
||||
// order of identifier locations in the code.
|
||||
// We will soon sort, so the initial order does not matter.
|
||||
#[allow(rustc::potential_query_instability)]
|
||||
let mut symbols: Vec<_> = symbols.iter().collect();
|
||||
symbols.sort_by_key(|k| k.1);
|
||||
|
||||
@ -287,6 +289,8 @@ enum ScriptSetUsage {
|
||||
}
|
||||
|
||||
if has_suspicious {
|
||||
// The end result is put in `lint_reports` which is sorted.
|
||||
#[allow(rustc::potential_query_instability)]
|
||||
let verified_augmented_script_sets = script_states
|
||||
.iter()
|
||||
.flat_map(|(k, v)| match v {
|
||||
@ -299,6 +303,8 @@ enum ScriptSetUsage {
|
||||
let mut lint_reports: BTreeMap<(Span, Vec<char>), AugmentedScriptSet> =
|
||||
BTreeMap::new();
|
||||
|
||||
// The end result is put in `lint_reports` which is sorted.
|
||||
#[allow(rustc::potential_query_instability)]
|
||||
'outerloop: for (augment_script_set, usage) in script_states {
|
||||
let ScriptSetUsage::Suspicious(mut ch_list, sp) = usage else { continue };
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user