diff options
author | yory8 <39745367+yory8@users.noreply.github.com> | 2019-03-20 08:41:16 +0000 |
---|---|---|
committer | Claudiu Popa <pcmanticore@gmail.com> | 2019-03-20 09:41:16 +0100 |
commit | a138a1a8f4bd1ff4ff5718c8b23a9b82c27aef3c (patch) | |
tree | f73920bd7dc6827bd0f84e93af32a411ac37e20f /pylint/test | |
parent | 30b2ae713eb4453b305407772b29ea68d7c3d074 (diff) | |
download | pylint-git-a138a1a8f4bd1ff4ff5718c8b23a9b82c27aef3c.tar.gz |
Add new linter: dict-iter-missing-items
Add a new linter to check against forgotten calls to `.items()` when
iterating through a dictionary in a `for` loop.
Close #2761
Diffstat (limited to 'pylint/test')
-rw-r--r-- | pylint/test/functional/dict_iter_missing_items.py | 23 | ||||
-rw-r--r-- | pylint/test/functional/dict_iter_missing_items.txt | 1 |
2 files changed, 24 insertions, 0 deletions
diff --git a/pylint/test/functional/dict_iter_missing_items.py b/pylint/test/functional/dict_iter_missing_items.py new file mode 100644 index 000000000..333f58990 --- /dev/null +++ b/pylint/test/functional/dict_iter_missing_items.py @@ -0,0 +1,23 @@ +# pylint: disable=invalid-name, consider-iterating-dictionary, missing-docstring, import-error +from unknown import Uninferable + +d = {1: 1, 2: 2} +l = [1, 2] +s1 = {1, 2} +s2 = {1, 2, 3} + +# Positive +for k, v in d: # [dict-iter-missing-items] + pass + +# Negative +for k, v in d.items(): + pass +for k in d.keys(): + pass +for i, v in enumerate(l): + pass +for i, v in s1.intersection(s2): + pass +for k, v in Uninferable: + pass diff --git a/pylint/test/functional/dict_iter_missing_items.txt b/pylint/test/functional/dict_iter_missing_items.txt new file mode 100644 index 000000000..0e939ee33 --- /dev/null +++ b/pylint/test/functional/dict_iter_missing_items.txt @@ -0,0 +1 @@ +dict-iter-missing-items:10::Unpacking a dictionary in iteration without calling .items() |