Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions doc/whatsnew/fragments/10647.false_positive
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
Fix false-positive for :ref:`bare-name-capture-pattern` if a case guard is used.

Closes #10647
9 changes: 7 additions & 2 deletions pylint/checkers/match_statements_checker.py
Original file line number Diff line number Diff line change
Expand Up @@ -105,8 +105,13 @@ def visit_match(self, node: nodes.Match) -> None:
reached.
"""
for idx, case in enumerate(node.cases):
match case.pattern:
case nodes.MatchAs(pattern=None, name=nodes.AssignName(name=name)) if (
match case:
case nodes.MatchCase(
pattern=nodes.MatchAs(
pattern=None, name=nodes.AssignName(name=name)
),
guard=None,
) if (
idx < len(node.cases) - 1
):
self.add_message(
Expand Down
2 changes: 2 additions & 0 deletions tests/functional/b/bare_name_capture_pattern.py
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,8 @@
pass
case b: # [bare-name-capture-pattern]
pass
case c if c == "Hello":
pass
case "a" as some_name:
pass
case s:
Expand Down
Loading