about summary refs log tree commit diff
path: root/compiler/rustc_smir
diff options
context:
space:
mode:
authorOğuz Ağcayazı <ouz.agz@gmail.com>2023-10-08 22:55:16 +0300
committerOğuz Ağcayazı <ouz.agz@gmail.com>2023-10-09 10:33:23 +0300
commit4ff6e87a8cb0d5cba020917bc30ea0f7ef5d2a5b (patch)
tree021f791db0f052572d551bd8da95d8adbe022038 /compiler/rustc_smir
parentbf9a1c8a193fc373897196321215794c8bebbeec (diff)
downloadrust-4ff6e87a8cb0d5cba020917bc30ea0f7ef5d2a5b.tar.gz
rust-4ff6e87a8cb0d5cba020917bc30ea0f7ef5d2a5b.zip
return crates instead of a crate
Diffstat (limited to 'compiler/rustc_smir')
-rw-r--r--compiler/rustc_smir/src/rustc_smir/mod.rs17
1 files changed, 12 insertions, 5 deletions
diff --git a/compiler/rustc_smir/src/rustc_smir/mod.rs b/compiler/rustc_smir/src/rustc_smir/mod.rs
index 7d1122c2fd2..0c474192240 100644
--- a/compiler/rustc_smir/src/rustc_smir/mod.rs
+++ b/compiler/rustc_smir/src/rustc_smir/mod.rs
@@ -31,11 +31,18 @@ impl<'tcx> Context for Tables<'tcx> {
         self.tcx.crates(()).iter().map(|crate_num| smir_crate(self.tcx, *crate_num)).collect()
     }
 
-    fn find_crate(&self, name: &str) -> Option<stable_mir::Crate> {
-        [LOCAL_CRATE].iter().chain(self.tcx.crates(()).iter()).find_map(|crate_num| {
-            let crate_name = self.tcx.crate_name(*crate_num).to_string();
-            (name == crate_name).then(|| smir_crate(self.tcx, *crate_num))
-        })
+    fn find_crates(&self, name: &str) -> Vec<stable_mir::Crate> {
+        let crates: Vec<stable_mir::Crate> = [LOCAL_CRATE]
+            .iter()
+            .chain(self.tcx.crates(()).iter())
+            .map(|crate_num| {
+                let crate_name = self.tcx.crate_name(*crate_num).to_string();
+                (name == crate_name).then(|| smir_crate(self.tcx, *crate_num))
+            })
+            .into_iter()
+            .filter_map(|c| c)
+            .collect();
+        crates
     }
 
     fn name_of_def_id(&self, def_id: stable_mir::DefId) -> String {