mirror of
https://fuchsia.googlesource.com/third_party/github.com/pylint-dev/pylint
synced 2024-09-21 16:19:21 +00:00
3228bc4184
This allow users to specify a set of preferred modules that should be used instead of other modules.
90 lines
2.4 KiB
ReStructuredText
90 lines
2.4 KiB
ReStructuredText
**************************
|
|
What's New in Pylint 2.4
|
|
**************************
|
|
|
|
:Release: 2.4
|
|
:Date: TBA
|
|
|
|
|
|
Summary -- Release highlights
|
|
=============================
|
|
|
|
|
|
New checkers
|
|
============
|
|
|
|
* We added a new check message ``dict-iter-missing-items``.
|
|
This is emitted when trying to iterate through a dict in a for loop without calling its .items() method.
|
|
|
|
Closes #2761
|
|
|
|
* We added a new check message ``missing-parentheses-for-call-in-test``.
|
|
This is emitted in case a call to a function is made inside a test but
|
|
it misses parentheses.
|
|
|
|
* A new check ``class-variable-slots-conflict`` was added.
|
|
|
|
This check is emitted when ``pylint`` finds a class variable that conflicts with a slot
|
|
name, which would raise a ``ValueError`` at runtime.
|
|
|
|
For example, the following would raise an error::
|
|
|
|
class A:
|
|
__slots__ = ('first', 'second')
|
|
first = 1
|
|
|
|
* A new check ``preferred-module`` was added.
|
|
|
|
This check is emitted when ``pylint`` finds an imported module that has a
|
|
preferred replacement listed in ``preferred-modules``.
|
|
|
|
For example, you can set the preferred modules as ``xml:defusedxml,json:ujson``
|
|
to make ``pylint`` suggest using ``defusedxml`` instead of ``xml``
|
|
and ``ujson`` rather than ``json``.
|
|
|
|
Other Changes
|
|
=============
|
|
|
|
* ``len-as-condition`` now only fires when a ``len(x)`` call is made without an explicit comparison.
|
|
|
|
The message and description accompanying this checker has been changed
|
|
reflect this new behavior, by explicitly asking to either rely on the
|
|
fact that empty sequence are false or to compare the length with a scalar.
|
|
|
|
OK::
|
|
|
|
if len(x) == 0:
|
|
pass
|
|
|
|
while not len(x) == 0:
|
|
pass
|
|
|
|
assert len(x) > 5, message
|
|
|
|
KO::
|
|
|
|
if not len(x):
|
|
pass
|
|
|
|
while len(x) and other_cond:
|
|
pass
|
|
|
|
assert len(x), message
|
|
|
|
* A file is now read from stdin if the ``--from-stdin`` flag is used on the
|
|
command line. In addition to the ``--from-stdin`` flag a (single) file
|
|
name needs to be specified on the command line, which is needed for the
|
|
report.
|
|
|
|
* The checker for ungrouped imports is now more permissive.
|
|
|
|
The import can now be sorted alphabetically by import style.
|
|
This makes pylint compatible with isort.
|
|
|
|
The following imports do not trigger an ``ungrouped-imports`` anymore ::
|
|
|
|
import unittest
|
|
import zipfile
|
|
from unittest import TestCase
|
|
from unittest.mock import MagicMock
|