[INFO] fetching crate incrementalmerkletree 0.5.0...
[INFO] checking incrementalmerkletree-0.5.0 against master#4d1bd0db7f489b22c6d8aa2385937a95412c015b for pr-114682
[INFO] extracting crate incrementalmerkletree 0.5.0 into /workspace/builds/worker-0-tc1/source
[INFO] validating manifest of crates.io crate incrementalmerkletree 0.5.0 on toolchain 4d1bd0db7f489b22c6d8aa2385937a95412c015b
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+4d1bd0db7f489b22c6d8aa2385937a95412c015b" "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-0-tc1/source/Cargo.toml
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+4d1bd0db7f489b22c6d8aa2385937a95412c015b" "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" "+4d1bd0db7f489b22c6d8aa2385937a95412c015b" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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" "+4d1bd0db7f489b22c6d8aa2385937a95412c015b" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 9f3df3e3804185e449dbf34147b6b5fa3b812718de9b7ab07724ca6552051d82
[INFO] running `Command { std: "docker" "start" "-a" "9f3df3e3804185e449dbf34147b6b5fa3b812718de9b7ab07724ca6552051d82", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "9f3df3e3804185e449dbf34147b6b5fa3b812718de9b7ab07724ca6552051d82", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "9f3df3e3804185e449dbf34147b6b5fa3b812718de9b7ab07724ca6552051d82", kill_on_drop: false }`
[INFO] [stdout] 9f3df3e3804185e449dbf34147b6b5fa3b812718de9b7ab07724ca6552051d82
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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" "+4d1bd0db7f489b22c6d8aa2385937a95412c015b" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 3244205caa2191456b223bffb4f5658ba24199c91c9bf49533b373ba4994e4f9
[INFO] running `Command { std: "docker" "start" "-a" "3244205caa2191456b223bffb4f5658ba24199c91c9bf49533b373ba4994e4f9", kill_on_drop: false }`
[INFO] [stderr]    Compiling rustix v0.38.28
[INFO] [stderr]     Checking linux-raw-sys v0.4.12
[INFO] [stderr]    Compiling num-traits v0.2.17
[INFO] [stderr]     Checking bit-vec v0.6.3
[INFO] [stderr]     Checking getrandom v0.2.11
[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_core v0.6.4
[INFO] [stderr]     Checking bit-set v0.5.3
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking rand_xorshift v0.3.0
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]     Checking tempfile v3.8.1
[INFO] [stderr]     Checking rusty-fork v0.3.0
[INFO] [stderr]     Checking proptest v1.4.0
[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]    --> /rustc/4d1bd0db7f489b22c6d8aa2385937a95412c015b/library/alloc/src/string.rs:365:1
[INFO] [stdout]     |
[INFO] [stdout]     = note: doesn't satisfy `String: Hashable`
[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]    --> /rustc/4d1bd0db7f489b22c6d8aa2385937a95412c015b/library/alloc/src/string.rs:365:1
[INFO] [stdout]     |
[INFO] [stdout]     = note: doesn't satisfy `String: Hashable`
[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]    --> /rustc/4d1bd0db7f489b22c6d8aa2385937a95412c015b/library/alloc/src/string.rs:365:1
[INFO] [stdout]     |
[INFO] [stdout]     = note: doesn't satisfy `String: Hashable`
[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]    --> /rustc/4d1bd0db7f489b22c6d8aa2385937a95412c015b/library/alloc/src/string.rs:365:1
[INFO] [stdout]     |
[INFO] [stdout]     = note: doesn't satisfy `String: Hashable`
[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]    --> /rustc/4d1bd0db7f489b22c6d8aa2385937a95412c015b/library/alloc/src/string.rs:365:1
[INFO] [stdout]     |
[INFO] [stdout]     = note: doesn't satisfy `String: Hashable`
[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]    --> /rustc/4d1bd0db7f489b22c6d8aa2385937a95412c015b/library/alloc/src/string.rs:365:1
[INFO] [stdout]     |
[INFO] [stdout]     = note: doesn't satisfy `String: Hashable`
[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]    --> /rustc/4d1bd0db7f489b22c6d8aa2385937a95412c015b/library/alloc/src/string.rs:365:1
[INFO] [stdout]     |
[INFO] [stdout]     = note: doesn't satisfy `String: Hashable`
[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]    --> /rustc/4d1bd0db7f489b22c6d8aa2385937a95412c015b/library/alloc/src/string.rs:365:1
[INFO] [stdout]     |
[INFO] [stdout]     = note: doesn't satisfy `String: Hashable`
[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]    --> /rustc/4d1bd0db7f489b22c6d8aa2385937a95412c015b/library/alloc/src/string.rs:365:1
[INFO] [stdout]     |
[INFO] [stdout]     = note: doesn't satisfy `String: Hashable`
[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]    --> /rustc/4d1bd0db7f489b22c6d8aa2385937a95412c015b/library/alloc/src/string.rs:365:1
[INFO] [stdout]     |
[INFO] [stdout]     = note: doesn't satisfy `String: Hashable`
[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]    --> /rustc/4d1bd0db7f489b22c6d8aa2385937a95412c015b/library/alloc/src/string.rs:365:1
[INFO] [stdout]     |
[INFO] [stdout]     = note: doesn't satisfy `String: Hashable`
[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]    --> /rustc/4d1bd0db7f489b22c6d8aa2385937a95412c015b/library/alloc/src/string.rs:365:1
[INFO] [stdout]     |
[INFO] [stdout]     = note: doesn't satisfy `String: Hashable`
[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]    --> /rustc/4d1bd0db7f489b22c6d8aa2385937a95412c015b/library/alloc/src/string.rs:365:1
[INFO] [stdout]     |
[INFO] [stdout]     = note: doesn't satisfy `String: Hashable`
[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]    --> /rustc/4d1bd0db7f489b22c6d8aa2385937a95412c015b/library/alloc/src/string.rs:365:1
[INFO] [stdout]     |
[INFO] [stdout]     = note: doesn't satisfy `String: Hashable`
[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]    --> /rustc/4d1bd0db7f489b22c6d8aa2385937a95412c015b/library/alloc/src/string.rs:365:1
[INFO] [stdout]     |
[INFO] [stdout]     = note: doesn't satisfy `String: Hashable`
[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]    --> /rustc/4d1bd0db7f489b22c6d8aa2385937a95412c015b/library/alloc/src/string.rs:365:1
[INFO] [stdout]     |
[INFO] [stdout]     = note: doesn't satisfy `String: Hashable`
[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]    --> /rustc/4d1bd0db7f489b22c6d8aa2385937a95412c015b/library/alloc/src/string.rs:365:1
[INFO] [stdout]     |
[INFO] [stdout]     = note: doesn't satisfy `String: Hashable`
[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::from_utf8
[INFO] [stdout]       String::from_utf16
[INFO] [stdout]       and 7 others
[INFO] [stdout]    --> /rustc/4d1bd0db7f489b22c6d8aa2385937a95412c015b/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]    --> /rustc/4d1bd0db7f489b22c6d8aa2385937a95412c015b/library/alloc/src/string.rs:365:1
[INFO] [stdout]     |
[INFO] [stdout]     = note: doesn't satisfy `String: Hashable`
[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]    --> /rustc/4d1bd0db7f489b22c6d8aa2385937a95412c015b/library/alloc/src/string.rs:365:1
[INFO] [stdout]     |
[INFO] [stdout]     = note: doesn't satisfy `String: Hashable`
[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
[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
[INFO] running `Command { std: "docker" "inspect" "3244205caa2191456b223bffb4f5658ba24199c91c9bf49533b373ba4994e4f9", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "3244205caa2191456b223bffb4f5658ba24199c91c9bf49533b373ba4994e4f9", kill_on_drop: false }`
[INFO] [stdout] 3244205caa2191456b223bffb4f5658ba24199c91c9bf49533b373ba4994e4f9
[INFO] checking incrementalmerkletree-0.5.0 against try#785364c7e5e0804473a3fddfb579798ea14e3493 for pr-114682
[INFO] extracting crate incrementalmerkletree 0.5.0 into /workspace/builds/worker-0-tc2/source
[INFO] validating manifest of crates.io crate incrementalmerkletree 0.5.0 on toolchain 785364c7e5e0804473a3fddfb579798ea14e3493
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+785364c7e5e0804473a3fddfb579798ea14e3493" "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-0-tc2/source/Cargo.toml
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+785364c7e5e0804473a3fddfb579798ea14e3493" "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" "+785364c7e5e0804473a3fddfb579798ea14e3493" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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" "+785364c7e5e0804473a3fddfb579798ea14e3493" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 780cea7d6995549cf77a0812cd177ed64a5de635226762f1fad3ea5f21659b02
[INFO] running `Command { std: "docker" "start" "-a" "780cea7d6995549cf77a0812cd177ed64a5de635226762f1fad3ea5f21659b02", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "780cea7d6995549cf77a0812cd177ed64a5de635226762f1fad3ea5f21659b02", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "780cea7d6995549cf77a0812cd177ed64a5de635226762f1fad3ea5f21659b02", kill_on_drop: false }`
[INFO] [stdout] 780cea7d6995549cf77a0812cd177ed64a5de635226762f1fad3ea5f21659b02
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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" "+785364c7e5e0804473a3fddfb579798ea14e3493" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 20e5b796b48f62db7f1d577c890a890f1631b326ce24032ad971f99a4f1eebe8
[INFO] running `Command { std: "docker" "start" "-a" "20e5b796b48f62db7f1d577c890a890f1631b326ce24032ad971f99a4f1eebe8", kill_on_drop: false }`
[INFO] [stderr]    Compiling rustix v0.38.28
[INFO] [stderr]     Checking linux-raw-sys v0.4.12
[INFO] [stderr]    Compiling num-traits v0.2.17
[INFO] [stderr]     Checking getrandom v0.2.11
[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]     Checking incrementalmerkletree v0.5.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]     Checking bit-set v0.5.3
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking rand_xorshift v0.3.0
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]     Checking tempfile v3.8.1
[INFO] [stderr]     Checking rusty-fork v0.3.0
[INFO] [stderr]     Checking proptest v1.4.0
[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]    --> /rustc/785364c7e5e0804473a3fddfb579798ea14e3493/library/alloc/src/string.rs:365:1
[INFO] [stdout]     |
[INFO] [stdout]     = note: doesn't satisfy `String: Hashable`
[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]    --> /rustc/785364c7e5e0804473a3fddfb579798ea14e3493/library/alloc/src/string.rs:365:1
[INFO] [stdout]     |
[INFO] [stdout]     = note: doesn't satisfy `String: Hashable`
[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]    --> /rustc/785364c7e5e0804473a3fddfb579798ea14e3493/library/alloc/src/string.rs:365:1
[INFO] [stdout]     |
[INFO] [stdout]     = note: doesn't satisfy `String: Hashable`
[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]    --> /rustc/785364c7e5e0804473a3fddfb579798ea14e3493/library/alloc/src/string.rs:365:1
[INFO] [stdout]     |
[INFO] [stdout]     = note: doesn't satisfy `String: Hashable`
[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]    --> /rustc/785364c7e5e0804473a3fddfb579798ea14e3493/library/alloc/src/string.rs:365:1
[INFO] [stdout]     |
[INFO] [stdout]     = note: doesn't satisfy `String: Hashable`
[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]    --> /rustc/785364c7e5e0804473a3fddfb579798ea14e3493/library/alloc/src/string.rs:365:1
[INFO] [stdout]     |
[INFO] [stdout]     = note: doesn't satisfy `String: Hashable`
[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]    --> /rustc/785364c7e5e0804473a3fddfb579798ea14e3493/library/alloc/src/string.rs:365:1
[INFO] [stdout]     |
[INFO] [stdout]     = note: doesn't satisfy `String: Hashable`
[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]    --> /rustc/785364c7e5e0804473a3fddfb579798ea14e3493/library/alloc/src/string.rs:365:1
[INFO] [stdout]     |
[INFO] [stdout]     = note: doesn't satisfy `String: Hashable`
[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]    --> /rustc/785364c7e5e0804473a3fddfb579798ea14e3493/library/alloc/src/string.rs:365:1
[INFO] [stdout]     |
[INFO] [stdout]     = note: doesn't satisfy `String: Hashable`
[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]    --> /rustc/785364c7e5e0804473a3fddfb579798ea14e3493/library/alloc/src/string.rs:365:1
[INFO] [stdout]     |
[INFO] [stdout]     = note: doesn't satisfy `String: Hashable`
[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]    --> /rustc/785364c7e5e0804473a3fddfb579798ea14e3493/library/alloc/src/string.rs:365:1
[INFO] [stdout]     |
[INFO] [stdout]     = note: doesn't satisfy `String: Hashable`
[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]    --> /rustc/785364c7e5e0804473a3fddfb579798ea14e3493/library/alloc/src/string.rs:365:1
[INFO] [stdout]     |
[INFO] [stdout]     = note: doesn't satisfy `String: Hashable`
[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]    --> /rustc/785364c7e5e0804473a3fddfb579798ea14e3493/library/alloc/src/string.rs:365:1
[INFO] [stdout]     |
[INFO] [stdout]     = note: doesn't satisfy `String: Hashable`
[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]    --> /rustc/785364c7e5e0804473a3fddfb579798ea14e3493/library/alloc/src/string.rs:365:1
[INFO] [stdout]     |
[INFO] [stdout]     = note: doesn't satisfy `String: Hashable`
[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]    --> /rustc/785364c7e5e0804473a3fddfb579798ea14e3493/library/alloc/src/string.rs:365:1
[INFO] [stdout]     |
[INFO] [stdout]     = note: doesn't satisfy `String: Hashable`
[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]    --> /rustc/785364c7e5e0804473a3fddfb579798ea14e3493/library/alloc/src/string.rs:365:1
[INFO] [stdout]     |
[INFO] [stdout]     = note: doesn't satisfy `String: Hashable`
[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]    --> /rustc/785364c7e5e0804473a3fddfb579798ea14e3493/library/alloc/src/string.rs:365:1
[INFO] [stdout]     |
[INFO] [stdout]     = note: doesn't satisfy `String: Hashable`
[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::from_utf8
[INFO] [stdout]       String::from_utf16
[INFO] [stdout]       and 7 others
[INFO] [stdout]    --> /rustc/785364c7e5e0804473a3fddfb579798ea14e3493/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]    --> /rustc/785364c7e5e0804473a3fddfb579798ea14e3493/library/alloc/src/string.rs:365:1
[INFO] [stdout]     |
[INFO] [stdout]     = note: doesn't satisfy `String: Hashable`
[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]    --> /rustc/785364c7e5e0804473a3fddfb579798ea14e3493/library/alloc/src/string.rs:365:1
[INFO] [stdout]     |
[INFO] [stdout]     = note: doesn't satisfy `String: Hashable`
[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
[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
[INFO] running `Command { std: "docker" "inspect" "20e5b796b48f62db7f1d577c890a890f1631b326ce24032ad971f99a4f1eebe8", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "20e5b796b48f62db7f1d577c890a890f1631b326ce24032ad971f99a4f1eebe8", kill_on_drop: false }`
[INFO] [stdout] 20e5b796b48f62db7f1d577c890a890f1631b326ce24032ad971f99a4f1eebe8
