about summary refs log tree commit diff
path: root/compiler/rustc_passes/src
diff options
context:
space:
mode:
authorMiguel Guarniz <mi9uel9@gmail.com>2022-04-06 22:03:42 -0400
committerMiguel Guarniz <mi9uel9@gmail.com>2022-04-08 12:00:10 -0400
commit28aa2dd3b4295c64b8c38a7863bfaefd6790e6ef (patch)
tree49608c699b93f9c87a2057850c4901d3e5b35377 /compiler/rustc_passes/src
parent0baf85e8b6588ea24af710c981c91930e01f5a19 (diff)
downloadrust-28aa2dd3b4295c64b8c38a7863bfaefd6790e6ef.tar.gz
rust-28aa2dd3b4295c64b8c38a7863bfaefd6790e6ef.zip
remove some uses of visit_all_item_likes in typeck, symbol_mangling and passes crates
Signed-off-by: Miguel Guarniz <mi9uel9@gmail.com>
Diffstat (limited to 'compiler/rustc_passes/src')
-rw-r--r--compiler/rustc_passes/src/lang_items.rs17
1 files changed, 16 insertions, 1 deletions
diff --git a/compiler/rustc_passes/src/lang_items.rs b/compiler/rustc_passes/src/lang_items.rs
index 0c934ecc913..3107b6d1811 100644
--- a/compiler/rustc_passes/src/lang_items.rs
+++ b/compiler/rustc_passes/src/lang_items.rs
@@ -259,7 +259,22 @@ fn get_lang_items(tcx: TyCtxt<'_>, (): ()) -> LanguageItems {
     }
 
     // Collect lang items in this crate.
-    tcx.hir().visit_all_item_likes(&mut collector);
+    let crate_items = tcx.hir_crate_items(());
+
+    for id in crate_items.items() {
+        let item = tcx.hir().item(id);
+        collector.visit_item(item);
+    }
+
+    for id in crate_items.trait_items() {
+        let item = tcx.hir().trait_item(id);
+        collector.visit_trait_item(item);
+    }
+
+    for id in crate_items.impl_items() {
+        let item = tcx.hir().impl_item(id);
+        collector.visit_impl_item(item);
+    }
 
     // Extract out the found lang items.
     let LanguageItemCollector { mut items, .. } = collector;