Staging
v0.5.1
https://github.com/python/cpython
Revision 19d246745d9d013c12e9560dd020d778381780fb authored by Nick Coghlan on 05 December 2016, 06:47:55 UTC, committed by Nick Coghlan on 05 December 2016, 06:47:55 UTC
Handling zero-argument super() in __init_subclass__ and
__set_name__ involved moving __class__ initialisation to
type.__new__. This requires cooperation from custom
metaclasses to ensure that the new __classcell__ entry
is passed along appropriately.

The initial implementation of that change resulted in abruptly
broken zero-argument super() support in metaclasses that didn't
adhere to the new requirements (such as Django's metaclass for
Model definitions).

The updated approach adopted here instead emits a deprecation
warning for those cases, and makes them work the same way they
did in Python 3.5.

This patch also improves the related class machinery documentation
to cover these details and to include more reader-friendly
cross-references and index entries.
1 parent 71c62e1
Raw File
Tip revision: 19d246745d9d013c12e9560dd020d778381780fb authored by Nick Coghlan on 05 December 2016, 06:47:55 UTC
Issue #23722: improve __classcell__ compatibility
Tip revision: 19d2467
.hgignore
.gdb_history
.purify
.svn/
^.idea/
^.vscode/
.DS_Store
Makefile$
Makefile.pre$
TAGS$
autom4te.cache$
^build/
^Doc/build/
^Doc/venv/
buildno$
config.cache
config.log
config.status
config.status.lineno
db_home
platform$
pyconfig.h$
python$
python.bat$
python.exe$
python-config$
python-config.py$
reflog.txt$
tags$
Misc/python.pc
Misc/python-config.sh$
Modules/Setup$
Modules/Setup.config
Modules/Setup.local
Modules/config.c
Modules/ld_so_aix$
Parser/pgen$
^lcov-report/
^core
^python-gdb.py
^python.exe-gdb.py
^pybuilddir.txt

syntax: glob
libpython*.a
libpython*.so*
libpython*.dylib
*.swp
*.o
*.pyc
*.pyo
*.pyd
*.cover
*~
*.gc??
*.profclang?
*.profraw
*.dyn
Include/pydtrace_probes.h
Lib/distutils/command/*.pdb
Lib/lib2to3/*.pickle
Lib/test/data/*
Misc/*.wpu
PC/python_nt*.h
PC/pythonnt_rc*.h
PC/*/*.exe
PC/*/*.exp
PC/*/*.lib
PC/*/*.bsc
PC/*/*.dll
PC/*/*.pdb
PC/*/*.user
PC/*/*.ncb
PC/*/*.suo
PC/*/Win32-temp-*
PC/*/x64-temp-*
PC/*/amd64
PCbuild/*.user
PCbuild/*.suo
PCbuild/*.*sdf
PCbuild/*-pgi
PCbuild/*-pgo
PCbuild/.vs
PCbuild/amd64
PCbuild/obj
PCbuild/win32
Tools/unicode/build/
Tools/unicode/MAPPINGS/
BuildLog.htm
__pycache__
Programs/_freeze_importlib
Programs/_testembed
.coverage
coverage/
externals/
htmlcov/
*.gcda
*.gcno
*.gcov
ipch/
coverage.info
Tools/msi/obj
Tools/ssl/amd64
Tools/ssl/win32
.vs/
.vscode/
back to top