diff --git a/src/libstd/num/mod.rs b/src/libstd/num/mod.rs index c5510078e3951..7c307c7daf4a5 100644 --- a/src/libstd/num/mod.rs +++ b/src/libstd/num/mod.rs @@ -424,9 +424,13 @@ pub trait Primitive: Clone pub trait Int: Integer + Primitive + Bitwise + + Add + CheckedAdd + + Sub + CheckedSub + + Mul // + CheckedMul // FIXME #8849: currently not impled on 32-bit + + Div + CheckedDiv {} /// Returns the smallest power of 2 greater than or equal to `n`. @@ -1054,19 +1058,19 @@ impl Saturating for T { } } -pub trait CheckedAdd: Add { +pub trait CheckedAdd { fn checked_add(&self, v: &Self) -> Option; } -pub trait CheckedSub: Sub { +pub trait CheckedSub { fn checked_sub(&self, v: &Self) -> Option; } -pub trait CheckedMul: Mul { +pub trait CheckedMul { fn checked_mul(&self, v: &Self) -> Option; } -pub trait CheckedDiv: Div { +pub trait CheckedDiv { fn checked_div(&self, v: &Self) -> Option; }