Skip to content

Commit c49f511

Browse files
SparrowLiicuviper
authored andcommitted
fixes MIN
1 parent b29d99b commit c49f511

File tree

1 file changed

+11
-5
lines changed

1 file changed

+11
-5
lines changed

src/ops/euclid.rs

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -106,8 +106,11 @@ rem_euclid_int_impl!(RemEuclid for i8 i16 i32 i64);
106106
rem_euclid_uint_impl!(RemEuclid for isize usize u8 u16 u32 u64);
107107
#[cfg(has_i128)]
108108
div_euclid_int_impl!(DivEuclid for i128);
109+
#[cfg(has_i128)]
109110
div_euclid_uint_impl!(DivEuclid for u128);
111+
#[cfg(has_i128)]
110112
rem_euclid_int_impl!(RemEuclid for i128);
113+
#[cfg(has_i128)]
111114
rem_euclid_uint_impl!(RemEuclid for u128);
112115

113116
#[cfg(any(feature = "std", feature = "libm"))]
@@ -170,7 +173,7 @@ macro_rules! checked_div_euclid_int_impl {
170173
impl $trait_name for $t {
171174
#[inline]
172175
fn checked_div_euclid(self, v: $t) -> Option<$t> {
173-
if v == 0 || (self == Self::MIN && v == -1) {
176+
if v == 0 || (self == Self::min_value() && v == -1) {
174177
None
175178
} else {
176179
Some(DivEuclid::div_euclid(self,v))
@@ -198,7 +201,7 @@ macro_rules! checked_rem_euclid_int_impl {
198201
impl $trait_name for $t {
199202
#[inline]
200203
fn checked_rem_euclid(self, v: $t) -> Option<$t> {
201-
if v == 0 || (self == Self::MIN && v == -1) {
204+
if v == 0 || (self == Self::min_value() && v == -1) {
202205
None
203206
} else {
204207
Some(RemEuclid::rem_euclid(self,v))
@@ -227,8 +230,11 @@ checked_rem_euclid_int_impl!(CheckedRemEuclid for i8 i16 i32 i64);
227230
checked_rem_euclid_uint_impl!(CheckedRemEuclid for isize usize u8 u16 u32 u64);
228231
#[cfg(has_i128)]
229232
checked_div_euclid_int_impl!(CheckedDivEuclid for i128);
233+
#[cfg(has_i128)]
230234
checked_div_euclid_uint_impl!(CheckedDivEuclid for u128);
235+
#[cfg(has_i128)]
231236
checked_rem_euclid_int_impl!(CheckedRemEuclid for i128);
237+
#[cfg(has_i128)]
232238
checked_rem_euclid_uint_impl!(CheckedRemEuclid for u128);
233239

234240
#[cfg(test)]
@@ -265,7 +271,7 @@ mod tests {
265271
assert_eq!(DivEuclid::div_euclid(-x,y),4);
266272
assert_eq!(RemEuclid::rem_euclid(x,y),1);
267273
assert_eq!(RemEuclid::rem_euclid(-x,y),2);
268-
let x: $t = $t::MIN+1;
274+
let x: $t = $t::min_value()+1;
269275
let y: $t = -1;
270276
assert_eq!(DivEuclid::div_euclid(x,y),$t::MAX);
271277
}
@@ -307,8 +313,8 @@ mod tests {
307313
($($t:ident)+) => {
308314
$(
309315
{
310-
assert_eq!(CheckedDivEuclid::checked_div_euclid($t::MIN,-1),None);
311-
assert_eq!(CheckedRemEuclid::checked_rem_euclid($t::MIN,-1),None);
316+
assert_eq!(CheckedDivEuclid::checked_div_euclid($t::min_value(),-1),None);
317+
assert_eq!(CheckedRemEuclid::checked_rem_euclid($t::min_value(),-1),None);
312318
assert_eq!(CheckedDivEuclid::checked_div_euclid(1,0),None);
313319
assert_eq!(CheckedRemEuclid::checked_rem_euclid(1,0),None);
314320
}

0 commit comments

Comments
 (0)