
Le mercredi 29 septembre 2010 à 07:27 -0500, Benjamin Peterson a écrit :
I would like to piggy-back on this discussion to suggest further warnings (either by default, or switchable).
One feature I've often considered would be to add a warning in FileIO and socket dealloc if these objects haven't been closed explicitly. In most situations, relying on garbage collection to shutdown OS resources (here, file descriptors) is something we like to discourage. Furthermore, it can produce real bugs, especially under Windows when coupled with refererence cycles created by traceback objects (the random test_tarfile failures on the Windows buildbots were a symptom of that; their cause would have been obvious with such warnings).
What do you think?
It seems like a slippery slope. Sometimes you really don't care like when you're just hacking together a quick script.
Isn't the "with" statement appropriate in these cases? My assumption is/was that the benefit of warning against leaks in real applications (or even - sigh - the standard library) would outweigh the inconvenience when hacking together a quick script. But if it doesn't, what about enabling it with a command-line switch?