[INFO] fetching crate merkle_trees 0.1.0... [INFO] checking merkle_trees-0.1.0 against master#a3f76a26e045a760bb1163b7eab36872985242d5 for pr-130930 [INFO] extracting crate merkle_trees 0.1.0 into /workspace/builds/worker-3-tc1/source [INFO] validating manifest of crates.io crate merkle_trees 0.1.0 on toolchain a3f76a26e045a760bb1163b7eab36872985242d5 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+a3f76a26e045a760bb1163b7eab36872985242d5" "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-3-tc1/source/Cargo.toml [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+a3f76a26e045a760bb1163b7eab36872985242d5" "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.4.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.79) [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" "+a3f76a26e045a760bb1163b7eab36872985242d5" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded rustc-hex v1.0.0 [INFO] [stderr] Downloaded crossbeam-channel v0.3.9 [INFO] [stderr] Downloaded blake2 v0.8.1 [INFO] [stderr] Downloaded crossbeam-epoch v0.7.2 [INFO] [stderr] Downloaded which v3.1.1 [INFO] [stderr] Downloaded bindgen v0.55.1 [INFO] [stderr] Downloaded unqlite v1.5.0 [INFO] [stderr] Downloaded sled v0.29.2 [INFO] [stderr] Downloaded crossbeam-utils v0.6.6 [INFO] [stderr] Downloaded mimc-rs v0.0.2 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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:6252d7ea7fb8caaf7af6d800c5fb250a9cd862b9a7f9508afb3c54fa7fe1102e" "/opt/rustwide/cargo-home/bin/cargo" "+a3f76a26e045a760bb1163b7eab36872985242d5" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] f70d038ee3b6139ac5e9fcdaa1e2b0235341c6e9cb39c32d46bd92d49315ec0c [INFO] running `Command { std: "docker" "start" "-a" "f70d038ee3b6139ac5e9fcdaa1e2b0235341c6e9cb39c32d46bd92d49315ec0c", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "f70d038ee3b6139ac5e9fcdaa1e2b0235341c6e9cb39c32d46bd92d49315ec0c", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "f70d038ee3b6139ac5e9fcdaa1e2b0235341c6e9cb39c32d46bd92d49315ec0c", kill_on_drop: false }` [INFO] [stdout] f70d038ee3b6139ac5e9fcdaa1e2b0235341c6e9cb39c32d46bd92d49315ec0c [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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:6252d7ea7fb8caaf7af6d800c5fb250a9cd862b9a7f9508afb3c54fa7fe1102e" "/opt/rustwide/cargo-home/bin/cargo" "+a3f76a26e045a760bb1163b7eab36872985242d5" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] b6a446c7af8d3e44f403364046190e2c9242c26f0f0ddccab4f8f0227e93e555 [INFO] running `Command { std: "docker" "start" "-a" "b6a446c7af8d3e44f403364046190e2c9242c26f0f0ddccab4f8f0227e93e555", kill_on_drop: false }` [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Compiling memchr v2.7.4 [INFO] [stderr] Compiling semver-parser v0.7.0 [INFO] [stderr] Compiling regex-syntax v0.8.4 [INFO] [stderr] Compiling num-bigint v0.2.6 [INFO] [stderr] Compiling unicode-width v0.1.14 [INFO] [stderr] Checking rand_core v0.3.1 [INFO] [stderr] Compiling nom v5.1.3 [INFO] [stderr] Compiling clang-sys v1.8.1 [INFO] [stderr] Compiling atty v0.2.14 [INFO] [stderr] Compiling quick-error v1.2.3 [INFO] [stderr] Compiling libloading v0.8.5 [INFO] [stderr] Compiling syn v2.0.79 [INFO] [stderr] Compiling strsim v0.8.0 [INFO] [stderr] Compiling bitflags v1.3.2 [INFO] [stderr] Compiling termcolor v1.4.1 [INFO] [stderr] Checking rand v0.5.6 [INFO] [stderr] Compiling humantime v1.3.0 [INFO] [stderr] Compiling log v0.4.22 [INFO] [stderr] Compiling textwrap v0.11.0 [INFO] [stderr] Compiling semver v0.9.0 [INFO] [stderr] Compiling bindgen v0.55.1 [INFO] [stderr] Compiling vec_map v0.8.2 [INFO] [stderr] Compiling ansi_term v0.12.1 [INFO] [stderr] Compiling which v3.1.1 [INFO] [stderr] Compiling num-complex v0.2.4 [INFO] [stderr] Compiling num-rational v0.2.4 [INFO] [stderr] Compiling cfg-if v0.1.10 [INFO] [stderr] Compiling shlex v0.1.1 [INFO] [stderr] Compiling lazy_static v1.5.0 [INFO] [stderr] Compiling peeking_take_while v0.1.2 [INFO] [stderr] Compiling rustc_version v0.2.3 [INFO] [stderr] Compiling arrayvec v0.4.12 [INFO] [stderr] Checking crossbeam-utils v0.6.6 [INFO] [stderr] Checking block-buffer v0.7.3 [INFO] [stderr] Checking nodrop v0.1.14 [INFO] [stderr] Compiling clap v2.34.0 [INFO] [stderr] Checking rustc-hex v2.1.0 [INFO] [stderr] Checking crypto-mac v0.7.0 [INFO] [stderr] Checking object v0.36.4 [INFO] [stderr] Checking sha2 v0.8.2 [INFO] [stderr] Checking sha3 v0.8.2 [INFO] [stderr] Checking tiny-keccak v1.5.0 [INFO] [stderr] Checking rlp v0.4.6 [INFO] [stderr] Checking rand_chacha v0.1.1 [INFO] [stderr] Checking crossbeam-channel v0.3.9 [INFO] [stderr] Compiling aho-corasick v1.1.3 [INFO] [stderr] Checking crc32fast v1.4.2 [INFO] [stderr] Compiling parking_lot_core v0.6.3 [INFO] [stderr] Compiling parking_lot v0.9.0 [INFO] [stderr] Checking rand_hc v0.1.0 [INFO] [stderr] Checking rand_isaac v0.1.1 [INFO] [stderr] Checking crossbeam-epoch v0.7.2 [INFO] [stderr] Checking num-integer v0.1.46 [INFO] [stderr] Checking rand_xorshift v0.1.1 [INFO] [stderr] Checking generic-array v0.13.3 [INFO] [stderr] Checking fs2 v0.4.3 [INFO] [stderr] Checking arrayvec v0.5.2 [INFO] [stderr] Checking rustc-hex v1.0.0 [INFO] [stderr] Checking rand v0.6.5 [INFO] [stderr] Checking num-iter v0.1.45 [INFO] [stderr] Checking blake2 v0.8.1 [INFO] [stderr] Compiling regex-automata v0.4.7 [INFO] [stderr] Compiling cexpr v0.4.0 [INFO] [stderr] Checking num v0.2.1 [INFO] [stderr] Compiling serde_derive v1.0.210 [INFO] [stderr] Checking mimc-rs v0.0.2 [INFO] [stderr] Checking backtrace v0.3.74 [INFO] [stderr] Compiling regex v1.10.6 [INFO] [stderr] Checking failure v0.1.8 [INFO] [stderr] Compiling env_logger v0.7.1 [INFO] [stderr] Checking serde v1.0.210 [INFO] [stderr] Checking serde_bytes v0.11.15 [INFO] [stderr] Checking bincode v1.3.3 [INFO] [stderr] Checking serde_json v1.0.128 [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 17.38s [INFO] running `Command { std: "docker" "inspect" "b6a446c7af8d3e44f403364046190e2c9242c26f0f0ddccab4f8f0227e93e555", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "b6a446c7af8d3e44f403364046190e2c9242c26f0f0ddccab4f8f0227e93e555", kill_on_drop: false }` [INFO] [stdout] b6a446c7af8d3e44f403364046190e2c9242c26f0f0ddccab4f8f0227e93e555