diff --git a/Doc/whatsnew/3.11.rst b/Doc/whatsnew/3.11.rst index cc358b4ffdb..354e2112338 100644 --- a/Doc/whatsnew/3.11.rst +++ b/Doc/whatsnew/3.11.rst @@ -851,6 +851,7 @@ Deprecated * :mod:`cgi` * :mod:`cgitb` * :mod:`chunk` + * :mod:`crypt` (Contributed by Brett Cannon in :issue:`47061`.) diff --git a/Lib/crypt.py b/Lib/crypt.py index 33dbc46bb3e..46c3de8474b 100644 --- a/Lib/crypt.py +++ b/Lib/crypt.py @@ -12,10 +12,14 @@ except ModuleNotFoundError: import errno import string as _string +import warnings from random import SystemRandom as _SystemRandom from collections import namedtuple as _namedtuple +warnings._deprecated(__name__, remove=(3, 13)) + + _saltchars = _string.ascii_letters + _string.digits + './' _sr = _SystemRandom() diff --git a/Lib/test/test_crypt.py b/Lib/test/test_crypt.py index 877c575c553..b2a5ce6db09 100644 --- a/Lib/test/test_crypt.py +++ b/Lib/test/test_crypt.py @@ -1,12 +1,12 @@ import sys import unittest -from test.support import check_sanitizer +from test.support import check_sanitizer, warnings_helper try: if check_sanitizer(address=True, memory=True): raise unittest.SkipTest("The crypt module SEGFAULTs on ASAN/MSAN builds") - import crypt + crypt = warnings_helper.import_deprecated("crypt") IMPORT_ERROR = None except ImportError as ex: if sys.platform != 'win32': diff --git a/Misc/NEWS.d/next/Library/2022-04-11-16-13-26.gh-issue-91217.2rf8rc.rst b/Misc/NEWS.d/next/Library/2022-04-11-16-13-26.gh-issue-91217.2rf8rc.rst new file mode 100644 index 00000000000..067783f85c2 --- /dev/null +++ b/Misc/NEWS.d/next/Library/2022-04-11-16-13-26.gh-issue-91217.2rf8rc.rst @@ -0,0 +1 @@ +Deprecate the crypt module.