[INFO] fetching crate incrementalmerkletree 0.5.0...
[INFO] checking incrementalmerkletree-0.5.0 against master#30f74ff0dc4d66debc8b50724c446f817e5f75f4 for pr-121848-1
[INFO] extracting crate incrementalmerkletree 0.5.0 into /workspace/builds/worker-2-tc1/source
[INFO] validating manifest of crates.io crate incrementalmerkletree 0.5.0 on toolchain 30f74ff0dc4d66debc8b50724c446f817e5f75f4
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+30f74ff0dc4d66debc8b50724c446f817e5f75f4" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate incrementalmerkletree 0.5.0
[INFO] finished tweaking crates.io crate incrementalmerkletree 0.5.0
[INFO] tweaked toml for crates.io crate incrementalmerkletree 0.5.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" "+30f74ff0dc4d66debc8b50724c446f817e5f75f4" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+30f74ff0dc4d66debc8b50724c446f817e5f75f4" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+30f74ff0dc4d66debc8b50724c446f817e5f75f4" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 1f86a18c41e10dd265ec5a2d6b784c453ed3045379d9f33261723b18bac4e8be
[INFO] running `Command { std: "docker" "start" "-a" "1f86a18c41e10dd265ec5a2d6b784c453ed3045379d9f33261723b18bac4e8be", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "1f86a18c41e10dd265ec5a2d6b784c453ed3045379d9f33261723b18bac4e8be", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "1f86a18c41e10dd265ec5a2d6b784c453ed3045379d9f33261723b18bac4e8be", kill_on_drop: false }`
[INFO] [stdout] 1f86a18c41e10dd265ec5a2d6b784c453ed3045379d9f33261723b18bac4e8be
[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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+30f74ff0dc4d66debc8b50724c446f817e5f75f4" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 5ea98398821fad1153db82b0e57ca55ae1bd7825b360506ddf897ce8c23f2ef7
[INFO] running `Command { std: "docker" "start" "-a" "5ea98398821fad1153db82b0e57ca55ae1bd7825b360506ddf897ce8c23f2ef7", kill_on_drop: false }`
[INFO] [stderr]    Compiling libm v0.2.8
[INFO] [stderr]     Checking wait-timeout v0.2.0
[INFO] [stderr]     Checking bit-vec v0.6.3
[INFO] [stderr]     Checking unarray v0.1.4
[INFO] [stderr]    Compiling num-traits v0.2.18
[INFO] [stderr]     Checking incrementalmerkletree v0.5.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Checking rand_xorshift v0.3.0
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stdout] warning: the item `TryFrom` is imported redundantly
[INFO] [stdout]   --> src/lib.rs:50:20
[INFO] [stdout]    |
[INFO] [stdout] 50 | use std::convert::{TryFrom, TryInto};
[INFO] [stdout]    |                    ^^^^^^^
[INFO] [stdout]   --> /rustc/30f74ff0dc4d66debc8b50724c446f817e5f75f4/library/std/src/prelude/mod.rs:129:13
[INFO] [stdout]    |
[INFO] [stdout]    = note: the item `TryFrom` is already defined here
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `TryInto` is imported redundantly
[INFO] [stdout]   --> src/lib.rs:50:29
[INFO] [stdout]    |
[INFO] [stdout] 50 | use std::convert::{TryFrom, TryInto};
[INFO] [stdout]    |                             ^^^^^^^
[INFO] [stdout]   --> /rustc/30f74ff0dc4d66debc8b50724c446f817e5f75f4/library/std/src/prelude/mod.rs:129:13
[INFO] [stdout]    |
[INFO] [stdout]    = note: the item `TryInto` is already defined here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `TryFrom` is imported redundantly
[INFO] [stdout]  --> src/frontier.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::convert::TryFrom;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]  --> /rustc/30f74ff0dc4d66debc8b50724c446f817e5f75f4/library/std/src/prelude/mod.rs:129:13
[INFO] [stdout]   |
[INFO] [stdout]   = note: the item `TryFrom` is already defined here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking rusty-fork v0.3.0
[INFO] [stdout] warning: 3 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking bit-set v0.5.3
[INFO] [stderr]     Checking proptest v1.4.0
[INFO] [stdout] warning: the item `TryFrom` is imported redundantly
[INFO] [stdout]   --> src/lib.rs:50:20
[INFO] [stdout]    |
[INFO] [stdout] 50 | use std::convert::{TryFrom, TryInto};
[INFO] [stdout]    |                    ^^^^^^^
[INFO] [stdout]   --> /rustc/30f74ff0dc4d66debc8b50724c446f817e5f75f4/library/std/src/prelude/mod.rs:129:13
[INFO] [stdout]    |
[INFO] [stdout]    = note: the item `TryFrom` is already defined here
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `TryInto` is imported redundantly
[INFO] [stdout]   --> src/lib.rs:50:29
[INFO] [stdout]    |
[INFO] [stdout] 50 | use std::convert::{TryFrom, TryInto};
[INFO] [stdout]    |                             ^^^^^^^
[INFO] [stdout]   --> /rustc/30f74ff0dc4d66debc8b50724c446f817e5f75f4/library/std/src/prelude/mod.rs:129:13
[INFO] [stdout]    |
[INFO] [stdout]    = note: the item `TryInto` is already defined here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `TryFrom` is imported redundantly
[INFO] [stdout]  --> src/frontier.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::convert::TryFrom;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]  --> /rustc/30f74ff0dc4d66debc8b50724c446f817e5f75f4/library/std/src/prelude/mod.rs:129:13
[INFO] [stdout]   |
[INFO] [stdout]   = note: the item `TryFrom` is already defined here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `root` exists for struct `NonEmptyFrontier<String>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/frontier.rs:640:29
[INFO] [stdout]     |
[INFO] [stdout] 27  | pub struct NonEmptyFrontier<H> {
[INFO] [stdout]     | ------------------------------ method `root` not found for this struct
[INFO] [stdout] ...
[INFO] [stdout] 640 |         assert_eq!(frontier.root(None), "a");
[INFO] [stdout]     |                             ^^^^ method cannot be called on `NonEmptyFrontier<String>` due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout] note: trait bound `String: Hashable` was not satisfied
[INFO] [stdout]    --> src/frontier.rs:79:9
[INFO] [stdout]     |
[INFO] [stdout] 79  | impl<H: Hashable + Clone> NonEmptyFrontier<H> {
[INFO] [stdout]     |         ^^^^^^^^          -------------------
[INFO] [stdout]     |         |
[INFO] [stdout]     |         unsatisfied trait bound introduced here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `append` exists for struct `NonEmptyFrontier<String>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/frontier.rs:642:18
[INFO] [stdout]     |
[INFO] [stdout] 27  | pub struct NonEmptyFrontier<H> {
[INFO] [stdout]     | ------------------------------ method `append` not found for this struct
[INFO] [stdout] ...
[INFO] [stdout] 642 |         frontier.append("b".to_string());
[INFO] [stdout]     |                  ^^^^^^ method cannot be called on `NonEmptyFrontier<String>` due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout] note: trait bound `String: Hashable` was not satisfied
[INFO] [stdout]    --> src/frontier.rs:79:9
[INFO] [stdout]     |
[INFO] [stdout] 79  | impl<H: Hashable + Clone> NonEmptyFrontier<H> {
[INFO] [stdout]     |         ^^^^^^^^          -------------------
[INFO] [stdout]     |         |
[INFO] [stdout]     |         unsatisfied trait bound introduced here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `root` exists for struct `NonEmptyFrontier<String>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/frontier.rs:643:29
[INFO] [stdout]     |
[INFO] [stdout] 27  | pub struct NonEmptyFrontier<H> {
[INFO] [stdout]     | ------------------------------ method `root` not found for this struct
[INFO] [stdout] ...
[INFO] [stdout] 643 |         assert_eq!(frontier.root(None), "ab");
[INFO] [stdout]     |                             ^^^^ method cannot be called on `NonEmptyFrontier<String>` due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout] note: trait bound `String: Hashable` was not satisfied
[INFO] [stdout]    --> src/frontier.rs:79:9
[INFO] [stdout]     |
[INFO] [stdout] 79  | impl<H: Hashable + Clone> NonEmptyFrontier<H> {
[INFO] [stdout]     |         ^^^^^^^^          -------------------
[INFO] [stdout]     |         |
[INFO] [stdout]     |         unsatisfied trait bound introduced here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `append` exists for struct `NonEmptyFrontier<String>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/frontier.rs:645:18
[INFO] [stdout]     |
[INFO] [stdout] 27  | pub struct NonEmptyFrontier<H> {
[INFO] [stdout]     | ------------------------------ method `append` not found for this struct
[INFO] [stdout] ...
[INFO] [stdout] 645 |         frontier.append("c".to_string());
[INFO] [stdout]     |                  ^^^^^^ method cannot be called on `NonEmptyFrontier<String>` due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout] note: trait bound `String: Hashable` was not satisfied
[INFO] [stdout]    --> src/frontier.rs:79:9
[INFO] [stdout]     |
[INFO] [stdout] 79  | impl<H: Hashable + Clone> NonEmptyFrontier<H> {
[INFO] [stdout]     |         ^^^^^^^^          -------------------
[INFO] [stdout]     |         |
[INFO] [stdout]     |         unsatisfied trait bound introduced here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `root` exists for struct `NonEmptyFrontier<String>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/frontier.rs:646:29
[INFO] [stdout]     |
[INFO] [stdout] 27  | pub struct NonEmptyFrontier<H> {
[INFO] [stdout]     | ------------------------------ method `root` not found for this struct
[INFO] [stdout] ...
[INFO] [stdout] 646 |         assert_eq!(frontier.root(None), "abc_");
[INFO] [stdout]     |                             ^^^^ method cannot be called on `NonEmptyFrontier<String>` due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout] note: trait bound `String: Hashable` was not satisfied
[INFO] [stdout]    --> src/frontier.rs:79:9
[INFO] [stdout]     |
[INFO] [stdout] 79  | impl<H: Hashable + Clone> NonEmptyFrontier<H> {
[INFO] [stdout]     |         ^^^^^^^^          -------------------
[INFO] [stdout]     |         |
[INFO] [stdout]     |         unsatisfied trait bound introduced here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `root` exists for struct `Frontier<String, 4>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/frontier.rs:659:29
[INFO] [stdout]     |
[INFO] [stdout] 181 | pub struct Frontier<H, const DEPTH: u8> {
[INFO] [stdout]     | --------------------------------------- method `root` not found for this struct
[INFO] [stdout] ...
[INFO] [stdout] 659 |         assert_eq!(frontier.root().len(), 16);
[INFO] [stdout]     |                             ^^^^ method cannot be called on `Frontier<String, 4>` due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout] note: trait bound `String: Hashable` was not satisfied
[INFO] [stdout]    --> src/frontier.rs:230:9
[INFO] [stdout]     |
[INFO] [stdout] 230 | impl<H: Hashable + Clone, const DEPTH: u8> Frontier<H, DEPTH> {
[INFO] [stdout]     |         ^^^^^^^^                           ------------------
[INFO] [stdout]     |         |
[INFO] [stdout]     |         unsatisfied trait bound introduced here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `root` exists for struct `Frontier<String, 4>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/frontier.rs:660:29
[INFO] [stdout]     |
[INFO] [stdout] 181 | pub struct Frontier<H, const DEPTH: u8> {
[INFO] [stdout]     | --------------------------------------- method `root` not found for this struct
[INFO] [stdout] ...
[INFO] [stdout] 660 |         assert_eq!(frontier.root(), "________________");
[INFO] [stdout]     |                             ^^^^ method cannot be called on `Frontier<String, 4>` due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout] note: trait bound `String: Hashable` was not satisfied
[INFO] [stdout]    --> src/frontier.rs:230:9
[INFO] [stdout]     |
[INFO] [stdout] 230 | impl<H: Hashable + Clone, const DEPTH: u8> Frontier<H, DEPTH> {
[INFO] [stdout]     |         ^^^^^^^^                           ------------------
[INFO] [stdout]     |         |
[INFO] [stdout]     |         unsatisfied trait bound introduced here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `append` exists for struct `Frontier<String, 4>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/frontier.rs:662:18
[INFO] [stdout]     |
[INFO] [stdout] 181 | pub struct Frontier<H, const DEPTH: u8> {
[INFO] [stdout]     | --------------------------------------- method `append` not found for this struct
[INFO] [stdout] ...
[INFO] [stdout] 662 |         frontier.append("a".to_string());
[INFO] [stdout]     |                  ^^^^^^ method cannot be called on `Frontier<String, 4>` due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout] note: trait bound `String: Hashable` was not satisfied
[INFO] [stdout]    --> src/frontier.rs:230:9
[INFO] [stdout]     |
[INFO] [stdout] 230 | impl<H: Hashable + Clone, const DEPTH: u8> Frontier<H, DEPTH> {
[INFO] [stdout]     |         ^^^^^^^^                           ------------------
[INFO] [stdout]     |         |
[INFO] [stdout]     |         unsatisfied trait bound introduced here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `root` exists for struct `Frontier<String, 4>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/frontier.rs:663:29
[INFO] [stdout]     |
[INFO] [stdout] 181 | pub struct Frontier<H, const DEPTH: u8> {
[INFO] [stdout]     | --------------------------------------- method `root` not found for this struct
[INFO] [stdout] ...
[INFO] [stdout] 663 |         assert_eq!(frontier.root(), "a_______________");
[INFO] [stdout]     |                             ^^^^ method cannot be called on `Frontier<String, 4>` due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout] note: trait bound `String: Hashable` was not satisfied
[INFO] [stdout]    --> src/frontier.rs:230:9
[INFO] [stdout]     |
[INFO] [stdout] 230 | impl<H: Hashable + Clone, const DEPTH: u8> Frontier<H, DEPTH> {
[INFO] [stdout]     |         ^^^^^^^^                           ------------------
[INFO] [stdout]     |         |
[INFO] [stdout]     |         unsatisfied trait bound introduced here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `append` exists for struct `Frontier<String, 4>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/frontier.rs:665:18
[INFO] [stdout]     |
[INFO] [stdout] 181 | pub struct Frontier<H, const DEPTH: u8> {
[INFO] [stdout]     | --------------------------------------- method `append` not found for this struct
[INFO] [stdout] ...
[INFO] [stdout] 665 |         frontier.append("b".to_string());
[INFO] [stdout]     |                  ^^^^^^ method cannot be called on `Frontier<String, 4>` due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout] note: trait bound `String: Hashable` was not satisfied
[INFO] [stdout]    --> src/frontier.rs:230:9
[INFO] [stdout]     |
[INFO] [stdout] 230 | impl<H: Hashable + Clone, const DEPTH: u8> Frontier<H, DEPTH> {
[INFO] [stdout]     |         ^^^^^^^^                           ------------------
[INFO] [stdout]     |         |
[INFO] [stdout]     |         unsatisfied trait bound introduced here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `root` exists for struct `Frontier<String, 4>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/frontier.rs:666:29
[INFO] [stdout]     |
[INFO] [stdout] 181 | pub struct Frontier<H, const DEPTH: u8> {
[INFO] [stdout]     | --------------------------------------- method `root` not found for this struct
[INFO] [stdout] ...
[INFO] [stdout] 666 |         assert_eq!(frontier.root(), "ab______________");
[INFO] [stdout]     |                             ^^^^ method cannot be called on `Frontier<String, 4>` due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout] note: trait bound `String: Hashable` was not satisfied
[INFO] [stdout]    --> src/frontier.rs:230:9
[INFO] [stdout]     |
[INFO] [stdout] 230 | impl<H: Hashable + Clone, const DEPTH: u8> Frontier<H, DEPTH> {
[INFO] [stdout]     |         ^^^^^^^^                           ------------------
[INFO] [stdout]     |         |
[INFO] [stdout]     |         unsatisfied trait bound introduced here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `append` exists for struct `Frontier<String, 4>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/frontier.rs:668:18
[INFO] [stdout]     |
[INFO] [stdout] 181 | pub struct Frontier<H, const DEPTH: u8> {
[INFO] [stdout]     | --------------------------------------- method `append` not found for this struct
[INFO] [stdout] ...
[INFO] [stdout] 668 |         frontier.append("c".to_string());
[INFO] [stdout]     |                  ^^^^^^ method cannot be called on `Frontier<String, 4>` due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout] note: trait bound `String: Hashable` was not satisfied
[INFO] [stdout]    --> src/frontier.rs:230:9
[INFO] [stdout]     |
[INFO] [stdout] 230 | impl<H: Hashable + Clone, const DEPTH: u8> Frontier<H, DEPTH> {
[INFO] [stdout]     |         ^^^^^^^^                           ------------------
[INFO] [stdout]     |         |
[INFO] [stdout]     |         unsatisfied trait bound introduced here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `root` exists for struct `Frontier<String, 4>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/frontier.rs:669:29
[INFO] [stdout]     |
[INFO] [stdout] 181 | pub struct Frontier<H, const DEPTH: u8> {
[INFO] [stdout]     | --------------------------------------- method `root` not found for this struct
[INFO] [stdout] ...
[INFO] [stdout] 669 |         assert_eq!(frontier.root(), "abc_____________");
[INFO] [stdout]     |                             ^^^^ method cannot be called on `Frontier<String, 4>` due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout] note: trait bound `String: Hashable` was not satisfied
[INFO] [stdout]    --> src/frontier.rs:230:9
[INFO] [stdout]     |
[INFO] [stdout] 230 | impl<H: Hashable + Clone, const DEPTH: u8> Frontier<H, DEPTH> {
[INFO] [stdout]     |         ^^^^^^^^                           ------------------
[INFO] [stdout]     |         |
[INFO] [stdout]     |         unsatisfied trait bound introduced here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `append` exists for struct `NonEmptyFrontier<String>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/frontier.rs:676:22
[INFO] [stdout]     |
[INFO] [stdout] 27  | pub struct NonEmptyFrontier<H> {
[INFO] [stdout]     | ------------------------------ method `append` not found for this struct
[INFO] [stdout] ...
[INFO] [stdout] 676 |             frontier.append(c.to_string());
[INFO] [stdout]     |                      ^^^^^^ method cannot be called on `NonEmptyFrontier<String>` due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout] note: trait bound `String: Hashable` was not satisfied
[INFO] [stdout]    --> src/frontier.rs:79:9
[INFO] [stdout]     |
[INFO] [stdout] 79  | impl<H: Hashable + Clone> NonEmptyFrontier<H> {
[INFO] [stdout]     |         ^^^^^^^^          -------------------
[INFO] [stdout]     |         |
[INFO] [stdout]     |         unsatisfied trait bound introduced here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `witness` exists for struct `NonEmptyFrontier<String>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/frontier.rs:688:22
[INFO] [stdout]     |
[INFO] [stdout] 27  | pub struct NonEmptyFrontier<H> {
[INFO] [stdout]     | ------------------------------ method `witness` not found for this struct
[INFO] [stdout] ...
[INFO] [stdout] 688 |             frontier.witness(4, bridge_value_at)
[INFO] [stdout]     |                      ^^^^^^^ method cannot be called on `NonEmptyFrontier<String>` due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout] note: trait bound `String: Hashable` was not satisfied
[INFO] [stdout]    --> src/frontier.rs:79:9
[INFO] [stdout]     |
[INFO] [stdout] 79  | impl<H: Hashable + Clone> NonEmptyFrontier<H> {
[INFO] [stdout]     |         ^^^^^^^^          -------------------
[INFO] [stdout]     |         |
[INFO] [stdout]     |         unsatisfied trait bound introduced here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `append` exists for struct `Frontier<String, 4>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/frontier.rs:696:22
[INFO] [stdout]     |
[INFO] [stdout] 181 | pub struct Frontier<H, const DEPTH: u8> {
[INFO] [stdout]     | --------------------------------------- method `append` not found for this struct
[INFO] [stdout] ...
[INFO] [stdout] 696 |             frontier.append(c.to_string());
[INFO] [stdout]     |                      ^^^^^^ method cannot be called on `Frontier<String, 4>` due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout] note: trait bound `String: Hashable` was not satisfied
[INFO] [stdout]    --> src/frontier.rs:230:9
[INFO] [stdout]     |
[INFO] [stdout] 230 | impl<H: Hashable + Clone, const DEPTH: u8> Frontier<H, DEPTH> {
[INFO] [stdout]     |         ^^^^^^^^                           ------------------
[INFO] [stdout]     |         |
[INFO] [stdout]     |         unsatisfied trait bound introduced here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `witness` exists for struct `Frontier<String, 4>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/frontier.rs:701:18
[INFO] [stdout]     |
[INFO] [stdout] 181 |   pub struct Frontier<H, const DEPTH: u8> {
[INFO] [stdout]     |   --------------------------------------- method `witness` not found for this struct
[INFO] [stdout] ...
[INFO] [stdout] 700 | /             frontier
[INFO] [stdout] 701 | |                 .witness(|addr| Some(String::empty_root(addr.level())))
[INFO] [stdout]     | |                 -^^^^^^^ method cannot be called on `Frontier<String, 4>` due to unsatisfied trait bounds
[INFO] [stdout]     | |_________________|
[INFO] [stdout]     | 
[INFO] [stdout]     |
[INFO] [stdout] note: trait bound `String: Hashable` was not satisfied
[INFO] [stdout]    --> src/frontier.rs:230:9
[INFO] [stdout]     |
[INFO] [stdout] 230 | impl<H: Hashable + Clone, const DEPTH: u8> Frontier<H, DEPTH> {
[INFO] [stdout]     |         ^^^^^^^^                           ------------------
[INFO] [stdout]     |         |
[INFO] [stdout]     |         unsatisfied trait bound introduced here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no function or associated item named `empty_root` found for struct `String` in the current scope
[INFO] [stdout]    --> src/frontier.rs:701:46
[INFO] [stdout]     |
[INFO] [stdout] 701 |                 .witness(|addr| Some(String::empty_root(addr.level())))
[INFO] [stdout]     |                                              ^^^^^^^^^^ function or associated item not found in `String`
[INFO] [stdout]     |
[INFO] [stdout] note: if you're trying to build a new `String` consider using one of the following associated functions:
[INFO] [stdout]       String::new
[INFO] [stdout]       String::with_capacity
[INFO] [stdout]       String::try_with_capacity
[INFO] [stdout]       String::from_utf8
[INFO] [stdout]       and 8 others
[INFO] [stdout]    --> /rustc/30f74ff0dc4d66debc8b50724c446f817e5f75f4/library/alloc/src/string.rs:448:5
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout] note: `Hashable` defines an item `empty_root`, perhaps you need to implement it
[INFO] [stdout]    --> src/lib.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | pub trait Hashable: fmt::Debug {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `root` exists for struct `MerklePath<String, 3>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/lib.rs:822:25
[INFO] [stdout]     |
[INFO] [stdout] 565 | pub struct MerklePath<H, const DEPTH: u8> {
[INFO] [stdout]     | ----------------------------------------- method `root` not found for this struct
[INFO] [stdout] ...
[INFO] [stdout] 822 |         assert_eq!(path.root("b".to_string()), "abcdefgh".to_string());
[INFO] [stdout]     |                         ^^^^ method cannot be called on `MerklePath<String, 3>` due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout] note: trait bound `String: Hashable` was not satisfied
[INFO] [stdout]    --> src/lib.rs:593:9
[INFO] [stdout]     |
[INFO] [stdout] 593 | impl<H: Hashable, const DEPTH: u8> MerklePath<H, DEPTH> {
[INFO] [stdout]     |         ^^^^^^^^                   --------------------
[INFO] [stdout]     |         |
[INFO] [stdout]     |         unsatisfied trait bound introduced here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `root` exists for struct `MerklePath<String, 3>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/lib.rs:830:25
[INFO] [stdout]     |
[INFO] [stdout] 565 | pub struct MerklePath<H, const DEPTH: u8> {
[INFO] [stdout]     | ----------------------------------------- method `root` not found for this struct
[INFO] [stdout] ...
[INFO] [stdout] 830 |         assert_eq!(path.root("c".to_string()), "abcdefgh".to_string());
[INFO] [stdout]     |                         ^^^^ method cannot be called on `MerklePath<String, 3>` due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout] note: trait bound `String: Hashable` was not satisfied
[INFO] [stdout]    --> src/lib.rs:593:9
[INFO] [stdout]     |
[INFO] [stdout] 593 | impl<H: Hashable, const DEPTH: u8> MerklePath<H, DEPTH> {
[INFO] [stdout]     |         ^^^^^^^^                   --------------------
[INFO] [stdout]     |         |
[INFO] [stdout]     |         unsatisfied trait bound introduced here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 20 previous errors; 3 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0599`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `incrementalmerkletree` (lib test) due to 21 previous errors; 3 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "5ea98398821fad1153db82b0e57ca55ae1bd7825b360506ddf897ce8c23f2ef7", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "5ea98398821fad1153db82b0e57ca55ae1bd7825b360506ddf897ce8c23f2ef7", kill_on_drop: false }`
[INFO] [stdout] 5ea98398821fad1153db82b0e57ca55ae1bd7825b360506ddf897ce8c23f2ef7
[INFO] checking incrementalmerkletree-0.5.0 against try#72eda894eb3548c7ba774079ce0afab42958d4ee for pr-121848-1
[INFO] extracting crate incrementalmerkletree 0.5.0 into /workspace/builds/worker-2-tc2/source
[INFO] validating manifest of crates.io crate incrementalmerkletree 0.5.0 on toolchain 72eda894eb3548c7ba774079ce0afab42958d4ee
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+72eda894eb3548c7ba774079ce0afab42958d4ee" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate incrementalmerkletree 0.5.0
[INFO] finished tweaking crates.io crate incrementalmerkletree 0.5.0
[INFO] tweaked toml for crates.io crate incrementalmerkletree 0.5.0 written to /workspace/builds/worker-2-tc2/source/Cargo.toml
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+72eda894eb3548c7ba774079ce0afab42958d4ee" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+72eda894eb3548c7ba774079ce0afab42958d4ee" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+72eda894eb3548c7ba774079ce0afab42958d4ee" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 89fe30d224289cda8bc8c808d05bdff44dfea44136e57084c2dcb0abd85041de
[INFO] running `Command { std: "docker" "start" "-a" "89fe30d224289cda8bc8c808d05bdff44dfea44136e57084c2dcb0abd85041de", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "89fe30d224289cda8bc8c808d05bdff44dfea44136e57084c2dcb0abd85041de", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "89fe30d224289cda8bc8c808d05bdff44dfea44136e57084c2dcb0abd85041de", kill_on_drop: false }`
[INFO] [stdout] 89fe30d224289cda8bc8c808d05bdff44dfea44136e57084c2dcb0abd85041de
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+72eda894eb3548c7ba774079ce0afab42958d4ee" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 53304b974ff93caa7bbe26a86fe80eea4f95095007f9162edead320a255dd91d
[INFO] running `Command { std: "docker" "start" "-a" "53304b974ff93caa7bbe26a86fe80eea4f95095007f9162edead320a255dd91d", kill_on_drop: false }`
[INFO] [stderr]    Compiling libm v0.2.8
[INFO] [stderr]     Checking bit-vec v0.6.3
[INFO] [stderr]    Compiling num-traits v0.2.18
[INFO] [stderr]     Checking wait-timeout v0.2.0
[INFO] [stderr]     Checking unarray v0.1.4
[INFO] [stderr]     Checking incrementalmerkletree v0.5.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Checking rand_xorshift v0.3.0
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stdout] warning: the item `TryFrom` is imported redundantly
[INFO] [stdout]   --> src/lib.rs:50:20
[INFO] [stdout]    |
[INFO] [stdout] 50 | use std::convert::{TryFrom, TryInto};
[INFO] [stdout]    |                    ^^^^^^^
[INFO] [stdout]   --> /rustc/72eda894eb3548c7ba774079ce0afab42958d4ee/library/std/src/prelude/mod.rs:129:13
[INFO] [stdout]    |
[INFO] [stdout]    = note: the item `TryFrom` is already defined here
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `TryInto` is imported redundantly
[INFO] [stdout]   --> src/lib.rs:50:29
[INFO] [stdout]    |
[INFO] [stdout] 50 | use std::convert::{TryFrom, TryInto};
[INFO] [stdout]    |                             ^^^^^^^
[INFO] [stdout]   --> /rustc/72eda894eb3548c7ba774079ce0afab42958d4ee/library/std/src/prelude/mod.rs:129:13
[INFO] [stdout]    |
[INFO] [stdout]    = note: the item `TryInto` is already defined here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `TryFrom` is imported redundantly
[INFO] [stdout]  --> src/frontier.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::convert::TryFrom;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]  --> /rustc/72eda894eb3548c7ba774079ce0afab42958d4ee/library/std/src/prelude/mod.rs:129:13
[INFO] [stdout]   |
[INFO] [stdout]   = note: the item `TryFrom` is already defined here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking rusty-fork v0.3.0
[INFO] [stdout] warning: 3 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking bit-set v0.5.3
[INFO] [stderr]     Checking proptest v1.4.0
[INFO] [stdout] warning: the item `TryFrom` is imported redundantly
[INFO] [stdout]   --> src/lib.rs:50:20
[INFO] [stdout]    |
[INFO] [stdout] 50 | use std::convert::{TryFrom, TryInto};
[INFO] [stdout]    |                    ^^^^^^^
[INFO] [stdout]   --> /rustc/72eda894eb3548c7ba774079ce0afab42958d4ee/library/std/src/prelude/mod.rs:129:13
[INFO] [stdout]    |
[INFO] [stdout]    = note: the item `TryFrom` is already defined here
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `TryInto` is imported redundantly
[INFO] [stdout]   --> src/lib.rs:50:29
[INFO] [stdout]    |
[INFO] [stdout] 50 | use std::convert::{TryFrom, TryInto};
[INFO] [stdout]    |                             ^^^^^^^
[INFO] [stdout]   --> /rustc/72eda894eb3548c7ba774079ce0afab42958d4ee/library/std/src/prelude/mod.rs:129:13
[INFO] [stdout]    |
[INFO] [stdout]    = note: the item `TryInto` is already defined here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `TryFrom` is imported redundantly
[INFO] [stdout]  --> src/frontier.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::convert::TryFrom;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]  --> /rustc/72eda894eb3548c7ba774079ce0afab42958d4ee/library/std/src/prelude/mod.rs:129:13
[INFO] [stdout]   |
[INFO] [stdout]   = note: the item `TryFrom` is already defined here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `root` exists for struct `NonEmptyFrontier<String>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/frontier.rs:640:29
[INFO] [stdout]     |
[INFO] [stdout] 27  | pub struct NonEmptyFrontier<H> {
[INFO] [stdout]     | ------------------------------ method `root` not found for this struct
[INFO] [stdout] ...
[INFO] [stdout] 640 |         assert_eq!(frontier.root(None), "a");
[INFO] [stdout]     |                             ^^^^ method cannot be called on `NonEmptyFrontier<String>` due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout] note: trait bound `String: Hashable` was not satisfied
[INFO] [stdout]    --> src/frontier.rs:79:9
[INFO] [stdout]     |
[INFO] [stdout] 79  | impl<H: Hashable + Clone> NonEmptyFrontier<H> {
[INFO] [stdout]     |         ^^^^^^^^          -------------------
[INFO] [stdout]     |         |
[INFO] [stdout]     |         unsatisfied trait bound introduced here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `append` exists for struct `NonEmptyFrontier<String>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/frontier.rs:642:18
[INFO] [stdout]     |
[INFO] [stdout] 27  | pub struct NonEmptyFrontier<H> {
[INFO] [stdout]     | ------------------------------ method `append` not found for this struct
[INFO] [stdout] ...
[INFO] [stdout] 642 |         frontier.append("b".to_string());
[INFO] [stdout]     |                  ^^^^^^ method cannot be called on `NonEmptyFrontier<String>` due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout] note: trait bound `String: Hashable` was not satisfied
[INFO] [stdout]    --> src/frontier.rs:79:9
[INFO] [stdout]     |
[INFO] [stdout] 79  | impl<H: Hashable + Clone> NonEmptyFrontier<H> {
[INFO] [stdout]     |         ^^^^^^^^          -------------------
[INFO] [stdout]     |         |
[INFO] [stdout]     |         unsatisfied trait bound introduced here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `root` exists for struct `NonEmptyFrontier<String>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/frontier.rs:643:29
[INFO] [stdout]     |
[INFO] [stdout] 27  | pub struct NonEmptyFrontier<H> {
[INFO] [stdout]     | ------------------------------ method `root` not found for this struct
[INFO] [stdout] ...
[INFO] [stdout] 643 |         assert_eq!(frontier.root(None), "ab");
[INFO] [stdout]     |                             ^^^^ method cannot be called on `NonEmptyFrontier<String>` due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout] note: trait bound `String: Hashable` was not satisfied
[INFO] [stdout]    --> src/frontier.rs:79:9
[INFO] [stdout]     |
[INFO] [stdout] 79  | impl<H: Hashable + Clone> NonEmptyFrontier<H> {
[INFO] [stdout]     |         ^^^^^^^^          -------------------
[INFO] [stdout]     |         |
[INFO] [stdout]     |         unsatisfied trait bound introduced here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `append` exists for struct `NonEmptyFrontier<String>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/frontier.rs:645:18
[INFO] [stdout]     |
[INFO] [stdout] 27  | pub struct NonEmptyFrontier<H> {
[INFO] [stdout]     | ------------------------------ method `append` not found for this struct
[INFO] [stdout] ...
[INFO] [stdout] 645 |         frontier.append("c".to_string());
[INFO] [stdout]     |                  ^^^^^^ method cannot be called on `NonEmptyFrontier<String>` due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout] note: trait bound `String: Hashable` was not satisfied
[INFO] [stdout]    --> src/frontier.rs:79:9
[INFO] [stdout]     |
[INFO] [stdout] 79  | impl<H: Hashable + Clone> NonEmptyFrontier<H> {
[INFO] [stdout]     |         ^^^^^^^^          -------------------
[INFO] [stdout]     |         |
[INFO] [stdout]     |         unsatisfied trait bound introduced here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `root` exists for struct `NonEmptyFrontier<String>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/frontier.rs:646:29
[INFO] [stdout]     |
[INFO] [stdout] 27  | pub struct NonEmptyFrontier<H> {
[INFO] [stdout]     | ------------------------------ method `root` not found for this struct
[INFO] [stdout] ...
[INFO] [stdout] 646 |         assert_eq!(frontier.root(None), "abc_");
[INFO] [stdout]     |                             ^^^^ method cannot be called on `NonEmptyFrontier<String>` due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout] note: trait bound `String: Hashable` was not satisfied
[INFO] [stdout]    --> src/frontier.rs:79:9
[INFO] [stdout]     |
[INFO] [stdout] 79  | impl<H: Hashable + Clone> NonEmptyFrontier<H> {
[INFO] [stdout]     |         ^^^^^^^^          -------------------
[INFO] [stdout]     |         |
[INFO] [stdout]     |         unsatisfied trait bound introduced here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `root` exists for struct `Frontier<String, 4>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/frontier.rs:659:29
[INFO] [stdout]     |
[INFO] [stdout] 181 | pub struct Frontier<H, const DEPTH: u8> {
[INFO] [stdout]     | --------------------------------------- method `root` not found for this struct
[INFO] [stdout] ...
[INFO] [stdout] 659 |         assert_eq!(frontier.root().len(), 16);
[INFO] [stdout]     |                             ^^^^ method cannot be called on `Frontier<String, 4>` due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout] note: trait bound `String: Hashable` was not satisfied
[INFO] [stdout]    --> src/frontier.rs:230:9
[INFO] [stdout]     |
[INFO] [stdout] 230 | impl<H: Hashable + Clone, const DEPTH: u8> Frontier<H, DEPTH> {
[INFO] [stdout]     |         ^^^^^^^^                           ------------------
[INFO] [stdout]     |         |
[INFO] [stdout]     |         unsatisfied trait bound introduced here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `root` exists for struct `Frontier<String, 4>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/frontier.rs:660:29
[INFO] [stdout]     |
[INFO] [stdout] 181 | pub struct Frontier<H, const DEPTH: u8> {
[INFO] [stdout]     | --------------------------------------- method `root` not found for this struct
[INFO] [stdout] ...
[INFO] [stdout] 660 |         assert_eq!(frontier.root(), "________________");
[INFO] [stdout]     |                             ^^^^ method cannot be called on `Frontier<String, 4>` due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout] note: trait bound `String: Hashable` was not satisfied
[INFO] [stdout]    --> src/frontier.rs:230:9
[INFO] [stdout]     |
[INFO] [stdout] 230 | impl<H: Hashable + Clone, const DEPTH: u8> Frontier<H, DEPTH> {
[INFO] [stdout]     |         ^^^^^^^^                           ------------------
[INFO] [stdout]     |         |
[INFO] [stdout]     |         unsatisfied trait bound introduced here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `append` exists for struct `Frontier<String, 4>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/frontier.rs:662:18
[INFO] [stdout]     |
[INFO] [stdout] 181 | pub struct Frontier<H, const DEPTH: u8> {
[INFO] [stdout]     | --------------------------------------- method `append` not found for this struct
[INFO] [stdout] ...
[INFO] [stdout] 662 |         frontier.append("a".to_string());
[INFO] [stdout]     |                  ^^^^^^ method cannot be called on `Frontier<String, 4>` due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout] note: trait bound `String: Hashable` was not satisfied
[INFO] [stdout]    --> src/frontier.rs:230:9
[INFO] [stdout]     |
[INFO] [stdout] 230 | impl<H: Hashable + Clone, const DEPTH: u8> Frontier<H, DEPTH> {
[INFO] [stdout]     |         ^^^^^^^^                           ------------------
[INFO] [stdout]     |         |
[INFO] [stdout]     |         unsatisfied trait bound introduced here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `root` exists for struct `Frontier<String, 4>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/frontier.rs:663:29
[INFO] [stdout]     |
[INFO] [stdout] 181 | pub struct Frontier<H, const DEPTH: u8> {
[INFO] [stdout]     | --------------------------------------- method `root` not found for this struct
[INFO] [stdout] ...
[INFO] [stdout] 663 |         assert_eq!(frontier.root(), "a_______________");
[INFO] [stdout]     |                             ^^^^ method cannot be called on `Frontier<String, 4>` due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout] note: trait bound `String: Hashable` was not satisfied
[INFO] [stdout]    --> src/frontier.rs:230:9
[INFO] [stdout]     |
[INFO] [stdout] 230 | impl<H: Hashable + Clone, const DEPTH: u8> Frontier<H, DEPTH> {
[INFO] [stdout]     |         ^^^^^^^^                           ------------------
[INFO] [stdout]     |         |
[INFO] [stdout]     |         unsatisfied trait bound introduced here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `append` exists for struct `Frontier<String, 4>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/frontier.rs:665:18
[INFO] [stdout]     |
[INFO] [stdout] 181 | pub struct Frontier<H, const DEPTH: u8> {
[INFO] [stdout]     | --------------------------------------- method `append` not found for this struct
[INFO] [stdout] ...
[INFO] [stdout] 665 |         frontier.append("b".to_string());
[INFO] [stdout]     |                  ^^^^^^ method cannot be called on `Frontier<String, 4>` due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout] note: trait bound `String: Hashable` was not satisfied
[INFO] [stdout]    --> src/frontier.rs:230:9
[INFO] [stdout]     |
[INFO] [stdout] 230 | impl<H: Hashable + Clone, const DEPTH: u8> Frontier<H, DEPTH> {
[INFO] [stdout]     |         ^^^^^^^^                           ------------------
[INFO] [stdout]     |         |
[INFO] [stdout]     |         unsatisfied trait bound introduced here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `root` exists for struct `Frontier<String, 4>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/frontier.rs:666:29
[INFO] [stdout]     |
[INFO] [stdout] 181 | pub struct Frontier<H, const DEPTH: u8> {
[INFO] [stdout]     | --------------------------------------- method `root` not found for this struct
[INFO] [stdout] ...
[INFO] [stdout] 666 |         assert_eq!(frontier.root(), "ab______________");
[INFO] [stdout]     |                             ^^^^ method cannot be called on `Frontier<String, 4>` due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout] note: trait bound `String: Hashable` was not satisfied
[INFO] [stdout]    --> src/frontier.rs:230:9
[INFO] [stdout]     |
[INFO] [stdout] 230 | impl<H: Hashable + Clone, const DEPTH: u8> Frontier<H, DEPTH> {
[INFO] [stdout]     |         ^^^^^^^^                           ------------------
[INFO] [stdout]     |         |
[INFO] [stdout]     |         unsatisfied trait bound introduced here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `append` exists for struct `Frontier<String, 4>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/frontier.rs:668:18
[INFO] [stdout]     |
[INFO] [stdout] 181 | pub struct Frontier<H, const DEPTH: u8> {
[INFO] [stdout]     | --------------------------------------- method `append` not found for this struct
[INFO] [stdout] ...
[INFO] [stdout] 668 |         frontier.append("c".to_string());
[INFO] [stdout]     |                  ^^^^^^ method cannot be called on `Frontier<String, 4>` due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout] note: trait bound `String: Hashable` was not satisfied
[INFO] [stdout]    --> src/frontier.rs:230:9
[INFO] [stdout]     |
[INFO] [stdout] 230 | impl<H: Hashable + Clone, const DEPTH: u8> Frontier<H, DEPTH> {
[INFO] [stdout]     |         ^^^^^^^^                           ------------------
[INFO] [stdout]     |         |
[INFO] [stdout]     |         unsatisfied trait bound introduced here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `root` exists for struct `Frontier<String, 4>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/frontier.rs:669:29
[INFO] [stdout]     |
[INFO] [stdout] 181 | pub struct Frontier<H, const DEPTH: u8> {
[INFO] [stdout]     | --------------------------------------- method `root` not found for this struct
[INFO] [stdout] ...
[INFO] [stdout] 669 |         assert_eq!(frontier.root(), "abc_____________");
[INFO] [stdout]     |                             ^^^^ method cannot be called on `Frontier<String, 4>` due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout] note: trait bound `String: Hashable` was not satisfied
[INFO] [stdout]    --> src/frontier.rs:230:9
[INFO] [stdout]     |
[INFO] [stdout] 230 | impl<H: Hashable + Clone, const DEPTH: u8> Frontier<H, DEPTH> {
[INFO] [stdout]     |         ^^^^^^^^                           ------------------
[INFO] [stdout]     |         |
[INFO] [stdout]     |         unsatisfied trait bound introduced here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `append` exists for struct `NonEmptyFrontier<String>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/frontier.rs:676:22
[INFO] [stdout]     |
[INFO] [stdout] 27  | pub struct NonEmptyFrontier<H> {
[INFO] [stdout]     | ------------------------------ method `append` not found for this struct
[INFO] [stdout] ...
[INFO] [stdout] 676 |             frontier.append(c.to_string());
[INFO] [stdout]     |                      ^^^^^^ method cannot be called on `NonEmptyFrontier<String>` due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout] note: trait bound `String: Hashable` was not satisfied
[INFO] [stdout]    --> src/frontier.rs:79:9
[INFO] [stdout]     |
[INFO] [stdout] 79  | impl<H: Hashable + Clone> NonEmptyFrontier<H> {
[INFO] [stdout]     |         ^^^^^^^^          -------------------
[INFO] [stdout]     |         |
[INFO] [stdout]     |         unsatisfied trait bound introduced here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `witness` exists for struct `NonEmptyFrontier<String>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/frontier.rs:688:22
[INFO] [stdout]     |
[INFO] [stdout] 27  | pub struct NonEmptyFrontier<H> {
[INFO] [stdout]     | ------------------------------ method `witness` not found for this struct
[INFO] [stdout] ...
[INFO] [stdout] 688 |             frontier.witness(4, bridge_value_at)
[INFO] [stdout]     |                      ^^^^^^^ method cannot be called on `NonEmptyFrontier<String>` due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout] note: trait bound `String: Hashable` was not satisfied
[INFO] [stdout]    --> src/frontier.rs:79:9
[INFO] [stdout]     |
[INFO] [stdout] 79  | impl<H: Hashable + Clone> NonEmptyFrontier<H> {
[INFO] [stdout]     |         ^^^^^^^^          -------------------
[INFO] [stdout]     |         |
[INFO] [stdout]     |         unsatisfied trait bound introduced here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `append` exists for struct `Frontier<String, 4>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/frontier.rs:696:22
[INFO] [stdout]     |
[INFO] [stdout] 181 | pub struct Frontier<H, const DEPTH: u8> {
[INFO] [stdout]     | --------------------------------------- method `append` not found for this struct
[INFO] [stdout] ...
[INFO] [stdout] 696 |             frontier.append(c.to_string());
[INFO] [stdout]     |                      ^^^^^^ method cannot be called on `Frontier<String, 4>` due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout] note: trait bound `String: Hashable` was not satisfied
[INFO] [stdout]    --> src/frontier.rs:230:9
[INFO] [stdout]     |
[INFO] [stdout] 230 | impl<H: Hashable + Clone, const DEPTH: u8> Frontier<H, DEPTH> {
[INFO] [stdout]     |         ^^^^^^^^                           ------------------
[INFO] [stdout]     |         |
[INFO] [stdout]     |         unsatisfied trait bound introduced here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `witness` exists for struct `Frontier<String, 4>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/frontier.rs:701:18
[INFO] [stdout]     |
[INFO] [stdout] 181 |   pub struct Frontier<H, const DEPTH: u8> {
[INFO] [stdout]     |   --------------------------------------- method `witness` not found for this struct
[INFO] [stdout] ...
[INFO] [stdout] 700 | /             frontier
[INFO] [stdout] 701 | |                 .witness(|addr| Some(String::empty_root(addr.level())))
[INFO] [stdout]     | |                 -^^^^^^^ method cannot be called on `Frontier<String, 4>` due to unsatisfied trait bounds
[INFO] [stdout]     | |_________________|
[INFO] [stdout]     | 
[INFO] [stdout]     |
[INFO] [stdout] note: trait bound `String: Hashable` was not satisfied
[INFO] [stdout]    --> src/frontier.rs:230:9
[INFO] [stdout]     |
[INFO] [stdout] 230 | impl<H: Hashable + Clone, const DEPTH: u8> Frontier<H, DEPTH> {
[INFO] [stdout]     |         ^^^^^^^^                           ------------------
[INFO] [stdout]     |         |
[INFO] [stdout]     |         unsatisfied trait bound introduced here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no function or associated item named `empty_root` found for struct `String` in the current scope
[INFO] [stdout]    --> src/frontier.rs:701:46
[INFO] [stdout]     |
[INFO] [stdout] 701 |                 .witness(|addr| Some(String::empty_root(addr.level())))
[INFO] [stdout]     |                                              ^^^^^^^^^^ function or associated item not found in `String`
[INFO] [stdout]     |
[INFO] [stdout] note: if you're trying to build a new `String` consider using one of the following associated functions:
[INFO] [stdout]       String::new
[INFO] [stdout]       String::with_capacity
[INFO] [stdout]       String::try_with_capacity
[INFO] [stdout]       String::from_utf8
[INFO] [stdout]       and 8 others
[INFO] [stdout]    --> /rustc/72eda894eb3548c7ba774079ce0afab42958d4ee/library/alloc/src/string.rs:448:5
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout] note: `Hashable` defines an item `empty_root`, perhaps you need to implement it
[INFO] [stdout]    --> src/lib.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | pub trait Hashable: fmt::Debug {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `root` exists for struct `MerklePath<String, 3>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/lib.rs:822:25
[INFO] [stdout]     |
[INFO] [stdout] 565 | pub struct MerklePath<H, const DEPTH: u8> {
[INFO] [stdout]     | ----------------------------------------- method `root` not found for this struct
[INFO] [stdout] ...
[INFO] [stdout] 822 |         assert_eq!(path.root("b".to_string()), "abcdefgh".to_string());
[INFO] [stdout]     |                         ^^^^ method cannot be called on `MerklePath<String, 3>` due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout] note: trait bound `String: Hashable` was not satisfied
[INFO] [stdout]    --> src/lib.rs:593:9
[INFO] [stdout]     |
[INFO] [stdout] 593 | impl<H: Hashable, const DEPTH: u8> MerklePath<H, DEPTH> {
[INFO] [stdout]     |         ^^^^^^^^                   --------------------
[INFO] [stdout]     |         |
[INFO] [stdout]     |         unsatisfied trait bound introduced here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `root` exists for struct `MerklePath<String, 3>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/lib.rs:830:25
[INFO] [stdout]     |
[INFO] [stdout] 565 | pub struct MerklePath<H, const DEPTH: u8> {
[INFO] [stdout]     | ----------------------------------------- method `root` not found for this struct
[INFO] [stdout] ...
[INFO] [stdout] 830 |         assert_eq!(path.root("c".to_string()), "abcdefgh".to_string());
[INFO] [stdout]     |                         ^^^^ method cannot be called on `MerklePath<String, 3>` due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout] note: trait bound `String: Hashable` was not satisfied
[INFO] [stdout]    --> src/lib.rs:593:9
[INFO] [stdout]     |
[INFO] [stdout] 593 | impl<H: Hashable, const DEPTH: u8> MerklePath<H, DEPTH> {
[INFO] [stdout]     |         ^^^^^^^^                   --------------------
[INFO] [stdout]     |         |
[INFO] [stdout]     |         unsatisfied trait bound introduced here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 20 previous errors; 3 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0599`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `incrementalmerkletree` (lib test) due to 21 previous errors; 3 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "53304b974ff93caa7bbe26a86fe80eea4f95095007f9162edead320a255dd91d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "53304b974ff93caa7bbe26a86fe80eea4f95095007f9162edead320a255dd91d", kill_on_drop: false }`
[INFO] [stdout] 53304b974ff93caa7bbe26a86fe80eea4f95095007f9162edead320a255dd91d
