[Python-Dev] Breaking calls to object.__init__/__new__

Phillip J. Eby pje at telecommunity.com
Thu Mar 22 16:33:46 CET 2007


At 05:02 PM 3/22/2007 +1200, Greg Ewing wrote:
>Phillip J. Eby wrote:
>
> > The whole point of being co-operative in a metaclass is to allow other
> > metaclasses to be safely mixed in -- and they may be metaclasses from a
> > completely different library or framework.
>
>Some of these use cases might now be addressable using
>class decorators instead of mixing metaclasses.

I think we can rule that hypothesis out, since Zope and PEAK have had class 
decorators for maybe 3-4 years now.  Class decorators don't let you provide 
metaclass methods or properties, for example.  (Unless you just use the 
decorator to mix in the metaclass, which puts you right back where you 
started.)



More information about the Python-Dev mailing list