Unnamed repository; edit this file 'description' to name the repository.
Diffstat (limited to 'crates/hir/src/lib.rs')
-rw-r--r--crates/hir/src/lib.rs8
1 files changed, 4 insertions, 4 deletions
diff --git a/crates/hir/src/lib.rs b/crates/hir/src/lib.rs
index 6383a467eb..544312f6fc 100644
--- a/crates/hir/src/lib.rs
+++ b/crates/hir/src/lib.rs
@@ -2564,7 +2564,7 @@ impl Type {
krate: Crate,
traits_in_scope: &FxHashSet<TraitId>,
name: Option<&Name>,
- mut callback: impl FnMut(&Ty, Function) -> Option<T>,
+ mut callback: impl FnMut(Type, Function) -> Option<T>,
) -> Option<T> {
let _p = profile::span("iterate_method_candidates");
let mut slot = None;
@@ -2575,7 +2575,7 @@ impl Type {
name,
&mut |ty, assoc_item_id| match assoc_item_id {
AssocItemId::FunctionId(it) => {
- slot = callback(ty, it.into());
+ slot = callback(self.derived(ty.clone()), it.into());
slot.is_some()
}
AssocItemId::ConstId(_) | AssocItemId::TypeAliasId(_) => false,
@@ -2620,7 +2620,7 @@ impl Type {
krate: Crate,
traits_in_scope: &FxHashSet<TraitId>,
name: Option<&Name>,
- mut callback: impl FnMut(&Ty, AssocItem) -> Option<T>,
+ mut callback: impl FnMut(Type, AssocItem) -> Option<T>,
) -> Option<T> {
let _p = profile::span("iterate_path_candidates");
let mut slot = None;
@@ -2630,7 +2630,7 @@ impl Type {
traits_in_scope,
name,
&mut |ty, assoc_item_id| {
- slot = callback(ty, assoc_item_id.into());
+ slot = callback(self.derived(ty.clone()), assoc_item_id.into());
slot.is_some()
},
);