[INFO] updating cached repository RCasatta/ots-aggregator [INFO] running `"git" "fetch" "--all"` [INFO] [stdout] Fetching origin [INFO] [stderr] From git://github.com/RCasatta/ots-aggregator [INFO] [stderr] * branch HEAD -> FETCH_HEAD [INFO] running `"git" "clone" "work/cache/sources/gh/RCasatta/ots-aggregator" "work/ex/clippy-test-run/sources/stable/gh/RCasatta/ots-aggregator"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable/gh/RCasatta/ots-aggregator'... [INFO] [stderr] done. [INFO] running `"git" "clone" "work/cache/sources/gh/RCasatta/ots-aggregator" "work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/RCasatta/ots-aggregator"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/RCasatta/ots-aggregator'... [INFO] [stderr] done. [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] b272c3c29bc982c5f4206faef8d07f4f1a1ee612 [INFO] sha for GitHub repo RCasatta/ots-aggregator: b272c3c29bc982c5f4206faef8d07f4f1a1ee612 [INFO] validating manifest of RCasatta/ots-aggregator 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 RCasatta/ots-aggregator 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 RCasatta/ots-aggregator [INFO] finished frobbing RCasatta/ots-aggregator [INFO] frobbed toml for RCasatta/ots-aggregator written to work/ex/clippy-test-run/sources/stable/gh/RCasatta/ots-aggregator/Cargo.toml [INFO] started frobbing RCasatta/ots-aggregator [INFO] finished frobbing RCasatta/ots-aggregator [INFO] frobbed toml for RCasatta/ots-aggregator written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/RCasatta/ots-aggregator/Cargo.toml [INFO] crate RCasatta/ots-aggregator has a lockfile. skipping [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 RCasatta/ots-aggregator against stable for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-3/stable:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable/gh/RCasatta/ots-aggregator:/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] 7b46abe2bfcf4661dcb9337edc5d57247d064be90127047ab37ed606a870e6b4 [INFO] running `"docker" "start" "-a" "7b46abe2bfcf4661dcb9337edc5d57247d064be90127047ab37ed606a870e6b4"` [INFO] [stderr] Checking iovec v0.1.2 [INFO] [stderr] Checking net2 v0.2.32 [INFO] [stderr] Checking memchr v2.0.1 [INFO] [stderr] Checking num_cpus v1.8.0 [INFO] [stderr] Checking time v0.1.39 [INFO] [stderr] Checking atty v0.2.8 [INFO] [stderr] Checking rand v0.3.22 [INFO] [stderr] Checking openssl-sys v0.9.31 [INFO] [stderr] Checking clap v2.31.1 [INFO] [stderr] Checking futures-cpupool v0.1.8 [INFO] [stderr] Checking bytes v0.4.6 [INFO] [stderr] Checking aho-corasick v0.6.4 [INFO] [stderr] Checking mio v0.6.13 [INFO] [stderr] Checking openssl v0.9.24 [INFO] [stderr] Checking rust-crypto v0.2.36 [INFO] [stderr] Checking tokio-io v0.1.5 [INFO] [stderr] Checking regex v0.2.10 [INFO] [stderr] Checking tokio-core v0.1.12 [INFO] [stderr] Checking tokio v0.1.1 [INFO] [stderr] Checking env_logger v0.4.3 [INFO] [stderr] Checking env_logger v0.5.5 [INFO] [stderr] Checking tokio-proto v0.1.1 [INFO] [stderr] Checking native-tls v0.1.5 [INFO] [stderr] Checking tokio-tls v0.1.4 [INFO] [stderr] Checking hyper v0.11.22 [INFO] [stderr] Checking opentimestamps v0.1.2 [INFO] [stderr] Checking hyper-tls v0.1.3 [INFO] [stderr] Checking ots-aggregator v0.1.0 (/opt/crater/workdir) [INFO] [stderr] warning: 5th binding whose name is just one char [INFO] [stderr] --> src/merkle.rs:111:13 [INFO] [stderr] | [INFO] [stderr] 111 | let mut r = merge_3_slices(a,b,c); [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/merkle.rs:111:13 [INFO] [stderr] | [INFO] [stderr] 111 | let mut r = merge_3_slices(a,b,c); [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: unneeded return statement [INFO] [stderr] --> src/merkle.rs:73:5 [INFO] [stderr] | [INFO] [stderr] 73 | return merkle_root_and_paths(&mut hash_pairs, merkle_proofs); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `merkle_root_and_paths(&mut hash_pairs, merkle_proofs)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_return)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unused import: `merkle::Sha256Hash` [INFO] [stderr] --> src/merkle.rs:121:9 [INFO] [stderr] | [INFO] [stderr] 121 | use merkle::Sha256Hash; [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:27:42 [INFO] [stderr] | [INFO] [stderr] 27 | self.subsec_nanos() as f64 / 1000000.0 [INFO] [stderr] | ^^^^^^^^^ help: consider: `1_000_000.0` [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: a method with this name may be added to the standard library in the future [INFO] [stderr] --> src/merkle.rs:29:50 [INFO] [stderr] | [INFO] [stderr] 29 | digests_sha256.len(), now.elapsed().as_millis(), root); [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unstable_name_collisions)] on by default [INFO] [stderr] = warning: once this method is added to the standard library, the ambiguity may cause an error or change in behavior! [INFO] [stderr] = note: for more information, see issue #48919 [INFO] [stderr] = help: call with fully qualified syntax `Millis::as_millis(...)` to keep using the current method [INFO] [stderr] [INFO] [stderr] warning: a method with this name may be added to the standard library in the future [INFO] [stderr] --> src/timer.rs:55:60 [INFO] [stderr] | [INFO] [stderr] 55 | res.status(), start.elapsed().as_millis()); [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: once this method is added to the standard library, the ambiguity may cause an error or change in behavior! [INFO] [stderr] = note: for more information, see issue #48919 [INFO] [stderr] = help: call with fully qualified syntax `Millis::as_millis(...)` to keep using the current method [INFO] [stderr] [INFO] [stderr] warning: item `server::RequestsToServe` has a public `len` method but no corresponding `is_empty` method [INFO] [stderr] --> src/server.rs:35:1 [INFO] [stderr] | [INFO] [stderr] 35 | / impl RequestsToServe { [INFO] [stderr] 36 | | pub fn push(&mut self, request_to_serve : RequestToServe) { [INFO] [stderr] 37 | | self.requests.push(request_to_serve); [INFO] [stderr] 38 | | } [INFO] [stderr] ... | [INFO] [stderr] 44 | | } [INFO] [stderr] 45 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::len_without_is_empty)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_without_is_empty [INFO] [stderr] [INFO] [stderr] warning: parameter of type `HashMap` should be generalized over different hashers [INFO] [stderr] --> src/merkle.rs:35:26 [INFO] [stderr] | [INFO] [stderr] 35 | merkle_proofs : &mut HashMap>) -> Sha256Hash { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::implicit_hasher)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#implicit_hasher [INFO] [stderr] help: consider adding a type parameter [INFO] [stderr] | [INFO] [stderr] 33 | pub fn merkle_root_and_paths( [INFO] [stderr] 34 | hash_list: &[Sha256Hash], [INFO] [stderr] 35 | merkle_proofs : &mut HashMap, S>) -> Sha256Hash { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: The function/method `merkle_root_and_paths` doesn't need a mutable reference [INFO] [stderr] --> src/merkle.rs:73:34 [INFO] [stderr] | [INFO] [stderr] 73 | return merkle_root_and_paths(&mut hash_pairs, merkle_proofs); [INFO] [stderr] | ^^^^^^^^^^^^^^^ [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: calling `as_bytes()` on a string literal [INFO] [stderr] --> src/merkle.rs:131:33 [INFO] [stderr] | [INFO] [stderr] 131 | let b = HEXLOWER.decode("e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855".as_bytes()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::string_lit_as_bytes)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#string_lit_as_bytes [INFO] [stderr] [INFO] [stderr] warning: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/lib.rs:27:13 [INFO] [stderr] | [INFO] [stderr] 27 | self.subsec_nanos() as f64 / 1000000.0 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(self.subsec_nanos())` [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: unneeded return statement [INFO] [stderr] --> src/merkle.rs:73:5 [INFO] [stderr] | [INFO] [stderr] 73 | return merkle_root_and_paths(&mut hash_pairs, merkle_proofs); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `merkle_root_and_paths(&mut hash_pairs, merkle_proofs)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_return)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/lib.rs:27:42 [INFO] [stderr] | [INFO] [stderr] 27 | self.subsec_nanos() as f64 / 1000000.0 [INFO] [stderr] | ^^^^^^^^^ help: consider: `1_000_000.0` [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: a method with this name may be added to the standard library in the future [INFO] [stderr] --> src/merkle.rs:29:50 [INFO] [stderr] | [INFO] [stderr] 29 | digests_sha256.len(), now.elapsed().as_millis(), root); [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unstable_name_collisions)] on by default [INFO] [stderr] = warning: once this method is added to the standard library, the ambiguity may cause an error or change in behavior! [INFO] [stderr] = note: for more information, see issue #48919 [INFO] [stderr] = help: call with fully qualified syntax `Millis::as_millis(...)` to keep using the current method [INFO] [stderr] [INFO] [stderr] warning: a method with this name may be added to the standard library in the future [INFO] [stderr] --> src/timer.rs:55:60 [INFO] [stderr] | [INFO] [stderr] 55 | res.status(), start.elapsed().as_millis()); [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: once this method is added to the standard library, the ambiguity may cause an error or change in behavior! [INFO] [stderr] = note: for more information, see issue #48919 [INFO] [stderr] = help: call with fully qualified syntax `Millis::as_millis(...)` to keep using the current method [INFO] [stderr] [INFO] [stderr] warning: item `server::RequestsToServe` has a public `len` method but no corresponding `is_empty` method [INFO] [stderr] --> src/server.rs:35:1 [INFO] [stderr] | [INFO] [stderr] 35 | / impl RequestsToServe { [INFO] [stderr] 36 | | pub fn push(&mut self, request_to_serve : RequestToServe) { [INFO] [stderr] 37 | | self.requests.push(request_to_serve); [INFO] [stderr] 38 | | } [INFO] [stderr] ... | [INFO] [stderr] 44 | | } [INFO] [stderr] 45 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::len_without_is_empty)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_without_is_empty [INFO] [stderr] [INFO] [stderr] warning: parameter of type `HashMap` should be generalized over different hashers [INFO] [stderr] --> src/merkle.rs:35:26 [INFO] [stderr] | [INFO] [stderr] 35 | merkle_proofs : &mut HashMap>) -> Sha256Hash { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::implicit_hasher)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#implicit_hasher [INFO] [stderr] help: consider adding a type parameter [INFO] [stderr] | [INFO] [stderr] 33 | pub fn merkle_root_and_paths( [INFO] [stderr] 34 | hash_list: &[Sha256Hash], [INFO] [stderr] 35 | merkle_proofs : &mut HashMap, S>) -> Sha256Hash { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: The function/method `merkle_root_and_paths` doesn't need a mutable reference [INFO] [stderr] --> src/merkle.rs:73:34 [INFO] [stderr] | [INFO] [stderr] 73 | return merkle_root_and_paths(&mut hash_pairs, merkle_proofs); [INFO] [stderr] | ^^^^^^^^^^^^^^^ [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: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/lib.rs:27:13 [INFO] [stderr] | [INFO] [stderr] 27 | self.subsec_nanos() as f64 / 1000000.0 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(self.subsec_nanos())` [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: unused imports: `Write`, `self` [INFO] [stderr] --> examples/load_testing.rs:6:15 [INFO] [stderr] | [INFO] [stderr] 6 | use std::io::{self, Write}; [INFO] [stderr] | ^^^^ ^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_imports)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `i` [INFO] [stderr] --> examples/load_testing.rs:38:9 [INFO] [stderr] | [INFO] [stderr] 38 | for i in 0..100 { [INFO] [stderr] | ^ help: consider using `_i` instead [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_variables)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> examples/load_testing.rs:22:9 [INFO] [stderr] | [INFO] [stderr] 22 | start(arg1); [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] Finished dev [unoptimized + debuginfo] target(s) in 39.38s [INFO] running `"docker" "inspect" "7b46abe2bfcf4661dcb9337edc5d57247d064be90127047ab37ed606a870e6b4"` [INFO] running `"docker" "rm" "-f" "7b46abe2bfcf4661dcb9337edc5d57247d064be90127047ab37ed606a870e6b4"` [INFO] [stdout] 7b46abe2bfcf4661dcb9337edc5d57247d064be90127047ab37ed606a870e6b4