QUERY · ISSUE
Calling method with multiple named arguments does not raise SyntaxError
bugpy-core
It actually fixes a bug unrelated to double ** usage. Eg the following would previously pass without error:
def f(**x):
print(x)
f(a=1, a=2)
Can you please add a test for that case as well?
Originally posted by @dpgeorge in https://github.com/micropython/micropython/issues/10095#issuecomment-1328186336
CANDIDATE · ISSUE
Repeated keyword argument should cause SyntaxError, not TypeError
bug
CPython:
>>> def f(x): pass
...
>>> f(x=1, x=1)
File "<stdin>", line 1
SyntaxError: keyword argument repeated
MicroPython:
>>> def f(x): pass
...
>>> f(x=1, x=1)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: function got multiple values for argument 'x'
Nitpicky? Yes. But I doubt fixing this would change code size, so...
See also #466. I would have submitted a patch instead of an issue, but it looks like that exception can be raised from two different places, and I don't know the difference.
Thanks,
Alex