On Mon, 11 Feb 2013 00:09:55 +1000
Nick Coghlan <ncogh...@gmail.com> wrote:
> 
> As far as the maintenance burden goes, the patch to enable PEP 422 for
> types.new_class() is trivial:
> 
> -    return meta(name, bases, ns, **kwds)
> +    cls = meta(name, bases, ns, **kwds)
> +    try:
> +        initcl = cls.__init_class__
> +    except AttributeError:
> +        pass
> +    else:
> +        initcl()
> +    return cls

I didn't know types.new_class(). I suppose that's because I'm not part
of the top half dozen people on the planet :-) I've stopped trying to
understand when I saw about the __build_class__ additions and whatnot.
I now consider that part of the language totally black magic.

I'm not sure it's a good thing when even some maintainers of the
language don't understand some of its (important) corners.

> The change in the builtin.__build_class__ implementation is similarly
> trivial (and has the same semantics), it's just more verbose due to
> its being written in C.

Sure, every little addition is "trivial". At the end you have a scary
monster made of many little trivial additions along the years, and
everyone has to take care not to break it.

Regards

Antoine.
_______________________________________________
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

Reply via email to