On Wed, Dec 5, 2018 at 2:57 PM Simon King <simon.k...@uni-jena.de> wrote:
>
>
>
> Am Mittwoch, 5. Dezember 2018 13:38:03 UTC+1 schrieb Volker Braun:
>>
>> On Wednesday, December 5, 2018 at 6:52:55 AM UTC-5, Simon King wrote:
>>>
>>> - If there is a reference cycle involving one instance with a __del__
>>>   method, then Python would not apply garbage collection to that cycle.
>>
>>
>> Python will garbage collect the cycle by not calling __del__ on some of the 
>> cycle members.
>
>
> Has that changed? I recall that in my early days in Sage (when I created the 
> first version of my group cohomology package) I had to remove some __del__ 
> method (or change it into a __dealloc__ method), since otherwise some 
> reference cycles haven't been collected at all.

There have been some changes in this area, but mostly focus on Python
3: https://www.python.org/dev/peps/pep-0442/

I think it's still true at least on Python 2 that if an object with a
Python-level __del__ method is involved in a reference cycle, then the
cycle still has to be broken manually.

-- 
You received this message because you are subscribed to the Google Groups 
"sage-devel" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sage-devel+unsubscr...@googlegroups.com.
To post to this group, send email to sage-devel@googlegroups.com.
Visit this group at https://groups.google.com/group/sage-devel.
For more options, visit https://groups.google.com/d/optout.

Reply via email to