Skip to content

Commit d182c71

Browse files
bors[bot]cuviper
andauthored
Merge #130
130: Update to 2018 edition and clippy fixes r=cuviper a=cuviper Co-authored-by: Josh Stone <[email protected]>
2 parents 355707b + 25913e8 commit d182c71

28 files changed

+411
-476
lines changed

Cargo.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ version = "0.3.0-pre"
1212
readme = "README.md"
1313
build = "build.rs"
1414
publish = false
15+
edition = "2018"
1516

1617
[package.metadata.docs.rs]
1718
features = ["std", "serde", "rand", "quickcheck"]

benches/bigint.rs

Lines changed: 19 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,6 @@
11
#![feature(test)]
22
#![cfg(feature = "rand")]
33

4-
extern crate num_bigint;
5-
extern crate num_integer;
6-
extern crate num_traits;
7-
extern crate rand;
84
extern crate test;
95

106
use num_bigint::{BigInt, BigUint, RandBigInt};
@@ -48,9 +44,9 @@ fn remainder_bench(b: &mut Bencher, xbits: usize, ybits: usize) {
4844

4945
fn factorial(n: usize) -> BigUint {
5046
let mut f: BigUint = One::one();
51-
for i in 1..(n + 1) {
47+
for i in 1..=n {
5248
let bu: BigUint = FromPrimitive::from_usize(i).unwrap();
53-
f = f * bu;
49+
f += bu;
5450
}
5551
f
5652
}
@@ -72,7 +68,7 @@ fn fib2(n: usize) -> BigUint {
7268
let mut f0: BigUint = Zero::zero();
7369
let mut f1: BigUint = One::one();
7470
for _ in 0..n {
75-
f1 = f1 + &f0;
71+
f1 += &f0;
7672
f0 = &f1 - f0;
7773
}
7874
f0
@@ -301,7 +297,7 @@ fn shl(b: &mut Bencher) {
301297
b.iter(|| {
302298
let mut m = n.clone();
303299
for i in 0..50 {
304-
m = m << i;
300+
m <<= i;
305301
}
306302
})
307303
}
@@ -312,7 +308,7 @@ fn shr(b: &mut Bencher) {
312308
b.iter(|| {
313309
let mut m = n.clone();
314310
for i in 0..50 {
315-
m = m >> i;
311+
m >>= i;
316312
}
317313
})
318314
}
@@ -332,8 +328,8 @@ fn hash(b: &mut Bencher) {
332328
fn pow_bench(b: &mut Bencher) {
333329
b.iter(|| {
334330
let upper = 100_usize;
335-
for i in 2..upper + 1 {
336-
for j in 2..upper + 1 {
331+
for i in 2..=upper {
332+
for j in 2..=upper {
337333
let i_big = BigUint::from_usize(i).unwrap();
338334
i_big.pow(j);
339335
}
@@ -343,19 +339,18 @@ fn pow_bench(b: &mut Bencher) {
343339

344340
/// This modulus is the prime from the 2048-bit MODP DH group:
345341
/// https://tools.ietf.org/html/rfc3526#section-3
346-
const RFC3526_2048BIT_MODP_GROUP: &'static str =
347-
"\
348-
FFFFFFFF_FFFFFFFF_C90FDAA2_2168C234_C4C6628B_80DC1CD1\
349-
29024E08_8A67CC74_020BBEA6_3B139B22_514A0879_8E3404DD\
350-
EF9519B3_CD3A431B_302B0A6D_F25F1437_4FE1356D_6D51C245\
351-
E485B576_625E7EC6_F44C42E9_A637ED6B_0BFF5CB6_F406B7ED\
352-
EE386BFB_5A899FA5_AE9F2411_7C4B1FE6_49286651_ECE45B3D\
353-
C2007CB8_A163BF05_98DA4836_1C55D39A_69163FA8_FD24CF5F\
354-
83655D23_DCA3AD96_1C62F356_208552BB_9ED52907_7096966D\
355-
670C354E_4ABC9804_F1746C08_CA18217C_32905E46_2E36CE3B\
356-
E39E772C_180E8603_9B2783A2_EC07A28F_B5C55DF0_6F4C52C9\
357-
DE2BCBF6_95581718_3995497C_EA956AE5_15D22618_98FA0510\
358-
15728E5A_8AACAA68_FFFFFFFF_FFFFFFFF";
342+
const RFC3526_2048BIT_MODP_GROUP: &str = "\
343+
FFFFFFFF_FFFFFFFF_C90FDAA2_2168C234_C4C6628B_80DC1CD1\
344+
29024E08_8A67CC74_020BBEA6_3B139B22_514A0879_8E3404DD\
345+
EF9519B3_CD3A431B_302B0A6D_F25F1437_4FE1356D_6D51C245\
346+
E485B576_625E7EC6_F44C42E9_A637ED6B_0BFF5CB6_F406B7ED\
347+
EE386BFB_5A899FA5_AE9F2411_7C4B1FE6_49286651_ECE45B3D\
348+
C2007CB8_A163BF05_98DA4836_1C55D39A_69163FA8_FD24CF5F\
349+
83655D23_DCA3AD96_1C62F356_208552BB_9ED52907_7096966D\
350+
670C354E_4ABC9804_F1746C08_CA18217C_32905E46_2E36CE3B\
351+
E39E772C_180E8603_9B2783A2_EC07A28F_B5C55DF0_6F4C52C9\
352+
DE2BCBF6_95581718_3995497C_EA956AE5_15D22618_98FA0510\
353+
15728E5A_8AACAA68_FFFFFFFF_FFFFFFFF";
359354

360355
#[bench]
361356
fn modpow(b: &mut Bencher) {

benches/factorial.rs

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,5 @@
11
#![feature(test)]
22

3-
extern crate num_bigint;
4-
extern crate num_traits;
53
extern crate test;
64

75
use num_bigint::BigUint;

benches/gcd.rs

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,6 @@
11
#![feature(test)]
22
#![cfg(feature = "rand")]
33

4-
extern crate num_bigint;
5-
extern crate num_integer;
6-
extern crate num_traits;
7-
extern crate rand;
84
extern crate test;
95

106
use num_bigint::{BigUint, RandBigInt};
@@ -41,7 +37,7 @@ fn euclid(x: &BigUint, y: &BigUint) -> BigUint {
4137
m = n % &temp;
4238
n = temp;
4339
}
44-
return n;
40+
n
4541
}
4642

4743
#[bench]

benches/roots.rs

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,6 @@
11
#![feature(test)]
22
#![cfg(feature = "rand")]
33

4-
extern crate num_bigint;
5-
extern crate num_traits;
6-
extern crate rand;
74
extern crate test;
85

96
use num_bigint::{BigUint, RandBigInt};

benches/shootout-pidigits.rs

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -38,10 +38,6 @@
3838
// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
3939
// OF THE POSSIBILITY OF SUCH DAMAGE.
4040

41-
extern crate num_bigint;
42-
extern crate num_integer;
43-
extern crate num_traits;
44-
4541
use std::io;
4642
use std::str::FromStr;
4743

@@ -98,7 +94,7 @@ fn pidigits(n: isize, out: &mut dyn io::Write) -> io::Result<()> {
9894
let mut k = 0;
9995
let mut context = Context::new();
10096

101-
for i in 1..(n + 1) {
97+
for i in 1..=n {
10298
let mut d;
10399
loop {
104100
k += 1;
@@ -111,7 +107,7 @@ fn pidigits(n: isize, out: &mut dyn io::Write) -> io::Result<()> {
111107

112108
write!(out, "{}", d)?;
113109
if i % 10 == 0 {
114-
write!(out, "\t:{}\n", i)?;
110+
writeln!(out, "\t:{}", i)?;
115111
}
116112

117113
context.eliminate_digit(d);
@@ -122,7 +118,7 @@ fn pidigits(n: isize, out: &mut dyn io::Write) -> io::Result<()> {
122118
for _ in m..10 {
123119
write!(out, " ")?;
124120
}
125-
write!(out, "\t:{}\n", n)?;
121+
writeln!(out, "\t:{}", n)?;
126122
}
127123
Ok(())
128124
}

build.rs

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,3 @@
1-
extern crate autocfg;
2-
31
use std::env;
42
use std::error::Error;
53
use std::fs::File;
@@ -26,8 +24,7 @@ fn main() {
2624
/// BASES_64[3] = (12157665459056928801, 40)
2725
///
2826
/// Powers of two are not included, just zeroed, as they're implemented with shifts.
29-
#[allow(unknown_lints, bare_trait_objects)]
30-
fn write_radix_bases() -> Result<(), Box<Error>> {
27+
fn write_radix_bases() -> Result<(), Box<dyn Error>> {
3128
let out_dir = env::var("OUT_DIR")?;
3229
let dest_path = Path::new(&out_dir).join("radix_bases.rs");
3330
let mut f = File::create(&dest_path)?;
@@ -42,7 +39,7 @@ fn write_radix_bases() -> Result<(), Box<Error>> {
4239
writeln!(f, "#[deny(overflowing_literals)]")?;
4340
writeln!(
4441
f,
45-
"pub static BASES_{bits}: [(u{bits}, usize); 257] = [",
42+
"pub(crate) static BASES_{bits}: [(u{bits}, usize); 257] = [",
4643
bits = bits
4744
)?;
4845
for radix in 0u64..257 {

ci/big_quickcheck/Cargo.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
name = "big_quickcheck"
33
version = "0.1.0"
44
authors = ["Josh Stone <[email protected]>"]
5+
edition = "2018"
56

67
[dependencies]
78
num-integer = "0.1.42"

ci/big_quickcheck/src/lib.rs

Lines changed: 1 addition & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -6,18 +6,11 @@
66
77
#![cfg(test)]
88

9-
extern crate num_bigint;
10-
extern crate num_integer;
11-
extern crate num_traits;
12-
13-
extern crate quickcheck;
14-
#[macro_use]
15-
extern crate quickcheck_macros;
16-
179
use num_bigint::{BigInt, BigUint};
1810
use num_integer::Integer;
1911
use num_traits::{Num, One, Pow, Signed, Zero};
2012
use quickcheck::{QuickCheck, StdThreadGen, TestResult};
13+
use quickcheck_macros::quickcheck;
2114

2215
#[quickcheck]
2316
fn quickcheck_unsigned_eq_reflexive(a: BigUint) -> bool {

ci/big_rand/Cargo.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
name = "big_rand"
33
version = "0.1.0"
44
authors = ["Josh Stone <[email protected]>"]
5+
edition = "2018"
56

67
[dependencies]
78
num-traits = "0.2.11"

ci/big_rand/src/lib.rs

Lines changed: 2 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -6,13 +6,6 @@
66
77
#![cfg(test)]
88

9-
extern crate num_bigint;
10-
extern crate num_traits;
11-
extern crate rand;
12-
extern crate rand_chacha;
13-
extern crate rand_isaac;
14-
extern crate rand_xorshift;
15-
169
mod torture;
1710

1811
mod biguint {
@@ -257,7 +250,7 @@ mod bigint {
257250
let u: BigInt = BigInt::from(403469000 + 3513);
258251
check(l.clone(), u.clone());
259252
check(-l.clone(), u.clone());
260-
check(-u.clone(), -l.clone());
253+
check(-u, -l);
261254
}
262255

263256
#[test]
@@ -298,7 +291,7 @@ mod bigint {
298291
let u: BigInt = BigInt::from(403469000 + 3513);
299292
check(l.clone(), u.clone());
300293
check(-l.clone(), u.clone());
301-
check(-u.clone(), -l.clone());
294+
check(-u, -l);
302295
}
303296

304297
fn seeded_value_stability<R: SeedableRng + RandBigInt>(expected: &[&str]) {

ci/big_serde/Cargo.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
name = "big_serde"
33
version = "0.1.0"
44
authors = ["Josh Stone <[email protected]>"]
5+
edition = "2018"
56

67
[dependencies]
78
num-traits = "0.2.11"

ci/big_serde/src/lib.rs

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -10,10 +10,6 @@
1010
1111
#![cfg(test)]
1212

13-
extern crate num_bigint;
14-
extern crate num_traits;
15-
extern crate serde_test;
16-
1713
use num_bigint::{BigInt, BigUint};
1814
use num_traits::{One, Zero};
1915
use serde_test::{assert_tokens, Token};
@@ -69,7 +65,7 @@ fn bigint_negone() {
6965
}
7066

7167
// Generated independently from python `hex(factorial(100))`
72-
const FACTORIAL_100: &'static [u32] = &[
68+
const FACTORIAL_100: &[u32] = &[
7369
0x00000000, 0x00000000, 0x00000000, 0x2735c61a, 0xee8b02ea, 0xb3b72ed2, 0x9420c6ec, 0x45570cca,
7470
0xdf103917, 0x943a321c, 0xeb21b5b2, 0x66ef9a70, 0xa40d16e9, 0x28d54bbd, 0xdc240695, 0x964ec395,
7571
0x1b30,
@@ -110,7 +106,7 @@ fn bigint_factorial_100() {
110106
fn big_digits() {
111107
// Try a few different lengths for u32/u64 digit coverage
112108
for len in 1..10 {
113-
let digits = 1u32..len + 1;
109+
let digits = 1u32..=len;
114110
let n = BigUint::new(digits.clone().collect());
115111

116112
let mut tokens = vec![];

0 commit comments

Comments
 (0)