Check that Expr is none before adding fixup

This commit is contained in:
Wyatt Herkamp 2024-06-20 08:54:23 -04:00
parent 48b6f28b0e
commit edd66a754e
No known key found for this signature in database
GPG key ID: 976C9CBA7B40E15F

View file

@ -277,7 +277,7 @@ pub(crate) fn fixup_syntax(
}, },
ast::RecordExprField(it) => { ast::RecordExprField(it) => {
if let Some(colon) = it.colon_token() { 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![ append.insert(colon.into(), vec![
Leaf::Ident(Ident { Leaf::Ident(Ident {
text: "__ra_fixup".into(), text: "__ra_fixup".into(),
@ -843,6 +843,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] #[test]
fn fixup_arg_list() { fn fixup_arg_list() {
check( check(