about summary refs log tree commit diff
path: root/src/tools/rust-analyzer
diff options
context:
space:
mode:
authorFlorian Diebold <flodiebold@gmail.com>2025-04-10 15:11:34 +0000
committerGitHub <noreply@github.com>2025-04-10 15:11:34 +0000
commit3ccb636dd870b7010887617dfd0dfcd445f7efad (patch)
tree57bc1897a3fb794d651dbb1a832c18472230b2d6 /src/tools/rust-analyzer
parenta25e7a7317b07f7af138ebd381826b57f0f45e3c (diff)
parent505521efd6f6d83e01d867cb8852178d47a39270 (diff)
downloadrust-3ccb636dd870b7010887617dfd0dfcd445f7efad.tar.gz
rust-3ccb636dd870b7010887617dfd0dfcd445f7efad.zip
Merge pull request #19566 from flodiebold/push-vzpyzvpkwkyt
Fix dyn compatibility code bypassing callable_item_signature query
Diffstat (limited to 'src/tools/rust-analyzer')
-rw-r--r--src/tools/rust-analyzer/crates/hir-ty/src/db.rs2
-rw-r--r--src/tools/rust-analyzer/crates/hir-ty/src/dyn_compatibility.rs5
-rw-r--r--src/tools/rust-analyzer/crates/hir-ty/src/lower.rs2
3 files changed, 4 insertions, 5 deletions
diff --git a/src/tools/rust-analyzer/crates/hir-ty/src/db.rs b/src/tools/rust-analyzer/crates/hir-ty/src/db.rs
index 879b7d83b7a..0d056900849 100644
--- a/src/tools/rust-analyzer/crates/hir-ty/src/db.rs
+++ b/src/tools/rust-analyzer/crates/hir-ty/src/db.rs
@@ -150,7 +150,7 @@ pub trait HirDatabase: DefDatabase + std::fmt::Debug {
     #[salsa::invoke_actual(crate::lower::field_types_query)]
     fn field_types(&self, var: VariantId) -> Arc<ArenaMap<LocalFieldId, Binders<Ty>>>;
 
-    #[salsa::invoke_actual(crate::lower::callable_item_sig)]
+    #[salsa::invoke_actual(crate::lower::callable_item_signature_query)]
     fn callable_item_signature(&self, def: CallableDefId) -> PolyFnSig;
 
     #[salsa::invoke_actual(crate::lower::return_type_impl_traits)]
diff --git a/src/tools/rust-analyzer/crates/hir-ty/src/dyn_compatibility.rs b/src/tools/rust-analyzer/crates/hir-ty/src/dyn_compatibility.rs
index a3376d93014..80b18473907 100644
--- a/src/tools/rust-analyzer/crates/hir-ty/src/dyn_compatibility.rs
+++ b/src/tools/rust-analyzer/crates/hir-ty/src/dyn_compatibility.rs
@@ -21,7 +21,6 @@ use crate::{
     db::HirDatabase,
     from_assoc_type_id, from_chalk_trait_id,
     generics::{generics, trait_self_param_idx},
-    lower::callable_item_sig,
     to_chalk_trait_id,
     utils::elaborate_clause_supertraits,
 };
@@ -377,7 +376,7 @@ where
         cb(MethodViolationCode::AsyncFn)?;
     }
 
-    let sig = callable_item_sig(db, func.into());
+    let sig = db.callable_item_signature(func.into());
     if sig.skip_binders().params().iter().skip(1).any(|ty| {
         contains_illegal_self_type_reference(
             db,
@@ -558,7 +557,7 @@ fn receiver_for_self_ty(db: &dyn HirDatabase, func: FunctionId, ty: Ty) -> Optio
             if idx == trait_self_idx { ty.clone().cast(Interner) } else { arg.clone() }
         }),
     );
-    let sig = callable_item_sig(db, func.into());
+    let sig = db.callable_item_signature(func.into());
     let sig = sig.substitute(Interner, &subst);
     sig.params_and_return.first().cloned()
 }
diff --git a/src/tools/rust-analyzer/crates/hir-ty/src/lower.rs b/src/tools/rust-analyzer/crates/hir-ty/src/lower.rs
index 3ef15e5a2c9..6bf26b7ae3f 100644
--- a/src/tools/rust-analyzer/crates/hir-ty/src/lower.rs
+++ b/src/tools/rust-analyzer/crates/hir-ty/src/lower.rs
@@ -713,7 +713,7 @@ impl<'a> TyLoweringContext<'a> {
 }
 
 /// Build the signature of a callable item (function, struct or enum variant).
-pub(crate) fn callable_item_sig(db: &dyn HirDatabase, def: CallableDefId) -> PolyFnSig {
+pub(crate) fn callable_item_signature_query(db: &dyn HirDatabase, def: CallableDefId) -> PolyFnSig {
     match def {
         CallableDefId::FunctionId(f) => fn_sig_for_fn(db, f),
         CallableDefId::StructId(s) => fn_sig_for_struct_constructor(db, s),