From dde40b3a71d5025ac0eba4b814c498fb00885aaf Mon Sep 17 00:00:00 2001 From: Dave Halter Date: Thu, 2 Apr 2020 00:23:38 +0200 Subject: [PATCH] Add a comment to clarify the Type case --- jedi/inference/gradual/typing.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/jedi/inference/gradual/typing.py b/jedi/inference/gradual/typing.py index 943d5d34..ab0b449b 100644 --- a/jedi/inference/gradual/typing.py +++ b/jedi/inference/gradual/typing.py @@ -197,14 +197,18 @@ class TypingClassValueWithIndex(_TypingClassMixin, TypingValueWithIndex): annotation_name = self.py__name__() if annotation_name == 'Type': if is_class_value: + # This only applies if we are comparing something like + # List[Type[int]] with Iterable[Type[int]]. First, Jedi tries to + # match List/Iterable. After that we will land here, because + # is_class_value will be True at that point. Obviously we also + # compare below that both sides are `Type`. for element in value_set: element_name = element.py__name__() - if annotation_name == element_name: + if element_name == 'Type': merge_type_var_dicts( type_var_dict, merge_pairwise_generics(self, element), ) - else: return annotation_generics[0].infer_type_vars( value_set,