Fix a recursion error issue

This commit is contained in:
Dave Halter
2020-04-25 00:24:26 +02:00
parent 11eb4f8fde
commit 2e1284f044
2 changed files with 17 additions and 1 deletions

View File

@@ -192,13 +192,17 @@ class Sequence(LazyAttributeOverwrite, IterableMixin):
def _get_generics(self):
return (self.merge_types_of_iterate().py__class__(),)
@inference_state_method_cache(default=())
def _cached_generics(self):
return self._get_generics()
def _get_wrapped_value(self):
from jedi.inference.gradual.base import GenericClass
from jedi.inference.gradual.generics import TupleGenericManager
klass = compiled.builtin_from_name(self.inference_state, self.array_type)
c, = GenericClass(
klass,
TupleGenericManager(self._get_generics())
TupleGenericManager(self._cached_generics())
).execute_annotation()
return c

View File

@@ -103,3 +103,15 @@ while True:
bar = bar # type: bar
#? int()
bar
class Comprehension:
def __init__(self, foo):
self.foo = foo
def update(self):
self.foo = (self.foo,)
#? int() tuple()
Comprehension(1).foo[0]