Remove last instances of HashSet in query result types.
This commit is contained in:
parent
422208ae52
commit
04e5fa3ce2
@ -10,7 +10,7 @@ pub fn check_crate(tcx: TyCtxt<'_>) {
|
|||||||
for item_def_id in tcx.hir().body_owners() {
|
for item_def_id in tcx.hir().body_owners() {
|
||||||
let imports = tcx.used_trait_imports(item_def_id);
|
let imports = tcx.used_trait_imports(item_def_id);
|
||||||
debug!("GatherVisitor: item_def_id={:?} with imports {:#?}", item_def_id, imports);
|
debug!("GatherVisitor: item_def_id={:?} with imports {:#?}", item_def_id, imports);
|
||||||
used_trait_imports.extend(imports.items().copied());
|
used_trait_imports.extend_unord(imports.items().copied());
|
||||||
}
|
}
|
||||||
|
|
||||||
for &id in tcx.maybe_unused_trait_imports(()) {
|
for &id in tcx.maybe_unused_trait_imports(()) {
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
use crate::mir::{Body, ConstantKind, Promoted};
|
use crate::mir::{Body, ConstantKind, Promoted};
|
||||||
use crate::ty::{self, OpaqueHiddenType, Ty, TyCtxt};
|
use crate::ty::{self, OpaqueHiddenType, Ty, TyCtxt};
|
||||||
use rustc_data_structures::fx::FxHashSet;
|
use rustc_data_structures::unord::UnordSet;
|
||||||
use rustc_data_structures::vec_map::VecMap;
|
use rustc_data_structures::vec_map::VecMap;
|
||||||
use rustc_errors::ErrorGuaranteed;
|
use rustc_errors::ErrorGuaranteed;
|
||||||
use rustc_hir as hir;
|
use rustc_hir as hir;
|
||||||
@ -123,7 +123,7 @@ pub struct UnsafetyCheckResult {
|
|||||||
pub violations: Vec<UnsafetyViolation>,
|
pub violations: Vec<UnsafetyViolation>,
|
||||||
|
|
||||||
/// Used `unsafe` blocks in this function. This is used for the "unused_unsafe" lint.
|
/// Used `unsafe` blocks in this function. This is used for the "unused_unsafe" lint.
|
||||||
pub used_unsafe_blocks: FxHashSet<hir::HirId>,
|
pub used_unsafe_blocks: UnordSet<hir::HirId>,
|
||||||
|
|
||||||
/// This is `Some` iff the item is not a closure.
|
/// This is `Some` iff the item is not a closure.
|
||||||
pub unused_unsafes: Option<Vec<(hir::HirId, UnusedUnsafe)>>,
|
pub unused_unsafes: Option<Vec<(hir::HirId, UnusedUnsafe)>>,
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
use rustc_data_structures::fx::FxHashSet;
|
use rustc_data_structures::unord::{UnordItems, UnordSet};
|
||||||
use rustc_errors::struct_span_err;
|
use rustc_errors::struct_span_err;
|
||||||
use rustc_hir as hir;
|
use rustc_hir as hir;
|
||||||
use rustc_hir::def::DefKind;
|
use rustc_hir::def::DefKind;
|
||||||
@ -24,7 +24,7 @@ pub struct UnsafetyChecker<'a, 'tcx> {
|
|||||||
param_env: ty::ParamEnv<'tcx>,
|
param_env: ty::ParamEnv<'tcx>,
|
||||||
|
|
||||||
/// Used `unsafe` blocks in this function. This is used for the "unused_unsafe" lint.
|
/// Used `unsafe` blocks in this function. This is used for the "unused_unsafe" lint.
|
||||||
used_unsafe_blocks: FxHashSet<HirId>,
|
used_unsafe_blocks: UnordSet<HirId>,
|
||||||
}
|
}
|
||||||
|
|
||||||
impl<'a, 'tcx> UnsafetyChecker<'a, 'tcx> {
|
impl<'a, 'tcx> UnsafetyChecker<'a, 'tcx> {
|
||||||
@ -129,7 +129,7 @@ impl<'tcx> Visitor<'tcx> for UnsafetyChecker<'_, 'tcx> {
|
|||||||
let def_id = def_id.expect_local();
|
let def_id = def_id.expect_local();
|
||||||
let UnsafetyCheckResult { violations, used_unsafe_blocks, .. } =
|
let UnsafetyCheckResult { violations, used_unsafe_blocks, .. } =
|
||||||
self.tcx.unsafety_check_result(def_id);
|
self.tcx.unsafety_check_result(def_id);
|
||||||
self.register_violations(violations, used_unsafe_blocks.iter().copied());
|
self.register_violations(violations, used_unsafe_blocks.items().copied());
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
_ => {}
|
_ => {}
|
||||||
@ -151,7 +151,7 @@ impl<'tcx> Visitor<'tcx> for UnsafetyChecker<'_, 'tcx> {
|
|||||||
let local_def_id = def_id.expect_local();
|
let local_def_id = def_id.expect_local();
|
||||||
let UnsafetyCheckResult { violations, used_unsafe_blocks, .. } =
|
let UnsafetyCheckResult { violations, used_unsafe_blocks, .. } =
|
||||||
self.tcx.unsafety_check_result(local_def_id);
|
self.tcx.unsafety_check_result(local_def_id);
|
||||||
self.register_violations(violations, used_unsafe_blocks.iter().copied());
|
self.register_violations(violations, used_unsafe_blocks.items().copied());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -268,14 +268,14 @@ impl<'tcx> UnsafetyChecker<'_, 'tcx> {
|
|||||||
.lint_root;
|
.lint_root;
|
||||||
self.register_violations(
|
self.register_violations(
|
||||||
[&UnsafetyViolation { source_info, lint_root, kind, details }],
|
[&UnsafetyViolation { source_info, lint_root, kind, details }],
|
||||||
[],
|
UnordItems::empty(),
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
fn register_violations<'a>(
|
fn register_violations<'a>(
|
||||||
&mut self,
|
&mut self,
|
||||||
violations: impl IntoIterator<Item = &'a UnsafetyViolation>,
|
violations: impl IntoIterator<Item = &'a UnsafetyViolation>,
|
||||||
new_used_unsafe_blocks: impl IntoIterator<Item = HirId>,
|
new_used_unsafe_blocks: UnordItems<HirId, impl Iterator<Item = HirId>>,
|
||||||
) {
|
) {
|
||||||
let safety = self.body.source_scopes[self.source_info.scope]
|
let safety = self.body.source_scopes[self.source_info.scope]
|
||||||
.local_data
|
.local_data
|
||||||
@ -308,9 +308,7 @@ impl<'tcx> UnsafetyChecker<'_, 'tcx> {
|
|||||||
}),
|
}),
|
||||||
};
|
};
|
||||||
|
|
||||||
new_used_unsafe_blocks.into_iter().for_each(|hir_id| {
|
self.used_unsafe_blocks.extend_unord(new_used_unsafe_blocks);
|
||||||
self.used_unsafe_blocks.insert(hir_id);
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
fn check_mut_borrowing_layout_constrained_field(
|
fn check_mut_borrowing_layout_constrained_field(
|
||||||
&mut self,
|
&mut self,
|
||||||
@ -407,7 +405,7 @@ enum Context {
|
|||||||
|
|
||||||
struct UnusedUnsafeVisitor<'a, 'tcx> {
|
struct UnusedUnsafeVisitor<'a, 'tcx> {
|
||||||
tcx: TyCtxt<'tcx>,
|
tcx: TyCtxt<'tcx>,
|
||||||
used_unsafe_blocks: &'a FxHashSet<HirId>,
|
used_unsafe_blocks: &'a UnordSet<HirId>,
|
||||||
context: Context,
|
context: Context,
|
||||||
unused_unsafes: &'a mut Vec<(HirId, UnusedUnsafe)>,
|
unused_unsafes: &'a mut Vec<(HirId, UnusedUnsafe)>,
|
||||||
}
|
}
|
||||||
@ -458,7 +456,7 @@ impl<'tcx> intravisit::Visitor<'tcx> for UnusedUnsafeVisitor<'_, 'tcx> {
|
|||||||
fn check_unused_unsafe(
|
fn check_unused_unsafe(
|
||||||
tcx: TyCtxt<'_>,
|
tcx: TyCtxt<'_>,
|
||||||
def_id: LocalDefId,
|
def_id: LocalDefId,
|
||||||
used_unsafe_blocks: &FxHashSet<HirId>,
|
used_unsafe_blocks: &UnordSet<HirId>,
|
||||||
) -> Vec<(HirId, UnusedUnsafe)> {
|
) -> Vec<(HirId, UnusedUnsafe)> {
|
||||||
let body_id = tcx.hir().maybe_body_owned_by(def_id);
|
let body_id = tcx.hir().maybe_body_owned_by(def_id);
|
||||||
|
|
||||||
@ -505,7 +503,7 @@ fn unsafety_check_result(
|
|||||||
if body.is_custom_mir() {
|
if body.is_custom_mir() {
|
||||||
return tcx.arena.alloc(UnsafetyCheckResult {
|
return tcx.arena.alloc(UnsafetyCheckResult {
|
||||||
violations: Vec::new(),
|
violations: Vec::new(),
|
||||||
used_unsafe_blocks: FxHashSet::default(),
|
used_unsafe_blocks: Default::default(),
|
||||||
unused_unsafes: Some(Vec::new()),
|
unused_unsafes: Some(Vec::new()),
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user