Apply tuple-only filtering to apply more broadly

This commit is contained in:
Peter Law
2020-04-24 16:44:25 +01:00
parent 891383f8dc
commit c19c13e2c6

View File

@@ -342,6 +342,10 @@ class Tuple(BaseTypingValueWithGenerics):
for value in value_set for value in value_set
if value.py__name__() == 'Tuple' if value.py__name__() == 'Tuple'
]) ])
else:
value_set = value_set.filter(
lambda x: x.py__name__() == 'tuple',
)
if self._is_homogenous(): if self._is_homogenous():
# The parameter annotation is of the form `Tuple[T, ...]`, # The parameter annotation is of the form `Tuple[T, ...]`,
@@ -359,10 +363,6 @@ class Tuple(BaseTypingValueWithGenerics):
type_var_dict = {} type_var_dict = {}
for element in value_set: for element in value_set:
element_name = element.py__name__()
if element_name != 'tuple':
continue
if not is_class_value: if not is_class_value:
py_class = element.get_annotated_class_object() py_class = element.get_annotated_class_object()
if not isinstance(py_class, GenericClass): if not isinstance(py_class, GenericClass):