[Python-checkins] cpython: Issue #21421: Add __slots__ to the MappingViews ABCs.

raymond.hettinger python-checkins at python.org
Sun May 4 04:06:40 CEST 2014


http://hg.python.org/cpython/rev/2c6a231e2c1e
changeset:   90555:2c6a231e2c1e
user:        Raymond Hettinger <python at rcn.com>
date:        Sat May 03 19:06:32 2014 -0700
summary:
  Issue #21421:  Add __slots__ to the MappingViews ABCs.

files:
  Lib/_collections_abc.py |  8 ++++++++
  Misc/NEWS               |  3 +++
  2 files changed, 11 insertions(+), 0 deletions(-)


diff --git a/Lib/_collections_abc.py b/Lib/_collections_abc.py
--- a/Lib/_collections_abc.py
+++ b/Lib/_collections_abc.py
@@ -440,6 +440,8 @@
 
 class MappingView(Sized):
 
+    __slots__ = '_mapping',
+
     def __init__(self, mapping):
         self._mapping = mapping
 
@@ -452,6 +454,8 @@
 
 class KeysView(MappingView, Set):
 
+    __slots__ = ()
+
     @classmethod
     def _from_iterable(self, it):
         return set(it)
@@ -467,6 +471,8 @@
 
 class ItemsView(MappingView, Set):
 
+    __slots__ = ()
+
     @classmethod
     def _from_iterable(self, it):
         return set(it)
@@ -489,6 +495,8 @@
 
 class ValuesView(MappingView):
 
+    __slots__ = ()
+
     def __contains__(self, value):
         for key in self._mapping:
             if value == self._mapping[key]:
diff --git a/Misc/NEWS b/Misc/NEWS
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -73,6 +73,9 @@
   Decimal.quantize() method in the Python version.  It had never been
   present in the C version.
 
+- Issue #21421: Add __slots__ to the MappingViews ABC.
+  Patch by Josh Rosenberg.
+
 - Issue #21101: Eliminate double hashing in the C speed-up code for
   collections.Counter().
 

-- 
Repository URL: http://hg.python.org/cpython


More information about the Python-checkins mailing list