Safe arithmetic on integers, avoiding overflow and division by zero.
Rust's built-in checked_add
, checked_mul
, etc. return Option<T>
, which requires you to manually
handle None
cases without context about what went wrong. This crate provides:
- Explicit errors: Returns
Result<T, ArithError>
with explicitOverflow
andDivisionByZero
variants - Assignment operators: Methods like
safe_add_assign
that mutate in place - Iterator support:
safe_sum()
method for safely summing iterators without overflow