Skip to content

Commit a00278b

Browse files
Speedy37cuviper
authored andcommitted
fix Copied is not available before 1.35.0
1 parent 9f44a8f commit a00278b

File tree

1 file changed

+22
-26
lines changed

1 file changed

+22
-26
lines changed

src/biguint.rs

Lines changed: 22 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -2352,33 +2352,31 @@ impl<'a> ExactSizeIterator for IterU32Digits<'a> {
23522352

23532353
#[cfg(not(u64_digit))]
23542354
pub struct IterU32Digits<'a> {
2355-
it: std::iter::Copied<std::slice::Iter<'a, u32>>,
2355+
it: std::slice::Iter<'a, u32>,
23562356
}
23572357
#[cfg(not(u64_digit))]
23582358
impl<'a> IterU32Digits<'a> {
23592359
fn new(data: &'a [u32]) -> Self {
2360-
Self {
2361-
it: data.iter().copied(),
2362-
}
2360+
Self { it: data.iter() }
23632361
}
23642362
}
23652363
#[cfg(not(u64_digit))]
23662364
impl<'a> Iterator for IterU32Digits<'a> {
23672365
type Item = u32;
23682366
fn next(&mut self) -> Option<u32> {
2369-
self.it.next()
2367+
self.it.next().map(|&t| t)
23702368
}
23712369

23722370
fn size_hint(&self) -> (usize, Option<usize>) {
23732371
self.it.size_hint()
23742372
}
23752373

23762374
fn nth(&mut self, n: usize) -> Option<u32> {
2377-
self.it.nth(n)
2375+
self.it.nth(n).map(|&t| t)
23782376
}
23792377

23802378
fn last(self) -> Option<u32> {
2381-
self.it.last()
2379+
self.it.last().map(|&t| t)
23822380
}
23832381

23842382
fn count(self) -> usize {
@@ -2445,33 +2443,31 @@ impl<'a> ExactSizeIterator for IterU64Digits<'a> {
24452443

24462444
#[cfg(u64_digit)]
24472445
pub struct IterU64Digits<'a> {
2448-
it: std::iter::Copied<std::slice::Iter<'a, u64>>,
2446+
it: std::slice::Iter<'a, u64>,
24492447
}
24502448
#[cfg(u64_digit)]
24512449
impl<'a> IterU64Digits<'a> {
24522450
fn new(data: &'a [u64]) -> Self {
2453-
Self {
2454-
it: data.iter().copied(),
2455-
}
2451+
Self { it: data.iter() }
24562452
}
24572453
}
24582454
#[cfg(u64_digit)]
24592455
impl<'a> Iterator for IterU64Digits<'a> {
24602456
type Item = u64;
24612457
fn next(&mut self) -> Option<u64> {
2462-
self.it.next()
2458+
self.it.next().map(|&t| t)
24632459
}
24642460

24652461
fn size_hint(&self) -> (usize, Option<usize>) {
24662462
self.it.size_hint()
24672463
}
24682464

24692465
fn nth(&mut self, n: usize) -> Option<u64> {
2470-
self.it.nth(n)
2466+
self.it.nth(n).map(|&t| t)
24712467
}
24722468

24732469
fn last(self) -> Option<u64> {
2474-
self.it.last()
2470+
self.it.last().map(|&t| t)
24752471
}
24762472

24772473
fn count(self) -> usize {
@@ -2748,14 +2744,14 @@ impl BigUint {
27482744
/// ```
27492745
/// use num_bigint::BigUint;
27502746
///
2751-
/// assert_eq!(BigUint::from(1125u32).to_u64_digits(), vec![1125]);
2752-
/// assert_eq!(BigUint::from(4294967295u32).to_u64_digits(), vec![4294967295]);
2753-
/// assert_eq!(BigUint::from(4294967296u64).to_u64_digits(), vec![4294967296]);
2754-
/// assert_eq!(BigUint::from(112500000000u64).to_u64_digits(), vec![112500000000]);
2747+
/// assert_eq!(BigUint::from(1125u32).to_u32_digits(), vec![1125]);
2748+
/// assert_eq!(BigUint::from(4294967295u32).to_u32_digits(), vec![4294967295]);
2749+
/// assert_eq!(BigUint::from(4294967296u64).to_u32_digits(), vec![0, 1]);
2750+
/// assert_eq!(BigUint::from(112500000000u64).to_u32_digits(), vec![830850304, 26]);
27552751
/// ```
27562752
#[inline]
2757-
pub fn to_u64_digits(&self) -> Vec<u64> {
2758-
self.iter_u64_digits().collect()
2753+
pub fn to_u32_digits(&self) -> Vec<u32> {
2754+
self.iter_u32_digits().collect()
27592755
}
27602756

27612757
/// Returns the `u32` digits representation of the `BigUint` ordered least significant digit
@@ -2766,14 +2762,14 @@ impl BigUint {
27662762
/// ```
27672763
/// use num_bigint::BigUint;
27682764
///
2769-
/// assert_eq!(BigUint::from(1125u32).to_u32_digits(), vec![1125]);
2770-
/// assert_eq!(BigUint::from(4294967295u32).to_u32_digits(), vec![4294967295]);
2771-
/// assert_eq!(BigUint::from(4294967296u64).to_u32_digits(), vec![0, 1]);
2772-
/// assert_eq!(BigUint::from(112500000000u64).to_u32_digits(), vec![830850304, 26]);
2765+
/// assert_eq!(BigUint::from(1125u32).to_u64_digits(), vec![1125]);
2766+
/// assert_eq!(BigUint::from(4294967295u32).to_u64_digits(), vec![4294967295]);
2767+
/// assert_eq!(BigUint::from(4294967296u64).to_u64_digits(), vec![4294967296]);
2768+
/// assert_eq!(BigUint::from(112500000000u64).to_u64_digits(), vec![112500000000]);
27732769
/// ```
27742770
#[inline]
2775-
pub fn to_u32_digits(&self) -> Vec<u32> {
2776-
self.iter_u32_digits().collect()
2771+
pub fn to_u64_digits(&self) -> Vec<u64> {
2772+
self.iter_u64_digits().collect()
27772773
}
27782774

27792775
/// Returns the `u32` digits representation of the `BigUint` ordered least significant digit

0 commit comments

Comments
 (0)