Remove query_group functions for InternedOpaqueTyId
diff --git a/crates/hir-ty/src/db.rs b/crates/hir-ty/src/db.rs
index 352f717..c24a5b9 100644
--- a/crates/hir-ty/src/db.rs
+++ b/crates/hir-ty/src/db.rs
@@ -17,7 +17,6 @@
     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 @@
         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 0728509..bc726b6 100644
--- a/crates/hir-ty/src/display.rs
+++ b/crates/hir-ty/src/display.rs
@@ -1494,7 +1494,7 @@
                         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 5ffb27a..3485821 100644
--- a/crates/hir-ty/src/dyn_compatibility.rs
+++ b/crates/hir-ty/src/dyn_compatibility.rs
@@ -525,7 +525,7 @@
     // 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 61329f6..67cc34a 100644
--- a/crates/hir-ty/src/lower.rs
+++ b/crates/hir-ty/src/lower.rs
@@ -496,7 +496,7 @@
                             |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 2f8c7dc..a798582 100644
--- a/crates/hir-ty/src/next_solver/generics.rs
+++ b/crates/hir-ty/src/next_solver/generics.rs
@@ -12,7 +12,7 @@
     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 d840024..46c03e5 100644
--- a/crates/hir-ty/src/next_solver/interner.rs
+++ b/crates/hir-ty/src/next_solver/interner.rs
@@ -2043,7 +2043,7 @@
         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()