flake8 E704 Errors Triggered by Inline Ellipsis Formatting in Newer black Versions
camilamacedo86 opened this issue · comments
how did you install flake8?
pip install -r file.txt
With the following versions
black==24.3.0
flake8==7.0.0
Flake8-pyproject==1.2.3
unmodified output of flake8 --bug-report
{
"platform": {
"python_implementation": "CPython",
"python_version": "3.11.8",
"system": "Darwin"
},
"plugins": [
{
"plugin": "Flake8-pyproject",
"version": "1.2.3"
},
{
"plugin": "mccabe",
"version": "0.7.0"
},
{
"plugin": "pycodestyle",
"version": "2.11.1"
},
{
"plugin": "pyflakes",
"version": "3.2.0"
}
],
"version": "7.0.0"
}
describe the problem
what I expected to happen
I expected that updating to newer versions of black would maintain compatibility with flake8 by avoiding the E704: multiple statements on one line (def)
error, consistent with the behavior observed in previous versions.
PS: Earlier versions of black (e.g., 22.6.0
) formatted the ellipsis (...)
on the next line, thereby avoiding the E704 error in flake8.
sample code
Before Update (black==22.6.0)
In the previous version of black, the formatter would automatically place the ellipsis (...)
on a separate line when formatting functions or methods, like so:
def example_function(arg1: int, arg2: str) -> None:
...
After Update (black==24.3.0)
With the update to black version 24.3.0
, the formatting behavior changed. Now, the ellipsis is placed on the same line as the function or method declaration:
def example_function(arg1: int, arg2: str) -> None: ...
commands ran
$ flake8
fileA.py:1440:5: E704 multiple statements on one line (def)
fileB.py:1444:5: E704 multiple statements on one line (def)
fileC.py:52:5: E704 multiple statements on one line (def)
fileD.py:55:5: E704 multiple statements on one line (def)
fileE.py:86:5: E704 multiple statements on one line (def)
fileF.py:90:5: E704 multiple statements on one line (def)
fileG.py:337:5: E704 multiple statements on one line (def)
fileH.py:341:5: E704 multiple statements on one line (def)
Duplicate of #1925