From d1db43c139121202898e2d75df43ed2eb06a8470 Mon Sep 17 00:00:00 2001 From: Jelle Zijlstra Date: Fri, 4 Apr 2025 06:19:42 -0700 Subject: 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. --- Lib/typing.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/Lib/typing.py b/Lib/typing.py index 707c05d5..6536a97 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] -- cgit v0.12