bpo-44456: Improve the syntax error when mixing keyword and positional patterns (GH-26793)
(cherry picked from commit 0acc258fe6f0ec200ca2f6f9294adbf52a244802)
Co-authored-by: Pablo Galindo <Pablogsal@gmail.com>
diff --git a/Lib/test/test_syntax.py b/Lib/test/test_syntax.py
index e0d0445..ad5656b 100644
--- a/Lib/test/test_syntax.py
+++ b/Lib/test/test_syntax.py
@@ -1240,6 +1240,30 @@
... ...
Traceback (most recent call last):
SyntaxError: invalid pattern target
+
+ >>> match ...:
+ ... case Foo(z=1, y=2, x):
+ ... ...
+ Traceback (most recent call last):
+ SyntaxError: positional patterns follow keyword patterns
+
+ >>> match ...:
+ ... case Foo(a, z=1, y=2, x):
+ ... ...
+ Traceback (most recent call last):
+ SyntaxError: positional patterns follow keyword patterns
+
+ >>> match ...:
+ ... case Foo(z=1, x, y=2):
+ ... ...
+ Traceback (most recent call last):
+ SyntaxError: positional patterns follow keyword patterns
+
+ >>> match ...:
+ ... case C(a=b, c, d=e, f, g=h, i, j=k, ...):
+ ... ...
+ Traceback (most recent call last):
+ SyntaxError: positional patterns follow keyword patterns
"""
import re