[INFO] fetching crate merkle_trees 0.1.0... [INFO] testing merkle_trees-0.1.0 against try#f23b22458132fb20faeb8a915b1c252478696f25 for pr-131095 [INFO] extracting crate merkle_trees 0.1.0 into /workspace/builds/worker-5-tc2/source [INFO] validating manifest of crates.io crate merkle_trees 0.1.0 on toolchain f23b22458132fb20faeb8a915b1c252478696f25 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+f23b22458132fb20faeb8a915b1c252478696f25" "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-5-tc2/source/Cargo.toml [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+f23b22458132fb20faeb8a915b1c252478696f25" "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.5.2 (available: v0.7.6) [INFO] [stderr] Adding blake2 v0.8.1 (available: v0.10.6) [INFO] [stderr] Adding generic-array v0.13.3 (available: v1.1.0) [INFO] [stderr] Adding num-bigint v0.2.6 (available: v0.4.6) [INFO] [stderr] Adding rand v0.6.5 (available: v0.8.5) [INFO] [stderr] Adding rlp v0.4.6 (available: v0.6.1) [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 sled v0.29.2 (available: v0.34.7) [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+f23b22458132fb20faeb8a915b1c252478696f25" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/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" "+f23b22458132fb20faeb8a915b1c252478696f25" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 05ec8435822ca075f429182b9e686f9740f7badba36c842564d130aba38946bb [INFO] running `Command { std: "docker" "start" "-a" "05ec8435822ca075f429182b9e686f9740f7badba36c842564d130aba38946bb", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "05ec8435822ca075f429182b9e686f9740f7badba36c842564d130aba38946bb", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "05ec8435822ca075f429182b9e686f9740f7badba36c842564d130aba38946bb", kill_on_drop: false }` [INFO] [stdout] 05ec8435822ca075f429182b9e686f9740f7badba36c842564d130aba38946bb [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/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" "+f23b22458132fb20faeb8a915b1c252478696f25" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 1b589afa915d1654a3c10a60d1c6dececbe0519cc84586dc1984b201e49cf648 [INFO] running `Command { std: "docker" "start" "-a" "1b589afa915d1654a3c10a60d1c6dececbe0519cc84586dc1984b201e49cf648", kill_on_drop: false }` [INFO] [stderr] Compiling typenum v1.17.0 [INFO] [stderr] Compiling autocfg v1.4.0 [INFO] [stderr] Compiling libc v0.2.159 [INFO] [stderr] Compiling syn v1.0.109 [INFO] [stderr] Compiling memchr v2.7.4 [INFO] [stderr] Compiling byte-tools v0.3.1 [INFO] [stderr] Compiling syn v2.0.79 [INFO] [stderr] Compiling rand_core v0.4.2 [INFO] [stderr] Compiling block-padding v0.1.5 [INFO] [stderr] Compiling unicode-xid v0.2.6 [INFO] [stderr] Compiling byteorder v1.5.0 [INFO] [stderr] Compiling serde v1.0.210 [INFO] [stderr] Compiling adler2 v2.0.0 [INFO] [stderr] Compiling failure_derive v0.1.8 [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Compiling gimli v0.31.0 [INFO] [stderr] Compiling miniz_oxide v0.8.0 [INFO] [stderr] Compiling object v0.36.4 [INFO] [stderr] Compiling num-bigint v0.2.6 [INFO] [stderr] Compiling rand_core v0.3.1 [INFO] [stderr] Compiling serde_json v1.0.128 [INFO] [stderr] Compiling rustc-demangle v0.1.24 [INFO] [stderr] Compiling opaque-debug v0.2.3 [INFO] [stderr] Compiling generic-array v0.12.4 [INFO] [stderr] Compiling rand v0.5.6 [INFO] [stderr] Compiling num-integer v0.1.46 [INFO] [stderr] Compiling block-buffer v0.7.3 [INFO] [stderr] Compiling digest v0.8.1 [INFO] [stderr] Compiling fake-simd v0.1.2 [INFO] [stderr] Compiling keccak v0.1.5 [INFO] [stderr] Compiling itoa v1.0.11 [INFO] [stderr] Compiling rustc-hex v2.1.0 [INFO] [stderr] Compiling ryu v1.0.18 [INFO] [stderr] Compiling rlp v0.4.6 [INFO] [stderr] Compiling sha3 v0.8.2 [INFO] [stderr] Compiling sha2 v0.8.2 [INFO] [stderr] Compiling generic-array v0.13.3 [INFO] [stderr] Compiling synstructure v0.12.6 [INFO] [stderr] Compiling arrayvec v0.5.2 [INFO] [stderr] Compiling serde_derive v1.0.210 [INFO] [stderr] Compiling addr2line v0.24.1 [INFO] [stderr] Compiling backtrace v0.3.74 [INFO] [stderr] Compiling failure v0.1.8 [INFO] [stderr] Compiling 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] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 34.22s [INFO] running `Command { std: "docker" "inspect" "1b589afa915d1654a3c10a60d1c6dececbe0519cc84586dc1984b201e49cf648", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "1b589afa915d1654a3c10a60d1c6dececbe0519cc84586dc1984b201e49cf648", kill_on_drop: false }` [INFO] [stdout] 1b589afa915d1654a3c10a60d1c6dececbe0519cc84586dc1984b201e49cf648 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/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" "+f23b22458132fb20faeb8a915b1c252478696f25" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] a31f365721226ca9a15948b8bf11e3df70d99d464c472110033688c999db64f8 [INFO] running `Command { std: "docker" "start" "-a" "a31f365721226ca9a15948b8bf11e3df70d99d464c472110033688c999db64f8", kill_on_drop: false }` [INFO] [stderr] Compiling cfg-if v0.1.10 [INFO] [stderr] Compiling autocfg v0.1.8 [INFO] [stderr] Compiling semver-parser v0.7.0 [INFO] [stderr] Compiling glob v0.3.1 [INFO] [stderr] Compiling lazy_static v1.5.0 [INFO] [stderr] Compiling version_check v0.9.5 [INFO] [stderr] Compiling aho-corasick v1.1.3 [INFO] [stderr] Compiling regex-syntax v0.8.5 [INFO] [stderr] Compiling atty v0.2.14 [INFO] [stderr] Compiling quick-error v1.2.3 [INFO] [stderr] Compiling log v0.4.22 [INFO] [stderr] Compiling unicode-width v0.1.14 [INFO] [stderr] Compiling maybe-uninit v2.0.0 [INFO] [stderr] Compiling semver v0.9.0 [INFO] [stderr] Compiling textwrap v0.11.0 [INFO] [stderr] Compiling humantime v1.3.0 [INFO] [stderr] Compiling libloading v0.8.5 [INFO] [stderr] Compiling nom v5.1.3 [INFO] [stderr] Compiling clang-sys v1.8.1 [INFO] [stderr] Compiling rustc_version v0.2.3 [INFO] [stderr] Compiling termcolor v1.4.1 [INFO] [stderr] Compiling vec_map v0.8.2 [INFO] [stderr] Compiling strsim v0.8.0 [INFO] [stderr] Compiling ansi_term v0.12.1 [INFO] [stderr] Compiling bitflags v1.3.2 [INFO] [stderr] Compiling bindgen v0.55.1 [INFO] [stderr] Compiling clap v2.34.0 [INFO] [stderr] Compiling parking_lot_core v0.6.3 [INFO] [stderr] Compiling which v3.1.1 [INFO] [stderr] Compiling num-rational v0.2.4 [INFO] [stderr] Compiling num-complex v0.2.4 [INFO] [stderr] Compiling memoffset v0.5.6 [INFO] [stderr] Compiling lazycell v1.3.0 [INFO] [stderr] Compiling arrayvec v0.4.12 [INFO] [stderr] Compiling rustc-hash v1.1.0 [INFO] [stderr] Compiling scopeguard v1.2.0 [INFO] [stderr] Compiling peeking_take_while v0.1.2 [INFO] [stderr] Compiling shlex v0.1.1 [INFO] [stderr] Compiling crunchy v0.2.2 [INFO] [stderr] Compiling shlex v1.3.0 [INFO] [stderr] Compiling cc v1.1.24 [INFO] [stderr] Compiling smallvec v0.6.14 [INFO] [stderr] Compiling parking_lot v0.9.0 [INFO] [stderr] Compiling rand_chacha v0.1.1 [INFO] [stderr] Compiling rand_pcg v0.1.2 [INFO] [stderr] Compiling crossbeam-utils v0.6.6 [INFO] [stderr] Compiling nodrop v0.1.14 [INFO] [stderr] Compiling paste v1.0.15 [INFO] [stderr] Compiling regex-automata v0.4.8 [INFO] [stderr] Compiling cexpr v0.4.0 [INFO] [stderr] Compiling lock_api v0.3.4 [INFO] [stderr] Compiling num-iter v0.1.45 [INFO] [stderr] Compiling rand v0.6.5 [INFO] [stderr] Compiling subtle v1.0.0 [INFO] [stderr] Compiling num v0.2.1 [INFO] [stderr] Compiling crypto-mac v0.7.0 [INFO] [stderr] Compiling tiny-keccak v1.5.0 [INFO] [stderr] Compiling crossbeam-epoch v0.7.2 [INFO] [stderr] Compiling crossbeam-channel v0.3.9 [INFO] [stderr] Compiling serde_bytes v0.11.15 [INFO] [stderr] Compiling bincode v1.3.3 [INFO] [stderr] Compiling fxhash v0.2.1 [INFO] [stderr] Compiling fs2 v0.4.3 [INFO] [stderr] Compiling rand_os v0.1.3 [INFO] [stderr] Compiling rand_xorshift v0.1.1 [INFO] [stderr] Compiling rand_hc v0.1.0 [INFO] [stderr] Compiling rand_isaac v0.1.1 [INFO] [stderr] Compiling rand_jitter v0.1.4 [INFO] [stderr] Compiling crc32fast v1.4.2 [INFO] [stderr] Compiling rustc-hex v1.0.0 [INFO] [stderr] Compiling mimc-rs v0.0.2 [INFO] [stderr] Compiling blake2 v0.8.1 [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] [stderr] Compiling sled v0.29.2 [INFO] [stderr] Compiling regex v1.11.0 [INFO] [stderr] Compiling env_logger v0.7.1 [INFO] [stderr] Compiling unqlite v1.5.0 [INFO] [stderr] Compiling 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: `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] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 49.04s [INFO] running `Command { std: "docker" "inspect" "a31f365721226ca9a15948b8bf11e3df70d99d464c472110033688c999db64f8", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "a31f365721226ca9a15948b8bf11e3df70d99d464c472110033688c999db64f8", kill_on_drop: false }` [INFO] [stdout] a31f365721226ca9a15948b8bf11e3df70d99d464c472110033688c999db64f8 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/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" "+f23b22458132fb20faeb8a915b1c252478696f25" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] 0cf84e23e0d127ba9342b9dfe1a02e3c1203d57133b355efb641a87350af65bc [INFO] running `Command { std: "docker" "start" "-a" "0cf84e23e0d127ba9342b9dfe1a02e3c1203d57133b355efb641a87350af65bc", kill_on_drop: false }` [INFO] [stderr] warning: unused `#[macro_use]` import [INFO] [stderr] --> src/lib.rs:13:1 [INFO] [stderr] | [INFO] [stderr] 13 | #[macro_use] [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around assigned value [INFO] [stderr] --> src/compact_merkle_tree.rs:284:28 [INFO] [stderr] | [INFO] [stderr] 284 | idx += (p - 1); [INFO] [stderr] | ^ ^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_parens)]` on by default [INFO] [stderr] help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] 284 - idx += (p - 1); [INFO] [stderr] 284 + idx += p - 1; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around assigned value [INFO] [stderr] --> src/compact_merkle_tree.rs:834:29 [INFO] [stderr] | [INFO] [stderr] 834 | let last_leaf_idx = (size - 1); [INFO] [stderr] | ^ ^ [INFO] [stderr] | [INFO] [stderr] help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] 834 - let last_leaf_idx = (size - 1); [INFO] [stderr] 834 + let last_leaf_idx = size - 1; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::iter::FromIterator` [INFO] [stderr] --> src/db.rs:4:5 [INFO] [stderr] | [INFO] [stderr] 4 | use std::iter::FromIterator; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `crate::hasher::Arity2Hasher` [INFO] [stderr] --> src/merkle_patricia_trie.rs:9:5 [INFO] [stderr] | [INFO] [stderr] 9 | use crate::hasher::Arity2Hasher; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `crate::types::LeafIndex` [INFO] [stderr] --> src/merkle_patricia_trie.rs:11:5 [INFO] [stderr] | [INFO] [stderr] 11 | use crate::types::LeafIndex; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `arrayvec::ArrayVec` [INFO] [stderr] --> src/types.rs:1:5 [INFO] [stderr] | [INFO] [stderr] 1 | use arrayvec::ArrayVec; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `num_traits::identities::Zero` [INFO] [stderr] --> src/types.rs:3:5 [INFO] [stderr] | [INFO] [stderr] 3 | use num_traits::identities::Zero; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: methods `is_empty`, `is_leaf`, and `is_extension` are never used [INFO] [stderr] --> src/merkle_patricia_trie.rs:35:8 [INFO] [stderr] | [INFO] [stderr] 34 | impl NodeType { [INFO] [stderr] | ------------------------- methods in this implementation [INFO] [stderr] 35 | fn is_empty(&self) -> bool { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 42 | fn is_leaf(&self) -> bool { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 49 | fn is_extension(&self) -> bool { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: method `reset_root` is never used [INFO] [stderr] --> src/merkle_patricia_trie.rs:1373:8 [INFO] [stderr] | [INFO] [stderr] 479 | / impl [INFO] [stderr] 480 | | MerklePatriciaTrie [INFO] [stderr] 481 | | where [INFO] [stderr] 482 | | NS: PatriciaTrieNodeSerializer, [INFO] [stderr] 483 | | NH: NodeHasher, [INFO] [stderr] | |_________________________- method in this implementation [INFO] [stderr] ... [INFO] [stderr] 1373 | fn reset_root(&mut self) { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stderr] --> src/errors.rs:4:39 [INFO] [stderr] | [INFO] [stderr] 4 | #[derive(Clone, Eq, PartialEq, Debug, Fail)] [INFO] [stderr] | ^--- [INFO] [stderr] | | [INFO] [stderr] | `Fail` is not local [INFO] [stderr] | move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_MerkleTreeErrorKind` [INFO] [stderr] 5 | pub enum MerkleTreeErrorKind { [INFO] [stderr] | ------------------- `MerkleTreeErrorKind` is not local [INFO] [stderr] | [INFO] [stderr] = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed [INFO] [stderr] = 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] [stderr] = 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] [stderr] = 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] [stderr] = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue [INFO] [stderr] = note: `#[warn(non_local_definitions)]` on by default [INFO] [stderr] = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stderr] --> src/errors.rs:4:39 [INFO] [stderr] | [INFO] [stderr] 4 | #[derive(Clone, Eq, PartialEq, Debug, Fail)] [INFO] [stderr] | ^--- [INFO] [stderr] | | [INFO] [stderr] | `Display` is not local [INFO] [stderr] | move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_MerkleTreeErrorKind` [INFO] [stderr] 5 | pub enum MerkleTreeErrorKind { [INFO] [stderr] | ------------------- `MerkleTreeErrorKind` is not local [INFO] [stderr] | [INFO] [stderr] = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed [INFO] [stderr] = 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] [stderr] = 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] [stderr] = 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] [stderr] = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue [INFO] [stderr] = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: `merkle_trees` (lib) generated 12 warnings (run `cargo fix --lib -p merkle_trees` to apply 7 suggestions) [INFO] [stderr] warning: unused import: `BigInt` [INFO] [stderr] --> src/hasher.rs:85:22 [INFO] [stderr] | [INFO] [stderr] 85 | use num_bigint::{BigInt, BigUint, ToBigInt}; [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `crate::sha2::Sha256` [INFO] [stderr] --> src/sparse_merkle_tree.rs:395:9 [INFO] [stderr] | [INFO] [stderr] 395 | use crate::sha2::Sha256; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Rng` [INFO] [stderr] --> src/vanilla_sparse_merkle_tree.rs:344:34 [INFO] [stderr] | [INFO] [stderr] 344 | use self::rand::{thread_rng, Rng}; [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `num_traits::Pow` [INFO] [stderr] --> src/sparse_merkle_tree.rs:404:9 [INFO] [stderr] | [INFO] [stderr] 404 | use num_traits::Pow; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused variable: `tree` [INFO] [stderr] --> src/compact_merkle_tree.rs:1063:13 [INFO] [stderr] | [INFO] [stderr] 1063 | let tree = CompactMerkleTree::new(hasher.clone()); [INFO] [stderr] | ^^^^ help: if this is intentional, prefix it with an underscore: `_tree` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `h_l_6` [INFO] [stderr] --> src/compact_merkle_tree.rs:1125:13 [INFO] [stderr] | [INFO] [stderr] 1125 | let h_l_6 = hasher.hash_leaf(l_6).unwrap(); [INFO] [stderr] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_h_l_6` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `path_4` [INFO] [stderr] --> src/compact_merkle_tree.rs:1220:13 [INFO] [stderr] | [INFO] [stderr] 1220 | let path_4 = tree.append(l_4, &mut db).unwrap(); [INFO] [stderr] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_path_4` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `path_5` [INFO] [stderr] --> src/compact_merkle_tree.rs:1231:13 [INFO] [stderr] | [INFO] [stderr] 1231 | let path_5 = tree.append(l_5, &mut db).unwrap(); [INFO] [stderr] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_path_5` [INFO] [stderr] [INFO] [stderr] warning: method `is_empty` is never used [INFO] [stderr] --> src/merkle_patricia_trie.rs:35:8 [INFO] [stderr] | [INFO] [stderr] 34 | impl NodeType { [INFO] [stderr] | ------------------------- method in this implementation [INFO] [stderr] 35 | fn is_empty(&self) -> bool { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: call to `.clone()` on a reference in this situation does nothing [INFO] [stderr] --> src/sparse_merkle_tree.rs:420:55 [INFO] [stderr] | [INFO] [stderr] 420 | BinarySparseMerkleTree::new(empty_leaf_val.clone(), hasher.clone(), tree_depth) [INFO] [stderr] | ^^^^^^^^ help: remove this redundant call [INFO] [stderr] | [INFO] [stderr] = 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] [stderr] = note: `#[warn(noop_method_call)]` on by default [INFO] [stderr] [INFO] [stderr] warning: call to `.clone()` on a reference in this situation does nothing [INFO] [stderr] --> src/sparse_merkle_tree.rs:458:55 [INFO] [stderr] | [INFO] [stderr] 458 | BinarySparseMerkleTree::new(empty_leaf_val.clone(), hasher.clone(), tree_depth) [INFO] [stderr] | ^^^^^^^^ help: remove this redundant call [INFO] [stderr] | [INFO] [stderr] = 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] [stderr] [INFO] [stderr] warning: call to `.clone()` on a reference in this situation does nothing [INFO] [stderr] --> src/sparse_merkle_tree.rs:514:55 [INFO] [stderr] | [INFO] [stderr] 514 | BinarySparseMerkleTree::new(empty_leaf_val.clone(), hasher.clone(), tree_depth) [INFO] [stderr] | ^^^^^^^^ help: remove this redundant call [INFO] [stderr] | [INFO] [stderr] = 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] [stderr] [INFO] [stderr] warning: call to `.clone()` on a reference in this situation does nothing [INFO] [stderr] --> src/sparse_merkle_tree.rs:564:55 [INFO] [stderr] | [INFO] [stderr] 564 | BinarySparseMerkleTree::new(empty_leaf_val.clone(), hasher.clone(), tree_depth) [INFO] [stderr] | ^^^^^^^^ help: remove this redundant call [INFO] [stderr] | [INFO] [stderr] = 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] [stderr] [INFO] [stderr] warning: call to `.clone()` on a reference in this situation does nothing [INFO] [stderr] --> src/vanilla_sparse_merkle_tree.rs:363:27 [INFO] [stderr] | [INFO] [stderr] 363 | empty_leaf_val.clone(), [INFO] [stderr] | ^^^^^^^^ help: remove this redundant call [INFO] [stderr] | [INFO] [stderr] = 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] [stderr] [INFO] [stderr] warning: call to `.clone()` on a reference in this situation does nothing [INFO] [stderr] --> src/vanilla_sparse_merkle_tree.rs:434:27 [INFO] [stderr] | [INFO] [stderr] 434 | empty_leaf_val.clone(), [INFO] [stderr] | ^^^^^^^^ help: remove this redundant call [INFO] [stderr] | [INFO] [stderr] = 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] [stderr] [INFO] [stderr] warning: call to `.clone()` on a reference in this situation does nothing [INFO] [stderr] --> src/vanilla_sparse_merkle_tree.rs:505:27 [INFO] [stderr] | [INFO] [stderr] 505 | empty_leaf_val.clone(), [INFO] [stderr] | ^^^^^^^^ help: remove this redundant call [INFO] [stderr] | [INFO] [stderr] = 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] [stderr] [INFO] [stderr] warning: `merkle_trees` (lib test) generated 27 warnings (11 duplicates) (run `cargo fix --lib -p merkle_trees --tests` to apply 10 suggestions) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.17s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/merkle_trees-c4534e8f047797b6) [INFO] [stdout] [INFO] [stdout] running 41 tests [INFO] [stdout] test compact_merkle_tree::tests::test_count_set_bits ... ok [INFO] [stdout] test compact_merkle_tree::tests::test_get_subtree_root_index ... ok [INFO] [stdout] test compact_merkle_tree::tests::test_create_tree_from_hash_db ... ok [INFO] [stdout] test compact_merkle_tree::tests::test_break_in_powers_of_2 ... ok [INFO] [stdout] test compact_merkle_tree::tests::test_hash_leaves ... ok [INFO] [stdout] test compact_merkle_tree::tests::test_inner_border_split ... ok [INFO] [stdout] test compact_merkle_tree::tests::test_least_significant_set_bit ... ok [INFO] [stdout] test compact_merkle_tree::tests::test_num_bits ... ok [INFO] [stdout] test compact_merkle_tree::tests::test_verify_leaf_inclusion_path ... ok [INFO] [stdout] test compact_merkle_tree::tests::test_append ... ok [INFO] [stdout] test compact_merkle_tree::tests::test_largest_power_of_2_less_than ... ok [INFO] [stdout] test compact_merkle_tree::tests::test_hash_db ... ok [INFO] [stdout] test db::tests::test_in_memory_db_string_val ... ok [INFO] [stdout] test merkle_patricia_trie::tests::node_serializer_empty_key_or_values ... ok [INFO] [stdout] test hasher::tests::test_sha256_arity_2_hasher ... ok [INFO] [stdout] test merkle_patricia_trie::tests::node_serializer ... ok [INFO] [stdout] test hasher::tests::test_sha256_arity_4_hasher ... ok [INFO] [stdout] test merkle_patricia_trie::tests::node_serializer_nested_nodes ... ok [INFO] [stdout] test compact_merkle_tree::tests::test_extend_and_verify_proof ... ok [INFO] [stdout] test merkle_patricia_trie::tests::patricia_trie_sha3_rlp_init ... ok [INFO] [stdout] test merkle_patricia_trie::tests::patricia_trie_sha3_rlp_updating_extension_node ... ok [INFO] [stdout] test merkle_patricia_trie::tests::patricia_trie_sha3_rlp_updating_leaf_node ... ok [INFO] [stdout] test merkle_patricia_trie::tests::test_nibbles_bytes_conversion ... ok [INFO] [stdout] test hasher::tests::test_mimc_arity_2_hasher ... ok [INFO] [stdout] test sparse_merkle_tree::tests::test_binary_tree_sha256_string ... ok [INFO] [stdout] test compact_merkle_tree::tests::test_append_and_verify_proof ... ok [INFO] [stdout] test sparse_merkle_tree::tests::test_binary_tree_sha256_string_repeat_vals ... ok [INFO] [stdout] test sparse_merkle_tree::tests::test_binary_tree_sha256_string_repeated ... ok [INFO] [stdout] test types::tests::test_equivalence_of_u64_and_BigUint ... ok [INFO] [stdout] test types::tests::test_leaf_path ... ok [INFO] [stdout] test types::tests::test_leaf_path_1 ... ok [INFO] [stdout] test compact_merkle_tree::tests::test_consistency_proof ... ok [INFO] [stdout] test vanilla_sparse_merkle_tree::tests::test_vanilla_binary_sparse_tree_sha256_string ... ok [INFO] [stdout] test vanilla_sparse_merkle_tree::tests::test_vanilla_sparse_4_ary_tree_sha256_string ... ok [INFO] [stdout] test merkle_patricia_trie::tests::patricia_trie_sha3_rlp_get_key_vals ... ok [INFO] [stdout] test vanilla_sparse_merkle_tree::tests::test_vanilla_binary_sparse_tree_sha256_string_BigUint_index ... ok [INFO] [stdout] test merkle_patricia_trie::tests::patricia_trie_sha3_rlp_proof ... ok [INFO] [stdout] test sparse_merkle_tree::tests::test_binary_tree_sha256_string_BigUint_index ... ok [INFO] [stdout] test merkle_patricia_trie::tests::patricia_trie_sha3_rlp_get_prefix_key_vals ... ok [INFO] [stdout] test merkle_patricia_trie::tests::patricia_trie_sha3_rlp_random_vals has been running for over 60 seconds [INFO] [stdout] test sparse_merkle_tree::tests::test_binary_tree_mimc_BigUint has been running for over 60 seconds [INFO] [stdout] test sparse_merkle_tree::tests::test_binary_tree_mimc_BigUint ... ok [INFO] [stdout] test merkle_patricia_trie::tests::patricia_trie_sha3_rlp_random_vals ... ok [INFO] [stderr] Doc-tests merkle_trees [INFO] [stdout] [INFO] [stdout] test result: ok. 41 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 158.26s [INFO] [stdout] [INFO] [stderr] warning: unnecessary parentheses around assigned value [INFO] [stderr] --> src/compact_merkle_tree.rs:284:28 [INFO] [stderr] | [INFO] [stderr] 284 | idx += (p - 1); [INFO] [stderr] | ^ ^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_parens)]` on by default [INFO] [stderr] help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] 284 - idx += (p - 1); [INFO] [stderr] 284 + idx += p - 1; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around assigned value [INFO] [stderr] --> src/compact_merkle_tree.rs:834:29 [INFO] [stderr] | [INFO] [stderr] 834 | let last_leaf_idx = (size - 1); [INFO] [stderr] | ^ ^ [INFO] [stderr] | [INFO] [stderr] help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] 834 - let last_leaf_idx = (size - 1); [INFO] [stderr] 834 + let last_leaf_idx = size - 1; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: 2 warnings emitted [INFO] [stderr] [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "0cf84e23e0d127ba9342b9dfe1a02e3c1203d57133b355efb641a87350af65bc", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "0cf84e23e0d127ba9342b9dfe1a02e3c1203d57133b355efb641a87350af65bc", kill_on_drop: false }` [INFO] [stdout] 0cf84e23e0d127ba9342b9dfe1a02e3c1203d57133b355efb641a87350af65bc