Staging
v0.5.1
https://github.com/python/cpython
Revision 6fb12b5c43945f61f3da82e33eafb4ddae2296ee authored by Nate on 07 June 2017, 00:31:03 UTC, committed by Mariatta on 07 June 2017, 00:31:03 UTC
Many metaclasses in the standard library don't play nice with
__init_subclass__. This bug makes ABCMeta in particular with
__init_subclass__, which is an 80/20 solution for me personally.
AFAICT, a general solution to this problem requires updating all
metaclasses in the standard library to make sure they pass **kwargs to
type.__new__, whereas this PR only fixes ABCMeta. For context, see
https://bugs.python.org/issue29581.

* added a test combining ABCMeta and __init_subclass__
* Added NEWS item

(cherry picked from commit bd583ef9857d99f9145ad0bb2c4424cc0baa63fc)

* [3.6] bpo-29581: Make ABCMeta.__new__ pass **kwargs to type.__new__ (GH-527)

Many metaclasses in the standard library don't play nice with
__init_subclass__. This bug makes ABCMeta in particular with
__init_subclass__, which is an 80/20 solution for me personally.
AFAICT, a general solution to this problem requires updating all
metaclasses in the standard library to make sure they pass **kwargs to
type.__new__, whereas this PR only fixes ABCMeta. For context, see
https://bugs.python.org/issue29581.

* added a test combining ABCMeta and __init_subclass__
* Added NEWS item.
(cherry picked from commit bd583ef9857d99f9145ad0bb2c4424cc0baa63fc)

* **kwargs -> ``kwargs`` in attempts to fix the Travis build.

* Quote the **kwargs
1 parent 063f0b3
History
Tip revision: 6fb12b5c43945f61f3da82e33eafb4ddae2296ee authored by Nate on 07 June 2017, 00:31:03 UTC
bpo-29581: bpo-29581: Make ABCMeta.__new__ pass **kwargs to type.__new__ (GH-527) (GH-1282)
Tip revision: 6fb12b5
File Mode Size
.github
Doc
Grammar
Include
Lib
Mac
Misc
Modules
Objects
PC
PCbuild
Parser
Programs
Python
Tools
.bzrignore -rw-r--r-- 582 bytes
.gitattributes -rw-r--r-- 255 bytes
.gitignore -rw-r--r-- 1.3 KB
.hgeol -rw-r--r-- 1.0 KB
.hgignore -rw-r--r-- 1.3 KB
.hgtags -rw-r--r-- 8.7 KB
.mention-bot -rw-r--r-- 39 bytes
.travis.yml -rw-r--r-- 3.9 KB
LICENSE -rw-r--r-- 12.5 KB
Makefile.pre.in -rw-r--r-- 57.9 KB
README.rst -rw-r--r-- 9.1 KB
aclocal.m4 -rw-r--r-- 10.7 KB
config.guess -rwxr-xr-x 41.9 KB
config.sub -rwxr-xr-x 34.9 KB
configure -rwxr-xr-x 473.8 KB
configure.ac -rw-r--r-- 156.6 KB
install-sh -rwxr-xr-x 7.0 KB
pyconfig.h.in -rw-r--r-- 40.4 KB
setup.py -rw-r--r-- 98.8 KB

README.rst

back to top