Misc. follow-ups to single-element tuple patterns (#7698)

Just changes to internal comments and tests.

See comments in https://github.com/astral-sh/ruff/pull/7683.
This commit is contained in:
Charlie Marsh
2023-09-28 14:49:13 -04:00
committed by GitHub
parent 1c02fcd7ce
commit 46b85ab0a9
3 changed files with 140 additions and 1 deletions

View File

@@ -522,3 +522,45 @@ match pattern:
case a, b,:
pass
case (a, # comment
):
pass
case (a, b # comment
):
pass
case (a, b, # comment
):
pass
case ( # comment
a,
):
pass
case ( # comment
a, b
):
pass
case ( # comment
a, b,
):
pass
case (
# comment
a,):
pass
case (
# comment
a, b):
pass
case (
# comment
a, b,):
pass

View File

@@ -22,7 +22,8 @@ impl FormatNodeRule<PatternMatchSequence> for FormatPatternMatchSequence {
let sequence_type = SequenceType::from_pattern(item, f.context().source());
match (patterns.as_slice(), sequence_type) {
// If the sequence is empty, the parentheses with any dangling comments.
// If the sequence is empty, format the empty parentheses, along with any dangling
// comments.
([], SequenceType::Tuple | SequenceType::TupleNoParens) => {
return empty_parenthesized("(", dangling, ")").fmt(f)
}

View File

@@ -528,6 +528,48 @@ match pattern:
case a, b,:
pass
case (a, # comment
):
pass
case (a, b # comment
):
pass
case (a, b, # comment
):
pass
case ( # comment
a,
):
pass
case ( # comment
a, b
):
pass
case ( # comment
a, b,
):
pass
case (
# comment
a,):
pass
case (
# comment
a, b):
pass
case (
# comment
a, b,):
pass
```
## Output
@@ -1086,6 +1128,60 @@ match pattern:
b,
):
pass
case (
a, # comment
):
pass
case (
a,
b, # comment
):
pass
case (
a,
b, # comment
):
pass
case ( # comment
a,
):
pass
case ( # comment
a,
b,
):
pass
case ( # comment
a,
b,
):
pass
case (
# comment
a,
):
pass
case (
# comment
a,
b,
):
pass
case (
# comment
a,
b,
):
pass
```