[docs] [issue17422] language reference should specify restrictions on class namespace

Eric Snow report at bugs.python.org
Thu Mar 14 21:33:35 CET 2013

New submission from Eric Snow:

(related to PEP 422 and issue #17044)

The execution namespace from a class definition is passed as the third argument to the metaclass (see builtin___build_class__() in Python/bltinmodule.c).  When applicable, which is almost always, the subsequent call to type.__new__() copies that namespace into a new dict which is in turn exposed via the class's __dict__.

This matters in the case where a metaclass with __prepare__() gets used (or the PEP 422 equivalent).  The language reference[1] should note that the object returned by __prepare__() is copied into a new dict when the class is finally created via the metaclass.

[1] http://docs.python.org/3.4/reference/datamodel.html#customizing-class-creation

assignee: docs at python
components: Documentation
messages: 184188
nosy: docs at python, eric.snow, ncoghlan
priority: normal
severity: normal
stage: needs patch
status: open
title: language reference should specify restrictions on class namespace
type: enhancement
versions: Python 3.4

Python tracker <report at bugs.python.org>

More information about the docs mailing list