Closed
Description
Bug Report
With #12386 an issue was closed, that ParamSpec cannot be used as tuples and dicts. However, enumerate is seen as invalid, even if it works.
To Reproduce
from typing_extensions import ParamSpec
from typing import Callable, TypeVar
P = ParamSpec("P")
R = TypeVar("R")
def foo(func: Callable[P, R]) -> Callable[P, R]:
def _inner(*args: P.args, **kwargs: P.kwargs) -> R:
x = kwargs.pop("x")
y = enumerate(args)
return func(*args, **kwargs)
return _inner
Expected Behavior
It works fine
Actual Behavior
foo.py:10:13: error: Need type annotation for "y" [var-annotated]
y = enumerate(args)
^
foo.py:10:23: error: Argument 1 to "enumerate" has incompatible type "P.args"; expected "Iterable[<nothing>]" [arg-type]
y = enumerate(args)
^
Found 2 errors in 1 file (checked 1 source file)
Your Environment
- Mypy version used: 0.960
- Python version used: 3.7.2
- Operating system and version: SUSE Linux