Am 21.02.2012 11:41, schrieb Eli Bendersky: > > > On Tue, Feb 21, 2012 at 03:59, Nick Coghlan <ncogh...@gmail.com > <mailto:ncogh...@gmail.com>> wrote: > > On Tue, Feb 21, 2012 at 11:39 AM, Eli Bendersky <eli...@gmail.com > <mailto:eli...@gmail.com>> wrote: > > So the two choices here are either change the documentation or the C > > implementation to actually make Element a class. The first is of > course > > simpler. However, someone somewhere may have written code that > knowingly > > forces the Python implementation to be used and subclasses > Element. Such > > code will break in 3.3, so it probably makes sense to invest in making > > Element a class in the C implementation as well. > > Yeah, that's my take as well (especially since, in 3.2 and earlier, > "forcing" use of the pure Python version was just a matter of > importing ElementTree instead of cElementTree). > > > I can't fathom why someone would do it though, since bar tiny > differences (like this one) cET is just a faster ET and it's available > practically everywhere with CPython. I mean, is it really important to > be able to subclass ET.Element? What goal does it serve?
Statements like this make me *extremely* worried. Please try to adopt a position of much higher caution, accepting that a change is "incompatible" if there is a remote possibility that someone might actually rely on the original behavior. Otherwise, I predict that you will get flooded with complaints that you broke ET for no good reason. In the specific case, I tried to write a script that determines the memory usage of ET. As Element is lacking gc.get_referents support, I tried isinstance(o, Element), which failed badly. Feel free to dismiss this application as irrelevant, but I do wish that somebody was in charge of ET who was taking backwards compatibility as serious as Fredrik Lundh. Regards, Martin _______________________________________________ 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