rust/src/docs/integer_arithmetic.txt
2022-09-02 22:17:39 +02:00

18 lines
No EOL
663 B
Text

### What it does
Checks for integer arithmetic operations which could overflow or panic.
Specifically, checks for any operators (`+`, `-`, `*`, `<<`, etc) which are capable
of overflowing according to the [Rust
Reference](https://doc.rust-lang.org/reference/expressions/operator-expr.html#overflow),
or which can panic (`/`, `%`). No bounds analysis or sophisticated reasoning is
attempted.
### Why is this bad?
Integer overflow will trigger a panic in debug builds or will wrap in
release mode. Division by zero will cause a panic in either mode. In some applications one
wants explicitly checked, wrapping or saturating arithmetic.
### Example
```
a + 1;
```