summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Lib/test/test_abc.py13
-rw-r--r--Misc/NEWS5
2 files changed, 16 insertions, 2 deletions
diff --git a/Lib/test/test_abc.py b/Lib/test/test_abc.py
index 3a1d76b..1b51644 100644
--- a/Lib/test/test_abc.py
+++ b/Lib/test/test_abc.py
@@ -105,6 +105,19 @@ class TestABC(unittest.TestCase):
pass
self.assertRaises(AttributeError, getattr, meta, "__abstractmethods__")
+ def test_metaclass_abc(self):
+ # Metaclasses can be ABCs, too.
+ class A(metaclass=abc.ABCMeta):
+ @abc.abstractmethod
+ def x(self):
+ pass
+ self.assertEqual(A.__abstractmethods__, {"x"})
+ class meta(type, A):
+ def x(self):
+ return 1
+ class C(metaclass=meta):
+ pass
+
def test_registration_basics(self):
class A(metaclass=abc.ABCMeta):
pass
diff --git a/Misc/NEWS b/Misc/NEWS
index 2a6d494..c5d1e62 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -10,14 +10,15 @@ What's New in Python 3.2 Alpha 3?
Core and Builtins
-----------------
+- Issue #10006: type.__abstractmethods__ now raises an AttributeError. As a
+ result metaclasses can now be ABCs (see #9533).
+
- Issue #8670: ctypes.c_wchar supports non-BMP characters with 32 bits wchar_t.
- Issue #8670: PyUnicode_AsWideChar() and PyUnicode_AsWideCharString() replace
UTF-16 surrogate pairs by single non-BMP characters for 16 bits Py_UNICODE
and 32 bits wchar_t (eg. Linux in narrow build).
-- Issue #10006: type.__abstractmethods__ now raises an AttributeError.
-
- Issue #10003: Allow handling of SIGBREAK on Windows. Fixes a regression
introduced by issue #9324.