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
No known key found for this signature in database
GPG Key ID: 33173CB6F77F4277
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 args.is_empty() && with_spread {
if is_record { if is_record {
name.append("{..}") name.append(" { .. }")
} else { } else {
name.append("(..)") name.append("(..)")
} }

View File

@ -748,3 +748,25 @@ fn format_pipe_fn() {
assert_fmt(src, expected); 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);
}

View File

@ -32,7 +32,7 @@ pub fn size(t: MerkleTree) -> Int {
when t is { when t is {
Empty -> Empty ->
0 0
Leaf{..} -> Leaf { .. } ->
1 1
Node { left, right, .. } -> Node { left, right, .. } ->
size(left) + size(right) size(left) + size(right)

View File

@ -139,7 +139,7 @@ pub fn size(self: MerkleTree<a>) -> Int {
when self is { when self is {
Empty -> Empty ->
0 0
Leaf{..} -> Leaf { .. } ->
1 1
Node { left, right, .. } -> Node { left, right, .. } ->
size(left) + size(right) size(left) + size(right)

View File

@ -44,7 +44,7 @@ pub fn size(self: MerkleTree<a>) -> Int {
when self is { when self is {
Empty -> Empty ->
0 0
Leaf{..} -> Leaf { .. } ->
1 1
Node { left, right, .. } -> Node { left, right, .. } ->
size(left) + size(right) size(left) + size(right)