mirror of
https://github.com/python/cpython.git
synced 2025-08-09 03:19:15 +00:00
Co-authored-by: Alex Waygood <Alex.Waygood@Gmail.com>
This commit is contained in:
parent
f383ca1a6f
commit
83c7dd5200
3 changed files with 16 additions and 2 deletions
|
@ -8123,6 +8123,17 @@ class RETests(BaseTestCase):
|
||||||
self.assertEqual(__name__, 'typing.re')
|
self.assertEqual(__name__, 'typing.re')
|
||||||
self.assertEqual(len(w), 1)
|
self.assertEqual(len(w), 1)
|
||||||
|
|
||||||
|
def test_re_submodule_access_basics(self):
|
||||||
|
with warnings.catch_warnings():
|
||||||
|
warnings.filterwarnings("error", category=DeprecationWarning)
|
||||||
|
from typing import re
|
||||||
|
self.assertIsInstance(re.__doc__, str)
|
||||||
|
self.assertEqual(re.__name__, "typing.re")
|
||||||
|
self.assertIsInstance(re.__dict__, types.MappingProxyType)
|
||||||
|
|
||||||
|
with self.assertWarns(DeprecationWarning):
|
||||||
|
re.Match
|
||||||
|
|
||||||
def test_cannot_subclass(self):
|
def test_cannot_subclass(self):
|
||||||
with self.assertRaisesRegex(
|
with self.assertRaisesRegex(
|
||||||
TypeError,
|
TypeError,
|
||||||
|
|
|
@ -3256,11 +3256,11 @@ class TextIO(IO[str]):
|
||||||
|
|
||||||
class _DeprecatedType(type):
|
class _DeprecatedType(type):
|
||||||
def __getattribute__(cls, name):
|
def __getattribute__(cls, name):
|
||||||
if name not in ("__dict__", "__module__") and name in cls.__dict__:
|
if name not in {"__dict__", "__module__", "__doc__"} and name in cls.__dict__:
|
||||||
warnings.warn(
|
warnings.warn(
|
||||||
f"{cls.__name__} is deprecated, import directly "
|
f"{cls.__name__} is deprecated, import directly "
|
||||||
f"from typing instead. {cls.__name__} will be removed "
|
f"from typing instead. {cls.__name__} will be removed "
|
||||||
"in Python 3.12.",
|
"in Python 3.13.",
|
||||||
DeprecationWarning,
|
DeprecationWarning,
|
||||||
stacklevel=2,
|
stacklevel=2,
|
||||||
)
|
)
|
||||||
|
|
|
@ -0,0 +1,3 @@
|
||||||
|
A :exc:`DeprecationWarning` is no longer omitted on access to the
|
||||||
|
``__doc__`` attributes of the deprecated ``typing.io`` and ``typing.re``
|
||||||
|
pseudo-modules.
|
Loading…
Add table
Add a link
Reference in a new issue