Skip to content

Commit 1026b0e

Browse files
committed
Remove unnecessary error message for match class patterns
1 parent 13fa6c3 commit 1026b0e

File tree

2 files changed

+9
-8
lines changed

2 files changed

+9
-8
lines changed

mypy/checkpattern.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -539,12 +539,12 @@ def visit_class_pattern(self, o: ClassPattern) -> PatternType:
539539
#
540540
type_info = o.class_ref.node
541541
if type_info is None:
542-
return PatternType(AnyType(TypeOfAny.from_error), AnyType(TypeOfAny.from_error), {})
543-
if isinstance(type_info, TypeAlias) and not type_info.no_args:
542+
typ: Type = AnyType(TypeOfAny.from_error)
543+
elif isinstance(type_info, TypeAlias) and not type_info.no_args:
544544
self.msg.fail(message_registry.CLASS_PATTERN_GENERIC_TYPE_ALIAS, o)
545545
return self.early_non_match()
546-
if isinstance(type_info, TypeInfo):
547-
typ: Type = fill_typevars_with_any(type_info)
546+
elif isinstance(type_info, TypeInfo):
547+
typ = fill_typevars_with_any(type_info)
548548
elif isinstance(type_info, TypeAlias):
549549
typ = type_info.target
550550
elif (

test-data/unit/check-python310.test

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -721,13 +721,14 @@ m: object
721721
match m:
722722
case xyz(y): # E: Name "xyz" is not defined
723723
reveal_type(m) # N: Revealed type is "Any"
724-
reveal_type(y) # E: Cannot determine type of "y" \
725-
# N: Revealed type is "Any"
724+
reveal_type(y) # N: Revealed type is "Any"
726725

727726
match m:
728727
case xyz(z=x): # E: Name "xyz" is not defined
729-
reveal_type(x) # E: Cannot determine type of "x" \
730-
# N: Revealed type is "Any"
728+
reveal_type(x) # N: Revealed type is "Any"
729+
case (xyz1() as n) | (xyz2(attr=n)): # E: Name "xyz1" is not defined \
730+
# E: Name "xyz2" is not defined
731+
reveal_type(n) # N: Revealed type is "Any"
731732

732733
[case testMatchClassPatternCaptureDataclass]
733734
from dataclasses import dataclass

0 commit comments

Comments
 (0)