@@ -58,29 +58,29 @@ impl<'a> FunctionRender<'a> {
58
58
Some ( FunctionRender { ctx, name, receiver, func : fn_, ast_node, is_method } )
59
59
}
60
60
61
- fn render ( mut self , import_to_add : Option < ImportEdit > ) -> CompletionItem {
61
+ fn render ( self , import_to_add : Option < ImportEdit > ) -> CompletionItem {
62
62
let params = self . params ( ) ;
63
- if let Some ( receiver) = & self . receiver {
64
- self . name = format ! ( "{}.{}" , receiver, & self . name)
65
- }
66
- let mut item = CompletionItem :: new (
67
- CompletionKind :: Reference ,
68
- self . ctx . source_range ( ) ,
69
- self . name . clone ( ) ,
70
- ) ;
63
+ let call = if let Some ( receiver) = & self . receiver {
64
+ format ! ( "{}.{}" , receiver, & self . name)
65
+ } else {
66
+ self . name . clone ( )
67
+ } ;
68
+ let mut item =
69
+ CompletionItem :: new ( CompletionKind :: Reference , self . ctx . source_range ( ) , call. clone ( ) ) ;
71
70
item. kind ( self . kind ( ) )
72
71
. set_documentation ( self . ctx . docs ( self . func ) )
73
72
. set_deprecated (
74
73
self . ctx . is_deprecated ( self . func ) || self . ctx . is_deprecated_assoc_item ( self . func ) ,
75
74
)
76
75
. detail ( self . detail ( ) )
77
- . add_call_parens ( self . ctx . completion , self . name . clone ( ) , params)
78
- . add_import ( import_to_add) ;
76
+ . add_call_parens ( self . ctx . completion , call. clone ( ) , params)
77
+ . add_import ( import_to_add)
78
+ . lookup_by ( self . name ) ;
79
79
80
80
let ret_type = self . func . ret_type ( self . ctx . db ( ) ) ;
81
81
item. set_relevance ( CompletionRelevance {
82
82
type_match : compute_type_match ( self . ctx . completion , & ret_type) ,
83
- exact_name_match : compute_exact_name_match ( self . ctx . completion , & self . name ) ,
83
+ exact_name_match : compute_exact_name_match ( self . ctx . completion , & call ) ,
84
84
..CompletionRelevance :: default ( )
85
85
} ) ;
86
86
@@ -263,7 +263,7 @@ fn bar(s: &S) {
263
263
) ;
264
264
265
265
check_edit (
266
- "self. foo" ,
266
+ "foo" ,
267
267
r#"
268
268
struct S {}
269
269
impl S {
0 commit comments