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.rs6
1 files changed, 2 insertions, 4 deletions
diff --git a/crates/ide-completion/src/context/analysis.rs b/crates/ide-completion/src/context/analysis.rs
index 5959973589..822dae2578 100644
--- a/crates/ide-completion/src/context/analysis.rs
+++ b/crates/ide-completion/src/context/analysis.rs
@@ -661,9 +661,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 +680,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)
}
},