From 4ffcbe4b6b0fe214bc9eb99f4189dc15135cfd25 Mon Sep 17 00:00:00 2001 From: Kevin Kirsche Date: Wed, 27 Jul 2022 20:18:16 -0400 Subject: [PATCH 1/2] Fix stdlib/curses.pyi TODO RE: Concatenate usage This merge request updates the `wrapper` `__func` parameter to use ParamSpec and Concatenate to address a todo. --- stdlib/curses/__init__.pyi | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/stdlib/curses/__init__.pyi b/stdlib/curses/__init__.pyi index f80ed442ea9c..9bc78210cef5 100644 --- a/stdlib/curses/__init__.pyi +++ b/stdlib/curses/__init__.pyi @@ -1,12 +1,14 @@ import sys from collections.abc import Callable from typing import Any, TypeVar +from typing_extensions import Concatenate, ParamSpec if sys.platform != "win32": from _curses import * from _curses import _CursesWindow as _CursesWindow _T = TypeVar("_T") + _P = ParamSpec("_P") # available after calling `curses.initscr()` LINES: int @@ -15,6 +17,5 @@ if sys.platform != "win32": # available after calling `curses.start_color()` COLORS: int COLOR_PAIRS: int - # TODO: wait for `Concatenate` support - # def wrapper(__func: Callable[Concatenate[_CursesWindow, _P], _T], *arg: _P.args, **kwds: _P.kwargs) -> _T: ... - def wrapper(__func: Callable[..., _T], *arg: Any, **kwds: Any) -> _T: ... + + def wrapper(__func: Callable[Concatenate[_CursesWindow, _P], _T], *arg: _P.args, **kwds: _P.kwargs) -> _T: ... From 7db91d8c626b1bec9c71b5c1a0ed9c052fcbc8f1 Mon Sep 17 00:00:00 2001 From: Kevin Kirsche Date: Wed, 27 Jul 2022 20:23:29 -0400 Subject: [PATCH 2/2] Fix: flake8 error with unused import --- stdlib/curses/__init__.pyi | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/stdlib/curses/__init__.pyi b/stdlib/curses/__init__.pyi index 9bc78210cef5..db44fa6a6be7 100644 --- a/stdlib/curses/__init__.pyi +++ b/stdlib/curses/__init__.pyi @@ -1,6 +1,6 @@ import sys from collections.abc import Callable -from typing import Any, TypeVar +from typing import TypeVar from typing_extensions import Concatenate, ParamSpec if sys.platform != "win32":