File tree Expand file tree Collapse file tree 1 file changed +14
-0
lines changed Expand file tree Collapse file tree 1 file changed +14
-0
lines changed Original file line number Diff line number Diff 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 ,
You can’t perform that action at this time.
0 commit comments