]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
gh-105499: Defer "import warnings" in typing (#132061)
authorJelle Zijlstra <jelle.zijlstra@gmail.com>
Fri, 4 Apr 2025 13:19:42 +0000 (06:19 -0700)
committerGitHub <noreply@github.com>
Fri, 4 Apr 2025 13:19:42 +0000 (06:19 -0700)
A bunch of other warnings in typing.py were already deferred, but
I added a few non-lazy ones.

Lib/typing.py

index 707c05d504065ce4465de70b3a3a6239b703e7aa..6536a97f6e1910e6d7ecb3f5a1cbce80f9140f75 100644 (file)
@@ -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]