diff options
| author | Oğuz Ağcayazı <ouz.agz@gmail.com> | 2023-10-08 22:55:16 +0300 |
|---|---|---|
| committer | Oğuz Ağcayazı <ouz.agz@gmail.com> | 2023-10-09 10:33:23 +0300 |
| commit | 4ff6e87a8cb0d5cba020917bc30ea0f7ef5d2a5b (patch) | |
| tree | 021f791db0f052572d551bd8da95d8adbe022038 /compiler/rustc_smir | |
| parent | bf9a1c8a193fc373897196321215794c8bebbeec (diff) | |
| download | rust-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.rs | 17 |
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 { |
