[INFO] crate ethash 0.3.1 is already in cache [INFO] extracting crate ethash 0.3.1 into work/ex/clippy-test-run/sources/stable/reg/ethash/0.3.1 [INFO] extracting crate ethash 0.3.1 into work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/ethash/0.3.1 [INFO] validating manifest of ethash-0.3.1 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 ethash-0.3.1 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 ethash-0.3.1 [INFO] finished frobbing ethash-0.3.1 [INFO] frobbed toml for ethash-0.3.1 written to work/ex/clippy-test-run/sources/stable/reg/ethash/0.3.1/Cargo.toml [INFO] started frobbing ethash-0.3.1 [INFO] finished frobbing ethash-0.3.1 [INFO] frobbed toml for ethash-0.3.1 written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/ethash/0.3.1/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 ethash-0.3.1 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/ethash/0.3.1:/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] e8a5b725d9ca1a9bded360b326130c982ce7e04a26991e5144e2a5d4718ced7a [INFO] running `"docker" "start" "-a" "e8a5b725d9ca1a9bded360b326130c982ce7e04a26991e5144e2a5d4718ced7a"` [INFO] [stderr] Checking elastic-array-plus v0.9.1 [INFO] [stderr] Checking ethereum-hexutil v0.2.3 [INFO] [stderr] Checking blockchain v0.2.0 [INFO] [stderr] Checking blockchain v0.1.9 [INFO] [stderr] Checking block-buffer v0.2.0 [INFO] [stderr] Checking hmac v0.4.2 [INFO] [stderr] Checking hmac-drbg v0.1.2 [INFO] [stderr] Checking sha2 v0.6.0 [INFO] [stderr] Checking sha3 v0.6.0 [INFO] [stderr] Checking libsecp256k1 v0.1.15 [INFO] [stderr] Checking ethereum-rlp v0.2.3 [INFO] [stderr] Checking ethereum-bigint v0.2.9 [INFO] [stderr] Checking ethereum-trie v0.3.8 [INFO] [stderr] Checking ethereum-block-core v0.1.0 [INFO] [stderr] Checking ethereum-bloom v0.2.1 [INFO] [stderr] Checking ethash v0.3.1 (/opt/crater/workdir) [INFO] [stderr] warning: 5th binding whose name is just one char [INFO] [stderr] --> src/miller_rabin.rs:16:13 [INFO] [stderr] | [INFO] [stderr] 16 | let t = (x as isize >> 63) as usize; [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/lib.rs:91:21 [INFO] [stderr] | [INFO] [stderr] 91 | let b = cache[v * 64 + j]; [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/lib.rs:215:17 [INFO] [stderr] | [INFO] [stderr] 215 | let v = lookup(p + j); [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/lib.rs:225:13 [INFO] [stderr] | [INFO] [stderr] 225 | let a = fnv((&mix[(j * 4)..]).read_u32::().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: 6th binding whose name is just one char [INFO] [stderr] --> src/lib.rs:227:13 [INFO] [stderr] | [INFO] [stderr] 227 | let b = fnv(a, (&mix[((j + 2) * 4)..]).read_u32::().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/lib.rs:228:13 [INFO] [stderr] | [INFO] [stderr] 228 | let c = fnv(b, (&mix[((j + 3) * 4)..]).read_u32::().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: 5th binding whose name is just one char [INFO] [stderr] --> src/lib.rs:237:17 [INFO] [stderr] | [INFO] [stderr] 237 | let mut z = [0u8; 32]; [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: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/miller_rabin.rs:84:18 [INFO] [stderr] | [INFO] [stderr] 84 | const HINT: &'static [usize] = &[2]; [INFO] [stderr] | -^^^^^^^-------- help: consider removing `'static`: `&[usize]` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::const_static_lifetime)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#const_static_lifetime [INFO] [stderr] [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/miller_rabin.rs:90:23 [INFO] [stderr] | [INFO] [stderr] 90 | const WITNESSES: &'static [(usize, &'static [usize])] = [INFO] [stderr] | -^^^^^^^---------------------------- help: consider removing `'static`: `&[(usize, &'static [usize])]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#const_static_lifetime [INFO] [stderr] [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/miller_rabin.rs:90:41 [INFO] [stderr] | [INFO] [stderr] 90 | const WITNESSES: &'static [(usize, &'static [usize])] = [INFO] [stderr] | -^^^^^^^-------- help: consider removing `'static`: `&[usize]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#const_static_lifetime [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/miller_rabin.rs:96:46 [INFO] [stderr] | [INFO] [stderr] 96 | (1_112_004_669_632, &[2, 13, 23, 1662803]), [INFO] [stderr] | ^^^^^^^ help: consider: `1_662_803` [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: unused import: `H1024` [INFO] [stderr] --> src/lib.rs:17:14 [INFO] [stderr] | [INFO] [stderr] 17 | use bigint::{H1024, U256, H256, H64, H512}; [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_imports)] on by default [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/lib.rs:22:35 [INFO] [stderr] | [INFO] [stderr] 22 | const DATASET_BYTES_INIT: usize = 1073741824; // 2 to the power of 30. [INFO] [stderr] | ^^^^^^^^^^ help: consider: `1_073_741_824` [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/lib.rs:23:37 [INFO] [stderr] | [INFO] [stderr] 23 | const DATASET_BYTES_GROWTH: usize = 8388608; // 2 to the power of 23. [INFO] [stderr] | ^^^^^^^ help: consider: `8_388_608` [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/lib.rs:24:33 [INFO] [stderr] | [INFO] [stderr] 24 | const CACHE_BYTES_INIT: usize = 16777216; // 2 to the power of 24. [INFO] [stderr] | ^^^^^^^^ help: consider: `16_777_216` [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/lib.rs:25:35 [INFO] [stderr] | [INFO] [stderr] 25 | const CACHE_BYTES_GROWTH: usize = 131072; // 2 to the power of 17. [INFO] [stderr] | ^^^^^^ help: consider: `131_072` [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/lib.rs:99:24 [INFO] [stderr] | [INFO] [stderr] 99 | const FNV_PRIME: u32 = 0x01000193; [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0x0100_0193` [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: operator precedence can trip the unwary [INFO] [stderr] --> src/lib.rs:104:9 [INFO] [stderr] | [INFO] [stderr] 104 | ((((v1 * 0x01000000 | 0) + (v1 * 0x193 | 0)) ^ v2) >> 0) as u32 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: consider parenthesizing your expression: `(v1 * 0x01000000) | 0` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::precedence)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#precedence [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/lib.rs:104:14 [INFO] [stderr] | [INFO] [stderr] 104 | ((((v1 * 0x01000000 | 0) + (v1 * 0x193 | 0)) ^ v2) >> 0) as u32 [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0x0100_0000` [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: operator precedence can trip the unwary [INFO] [stderr] --> src/lib.rs:104:33 [INFO] [stderr] | [INFO] [stderr] 104 | ((((v1 * 0x01000000 | 0) + (v1 * 0x193 | 0)) ^ v2) >> 0) as u32 [INFO] [stderr] | ^^^^^^^^^^^^^^ help: consider parenthesizing your expression: `(v1 * 0x193) | 0` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#precedence [INFO] [stderr] [INFO] [stderr] warning: operator precedence can trip the unwary [INFO] [stderr] --> src/lib.rs:137:5 [INFO] [stderr] | [INFO] [stderr] 137 | / (a[0] as u32) + (a[1] as u32) << 8 + [INFO] [stderr] 138 | | (a[2] as u32) << 16 + (a[3] as u32) << 24 [INFO] [stderr] | |___________________________________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#precedence [INFO] [stderr] help: consider parenthesizing your expression [INFO] [stderr] | [INFO] [stderr] 137 | (a[0] as u32) + (a[1] as u32) << 8 + [INFO] [stderr] 138 | (a[2] as u32) << (16 + (a[3] as u32)) << 24 [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: operator precedence can trip the unwary [INFO] [stderr] --> src/lib.rs:137:5 [INFO] [stderr] | [INFO] [stderr] 137 | / (a[0] as u32) + (a[1] as u32) << 8 + [INFO] [stderr] 138 | | (a[2] as u32) << 16 + (a[3] as u32) << 24 [INFO] [stderr] | |_____________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#precedence [INFO] [stderr] help: consider parenthesizing your expression [INFO] [stderr] | [INFO] [stderr] 137 | ((a[0] as u32) + (a[1] as u32)) << (8 + [INFO] [stderr] 138 | (a[2] as u32)) << 16 + (a[3] as u32) << 24 [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unused variable: `a32` [INFO] [stderr] --> src/lib.rs:111:13 [INFO] [stderr] | [INFO] [stderr] 111 | let a32 = (&a[j..]).read_u32::().unwrap(); [INFO] [stderr] | ^^^ help: consider using `_a32` instead [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_variables)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `b32` [INFO] [stderr] --> src/lib.rs:112:13 [INFO] [stderr] | [INFO] [stderr] 112 | let b32 = (&b[j..]).read_u32::().unwrap(); [INFO] [stderr] | ^^^ help: consider using `_b32` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `a32` [INFO] [stderr] --> src/lib.rs:125:13 [INFO] [stderr] | [INFO] [stderr] 125 | let a32 = (&a[j..]).read_u32::().unwrap(); [INFO] [stderr] | ^^^ help: consider using `_a32` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `b32` [INFO] [stderr] --> src/lib.rs:126:13 [INFO] [stderr] | [INFO] [stderr] 126 | let b32 = (&b[j..]).read_u32::().unwrap(); [INFO] [stderr] | ^^^ help: consider using `_b32` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `n` [INFO] [stderr] --> src/lib.rs:136:9 [INFO] [stderr] | [INFO] [stderr] 136 | let n = a.len(); [INFO] [stderr] | ^ help: consider using `_n` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `i` [INFO] [stderr] --> src/lib.rs:307:9 [INFO] [stderr] | [INFO] [stderr] 307 | for i in 0..epoch { [INFO] [stderr] | ^ help: consider using `_i` instead [INFO] [stderr] [INFO] [stderr] warning: field is never used: `cache_size` [INFO] [stderr] --> src/dag.rs:16:5 [INFO] [stderr] | [INFO] [stderr] 16 | cache_size: usize, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(dead_code)] on by default [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `CACHE_MULTIPLIER` [INFO] [stderr] --> src/lib.rs:26:1 [INFO] [stderr] | [INFO] [stderr] 26 | const CACHE_MULTIPLIER: usize = 1024; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `FNV_PRIME` [INFO] [stderr] --> src/lib.rs:99:1 [INFO] [stderr] | [INFO] [stderr] 99 | const FNV_PRIME: u32 = 0x01000193; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `u8s_to_u32` [INFO] [stderr] --> src/lib.rs:135:1 [INFO] [stderr] | [INFO] [stderr] 135 | fn u8s_to_u32(a: &[u8]) -> u32 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: slow zero-filling initialization [INFO] [stderr] --> src/dag.rs:29:9 [INFO] [stderr] | [INFO] [stderr] 28 | let mut cache: Vec = Vec::with_capacity(cache_size); [INFO] [stderr] | ------------------------------ help: consider replace allocation with: `vec![0; cache_size]` [INFO] [stderr] 29 | cache.resize(cache_size, 0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::slow_vector_initialization)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#slow_vector_initialization [INFO] [stderr] [INFO] [stderr] warning: casting u32 to u64 may become silently lossy if types change [INFO] [stderr] --> src/lib.rs:101:14 [INFO] [stderr] | [INFO] [stderr] 101 | let v1 = v1 as u64; [INFO] [stderr] | ^^^^^^^^^ help: try: `u64::from(v1)` [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 u32 to u64 may become silently lossy if types change [INFO] [stderr] --> src/lib.rs:102:14 [INFO] [stderr] | [INFO] [stderr] 102 | let v2 = v2 as u64; [INFO] [stderr] | ^^^^^^^^^ help: try: `u64::from(v2)` [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 operation is ineffective. Consider reducing it to `(((v1 * 0x01000000 | 0) + (v1 * 0x193 | 0)) ^ v2)` [INFO] [stderr] --> src/lib.rs:104:5 [INFO] [stderr] | [INFO] [stderr] 104 | ((((v1 * 0x01000000 | 0) + (v1 * 0x193 | 0)) ^ v2) >> 0) as u32 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::identity_op)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stderr] [INFO] [stderr] warning: the operation is ineffective. Consider reducing it to `v1 * 0x01000000` [INFO] [stderr] --> src/lib.rs:104:8 [INFO] [stderr] | [INFO] [stderr] 104 | ((((v1 * 0x01000000 | 0) + (v1 * 0x193 | 0)) ^ v2) >> 0) as u32 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stderr] [INFO] [stderr] warning: the operation is ineffective. Consider reducing it to `v1 * 0x193` [INFO] [stderr] --> src/lib.rs:104:32 [INFO] [stderr] | [INFO] [stderr] 104 | ((((v1 * 0x01000000 | 0) + (v1 * 0x193 | 0)) ^ v2) >> 0) as u32 [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/lib.rs:114:9 [INFO] [stderr] | [INFO] [stderr] 114 | / (&mut r[j..]).write_u32::( [INFO] [stderr] 115 | | fnv((&a[j..]).read_u32::().unwrap(), [INFO] [stderr] 116 | | (&b[j..]).read_u32::().unwrap())); [INFO] [stderr] | |________________________________________________________________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_must_use)] on by default [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/lib.rs:128:9 [INFO] [stderr] | [INFO] [stderr] 128 | / (&mut r[j..]).write_u32::( [INFO] [stderr] 129 | | fnv((&a[j..]).read_u32::().unwrap(), [INFO] [stderr] 130 | | (&b[j..]).read_u32::().unwrap())); [INFO] [stderr] | |________________________________________________________________^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u32 may become silently lossy if types change [INFO] [stderr] --> src/lib.rs:137:5 [INFO] [stderr] | [INFO] [stderr] 137 | (a[0] as u32) + (a[1] as u32) << 8 + [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `u32::from(a[0])` [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 u32 may become silently lossy if types change [INFO] [stderr] --> src/lib.rs:137:21 [INFO] [stderr] | [INFO] [stderr] 137 | (a[0] as u32) + (a[1] as u32) << 8 + [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `u32::from(a[1])` [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 u32 may become silently lossy if types change [INFO] [stderr] --> src/lib.rs:138:9 [INFO] [stderr] | [INFO] [stderr] 138 | (a[2] as u32) << 16 + (a[3] as u32) << 24 [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `u32::from(a[2])` [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 u32 may become silently lossy if types change [INFO] [stderr] --> src/lib.rs:138:31 [INFO] [stderr] | [INFO] [stderr] 138 | (a[2] as u32) << 16 + (a[3] as u32) << 24 [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `u32::from(a[3])` [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: unused `std::result::Result` that must be used [INFO] [stderr] --> src/lib.rs:152:5 [INFO] [stderr] | [INFO] [stderr] 152 | mix.as_mut().write_u32::(mix_first32); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: it looks like you're manually copying between slices [INFO] [stderr] --> src/lib.rs:155:18 [INFO] [stderr] | [INFO] [stderr] 155 | for j in 0..64 { [INFO] [stderr] | ^^^^^ help: try replacing the loop by: `remix[..64].clone_from_slice(&mix[..64])` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::manual_memcpy)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_memcpy [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/lib.rs:230:9 [INFO] [stderr] | [INFO] [stderr] 230 | (&mut cmix[j..]).write_u32::(c); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/lib.rs:308:22 [INFO] [stderr] | [INFO] [stderr] 308 | fill_sha256(&s.clone(), &mut s, 0); [INFO] [stderr] | ^^^^^^^^^ help: try removing the `clone` call: `s` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::clone_on_copy)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] Checking ethereum-block v0.3.5 [INFO] [stderr] warning: 5th binding whose name is just one char [INFO] [stderr] --> src/miller_rabin.rs:16:13 [INFO] [stderr] | [INFO] [stderr] 16 | let t = (x as isize >> 63) as usize; [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/lib.rs:91:21 [INFO] [stderr] | [INFO] [stderr] 91 | let b = cache[v * 64 + j]; [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/lib.rs:215:17 [INFO] [stderr] | [INFO] [stderr] 215 | let v = lookup(p + j); [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/lib.rs:225:13 [INFO] [stderr] | [INFO] [stderr] 225 | let a = fnv((&mix[(j * 4)..]).read_u32::().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: 6th binding whose name is just one char [INFO] [stderr] --> src/lib.rs:227:13 [INFO] [stderr] | [INFO] [stderr] 227 | let b = fnv(a, (&mix[((j + 2) * 4)..]).read_u32::().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/lib.rs:228:13 [INFO] [stderr] | [INFO] [stderr] 228 | let c = fnv(b, (&mix[((j + 3) * 4)..]).read_u32::().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: 5th binding whose name is just one char [INFO] [stderr] --> src/lib.rs:237:17 [INFO] [stderr] | [INFO] [stderr] 237 | let mut z = [0u8; 32]; [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: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/miller_rabin.rs:84:18 [INFO] [stderr] | [INFO] [stderr] 84 | const HINT: &'static [usize] = &[2]; [INFO] [stderr] | -^^^^^^^-------- help: consider removing `'static`: `&[usize]` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::const_static_lifetime)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#const_static_lifetime [INFO] [stderr] [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/miller_rabin.rs:90:23 [INFO] [stderr] | [INFO] [stderr] 90 | const WITNESSES: &'static [(usize, &'static [usize])] = [INFO] [stderr] | -^^^^^^^---------------------------- help: consider removing `'static`: `&[(usize, &'static [usize])]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#const_static_lifetime [INFO] [stderr] [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/miller_rabin.rs:90:41 [INFO] [stderr] | [INFO] [stderr] 90 | const WITNESSES: &'static [(usize, &'static [usize])] = [INFO] [stderr] | -^^^^^^^-------- help: consider removing `'static`: `&[usize]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#const_static_lifetime [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/miller_rabin.rs:96:46 [INFO] [stderr] | [INFO] [stderr] 96 | (1_112_004_669_632, &[2, 13, 23, 1662803]), [INFO] [stderr] | ^^^^^^^ help: consider: `1_662_803` [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: unused import: `H1024` [INFO] [stderr] --> src/lib.rs:17:14 [INFO] [stderr] | [INFO] [stderr] 17 | use bigint::{H1024, U256, H256, H64, H512}; [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_imports)] on by default [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/lib.rs:22:35 [INFO] [stderr] | [INFO] [stderr] 22 | const DATASET_BYTES_INIT: usize = 1073741824; // 2 to the power of 30. [INFO] [stderr] | ^^^^^^^^^^ help: consider: `1_073_741_824` [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/lib.rs:23:37 [INFO] [stderr] | [INFO] [stderr] 23 | const DATASET_BYTES_GROWTH: usize = 8388608; // 2 to the power of 23. [INFO] [stderr] | ^^^^^^^ help: consider: `8_388_608` [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/lib.rs:24:33 [INFO] [stderr] | [INFO] [stderr] 24 | const CACHE_BYTES_INIT: usize = 16777216; // 2 to the power of 24. [INFO] [stderr] | ^^^^^^^^ help: consider: `16_777_216` [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/lib.rs:25:35 [INFO] [stderr] | [INFO] [stderr] 25 | const CACHE_BYTES_GROWTH: usize = 131072; // 2 to the power of 17. [INFO] [stderr] | ^^^^^^ help: consider: `131_072` [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/lib.rs:99:24 [INFO] [stderr] | [INFO] [stderr] 99 | const FNV_PRIME: u32 = 0x01000193; [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0x0100_0193` [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: operator precedence can trip the unwary [INFO] [stderr] --> src/lib.rs:104:9 [INFO] [stderr] | [INFO] [stderr] 104 | ((((v1 * 0x01000000 | 0) + (v1 * 0x193 | 0)) ^ v2) >> 0) as u32 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: consider parenthesizing your expression: `(v1 * 0x01000000) | 0` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::precedence)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#precedence [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/lib.rs:104:14 [INFO] [stderr] | [INFO] [stderr] 104 | ((((v1 * 0x01000000 | 0) + (v1 * 0x193 | 0)) ^ v2) >> 0) as u32 [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0x0100_0000` [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: operator precedence can trip the unwary [INFO] [stderr] --> src/lib.rs:104:33 [INFO] [stderr] | [INFO] [stderr] 104 | ((((v1 * 0x01000000 | 0) + (v1 * 0x193 | 0)) ^ v2) >> 0) as u32 [INFO] [stderr] | ^^^^^^^^^^^^^^ help: consider parenthesizing your expression: `(v1 * 0x193) | 0` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#precedence [INFO] [stderr] [INFO] [stderr] warning: operator precedence can trip the unwary [INFO] [stderr] --> src/lib.rs:137:5 [INFO] [stderr] | [INFO] [stderr] 137 | / (a[0] as u32) + (a[1] as u32) << 8 + [INFO] [stderr] 138 | | (a[2] as u32) << 16 + (a[3] as u32) << 24 [INFO] [stderr] | |___________________________________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#precedence [INFO] [stderr] help: consider parenthesizing your expression [INFO] [stderr] | [INFO] [stderr] 137 | (a[0] as u32) + (a[1] as u32) << 8 + [INFO] [stderr] 138 | (a[2] as u32) << (16 + (a[3] as u32)) << 24 [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: operator precedence can trip the unwary [INFO] [stderr] --> src/lib.rs:137:5 [INFO] [stderr] | [INFO] [stderr] 137 | / (a[0] as u32) + (a[1] as u32) << 8 + [INFO] [stderr] 138 | | (a[2] as u32) << 16 + (a[3] as u32) << 24 [INFO] [stderr] | |_____________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#precedence [INFO] [stderr] help: consider parenthesizing your expression [INFO] [stderr] | [INFO] [stderr] 137 | ((a[0] as u32) + (a[1] as u32)) << (8 + [INFO] [stderr] 138 | (a[2] as u32)) << 16 + (a[3] as u32) << 24 [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unused variable: `a32` [INFO] [stderr] --> src/lib.rs:111:13 [INFO] [stderr] | [INFO] [stderr] 111 | let a32 = (&a[j..]).read_u32::().unwrap(); [INFO] [stderr] | ^^^ help: consider using `_a32` instead [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_variables)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `b32` [INFO] [stderr] --> src/lib.rs:112:13 [INFO] [stderr] | [INFO] [stderr] 112 | let b32 = (&b[j..]).read_u32::().unwrap(); [INFO] [stderr] | ^^^ help: consider using `_b32` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `a32` [INFO] [stderr] --> src/lib.rs:125:13 [INFO] [stderr] | [INFO] [stderr] 125 | let a32 = (&a[j..]).read_u32::().unwrap(); [INFO] [stderr] | ^^^ help: consider using `_a32` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `b32` [INFO] [stderr] --> src/lib.rs:126:13 [INFO] [stderr] | [INFO] [stderr] 126 | let b32 = (&b[j..]).read_u32::().unwrap(); [INFO] [stderr] | ^^^ help: consider using `_b32` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `n` [INFO] [stderr] --> src/lib.rs:136:9 [INFO] [stderr] | [INFO] [stderr] 136 | let n = a.len(); [INFO] [stderr] | ^ help: consider using `_n` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `i` [INFO] [stderr] --> src/lib.rs:307:9 [INFO] [stderr] | [INFO] [stderr] 307 | for i in 0..epoch { [INFO] [stderr] | ^ help: consider using `_i` instead [INFO] [stderr] [INFO] [stderr] warning: field is never used: `cache_size` [INFO] [stderr] --> src/dag.rs:16:5 [INFO] [stderr] | [INFO] [stderr] 16 | cache_size: usize, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(dead_code)] on by default [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `CACHE_MULTIPLIER` [INFO] [stderr] --> src/lib.rs:26:1 [INFO] [stderr] | [INFO] [stderr] 26 | const CACHE_MULTIPLIER: usize = 1024; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `FNV_PRIME` [INFO] [stderr] --> src/lib.rs:99:1 [INFO] [stderr] | [INFO] [stderr] 99 | const FNV_PRIME: u32 = 0x01000193; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `u8s_to_u32` [INFO] [stderr] --> src/lib.rs:135:1 [INFO] [stderr] | [INFO] [stderr] 135 | fn u8s_to_u32(a: &[u8]) -> u32 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: slow zero-filling initialization [INFO] [stderr] --> src/dag.rs:29:9 [INFO] [stderr] | [INFO] [stderr] 28 | let mut cache: Vec = Vec::with_capacity(cache_size); [INFO] [stderr] | ------------------------------ help: consider replace allocation with: `vec![0; cache_size]` [INFO] [stderr] 29 | cache.resize(cache_size, 0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::slow_vector_initialization)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#slow_vector_initialization [INFO] [stderr] [INFO] [stderr] warning: casting u32 to u64 may become silently lossy if types change [INFO] [stderr] --> src/lib.rs:101:14 [INFO] [stderr] | [INFO] [stderr] 101 | let v1 = v1 as u64; [INFO] [stderr] | ^^^^^^^^^ help: try: `u64::from(v1)` [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 u32 to u64 may become silently lossy if types change [INFO] [stderr] --> src/lib.rs:102:14 [INFO] [stderr] | [INFO] [stderr] 102 | let v2 = v2 as u64; [INFO] [stderr] | ^^^^^^^^^ help: try: `u64::from(v2)` [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 operation is ineffective. Consider reducing it to `(((v1 * 0x01000000 | 0) + (v1 * 0x193 | 0)) ^ v2)` [INFO] [stderr] --> src/lib.rs:104:5 [INFO] [stderr] | [INFO] [stderr] 104 | ((((v1 * 0x01000000 | 0) + (v1 * 0x193 | 0)) ^ v2) >> 0) as u32 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::identity_op)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stderr] [INFO] [stderr] warning: the operation is ineffective. Consider reducing it to `v1 * 0x01000000` [INFO] [stderr] --> src/lib.rs:104:8 [INFO] [stderr] | [INFO] [stderr] 104 | ((((v1 * 0x01000000 | 0) + (v1 * 0x193 | 0)) ^ v2) >> 0) as u32 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stderr] [INFO] [stderr] warning: the operation is ineffective. Consider reducing it to `v1 * 0x193` [INFO] [stderr] --> src/lib.rs:104:32 [INFO] [stderr] | [INFO] [stderr] 104 | ((((v1 * 0x01000000 | 0) + (v1 * 0x193 | 0)) ^ v2) >> 0) as u32 [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/lib.rs:114:9 [INFO] [stderr] | [INFO] [stderr] 114 | / (&mut r[j..]).write_u32::( [INFO] [stderr] 115 | | fnv((&a[j..]).read_u32::().unwrap(), [INFO] [stderr] 116 | | (&b[j..]).read_u32::().unwrap())); [INFO] [stderr] | |________________________________________________________________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_must_use)] on by default [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/lib.rs:128:9 [INFO] [stderr] | [INFO] [stderr] 128 | / (&mut r[j..]).write_u32::( [INFO] [stderr] 129 | | fnv((&a[j..]).read_u32::().unwrap(), [INFO] [stderr] 130 | | (&b[j..]).read_u32::().unwrap())); [INFO] [stderr] | |________________________________________________________________^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u32 may become silently lossy if types change [INFO] [stderr] --> src/lib.rs:137:5 [INFO] [stderr] | [INFO] [stderr] 137 | (a[0] as u32) + (a[1] as u32) << 8 + [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `u32::from(a[0])` [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 u32 may become silently lossy if types change [INFO] [stderr] --> src/lib.rs:137:21 [INFO] [stderr] | [INFO] [stderr] 137 | (a[0] as u32) + (a[1] as u32) << 8 + [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `u32::from(a[1])` [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 u32 may become silently lossy if types change [INFO] [stderr] --> src/lib.rs:138:9 [INFO] [stderr] | [INFO] [stderr] 138 | (a[2] as u32) << 16 + (a[3] as u32) << 24 [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `u32::from(a[2])` [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 u32 may become silently lossy if types change [INFO] [stderr] --> src/lib.rs:138:31 [INFO] [stderr] | [INFO] [stderr] 138 | (a[2] as u32) << 16 + (a[3] as u32) << 24 [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `u32::from(a[3])` [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: unused `std::result::Result` that must be used [INFO] [stderr] --> src/lib.rs:152:5 [INFO] [stderr] | [INFO] [stderr] 152 | mix.as_mut().write_u32::(mix_first32); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: it looks like you're manually copying between slices [INFO] [stderr] --> src/lib.rs:155:18 [INFO] [stderr] | [INFO] [stderr] 155 | for j in 0..64 { [INFO] [stderr] | ^^^^^ help: try replacing the loop by: `remix[..64].clone_from_slice(&mix[..64])` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::manual_memcpy)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_memcpy [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/lib.rs:230:9 [INFO] [stderr] | [INFO] [stderr] 230 | (&mut cmix[j..]).write_u32::(c); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/lib.rs:308:22 [INFO] [stderr] | [INFO] [stderr] 308 | fill_sha256(&s.clone(), &mut s, 0); [INFO] [stderr] | ^^^^^^^^^ help: try removing the `clone` call: `s` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::clone_on_copy)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: unused import: `blockchain::chain::HeaderHash` [INFO] [stderr] --> tests/headers.rs:13:5 [INFO] [stderr] | [INFO] [stderr] 13 | use blockchain::chain::HeaderHash; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_imports)] on by default [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> tests/headers.rs:24:39 [INFO] [stderr] | [INFO] [stderr] 24 | assert_eq!(get_cache_size(epoch), 16776896); [INFO] [stderr] | ^^^^^^^^ help: consider: `16_776_896` [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] --> tests/headers.rs:25:38 [INFO] [stderr] | [INFO] [stderr] 25 | assert_eq!(get_full_size(epoch), 1073739904); [INFO] [stderr] | ^^^^^^^^^^ help: consider: `1_073_739_904` [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] --> tests/headers.rs:55:39 [INFO] [stderr] | [INFO] [stderr] 55 | assert_eq!(get_cache_size(epoch), 16776896); [INFO] [stderr] | ^^^^^^^^ help: consider: `16_776_896` [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] --> tests/headers.rs:56:38 [INFO] [stderr] | [INFO] [stderr] 56 | assert_eq!(get_full_size(epoch), 1073739904); [INFO] [stderr] | ^^^^^^^^^^ help: consider: `1_073_739_904` [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: slow zero-filling initialization [INFO] [stderr] --> tests/headers.rs:32:5 [INFO] [stderr] | [INFO] [stderr] 31 | let mut cache: Vec = Vec::with_capacity(cache_size); [INFO] [stderr] | ------------------------------ help: consider replace allocation with: `vec![0; cache_size]` [INFO] [stderr] 32 | cache.resize(cache_size, 0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::slow_vector_initialization)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#slow_vector_initialization [INFO] [stderr] [INFO] [stderr] warning: slow zero-filling initialization [INFO] [stderr] --> tests/headers.rs:63:5 [INFO] [stderr] | [INFO] [stderr] 62 | let mut cache: Vec = Vec::with_capacity(cache_size); [INFO] [stderr] | ------------------------------ help: consider replace allocation with: `vec![0; cache_size]` [INFO] [stderr] 63 | cache.resize(cache_size, 0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#slow_vector_initialization [INFO] [stderr] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 25.88s [INFO] running `"docker" "inspect" "e8a5b725d9ca1a9bded360b326130c982ce7e04a26991e5144e2a5d4718ced7a"` [INFO] running `"docker" "rm" "-f" "e8a5b725d9ca1a9bded360b326130c982ce7e04a26991e5144e2a5d4718ced7a"` [INFO] [stdout] e8a5b725d9ca1a9bded360b326130c982ce7e04a26991e5144e2a5d4718ced7a