Unnamed repository; edit this file 'description' to name the repository.
Remove query_group functions for InternedOpaqueTyId
Chayim Refael Friedman 6 days ago
parent 6b1963f · commit 34355d2
-rw-r--r--crates/hir-ty/src/db.rs5
-rw-r--r--crates/hir-ty/src/display.rs2
-rw-r--r--crates/hir-ty/src/dyn_compatibility.rs2
-rw-r--r--crates/hir-ty/src/lower.rs2
-rw-r--r--crates/hir-ty/src/next_solver/generics.rs2
-rw-r--r--crates/hir-ty/src/next_solver/interner.rs2
6 files changed, 5 insertions, 10 deletions
diff --git a/crates/hir-ty/src/db.rs b/crates/hir-ty/src/db.rs
index 352f717454..c24a5b943d 100644
--- a/crates/hir-ty/src/db.rs
+++ b/crates/hir-ty/src/db.rs
@@ -17,7 +17,6 @@ use hir_def::{
signatures::{ConstSignature, StaticSignature},
};
use la_arena::ArenaMap;
-use salsa::plumbing::AsId;
use span::Edition;
use stdx::impl_from;
use triomphe::Arc;
@@ -285,10 +284,6 @@ pub trait HirDatabase: DefDatabase + std::fmt::Debug {
type_alias: TypeAliasId,
) -> EarlyBinder<'db, &'db [Clause<'db>]>;
- // Interned IDs for solver integration
- #[salsa::interned]
- fn intern_impl_trait_id(&self, id: ImplTraitId) -> InternedOpaqueTyId;
-
#[salsa::invoke(crate::variance::variances_of)]
#[salsa::transparent]
fn variances_of<'db>(&'db self, def: GenericDefId) -> VariancesOf<'db>;
diff --git a/crates/hir-ty/src/display.rs b/crates/hir-ty/src/display.rs
index 0728509432..bc726b652f 100644
--- a/crates/hir-ty/src/display.rs
+++ b/crates/hir-ty/src/display.rs
@@ -1494,7 +1494,7 @@ impl<'db> HirDisplay<'db> for Ty<'db> {
DisplaySourceCodeError::OpaqueType,
));
}
- let impl_trait_id = db.lookup_intern_impl_trait_id(opaque_ty_id);
+ let impl_trait_id = opaque_ty_id.loc(db);
let data = impl_trait_id.predicates(db);
let bounds = data
.iter_instantiated_copied(interner, alias_ty.args.as_slice())
diff --git a/crates/hir-ty/src/dyn_compatibility.rs b/crates/hir-ty/src/dyn_compatibility.rs
index 5ffb27af26..34858212cb 100644
--- a/crates/hir-ty/src/dyn_compatibility.rs
+++ b/crates/hir-ty/src/dyn_compatibility.rs
@@ -525,7 +525,7 @@ fn contains_illegal_impl_trait_in_trait<'db>(
// Since we haven't implemented RPITIT in proper way like rustc yet,
// just check whether `ret` contains RPIT for now
for opaque_ty in visitor.0 {
- let impl_trait_id = db.lookup_intern_impl_trait_id(opaque_ty);
+ let impl_trait_id = opaque_ty.loc(db);
if matches!(impl_trait_id, ImplTraitId::ReturnTypeImplTrait(..)) {
return Some(MethodViolationCode::ReferencesImplTraitInTrait);
}
diff --git a/crates/hir-ty/src/lower.rs b/crates/hir-ty/src/lower.rs
index 61329f6c88..67cc34a404 100644
--- a/crates/hir-ty/src/lower.rs
+++ b/crates/hir-ty/src/lower.rs
@@ -496,7 +496,7 @@ impl<'db, 'a> TyLoweringContext<'db, 'a> {
|f| ImplTraitId::ReturnTypeImplTrait(f, idx),
|a| ImplTraitId::TypeAliasImplTrait(a, idx),
);
- let opaque_ty_id = self.db.intern_impl_trait_id(impl_trait_id);
+ let opaque_ty_id = InternedOpaqueTyId::new(self.db, impl_trait_id);
// We don't want to lower the bounds inside the binders
// we're currently in, because they don't end up inside
diff --git a/crates/hir-ty/src/next_solver/generics.rs b/crates/hir-ty/src/next_solver/generics.rs
index 2f8c7dc160..a798582cb9 100644
--- a/crates/hir-ty/src/next_solver/generics.rs
+++ b/crates/hir-ty/src/next_solver/generics.rs
@@ -12,7 +12,7 @@ pub(crate) fn generics(interner: DbInterner<'_>, def: SolverDefId) -> Generics<'
let db = interner.db;
let def = match (def.try_into(), def) {
(Ok(def), _) => def,
- (_, SolverDefId::InternedOpaqueTyId(id)) => match db.lookup_intern_impl_trait_id(id) {
+ (_, SolverDefId::InternedOpaqueTyId(id)) => match id.loc(db) {
crate::ImplTraitId::ReturnTypeImplTrait(function_id, _) => function_id.into(),
crate::ImplTraitId::TypeAliasImplTrait(type_alias_id, _) => type_alias_id.into(),
},
diff --git a/crates/hir-ty/src/next_solver/interner.rs b/crates/hir-ty/src/next_solver/interner.rs
index d840024277..46c03e5ac1 100644
--- a/crates/hir-ty/src/next_solver/interner.rs
+++ b/crates/hir-ty/src/next_solver/interner.rs
@@ -2043,7 +2043,7 @@ impl<'db> Interner for DbInterner<'db> {
self,
opaque: Self::LocalOpaqueTyId,
) -> EarlyBinder<Self, Self::Ty> {
- let impl_trait_id = self.db().lookup_intern_impl_trait_id(opaque.0);
+ let impl_trait_id = opaque.0.loc(self.db);
match impl_trait_id {
crate::ImplTraitId::ReturnTypeImplTrait(func, idx) => {
crate::opaques::rpit_hidden_types(self.db, func)[idx].get()