This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author rhettinger
Date 2006-12-19.23:00:04
SpamBayes Score
Marked as misclassified
It is also asking for bugs if someone hooks __getitem__ and starts to make possibly invalid assumptions about what other changes occur implicitly.

Also, this patch kills the performance of builtin subclasses.  If I subclass dict to add a new method, it would suck to have the performance of all of the other methods drop percariously.

This patch is somewhat overzealous.  It encroaches on the terriority of UserDict.DictMixin which was specifically made for propagating new behaviors.  It unnecessarily exposes implementation details.  It introduces implicit behaviors that should be done through explicit overrides of methods whose behavior is supposed to change.  

And, it is on the top of a slippery slope that we don't want to go down (i.e. do we want to guarantee that list.append is implemented in terms of list.extend, etc).  Python has no shortage of places where builtin subclasses make direct calls to the underlying C code -- this patch leads to a bottomless pit of changes that kill performance and make implicit side-effects the norm instead of the exception.
Date User Action Args
2007-08-23 15:55:43adminlinkissue1615701 messages
2007-08-23 15:55:43admincreate