rules:
- id: eqeq-is-bad
  patterns:
  - pattern-not-inside: assert(...)
  - pattern-either:
    - pattern: $X == $X
    - pattern: $X != $X
  - pattern-not: 1 == 1
  message: useless comparison operation `$X == $X` or `$X != $X`
  languages: [go]
  severity: ERROR
  metadata:
    category: correctness
    technology:
    - go
- id: hardcoded-eq-true-or-false
  message: useless if statement, always the same behavior
  languages: [go]
  severity: ERROR
  pattern-either:
  - pattern: if (true) { ... }
  - pattern: if (false) { ... }
  metadata:
    category: correctness
    technology:
    - go
