Unnamed repository; edit this file 'description' to name the repository.
Diffstat (limited to 'crates/hir-ty/src/specialization.rs')
-rw-r--r--crates/hir-ty/src/specialization.rs13
1 files changed, 9 insertions, 4 deletions
diff --git a/crates/hir-ty/src/specialization.rs b/crates/hir-ty/src/specialization.rs
index d97a35549c..90cbcfea6a 100644
--- a/crates/hir-ty/src/specialization.rs
+++ b/crates/hir-ty/src/specialization.rs
@@ -1,6 +1,9 @@
//! Impl specialization related things
-use hir_def::{HasModule, ImplId, nameres::crate_def_map};
+use hir_def::{
+ ExpressionStoreOwnerId, GenericDefId, HasModule, ImplId, nameres::crate_def_map,
+ signatures::ImplSignature,
+};
use intern::sym;
use tracing::debug;
@@ -45,11 +48,13 @@ fn specializes_query(
specializing_impl_def_id: ImplId,
parent_impl_def_id: ImplId,
) -> bool {
- let trait_env = db.trait_environment(specializing_impl_def_id.into());
+ let trait_env = db.trait_environment(ExpressionStoreOwnerId::from(GenericDefId::from(
+ specializing_impl_def_id,
+ )));
let interner = DbInterner::new_with(db, specializing_impl_def_id.krate(db));
- let specializing_impl_signature = db.impl_signature(specializing_impl_def_id);
- let parent_impl_signature = db.impl_signature(parent_impl_def_id);
+ let specializing_impl_signature = ImplSignature::of(db, specializing_impl_def_id);
+ let parent_impl_signature = ImplSignature::of(db, parent_impl_def_id);
// We determine whether there's a subset relationship by:
//