From: Jelle Zijlstra Date: Fri, 4 Apr 2025 13:19:42 +0000 (-0700) Subject: gh-105499: Defer "import warnings" in typing (#132061) X-Git-Tag: v3.14.0a7~79 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=d1db43c139121202898e2d75df43ed2eb06a8470;p=thirdparty%2FPython%2Fcpython.git gh-105499: Defer "import warnings" in typing (#132061) A bunch of other warnings in typing.py were already deferred, but I added a few non-lazy ones. --- diff --git a/Lib/typing.py b/Lib/typing.py index 707c05d50406..6536a97f6e19 100644 --- a/Lib/typing.py +++ b/Lib/typing.py @@ -30,7 +30,6 @@ import operator import sys import types from types import GenericAlias -import warnings from _typing import ( _idfunc, @@ -1626,14 +1625,17 @@ class _TupleType(_SpecialGenericAlias, _root=True): class _UnionGenericAliasMeta(type): def __instancecheck__(self, inst: object) -> bool: + import warnings warnings._deprecated("_UnionGenericAlias", remove=(3, 17)) return isinstance(inst, Union) def __subclasscheck__(self, inst: type) -> bool: + import warnings warnings._deprecated("_UnionGenericAlias", remove=(3, 17)) return issubclass(inst, Union) def __eq__(self, other): + import warnings warnings._deprecated("_UnionGenericAlias", remove=(3, 17)) if other is _UnionGenericAlias or other is Union: return True @@ -1650,6 +1652,7 @@ class _UnionGenericAlias(metaclass=_UnionGenericAliasMeta): """ def __new__(cls, self_cls, parameters, /, *, name=None): + import warnings warnings._deprecated("_UnionGenericAlias", remove=(3, 17)) return Union[parameters]