### What it does
Checks for operations where precedence may be unclear
and suggests to add parentheses. Currently it catches the following:
* mixed usage of arithmetic and bit shifting/combining operators without
parentheses
* a "negative" numeric literal (which is really a unary `-` followed by a
numeric literal)
  followed by a method call

### Why is this bad?
Not everyone knows the precedence of those operators by
heart, so expressions like these may trip others trying to reason about the
code.

### Example
* `1 << 2 + 3` equals 32, while `(1 << 2) + 3` equals 7
* `-1i32.abs()` equals -1, while `(-1i32).abs()` equals 1