diff --git a/src/adaptors/coalesce.rs b/src/adaptors/coalesce.rs index 5ee321aad..1e3fa6054 100644 --- a/src/adaptors/coalesce.rs +++ b/src/adaptors/coalesce.rs @@ -74,9 +74,9 @@ where fn size_hint(&self) -> (usize, Option) { let (low, hi) = size_hint::add_scalar( self.iter.size_hint(), - matches!(self.last, Some(Some(_))) as usize, + usize::from(matches!(self.last, Some(Some(_)))), ); - ((low > 0) as usize, hi) + (usize::from(low > 0), hi) } fn fold(self, acc: Acc, mut fn_acc: FnAcc) -> Acc diff --git a/src/adaptors/mod.rs b/src/adaptors/mod.rs index 8fca0cfc5..b5c0d42b1 100644 --- a/src/adaptors/mod.rs +++ b/src/adaptors/mod.rs @@ -300,11 +300,11 @@ where #[inline] fn size_hint(&self) -> (usize, Option) { // Not ExactSizeIterator because size may be larger than usize - size_hint::add_scalar(self.iter.size_hint(), self.top.is_some() as usize) + size_hint::add_scalar(self.iter.size_hint(), usize::from(self.top.is_some())) } fn count(self) -> usize { - self.iter.count() + (self.top.is_some() as usize) + self.iter.count() + usize::from(self.top.is_some()) } fn last(self) -> Option { diff --git a/src/kmerge_impl.rs b/src/kmerge_impl.rs index 2495cf782..e40f8077e 100644 --- a/src/kmerge_impl.rs +++ b/src/kmerge_impl.rs @@ -80,7 +80,7 @@ where while child + 1 < heap.len() { // pick the smaller of the two children // use arithmetic to avoid an unpredictable branch - child += less_than(&heap[child + 1], &heap[child]) as usize; + child += usize::from(less_than(&heap[child + 1], &heap[child])); // sift down is done if we are already in order if !less_than(&heap[child], &heap[pos]) { diff --git a/src/unique_impl.rs b/src/unique_impl.rs index 0f6397e48..eb8d32071 100644 --- a/src/unique_impl.rs +++ b/src/unique_impl.rs @@ -68,7 +68,7 @@ where #[inline] fn size_hint(&self) -> (usize, Option) { let (low, hi) = self.iter.size_hint(); - ((low > 0 && self.used.is_empty()) as usize, hi) + (usize::from(low > 0 && self.used.is_empty()), hi) } fn count(self) -> usize { @@ -119,7 +119,7 @@ where #[inline] fn size_hint(&self) -> (usize, Option) { let (low, hi) = self.iter.iter.size_hint(); - ((low > 0 && self.iter.used.is_empty()) as usize, hi) + (usize::from(low > 0 && self.iter.used.is_empty()), hi) } fn count(self) -> usize { diff --git a/tests/quick.rs b/tests/quick.rs index 674848512..d3dd44ead 100644 --- a/tests/quick.rs +++ b/tests/quick.rs @@ -1064,7 +1064,7 @@ quickcheck! { let tup1 = |(_, b)| b; for &(ord, consume_now) in &order { - let iter = &mut [&mut chunks1, &mut chunks2][ord as usize]; + let iter = &mut [&mut chunks1, &mut chunks2][usize::from(ord)]; match iter.next() { Some((_, gr)) => if consume_now { for og in old_chunks.drain(..) { @@ -1422,9 +1422,9 @@ quickcheck! { } fn correct_grouping_map_by_aggregate_modulo_key(a: Vec, modulo: u8) -> () { - let modulo = if modulo < 2 { 2 } else { modulo } as u64; // Avoid `% 0` + let modulo = u64::from(if modulo < 2 { 2 } else { modulo }); // Avoid `% 0` let lookup = a.iter() - .map(|&b| b as u64) // Avoid overflows + .map(|&b| u64::from(b)) // Avoid overflows .into_grouping_map_by(|i| i % modulo) .aggregate(|acc, &key, val| { assert!(val % modulo == key); @@ -1436,7 +1436,7 @@ quickcheck! { }); let group_map_lookup = a.iter() - .map(|&b| b as u64) + .map(|&b| u64::from(b)) .map(|i| (i % modulo, i)) .into_group_map() .into_iter() @@ -1456,7 +1456,7 @@ quickcheck! { assert_eq!( lookup.get(&m).copied(), a.iter() - .map(|&b| b as u64) + .map(|&b| u64::from(b)) .filter(|&val| val % modulo == m) .fold(None, |acc, val| { if val % (modulo - 1) == 0 { @@ -1475,8 +1475,8 @@ quickcheck! { acc: u64, } - let modulo = if modulo == 0 { 1 } else { modulo } as u64; // Avoid `% 0` - let lookup = a.iter().map(|&b| b as u64) // Avoid overflows + let modulo = u64::from(if modulo == 0 { 1 } else { modulo }); // Avoid `% 0` + let lookup = a.iter().map(|&b| u64::from(b)) // Avoid overflows .into_grouping_map_by(|i| i % modulo) .fold_with(|_key, _val| Default::default(), |Accumulator { acc }, &key, val| { assert!(val % modulo == key); @@ -1485,7 +1485,7 @@ quickcheck! { }); let group_map_lookup = a.iter() - .map(|&b| b as u64) + .map(|&b| u64::from(b)) .map(|i| (i % modulo, i)) .into_group_map() .into_iter() @@ -1494,13 +1494,13 @@ quickcheck! { assert_eq!(lookup, group_map_lookup); for (&key, &Accumulator { acc: sum }) in lookup.iter() { - assert_eq!(sum, a.iter().map(|&b| b as u64).filter(|&val| val % modulo == key).sum::()); + assert_eq!(sum, a.iter().map(|&b| u64::from(b)).filter(|&val| val % modulo == key).sum::()); } } fn correct_grouping_map_by_fold_modulo_key(a: Vec, modulo: u8) -> () { - let modulo = if modulo == 0 { 1 } else { modulo } as u64; // Avoid `% 0` - let lookup = a.iter().map(|&b| b as u64) // Avoid overflows + let modulo = u64::from(if modulo == 0 { 1 } else { modulo }); // Avoid `% 0` + let lookup = a.iter().map(|&b| u64::from(b)) // Avoid overflows .into_grouping_map_by(|i| i % modulo) .fold(0u64, |acc, &key, val| { assert!(val % modulo == key); @@ -1508,7 +1508,7 @@ quickcheck! { }); let group_map_lookup = a.iter() - .map(|&b| b as u64) + .map(|&b| u64::from(b)) .map(|i| (i % modulo, i)) .into_group_map() .into_iter() @@ -1517,13 +1517,13 @@ quickcheck! { assert_eq!(lookup, group_map_lookup); for (&key, &sum) in lookup.iter() { - assert_eq!(sum, a.iter().map(|&b| b as u64).filter(|&val| val % modulo == key).sum::()); + assert_eq!(sum, a.iter().map(|&b| u64::from(b)).filter(|&val| val % modulo == key).sum::()); } } fn correct_grouping_map_by_reduce_modulo_key(a: Vec, modulo: u8) -> () { - let modulo = if modulo == 0 { 1 } else { modulo } as u64; // Avoid `% 0` - let lookup = a.iter().map(|&b| b as u64) // Avoid overflows + let modulo = u64::from(if modulo == 0 { 1 } else { modulo }); // Avoid `% 0` + let lookup = a.iter().map(|&b| u64::from(b)) // Avoid overflows .into_grouping_map_by(|i| i % modulo) .reduce(|acc, &key, val| { assert!(val % modulo == key); @@ -1531,7 +1531,7 @@ quickcheck! { }); let group_map_lookup = a.iter() - .map(|&b| b as u64) + .map(|&b| u64::from(b)) .map(|i| (i % modulo, i)) .into_group_map() .into_iter() @@ -1540,7 +1540,7 @@ quickcheck! { assert_eq!(lookup, group_map_lookup); for (&key, &sum) in lookup.iter() { - assert_eq!(sum, a.iter().map(|&b| b as u64).filter(|&val| val % modulo == key).sum::()); + assert_eq!(sum, a.iter().map(|&b| u64::from(b)).filter(|&val| val % modulo == key).sum::()); } } @@ -1706,12 +1706,12 @@ quickcheck! { } fn correct_grouping_map_by_sum_modulo_key(a: Vec, modulo: u8) -> () { - let modulo = if modulo == 0 { 1 } else { modulo } as u64; // Avoid `% 0` - let lookup = a.iter().map(|&b| b as u64) // Avoid overflows + let modulo = u64::from(if modulo == 0 { 1 } else { modulo }); // Avoid `% 0` + let lookup = a.iter().map(|&b| u64::from(b)) // Avoid overflows .into_grouping_map_by(|i| i % modulo) .sum(); - let group_map_lookup = a.iter().map(|&b| b as u64) + let group_map_lookup = a.iter().map(|&b| u64::from(b)) .map(|i| (i % modulo, i)) .into_group_map() .into_iter() @@ -1720,17 +1720,17 @@ quickcheck! { assert_eq!(lookup, group_map_lookup); for (&key, &sum) in lookup.iter() { - assert_eq!(sum, a.iter().map(|&b| b as u64).filter(|&val| val % modulo == key).sum::()); + assert_eq!(sum, a.iter().map(|&b| u64::from(b)).filter(|&val| val % modulo == key).sum::()); } } fn correct_grouping_map_by_product_modulo_key(a: Vec, modulo: u8) -> () { - let modulo = Wrapping(if modulo == 0 { 1 } else { modulo } as u64); // Avoid `% 0` - let lookup = a.iter().map(|&b| Wrapping(b as u64)) // Avoid overflows + let modulo = Wrapping(u64::from(if modulo == 0 { 1 } else { modulo })); // Avoid `% 0` + let lookup = a.iter().map(|&b| Wrapping(u64::from(b))) // Avoid overflows .into_grouping_map_by(|i| i % modulo) .product(); - let group_map_lookup = a.iter().map(|&b| Wrapping(b as u64)) + let group_map_lookup = a.iter().map(|&b| Wrapping(u64::from(b))) .map(|i| (i % modulo, i)) .into_group_map() .into_iter() @@ -1742,7 +1742,7 @@ quickcheck! { assert_eq!( prod, a.iter() - .map(|&b| Wrapping(b as u64)) + .map(|&b| Wrapping(u64::from(b))) .filter(|&val| val % modulo == key) .product::>() ); diff --git a/tests/test_std.rs b/tests/test_std.rs index 0e4c11b80..dc0c163ba 100644 --- a/tests/test_std.rs +++ b/tests/test_std.rs @@ -496,7 +496,7 @@ qc::quickcheck! { fn k_smallest_range(n: i64, m: u16, k: u16) -> () { // u16 is used to constrain k and m to 0..2¹⁶, // otherwise the test could use too much memory. - let (k, m) = (k as usize, m as u64); + let (k, m) = (k as usize, u64::from(m)); let mut v: Vec<_> = (n..n.saturating_add(m as _)).collect(); // Generate a random permutation of n..n+m @@ -532,7 +532,7 @@ qc::quickcheck! { fn k_smallest_relaxed_range(n: i64, m: u16, k: u16) -> () { // u16 is used to constrain k and m to 0..2¹⁶, // otherwise the test could use too much memory. - let (k, m) = (k as usize, m as u64); + let (k, m) = (k as usize, u64::from(m)); let mut v: Vec<_> = (n..n.saturating_add(m as _)).collect(); // Generate a random permutation of n..n+m