Resolve assoc. types of supertraits in the IDE layer
This commit is contained in:
@@ -54,7 +54,7 @@ use hir_def::{
|
||||
};
|
||||
use hir_expand::{name::name, MacroCallKind};
|
||||
use hir_ty::{
|
||||
autoderef,
|
||||
all_super_traits, autoderef,
|
||||
consteval::{unknown_const_as_generic, ComputedExpr, ConstEvalError, ConstExt},
|
||||
diagnostics::BodyValidationDiagnostic,
|
||||
method_resolution::{self, TyFingerprint},
|
||||
@@ -1676,6 +1676,11 @@ impl Trait {
|
||||
db.trait_data(self.id).items.iter().map(|(_name, it)| (*it).into()).collect()
|
||||
}
|
||||
|
||||
pub fn items_with_supertraits(self, db: &dyn HirDatabase) -> Vec<AssocItem> {
|
||||
let traits = all_super_traits(db.upcast(), self.into());
|
||||
traits.iter().flat_map(|tr| Trait::from(*tr).items(db)).collect()
|
||||
}
|
||||
|
||||
pub fn is_auto(self, db: &dyn HirDatabase) -> bool {
|
||||
db.trait_data(self.id).is_auto
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user