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]:
diff --git a/Misc/NEWS b/Misc/NEWS
index 18c943e..c618212 100644
--- 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().