aboutsummaryrefslogtreecommitdiff
path: root/crates/ra_ide_api/src/completion/complete_dot.rs
diff options
context:
space:
mode:
Diffstat (limited to 'crates/ra_ide_api/src/completion/complete_dot.rs')
-rw-r--r--crates/ra_ide_api/src/completion/complete_dot.rs22
1 files changed, 7 insertions, 15 deletions
diff --git a/crates/ra_ide_api/src/completion/complete_dot.rs b/crates/ra_ide_api/src/completion/complete_dot.rs
index fe32e7366..b4df6ee2a 100644
--- a/crates/ra_ide_api/src/completion/complete_dot.rs
+++ b/crates/ra_ide_api/src/completion/complete_dot.rs
@@ -58,21 +58,13 @@ fn complete_fields(acc: &mut Completions, ctx: &CompletionContext, receiver: Ty)
58 58
59fn complete_methods(acc: &mut Completions, ctx: &CompletionContext, receiver: Ty) { 59fn complete_methods(acc: &mut Completions, ctx: &CompletionContext, receiver: Ty) {
60 let mut seen_methods = FxHashSet::default(); 60 let mut seen_methods = FxHashSet::default();
61 ctx.analyzer.iterate_method_candidates( 61 ctx.analyzer.iterate_method_candidates(ctx.db, receiver, None, |_ty, func| {
62 ctx.db, 62 let data = func.data(ctx.db);
63 receiver, 63 if data.has_self_param() && seen_methods.insert(data.name().clone()) {
64 None, 64 acc.add_function(ctx, func);
65 hir::LookupMode::MethodCall, 65 }
66 |_ty, item| { 66 None::<()>
67 if let hir::AssocItem::Function(func) = item { 67 });
68 let data = func.data(ctx.db);
69 if data.has_self_param() && seen_methods.insert(data.name().clone()) {
70 acc.add_function(ctx, func);
71 }
72 }
73 None::<()>
74 },
75 );
76} 68}
77 69
78#[cfg(test)] 70#[cfg(test)]