diff --git a/Doc/library/collections.rst b/Doc/library/collections.rst index 1293f542b04377..aa0acfaae45a5f 100644 --- a/Doc/library/collections.rst +++ b/Doc/library/collections.rst @@ -33,11 +33,6 @@ Python's general purpose built-in containers, :class:`dict`, :class:`list`, :class:`UserString` wrapper around string objects for easier string subclassing ===================== ==================================================================== -.. deprecated-removed:: 3.3 3.10 - Moved :ref:`collections-abstract-base-classes` to the :mod:`collections.abc` module. - For backwards compatibility, they continue to be visible in this module through - Python 3.9. - :class:`ChainMap` objects ------------------------- diff --git a/Doc/whatsnew/3.10.rst b/Doc/whatsnew/3.10.rst index b5fb1e9a629c1c..fe103c8a9c22c6 100644 --- a/Doc/whatsnew/3.10.rst +++ b/Doc/whatsnew/3.10.rst @@ -466,6 +466,11 @@ Deprecated Removed ======= +* The abstract base classes in :mod:`collections.abc` no longer are + exposed in the regular :mod:`collections` module. This will help + create a clearer distinction between the concrete classes and the abstract + base classes. + * Removed special methods ``__int__``, ``__float__``, ``__floordiv__``, ``__mod__``, ``__divmod__``, ``__rfloordiv__``, ``__rmod__`` and ``__rdivmod__`` of the :class:`complex` class. They always raised diff --git a/Lib/collections/__init__.py b/Lib/collections/__init__.py index 9c25a2d2784b8f..7d338131d6740d 100644 --- a/Lib/collections/__init__.py +++ b/Lib/collections/__init__.py @@ -51,22 +51,6 @@ pass -def __getattr__(name): - # For backwards compatibility, continue to make the collections ABCs - # through Python 3.6 available through the collections module. - # Note, no new collections ABCs were added in Python 3.7 - if name in _collections_abc.__all__: - obj = getattr(_collections_abc, name) - import warnings - warnings.warn("Using or importing the ABCs from 'collections' instead " - "of from 'collections.abc' is deprecated since Python 3.3, " - "and in 3.10 it will stop working", - DeprecationWarning, stacklevel=2) - globals()[name] = obj - return obj - raise AttributeError(f'module {__name__!r} has no attribute {name!r}') - - ################################################################################ ### OrderedDict ################################################################################ diff --git a/Misc/NEWS.d/next/Library/2020-06-10-12-44-48.bpo-40937.6o7gGK.rst b/Misc/NEWS.d/next/Library/2020-06-10-12-44-48.bpo-40937.6o7gGK.rst new file mode 100644 index 00000000000000..21d25e8d74ced6 --- /dev/null +++ b/Misc/NEWS.d/next/Library/2020-06-10-12-44-48.bpo-40937.6o7gGK.rst @@ -0,0 +1,2 @@ +The abstract base classes in :mod:`collections.abc` no longer are exposed in +the regular :mod:`collections` module.