diff options
-rw-r--r-- | tests/functional/u/unnecessary/unnecessary_dict_index_lookup.py | 45 | ||||
-rw-r--r-- | tests/functional/u/unnecessary/unnecessary_dict_index_lookup.txt | 46 |
2 files changed, 48 insertions, 43 deletions
diff --git a/tests/functional/u/unnecessary/unnecessary_dict_index_lookup.py b/tests/functional/u/unnecessary/unnecessary_dict_index_lookup.py index 56e65e598..f594d9e0f 100644 --- a/tests/functional/u/unnecessary/unnecessary_dict_index_lookup.py +++ b/tests/functional/u/unnecessary/unnecessary_dict_index_lookup.py @@ -11,20 +11,23 @@ for k, v in a_dict.items(): print(a_dict[k]) # Should not emit warning, v != a_dict[k] for k, v in b_dict.items(): + print(k) k = "another key" print(b_dict[k]) # This is fine, key reassigned # Tests on comprehensions -{v: 1 for k, v in a_dict.items() if a_dict[k]} # [unnecessary-dict-index-lookup] -{v: 1 for k, v in a_dict.items() if k} # This is fine, no indexing -{a_dict[k]: 1 for k, v in a_dict.items() if k} # [unnecessary-dict-index-lookup] -{a_dict[k]: 1 for k, v in a_dict.items() if a_dict[k]} # [unnecessary-dict-index-lookup, unnecessary-dict-index-lookup] +A = {v: 1 for k, v in a_dict.items() if a_dict[k]} # [unnecessary-dict-index-lookup] +B = {v: 1 for k, v in a_dict.items() if k} # This is fine, no indexing +C = {a_dict[k]: 1 for k, v in a_dict.items() if k} # [unnecessary-dict-index-lookup] +# +1: [unnecessary-dict-index-lookup, unnecessary-dict-index-lookup] +D = {a_dict[k]: 1 for k, v in a_dict.items() if a_dict[k]} -[v for k, v in a_dict.items() if a_dict[k]] # [unnecessary-dict-index-lookup] -[v for k, v in a_dict.items() if k] # This is fine, no indexing -[a_dict[k] for k, v in a_dict.items() if k] # [unnecessary-dict-index-lookup] -[a_dict[k] for k, v in a_dict.items() if a_dict[k]] # [unnecessary-dict-index-lookup, unnecessary-dict-index-lookup] +E = [v for k, v in a_dict.items() if a_dict[k]] # [unnecessary-dict-index-lookup] +F = [v for k, v in a_dict.items() if k] # This is fine, no indexing +G = [a_dict[k] for k, v in a_dict.items() if k] # [unnecessary-dict-index-lookup] +# +1: [unnecessary-dict-index-lookup, unnecessary-dict-index-lookup] +H = [a_dict[k] for k, v in a_dict.items() if a_dict[k]] # Tests on dict attribute of a class @@ -35,20 +38,22 @@ class Foo: for k, v in Foo.c_dict.items(): print(b_dict[k]) # Should not emit warning, accessing other dictionary print(Foo.c_dict[k]) # [unnecessary-dict-index-lookup] - unnecessary = 0 # pylint: disable=invalid-name + unnecessary = 0 # pylint: disable=invalid-name unnecessary += Foo.c_dict[k] # [unnecessary-dict-index-lookup] Foo.c_dict[k] += v # key access necessary # Tests on comprehensions -{v: 1 for k, v in Foo.c_dict.items() if Foo.c_dict[k]} # [unnecessary-dict-index-lookup] -{v: 1 for k, v in Foo.c_dict.items() if k} # This is fine, no indexing -{Foo.c_dict[k]: 1 for k, v in Foo.c_dict.items() if k} # [unnecessary-dict-index-lookup] -{Foo.c_dict[k]: 1 for k, v in Foo.c_dict.items() if Foo.c_dict[k]} # [unnecessary-dict-index-lookup, unnecessary-dict-index-lookup] - -[v for k, v in Foo.c_dict.items() if Foo.c_dict[k]] # [unnecessary-dict-index-lookup] -[v for k, v in Foo.c_dict.items() if k] # This is fine, no indexing -[Foo.c_dict[k] for k, v in Foo.c_dict.items() if k] # [unnecessary-dict-index-lookup] -[Foo.c_dict[k] for k, v in Foo.c_dict.items() if Foo.c_dict[k]] # [unnecessary-dict-index-lookup, unnecessary-dict-index-lookup] +S = {v: 1 for k, v in Foo.c_dict.items() if Foo.c_dict[k]} # [unnecessary-dict-index-lookup] +J = {v: 1 for k, v in Foo.c_dict.items() if k} # This is fine, no indexing +K = {Foo.c_dict[k]: 1 for k, v in Foo.c_dict.items() if k} # [unnecessary-dict-index-lookup] +# +1: [unnecessary-dict-index-lookup, unnecessary-dict-index-lookup] +L = {Foo.c_dict[k]: 1 for k, v in Foo.c_dict.items() if Foo.c_dict[k]} + +M = [v for k, v in Foo.c_dict.items() if Foo.c_dict[k]] # [unnecessary-dict-index-lookup] +N = [v for k, v in Foo.c_dict.items() if k] # This is fine, no indexing +T = [Foo.c_dict[k] for k, v in Foo.c_dict.items() if k] # [unnecessary-dict-index-lookup] +# +1: [unnecessary-dict-index-lookup, unnecessary-dict-index-lookup] +P = [Foo.c_dict[k] for k, v in Foo.c_dict.items() if Foo.c_dict[k]] # Test assigning d.items() to a single variable d = {1: "a", 2: "b"} @@ -56,8 +61,8 @@ for item in d.items(): print(item[0]) print(d[item[0]]) # [unnecessary-dict-index-lookup] -[item[0] for item in d.items()] -[d[item[0]] for item in d.items()] # [unnecessary-dict-index-lookup] +Q = [item[0] for item in d.items()] +R = [d[item[0]] for item in d.items()] # [unnecessary-dict-index-lookup] # Reassigning single var for item in d.items(): diff --git a/tests/functional/u/unnecessary/unnecessary_dict_index_lookup.txt b/tests/functional/u/unnecessary/unnecessary_dict_index_lookup.txt index 09ad9b657..6ca3008d0 100644 --- a/tests/functional/u/unnecessary/unnecessary_dict_index_lookup.txt +++ b/tests/functional/u/unnecessary/unnecessary_dict_index_lookup.txt @@ -1,24 +1,24 @@ unnecessary-dict-index-lookup:7:10:7:19::Unnecessary dictionary index lookup, use 'v' instead:UNDEFINED -unnecessary-dict-index-lookup:19:36:19:45::Unnecessary dictionary index lookup, use 'v' instead:UNDEFINED -unnecessary-dict-index-lookup:21:1:21:10::Unnecessary dictionary index lookup, use 'v' instead:UNDEFINED -unnecessary-dict-index-lookup:22:1:22:10::Unnecessary dictionary index lookup, use 'v' instead:UNDEFINED -unnecessary-dict-index-lookup:22:44:22:53::Unnecessary dictionary index lookup, use 'v' instead:UNDEFINED -unnecessary-dict-index-lookup:24:33:24:42::Unnecessary dictionary index lookup, use 'v' instead:UNDEFINED -unnecessary-dict-index-lookup:26:1:26:10::Unnecessary dictionary index lookup, use 'v' instead:UNDEFINED -unnecessary-dict-index-lookup:27:1:27:10::Unnecessary dictionary index lookup, use 'v' instead:UNDEFINED -unnecessary-dict-index-lookup:27:41:27:50::Unnecessary dictionary index lookup, use 'v' instead:UNDEFINED -unnecessary-dict-index-lookup:37:10:37:23::Unnecessary dictionary index lookup, use 'v' instead:UNDEFINED -unnecessary-dict-index-lookup:39:19:39:32::Unnecessary dictionary index lookup, use 'v' instead:UNDEFINED -unnecessary-dict-index-lookup:43:40:43:53::Unnecessary dictionary index lookup, use 'v' instead:UNDEFINED -unnecessary-dict-index-lookup:45:1:45:14::Unnecessary dictionary index lookup, use 'v' instead:UNDEFINED -unnecessary-dict-index-lookup:46:1:46:14::Unnecessary dictionary index lookup, use 'v' instead:UNDEFINED -unnecessary-dict-index-lookup:46:52:46:65::Unnecessary dictionary index lookup, use 'v' instead:UNDEFINED -unnecessary-dict-index-lookup:48:37:48:50::Unnecessary dictionary index lookup, use 'v' instead:UNDEFINED -unnecessary-dict-index-lookup:50:1:50:14::Unnecessary dictionary index lookup, use 'v' instead:UNDEFINED -unnecessary-dict-index-lookup:51:1:51:14::Unnecessary dictionary index lookup, use 'v' instead:UNDEFINED -unnecessary-dict-index-lookup:51:49:51:62::Unnecessary dictionary index lookup, use 'v' instead:UNDEFINED -unnecessary-dict-index-lookup:57:10:57:20::Unnecessary dictionary index lookup, use 'item[1]' instead:UNDEFINED -unnecessary-dict-index-lookup:60:1:60:11::Unnecessary dictionary index lookup, use 'item[1]' instead:UNDEFINED -unnecessary-dict-index-lookup:65:10:65:20::Unnecessary dictionary index lookup, use 'item[1]' instead:UNDEFINED -unnecessary-dict-index-lookup:82:14:82:18::Unnecessary dictionary index lookup, use '_' instead:UNDEFINED -unnecessary-dict-index-lookup:101:12:101:27::Unnecessary dictionary index lookup, use 'val' instead:UNDEFINED +unnecessary-dict-index-lookup:20:40:20:49::Unnecessary dictionary index lookup, use 'v' instead:UNDEFINED +unnecessary-dict-index-lookup:22:5:22:14::Unnecessary dictionary index lookup, use 'v' instead:UNDEFINED +unnecessary-dict-index-lookup:24:5:24:14::Unnecessary dictionary index lookup, use 'v' instead:UNDEFINED +unnecessary-dict-index-lookup:24:48:24:57::Unnecessary dictionary index lookup, use 'v' instead:UNDEFINED +unnecessary-dict-index-lookup:26:37:26:46::Unnecessary dictionary index lookup, use 'v' instead:UNDEFINED +unnecessary-dict-index-lookup:28:5:28:14::Unnecessary dictionary index lookup, use 'v' instead:UNDEFINED +unnecessary-dict-index-lookup:30:5:30:14::Unnecessary dictionary index lookup, use 'v' instead:UNDEFINED +unnecessary-dict-index-lookup:30:45:30:54::Unnecessary dictionary index lookup, use 'v' instead:UNDEFINED +unnecessary-dict-index-lookup:40:10:40:23::Unnecessary dictionary index lookup, use 'v' instead:UNDEFINED +unnecessary-dict-index-lookup:42:19:42:32::Unnecessary dictionary index lookup, use 'v' instead:UNDEFINED +unnecessary-dict-index-lookup:46:44:46:57::Unnecessary dictionary index lookup, use 'v' instead:UNDEFINED +unnecessary-dict-index-lookup:48:5:48:18::Unnecessary dictionary index lookup, use 'v' instead:UNDEFINED +unnecessary-dict-index-lookup:50:5:50:18::Unnecessary dictionary index lookup, use 'v' instead:UNDEFINED +unnecessary-dict-index-lookup:50:56:50:69::Unnecessary dictionary index lookup, use 'v' instead:UNDEFINED +unnecessary-dict-index-lookup:52:41:52:54::Unnecessary dictionary index lookup, use 'v' instead:UNDEFINED +unnecessary-dict-index-lookup:54:5:54:18::Unnecessary dictionary index lookup, use 'v' instead:UNDEFINED +unnecessary-dict-index-lookup:56:5:56:18::Unnecessary dictionary index lookup, use 'v' instead:UNDEFINED +unnecessary-dict-index-lookup:56:53:56:66::Unnecessary dictionary index lookup, use 'v' instead:UNDEFINED +unnecessary-dict-index-lookup:62:10:62:20::Unnecessary dictionary index lookup, use 'item[1]' instead:UNDEFINED +unnecessary-dict-index-lookup:65:5:65:15::Unnecessary dictionary index lookup, use 'item[1]' instead:UNDEFINED +unnecessary-dict-index-lookup:70:10:70:20::Unnecessary dictionary index lookup, use 'item[1]' instead:UNDEFINED +unnecessary-dict-index-lookup:87:14:87:18::Unnecessary dictionary index lookup, use '_' instead:UNDEFINED +unnecessary-dict-index-lookup:106:12:106:27::Unnecessary dictionary index lookup, use 'val' instead:UNDEFINED |