Unnamed repository; edit this file 'description' to name the repository.
Diffstat (limited to 'crates/hir/src/lib.rs')
| -rw-r--r-- | crates/hir/src/lib.rs | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/crates/hir/src/lib.rs b/crates/hir/src/lib.rs index 82c6cf7442..b2fa4b6b20 100644 --- a/crates/hir/src/lib.rs +++ b/crates/hir/src/lib.rs @@ -250,6 +250,14 @@ impl Crate { db.transitive_rev_deps(self.id).into_iter().map(|id| Crate { id }) } + pub fn notable_traits_in_deps(self, db: &dyn HirDatabase) -> impl Iterator<Item = &TraitId> { + self.id + .transitive_deps(db) + .into_iter() + .filter_map(|&krate| db.crate_notable_traits(krate)) + .flatten() + } + pub fn root_module(self) -> Module { Module { id: CrateRootModuleId::from(self.id).into() } } |