[INFO] fetching crate merkle_trees 0.1.0... [INFO] checking merkle_trees-0.1.0 against master#38352b01ae4af9300be03b805d6db68c45e51068 for pr-129864 [INFO] extracting crate merkle_trees 0.1.0 into /workspace/builds/worker-2-tc1/source [INFO] validating manifest of crates.io crate merkle_trees 0.1.0 on toolchain 38352b01ae4af9300be03b805d6db68c45e51068 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+38352b01ae4af9300be03b805d6db68c45e51068" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking crates.io crate merkle_trees 0.1.0 [INFO] finished tweaking crates.io crate merkle_trees 0.1.0 [INFO] tweaked toml for crates.io crate merkle_trees 0.1.0 written to /workspace/builds/worker-2-tc1/source/Cargo.toml [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+38352b01ae4af9300be03b805d6db68c45e51068" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Locking 143 packages to latest compatible versions [INFO] [stderr] Adding arrayvec v0.4.12 (available: v0.7.6) [INFO] [stderr] Adding arrayvec v0.5.2 (available: v0.7.6) [INFO] [stderr] Adding autocfg v0.1.8 (available: v1.3.0) [INFO] [stderr] Adding bindgen v0.55.1 (available: v0.70.1) [INFO] [stderr] Adding bitflags v1.3.2 (available: v2.6.0) [INFO] [stderr] Adding blake2 v0.8.1 (available: v0.10.6) [INFO] [stderr] Adding block-buffer v0.7.3 (available: v0.10.4) [INFO] [stderr] Adding block-padding v0.1.5 (available: v0.3.3) [INFO] [stderr] Adding cexpr v0.4.0 (available: v0.6.0) [INFO] [stderr] Adding cfg-if v0.1.10 (available: v1.0.0) [INFO] [stderr] Adding clap v2.34.0 (available: v4.5.18) [INFO] [stderr] Adding cloudabi v0.0.3 (available: v0.1.0) [INFO] [stderr] Adding crossbeam-channel v0.3.9 (available: v0.5.13) [INFO] [stderr] Adding crossbeam-epoch v0.7.2 (available: v0.9.18) [INFO] [stderr] Adding crossbeam-utils v0.6.6 (available: v0.8.20) [INFO] [stderr] Adding crypto-mac v0.7.0 (available: v0.11.1) [INFO] [stderr] Adding digest v0.8.1 (available: v0.10.7) [INFO] [stderr] Adding env_logger v0.7.1 (available: v0.11.5) [INFO] [stderr] Adding generic-array v0.12.4 (available: v1.1.0) [INFO] [stderr] Adding generic-array v0.13.3 (available: v1.1.0) [INFO] [stderr] Adding hermit-abi v0.1.19 (available: v0.4.0) [INFO] [stderr] Adding humantime v1.3.0 (available: v2.1.0) [INFO] [stderr] Adding lock_api v0.3.4 (available: v0.4.12) [INFO] [stderr] Adding memoffset v0.5.6 (available: v0.9.1) [INFO] [stderr] Adding nom v5.1.3 (available: v7.1.3) [INFO] [stderr] Adding num v0.2.1 (available: v0.4.3) [INFO] [stderr] Adding num-bigint v0.2.6 (available: v0.4.6) [INFO] [stderr] Adding num-complex v0.2.4 (available: v0.4.6) [INFO] [stderr] Adding num-rational v0.2.4 (available: v0.4.2) [INFO] [stderr] Adding opaque-debug v0.2.3 (available: v0.3.1) [INFO] [stderr] Adding parking_lot v0.9.0 (available: v0.12.3) [INFO] [stderr] Adding parking_lot_core v0.6.3 (available: v0.9.10) [INFO] [stderr] Adding peeking_take_while v0.1.2 (available: v1.0.0) [INFO] [stderr] Adding quick-error v1.2.3 (available: v2.0.1) [INFO] [stderr] Adding rand v0.5.6 (available: v0.8.5) [INFO] [stderr] Adding rand v0.6.5 (available: v0.8.5) [INFO] [stderr] Adding rand_chacha v0.1.1 (available: v0.3.1) [INFO] [stderr] Adding rand_core v0.3.1 (available: v0.6.4) [INFO] [stderr] Adding rand_core v0.4.2 (available: v0.6.4) [INFO] [stderr] Adding rand_hc v0.1.0 (available: v0.3.2) [INFO] [stderr] Adding rand_isaac v0.1.1 (available: v0.3.0) [INFO] [stderr] Adding rand_jitter v0.1.4 (available: v0.4.0) [INFO] [stderr] Adding rand_os v0.1.3 (available: v0.2.2) [INFO] [stderr] Adding rand_pcg v0.1.2 (available: v0.3.1) [INFO] [stderr] Adding rand_xorshift v0.1.1 (available: v0.3.0) [INFO] [stderr] Adding rdrand v0.4.0 (available: v0.8.3) [INFO] [stderr] Adding redox_syscall v0.1.57 (available: v0.5.6) [INFO] [stderr] Adding rlp v0.4.6 (available: v0.6.1) [INFO] [stderr] Adding rustc-hash v1.1.0 (available: v2.0.0) [INFO] [stderr] Adding rustc-hex v1.0.0 (available: v2.1.0) [INFO] [stderr] Adding rustc_version v0.2.3 (available: v0.4.1) [INFO] [stderr] Adding semver v0.9.0 (available: v1.0.23) [INFO] [stderr] Adding semver-parser v0.7.0 (available: v0.10.2) [INFO] [stderr] Adding sha2 v0.8.2 (available: v0.10.8) [INFO] [stderr] Adding sha3 v0.8.2 (available: v0.10.8) [INFO] [stderr] Adding shlex v0.1.1 (available: v1.3.0) [INFO] [stderr] Adding sled v0.29.2 (available: v0.34.7) [INFO] [stderr] Adding smallvec v0.6.14 (available: v1.13.2) [INFO] [stderr] Adding strsim v0.8.0 (available: v0.11.1) [INFO] [stderr] Adding subtle v1.0.0 (available: v2.6.1) [INFO] [stderr] Adding syn v1.0.109 (available: v2.0.77) [INFO] [stderr] Adding synstructure v0.12.6 (available: v0.13.1) [INFO] [stderr] Adding textwrap v0.11.0 (available: v0.16.1) [INFO] [stderr] Adding tiny-keccak v1.5.0 (available: v2.0.2) [INFO] [stderr] Adding unicode-width v0.1.14 (available: v0.2.0) [INFO] [stderr] Adding which v3.1.1 (available: v6.0.3) [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+38352b01ae4af9300be03b805d6db68c45e51068" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded rustc-hex v1.0.0 [INFO] [stderr] Downloaded rlp v0.4.6 [INFO] [stderr] Downloaded sled v0.29.2 [INFO] [stderr] Downloaded unqlite v1.5.0 [INFO] [stderr] Downloaded mimc-rs v0.0.2 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:ceb6ea022f8a89cebbe621bb4987e73a935bd40dfbb726f832cfff4742a5b95a" "/opt/rustwide/cargo-home/bin/cargo" "+38352b01ae4af9300be03b805d6db68c45e51068" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 8e591d310f86d8256fd6619d43d56de7b7afbb2df081f6c7abb61ce2d58ca4b3 [INFO] running `Command { std: "docker" "start" "-a" "8e591d310f86d8256fd6619d43d56de7b7afbb2df081f6c7abb61ce2d58ca4b3", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "8e591d310f86d8256fd6619d43d56de7b7afbb2df081f6c7abb61ce2d58ca4b3", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "8e591d310f86d8256fd6619d43d56de7b7afbb2df081f6c7abb61ce2d58ca4b3", kill_on_drop: false }` [INFO] [stdout] 8e591d310f86d8256fd6619d43d56de7b7afbb2df081f6c7abb61ce2d58ca4b3 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:ceb6ea022f8a89cebbe621bb4987e73a935bd40dfbb726f832cfff4742a5b95a" "/opt/rustwide/cargo-home/bin/cargo" "+38352b01ae4af9300be03b805d6db68c45e51068" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] b5d2a8a2943a5333f9949902584dba0db2ff4572ab731af7a02dbb094f24bfbd [INFO] running `Command { std: "docker" "start" "-a" "b5d2a8a2943a5333f9949902584dba0db2ff4572ab731af7a02dbb094f24bfbd", kill_on_drop: false }` [INFO] [stderr] Compiling memchr v2.7.4 [INFO] [stderr] Compiling num-bigint v0.2.6 [INFO] [stderr] Compiling nom v5.1.3 [INFO] [stderr] Compiling unicode-width v0.1.14 [INFO] [stderr] Compiling quick-error v1.2.3 [INFO] [stderr] Compiling atty v0.2.14 [INFO] [stderr] Compiling vec_map v0.8.2 [INFO] [stderr] Compiling ansi_term v0.12.1 [INFO] [stderr] Compiling strsim v0.8.0 [INFO] [stderr] Compiling syn v2.0.77 [INFO] [stderr] Compiling log v0.4.22 [INFO] [stderr] Compiling termcolor v1.4.1 [INFO] [stderr] Compiling bindgen v0.55.1 [INFO] [stderr] Compiling which v3.1.1 [INFO] [stderr] Compiling clang-sys v1.8.1 [INFO] [stderr] Compiling humantime v1.3.0 [INFO] [stderr] Compiling num-complex v0.2.4 [INFO] [stderr] Compiling textwrap v0.11.0 [INFO] [stderr] Compiling num-rational v0.2.4 [INFO] [stderr] Compiling crunchy v0.2.2 [INFO] [stderr] Compiling shlex v0.1.1 [INFO] [stderr] Compiling peeking_take_while v0.1.2 [INFO] [stderr] Compiling arrayvec v0.4.12 [INFO] [stderr] Compiling cfg-if v0.1.10 [INFO] [stderr] Checking crossbeam-utils v0.6.6 [INFO] [stderr] Checking nodrop v0.1.14 [INFO] [stderr] Checking num-iter v0.1.45 [INFO] [stderr] Compiling clap v2.34.0 [INFO] [stderr] Checking subtle v1.0.0 [INFO] [stderr] Checking sha2 v0.8.2 [INFO] [stderr] Compiling aho-corasick v1.1.3 [INFO] [stderr] Checking object v0.36.4 [INFO] [stderr] Checking rlp v0.4.6 [INFO] [stderr] Checking crossbeam-channel v0.3.9 [INFO] [stderr] Checking crypto-mac v0.7.0 [INFO] [stderr] Checking tiny-keccak v1.5.0 [INFO] [stderr] Checking sha3 v0.8.2 [INFO] [stderr] Checking fs2 v0.4.3 [INFO] [stderr] Checking fxhash v0.2.1 [INFO] [stderr] Checking generic-array v0.13.3 [INFO] [stderr] Checking rustc-hex v1.0.0 [INFO] [stderr] Checking blake2 v0.8.1 [INFO] [stderr] Checking crossbeam-epoch v0.7.2 [INFO] [stderr] Compiling regex-automata v0.4.7 [INFO] [stderr] Checking num v0.2.1 [INFO] [stderr] Checking mimc-rs v0.0.2 [INFO] [stderr] Compiling cexpr v0.4.0 [INFO] [stderr] Compiling serde_derive v1.0.210 [INFO] [stderr] Compiling regex v1.10.6 [INFO] [stderr] Checking backtrace v0.3.74 [INFO] [stderr] Compiling env_logger v0.7.1 [INFO] [stderr] Checking failure v0.1.8 [INFO] [stderr] Checking serde v1.0.210 [INFO] [stderr] Checking serde_json v1.0.128 [INFO] [stderr] Checking bincode v1.3.3 [INFO] [stderr] Checking serde_bytes v0.11.15 [INFO] [stderr] Checking sled v0.29.2 [INFO] [stderr] Compiling unqlite v1.5.0 [INFO] [stderr] Checking merkle_trees v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused `#[macro_use]` import [INFO] [stdout] --> src/lib.rs:13:1 [INFO] [stdout] | [INFO] [stdout] 13 | #[macro_use] [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/compact_merkle_tree.rs:284:28 [INFO] [stdout] | [INFO] [stdout] 284 | idx += (p - 1); [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 284 - idx += (p - 1); [INFO] [stdout] 284 + idx += p - 1; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/compact_merkle_tree.rs:834:29 [INFO] [stdout] | [INFO] [stdout] 834 | let last_leaf_idx = (size - 1); [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 834 - let last_leaf_idx = (size - 1); [INFO] [stdout] 834 + let last_leaf_idx = size - 1; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::iter::FromIterator` [INFO] [stdout] --> src/db.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use std::iter::FromIterator; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::hasher::Arity2Hasher` [INFO] [stdout] --> src/merkle_patricia_trie.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | use crate::hasher::Arity2Hasher; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::types::LeafIndex` [INFO] [stdout] --> src/merkle_patricia_trie.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | use crate::types::LeafIndex; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `arrayvec::ArrayVec` [INFO] [stdout] --> src/types.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use arrayvec::ArrayVec; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `num_traits::identities::Zero` [INFO] [stdout] --> src/types.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use num_traits::identities::Zero; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `is_empty`, `is_leaf`, and `is_extension` are never used [INFO] [stdout] --> src/merkle_patricia_trie.rs:35:8 [INFO] [stdout] | [INFO] [stdout] 34 | impl NodeType { [INFO] [stdout] | ------------------------- methods in this implementation [INFO] [stdout] 35 | fn is_empty(&self) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 42 | fn is_leaf(&self) -> bool { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 49 | fn is_extension(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `reset_root` is never used [INFO] [stdout] --> src/merkle_patricia_trie.rs:1373:8 [INFO] [stdout] | [INFO] [stdout] 479 | / impl [INFO] [stdout] 480 | | MerklePatriciaTrie [INFO] [stdout] 481 | | where [INFO] [stdout] 482 | | NS: PatriciaTrieNodeSerializer, [INFO] [stdout] 483 | | NH: NodeHasher, [INFO] [stdout] | |_________________________- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 1373 | fn reset_root(&mut self) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/errors.rs:4:39 [INFO] [stdout] | [INFO] [stdout] 4 | #[derive(Clone, Eq, PartialEq, Debug, Fail)] [INFO] [stdout] | ^--- [INFO] [stdout] | | [INFO] [stdout] | `Fail` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_MerkleTreeErrorKind` [INFO] [stdout] 5 | pub enum MerkleTreeErrorKind { [INFO] [stdout] | ------------------- `MerkleTreeErrorKind` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue [INFO] [stdout] = note: `#[warn(non_local_definitions)]` on by default [INFO] [stdout] = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/errors.rs:4:39 [INFO] [stdout] | [INFO] [stdout] 4 | #[derive(Clone, Eq, PartialEq, Debug, Fail)] [INFO] [stdout] | ^--- [INFO] [stdout] | | [INFO] [stdout] | `Display` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_MerkleTreeErrorKind` [INFO] [stdout] 5 | pub enum MerkleTreeErrorKind { [INFO] [stdout] | ------------------- `MerkleTreeErrorKind` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue [INFO] [stdout] = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 12 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `#[macro_use]` import [INFO] [stdout] --> src/lib.rs:13:1 [INFO] [stdout] | [INFO] [stdout] 13 | #[macro_use] [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/compact_merkle_tree.rs:284:28 [INFO] [stdout] | [INFO] [stdout] 284 | idx += (p - 1); [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 284 - idx += (p - 1); [INFO] [stdout] 284 + idx += p - 1; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/compact_merkle_tree.rs:834:29 [INFO] [stdout] | [INFO] [stdout] 834 | let last_leaf_idx = (size - 1); [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 834 - let last_leaf_idx = (size - 1); [INFO] [stdout] 834 + let last_leaf_idx = size - 1; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::iter::FromIterator` [INFO] [stdout] --> src/db.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use std::iter::FromIterator; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `BigInt` [INFO] [stdout] --> src/hasher.rs:85:22 [INFO] [stdout] | [INFO] [stdout] 85 | use num_bigint::{BigInt, BigUint, ToBigInt}; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::hasher::Arity2Hasher` [INFO] [stdout] --> src/merkle_patricia_trie.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | use crate::hasher::Arity2Hasher; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::types::LeafIndex` [INFO] [stdout] --> src/merkle_patricia_trie.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | use crate::types::LeafIndex; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::sha2::Sha256` [INFO] [stdout] --> src/sparse_merkle_tree.rs:395:9 [INFO] [stdout] | [INFO] [stdout] 395 | use crate::sha2::Sha256; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `arrayvec::ArrayVec` [INFO] [stdout] --> src/types.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use arrayvec::ArrayVec; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `num_traits::identities::Zero` [INFO] [stdout] --> src/types.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use num_traits::identities::Zero; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Rng` [INFO] [stdout] --> src/vanilla_sparse_merkle_tree.rs:344:34 [INFO] [stdout] | [INFO] [stdout] 344 | use self::rand::{thread_rng, Rng}; [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `num_traits::Pow` [INFO] [stdout] --> src/sparse_merkle_tree.rs:404:9 [INFO] [stdout] | [INFO] [stdout] 404 | use num_traits::Pow; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `tree` [INFO] [stdout] --> src/compact_merkle_tree.rs:1063:13 [INFO] [stdout] | [INFO] [stdout] 1063 | let tree = CompactMerkleTree::new(hasher.clone()); [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_tree` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `h_l_6` [INFO] [stdout] --> src/compact_merkle_tree.rs:1125:13 [INFO] [stdout] | [INFO] [stdout] 1125 | let h_l_6 = hasher.hash_leaf(l_6).unwrap(); [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_h_l_6` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `path_4` [INFO] [stdout] --> src/compact_merkle_tree.rs:1220:13 [INFO] [stdout] | [INFO] [stdout] 1220 | let path_4 = tree.append(l_4, &mut db).unwrap(); [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_path_4` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `path_5` [INFO] [stdout] --> src/compact_merkle_tree.rs:1231:13 [INFO] [stdout] | [INFO] [stdout] 1231 | let path_5 = tree.append(l_5, &mut db).unwrap(); [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_path_5` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `is_empty` is never used [INFO] [stdout] --> src/merkle_patricia_trie.rs:35:8 [INFO] [stdout] | [INFO] [stdout] 34 | impl NodeType { [INFO] [stdout] | ------------------------- method in this implementation [INFO] [stdout] 35 | fn is_empty(&self) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `reset_root` is never used [INFO] [stdout] --> src/merkle_patricia_trie.rs:1373:8 [INFO] [stdout] | [INFO] [stdout] 479 | / impl [INFO] [stdout] 480 | | MerklePatriciaTrie [INFO] [stdout] 481 | | where [INFO] [stdout] 482 | | NS: PatriciaTrieNodeSerializer, [INFO] [stdout] 483 | | NH: NodeHasher, [INFO] [stdout] | |_________________________- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 1373 | fn reset_root(&mut self) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/errors.rs:4:39 [INFO] [stdout] | [INFO] [stdout] 4 | #[derive(Clone, Eq, PartialEq, Debug, Fail)] [INFO] [stdout] | ^--- [INFO] [stdout] | | [INFO] [stdout] | `Fail` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_MerkleTreeErrorKind` [INFO] [stdout] 5 | pub enum MerkleTreeErrorKind { [INFO] [stdout] | ------------------- `MerkleTreeErrorKind` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue [INFO] [stdout] = note: `#[warn(non_local_definitions)]` on by default [INFO] [stdout] = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/errors.rs:4:39 [INFO] [stdout] | [INFO] [stdout] 4 | #[derive(Clone, Eq, PartialEq, Debug, Fail)] [INFO] [stdout] | ^--- [INFO] [stdout] | | [INFO] [stdout] | `Display` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_MerkleTreeErrorKind` [INFO] [stdout] 5 | pub enum MerkleTreeErrorKind { [INFO] [stdout] | ------------------- `MerkleTreeErrorKind` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue [INFO] [stdout] = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing [INFO] [stdout] --> src/sparse_merkle_tree.rs:420:55 [INFO] [stdout] | [INFO] [stdout] 420 | BinarySparseMerkleTree::new(empty_leaf_val.clone(), hasher.clone(), tree_depth) [INFO] [stdout] | ^^^^^^^^ help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed [INFO] [stdout] = note: `#[warn(noop_method_call)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing [INFO] [stdout] --> src/sparse_merkle_tree.rs:458:55 [INFO] [stdout] | [INFO] [stdout] 458 | BinarySparseMerkleTree::new(empty_leaf_val.clone(), hasher.clone(), tree_depth) [INFO] [stdout] | ^^^^^^^^ help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing [INFO] [stdout] --> src/sparse_merkle_tree.rs:514:55 [INFO] [stdout] | [INFO] [stdout] 514 | BinarySparseMerkleTree::new(empty_leaf_val.clone(), hasher.clone(), tree_depth) [INFO] [stdout] | ^^^^^^^^ help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing [INFO] [stdout] --> src/sparse_merkle_tree.rs:564:55 [INFO] [stdout] | [INFO] [stdout] 564 | BinarySparseMerkleTree::new(empty_leaf_val.clone(), hasher.clone(), tree_depth) [INFO] [stdout] | ^^^^^^^^ help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing [INFO] [stdout] --> src/vanilla_sparse_merkle_tree.rs:363:27 [INFO] [stdout] | [INFO] [stdout] 363 | empty_leaf_val.clone(), [INFO] [stdout] | ^^^^^^^^ help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing [INFO] [stdout] --> src/vanilla_sparse_merkle_tree.rs:434:27 [INFO] [stdout] | [INFO] [stdout] 434 | empty_leaf_val.clone(), [INFO] [stdout] | ^^^^^^^^ help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing [INFO] [stdout] --> src/vanilla_sparse_merkle_tree.rs:505:27 [INFO] [stdout] | [INFO] [stdout] 505 | empty_leaf_val.clone(), [INFO] [stdout] | ^^^^^^^^ help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 27 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 18.43s [INFO] running `Command { std: "docker" "inspect" "b5d2a8a2943a5333f9949902584dba0db2ff4572ab731af7a02dbb094f24bfbd", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "b5d2a8a2943a5333f9949902584dba0db2ff4572ab731af7a02dbb094f24bfbd", kill_on_drop: false }` [INFO] [stdout] b5d2a8a2943a5333f9949902584dba0db2ff4572ab731af7a02dbb094f24bfbd