| Crates.io | checked_sum |
| lib.rs | checked_sum |
| version | 0.1.0 |
| created_at | 2024-10-25 09:21:45.458163+00 |
| updated_at | 2024-10-25 09:21:45.458163+00 |
| description | A library safely summing up iterators. |
| homepage | |
| repository | https://github.com/elsirion/checked_sum |
| max_upload_size | |
| id | 1422266 |
| size | 6,501 |
checked_sumUtility 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.
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,);