[INFO] crate rsa 0.1.0 is already in cache [INFO] extracting crate rsa 0.1.0 into work/ex/clippy-test-run/sources/stable/reg/rsa/0.1.0 [INFO] extracting crate rsa 0.1.0 into work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/rsa/0.1.0 [INFO] validating manifest of rsa-0.1.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 rsa-0.1.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 rsa-0.1.0 [INFO] finished frobbing rsa-0.1.0 [INFO] frobbed toml for rsa-0.1.0 written to work/ex/clippy-test-run/sources/stable/reg/rsa/0.1.0/Cargo.toml [INFO] started frobbing rsa-0.1.0 [INFO] finished frobbing rsa-0.1.0 [INFO] frobbed toml for rsa-0.1.0 written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/rsa/0.1.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 rsa-0.1.0 against stable for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-6/stable:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable/reg/rsa/0.1.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] 94190d8069319c204170a2d80bcab0a09f0fd2fd89104d3d9fa43bb7fd4d3932 [INFO] running `"docker" "start" "-a" "94190d8069319c204170a2d80bcab0a09f0fd2fd89104d3d9fa43bb7fd4d3932"` [INFO] [stderr] Compiling num-integer v0.1.39 [INFO] [stderr] Compiling num-bigint-dig v0.2.1 [INFO] [stderr] Checking subtle v1.0.0 [INFO] [stderr] Checking sha2 v0.8.0 [INFO] [stderr] Checking num-iter v0.1.37 [INFO] [stderr] Checking rsa v0.1.0 (/opt/crater/workdir) [INFO] [stderr] warning: 5th binding whose name is just one char [INFO] [stderr] --> src/prime.rs:122:17 [INFO] [stderr] | [INFO] [stderr] 122 | let mut y = x.modpow(&q, n); [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::many_single_char_names)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: 5th binding whose name is just one char [INFO] [stderr] --> src/math.rs:21:13 [INFO] [stderr] | [INFO] [stderr] 21 | let mut j = 1; [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: 6th binding whose name is just one char [INFO] [stderr] --> src/math.rs:46:13 [INFO] [stderr] | [INFO] [stderr] 46 | let s = a.trailing_zeros().unwrap(); [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: 7th binding whose name is just one char [INFO] [stderr] --> src/math.rs:54:13 [INFO] [stderr] | [INFO] [stderr] 54 | let c = &a >> s; // a = 2^s*c [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: 5th binding whose name is just one char [INFO] [stderr] --> src/math.rs:124:13 [INFO] [stderr] | [INFO] [stderr] 124 | let mut r: BigInt; [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: 6th binding whose name is just one char [INFO] [stderr] --> src/math.rs:125:13 [INFO] [stderr] | [INFO] [stderr] 125 | let mut s: BigInt; [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: 7th binding whose name is just one char [INFO] [stderr] --> src/math.rs:140:13 [INFO] [stderr] | [INFO] [stderr] 140 | let f = u.bits() - v.bits(); [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: 5th binding whose name is just one char [INFO] [stderr] --> src/prime.rs:122:17 [INFO] [stderr] | [INFO] [stderr] 122 | let mut y = x.modpow(&q, n); [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::many_single_char_names)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: 5th binding whose name is just one char [INFO] [stderr] --> src/math.rs:21:13 [INFO] [stderr] | [INFO] [stderr] 21 | let mut j = 1; [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: 6th binding whose name is just one char [INFO] [stderr] --> src/math.rs:46:13 [INFO] [stderr] | [INFO] [stderr] 46 | let s = a.trailing_zeros().unwrap(); [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: 7th binding whose name is just one char [INFO] [stderr] --> src/math.rs:54:13 [INFO] [stderr] | [INFO] [stderr] 54 | let c = &a >> s; // a = 2^s*c [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: 5th binding whose name is just one char [INFO] [stderr] --> src/math.rs:124:13 [INFO] [stderr] | [INFO] [stderr] 124 | let mut r: BigInt; [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: 6th binding whose name is just one char [INFO] [stderr] --> src/math.rs:125:13 [INFO] [stderr] | [INFO] [stderr] 125 | let mut s: BigInt; [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: 7th binding whose name is just one char [INFO] [stderr] --> src/math.rs:140:13 [INFO] [stderr] | [INFO] [stderr] 140 | let f = u.bits() - v.bits(); [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: taken reference of right operand [INFO] [stderr] --> src/prime.rs:64:8 [INFO] [stderr] | [INFO] [stderr] 64 | if x < &*BIG_64 { [INFO] [stderr] | ^^^^-------- [INFO] [stderr] | | [INFO] [stderr] | help: use the right value directly: `*BIG_64` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::op_ref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/prime.rs:491:27 [INFO] [stderr] | [INFO] [stderr] 491 | while i < 100000 { [INFO] [stderr] | ^^^^^^ help: consider: `100_000` [INFO] [stderr] ... [INFO] [stderr] 512 | / test_pseudo_primes!( [INFO] [stderr] 513 | | test_probably_prime_miller_rabin, [INFO] [stderr] 514 | | |n| probably_prime_miller_rabin(n, 1, true) && !probably_prime_lucas(n), [INFO] [stderr] 515 | | vec![ [INFO] [stderr] ... | [INFO] [stderr] 518 | | ] [INFO] [stderr] 519 | | ); [INFO] [stderr] | |______- in this macro invocation [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/prime.rs:491:27 [INFO] [stderr] | [INFO] [stderr] 491 | while i < 100000 { [INFO] [stderr] | ^^^^^^ help: consider: `100_000` [INFO] [stderr] ... [INFO] [stderr] 521 | / test_pseudo_primes!( [INFO] [stderr] 522 | | test_probably_prime_lucas, [INFO] [stderr] 523 | | |n| probably_prime_lucas(n) && !probably_prime_miller_rabin(n, 1, true), [INFO] [stderr] 524 | | vec![989, 3239, 5777, 10877, 27971, 29681, 30739, 31631, 39059, 72389, 73919, 75077,] [INFO] [stderr] 525 | | ); [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#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/prime.rs:529:23 [INFO] [stderr] | [INFO] [stderr] 529 | let v = &vec![0b10101001]; [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0b1010_1001` [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: taken reference of right operand [INFO] [stderr] --> src/key.rs:342:8 [INFO] [stderr] | [INFO] [stderr] 342 | if public_key.e() < &*MIN_PUB_EXPONENT { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^------------------ [INFO] [stderr] | | [INFO] [stderr] | help: use the right value directly: `*MIN_PUB_EXPONENT` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stderr] [INFO] [stderr] warning: taken reference of right operand [INFO] [stderr] --> src/key.rs:346:8 [INFO] [stderr] | [INFO] [stderr] 346 | if public_key.e() > &*MAX_PUB_EXPONENT { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^------------------ [INFO] [stderr] | | [INFO] [stderr] | help: use the right value directly: `*MAX_PUB_EXPONENT` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stderr] [INFO] [stderr] warning: `if _ { .. } else { .. }` is an expression [INFO] [stderr] --> src/math.rs:125:5 [INFO] [stderr] | [INFO] [stderr] 125 | / let mut s: BigInt; [INFO] [stderr] 126 | | [INFO] [stderr] 127 | | if a.as_ref() < m { [INFO] [stderr] 128 | | u = m.clone(); [INFO] [stderr] ... | [INFO] [stderr] 136 | | s = BigInt::zero(); [INFO] [stderr] 137 | | } [INFO] [stderr] | |_____^ help: it is more idiomatic to write: `let s = if a.as_ref() < m { ..; BigInt::one() } else { ..; BigInt::zero() };` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::useless_let_if_seq)] on by default [INFO] [stderr] = note: you might not need `mut` at all [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_let_if_seq [INFO] [stderr] [INFO] [stderr] error[E0463]: can't find crate for `num_bigint` [INFO] [stderr] --> benches/prime.rs:3:1 [INFO] [stderr] | [INFO] [stderr] 3 | extern crate num_bigint; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ can't find crate [INFO] [stderr] [INFO] [stderr] error: aborting due to previous error [INFO] [stderr] [INFO] [stderr] For more information about this error, try `rustc --explain E0463`. [INFO] [stderr] error: Could not compile `rsa`. [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stderr] error[E0463]: can't find crate for `num_bigint` [INFO] [stderr] --> benches/key.rs:4:1 [INFO] [stderr] | [INFO] [stderr] 4 | extern crate num_bigint; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ can't find crate [INFO] [stderr] [INFO] [stderr] error: aborting due to previous error [INFO] [stderr] [INFO] [stderr] For more information about this error, try `rustc --explain E0463`. [INFO] [stderr] error: Could not compile `rsa`. [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stderr] warning: taken reference of right operand [INFO] [stderr] --> src/prime.rs:64:8 [INFO] [stderr] | [INFO] [stderr] 64 | if x < &*BIG_64 { [INFO] [stderr] | ^^^^-------- [INFO] [stderr] | | [INFO] [stderr] | help: use the right value directly: `*BIG_64` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::op_ref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stderr] [INFO] [stderr] warning: taken reference of right operand [INFO] [stderr] --> src/key.rs:342:8 [INFO] [stderr] | [INFO] [stderr] 342 | if public_key.e() < &*MIN_PUB_EXPONENT { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^------------------ [INFO] [stderr] | | [INFO] [stderr] | help: use the right value directly: `*MIN_PUB_EXPONENT` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stderr] [INFO] [stderr] warning: taken reference of right operand [INFO] [stderr] --> src/key.rs:346:8 [INFO] [stderr] | [INFO] [stderr] 346 | if public_key.e() > &*MAX_PUB_EXPONENT { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^------------------ [INFO] [stderr] | | [INFO] [stderr] | help: use the right value directly: `*MAX_PUB_EXPONENT` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stderr] [INFO] [stderr] warning: useless use of `vec!` [INFO] [stderr] --> src/key.rs:574:36 [INFO] [stderr] | [INFO] [stderr] 574 | BigUint::from_bytes_le(&vec![ [INFO] [stderr] | ____________________________________^ [INFO] [stderr] 575 | | 99, 192, 208, 179, 0, 220, 7, 29, 49, 151, 75, 107, 75, 73, 200, 180, [INFO] [stderr] 576 | | ]), [INFO] [stderr] | |_____________^ help: you can use a slice directly: `&[99, 192, 208, 179, 0, 220, 7, 29, 49, 151, 75, 107, 75, 73, 200, 180]` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::useless_vec)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stderr] [INFO] [stderr] warning: useless use of `vec!` [INFO] [stderr] --> src/key.rs:577:36 [INFO] [stderr] | [INFO] [stderr] 577 | BigUint::from_bytes_le(&vec![1, 0, 1]), [INFO] [stderr] | ^^^^^^^^^^^^^^ help: you can use a slice directly: `&[1, 0, 1]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stderr] [INFO] [stderr] warning: useless use of `vec!` [INFO] [stderr] --> src/key.rs:578:36 [INFO] [stderr] | [INFO] [stderr] 578 | BigUint::from_bytes_le(&vec![ [INFO] [stderr] | ____________________________________^ [INFO] [stderr] 579 | | 81, 163, 254, 144, 171, 159, 144, 42, 244, 133, 51, 249, 28, 12, 63, 65, [INFO] [stderr] 580 | | ]), [INFO] [stderr] | |_____________^ help: you can use a slice directly: `&[81, 163, 254, 144, 171, 159, 144, 42, 244, 133, 51, 249, 28, 12, 63, 65]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stderr] [INFO] [stderr] warning: useless use of `vec!` [INFO] [stderr] --> src/key.rs:582:40 [INFO] [stderr] | [INFO] [stderr] 582 | BigUint::from_bytes_le(&vec![105, 101, 60, 173, 19, 153, 3, 192]), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: you can use a slice directly: `&[105, 101, 60, 173, 19, 153, 3, 192]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stderr] [INFO] [stderr] warning: useless use of `vec!` [INFO] [stderr] --> src/key.rs:583:40 [INFO] [stderr] | [INFO] [stderr] 583 | BigUint::from_bytes_le(&vec![235, 65, 160, 134, 32, 136, 6, 241]), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: you can use a slice directly: `&[235, 65, 160, 134, 32, 136, 6, 241]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stderr] [INFO] [stderr] warning: `if _ { .. } else { .. }` is an expression [INFO] [stderr] --> src/math.rs:125:5 [INFO] [stderr] | [INFO] [stderr] 125 | / let mut s: BigInt; [INFO] [stderr] 126 | | [INFO] [stderr] 127 | | if a.as_ref() < m { [INFO] [stderr] 128 | | u = m.clone(); [INFO] [stderr] ... | [INFO] [stderr] 136 | | s = BigInt::zero(); [INFO] [stderr] 137 | | } [INFO] [stderr] | |_____^ help: it is more idiomatic to write: `let s = if a.as_ref() < m { ..; BigInt::one() } else { ..; BigInt::zero() };` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::useless_let_if_seq)] on by default [INFO] [stderr] = note: you might not need `mut` at all [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_let_if_seq [INFO] [stderr] [INFO] [stderr] error: build failed [INFO] running `"docker" "inspect" "94190d8069319c204170a2d80bcab0a09f0fd2fd89104d3d9fa43bb7fd4d3932"` [INFO] running `"docker" "rm" "-f" "94190d8069319c204170a2d80bcab0a09f0fd2fd89104d3d9fa43bb7fd4d3932"` [INFO] [stdout] 94190d8069319c204170a2d80bcab0a09f0fd2fd89104d3d9fa43bb7fd4d3932