On Fri, May 6, 2011 at 9:18 AM, <s...@pobox.com> wrote: > > Antoine> Since we're sharing links, here's Matt Mackall's take: > Antoine> > http://www.selenic.com/pipermail/mercurial-devel/2011-May/031055.html > > >From that note: > > 1: You can't have meaningful destructors, because when destruction > happens is undefined. And going-out-of-scope destructors are extremely > useful. Python is already a rather broken in this regard, so feel free > to ignore this point.
Python being "broken" in this regard is pretty much exactly why __enter__, __exit__ and with as context managers were added to the language. That gives the ability to have the equivalent of well defined nested scopes that destroy something (exit) deterministically much as it is easy to do in C++ with some {}s and a ~destructor(). It is not broken, just different. -gps _______________________________________________ Python-Dev mailing list Python-Dev@python.org http://mail.python.org/mailman/listinfo/python-dev Unsubscribe: http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com