Skip to content

Commit abcf2ed

Browse files
[Backport maintenance/4.0.x] Fix false-positive for bare-name-capture-pattern (#10651)
1 parent c13b2b6 commit abcf2ed

File tree

3 files changed

+12
-2
lines changed

3 files changed

+12
-2
lines changed
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
Fix false-positive for ``bare-name-capture-pattern`` if a case guard is used.
2+
3+
Closes #10647

pylint/checkers/match_statements_checker.py

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -105,8 +105,13 @@ def visit_match(self, node: nodes.Match) -> None:
105105
reached.
106106
"""
107107
for idx, case in enumerate(node.cases):
108-
match case.pattern:
109-
case nodes.MatchAs(pattern=None, name=nodes.AssignName(name=name)) if (
108+
match case:
109+
case nodes.MatchCase(
110+
pattern=nodes.MatchAs(
111+
pattern=None, name=nodes.AssignName(name=name)
112+
),
113+
guard=None,
114+
) if (
110115
idx < len(node.cases) - 1
111116
):
112117
self.add_message(

tests/functional/b/bare_name_capture_pattern.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,8 @@
1111
pass
1212
case b: # [bare-name-capture-pattern]
1313
pass
14+
case c if c == "Hello":
15+
pass
1416
case "a" as some_name:
1517
pass
1618
case s:

0 commit comments

Comments
 (0)