## `checked_sum`
[](https://crates.io/crates/checked_sum)
[](https://docs.rs/checked_sum)
[](LICENSE)
Utility crate for summing up iterators in a safe way. The `CheckedSum`
trait is implemented for any iterator of items implementing `CheckedAdd`,
which in turn is implemented for all integer primitives but can also be
implemented for other types like newtypes wrapping integers.
```rust
use checked_sum::CheckedSum;
// If the sum fits into the type, it is returned
let numbers = vec![1u8, 2, 3, 4, 5];
assert_eq!(numbers.into_iter().checked_sum(), Some(15),);
// If the sum overflows, `None` is returned
let numbers = vec![255u8, 1];
assert_eq!(numbers.into_iter().checked_sum(), None,);
```