Skip to content

Commit 12a3024

Browse files
committed
Use visitor for its very purpose.
1 parent 60c3bbd commit 12a3024

File tree

1 file changed

+3
-13
lines changed

1 file changed

+3
-13
lines changed

compiler/rustc_passes/src/diagnostic_items.rs

+3-13
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,9 @@ impl<'v, 'tcx> ItemLikeVisitor<'v> for DiagnosticItemCollector<'tcx> {
3838
self.observe_item(&impl_item.attrs, impl_item.hir_id);
3939
}
4040

41-
fn visit_foreign_item(&mut self, _foreign_item: &hir::ForeignItem<'_>) {}
41+
fn visit_foreign_item(&mut self, foreign_item: &hir::ForeignItem<'_>) {
42+
self.observe_item(foreign_item.attrs, foreign_item.hir_id);
43+
}
4244
}
4345

4446
impl<'tcx> DiagnosticItemCollector<'tcx> {
@@ -102,18 +104,6 @@ fn collect<'tcx>(tcx: TyCtxt<'tcx>) -> FxHashMap<Symbol, DefId> {
102104

103105
// Collect diagnostic items in this crate.
104106
tcx.hir().krate().visit_all_item_likes(&mut collector);
105-
// FIXME(visit_all_item_likes): Foreign items are not visited
106-
// here, so we have to manually look at them for now.
107-
for (_, foreign_module) in tcx.foreign_modules(LOCAL_CRATE).iter() {
108-
for &foreign_item in foreign_module.foreign_items.iter() {
109-
match tcx.hir().get(tcx.hir().local_def_id_to_hir_id(foreign_item.expect_local())) {
110-
hir::Node::ForeignItem(item) => {
111-
collector.observe_item(item.attrs, item.hir_id);
112-
}
113-
item => bug!("unexpected foreign item {:?}", item),
114-
}
115-
}
116-
}
117107

118108
for m in tcx.hir().krate().exported_macros {
119109
collector.observe_item(m.attrs, m.hir_id);

0 commit comments

Comments
 (0)