From 9dcdb6f99c760dd17aaf4b0c852041dc7e554636 Mon Sep 17 00:00:00 2001 From: Shantanu <12621235+hauntsaninja@users.noreply.github.com> Date: Sun, 2 May 2021 06:23:37 -0700 Subject: [PATCH] os.path: add strict to realpath in py310 (#5297) --- stdlib/os/path.pyi | 28 ++++++++++++++++++++-------- 1 file changed, 20 insertions(+), 8 deletions(-) diff --git a/stdlib/os/path.pyi b/stdlib/os/path.pyi index 2fcbe12f8..a8b30eb71 100644 --- a/stdlib/os/path.pyi +++ b/stdlib/os/path.pyi @@ -54,16 +54,28 @@ def normpath(path: PathLike[AnyStr]) -> AnyStr: ... def normpath(path: AnyStr) -> AnyStr: ... if sys.platform == "win32": - @overload - def realpath(path: PathLike[AnyStr]) -> AnyStr: ... - @overload - def realpath(path: AnyStr) -> AnyStr: ... + if sys.version_info >= (3, 10): + @overload + def realpath(path: PathLike[AnyStr], *, strict: bool = ...) -> AnyStr: ... + @overload + def realpath(path: AnyStr, *, strict: bool = ...) -> AnyStr: ... + else: + @overload + def realpath(path: PathLike[AnyStr]) -> AnyStr: ... + @overload + def realpath(path: AnyStr) -> AnyStr: ... else: - @overload - def realpath(filename: PathLike[AnyStr]) -> AnyStr: ... - @overload - def realpath(filename: AnyStr) -> AnyStr: ... + if sys.version_info >= (3, 10): + @overload + def realpath(filename: PathLike[AnyStr], *, strict: bool = ...) -> AnyStr: ... + @overload + def realpath(filename: AnyStr, *, strict: bool = ...) -> AnyStr: ... + else: + @overload + def realpath(filename: PathLike[AnyStr]) -> AnyStr: ... + @overload + def realpath(filename: AnyStr) -> AnyStr: ... # In reality it returns str for sequences of StrPath and bytes for sequences # of BytesPath, but mypy does not accept such a signature.