[INFO] crate exonum_sodiumoxide 0.0.20 is already in cache [INFO] extracting crate exonum_sodiumoxide 0.0.20 into work/ex/clippy-test-run/sources/stable/reg/exonum_sodiumoxide/0.0.20 [INFO] extracting crate exonum_sodiumoxide 0.0.20 into work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/exonum_sodiumoxide/0.0.20 [INFO] validating manifest of exonum_sodiumoxide-0.0.20 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 exonum_sodiumoxide-0.0.20 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 exonum_sodiumoxide-0.0.20 [INFO] finished frobbing exonum_sodiumoxide-0.0.20 [INFO] frobbed toml for exonum_sodiumoxide-0.0.20 written to work/ex/clippy-test-run/sources/stable/reg/exonum_sodiumoxide/0.0.20/Cargo.toml [INFO] started frobbing exonum_sodiumoxide-0.0.20 [INFO] finished frobbing exonum_sodiumoxide-0.0.20 [INFO] frobbed toml for exonum_sodiumoxide-0.0.20 written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/exonum_sodiumoxide/0.0.20/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 exonum_sodiumoxide-0.0.20 against stable for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-4/stable:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable/reg/exonum_sodiumoxide/0.0.20:/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] 2c7f01b6b2d6527701a78fbb186888a79b0acbb7e75d5defae474faa93305349 [INFO] running `"docker" "start" "-a" "2c7f01b6b2d6527701a78fbb186888a79b0acbb7e75d5defae474faa93305349"` [INFO] [stderr] Compiling rayon v1.0.3 [INFO] [stderr] Compiling cc v1.0.28 [INFO] [stderr] Compiling miniz-sys v0.1.11 [INFO] [stderr] Compiling miniz_oxide_c_api v0.2.1 [INFO] [stderr] Compiling bzip2-sys v0.1.7 [INFO] [stderr] Compiling bzip2 v0.3.3 [INFO] [stderr] Compiling flate2 v1.0.6 [INFO] [stderr] Compiling zip v0.4.2 [INFO] [stderr] Compiling exonum_libsodium-sys v0.0.20 [INFO] [stderr] Checking exonum_sodiumoxide v0.0.20 (/opt/crater/workdir) [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/crypto/stream/salsa20.rs:28:29 [INFO] [stderr] | [INFO] [stderr] 28 | let output = stream(4194304, &noncesuffix, &secondkey); [INFO] [stderr] | ^^^^^^^ help: consider: `4_194_304` [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/crypto/stream/xsalsa20.rs:32:29 [INFO] [stderr] | [INFO] [stderr] 32 | let output = stream(4194304, &nonce, &firstkey); [INFO] [stderr] | ^^^^^^^ help: consider: `4_194_304` [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: `0 as *const _` detected. Consider using `ptr::null()` [INFO] [stderr] --> src/crypto/aead/aead_macros.rs:67:89 [INFO] [stderr] | [INFO] [stderr] 67 | let (ad_p, ad_len) = ad.map(|ad| (ad.as_ptr(), ad.len() as c_ulonglong)).unwrap_or((0 as *const _, 0)); [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] ::: src/crypto/aead/chacha20poly1305.rs:8:1 [INFO] [stderr] | [INFO] [stderr] 8 | / aead_module!( [INFO] [stderr] 9 | | crypto_aead_chacha20poly1305_encrypt, [INFO] [stderr] 10 | | crypto_aead_chacha20poly1305_decrypt, [INFO] [stderr] 11 | | crypto_aead_chacha20poly1305_encrypt_detached, [INFO] [stderr] ... | [INFO] [stderr] 15 | | crypto_aead_chacha20poly1305_ABYTES [INFO] [stderr] 16 | | ); [INFO] [stderr] | |__- in this macro invocation [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 *const _` detected. Consider using `ptr::null()` [INFO] [stderr] --> src/crypto/aead/aead_macros.rs:67:89 [INFO] [stderr] | [INFO] [stderr] 67 | let (ad_p, ad_len) = ad.map(|ad| (ad.as_ptr(), ad.len() as c_ulonglong)).unwrap_or((0 as *const _, 0)); [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] ::: src/crypto/aead/chacha20poly1305_ietf.rs:9:1 [INFO] [stderr] | [INFO] [stderr] 9 | / aead_module!( [INFO] [stderr] 10 | | crypto_aead_chacha20poly1305_ietf_encrypt, [INFO] [stderr] 11 | | crypto_aead_chacha20poly1305_ietf_decrypt, [INFO] [stderr] 12 | | crypto_aead_chacha20poly1305_ietf_encrypt_detached, [INFO] [stderr] ... | [INFO] [stderr] 16 | | crypto_aead_chacha20poly1305_ietf_ABYTES [INFO] [stderr] 17 | | ); [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#zero_ptr [INFO] [stderr] [INFO] [stderr] warning: `0 as *const _` detected. Consider using `ptr::null()` [INFO] [stderr] --> src/crypto/aead/aead_macros.rs:67:89 [INFO] [stderr] | [INFO] [stderr] 67 | let (ad_p, ad_len) = ad.map(|ad| (ad.as_ptr(), ad.len() as c_ulonglong)).unwrap_or((0 as *const _, 0)); [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] ::: src/crypto/aead/chacha20poly1305.rs:8:1 [INFO] [stderr] | [INFO] [stderr] 8 | / aead_module!( [INFO] [stderr] 9 | | crypto_aead_chacha20poly1305_encrypt, [INFO] [stderr] 10 | | crypto_aead_chacha20poly1305_decrypt, [INFO] [stderr] 11 | | crypto_aead_chacha20poly1305_encrypt_detached, [INFO] [stderr] ... | [INFO] [stderr] 15 | | crypto_aead_chacha20poly1305_ABYTES [INFO] [stderr] 16 | | ); [INFO] [stderr] | |__- in this macro invocation [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 *const _` detected. Consider using `ptr::null()` [INFO] [stderr] --> src/crypto/aead/aead_macros.rs:67:89 [INFO] [stderr] | [INFO] [stderr] 67 | let (ad_p, ad_len) = ad.map(|ad| (ad.as_ptr(), ad.len() as c_ulonglong)).unwrap_or((0 as *const _, 0)); [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] ::: src/crypto/aead/chacha20poly1305_ietf.rs:9:1 [INFO] [stderr] | [INFO] [stderr] 9 | / aead_module!( [INFO] [stderr] 10 | | crypto_aead_chacha20poly1305_ietf_encrypt, [INFO] [stderr] 11 | | crypto_aead_chacha20poly1305_ietf_decrypt, [INFO] [stderr] 12 | | crypto_aead_chacha20poly1305_ietf_encrypt_detached, [INFO] [stderr] ... | [INFO] [stderr] 16 | | crypto_aead_chacha20poly1305_ietf_ABYTES [INFO] [stderr] 17 | | ); [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#zero_ptr [INFO] [stderr] [INFO] [stderr] warning: The function/method `authenticate` doesn't need a mutable reference [INFO] [stderr] --> src/crypto/auth/auth_macros.rs:90:48 [INFO] [stderr] | [INFO] [stderr] 90 | let Tag(mut tagbuf) = authenticate(&mut m, &k); [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] ::: src/crypto/auth/hmacsha256.rs:7:1 [INFO] [stderr] | [INFO] [stderr] 7 | / auth_module!( [INFO] [stderr] 8 | | crypto_auth_hmacsha256, [INFO] [stderr] 9 | | crypto_auth_hmacsha256_verify, [INFO] [stderr] 10 | | crypto_auth_hmacsha256_KEYBYTES, [INFO] [stderr] 11 | | crypto_auth_hmacsha256_BYTES [INFO] [stderr] 12 | | ); [INFO] [stderr] | |__- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unnecessary_mut_passed)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_mut_passed [INFO] [stderr] [INFO] [stderr] warning: The function/method `verify` doesn't need a mutable reference [INFO] [stderr] --> src/crypto/auth/auth_macros.rs:93:47 [INFO] [stderr] | [INFO] [stderr] 93 | assert!(!verify(&Tag(tagbuf), &mut m, &k)); [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] ::: src/crypto/auth/hmacsha256.rs:7:1 [INFO] [stderr] | [INFO] [stderr] 7 | / auth_module!( [INFO] [stderr] 8 | | crypto_auth_hmacsha256, [INFO] [stderr] 9 | | crypto_auth_hmacsha256_verify, [INFO] [stderr] 10 | | crypto_auth_hmacsha256_KEYBYTES, [INFO] [stderr] 11 | | crypto_auth_hmacsha256_BYTES [INFO] [stderr] 12 | | ); [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#unnecessary_mut_passed [INFO] [stderr] [INFO] [stderr] warning: The function/method `verify` doesn't need a mutable reference [INFO] [stderr] --> src/crypto/auth/auth_macros.rs:98:47 [INFO] [stderr] | [INFO] [stderr] 98 | assert!(!verify(&Tag(tagbuf), &mut m, &k)); [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] ::: src/crypto/auth/hmacsha256.rs:7:1 [INFO] [stderr] | [INFO] [stderr] 7 | / auth_module!( [INFO] [stderr] 8 | | crypto_auth_hmacsha256, [INFO] [stderr] 9 | | crypto_auth_hmacsha256_verify, [INFO] [stderr] 10 | | crypto_auth_hmacsha256_KEYBYTES, [INFO] [stderr] 11 | | crypto_auth_hmacsha256_BYTES [INFO] [stderr] 12 | | ); [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#unnecessary_mut_passed [INFO] [stderr] [INFO] [stderr] warning: The function/method `authenticate` doesn't need a mutable reference [INFO] [stderr] --> src/crypto/auth/auth_macros.rs:90:48 [INFO] [stderr] | [INFO] [stderr] 90 | let Tag(mut tagbuf) = authenticate(&mut m, &k); [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] ::: src/crypto/auth/hmacsha512.rs:7:1 [INFO] [stderr] | [INFO] [stderr] 7 | / auth_module!( [INFO] [stderr] 8 | | crypto_auth_hmacsha512, [INFO] [stderr] 9 | | crypto_auth_hmacsha512_verify, [INFO] [stderr] 10 | | crypto_auth_hmacsha512_KEYBYTES, [INFO] [stderr] 11 | | crypto_auth_hmacsha512_BYTES [INFO] [stderr] 12 | | ); [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#unnecessary_mut_passed [INFO] [stderr] [INFO] [stderr] warning: The function/method `verify` doesn't need a mutable reference [INFO] [stderr] --> src/crypto/auth/auth_macros.rs:93:47 [INFO] [stderr] | [INFO] [stderr] 93 | assert!(!verify(&Tag(tagbuf), &mut m, &k)); [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] ::: src/crypto/auth/hmacsha512.rs:7:1 [INFO] [stderr] | [INFO] [stderr] 7 | / auth_module!( [INFO] [stderr] 8 | | crypto_auth_hmacsha512, [INFO] [stderr] 9 | | crypto_auth_hmacsha512_verify, [INFO] [stderr] 10 | | crypto_auth_hmacsha512_KEYBYTES, [INFO] [stderr] 11 | | crypto_auth_hmacsha512_BYTES [INFO] [stderr] 12 | | ); [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#unnecessary_mut_passed [INFO] [stderr] [INFO] [stderr] warning: The function/method `verify` doesn't need a mutable reference [INFO] [stderr] --> src/crypto/auth/auth_macros.rs:98:47 [INFO] [stderr] | [INFO] [stderr] 98 | assert!(!verify(&Tag(tagbuf), &mut m, &k)); [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] ::: src/crypto/auth/hmacsha512.rs:7:1 [INFO] [stderr] | [INFO] [stderr] 7 | / auth_module!( [INFO] [stderr] 8 | | crypto_auth_hmacsha512, [INFO] [stderr] 9 | | crypto_auth_hmacsha512_verify, [INFO] [stderr] 10 | | crypto_auth_hmacsha512_KEYBYTES, [INFO] [stderr] 11 | | crypto_auth_hmacsha512_BYTES [INFO] [stderr] 12 | | ); [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#unnecessary_mut_passed [INFO] [stderr] [INFO] [stderr] warning: The function/method `authenticate` doesn't need a mutable reference [INFO] [stderr] --> src/crypto/auth/auth_macros.rs:90:48 [INFO] [stderr] | [INFO] [stderr] 90 | let Tag(mut tagbuf) = authenticate(&mut m, &k); [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] ::: src/crypto/auth/hmacsha512256.rs:9:1 [INFO] [stderr] | [INFO] [stderr] 9 | / auth_module!( [INFO] [stderr] 10 | | crypto_auth_hmacsha512256, [INFO] [stderr] 11 | | crypto_auth_hmacsha512256_verify, [INFO] [stderr] 12 | | crypto_auth_hmacsha512256_KEYBYTES, [INFO] [stderr] 13 | | crypto_auth_hmacsha512256_BYTES [INFO] [stderr] 14 | | ); [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#unnecessary_mut_passed [INFO] [stderr] [INFO] [stderr] warning: The function/method `verify` doesn't need a mutable reference [INFO] [stderr] --> src/crypto/auth/auth_macros.rs:93:47 [INFO] [stderr] | [INFO] [stderr] 93 | assert!(!verify(&Tag(tagbuf), &mut m, &k)); [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] ::: src/crypto/auth/hmacsha512256.rs:9:1 [INFO] [stderr] | [INFO] [stderr] 9 | / auth_module!( [INFO] [stderr] 10 | | crypto_auth_hmacsha512256, [INFO] [stderr] 11 | | crypto_auth_hmacsha512256_verify, [INFO] [stderr] 12 | | crypto_auth_hmacsha512256_KEYBYTES, [INFO] [stderr] 13 | | crypto_auth_hmacsha512256_BYTES [INFO] [stderr] 14 | | ); [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#unnecessary_mut_passed [INFO] [stderr] [INFO] [stderr] warning: The function/method `verify` doesn't need a mutable reference [INFO] [stderr] --> src/crypto/auth/auth_macros.rs:98:47 [INFO] [stderr] | [INFO] [stderr] 98 | assert!(!verify(&Tag(tagbuf), &mut m, &k)); [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] ::: src/crypto/auth/hmacsha512256.rs:9:1 [INFO] [stderr] | [INFO] [stderr] 9 | / auth_module!( [INFO] [stderr] 10 | | crypto_auth_hmacsha512256, [INFO] [stderr] 11 | | crypto_auth_hmacsha512256_verify, [INFO] [stderr] 12 | | crypto_auth_hmacsha512256_KEYBYTES, [INFO] [stderr] 13 | | crypto_auth_hmacsha512256_BYTES [INFO] [stderr] 14 | | ); [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#unnecessary_mut_passed [INFO] [stderr] [INFO] [stderr] warning: The function/method `open` doesn't need a mutable reference [INFO] [stderr] --> src/crypto/box_/curve25519xsalsa20poly1305.rs:335:41 [INFO] [stderr] | [INFO] [stderr] 335 | assert!(Err(()) == open(&mut c, &n, &pk2, &sk1)); [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_mut_passed [INFO] [stderr] [INFO] [stderr] warning: The function/method `open_precomputed` doesn't need a mutable reference [INFO] [stderr] --> src/crypto/box_/curve25519xsalsa20poly1305.rs:354:53 [INFO] [stderr] | [INFO] [stderr] 354 | assert!(Err(()) == open_precomputed(&mut c, &n, &k2)); [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_mut_passed [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/crypto/hash/sha256.rs:89:16 [INFO] [stderr] | [INFO] [stderr] 89 | if line.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `line.is_empty()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::len_zero)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: needlessly taken reference of both operands [INFO] [stderr] --> src/crypto/hash/sha256.rs:104:25 [INFO] [stderr] | [INFO] [stderr] 104 | assert!(&digest[..] == &md[..]); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [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] help: use the values directly [INFO] [stderr] | [INFO] [stderr] 104 | assert!(digest[..] == md[..]); [INFO] [stderr] | ^^^^^^^^^^ ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: needlessly taken reference of both operands [INFO] [stderr] --> src/crypto/hash/sha256.rs:105:25 [INFO] [stderr] | [INFO] [stderr] 105 | assert!(&digest1[..] == &md[..]); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stderr] help: use the values directly [INFO] [stderr] | [INFO] [stderr] 105 | assert!(digest1[..] == md[..]); [INFO] [stderr] | ^^^^^^^^^^^ ^^^^^^ [INFO] [stderr] [INFO] [stderr] error: this comparison involving the minimum or maximum element for this type contains a case that is always true or always false [INFO] [stderr] --> src/crypto/hash/sha256.rs:118:16 [INFO] [stderr] | [INFO] [stderr] 118 | if len <= 0 { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::absurd_extreme_comparisons)] on by default [INFO] [stderr] = help: because 0 is the minimum value for this type, the case where the two sides are not equal never occurs, consider using len == 0 instead [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#absurd_extreme_comparisons [INFO] [stderr] [INFO] [stderr] warning: needlessly taken reference of both operands [INFO] [stderr] --> src/crypto/hash/sha512.rs:55:17 [INFO] [stderr] | [INFO] [stderr] 55 | assert!(&h[..] == &h_expected[..]); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stderr] help: use the values directly [INFO] [stderr] | [INFO] [stderr] 55 | assert!(h[..] == h_expected[..]); [INFO] [stderr] | ^^^^^ ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: needlessly taken reference of both operands [INFO] [stderr] --> src/crypto/hash/sha512.rs:56:17 [INFO] [stderr] | [INFO] [stderr] 56 | assert!(&h1[..] == &h_expected[..]); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stderr] help: use the values directly [INFO] [stderr] | [INFO] [stderr] 56 | assert!(h1[..] == h_expected[..]); [INFO] [stderr] | ^^^^^^ ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: needlessly taken reference of both operands [INFO] [stderr] --> src/crypto/hash/sha512.rs:57:17 [INFO] [stderr] | [INFO] [stderr] 57 | assert!(&h2[..] == &h_expected[..]); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stderr] help: use the values directly [INFO] [stderr] | [INFO] [stderr] 57 | assert!(h2[..] == h_expected[..]); [INFO] [stderr] | ^^^^^^ ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/crypto/hash/sha512.rs:70:16 [INFO] [stderr] | [INFO] [stderr] 70 | if line.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `line.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: needlessly taken reference of both operands [INFO] [stderr] --> src/crypto/hash/sha512.rs:85:25 [INFO] [stderr] | [INFO] [stderr] 85 | assert!(&digest[..] == &md[..]); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stderr] help: use the values directly [INFO] [stderr] | [INFO] [stderr] 85 | assert!(digest[..] == md[..]); [INFO] [stderr] | ^^^^^^^^^^ ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: needlessly taken reference of both operands [INFO] [stderr] --> src/crypto/hash/sha512.rs:86:25 [INFO] [stderr] | [INFO] [stderr] 86 | assert!(&digest1[..] == &md[..]); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stderr] help: use the values directly [INFO] [stderr] | [INFO] [stderr] 86 | assert!(digest1[..] == md[..]); [INFO] [stderr] | ^^^^^^^^^^^ ^^^^^^ [INFO] [stderr] [INFO] [stderr] error: this comparison involving the minimum or maximum element for this type contains a case that is always true or always false [INFO] [stderr] --> src/crypto/hash/sha512.rs:100:16 [INFO] [stderr] | [INFO] [stderr] 100 | if len <= 0 { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: because 0 is the minimum value for this type, the case where the two sides are not equal never occurs, consider using len == 0 instead [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#absurd_extreme_comparisons [INFO] [stderr] [INFO] [stderr] warning: The function/method `authenticate` doesn't need a mutable reference [INFO] [stderr] --> src/crypto/onetimeauth/../auth/auth_macros.rs:90:48 [INFO] [stderr] | [INFO] [stderr] 90 | let Tag(mut tagbuf) = authenticate(&mut m, &k); [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] ::: src/crypto/onetimeauth/poly1305.rs:8:1 [INFO] [stderr] | [INFO] [stderr] 8 | / auth_module!( [INFO] [stderr] 9 | | crypto_onetimeauth_poly1305, [INFO] [stderr] 10 | | crypto_onetimeauth_poly1305_verify, [INFO] [stderr] 11 | | crypto_onetimeauth_poly1305_KEYBYTES, [INFO] [stderr] 12 | | crypto_onetimeauth_poly1305_BYTES [INFO] [stderr] 13 | | ); [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#unnecessary_mut_passed [INFO] [stderr] [INFO] [stderr] warning: The function/method `verify` doesn't need a mutable reference [INFO] [stderr] --> src/crypto/onetimeauth/../auth/auth_macros.rs:93:47 [INFO] [stderr] | [INFO] [stderr] 93 | assert!(!verify(&Tag(tagbuf), &mut m, &k)); [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] ::: src/crypto/onetimeauth/poly1305.rs:8:1 [INFO] [stderr] | [INFO] [stderr] 8 | / auth_module!( [INFO] [stderr] 9 | | crypto_onetimeauth_poly1305, [INFO] [stderr] 10 | | crypto_onetimeauth_poly1305_verify, [INFO] [stderr] 11 | | crypto_onetimeauth_poly1305_KEYBYTES, [INFO] [stderr] 12 | | crypto_onetimeauth_poly1305_BYTES [INFO] [stderr] 13 | | ); [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#unnecessary_mut_passed [INFO] [stderr] [INFO] [stderr] warning: The function/method `verify` doesn't need a mutable reference [INFO] [stderr] --> src/crypto/onetimeauth/../auth/auth_macros.rs:98:47 [INFO] [stderr] | [INFO] [stderr] 98 | assert!(!verify(&Tag(tagbuf), &mut m, &k)); [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] ::: src/crypto/onetimeauth/poly1305.rs:8:1 [INFO] [stderr] | [INFO] [stderr] 8 | / auth_module!( [INFO] [stderr] 9 | | crypto_onetimeauth_poly1305, [INFO] [stderr] 10 | | crypto_onetimeauth_poly1305_verify, [INFO] [stderr] 11 | | crypto_onetimeauth_poly1305_KEYBYTES, [INFO] [stderr] 12 | | crypto_onetimeauth_poly1305_BYTES [INFO] [stderr] 13 | | ); [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#unnecessary_mut_passed [INFO] [stderr] [INFO] [stderr] warning: The function/method `open` doesn't need a mutable reference [INFO] [stderr] --> src/crypto/sealedbox/curve25519blake2bxsalsa20poly1305.rs:84:41 [INFO] [stderr] | [INFO] [stderr] 84 | assert!(Err(()) == open(&mut c, &pk, &sk)); [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_mut_passed [INFO] [stderr] [INFO] [stderr] warning: The function/method `open` doesn't need a mutable reference [INFO] [stderr] --> src/crypto/secretbox/xsalsa20poly1305.rs:163:42 [INFO] [stderr] | [INFO] [stderr] 163 | assert_eq!(Err(()), open(&mut c, &n, &k)); [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_mut_passed [INFO] [stderr] [INFO] [stderr] warning: The function/method `verify` doesn't need a mutable reference [INFO] [stderr] --> src/crypto/sign/ed25519.rs:297:43 [INFO] [stderr] | [INFO] [stderr] 297 | assert!(Err(()) == verify(&mut sm, &pk)); [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_mut_passed [INFO] [stderr] [INFO] [stderr] warning: The function/method `verify` doesn't need a mutable reference [INFO] [stderr] --> src/crypto/sign/ed25519.rs:356:43 [INFO] [stderr] | [INFO] [stderr] 356 | assert!(Err(()) == verify(&mut sm, &pk)); [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_mut_passed [INFO] [stderr] [INFO] [stderr] warning: needlessly taken reference of both operands [INFO] [stderr] --> src/crypto/stream/xsalsa20.rs:102:17 [INFO] [stderr] | [INFO] [stderr] 102 | assert!(&c[32..] == &c_expected[..]); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stderr] help: use the values directly [INFO] [stderr] | [INFO] [stderr] 102 | assert!(c[32..] == c_expected[..]); [INFO] [stderr] | ^^^^^^^ ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error: aborting due to 2 previous errors [INFO] [stderr] [INFO] [stderr] error: Could not compile `exonum_sodiumoxide`. [INFO] [stderr] [INFO] [stderr] To learn more, run the command again with --verbose. [INFO] running `"docker" "inspect" "2c7f01b6b2d6527701a78fbb186888a79b0acbb7e75d5defae474faa93305349"` [INFO] running `"docker" "rm" "-f" "2c7f01b6b2d6527701a78fbb186888a79b0acbb7e75d5defae474faa93305349"` [INFO] [stdout] 2c7f01b6b2d6527701a78fbb186888a79b0acbb7e75d5defae474faa93305349