Skip to content

Commit 004646e

Browse files
committed
gh-145239: Accept unary plus in match literal patterns
Add '+' alternatives to signed_number and signed_real_number grammar rules, mirroring how unary minus is already handled. Unary plus is a no-op on numbers so the value is returned directly without wrapping in a UnaryOp node.
1 parent a5b76d5 commit 004646e

File tree

2 files changed

+58
-2
lines changed

2 files changed

+58
-2
lines changed

Grammar/python.gram

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -554,10 +554,12 @@ complex_number[expr_ty]:
554554

555555
signed_number[expr_ty]:
556556
| NUMBER
557+
| '+' number=NUMBER { number }
557558
| '-' number=NUMBER { _PyAST_UnaryOp(USub, number, EXTRA) }
558559

559560
signed_real_number[expr_ty]:
560561
| real_number
562+
| '+' real=real_number { real }
561563
| '-' real=real_number { _PyAST_UnaryOp(USub, real, EXTRA) }
562564

563565
real_number[expr_ty]:

Parser/parser.c

Lines changed: 56 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)