bpo-25988: Do not expose abstract collection classes in the collections module. (GH-10596)
This commit is contained in:
parent
9e71917e02
commit
ef092fe990
|
@ -195,6 +195,11 @@ Deprecated
|
||||||
Removed
|
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.
|
||||||
|
|
||||||
* The undocumented ``sys.callstats()`` function has been removed. Since Python
|
* The undocumented ``sys.callstats()`` function has been removed. Since Python
|
||||||
3.7, it was deprecated and always returned :const:`None`. It required a special
|
3.7, it was deprecated and always returned :const:`None`. It required a special
|
||||||
build option ``CALL_PROFILE`` which was already removed in Python 3.7.
|
build option ``CALL_PROFILE`` which was already removed in Python 3.7.
|
||||||
|
|
|
@ -39,21 +39,6 @@ except ImportError:
|
||||||
pass
|
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.9 it will stop working",
|
|
||||||
DeprecationWarning, stacklevel=2)
|
|
||||||
globals()[name] = obj
|
|
||||||
return obj
|
|
||||||
raise AttributeError(f'module {__name__!r} has no attribute {name!r}')
|
|
||||||
|
|
||||||
################################################################################
|
################################################################################
|
||||||
### OrderedDict
|
### OrderedDict
|
||||||
################################################################################
|
################################################################################
|
||||||
|
|
|
@ -0,0 +1,2 @@
|
||||||
|
The abstract base classes in :mod:`collections.abc` no longer are exposed in
|
||||||
|
the regular :mod:`collections` module.
|
Loading…
Reference in New Issue