Closed
Description
Bug Report:
In the below example (playground gist), mypy behaves differently with respect to **kwargs
:
def func(x: bool = False, **kwargs):
print(x, kwargs)
# This is accepted by mypy.
func(y="y")
# This is flagged by mypy.
data = {"y": "y"}
func(**data)
The error is Argument 1 to "func" has incompatible type "**dict[str, str]"; expected "bool" [arg-type]
. This is incorrect because the function has **kwargs
, so the dict / function call should be considered type correct.
Your Environment:
- Mypy version used: latest (1.11.1)
- Mypy command-line flags: -
- Mypy configuration options from
mypy.ini
(and other config files): - - Python version used: 3.12