#[derive(SaturatingAdd)]
{
// Attributes available to this derive:
#[saturating_add]
}
Expand description
Implements num::traits::SaturatingAdd for a struct by delegating to each field.
Supports setting bounds with #[saturating_add(bound = "T: SomeTrait")]
ยงExample
โ
#[derive(Debug, mkutils_macros::SaturatingAdd, PartialEq)]
struct MyStruct(usize, usize);adds
โ
impl num::traits::SaturatingAdd for MyStruct {
fn saturating_add(&self, v: &Self) -> Self {
Self(self.0.saturating_add(&v.0), self.1.saturating_add(&v.1))
}
}as can be seen in
โ
std::assert_eq!(MyStruct(1, 1).saturating_add(MyStruct(2, 2)), MyStruct(3, 3));