python.lang.maintainability.useless-literal.useless-literal
semgrep
Author
unknown
Download Count*
License
key $X
is uselessly assigned twice
Run Locally
Run in CI
Defintion
rules:
- id: useless-literal
message: key `$X` is uselessly assigned twice
languages:
- python
severity: WARNING
patterns:
- pattern-either:
- pattern: |
{..., $X: $A, ..., $X: $B, ...}
- pattern: |
dict(..., ($X, $A), ..., ($X, $B), ...)
- focus-metavariable: $X
metadata:
category: maintainability
references:
- https://docs.python.org/3/library/stdtypes.html#mapping-types-dict
technology:
- python
license: Commons Clause License Condition v1.0[LGPL-2.1-only]
Examples
useless-literal.py
# ruleid: useless-literal
d = dict((1, "a"), (2, "b"), (1, "a"))
d = dict(
# ruleid: useless-literal
(1, "a"),
(2, "b"),
(1, "a"),
)
# ruleid: useless-literal
d = {1: "a", 2: "b", 1: "a"}
d = {
# ruleid: useless-literal
1: "a",
2: "b",
# ruleid: useless-literal
1: "a",
}
# ruleid: useless-literal
d = {"a": 1, "a": 1}
# ok: useless-literal
d = {1: "a", 2: "b", 3: "a"}
Short Link: https://sg.run/Brd2