Serhiy Storchaka added the comment:

Yes, in bug2.py we have different cycle.

a ↔ b
↓   ↓
v → d

a and b are in a cycle, and therefore v and d are in cycle. I think that in 
such case v always should be destroyed before d, independently of a cycle that 
refers them. And this is the same situation, as for io classes. A TextIOWrapper 
object refers a BufferedWriter object, a BufferedWriter object refers a FileIO 
object. and some cycle refers a TextIOWrapper object. As a result a FileIO 
object can be closed before a TextIOWrapper object or a BufferedWriter object 
flush its buffer.

----------

_______________________________________
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue23720>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to