Issue #21421: Add __slots__ to the MappingViews ABCs.
diff --git a/Lib/_collections_abc.py b/Lib/_collections_abc.py
index faa1ff2..6281723 100644
--- 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]: