9218: Item search now respects trait impl items r=Veykril a=Veykril

Fixes #2977

Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
This commit is contained in:
bors[bot]
2021-06-11 17:33:34 +00:00
committed by GitHub
3 changed files with 215 additions and 11 deletions

View File

@@ -1451,6 +1451,20 @@ impl AssocItem {
_ => None,
}
}
pub fn containing_trait_impl(self, db: &dyn HirDatabase) -> Option<Trait> {
match self.container(db) {
AssocItemContainer::Impl(i) => i.trait_(db),
_ => None,
}
}
pub fn containing_trait_or_trait_impl(self, db: &dyn HirDatabase) -> Option<Trait> {
match self.container(db) {
AssocItemContainer::Trait(t) => Some(t),
AssocItemContainer::Impl(i) => i.trait_(db),
}
}
}
impl HasVisibility for AssocItem {