unnecessary-placeholder (PIE790)
Added in v0.0.208 · Related issues · View source
Derived from the flake8-pie linter.
Fix is always available.
What it does
Checks for unnecessary pass statements and ellipsis (...) literals in
functions, classes, and other blocks.
Why is this bad?
In Python, the pass statement and ellipsis (...) literal serve as
placeholders, allowing for syntactically correct empty code blocks. The
primary purpose of these nodes is to avoid syntax errors in situations
where a statement or expression is syntactically required, but no code
needs to be executed.
If a pass or ellipsis is present in a code block that includes at least
one other statement (even, e.g., a docstring), it is unnecessary and should
be removed.
Example
Use instead:
Or, given:
Use instead:
Fix safety
This rule's fix is marked as unsafe in the rare case that the pass or ellipsis
is followed by a string literal, since removal of the placeholder would convert the
subsequent string literal into a docstring.