mirror of
https://github.com/SpaceVim/SpaceVim.git
synced 2025-02-04 03:00:05 +08:00
118 lines
1.7 KiB
Python
Vendored
118 lines
1.7 KiB
Python
Vendored
"""
|
|
Code that might cause recursion issues (or has caused in the past).
|
|
"""
|
|
|
|
def Recursion():
|
|
def recurse(self):
|
|
self.a = self.a
|
|
self.b = self.b.recurse()
|
|
|
|
#?
|
|
Recursion().a
|
|
|
|
#?
|
|
Recursion().b
|
|
|
|
|
|
class X():
|
|
def __init__(self):
|
|
self.recursive = [1, 3]
|
|
|
|
def annoying(self):
|
|
self.recursive = [self.recursive[0]]
|
|
|
|
def recurse(self):
|
|
self.recursive = [self.recursive[1]]
|
|
|
|
#? int()
|
|
X().recursive[0]
|
|
|
|
|
|
def to_list(iterable):
|
|
return list(set(iterable))
|
|
|
|
|
|
def recursion1(foo):
|
|
return to_list(to_list(foo)) + recursion1(foo)
|
|
|
|
#? int()
|
|
recursion1([1,2])[0]
|
|
|
|
|
|
class FooListComp():
|
|
def __init__(self):
|
|
self.recursive = [1]
|
|
|
|
def annoying(self):
|
|
self.recursive = [x for x in self.recursive]
|
|
|
|
|
|
#? int()
|
|
FooListComp().recursive[0]
|
|
|
|
|
|
class InstanceAttributeIfs:
|
|
def b(self):
|
|
self.a1 = 1
|
|
self.a2 = 1
|
|
|
|
def c(self):
|
|
self.a2 = ''
|
|
|
|
def x(self):
|
|
self.b()
|
|
|
|
if self.a1 == 1:
|
|
self.a1 = self.a1 + 1
|
|
if self.a2 == UNDEFINED:
|
|
self.a2 = self.a2 + 1
|
|
|
|
#? int()
|
|
self.a1
|
|
#? int() str()
|
|
self.a2
|
|
|
|
#? int()
|
|
InstanceAttributeIfs().a1
|
|
#? int() str()
|
|
InstanceAttributeIfs().a2
|
|
|
|
|
|
|
|
class A:
|
|
def a(self, b):
|
|
for x in [self.a(i) for i in b]:
|
|
#?
|
|
x
|
|
|
|
class B:
|
|
def a(self, b):
|
|
for i in b:
|
|
for i in self.a(i):
|
|
#?
|
|
yield i
|
|
|
|
|
|
foo = int
|
|
foo = foo # type: foo
|
|
#? int
|
|
foo
|
|
|
|
while True:
|
|
bar = int
|
|
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]
|