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 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);
}

View File

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

View File

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

View File

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