[case testGivingSameKeywordArgumentTwice_no_native_parse]
# This test was originally in check-kwargs.test
# Python 3.9's new parser started producing a different error message here. Since this isn't the
# most important test, to deal with this we'll only run this test with Python 3.9 and later.
import typing
def f(a: 'A', b: 'B') -> None: pass
class A: pass
class B: pass
f(a=A(), b=B(), a=A()) # E: "f" gets multiple values for keyword argument "a"


[case testPEP614]
from typing import Callable, List

decorator_list: List[Callable[..., Callable[[int], str]]]
@decorator_list[0]
def f(x: float) -> float: ...
reveal_type(f)  # N: Revealed type is "def (builtins.int) -> builtins.str"
[builtins fixtures/list.pyi]

[case testStarredExpressionsInForLoop]
a = b = c = [1, 2, 3]
for x in *a, *b, *c:
    reveal_type(x)  # N: Revealed type is "builtins.int"
[builtins fixtures/tuple.pyi]
