Unnamed repository; edit this file 'description' to name the repository.
Diffstat (limited to 'crates/ide-completion/src/context/analysis.rs')
-rw-r--r--crates/ide-completion/src/context/analysis.rs12
1 files changed, 3 insertions, 9 deletions
diff --git a/crates/ide-completion/src/context/analysis.rs b/crates/ide-completion/src/context/analysis.rs
index 5959973589..391e2379dc 100644
--- a/crates/ide-completion/src/context/analysis.rs
+++ b/crates/ide-completion/src/context/analysis.rs
@@ -387,11 +387,7 @@ fn expand(
match (
sema.expand_macro_call(&actual_macro_call),
- sema.speculative_expand_macro_call(
- &actual_macro_call,
- &speculative_args,
- fake_ident_token.clone(),
- ),
+ sema.speculative_expand_macro_call(&actual_macro_call, &speculative_args, fake_ident_token),
) {
// successful expansions
(Some(actual_expansion), Some((fake_expansion, fake_mapped_tokens))) => {
@@ -661,9 +657,8 @@ fn expected_type_and_name(
))
} else {
cov_mark::hit!(expected_type_struct_field_without_leading_char);
- let expr_field = token.prev_sibling_or_token()?
- .into_node()
- .and_then(ast::RecordExprField::cast)?;
+ cov_mark::hit!(expected_type_struct_field_followed_by_comma);
+ let expr_field = previous_non_trivia_token(token.clone())?.parent().and_then(ast::RecordExprField::cast)?;
let (_, _, ty) = sema.resolve_record_field(&expr_field)?;
Some((
Some(ty),
@@ -681,7 +676,6 @@ fn expected_type_and_name(
.or_else(|| sema.type_of_expr(&expr).map(TypeInfo::original));
(ty, field_name)
} else {
- cov_mark::hit!(expected_type_struct_field_followed_by_comma);
(field_ty, field_name)
}
},