-
Notifications
You must be signed in to change notification settings - Fork 752
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
W504: positional only / keyword only argument marker at end of long line #951
Comments
asottile
changed the title
W504 on PEP570 slash
W504: positional only argument at end of long line
Jul 14, 2020
this also triggers with keyword-only arguments: $ cat t.py
def really_long_name_for_a_function(
very_long_argument_1, very_long_argument_2, *
):
pass
$ ~/opt/venv/bin/pycodestyle t.py --select=W503,W504
t.py:2:49: W504 line break after binary operator |
asottile
changed the title
W504: positional only argument at end of long line
W504: positional only / keyword only argument marker at end of long line
Jul 14, 2020
Just ran into this myself. Simple snippet for reproduction: def func1(arg1, arg2, arg3, /): # no error
pass
def func2(
arg1, arg2, arg3, / # W504 line break after binary operator
):
pass |
Thanks @DevilXD I think we already had enough examples for reproduction though and don't need further ones. |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Configuraton:
W504 (line break after binary operator) shows up when the slash that indicates positional-only arguments (PEP 570) is followed by a newline. For example:
pycodestyle thinks that the slash is a binary operator. I can, however, silence it using a comma after the slash, as follows:
I think this is an issue, as the slash isn't a binary operator, and the comma seems like a workaround for arguments on a single line than good practice (at least in this case).
The text was updated successfully, but these errors were encountered: