]> granicus.if.org Git - python/commit
bpo-29581: bpo-29581: Make ABCMeta.__new__ pass **kwargs to type.__new__ (GH-527...
authorNate <nate@so8r.es>
Wed, 7 Jun 2017 00:31:03 +0000 (17:31 -0700)
committerMariatta <Mariatta@users.noreply.github.com>
Wed, 7 Jun 2017 00:31:03 +0000 (17:31 -0700)
commit6fb12b5c43945f61f3da82e33eafb4ddae2296ee
treef93a4dd486df5795de6b73c06c959aad4aa3b4ac
parent063f0b358331322d84f85008e6c01f80ff321fd6
bpo-29581: bpo-29581: Make ABCMeta.__new__ pass **kwargs to type.__new__ (GH-527) (GH-1282)

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
Lib/abc.py
Lib/test/test_abc.py
Misc/NEWS