Unnamed repository; edit this file 'description' to name the repository.
Diffstat (limited to 'crates/hir-expand/src/fixup.rs')
-rw-r--r--crates/hir-expand/src/fixup.rs16
1 files changed, 15 insertions, 1 deletions
diff --git a/crates/hir-expand/src/fixup.rs b/crates/hir-expand/src/fixup.rs
index eadb2e19d1..9fdf4aa4f7 100644
--- a/crates/hir-expand/src/fixup.rs
+++ b/crates/hir-expand/src/fixup.rs
@@ -277,7 +277,7 @@ pub(crate) fn fixup_syntax(
},
ast::RecordExprField(it) => {
if let Some(colon) = it.colon_token() {
- if it.name_ref().is_some() {
+ if it.name_ref().is_some() && it.expr().is_none() {
append.insert(colon.into(), vec![
Leaf::Ident(Ident {
text: "__ra_fixup".into(),
@@ -844,6 +844,20 @@ fn foo () {R {f : __ra_fixup}}
}
#[test]
+ fn no_fixup_record_ctor_field() {
+ check(
+ r#"
+fn foo() {
+ R { f: a }
+}
+"#,
+ expect![[r#"
+fn foo () {R {f : a}}
+"#]],
+ )
+ }
+
+ #[test]
fn fixup_arg_list() {
check(
r#"