Skip to content

Commit e096bf9

Browse files
committed
This is probably too much, but maybe...
1 parent 75e4e22 commit e096bf9

File tree

1 file changed

+14
-0
lines changed

1 file changed

+14
-0
lines changed

mypy/checkexpr.py

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3007,6 +3007,20 @@ def maybe_bind_self(t: Type) -> Type:
30073007
self.chk.store_types(type_maps[0])
30083008
return erase_type(return_types[0]), maybe_bind_self(erase_type(inferred_types[0]))
30093009
else:
3010+
erased_non_any = [
3011+
(r, inf)
3012+
for r, inf in zip(return_types, inferred_types)
3013+
if not isinstance(get_proper_type(r), AnyType)
3014+
]
3015+
if (
3016+
len(erased_non_any) == 1
3017+
or len(erased_non_any) > 1
3018+
and all_same_types([erase_type(r) for r, _ in erased_non_any])
3019+
):
3020+
self.chk.store_types(type_maps[0])
3021+
r, inf = erased_non_any[0]
3022+
return erase_type(r), maybe_bind_self(erase_type(inf))
3023+
30103024
return self.check_call(
30113025
callee=AnyType(TypeOfAny.special_form),
30123026
args=args,

0 commit comments

Comments
 (0)