Unnamed repository; edit this file 'description' to name the repository.
Diffstat (limited to 'crates/hir-def/src/item_scope.rs')
-rw-r--r--crates/hir-def/src/item_scope.rs7
1 files changed, 7 insertions, 0 deletions
diff --git a/crates/hir-def/src/item_scope.rs b/crates/hir-def/src/item_scope.rs
index 2c3eb5c8e5..f600efea9f 100644
--- a/crates/hir-def/src/item_scope.rs
+++ b/crates/hir-def/src/item_scope.rs
@@ -354,6 +354,13 @@ impl ItemScope {
.chain(self.unnamed_trait_imports.keys().copied())
}
+ pub fn trait_by_name(&self, name: &Name) -> Option<TraitId> {
+ self.types.get(name).and_then(|def| match def.def {
+ ModuleDefId::TraitId(it) => Some(it),
+ _ => None,
+ })
+ }
+
pub(crate) fn resolutions(&self) -> impl Iterator<Item = (Option<Name>, PerNs)> + '_ {
self.entries().map(|(name, res)| (Some(name.clone()), res)).chain(
self.unnamed_trait_imports.iter().map(|(tr, trait_)| {