Damien George
8 years ago
1 changed files with 18 additions and 0 deletions
@ -0,0 +1,18 @@ |
|||
# test that no-arg super() works when self is closed over |
|||
|
|||
class A: |
|||
def __init__(self): |
|||
self.val = 4 |
|||
def foo(self): |
|||
# we access a member of self to check that self is correct |
|||
return list(range(self.val)) |
|||
class B(A): |
|||
def foo(self): |
|||
# self is closed over because it's referenced in the list comprehension |
|||
# and then super() must detect this and load from the closure cell |
|||
return [self.bar(i) for i in super().foo()] |
|||
def bar(self, x): |
|||
return 2 * x |
|||
|
|||
print(A().foo()) |
|||
print(B().foo()) |
Loading…
Reference in new issue