forked from VimPlug/jedi
Fix an issue with Tuple generics
This commit is contained in:
@@ -138,13 +138,6 @@ class ProxyWithGenerics(BaseTypingClassWithGenerics):
|
||||
def gather_annotation_classes(self):
|
||||
return ValueSet.from_sets(self._generics_manager.to_tuple())
|
||||
|
||||
def _create_instance_with_generics(self, generics_manager):
|
||||
return ProxyWithGenerics(
|
||||
self.parent_context,
|
||||
self._tree_name,
|
||||
generics_manager
|
||||
)
|
||||
|
||||
def infer_type_vars(self, value_set):
|
||||
annotation_generics = self.get_generics()
|
||||
|
||||
@@ -232,6 +225,13 @@ class TypingClassWithGenerics(_TypingClassMixin, ProxyWithGenerics):
|
||||
|
||||
return type_var_dict
|
||||
|
||||
def _create_instance_with_generics(self, generics_manager):
|
||||
return TypingClassWithGenerics(
|
||||
self.parent_context,
|
||||
self._tree_name,
|
||||
generics_manager
|
||||
)
|
||||
|
||||
|
||||
class ProxyTypingClassValue(_TypingClassMixin, ProxyTypingValue):
|
||||
index_class = TypingClassWithGenerics
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
# python >= 3.6
|
||||
from typing import List, Dict, overload
|
||||
from typing import List, Dict, overload, Tuple, TypeVar
|
||||
|
||||
lst: list
|
||||
list_alias: List
|
||||
@@ -72,3 +72,18 @@ overload_f1(list_alias)
|
||||
overload_f1(list_str)
|
||||
#? str() dict()
|
||||
overload_f1(list_int)
|
||||
|
||||
# -------------------------
|
||||
# Broken Matching
|
||||
# -------------------------
|
||||
T = TypeVar('T')
|
||||
|
||||
@overload
|
||||
def broken_f1(value: 1) -> str: ...
|
||||
|
||||
@overload
|
||||
def broken_f1(value: Tuple[T]) -> Tuple[T]: ...
|
||||
|
||||
tup: Tuple[float]
|
||||
#? float()
|
||||
broken_f1(broken_f1(tup))[0]
|
||||
|
||||
Reference in New Issue
Block a user