rules:
- id: useless-literal-dict
  message: key `$X` is uselessly assigned twice
  languages: [python]
  severity: WARNING
  pattern-either:
  - pattern: |
      {..., $X: $A, ..., $X: $B, ...}
  - pattern: |
      dict(..., ($X, $A), ..., ($X, $B), ...)
  metadata:
    category: maintainability
    technology:
    - python
- id: useless-literal-set
  pattern: |
    set(..., ($X, $A), ..., ($X, $B), ...)
  message: '`$X` is uselessly assigned twice inside the creation of the set'
  languages: [python]
  severity: ERROR
  metadata:
    category: maintainability
    technology:
    - python
