+
+
+match = 1
+case: int = re.match(something)
+
+match re.match(case):
+ case type("match", match):
+ pass
+ case match:
+ pass
+
+
+def func(match: case, case: match) -> case:
+ match Something():
+ case func(match, case):
+ ...
+ case another:
+ ...
+
+
+match maybe, multiple:
+ case perhaps, 5:
+ pass
+ case perhaps, 6,:
+ pass
+
+
+match more := (than, one), indeed,:
+ case _, (5, 6):
+ pass
+ case [[5], (6)], [7],:
+ pass
+ case _:
+ pass
+
+
+match a, *b, c:
+ case [*_]:
+ assert "seq" == _
+ case {}:
+ assert "map" == b
+
+
+match match(
+ case,
+ match(
+ match, case, match, looooooooooooooooooooooooooooooooooooong, match, case, match
+ ),
+ case,
+):
+ case case(
+ match=case,
+ case=re.match(
+ loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong
+ ),
+ ):
+ pass
+
+ case [a as match]:
+ pass
+
+ case case:
+ pass
+
+
+match match:
+ case case:
+ pass
+
+
+match a, *b(), c:
+ case d, *f, g:
+ pass
+
+
+match something:
+ case {
+ "key": key as key_1,
+ "password": PASS.ONE | PASS.TWO | PASS.THREE as password,
+ }:
+ pass
+ case {"maybe": something(complicated as this) as that}:
+ pass
+
+
+match something:
+ case 1 as a:
+ pass
+
+ case 2 as b, 3 as c:
+ pass
+
+ case 4 as d, (5 as e), (6 | 7 as g), *h:
+ pass
+
+
+match bar1:
+ case Foo(aa=Callable() as aa, bb=int()):
+ print(bar1.aa, bar1.bb)
+ case _:
+ print("no match", "\n")
+
+
+match bar1:
+ case Foo(
+ normal=x, perhaps=[list, {an: d, dict: 1.0}] as y, otherwise=something, q=t as u
+ ):
+ pass