Make sure overload checks work for TypeAlias, see #1416

This commit is contained in:
Dave Halter
2019-12-19 23:27:32 +01:00
parent 902b355aea
commit 51e2e90dce
2 changed files with 31 additions and 0 deletions

View File

@@ -213,6 +213,9 @@ class TypeAlias(LazyValueWrapper):
cls = next(iter(classes))
return cls
def gather_annotation_classes(self):
return ValueSet([self._get_wrapped_value()])
class Callable(BaseTypingValueWithGenerics):
def py__call__(self, arguments):

View File

@@ -0,0 +1,28 @@
# python >= 3.4
from typing import List, Dict, overload
# -------------------------
# With base classes
# -------------------------
@overload
def overload_f2(value: List) -> str: ...
@overload
def overload_f2(value: Dict) -> int: ...
#? str()
overload_f2([''])
#? int()
overload_f2({1.0: 1.0})
@overload
def overload_f3(value: list) -> str: ...
@overload
def overload_f3(value: dict) -> float: ...
#? str()
overload_f3([''])
#? float()
overload_f3({1.0: 1.0})