Skip to contents

!(x == y) is more readably expressed as x != y. The same is true of other negations of simple comparisons like !(x > y) and !(x <= y).

Usage

comparison_negation_linter()

See also

linters for a complete list of linters available in lintr.

Examples

# will produce lints
lint(
  text = "!x == 2",
  linters = comparison_negation_linter()
)
#> ::warning file=<text>,line=1,col=1::file=<text>,line=1,col=1,[comparison_negation_linter] Use x != y, not !(x == y).

lint(
  text = "!(x > 2)",
  linters = comparison_negation_linter()
)
#> ::warning file=<text>,line=1,col=1::file=<text>,line=1,col=1,[comparison_negation_linter] Use x <= y, not !(x > y).

# okay
lint(
  text = "!(x == 2 & y > 2)",
  linters = comparison_negation_linter()
)

lint(
  text = "!(x & y)",
  linters = comparison_negation_linter()
)

lint(
  text = "x != 2",
  linters = comparison_negation_linter()
)