+++ /dev/null
-# flags: --minimum-version=3.10
-import match
-
-match something:
- case [a as b]:
- print(b)
- case [a as b, c, d, e as f]:
- print(f)
- case Point(a as b):
- print(b)
- case Point(int() as x, int() as y):
- print(x, y)
-
-
-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, {"x": d, "y": 1.0}] as y, otherwise=something, q=t as u
- ):
- pass