diff --git a/traits/src/ops/wrapping.rs b/traits/src/ops/wrapping.rs index 699405d..40b266d 100644 --- a/traits/src/ops/wrapping.rs +++ b/traits/src/ops/wrapping.rs @@ -75,3 +75,14 @@ wrapping_impl!(WrappingMul, wrapping_mul, i16); wrapping_impl!(WrappingMul, wrapping_mul, i32); wrapping_impl!(WrappingMul, wrapping_mul, i64); wrapping_impl!(WrappingMul, wrapping_mul, isize); + + +#[test] +fn test_wrapping_traits() { + fn wrapping_add(a: T, b: T) -> T { a.wrapping_add(&b) } + fn wrapping_sub(a: T, b: T) -> T { a.wrapping_sub(&b) } + fn wrapping_mul(a: T, b: T) -> T { a.wrapping_mul(&b) } + assert_eq!(wrapping_add(255, 1), 0u8); + assert_eq!(wrapping_sub(0, 1), 255u8); + assert_eq!(wrapping_mul(255, 2), 254u8); +}