[INFO] crate rust-gmp 0.5.0 is already in cache [INFO] extracting crate rust-gmp 0.5.0 into work/ex/clippy-test-run/sources/stable/reg/rust-gmp/0.5.0 [INFO] extracting crate rust-gmp 0.5.0 into work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/rust-gmp/0.5.0 [INFO] validating manifest of rust-gmp-0.5.0 on toolchain stable [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] validating manifest of rust-gmp-0.5.0 on toolchain stable+rustflags=-Dclippy::into_iter_on_array [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] started frobbing rust-gmp-0.5.0 [INFO] finished frobbing rust-gmp-0.5.0 [INFO] frobbed toml for rust-gmp-0.5.0 written to work/ex/clippy-test-run/sources/stable/reg/rust-gmp/0.5.0/Cargo.toml [INFO] started frobbing rust-gmp-0.5.0 [INFO] finished frobbing rust-gmp-0.5.0 [INFO] frobbed toml for rust-gmp-0.5.0 written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/rust-gmp/0.5.0/Cargo.toml [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] linting rust-gmp-0.5.0 against stable for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-2/stable:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable/reg/rust-gmp/0.5.0:/opt/crater/workdir:ro,Z" "-v" "/mnt/big/crater/work/local/cargo-home:/opt/crater/cargo-home:ro,Z" "-v" "/mnt/big/crater/work/local/rustup-home:/opt/crater/rustup-home:ro,Z" "-e" "USER_ID=1000" "-e" "SOURCE_DIR=/opt/crater/workdir" "-e" "MAP_USER_ID=1000" "-e" "CARGO_TARGET_DIR=/opt/crater/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/crater/cargo-home" "-e" "RUSTUP_HOME=/opt/crater/rustup-home" "-w" "/opt/crater/workdir" "-m" "1536M" "--network" "none" "rustops/crates-build-env" "/opt/crater/cargo-home/bin/cargo" "+stable" "clippy" "--frozen" "--all" "--all-targets"` [INFO] [stdout] 58821b3f8fc7e9689108d57c05b0c5c0657e7cfb8b0eb97f3e0c0dee05a67d8a [INFO] running `"docker" "start" "-a" "58821b3f8fc7e9689108d57c05b0c5c0657e7cfb8b0eb97f3e0c0dee05a67d8a"` [INFO] [stderr] Checking rust-gmp v0.5.0 (/opt/crater/workdir) [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/mpz.rs:132:19 [INFO] [stderr] | [INFO] [stderr] 132 | Mpz { mpz: mpz } [INFO] [stderr] | ^^^^^^^^ help: replace it with: `mpz` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_field_names)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/mpz.rs:140:19 [INFO] [stderr] | [INFO] [stderr] 140 | Mpz { mpz: mpz } [INFO] [stderr] | ^^^^^^^^ help: replace it with: `mpz` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/mpz.rs:196:26 [INFO] [stderr] | [INFO] [stderr] 196 | Ok(Mpz { mpz: mpz }) [INFO] [stderr] | ^^^^^^^^ help: replace it with: `mpz` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/mpz.rs:444:19 [INFO] [stderr] | [INFO] [stderr] 444 | Mpz { mpz: mpz } [INFO] [stderr] | ^^^^^^^^ help: replace it with: `mpz` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/mpz.rs:481:19 [INFO] [stderr] | [INFO] [stderr] 481 | Mpz { mpz: mpz } [INFO] [stderr] | ^^^^^^^^ help: replace it with: `mpz` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/mpq.rs:77:19 [INFO] [stderr] | [INFO] [stderr] 77 | Mpq { mpq: mpq } [INFO] [stderr] | ^^^^^^^^ help: replace it with: `mpq` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/mpf.rs:85:19 [INFO] [stderr] | [INFO] [stderr] 85 | Mpf { mpf: mpf } [INFO] [stderr] | ^^^^^^^^ help: replace it with: `mpf` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/mpf.rs:202:19 [INFO] [stderr] | [INFO] [stderr] 202 | Mpf { mpf: mpf } [INFO] [stderr] | ^^^^^^^^ help: replace it with: `mpf` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/rand.rs:46:25 [INFO] [stderr] | [INFO] [stderr] 46 | RandState { state: state } [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `state` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/rand.rs:54:25 [INFO] [stderr] | [INFO] [stderr] 54 | RandState { state: state } [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `state` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/rand.rs:62:25 [INFO] [stderr] | [INFO] [stderr] 62 | RandState { state: state } [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `state` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/rand.rs:70:25 [INFO] [stderr] | [INFO] [stderr] 70 | RandState { state: state } [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `state` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/rand.rs:106:25 [INFO] [stderr] | [INFO] [stderr] 106 | RandState { state: state } [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `state` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/mpz.rs:132:19 [INFO] [stderr] | [INFO] [stderr] 132 | Mpz { mpz: mpz } [INFO] [stderr] | ^^^^^^^^ help: replace it with: `mpz` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_field_names)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/mpz.rs:140:19 [INFO] [stderr] | [INFO] [stderr] 140 | Mpz { mpz: mpz } [INFO] [stderr] | ^^^^^^^^ help: replace it with: `mpz` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/mpz.rs:196:26 [INFO] [stderr] | [INFO] [stderr] 196 | Ok(Mpz { mpz: mpz }) [INFO] [stderr] | ^^^^^^^^ help: replace it with: `mpz` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/mpz.rs:444:19 [INFO] [stderr] | [INFO] [stderr] 444 | Mpz { mpz: mpz } [INFO] [stderr] | ^^^^^^^^ help: replace it with: `mpz` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/mpz.rs:481:19 [INFO] [stderr] | [INFO] [stderr] 481 | Mpz { mpz: mpz } [INFO] [stderr] | ^^^^^^^^ help: replace it with: `mpz` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/mpq.rs:77:19 [INFO] [stderr] | [INFO] [stderr] 77 | Mpq { mpq: mpq } [INFO] [stderr] | ^^^^^^^^ help: replace it with: `mpq` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/mpf.rs:85:19 [INFO] [stderr] | [INFO] [stderr] 85 | Mpf { mpf: mpf } [INFO] [stderr] | ^^^^^^^^ help: replace it with: `mpf` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/mpf.rs:202:19 [INFO] [stderr] | [INFO] [stderr] 202 | Mpf { mpf: mpf } [INFO] [stderr] | ^^^^^^^^ help: replace it with: `mpf` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/rand.rs:46:25 [INFO] [stderr] | [INFO] [stderr] 46 | RandState { state: state } [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `state` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/rand.rs:54:25 [INFO] [stderr] | [INFO] [stderr] 54 | RandState { state: state } [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `state` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/rand.rs:62:25 [INFO] [stderr] | [INFO] [stderr] 62 | RandState { state: state } [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `state` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/rand.rs:70:25 [INFO] [stderr] | [INFO] [stderr] 70 | RandState { state: state } [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `state` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/rand.rs:106:25 [INFO] [stderr] | [INFO] [stderr] 106 | RandState { state: state } [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `state` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/mpz.rs:809:17 [INFO] [stderr] | [INFO] [stderr] 809 | return None; [INFO] [stderr] | ^^^^^^^^^^^^ help: remove `return` as shown: `None` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_return)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/mpz.rs:809:17 [INFO] [stderr] | [INFO] [stderr] 809 | return None; [INFO] [stderr] | ^^^^^^^^^^^^ help: remove `return` as shown: `None` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_return)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/test.rs:75:40 [INFO] [stderr] | [INFO] [stderr] 75 | let x: Mpz = From::::from(4242142195); [INFO] [stderr] | ^^^^^^^^^^ help: consider: `4_242_142_195` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unreadable_literal)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/test.rs:76:40 [INFO] [stderr] | [INFO] [stderr] 76 | let y: Mpz = From::::from(4242142195); [INFO] [stderr] | ^^^^^^^^^^ help: consider: `4_242_142_195` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/test.rs:77:40 [INFO] [stderr] | [INFO] [stderr] 77 | let z: Mpz = From::::from(4242142196); [INFO] [stderr] | ^^^^^^^^^^ help: consider: `4_242_142_196` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/test.rs:157:20 [INFO] [stderr] | [INFO] [stderr] 157 | assert!((&x * 5000000000i64).to_string() == 10000000000i64.to_string()); [INFO] [stderr] | ^^^^^^^^^^^^^ help: consider: `5_000_000_000i64` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/test.rs:157:50 [INFO] [stderr] | [INFO] [stderr] 157 | assert!((&x * 5000000000i64).to_string() == 10000000000i64.to_string()); [INFO] [stderr] | ^^^^^^^^^^^^^^ help: consider: `10_000_000_000i64` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/test.rs:345:40 [INFO] [stderr] | [INFO] [stderr] 345 | let a: Mpz = From::::from(123456); [INFO] [stderr] | ^^^^^^ help: consider: `123_456` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/test.rs:346:40 [INFO] [stderr] | [INFO] [stderr] 346 | let b: Mpz = From::::from(123457); [INFO] [stderr] | ^^^^^^ help: consider: `123_457` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/test.rs:458:40 [INFO] [stderr] | [INFO] [stderr] 458 | let x: Mpz = From::::from(123456); [INFO] [stderr] | ^^^^^^ help: consider: `123_456` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: you should consider adding a `Default` implementation for `mpz::Mpz` [INFO] [stderr] --> src/mpz.rs:128:5 [INFO] [stderr] | [INFO] [stderr] 128 | / pub fn new() -> Mpz { [INFO] [stderr] 129 | | unsafe { [INFO] [stderr] 130 | | let mut mpz = uninitialized(); [INFO] [stderr] 131 | | __gmpz_init(&mut mpz); [INFO] [stderr] 132 | | Mpz { mpz: mpz } [INFO] [stderr] 133 | | } [INFO] [stderr] 134 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::new_without_default)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 119 | impl Default for mpz::Mpz { [INFO] [stderr] 120 | fn default() -> Self { [INFO] [stderr] 121 | Self::new() [INFO] [stderr] 122 | } [INFO] [stderr] 123 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: casting u8 to i32 may become silently lossy if types change [INFO] [stderr] --> src/mpz.rs:152:42 [INFO] [stderr] | [INFO] [stderr] 152 | __gmpz_sizeinbase(&self.mpz, base as c_int) as usize [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `i32::from(base)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::cast_lossless)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to i32 may become silently lossy if types change [INFO] [stderr] --> src/mpz.rs:162:52 [INFO] [stderr] | [INFO] [stderr] 162 | let len = __gmpz_sizeinbase(&self.mpz, base as c_int) as usize + 2; [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `i32::from(base)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] error: unsafe vector initialization [INFO] [stderr] --> src/mpz.rs:166:13 [INFO] [stderr] | [INFO] [stderr] 165 | let mut vector: Vec = Vec::with_capacity(len); [INFO] [stderr] | ----------------------- help: consider replace allocation with: `vec![0; len]` [INFO] [stderr] 166 | vector.set_len(len); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::unsafe_vector_initialization)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unsafe_vector_initialization [INFO] [stderr] [INFO] [stderr] warning: casting u8 to i32 may become silently lossy if types change [INFO] [stderr] --> src/mpz.rs:168:59 [INFO] [stderr] | [INFO] [stderr] 168 | __gmpz_get_str(vector.as_mut_ptr() as *mut _, base as c_int, &self.mpz); [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `i32::from(base)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: the variable `index` is used as a loop counter. Consider using `for (index, item) in &vector.enumerate()` or similar iterators [INFO] [stderr] --> src/mpz.rs:172:25 [INFO] [stderr] | [INFO] [stderr] 172 | for elem in &vector { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::explicit_counter_loop)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#explicit_counter_loop [INFO] [stderr] [INFO] [stderr] warning: Err(_) will match all errors, maybe not a good idea [INFO] [stderr] --> src/mpz.rs:184:17 [INFO] [stderr] | [INFO] [stderr] 184 | Err(_) => panic!("GMP returned invalid UTF-8!") [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::match_wild_err_arm)] on by default [INFO] [stderr] = note: to remove this warning, match each error separately or use unreachable macro [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_wild_err_arm [INFO] [stderr] [INFO] [stderr] warning: casting u8 to i32 may become silently lossy if types change [INFO] [stderr] --> src/mpz.rs:194:63 [INFO] [stderr] | [INFO] [stderr] 194 | let r = __gmpz_init_set_str(&mut mpz, s.as_ptr(), base as c_int); [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `i32::from(base)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to i32 may become silently lossy if types change [INFO] [stderr] --> src/mpz.rs:212:60 [INFO] [stderr] | [INFO] [stderr] 212 | unsafe { __gmpz_set_str(&mut self.mpz, s.as_ptr(), base as c_int) == 0 } [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `i32::from(base)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to u64 may become silently lossy if types change [INFO] [stderr] --> src/mpz.rs:351:52 [INFO] [stderr] | [INFO] [stderr] 351 | __gmpz_pow_ui(&mut res.mpz, &self.mpz, exp as c_ulong); [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try: `u64::from(exp)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to u64 may become silently lossy if types change [INFO] [stderr] --> src/mpz.rs:375:38 [INFO] [stderr] | [INFO] [stderr] 375 | __gmpz_ui_pow_ui(&mut res.mpz, x as c_ulong, y as c_ulong); [INFO] [stderr] | ^^^^^^^^^^^^ help: try: `u64::from(x)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to u64 may become silently lossy if types change [INFO] [stderr] --> src/mpz.rs:375:52 [INFO] [stderr] | [INFO] [stderr] 375 | __gmpz_ui_pow_ui(&mut res.mpz, x as c_ulong, y as c_ulong); [INFO] [stderr] | ^^^^^^^^^^^^ help: try: `u64::from(y)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to u64 may become silently lossy if types change [INFO] [stderr] --> src/mpz.rs:405:62 [INFO] [stderr] | [INFO] [stderr] 405 | = match __gmpz_root(&mut res.mpz, &self.mpz, n as c_ulong) { [INFO] [stderr] | ^^^^^^^^^^^^ help: try: `u64::from(n)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to u64 may become silently lossy if types change [INFO] [stderr] --> src/mpz.rs:534:47 [INFO] [stderr] | [INFO] [stderr] 534 | if size_of::() == 8 || $what <= u32::MAX as u64 { [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `u64::from(u32::MAX)` [INFO] [stderr] ... [INFO] [stderr] 715 | impl_oper!(both u64, c_ulong, Add, add, AddAssign, add_assign, __gmpz_add_ui); [INFO] [stderr] | ------------------------------------------------------------------------------ in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to u64 may become silently lossy if types change [INFO] [stderr] --> src/mpz.rs:534:47 [INFO] [stderr] | [INFO] [stderr] 534 | if size_of::() == 8 || $what <= u32::MAX as u64 { [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `u64::from(u32::MAX)` [INFO] [stderr] ... [INFO] [stderr] 715 | impl_oper!(both u64, c_ulong, Add, add, AddAssign, add_assign, __gmpz_add_ui); [INFO] [stderr] | ------------------------------------------------------------------------------ in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to u64 may become silently lossy if types change [INFO] [stderr] --> src/mpz.rs:534:47 [INFO] [stderr] | [INFO] [stderr] 534 | if size_of::() == 8 || $what <= u32::MAX as u64 { [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `u64::from(u32::MAX)` [INFO] [stderr] ... [INFO] [stderr] 715 | impl_oper!(both u64, c_ulong, Add, add, AddAssign, add_assign, __gmpz_add_ui); [INFO] [stderr] | ------------------------------------------------------------------------------ in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to u64 may become silently lossy if types change [INFO] [stderr] --> src/mpz.rs:534:47 [INFO] [stderr] | [INFO] [stderr] 534 | if size_of::() == 8 || $what <= u32::MAX as u64 { [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `u64::from(u32::MAX)` [INFO] [stderr] ... [INFO] [stderr] 715 | impl_oper!(both u64, c_ulong, Add, add, AddAssign, add_assign, __gmpz_add_ui); [INFO] [stderr] | ------------------------------------------------------------------------------ in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to u64 may become silently lossy if types change [INFO] [stderr] --> src/mpz.rs:534:47 [INFO] [stderr] | [INFO] [stderr] 534 | if size_of::() == 8 || $what <= u32::MAX as u64 { [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `u64::from(u32::MAX)` [INFO] [stderr] ... [INFO] [stderr] 718 | impl_oper!(normal u64, c_ulong, Sub, sub, SubAssign, sub_assign, __gmpz_sub_ui); [INFO] [stderr] | -------------------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to u64 may become silently lossy if types change [INFO] [stderr] --> src/mpz.rs:534:47 [INFO] [stderr] | [INFO] [stderr] 534 | if size_of::() == 8 || $what <= u32::MAX as u64 { [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `u64::from(u32::MAX)` [INFO] [stderr] ... [INFO] [stderr] 718 | impl_oper!(normal u64, c_ulong, Sub, sub, SubAssign, sub_assign, __gmpz_sub_ui); [INFO] [stderr] | -------------------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to u64 may become silently lossy if types change [INFO] [stderr] --> src/mpz.rs:534:47 [INFO] [stderr] | [INFO] [stderr] 534 | if size_of::() == 8 || $what <= u32::MAX as u64 { [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `u64::from(u32::MAX)` [INFO] [stderr] ... [INFO] [stderr] 719 | impl_oper!(reverse u64, c_ulong, Sub, sub, __gmpz_ui_sub); [INFO] [stderr] | ---------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to u64 may become silently lossy if types change [INFO] [stderr] --> src/mpz.rs:534:47 [INFO] [stderr] | [INFO] [stderr] 534 | if size_of::() == 8 || $what <= u32::MAX as u64 { [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `u64::from(u32::MAX)` [INFO] [stderr] ... [INFO] [stderr] 719 | impl_oper!(reverse u64, c_ulong, Sub, sub, __gmpz_ui_sub); [INFO] [stderr] | ---------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting i32 to i64 may become silently lossy if types change [INFO] [stderr] --> src/mpz.rs:543:46 [INFO] [stderr] | [INFO] [stderr] 543 | if size_of::() == 8 || $what <= i32::MAX as i64 { [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `i64::from(i32::MAX)` [INFO] [stderr] ... [INFO] [stderr] 722 | impl_oper!(both i64, c_long, Mul, mul, MulAssign, mul_assign, __gmpz_mul_si); [INFO] [stderr] | ----------------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting i32 to i64 may become silently lossy if types change [INFO] [stderr] --> src/mpz.rs:543:46 [INFO] [stderr] | [INFO] [stderr] 543 | if size_of::() == 8 || $what <= i32::MAX as i64 { [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `i64::from(i32::MAX)` [INFO] [stderr] ... [INFO] [stderr] 722 | impl_oper!(both i64, c_long, Mul, mul, MulAssign, mul_assign, __gmpz_mul_si); [INFO] [stderr] | ----------------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting i32 to i64 may become silently lossy if types change [INFO] [stderr] --> src/mpz.rs:543:46 [INFO] [stderr] | [INFO] [stderr] 543 | if size_of::() == 8 || $what <= i32::MAX as i64 { [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `i64::from(i32::MAX)` [INFO] [stderr] ... [INFO] [stderr] 722 | impl_oper!(both i64, c_long, Mul, mul, MulAssign, mul_assign, __gmpz_mul_si); [INFO] [stderr] | ----------------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting i32 to i64 may become silently lossy if types change [INFO] [stderr] --> src/mpz.rs:543:46 [INFO] [stderr] | [INFO] [stderr] 543 | if size_of::() == 8 || $what <= i32::MAX as i64 { [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `i64::from(i32::MAX)` [INFO] [stderr] ... [INFO] [stderr] 722 | impl_oper!(both i64, c_long, Mul, mul, MulAssign, mul_assign, __gmpz_mul_si); [INFO] [stderr] | ----------------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to u64 may become silently lossy if types change [INFO] [stderr] --> src/mpz.rs:534:47 [INFO] [stderr] | [INFO] [stderr] 534 | if size_of::() == 8 || $what <= u32::MAX as u64 { [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `u64::from(u32::MAX)` [INFO] [stderr] ... [INFO] [stderr] 723 | impl_oper!(both u64, c_ulong, Mul, mul, MulAssign, mul_assign, __gmpz_mul_ui); [INFO] [stderr] | ------------------------------------------------------------------------------ in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to u64 may become silently lossy if types change [INFO] [stderr] --> src/mpz.rs:534:47 [INFO] [stderr] | [INFO] [stderr] 534 | if size_of::() == 8 || $what <= u32::MAX as u64 { [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `u64::from(u32::MAX)` [INFO] [stderr] ... [INFO] [stderr] 723 | impl_oper!(both u64, c_ulong, Mul, mul, MulAssign, mul_assign, __gmpz_mul_ui); [INFO] [stderr] | ------------------------------------------------------------------------------ in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to u64 may become silently lossy if types change [INFO] [stderr] --> src/mpz.rs:534:47 [INFO] [stderr] | [INFO] [stderr] 534 | if size_of::() == 8 || $what <= u32::MAX as u64 { [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `u64::from(u32::MAX)` [INFO] [stderr] ... [INFO] [stderr] 723 | impl_oper!(both u64, c_ulong, Mul, mul, MulAssign, mul_assign, __gmpz_mul_ui); [INFO] [stderr] | ------------------------------------------------------------------------------ in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to u64 may become silently lossy if types change [INFO] [stderr] --> src/mpz.rs:534:47 [INFO] [stderr] | [INFO] [stderr] 534 | if size_of::() == 8 || $what <= u32::MAX as u64 { [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `u64::from(u32::MAX)` [INFO] [stderr] ... [INFO] [stderr] 723 | impl_oper!(both u64, c_ulong, Mul, mul, MulAssign, mul_assign, __gmpz_mul_ui); [INFO] [stderr] | ------------------------------------------------------------------------------ in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to u64 may become silently lossy if types change [INFO] [stderr] --> src/mpz.rs:534:47 [INFO] [stderr] | [INFO] [stderr] 534 | if size_of::() == 8 || $what <= u32::MAX as u64 { [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `u64::from(u32::MAX)` [INFO] [stderr] ... [INFO] [stderr] 726 | impl_oper!(normal u64, c_ulong, Div, div, DivAssign, div_assign, __gmpz_tdiv_q_ui); [INFO] [stderr] | ----------------------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to u64 may become silently lossy if types change [INFO] [stderr] --> src/mpz.rs:534:47 [INFO] [stderr] | [INFO] [stderr] 534 | if size_of::() == 8 || $what <= u32::MAX as u64 { [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `u64::from(u32::MAX)` [INFO] [stderr] ... [INFO] [stderr] 726 | impl_oper!(normal u64, c_ulong, Div, div, DivAssign, div_assign, __gmpz_tdiv_q_ui); [INFO] [stderr] | ----------------------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to u64 may become silently lossy if types change [INFO] [stderr] --> src/mpz.rs:534:47 [INFO] [stderr] | [INFO] [stderr] 534 | if size_of::() == 8 || $what <= u32::MAX as u64 { [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `u64::from(u32::MAX)` [INFO] [stderr] ... [INFO] [stderr] 729 | impl_oper!(normal u64, c_ulong, Rem, rem, RemAssign, rem_assign, __gmpz_tdiv_r_ui); [INFO] [stderr] | ----------------------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to u64 may become silently lossy if types change [INFO] [stderr] --> src/mpz.rs:534:47 [INFO] [stderr] | [INFO] [stderr] 534 | if size_of::() == 8 || $what <= u32::MAX as u64 { [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `u64::from(u32::MAX)` [INFO] [stderr] ... [INFO] [stderr] 729 | impl_oper!(normal u64, c_ulong, Rem, rem, RemAssign, rem_assign, __gmpz_tdiv_r_ui); [INFO] [stderr] | ----------------------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: `0 as *mut _` detected. Consider using `ptr::null_mut()` [INFO] [stderr] --> src/mpz.rs:782:63 [INFO] [stderr] | [INFO] [stderr] 782 | __gmpz_export(result.as_mut_ptr() as *mut c_void, 0 as *mut size_t, 1, size_of::() as size_t, 0, 0, &other.mpz); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::zero_ptr)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#zero_ptr [INFO] [stderr] [INFO] [stderr] warning: `0 as *mut _` detected. Consider using `ptr::null_mut()` [INFO] [stderr] --> src/mpz.rs:802:71 [INFO] [stderr] | [INFO] [stderr] 802 | __gmpz_export(&mut result as *mut i64 as *mut c_void, 0 as *mut size_t, -1, size_of::() as size_t, 0, 0, &to_export.mpz); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#zero_ptr [INFO] [stderr] [INFO] [stderr] warning: `0 as *mut _` detected. Consider using `ptr::null_mut()` [INFO] [stderr] --> src/mpz.rs:820:71 [INFO] [stderr] | [INFO] [stderr] 820 | __gmpz_export(&mut result as *mut u64 as *mut c_void, 0 as *mut size_t, -1, size_of::() as size_t, 0, 0, &other.mpz); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#zero_ptr [INFO] [stderr] [INFO] [stderr] warning: you should consider adding a `Default` implementation for `mpq::Mpq` [INFO] [stderr] --> src/mpq.rs:73:5 [INFO] [stderr] | [INFO] [stderr] 73 | / pub fn new() -> Mpq { [INFO] [stderr] 74 | | unsafe { [INFO] [stderr] 75 | | let mut mpq = uninitialized(); [INFO] [stderr] 76 | | __gmpq_init(&mut mpq); [INFO] [stderr] 77 | | Mpq { mpq: mpq } [INFO] [stderr] 78 | | } [INFO] [stderr] 79 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 64 | impl Default for mpq::Mpq { [INFO] [stderr] 65 | fn default() -> Self { [INFO] [stderr] 66 | Self::new() [INFO] [stderr] 67 | } [INFO] [stderr] 68 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: casting u8 to i32 may become silently lossy if types change [INFO] [stderr] --> src/mpq.rs:97:62 [INFO] [stderr] | [INFO] [stderr] 97 | let r = __gmpq_set_str(&mut res.mpq, s.as_ptr(), base as c_int); [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `i32::from(base)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: you should consider adding a `Default` implementation for `rand::RandState` [INFO] [stderr] --> src/rand.rs:42:5 [INFO] [stderr] | [INFO] [stderr] 42 | / pub fn new() -> RandState { [INFO] [stderr] 43 | | unsafe { [INFO] [stderr] 44 | | let mut state: gmp_randstate_struct = uninitialized(); [INFO] [stderr] 45 | | __gmp_randinit_default(&mut state); [INFO] [stderr] 46 | | RandState { state: state } [INFO] [stderr] 47 | | } [INFO] [stderr] 48 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 41 | impl Default for rand::RandState { [INFO] [stderr] 42 | fn default() -> Self { [INFO] [stderr] 43 | Self::new() [INFO] [stderr] 44 | } [INFO] [stderr] 45 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] error: aborting due to previous error [INFO] [stderr] [INFO] [stderr] error: Could not compile `rust-gmp`. [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stderr] warning: you should consider adding a `Default` implementation for `mpz::Mpz` [INFO] [stderr] --> src/mpz.rs:128:5 [INFO] [stderr] | [INFO] [stderr] 128 | / pub fn new() -> Mpz { [INFO] [stderr] 129 | | unsafe { [INFO] [stderr] 130 | | let mut mpz = uninitialized(); [INFO] [stderr] 131 | | __gmpz_init(&mut mpz); [INFO] [stderr] 132 | | Mpz { mpz: mpz } [INFO] [stderr] 133 | | } [INFO] [stderr] 134 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::new_without_default)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 119 | impl Default for mpz::Mpz { [INFO] [stderr] 120 | fn default() -> Self { [INFO] [stderr] 121 | Self::new() [INFO] [stderr] 122 | } [INFO] [stderr] 123 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: casting u8 to i32 may become silently lossy if types change [INFO] [stderr] --> src/mpz.rs:152:42 [INFO] [stderr] | [INFO] [stderr] 152 | __gmpz_sizeinbase(&self.mpz, base as c_int) as usize [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `i32::from(base)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::cast_lossless)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to i32 may become silently lossy if types change [INFO] [stderr] --> src/mpz.rs:162:52 [INFO] [stderr] | [INFO] [stderr] 162 | let len = __gmpz_sizeinbase(&self.mpz, base as c_int) as usize + 2; [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `i32::from(base)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] error: unsafe vector initialization [INFO] [stderr] --> src/mpz.rs:166:13 [INFO] [stderr] | [INFO] [stderr] 165 | let mut vector: Vec = Vec::with_capacity(len); [INFO] [stderr] | ----------------------- help: consider replace allocation with: `vec![0; len]` [INFO] [stderr] 166 | vector.set_len(len); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::unsafe_vector_initialization)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unsafe_vector_initialization [INFO] [stderr] [INFO] [stderr] warning: casting u8 to i32 may become silently lossy if types change [INFO] [stderr] --> src/mpz.rs:168:59 [INFO] [stderr] | [INFO] [stderr] 168 | __gmpz_get_str(vector.as_mut_ptr() as *mut _, base as c_int, &self.mpz); [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `i32::from(base)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: the variable `index` is used as a loop counter. Consider using `for (index, item) in &vector.enumerate()` or similar iterators [INFO] [stderr] --> src/mpz.rs:172:25 [INFO] [stderr] | [INFO] [stderr] 172 | for elem in &vector { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::explicit_counter_loop)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#explicit_counter_loop [INFO] [stderr] [INFO] [stderr] warning: Err(_) will match all errors, maybe not a good idea [INFO] [stderr] --> src/mpz.rs:184:17 [INFO] [stderr] | [INFO] [stderr] 184 | Err(_) => panic!("GMP returned invalid UTF-8!") [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::match_wild_err_arm)] on by default [INFO] [stderr] = note: to remove this warning, match each error separately or use unreachable macro [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_wild_err_arm [INFO] [stderr] [INFO] [stderr] warning: casting u8 to i32 may become silently lossy if types change [INFO] [stderr] --> src/mpz.rs:194:63 [INFO] [stderr] | [INFO] [stderr] 194 | let r = __gmpz_init_set_str(&mut mpz, s.as_ptr(), base as c_int); [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `i32::from(base)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to i32 may become silently lossy if types change [INFO] [stderr] --> src/mpz.rs:212:60 [INFO] [stderr] | [INFO] [stderr] 212 | unsafe { __gmpz_set_str(&mut self.mpz, s.as_ptr(), base as c_int) == 0 } [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `i32::from(base)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to u64 may become silently lossy if types change [INFO] [stderr] --> src/mpz.rs:351:52 [INFO] [stderr] | [INFO] [stderr] 351 | __gmpz_pow_ui(&mut res.mpz, &self.mpz, exp as c_ulong); [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try: `u64::from(exp)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to u64 may become silently lossy if types change [INFO] [stderr] --> src/mpz.rs:375:38 [INFO] [stderr] | [INFO] [stderr] 375 | __gmpz_ui_pow_ui(&mut res.mpz, x as c_ulong, y as c_ulong); [INFO] [stderr] | ^^^^^^^^^^^^ help: try: `u64::from(x)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to u64 may become silently lossy if types change [INFO] [stderr] --> src/mpz.rs:375:52 [INFO] [stderr] | [INFO] [stderr] 375 | __gmpz_ui_pow_ui(&mut res.mpz, x as c_ulong, y as c_ulong); [INFO] [stderr] | ^^^^^^^^^^^^ help: try: `u64::from(y)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to u64 may become silently lossy if types change [INFO] [stderr] --> src/mpz.rs:405:62 [INFO] [stderr] | [INFO] [stderr] 405 | = match __gmpz_root(&mut res.mpz, &self.mpz, n as c_ulong) { [INFO] [stderr] | ^^^^^^^^^^^^ help: try: `u64::from(n)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to u64 may become silently lossy if types change [INFO] [stderr] --> src/mpz.rs:534:47 [INFO] [stderr] | [INFO] [stderr] 534 | if size_of::() == 8 || $what <= u32::MAX as u64 { [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `u64::from(u32::MAX)` [INFO] [stderr] ... [INFO] [stderr] 715 | impl_oper!(both u64, c_ulong, Add, add, AddAssign, add_assign, __gmpz_add_ui); [INFO] [stderr] | ------------------------------------------------------------------------------ in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to u64 may become silently lossy if types change [INFO] [stderr] --> src/mpz.rs:534:47 [INFO] [stderr] | [INFO] [stderr] 534 | if size_of::() == 8 || $what <= u32::MAX as u64 { [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `u64::from(u32::MAX)` [INFO] [stderr] ... [INFO] [stderr] 715 | impl_oper!(both u64, c_ulong, Add, add, AddAssign, add_assign, __gmpz_add_ui); [INFO] [stderr] | ------------------------------------------------------------------------------ in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to u64 may become silently lossy if types change [INFO] [stderr] --> src/mpz.rs:534:47 [INFO] [stderr] | [INFO] [stderr] 534 | if size_of::() == 8 || $what <= u32::MAX as u64 { [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `u64::from(u32::MAX)` [INFO] [stderr] ... [INFO] [stderr] 715 | impl_oper!(both u64, c_ulong, Add, add, AddAssign, add_assign, __gmpz_add_ui); [INFO] [stderr] | ------------------------------------------------------------------------------ in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to u64 may become silently lossy if types change [INFO] [stderr] --> src/mpz.rs:534:47 [INFO] [stderr] | [INFO] [stderr] 534 | if size_of::() == 8 || $what <= u32::MAX as u64 { [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `u64::from(u32::MAX)` [INFO] [stderr] ... [INFO] [stderr] 715 | impl_oper!(both u64, c_ulong, Add, add, AddAssign, add_assign, __gmpz_add_ui); [INFO] [stderr] | ------------------------------------------------------------------------------ in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to u64 may become silently lossy if types change [INFO] [stderr] --> src/mpz.rs:534:47 [INFO] [stderr] | [INFO] [stderr] 534 | if size_of::() == 8 || $what <= u32::MAX as u64 { [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `u64::from(u32::MAX)` [INFO] [stderr] ... [INFO] [stderr] 718 | impl_oper!(normal u64, c_ulong, Sub, sub, SubAssign, sub_assign, __gmpz_sub_ui); [INFO] [stderr] | -------------------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to u64 may become silently lossy if types change [INFO] [stderr] --> src/mpz.rs:534:47 [INFO] [stderr] | [INFO] [stderr] 534 | if size_of::() == 8 || $what <= u32::MAX as u64 { [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `u64::from(u32::MAX)` [INFO] [stderr] ... [INFO] [stderr] 718 | impl_oper!(normal u64, c_ulong, Sub, sub, SubAssign, sub_assign, __gmpz_sub_ui); [INFO] [stderr] | -------------------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to u64 may become silently lossy if types change [INFO] [stderr] --> src/mpz.rs:534:47 [INFO] [stderr] | [INFO] [stderr] 534 | if size_of::() == 8 || $what <= u32::MAX as u64 { [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `u64::from(u32::MAX)` [INFO] [stderr] ... [INFO] [stderr] 719 | impl_oper!(reverse u64, c_ulong, Sub, sub, __gmpz_ui_sub); [INFO] [stderr] | ---------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to u64 may become silently lossy if types change [INFO] [stderr] --> src/mpz.rs:534:47 [INFO] [stderr] | [INFO] [stderr] 534 | if size_of::() == 8 || $what <= u32::MAX as u64 { [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `u64::from(u32::MAX)` [INFO] [stderr] ... [INFO] [stderr] 719 | impl_oper!(reverse u64, c_ulong, Sub, sub, __gmpz_ui_sub); [INFO] [stderr] | ---------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting i32 to i64 may become silently lossy if types change [INFO] [stderr] --> src/mpz.rs:543:46 [INFO] [stderr] | [INFO] [stderr] 543 | if size_of::() == 8 || $what <= i32::MAX as i64 { [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `i64::from(i32::MAX)` [INFO] [stderr] ... [INFO] [stderr] 722 | impl_oper!(both i64, c_long, Mul, mul, MulAssign, mul_assign, __gmpz_mul_si); [INFO] [stderr] | ----------------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting i32 to i64 may become silently lossy if types change [INFO] [stderr] --> src/mpz.rs:543:46 [INFO] [stderr] | [INFO] [stderr] 543 | if size_of::() == 8 || $what <= i32::MAX as i64 { [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `i64::from(i32::MAX)` [INFO] [stderr] ... [INFO] [stderr] 722 | impl_oper!(both i64, c_long, Mul, mul, MulAssign, mul_assign, __gmpz_mul_si); [INFO] [stderr] | ----------------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting i32 to i64 may become silently lossy if types change [INFO] [stderr] --> src/mpz.rs:543:46 [INFO] [stderr] | [INFO] [stderr] 543 | if size_of::() == 8 || $what <= i32::MAX as i64 { [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `i64::from(i32::MAX)` [INFO] [stderr] ... [INFO] [stderr] 722 | impl_oper!(both i64, c_long, Mul, mul, MulAssign, mul_assign, __gmpz_mul_si); [INFO] [stderr] | ----------------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting i32 to i64 may become silently lossy if types change [INFO] [stderr] --> src/mpz.rs:543:46 [INFO] [stderr] | [INFO] [stderr] 543 | if size_of::() == 8 || $what <= i32::MAX as i64 { [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `i64::from(i32::MAX)` [INFO] [stderr] ... [INFO] [stderr] 722 | impl_oper!(both i64, c_long, Mul, mul, MulAssign, mul_assign, __gmpz_mul_si); [INFO] [stderr] | ----------------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to u64 may become silently lossy if types change [INFO] [stderr] --> src/mpz.rs:534:47 [INFO] [stderr] | [INFO] [stderr] 534 | if size_of::() == 8 || $what <= u32::MAX as u64 { [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `u64::from(u32::MAX)` [INFO] [stderr] ... [INFO] [stderr] 723 | impl_oper!(both u64, c_ulong, Mul, mul, MulAssign, mul_assign, __gmpz_mul_ui); [INFO] [stderr] | ------------------------------------------------------------------------------ in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to u64 may become silently lossy if types change [INFO] [stderr] --> src/mpz.rs:534:47 [INFO] [stderr] | [INFO] [stderr] 534 | if size_of::() == 8 || $what <= u32::MAX as u64 { [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `u64::from(u32::MAX)` [INFO] [stderr] ... [INFO] [stderr] 723 | impl_oper!(both u64, c_ulong, Mul, mul, MulAssign, mul_assign, __gmpz_mul_ui); [INFO] [stderr] | ------------------------------------------------------------------------------ in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to u64 may become silently lossy if types change [INFO] [stderr] --> src/mpz.rs:534:47 [INFO] [stderr] | [INFO] [stderr] 534 | if size_of::() == 8 || $what <= u32::MAX as u64 { [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `u64::from(u32::MAX)` [INFO] [stderr] ... [INFO] [stderr] 723 | impl_oper!(both u64, c_ulong, Mul, mul, MulAssign, mul_assign, __gmpz_mul_ui); [INFO] [stderr] | ------------------------------------------------------------------------------ in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to u64 may become silently lossy if types change [INFO] [stderr] --> src/mpz.rs:534:47 [INFO] [stderr] | [INFO] [stderr] 534 | if size_of::() == 8 || $what <= u32::MAX as u64 { [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `u64::from(u32::MAX)` [INFO] [stderr] ... [INFO] [stderr] 723 | impl_oper!(both u64, c_ulong, Mul, mul, MulAssign, mul_assign, __gmpz_mul_ui); [INFO] [stderr] | ------------------------------------------------------------------------------ in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to u64 may become silently lossy if types change [INFO] [stderr] --> src/mpz.rs:534:47 [INFO] [stderr] | [INFO] [stderr] 534 | if size_of::() == 8 || $what <= u32::MAX as u64 { [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `u64::from(u32::MAX)` [INFO] [stderr] ... [INFO] [stderr] 726 | impl_oper!(normal u64, c_ulong, Div, div, DivAssign, div_assign, __gmpz_tdiv_q_ui); [INFO] [stderr] | ----------------------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to u64 may become silently lossy if types change [INFO] [stderr] --> src/mpz.rs:534:47 [INFO] [stderr] | [INFO] [stderr] 534 | if size_of::() == 8 || $what <= u32::MAX as u64 { [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `u64::from(u32::MAX)` [INFO] [stderr] ... [INFO] [stderr] 726 | impl_oper!(normal u64, c_ulong, Div, div, DivAssign, div_assign, __gmpz_tdiv_q_ui); [INFO] [stderr] | ----------------------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to u64 may become silently lossy if types change [INFO] [stderr] --> src/mpz.rs:534:47 [INFO] [stderr] | [INFO] [stderr] 534 | if size_of::() == 8 || $what <= u32::MAX as u64 { [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `u64::from(u32::MAX)` [INFO] [stderr] ... [INFO] [stderr] 729 | impl_oper!(normal u64, c_ulong, Rem, rem, RemAssign, rem_assign, __gmpz_tdiv_r_ui); [INFO] [stderr] | ----------------------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to u64 may become silently lossy if types change [INFO] [stderr] --> src/mpz.rs:534:47 [INFO] [stderr] | [INFO] [stderr] 534 | if size_of::() == 8 || $what <= u32::MAX as u64 { [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `u64::from(u32::MAX)` [INFO] [stderr] ... [INFO] [stderr] 729 | impl_oper!(normal u64, c_ulong, Rem, rem, RemAssign, rem_assign, __gmpz_tdiv_r_ui); [INFO] [stderr] | ----------------------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: `0 as *mut _` detected. Consider using `ptr::null_mut()` [INFO] [stderr] --> src/mpz.rs:782:63 [INFO] [stderr] | [INFO] [stderr] 782 | __gmpz_export(result.as_mut_ptr() as *mut c_void, 0 as *mut size_t, 1, size_of::() as size_t, 0, 0, &other.mpz); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::zero_ptr)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#zero_ptr [INFO] [stderr] [INFO] [stderr] warning: `0 as *mut _` detected. Consider using `ptr::null_mut()` [INFO] [stderr] --> src/mpz.rs:802:71 [INFO] [stderr] | [INFO] [stderr] 802 | __gmpz_export(&mut result as *mut i64 as *mut c_void, 0 as *mut size_t, -1, size_of::() as size_t, 0, 0, &to_export.mpz); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#zero_ptr [INFO] [stderr] [INFO] [stderr] warning: `0 as *mut _` detected. Consider using `ptr::null_mut()` [INFO] [stderr] --> src/mpz.rs:820:71 [INFO] [stderr] | [INFO] [stderr] 820 | __gmpz_export(&mut result as *mut u64 as *mut c_void, 0 as *mut size_t, -1, size_of::() as size_t, 0, 0, &other.mpz); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#zero_ptr [INFO] [stderr] [INFO] [stderr] warning: you should consider adding a `Default` implementation for `mpq::Mpq` [INFO] [stderr] --> src/mpq.rs:73:5 [INFO] [stderr] | [INFO] [stderr] 73 | / pub fn new() -> Mpq { [INFO] [stderr] 74 | | unsafe { [INFO] [stderr] 75 | | let mut mpq = uninitialized(); [INFO] [stderr] 76 | | __gmpq_init(&mut mpq); [INFO] [stderr] 77 | | Mpq { mpq: mpq } [INFO] [stderr] 78 | | } [INFO] [stderr] 79 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 64 | impl Default for mpq::Mpq { [INFO] [stderr] 65 | fn default() -> Self { [INFO] [stderr] 66 | Self::new() [INFO] [stderr] 67 | } [INFO] [stderr] 68 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: casting u8 to i32 may become silently lossy if types change [INFO] [stderr] --> src/mpq.rs:97:62 [INFO] [stderr] | [INFO] [stderr] 97 | let r = __gmpq_set_str(&mut res.mpq, s.as_ptr(), base as c_int); [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `i32::from(base)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: you should consider adding a `Default` implementation for `rand::RandState` [INFO] [stderr] --> src/rand.rs:42:5 [INFO] [stderr] | [INFO] [stderr] 42 | / pub fn new() -> RandState { [INFO] [stderr] 43 | | unsafe { [INFO] [stderr] 44 | | let mut state: gmp_randstate_struct = uninitialized(); [INFO] [stderr] 45 | | __gmp_randinit_default(&mut state); [INFO] [stderr] 46 | | RandState { state: state } [INFO] [stderr] 47 | | } [INFO] [stderr] 48 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 41 | impl Default for rand::RandState { [INFO] [stderr] 42 | fn default() -> Self { [INFO] [stderr] 43 | Self::new() [INFO] [stderr] 44 | } [INFO] [stderr] 45 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] error: equal expressions as operands to `<=` [INFO] [stderr] --> src/test.rs:91:17 [INFO] [stderr] | [INFO] [stderr] 91 | assert!(x <= x && x <= y && x <= z && y <= z); [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::eq_op)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#eq_op [INFO] [stderr] [INFO] [stderr] error: equal expressions as operands to `>=` [INFO] [stderr] --> src/test.rs:93:17 [INFO] [stderr] | [INFO] [stderr] 93 | assert!(z >= z && z >= y && z >= x && y >= x); [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#eq_op [INFO] [stderr] [INFO] [stderr] warning: unused arithmetic operation that must be used [INFO] [stderr] --> src/test.rs:101:9 [INFO] [stderr] | [INFO] [stderr] 101 | x / y; [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_must_use)] on by default [INFO] [stderr] [INFO] [stderr] warning: statement can be reduced [INFO] [stderr] --> src/test.rs:101:9 [INFO] [stderr] | [INFO] [stderr] 101 | x / y; [INFO] [stderr] | ^^^^^^ help: replace it with: `x;y;` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unnecessary_operation)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_operation [INFO] [stderr] [INFO] [stderr] warning: unused arithmetic operation that must be used [INFO] [stderr] --> src/test.rs:109:9 [INFO] [stderr] | [INFO] [stderr] 109 | x % y; [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: statement can be reduced [INFO] [stderr] --> src/test.rs:109:9 [INFO] [stderr] | [INFO] [stderr] 109 | x % y; [INFO] [stderr] | ^^^^^^ help: replace it with: `x;y;` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_operation [INFO] [stderr] [INFO] [stderr] warning: this creates an owned instance just for comparison [INFO] [stderr] --> src/test.rs:163:39 [INFO] [stderr] | [INFO] [stderr] 163 | assert!(x.to_str_radix(16) == "ff".to_string()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: try: `"ff"` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::cmp_owned)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cmp_owned [INFO] [stderr] [INFO] [stderr] warning: this creates an owned instance just for comparison [INFO] [stderr] --> src/test.rs:169:34 [INFO] [stderr] | [INFO] [stderr] 169 | assert!(x.to_string() == "1234567890".to_string()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `"1234567890"` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cmp_owned [INFO] [stderr] [INFO] [stderr] warning: this creates an owned instance just for comparison [INFO] [stderr] --> src/test.rs:190:34 [INFO] [stderr] | [INFO] [stderr] 190 | assert!(x.to_string() == "150".to_string()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try: `"150"` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cmp_owned [INFO] [stderr] [INFO] [stderr] warning: this creates an owned instance just for comparison [INFO] [stderr] --> src/test.rs:198:34 [INFO] [stderr] | [INFO] [stderr] 198 | assert!(x.to_string() == "65535".to_string()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try: `"65535"` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cmp_owned [INFO] [stderr] [INFO] [stderr] warning: unused comparison that must be used [INFO] [stderr] --> src/test.rs:316:9 [INFO] [stderr] | [INFO] [stderr] 316 | Mpz::from_str_radix("1010010011", 2).unwrap().popcount() == 5; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: statement can be reduced [INFO] [stderr] --> src/test.rs:316:9 [INFO] [stderr] | [INFO] [stderr] 316 | Mpz::from_str_radix("1010010011", 2).unwrap().popcount() == 5; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `Mpz::from_str_radix("1010010011", 2).unwrap().popcount();5;` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_operation [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is used to index `ys` [INFO] [stderr] --> src/test.rs:436:18 [INFO] [stderr] | [INFO] [stderr] 436 | for i in 0..xs.bit_length() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_range_loop)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stderr] help: consider using an iterator [INFO] [stderr] | [INFO] [stderr] 436 | for (i, ) in ys.iter().enumerate().take(xs.bit_length()) { [INFO] [stderr] | ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is used to index `ys` [INFO] [stderr] --> src/test.rs:451:18 [INFO] [stderr] | [INFO] [stderr] 451 | for i in 0..xs.bit_length() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stderr] help: consider using an iterator [INFO] [stderr] | [INFO] [stderr] 451 | for (i, ) in ys.iter().enumerate().take(xs.bit_length()) { [INFO] [stderr] | ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error: equal expressions as operands to `-` [INFO] [stderr] --> src/test.rs:502:26 [INFO] [stderr] | [INFO] [stderr] 502 | assert_eq!(hash(&(&a - &a)), hash(&(&one - &one))); [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#eq_op [INFO] [stderr] [INFO] [stderr] error: equal expressions as operands to `-` [INFO] [stderr] --> src/test.rs:502:44 [INFO] [stderr] | [INFO] [stderr] 502 | assert_eq!(hash(&(&a - &a)), hash(&(&one - &one))); [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#eq_op [INFO] [stderr] [INFO] [stderr] warning: unused arithmetic operation that must be used [INFO] [stderr] --> src/test.rs:612:9 [INFO] [stderr] | [INFO] [stderr] 612 | x / y; [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: statement can be reduced [INFO] [stderr] --> src/test.rs:612:9 [INFO] [stderr] | [INFO] [stderr] 612 | x / y; [INFO] [stderr] | ^^^^^^ help: replace it with: `x;y;` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_operation [INFO] [stderr] [INFO] [stderr] warning: unused arithmetic operation that must be used [INFO] [stderr] --> src/test.rs:701:9 [INFO] [stderr] | [INFO] [stderr] 701 | &x / &x; [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: statement can be reduced [INFO] [stderr] --> src/test.rs:701:9 [INFO] [stderr] | [INFO] [stderr] 701 | &x / &x; [INFO] [stderr] | ^^^^^^^^ help: replace it with: `&x;&x;` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_operation [INFO] [stderr] [INFO] [stderr] error: equal expressions as operands to `/` [INFO] [stderr] --> src/test.rs:701:9 [INFO] [stderr] | [INFO] [stderr] 701 | &x / &x; [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#eq_op [INFO] [stderr] [INFO] [stderr] error: aborting due to 6 previous errors [INFO] [stderr] [INFO] [stderr] error: Could not compile `rust-gmp`. [INFO] [stderr] [INFO] [stderr] To learn more, run the command again with --verbose. [INFO] running `"docker" "inspect" "58821b3f8fc7e9689108d57c05b0c5c0657e7cfb8b0eb97f3e0c0dee05a67d8a"` [INFO] running `"docker" "rm" "-f" "58821b3f8fc7e9689108d57c05b0c5c0657e7cfb8b0eb97f3e0c0dee05a67d8a"` [INFO] [stdout] 58821b3f8fc7e9689108d57c05b0c5c0657e7cfb8b0eb97f3e0c0dee05a67d8a