Replace some AssocItem::containing_trait calls trait_or_trait_impl

This commit is contained in:
Lukas Wirth 2021-06-11 19:55:24 +02:00
parent 48f65b3b15
commit db4a1fcab4
2 changed files with 6 additions and 3 deletions

View file

@ -52,13 +52,13 @@ pub(crate) fn goto_implementation(
hir::ModuleDef::Function(f) => {
let assoc = f.as_assoc_item(sema.db)?;
let name = assoc.name(sema.db)?;
let trait_ = assoc.containing_trait(sema.db)?;
let trait_ = assoc.containing_trait_or_trait_impl(sema.db)?;
impls_for_trait_item(&sema, trait_, name)
}
hir::ModuleDef::Const(c) => {
let assoc = c.as_assoc_item(sema.db)?;
let name = assoc.name(sema.db)?;
let trait_ = assoc.containing_trait(sema.db)?;
let trait_ = assoc.containing_trait_or_trait_impl(sema.db)?;
impls_for_trait_item(&sema, trait_, name)
}
_ => return None,

View file

@ -111,7 +111,10 @@ impl<'a> RenderContext<'a> {
hir::AssocItem::TypeAlias(it) => self.is_deprecated(it),
};
is_assoc_deprecated
|| assoc.containing_trait(db).map(|trait_| self.is_deprecated(trait_)).unwrap_or(false)
|| assoc
.containing_trait_or_trait_impl(db)
.map(|trait_| self.is_deprecated(trait_))
.unwrap_or(false)
}
fn docs(&self, node: impl HasAttrs) -> Option<hir::Documentation> {