Issue #9825:  Remove __del__() from OrderedDict.
diff --git a/Lib/collections.py b/Lib/collections.py
index 10c8903..b0c67a1 100644
--- a/Lib/collections.py
+++ b/Lib/collections.py
@@ -173,9 +173,6 @@
                    all(_imap(_eq, self.iteritems(), other.iteritems()))
         return dict.__eq__(self, other)
 
-    def __del__(self):
-        self.clear()                # eliminate cyclical references
-
 
 ################################################################################
 ### namedtuple
diff --git a/Misc/NEWS b/Misc/NEWS
index b65e860..a31d95a 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -43,6 +43,13 @@
 Library
 -------
 
+- Issue #9825: removed __del__ from the definition of collections.OrderedDict.
+  This prevents user-created self-referencing ordered dictionaries from
+  becoming permanently uncollectable GC garbage.  The downside is that
+  removing __del__ means that the internal doubly-linked list has to wait for
+  GC collection rather than freeing memory immediately when the refcnt drops
+  to zero.
+
 - Issue #9816: random.Random.jumpahead(n) did not produce a sufficiently
   different internal state for small values of n.  Fixed by salting the 
   value.