Anonymous committed daa85db

Rewrite module-globals summary entry, and expand the full description a bit.

Comments (0)

Files changed (1)


 CPython implementation improvements:
 * :pep:`442`: :ref:`Safe object finalization <whatsnew-pep-442>`
+* Leveraging :pep:`442`, :ref:`module globals are no longer set to None
+  during finalization <whatsnew-pep-442>`, in most cases (:issue:`18214`).
 * :pep:`445`: :ref:`Configurable memory allocators <whatsnew-pep-445>`
 * :pep:`456`: :ref:`Secure and interchangeable hash algorithm <whatsnew-pep-456>`
 * :pep:`436`: :ref:`Argument Clinic <whatsnew-pep-436>`.
-* Improve finalization of Python modules to avoid setting their globals
-  to None, in most cases (:issue:`18214`).
 * A more efficient :mod:`marshal` format (:issue:`16475`).
 Please read on for a comprehensive list of user-facing changes.
 As part of this change, module globals are no longer forcibly set to
 :const:`None` during interpreter shutdown in most cases, instead relying
-on the normal operation of the cyclic garbage collector.
+on the normal operation of the cyclic garbage collector.  This avoids a
+whole class of interpreter-shutdown-time errors, usually involving
+``__del__`` methods, that have plagued Python since the cyclic GC
+was first introduced.
 .. seealso::