Skip to main content

SaturatingAddSigned

Derive Macro SaturatingAddSigned 

Source
#[derive(SaturatingAddSigned)]
{
    // Attributes available to this derive:
    #[saturating_add_signed]
}
Expand description

Implements mkutils::SaturatingAddSigned for a struct by delegating to each field. Supports setting bounds with #[saturating_add_signed(bound = "T: SomeTrait")]

ยงExample

#[derive(SaturatingAddSigned)]
#[saturating_add_signed(assoc(type Signed = usize))]
struct MyStruct(usize);

adds

impl mkutils::SaturatingAddSigned for MyStruct {
    type Signed = usize;

    fn saturating_add_signed(&self, v: &Self::Signed) -> Self {
        Self(self.0.saturating_add_signed(&v.0))
    }
}