Skip to content

Commit e26ac66

Browse files
Cover wrapped closure cycle guard
1 parent 5251f7a commit e26ac66

1 file changed

Lines changed: 12 additions & 0 deletions

File tree

tests/test_slots.py

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -474,6 +474,18 @@ def __getattr__(self, name):
474474

475475
list(_closure_cells(_function_closing_over(Unrelated()), set()))
476476

477+
def test_closure_cells_stops_on_wrapped_cycles(self):
478+
"""
479+
Closure cell discovery avoids revisiting wrapped functions.
480+
"""
481+
482+
def wrapper():
483+
pass
484+
485+
wrapper.__wrapped__ = wrapper
486+
487+
assert list(_closure_cells(wrapper, set())) == []
488+
477489
def test_closure_cell_rewriting(self):
478490
"""
479491
Slotted classes support proper closure cell rewriting.

0 commit comments

Comments
 (0)