What's new in Pylint 3.2.1?
Release date: 2024-05-18
False Positives Fixed
-
Exclude if/else branches containing terminating functions (e.g.
sys.exit()
)
frompossibly-used-before-assignment
checks.Closes #9627
-
Don't emit
typevar-name-incorrect-variance
warnings for PEP 695 style TypeVars.
The variance is inferred automatically by the type checker.
Adding_co
or_contra
suffix can help to reason about TypeVar.Refs #9638
-
Fix a false positive for
possibly-used-before-assignment
when using
typing.assert_never()
(3.11+) to indicate exhaustiveness.Closes #9643
Other Bug Fixes
-
Fix a false negative for
--ignore-patterns
when the directory to be linted is specified using a dot(.
) and all files are ignored instead of only the files whose name begin with a dot.Closes #9273
-
Restore "errors / warnings by module" section to report output (with
-ry
).Closes #9145
-
trailing-comma-tuple
should now be correctly emitted when it was disabled globally
but enabled via local message control, after removal of an over-optimisation.Refs #9608
-
Add
--prefer-stubs=yes
option to opt-in to the astroid 3.2 feature
that prefers.pyi
stubs over same-named.py
files. This has the
potential to reduceno-member
errors but at the cost of more errors
such asnot-an-iterable
from function bodies appearing as...
.Defaults to
no
.
Internal Changes
-
Update astroid version to 3.2.1. This solves some reports of
RecursionError
and also makes the prefer .pyi stubs feature in astroid 3.2.0 opt-in
with the aforementioned--prefer-stubs=y
option.Refs #9139