d0aab9212a
fuzz / fuzz (3.11) (push) Failing after 1s
fuzz / fuzz (3.12) (push) Failing after 1s
build and publish / sdist + pure wheel (push) Failing after 0s
diff-shades / analysis / base / ${{ matrix.mode }} (push) Has been skipped
docs / docs (ubuntu-latest) (push) Failing after 2s
fuzz / fuzz (3.10) (push) Failing after 1s
fuzz / fuzz (3.14) (push) Failing after 0s
lint and format / lint (push) Failing after 1s
diff-shades / configure (push) Failing after 1s
docker / build (linux/amd64) (push) Has been skipped
diff-shades / analysis / target / ${{ matrix.mode }} (push) Has been skipped
fuzz / fuzz (3.13) (push) Failing after 0s
build and publish / generate wheels matrix (push) Failing after 0s
test release tool / test-release-tool (ubuntu-latest, 3.13) (push) Failing after 1s
build and publish / mypyc wheels ${{ matrix.only }} (push) Has been skipped
test / test (ubuntu-latest, 3.10) (push) Failing after 0s
test / test (ubuntu-latest, 3.11) (push) Failing after 1s
test / test (ubuntu-latest, 3.13) (push) Failing after 0s
test / test (ubuntu-latest, pypy3.11-v7.3.22) (push) Failing after 1s
test / test (ubuntu-latest, 3.15) (push) Failing after 1s
test release tool / test-release-tool (ubuntu-latest, 3.15) (push) Failing after 0s
zizmor / zizmor (push) Failing after 0s
test release tool / test-release-tool (ubuntu-latest, 3.12) (push) Failing after 4s
test release tool / test-release-tool (ubuntu-latest, 3.14) (push) Failing after 3s
test / uvloop (ubuntu-latest) (push) Failing after 1s
test / test (ubuntu-latest, 3.14) (push) Failing after 1s
test / test (ubuntu-latest, 3.12.10) (push) Failing after 5s
docker / build (linux/arm64) (push) Has been cancelled
docker / push (push) Has been cancelled
docs / docs (windows-latest) (push) Has been cancelled
test release tool / test-release-tool (windows-latest, 3.14) (push) Has been cancelled
test release tool / test-release-tool (windows-latest, 3.15) (push) Has been cancelled
test release tool / test-release-tool (macOS-latest, 3.12) (push) Has been cancelled
test release tool / test-release-tool (macOS-latest, 3.13) (push) Has been cancelled
test release tool / test-release-tool (macOS-latest, 3.14) (push) Has been cancelled
test release tool / test-release-tool (macOS-latest, 3.15) (push) Has been cancelled
test release tool / test-release-tool (windows-latest, 3.12) (push) Has been cancelled
test release tool / test-release-tool (windows-latest, 3.13) (push) Has been cancelled
test / test (macOS-latest, 3.11) (push) Has been cancelled
test / test (macOS-latest, 3.12.10) (push) Has been cancelled
test / test (macOS-latest, 3.13) (push) Has been cancelled
test / test (macOS-latest, 3.14) (push) Has been cancelled
test / test (macOS-latest, 3.15) (push) Has been cancelled
test / test (macOS-latest, pypy3.11-v7.3.22) (push) Has been cancelled
test / test (windows-11-arm, 3.11) (push) Has been cancelled
test / test (windows-11-arm, 3.12.10) (push) Has been cancelled
test / test (windows-11-arm, 3.13) (push) Has been cancelled
test / test (macOS-latest, 3.10) (push) Has been cancelled
test / coveralls-finish (push) Has been cancelled
test / uvloop (macOS-latest) (push) Has been cancelled
test / uvloop (windows-11-arm) (push) Has been cancelled
test / uvloop (windows-latest) (push) Has been cancelled
test / test (windows-11-arm, 3.14) (push) Has been cancelled
test / test (windows-11-arm, 3.15) (push) Has been cancelled
test / test (windows-latest, 3.10) (push) Has been cancelled
test / test (windows-latest, 3.11) (push) Has been cancelled
test / test (windows-latest, 3.12.10) (push) Has been cancelled
test / test (windows-latest, 3.13) (push) Has been cancelled
test / test (windows-latest, 3.14) (push) Has been cancelled
test / test (windows-latest, 3.15) (push) Has been cancelled
test / test (windows-latest, pypy3.11-v7.3.22) (push) Has been cancelled
diff-shades / compare / ${{ matrix.mode }} (push) Has been cancelled
fuzz / create-issue (push) Has been cancelled
build and publish / publish-mypyc (push) Has been cancelled
build and publish / publish-hatch (push) Has been cancelled
103 lines
1.8 KiB
Python
103 lines
1.8 KiB
Python
# 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 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
|
|
case something:
|
|
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
|