Skip to content

Commit e8ef5bf

Browse files
committed
remove TraitVisitor
Signed-off-by: Miguel Guarniz <[email protected]>
1 parent eea16de commit e8ef5bf

File tree

1 file changed

+6
-17
lines changed

1 file changed

+6
-17
lines changed

compiler/rustc_metadata/src/rmeta/encoder.rs

Lines changed: 6 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,6 @@ use rustc_hir::def_id::{
1414
};
1515
use rustc_hir::definitions::DefPathData;
1616
use rustc_hir::intravisit::{self, Visitor};
17-
use rustc_hir::itemlikevisit::ItemLikeVisitor;
1817
use rustc_hir::lang_items;
1918
use rustc_hir::{AnonConst, GenericParamKind};
2019
use rustc_index::bit_set::GrowableBitSet;
@@ -2243,26 +2242,16 @@ pub fn provide(providers: &mut Providers) {
22432242
traits_in_crate: |tcx, cnum| {
22442243
assert_eq!(cnum, LOCAL_CRATE);
22452244

2246-
#[derive(Default)]
2247-
struct TraitsVisitor {
2248-
traits: Vec<DefId>,
2249-
}
2250-
impl ItemLikeVisitor<'_> for TraitsVisitor {
2251-
fn visit_item(&mut self, item: &hir::Item<'_>) {
2252-
if let hir::ItemKind::Trait(..) | hir::ItemKind::TraitAlias(..) = item.kind {
2253-
self.traits.push(item.def_id.to_def_id());
2254-
}
2245+
let mut traits = Vec::new();
2246+
for id in tcx.hir().items() {
2247+
if matches!(tcx.def_kind(id.def_id), DefKind::Trait | DefKind::TraitAlias) {
2248+
traits.push(id.def_id.to_def_id())
22552249
}
2256-
fn visit_trait_item(&mut self, _trait_item: &hir::TraitItem<'_>) {}
2257-
fn visit_impl_item(&mut self, _impl_item: &hir::ImplItem<'_>) {}
2258-
fn visit_foreign_item(&mut self, _foreign_item: &hir::ForeignItem<'_>) {}
22592250
}
22602251

2261-
let mut visitor = TraitsVisitor::default();
2262-
tcx.hir().visit_all_item_likes(&mut visitor);
22632252
// Bring everything into deterministic order.
2264-
visitor.traits.sort_by_cached_key(|&def_id| tcx.def_path_hash(def_id));
2265-
tcx.arena.alloc_slice(&visitor.traits)
2253+
traits.sort_by_cached_key(|&def_id| tcx.def_path_hash(def_id));
2254+
tcx.arena.alloc_slice(&traits)
22662255
},
22672256

22682257
..*providers

0 commit comments

Comments
 (0)