Skip to content

Commit 0709173

Browse files
authored
Improve else handling with custom equality (#20692)
1 parent 3e3980d commit 0709173

File tree

2 files changed

+2
-3
lines changed

2 files changed

+2
-3
lines changed

mypy/checker.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6752,8 +6752,7 @@ def narrow_type_by_identity_equality(
67526752
if_map, else_map = conditional_types_to_typemaps(
67536753
operands[i], *conditional_types(expr_type, [target])
67546754
)
6755-
if else_map:
6756-
all_else_maps.append(else_map)
6755+
all_else_maps.append(else_map)
67576756
continue
67586757

67596758
# If our operand with custom __eq__ is a union, where only some members of the union

test-data/unit/check-narrowing.test

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -880,7 +880,7 @@ def f1(x: Literal[1, 2, None], y: Custom):
880880
reveal_type(x) # N: Revealed type is "Literal[1]"
881881
reveal_type(y) # N: Revealed type is "__main__.Custom"
882882
else:
883-
reveal_type(x) # N: Revealed type is "Literal[2] | None"
883+
reveal_type(x) # N: Revealed type is "Literal[1] | Literal[2] | None"
884884
reveal_type(y) # N: Revealed type is "__main__.Custom"
885885

886886
class Default: pass

0 commit comments

Comments
 (0)