]> git.lizzy.rs Git - rust.git/commitdiff
Code review fixes
authorKirill Bulatov <mail4score@gmail.com>
Tue, 24 Mar 2020 08:49:18 +0000 (10:49 +0200)
committerKirill Bulatov <mail4score@gmail.com>
Tue, 24 Mar 2020 09:33:47 +0000 (11:33 +0200)
Co-Authored-By: Aleksey Kladov <aleksey.kladov@gmail.com>
crates/ra_ide/src/completion/complete_record_literal.rs

index a0bc3ee0a9e2f2d8dba707e200fa603b2fa715ca..e4e764f58242c79dfdc4f3527790d83c48cbc21c 100644 (file)
@@ -1,6 +1,7 @@
 //! FIXME: write short doc here
 
 use crate::completion::{CompletionContext, Completions};
+use ra_syntax::SmolStr;
 
 /// Complete fields in fields literals.
 pub(super) fn complete_record_literal(acc: &mut Completions, ctx: &CompletionContext) {
@@ -11,7 +12,7 @@ pub(super) fn complete_record_literal(acc: &mut Completions, ctx: &CompletionCon
         _ => return,
     };
 
-    let already_present_names: Vec<String> = ctx
+    let already_present_names: Vec<SmolStr> = ctx
         .record_lit_syntax
         .as_ref()
         .and_then(|record_literal| record_literal.record_field_list())
@@ -20,13 +21,13 @@ pub(super) fn complete_record_literal(acc: &mut Completions, ctx: &CompletionCon
             fields
                 .into_iter()
                 .filter_map(|field| field.name_ref())
-                .map(|name_ref| name_ref.to_string())
+                .map(|name_ref| name_ref.text().clone())
                 .collect()
         })
         .unwrap_or_default();
 
     for (field, field_ty) in ty.variant_fields(ctx.db, variant) {
-        if !already_present_names.contains(&field.name(ctx.db).to_string()) {
+        if !already_present_names.contains(&SmolStr::from(field.name(ctx.db).to_string())) {
             acc.add_field(ctx, field, &field_ty);
         }
     }