Unnamed repository; edit this file 'description' to name the repository.
-rw-r--r--crates/hir/src/lib.rs7
1 files changed, 6 insertions, 1 deletions
diff --git a/crates/hir/src/lib.rs b/crates/hir/src/lib.rs
index bfe9f3bd74..c9498b3aea 100644
--- a/crates/hir/src/lib.rs
+++ b/crates/hir/src/lib.rs
@@ -68,7 +68,7 @@ use hir_ty::{
all_super_traits, autoderef, check_orphan_rules,
consteval::{try_const_usize, unknown_const_as_generic, ConstExt},
diagnostics::BodyValidationDiagnostic,
- error_lifetime, known_const_to_ast,
+ direct_super_traits, error_lifetime, known_const_to_ast,
layout::{Layout as TyLayout, RustcEnumVariantIdx, RustcFieldIdx, TagEncoding},
method_resolution,
mir::{interpret_mir, MutBorrowKind},
@@ -2704,6 +2704,11 @@ impl Trait {
db.trait_data(self.id).name.clone()
}
+ pub fn direct_supertraits(self, db: &dyn HirDatabase) -> Vec<Trait> {
+ let traits = direct_super_traits(db.upcast(), self.into());
+ traits.iter().map(|tr| Trait::from(*tr)).collect()
+ }
+
pub fn all_supertraits(self, db: &dyn HirDatabase) -> Vec<Trait> {
let traits = all_super_traits(db.upcast(), self.into());
traits.iter().map(|tr| Trait::from(*tr)).collect()