Open
Description
Configuraton:
- OS: Arch Linux
- pycodestyle version: 2.6.0
- Python version: 3.8.3
- Installation source: Arch Linux packages
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:
def really_long_name_for_a_function(
very_long_argument_1, very_long_argument_2, /
):
pass
pycodestyle thinks that the slash is a binary operator. I can, however, silence it using a comma after the slash, as follows:
def really_long_name_for_a_function(
very_long_argument_1, very_long_argument_2, /,
):
pass
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).
Metadata
Metadata
Assignees
Labels
No labels
Activity
[-]W504 on PEP570 slash[/-][+]W504: positional only argument at end of long line[/+]asottile commentedon Jul 14, 2020
this also triggers with keyword-only arguments:
[-]W504: positional only argument at end of long line[/-][+]W504: positional only / keyword only argument marker at end of long line[/+]DevilXD commentedon Apr 2, 2021
Just ran into this myself. Simple snippet for reproduction:
sigmavirus24 commentedon Apr 2, 2021
Thanks @DevilXD I think we already had enough examples for reproduction though and don't need further ones.