From 4222b6094ff3893fce350dffbcf7a02794f2bd93 Mon Sep 17 00:00:00 2001 From: LEXUGE Date: Fri, 6 Apr 2018 17:06:33 +0800 Subject: [PATCH] delete the Neg trait bound for CheckedNeg --- src/ops/checked.rs | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/ops/checked.rs b/src/ops/checked.rs index 97a96a5..de9de01 100644 --- a/src/ops/checked.rs +++ b/src/ops/checked.rs @@ -1,4 +1,4 @@ -use core::ops::{Add, Div, Mul, Neg, Rem, Shl, Shr, Sub}; +use core::ops::{Add, Div, Mul, Rem, Shl, Shr, Sub}; /// Performs addition that returns `None` instead of wrapping around on /// overflow. @@ -119,10 +119,16 @@ macro_rules! checked_impl_one_para { } } -pub trait CheckedNeg: Sized + Neg { +pub trait CheckedNeg: Sized { fn checked_neg(&self) -> Option; } +checked_impl_one_para!(CheckedNeg, checked_neg, u8); +checked_impl_one_para!(CheckedNeg, checked_neg, u16); +checked_impl_one_para!(CheckedNeg, checked_neg, u32); +checked_impl_one_para!(CheckedNeg, checked_neg, u64); +checked_impl_one_para!(CheckedNeg, checked_neg, usize); + checked_impl_one_para!(CheckedNeg, checked_neg, i8); checked_impl_one_para!(CheckedNeg, checked_neg, i16); checked_impl_one_para!(CheckedNeg, checked_neg, i32);