As a temporary measure, we immortalized a number of objects in the 3.13 free threading build. To work around refleak test failures, we added a @test.support.suppress_immortalization() decorator that suppressed the behavior.
Now that we have deferred reference counting, that behavior is mostly gone and we can get rid of the decorator. We still want to suppress immortalization of code constants in a few places (like compile()), but that logic can be simpler and doesn't have to be exposed to Python.
Linked PRs
As a temporary measure, we immortalized a number of objects in the 3.13 free threading build. To work around refleak test failures, we added a
@test.support.suppress_immortalization()decorator that suppressed the behavior.Now that we have deferred reference counting, that behavior is mostly gone and we can get rid of the decorator. We still want to suppress immortalization of code constants in a few places (like
compile()), but that logic can be simpler and doesn't have to be exposed to Python.Linked PRs