mirror of
https://github.com/astral-sh/ruff
synced 2026-01-06 14:14:10 -05:00
[syntax-errors] Irrefutable case pattern before final case (#16905)
Summary -- Detects irrefutable `match` cases before the final case using a modified version of the existing `Pattern::is_irrefutable` method from the AST crate. The modified method helps to retrieve a more precise diagnostic range to match what Python 3.13 shows in the REPL. Test Plan -- New inline tests, as well as some updates to existing tests that had irrefutable patterns before the last block.
This commit is contained in:
@@ -0,0 +1,12 @@
|
||||
match x:
|
||||
case var: ... # capture pattern
|
||||
case 2: ...
|
||||
match x:
|
||||
case _: ...
|
||||
case 2: ... # wildcard pattern
|
||||
match x:
|
||||
case var1 as var2: ... # as pattern with irrefutable left-hand side
|
||||
case 2: ...
|
||||
match x:
|
||||
case enum.variant | var: ... # or pattern with irrefutable part
|
||||
case 2: ...
|
||||
Reference in New Issue
Block a user