From 9a7b286c66bbaba510f50085825c0132123386ec Mon Sep 17 00:00:00 2001 From: Ran Benita Date: Wed, 24 Jul 2019 22:46:23 +0300 Subject: [PATCH] warnings: ignore the type of category when message is a Warning (#3121) --- stdlib/2and3/warnings.pyi | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/stdlib/2and3/warnings.pyi b/stdlib/2and3/warnings.pyi index a44e43e01..4d7419edb 100644 --- a/stdlib/2and3/warnings.pyi +++ b/stdlib/2and3/warnings.pyi @@ -1,11 +1,19 @@ # Stubs for warnings -from typing import Any, Dict, List, NamedTuple, Optional, TextIO, Tuple, Type, Union +from typing import Any, Dict, List, NamedTuple, Optional, overload, TextIO, Tuple, Type, Union from types import ModuleType, TracebackType -def warn(message: Union[str, Warning], category: Optional[Type[Warning]] = ..., - stacklevel: int = ...) -> None: ... -def warn_explicit(message: Union[str, Warning], category: Type[Warning], +@overload +def warn(message: str, category: Optional[Type[Warning]] = ..., stacklevel: int = ...) -> None: ... +@overload +def warn(message: Warning, category: Any = ..., stacklevel: int = ...) -> None: ... +@overload +def warn_explicit(message: str, category: Type[Warning], + filename: str, lineno: int, module: Optional[str] = ..., + registry: Optional[Dict[Union[str, Tuple[str, Type[Warning], int]], int]] = ..., + module_globals: Optional[Dict[str, Any]] = ...) -> None: ... +@overload +def warn_explicit(message: Warning, category: Any, filename: str, lineno: int, module: Optional[str] = ..., registry: Optional[Dict[Union[str, Tuple[str, Type[Warning], int]], int]] = ..., module_globals: Optional[Dict[str, Any]] = ...) -> None: ...