mirror of
https://github.com/davidhalter/jedi.git
synced 2025-12-07 06:24:27 +08:00
Fix a recursion error issue
This commit is contained in:
@@ -192,13 +192,17 @@ class Sequence(LazyAttributeOverwrite, IterableMixin):
|
|||||||
def _get_generics(self):
|
def _get_generics(self):
|
||||||
return (self.merge_types_of_iterate().py__class__(),)
|
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):
|
def _get_wrapped_value(self):
|
||||||
from jedi.inference.gradual.base import GenericClass
|
from jedi.inference.gradual.base import GenericClass
|
||||||
from jedi.inference.gradual.generics import TupleGenericManager
|
from jedi.inference.gradual.generics import TupleGenericManager
|
||||||
klass = compiled.builtin_from_name(self.inference_state, self.array_type)
|
klass = compiled.builtin_from_name(self.inference_state, self.array_type)
|
||||||
c, = GenericClass(
|
c, = GenericClass(
|
||||||
klass,
|
klass,
|
||||||
TupleGenericManager(self._get_generics())
|
TupleGenericManager(self._cached_generics())
|
||||||
).execute_annotation()
|
).execute_annotation()
|
||||||
return c
|
return c
|
||||||
|
|
||||||
|
|||||||
@@ -103,3 +103,15 @@ while True:
|
|||||||
bar = bar # type: bar
|
bar = bar # type: bar
|
||||||
#? int()
|
#? int()
|
||||||
bar
|
bar
|
||||||
|
|
||||||
|
|
||||||
|
class Comprehension:
|
||||||
|
def __init__(self, foo):
|
||||||
|
self.foo = foo
|
||||||
|
|
||||||
|
def update(self):
|
||||||
|
self.foo = (self.foo,)
|
||||||
|
|
||||||
|
|
||||||
|
#? int() tuple()
|
||||||
|
Comprehension(1).foo[0]
|
||||||
|
|||||||
Reference in New Issue
Block a user