Fix formatter inconsistency with record spread patterns.

This commit is contained in:
KtorZ
2023-03-30 13:02:20 +02:00
parent 17431daaa4
commit 814157dd7b
5 changed files with 26 additions and 4 deletions

View File

@@ -839,7 +839,7 @@ impl<'comments> Formatter<'comments> {
if args.is_empty() && with_spread {
if is_record {
name.append("{..}")
name.append(" { .. }")
} else {
name.append("(..)")
}

View File

@@ -748,3 +748,25 @@ fn format_pipe_fn() {
assert_fmt(src, expected);
}
#[test]
fn match_record() {
let src = indoc! { r#"
fn foo() {
when bar is {
Bar { a, b, c } ->
Void
Bar { a, .. } ->
Void
Bar { .. } ->
Void
Bar(a, b, c) ->
Void
Bar(..) ->
Void
}
}
"#};
assert_fmt(src, src);
}