Anders Hovmöller <[email protected]> added the comment:
For `foo(a, /, b)`, it could be:
"TypeError: foo() missing 1 required argument 'a', and one required positional
argument 'b'.
If we start on this road there are some more, like for `def foo(a, *, b)` you
get the error "TypeError: foo() missing 1 required positional argument: 'a'"
which leaves out that the keyword only argument is also required.
Another solution would be something like:
TypeError: foo() missing 3 required arguments: 'a' (positional only), 'b', 'c'
(keyword only)
This solution scales to the worst complex cases, and is a lot clearer imo.
Could even be further improved with some nicer formatting:
TypeError: foo() missing 3 required arguments:
'a' (positional only)
'b'
'c' (keyword only)
But that might be a bit overkill :)
----------
_______________________________________
Python tracker <[email protected]>
<https://bugs.python.org/issue46637>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe:
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com