[INFO] fetching crate progpow_cpu 0.1.0...
[INFO] testing progpow_cpu-0.1.0 against 1.90.0 for beta-1.91-3
[INFO] extracting crate progpow_cpu 0.1.0 into /workspace/builds/worker-4-tc1/source
[INFO] started tweaking crates.io crate progpow_cpu 0.1.0
[INFO] finished tweaking crates.io crate progpow_cpu 0.1.0
[INFO] tweaked toml for crates.io crate progpow_cpu 0.1.0 written to /workspace/builds/worker-4-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate progpow_cpu 0.1.0 on toolchain 1.90.0
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.90.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.90.0" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]      Locking 70 packages to latest compatible versions
[INFO] [stderr]       Adding keccak-hash v0.2.0 (available: v0.11.0)
[INFO] [stderr]       Adding parking_lot v0.8.0 (available: v0.12.4)
[INFO] [stderr]       Adding primal v0.2.3 (available: v0.3.3)
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.90.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded parking_lot_core v0.5.0
[INFO] [stderr]   Downloaded primal v0.2.3
[INFO] [stderr]   Downloaded primal-check v0.2.3
[INFO] [stderr]   Downloaded primal-bit v0.2.4
[INFO] [stderr]   Downloaded primal-estimate v0.2.1
[INFO] [stderr]   Downloaded lock_api v0.2.0
[INFO] [stderr]   Downloaded primal-sieve v0.2.9
[INFO] [stderr]   Downloaded impl-codec v0.2.0
[INFO] [stderr]   Downloaded keccak-hash v0.2.0
[INFO] [stderr]   Downloaded fixed-hash v0.3.2
[INFO] [stderr]   Downloaded static_assertions v0.2.5
[INFO] [stderr]   Downloaded parity-codec v3.5.4
[INFO] [stderr]   Downloaded parking_lot v0.8.0
[INFO] [stderr]   Downloaded uint v0.7.1
[INFO] [stderr]   Downloaded tiny-keccak v1.5.0
[INFO] [stderr]   Downloaded hamming v0.1.3
[INFO] [stderr]   Downloaded primitive-types v0.3.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+1.90.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] f67720f48b4f2cb2251a70de17f0bf47cad229f1f7e4f3c1f44c61477111cfc5
[INFO] running `Command { std: "docker" "start" "-a" "f67720f48b4f2cb2251a70de17f0bf47cad229f1f7e4f3c1f44c61477111cfc5", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "f67720f48b4f2cb2251a70de17f0bf47cad229f1f7e4f3c1f44c61477111cfc5", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "f67720f48b4f2cb2251a70de17f0bf47cad229f1f7e4f3c1f44c61477111cfc5", kill_on_drop: false }`
[INFO] [stdout] f67720f48b4f2cb2251a70de17f0bf47cad229f1f7e4f3c1f44c61477111cfc5
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+1.90.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 34a0ba5466780b3c5f5ead1f6f6d3adafb08fdf72854686b2e834ecda468ac43
[INFO] running `Command { std: "docker" "start" "-a" "34a0ba5466780b3c5f5ead1f6f6d3adafb08fdf72854686b2e834ecda468ac43", kill_on_drop: false }`
[INFO] [stderr]    Compiling autocfg v0.1.8
[INFO] [stderr]    Compiling arrayvec v0.4.12
[INFO] [stderr]    Compiling crunchy v0.2.4
[INFO] [stderr]    Compiling nodrop v0.1.14
[INFO] [stderr]    Compiling rustc-hex v2.1.0
[INFO] [stderr]    Compiling byteorder v1.5.0
[INFO] [stderr]    Compiling hamming v0.1.3
[INFO] [stderr]    Compiling static_assertions v0.2.5
[INFO] [stderr]    Compiling rand_core v0.3.1
[INFO] [stderr]    Compiling primal-estimate v0.2.1
[INFO] [stderr]    Compiling smallvec v0.6.14
[INFO] [stderr]    Compiling parking_lot_core v0.5.0
[INFO] [stderr]    Compiling rand_os v0.1.3
[INFO] [stderr]    Compiling num-integer v0.1.46
[INFO] [stderr]    Compiling parking_lot v0.8.0
[INFO] [stderr]    Compiling lock_api v0.2.0
[INFO] [stderr]    Compiling rand v0.5.6
[INFO] [stderr]    Compiling rand_pcg v0.1.2
[INFO] [stderr]    Compiling rand_chacha v0.1.1
[INFO] [stderr]    Compiling rand v0.6.5
[INFO] [stderr]    Compiling rand_isaac v0.1.1
[INFO] [stderr]    Compiling rand_xorshift v0.1.1
[INFO] [stderr]    Compiling rand_hc v0.1.0
[INFO] [stderr]    Compiling primal-bit v0.2.4
[INFO] [stderr]    Compiling memmap v0.7.0
[INFO] [stderr]    Compiling primal-sieve v0.2.9
[INFO] [stderr]    Compiling either v1.15.0
[INFO] [stderr]    Compiling primal-check v0.2.3
[INFO] [stderr]    Compiling uint v0.7.1
[INFO] [stderr]    Compiling tiny-keccak v1.5.0
[INFO] [stderr]    Compiling parity-codec v3.5.4
[INFO] [stderr]    Compiling primal v0.2.3
[INFO] [stderr]    Compiling fixed-hash v0.3.2
[INFO] [stderr]    Compiling impl-codec v0.2.0
[INFO] [stderr]    Compiling primitive-types v0.3.0
[INFO] [stderr]    Compiling keccak-hash v0.2.0
[INFO] [stderr]    Compiling progpow_cpu v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused imports: `keccak_f800_long` and `keccak_f800_short`
[INFO] [stdout]   --> src/compute.rs:24:37
[INFO] [stdout]    |
[INFO] [stdout] 24 | use crate::progpow::{generate_cdag, keccak_f800_long, keccak_f800_short, progpow, CDag};
[INFO] [stdout]    |                                     ^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]    --> src/compute.rs:157:3
[INFO] [stdout]     |
[INFO] [stdout] 157 |     };
[INFO] [stdout]     |      ^ help: remove this semicolon
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(redundant_semicolons)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/compute.rs:178:41
[INFO] [stdout]     |
[INFO] [stdout] 178 |             let mut out: [u8; NODE_BYTES] = mem::uninitialized();
[INFO] [stdout]     |                                                  ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/compute.rs:198:33
[INFO] [stdout]     |
[INFO] [stdout] 198 |         compress_bytes: unsafe { mem::uninitialized() },
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/shared.rs:85:30
[INFO] [stdout]     |
[INFO] [stdout]  85 |             let val: $b = ::std::mem::uninitialized();
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 100 | static_assert_size_eq!(Node, NodeBytes, NodeWords, NodeDwords);
[INFO] [stdout]     | -------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `static_assert_size_eq` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/shared.rs:85:30
[INFO] [stdout]     |
[INFO] [stdout]  85 |             let val: $b = ::std::mem::uninitialized();
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 100 | static_assert_size_eq!(Node, NodeBytes, NodeWords, NodeDwords);
[INFO] [stdout]     | -------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `static_assert_size_eq` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/shared.rs:85:30
[INFO] [stdout]     |
[INFO] [stdout]  85 |             let val: $b = ::std::mem::uninitialized();
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 100 | static_assert_size_eq!(Node, NodeBytes, NodeWords, NodeDwords);
[INFO] [stdout]     | -------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `static_assert_size_eq` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MIX_HASH` is never used
[INFO] [stdout]   --> src/compute.rs:34:7
[INFO] [stdout]    |
[INFO] [stdout] 34 | const MIX_HASH: u32 = 0x811c9dc5;
[INFO] [stdout]    |       ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `[u8; 64]` does not permit being left uninitialized
[INFO] [stdout]    --> src/compute.rs:178:36
[INFO] [stdout]     |
[INFO] [stdout] 178 |             let mut out: [u8; NODE_BYTES] = mem::uninitialized();
[INFO] [stdout]     |                                             ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                             |
[INFO] [stdout]     |                                             this code causes undefined behavior when executed
[INFO] [stdout]     |                                             help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout]     = note: integers must be initialized
[INFO] [stdout]     = note: `#[warn(invalid_value)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `[u8; 32]` does not permit being left uninitialized
[INFO] [stdout]    --> src/compute.rs:198:28
[INFO] [stdout]     |
[INFO] [stdout] 198 |         compress_bytes: unsafe { mem::uninitialized() },
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                  |
[INFO] [stdout]     |                                  this code causes undefined behavior when executed
[INFO] [stdout]     |                                  help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout]     = note: integers must be initialized
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `[u8; 64]` does not permit being left uninitialized
[INFO] [stdout]    --> src/shared.rs:85:18
[INFO] [stdout]     |
[INFO] [stdout]  85 |             let val: $b = ::std::mem::uninitialized();
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           this code causes undefined behavior when executed
[INFO] [stdout]     |                           help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout] ...
[INFO] [stdout] 100 | static_assert_size_eq!(Node, NodeBytes, NodeWords, NodeDwords);
[INFO] [stdout]     | -------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: integers must be initialized
[INFO] [stdout]     = note: this warning originates in the macro `static_assert_size_eq` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `[u32; 16]` does not permit being left uninitialized
[INFO] [stdout]    --> src/shared.rs:85:18
[INFO] [stdout]     |
[INFO] [stdout]  85 |             let val: $b = ::std::mem::uninitialized();
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           this code causes undefined behavior when executed
[INFO] [stdout]     |                           help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout] ...
[INFO] [stdout] 100 | static_assert_size_eq!(Node, NodeBytes, NodeWords, NodeDwords);
[INFO] [stdout]     | -------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: integers must be initialized
[INFO] [stdout]     = note: this warning originates in the macro `static_assert_size_eq` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `[u64; 8]` does not permit being left uninitialized
[INFO] [stdout]    --> src/shared.rs:85:18
[INFO] [stdout]     |
[INFO] [stdout]  85 |             let val: $b = ::std::mem::uninitialized();
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           this code causes undefined behavior when executed
[INFO] [stdout]     |                           help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout] ...
[INFO] [stdout] 100 | static_assert_size_eq!(Node, NodeBytes, NodeWords, NodeDwords);
[INFO] [stdout]     | -------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: integers must be initialized
[INFO] [stdout]     = note: this warning originates in the macro `static_assert_size_eq` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 6.41s
[INFO] running `Command { std: "docker" "inspect" "34a0ba5466780b3c5f5ead1f6f6d3adafb08fdf72854686b2e834ecda468ac43", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "34a0ba5466780b3c5f5ead1f6f6d3adafb08fdf72854686b2e834ecda468ac43", kill_on_drop: false }`
[INFO] [stdout] 34a0ba5466780b3c5f5ead1f6f6d3adafb08fdf72854686b2e834ecda468ac43
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+1.90.0" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] eacc49b682e34dfc2094f38e69c8f116dfa7fd1ba00081377cb9c30f80d431fd
[INFO] running `Command { std: "docker" "start" "-a" "eacc49b682e34dfc2094f38e69c8f116dfa7fd1ba00081377cb9c30f80d431fd", kill_on_drop: false }`
[INFO] [stderr]    Compiling rand v0.4.6
[INFO] [stderr]    Compiling remove_dir_all v0.5.3
[INFO] [stdout] warning: unused imports: `keccak_f800_long` and `keccak_f800_short`
[INFO] [stdout]   --> src/compute.rs:24:37
[INFO] [stdout]    |
[INFO] [stdout] 24 | use crate::progpow::{generate_cdag, keccak_f800_long, keccak_f800_short, progpow, CDag};
[INFO] [stdout]    |                                     ^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]    --> src/compute.rs:157:3
[INFO] [stdout]     |
[INFO] [stdout] 157 |     };
[INFO] [stdout]     |      ^ help: remove this semicolon
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(redundant_semicolons)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/compute.rs:178:41
[INFO] [stdout]     |
[INFO] [stdout] 178 |             let mut out: [u8; NODE_BYTES] = mem::uninitialized();
[INFO] [stdout]     |                                                  ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/compute.rs:198:33
[INFO] [stdout]     |
[INFO] [stdout] 198 |         compress_bytes: unsafe { mem::uninitialized() },
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/shared.rs:85:30
[INFO] [stdout]     |
[INFO] [stdout]  85 |             let val: $b = ::std::mem::uninitialized();
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 100 | static_assert_size_eq!(Node, NodeBytes, NodeWords, NodeDwords);
[INFO] [stdout]     | -------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `static_assert_size_eq` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/shared.rs:85:30
[INFO] [stdout]     |
[INFO] [stdout]  85 |             let val: $b = ::std::mem::uninitialized();
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 100 | static_assert_size_eq!(Node, NodeBytes, NodeWords, NodeDwords);
[INFO] [stdout]     | -------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `static_assert_size_eq` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/shared.rs:85:30
[INFO] [stdout]     |
[INFO] [stdout]  85 |             let val: $b = ::std::mem::uninitialized();
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 100 | static_assert_size_eq!(Node, NodeBytes, NodeWords, NodeDwords);
[INFO] [stdout]     | -------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `static_assert_size_eq` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MIX_HASH` is never used
[INFO] [stdout]   --> src/compute.rs:34:7
[INFO] [stdout]    |
[INFO] [stdout] 34 | const MIX_HASH: u32 = 0x811c9dc5;
[INFO] [stdout]    |       ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `[u8; 64]` does not permit being left uninitialized
[INFO] [stdout]    --> src/compute.rs:178:36
[INFO] [stdout]     |
[INFO] [stdout] 178 |             let mut out: [u8; NODE_BYTES] = mem::uninitialized();
[INFO] [stdout]     |                                             ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                             |
[INFO] [stdout]     |                                             this code causes undefined behavior when executed
[INFO] [stdout]     |                                             help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout]     = note: integers must be initialized
[INFO] [stdout]     = note: `#[warn(invalid_value)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `[u8; 32]` does not permit being left uninitialized
[INFO] [stdout]    --> src/compute.rs:198:28
[INFO] [stdout]     |
[INFO] [stdout] 198 |         compress_bytes: unsafe { mem::uninitialized() },
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                  |
[INFO] [stdout]     |                                  this code causes undefined behavior when executed
[INFO] [stdout]     |                                  help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout]     = note: integers must be initialized
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `[u8; 64]` does not permit being left uninitialized
[INFO] [stdout]    --> src/shared.rs:85:18
[INFO] [stdout]     |
[INFO] [stdout]  85 |             let val: $b = ::std::mem::uninitialized();
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           this code causes undefined behavior when executed
[INFO] [stdout]     |                           help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout] ...
[INFO] [stdout] 100 | static_assert_size_eq!(Node, NodeBytes, NodeWords, NodeDwords);
[INFO] [stdout]     | -------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: integers must be initialized
[INFO] [stdout]     = note: this warning originates in the macro `static_assert_size_eq` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `[u32; 16]` does not permit being left uninitialized
[INFO] [stdout]    --> src/shared.rs:85:18
[INFO] [stdout]     |
[INFO] [stdout]  85 |             let val: $b = ::std::mem::uninitialized();
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           this code causes undefined behavior when executed
[INFO] [stdout]     |                           help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout] ...
[INFO] [stdout] 100 | static_assert_size_eq!(Node, NodeBytes, NodeWords, NodeDwords);
[INFO] [stdout]     | -------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: integers must be initialized
[INFO] [stdout]     = note: this warning originates in the macro `static_assert_size_eq` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `[u64; 8]` does not permit being left uninitialized
[INFO] [stdout]    --> src/shared.rs:85:18
[INFO] [stdout]     |
[INFO] [stdout]  85 |             let val: $b = ::std::mem::uninitialized();
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           this code causes undefined behavior when executed
[INFO] [stdout]     |                           help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout] ...
[INFO] [stdout] 100 | static_assert_size_eq!(Node, NodeBytes, NodeWords, NodeDwords);
[INFO] [stdout]     | -------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: integers must be initialized
[INFO] [stdout]     = note: this warning originates in the macro `static_assert_size_eq` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling tempdir v0.3.7
[INFO] [stderr]    Compiling progpow_cpu v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused imports: `keccak_f800_long` and `keccak_f800_short`
[INFO] [stdout]   --> src/compute.rs:24:37
[INFO] [stdout]    |
[INFO] [stdout] 24 | use crate::progpow::{generate_cdag, keccak_f800_long, keccak_f800_short, progpow, CDag};
[INFO] [stdout]    |                                     ^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]    --> src/compute.rs:157:3
[INFO] [stdout]     |
[INFO] [stdout] 157 |     };
[INFO] [stdout]     |      ^ help: remove this semicolon
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(redundant_semicolons)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/compute.rs:178:41
[INFO] [stdout]     |
[INFO] [stdout] 178 |             let mut out: [u8; NODE_BYTES] = mem::uninitialized();
[INFO] [stdout]     |                                                  ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/compute.rs:198:33
[INFO] [stdout]     |
[INFO] [stdout] 198 |         compress_bytes: unsafe { mem::uninitialized() },
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/shared.rs:85:30
[INFO] [stdout]     |
[INFO] [stdout]  85 |             let val: $b = ::std::mem::uninitialized();
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 100 | static_assert_size_eq!(Node, NodeBytes, NodeWords, NodeDwords);
[INFO] [stdout]     | -------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `static_assert_size_eq` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/shared.rs:85:30
[INFO] [stdout]     |
[INFO] [stdout]  85 |             let val: $b = ::std::mem::uninitialized();
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 100 | static_assert_size_eq!(Node, NodeBytes, NodeWords, NodeDwords);
[INFO] [stdout]     | -------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `static_assert_size_eq` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/shared.rs:85:30
[INFO] [stdout]     |
[INFO] [stdout]  85 |             let val: $b = ::std::mem::uninitialized();
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 100 | static_assert_size_eq!(Node, NodeBytes, NodeWords, NodeDwords);
[INFO] [stdout]     | -------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `static_assert_size_eq` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 1 argument but 2 arguments were supplied
[INFO] [stdout]    --> src/compute.rs:400:15
[INFO] [stdout]     |
[INFO] [stdout] 400 |         let light = NodeCacheBuilder::new(None, u64::max_value()).light(tempdir.path(), 486382);
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^       ---------------- unexpected argument #2 of type `u64`
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> src/cache.rs:94:9
[INFO] [stdout]     |
[INFO] [stdout]  94 |     pub fn new<T: Into<Option<OptimizeFor>>>(optimize_for: T) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] help: remove the extra argument
[INFO] [stdout]     |
[INFO] [stdout] 400 -         let light = NodeCacheBuilder::new(None, u64::max_value()).light(tempdir.path(), 486382);
[INFO] [stdout] 400 +         let light = NodeCacheBuilder::new(None).light(tempdir.path(), 486382);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `mix_hash` on type `([u8; 32], [u8; 32])`
[INFO] [stdout]    --> src/compute.rs:402:21
[INFO] [stdout]     |
[INFO] [stdout] 402 |         assert_eq!(result.mix_hash[..], mix_hash[..]);
[INFO] [stdout]     |                           ^^^^^^^^ unknown field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `value` on type `([u8; 32], [u8; 32])`
[INFO] [stdout]    --> src/compute.rs:403:21
[INFO] [stdout]     |
[INFO] [stdout] 403 |         assert_eq!(result.value[..], boundary[..]);
[INFO] [stdout]     |                           ^^^^^ unknown field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 1 argument but 2 arguments were supplied
[INFO] [stdout]    --> src/compute.rs:409:17
[INFO] [stdout]     |
[INFO] [stdout] 409 |         let builder = NodeCacheBuilder::new(None, u64::max_value());
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^       ---------------- unexpected argument #2 of type `u64`
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> src/cache.rs:94:9
[INFO] [stdout]     |
[INFO] [stdout]  94 |     pub fn new<T: Into<Option<OptimizeFor>>>(optimize_for: T) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] help: remove the extra argument
[INFO] [stdout]     |
[INFO] [stdout] 409 -         let builder = NodeCacheBuilder::new(None, u64::max_value());
[INFO] [stdout] 409 +         let builder = NodeCacheBuilder::new(None);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 1 argument but 2 arguments were supplied
[INFO] [stdout]    --> src/progpow.rs:428:17
[INFO] [stdout]     |
[INFO] [stdout] 428 |         let builder = NodeCacheBuilder::new(OptimizeFor::Memory, u64::max_value());
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^                      ---------------- unexpected argument #2 of type `u64`
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> src/cache.rs:94:9
[INFO] [stdout]     |
[INFO] [stdout]  94 |     pub fn new<T: Into<Option<OptimizeFor>>>(optimize_for: T) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] help: remove the extra argument
[INFO] [stdout]     |
[INFO] [stdout] 428 -         let builder = NodeCacheBuilder::new(OptimizeFor::Memory, u64::max_value());
[INFO] [stdout] 428 +         let builder = NodeCacheBuilder::new(OptimizeFor::Memory);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: can't compare `[u32; 8]` with `[u8; 32]`
[INFO] [stdout]    --> src/progpow.rs:513:3
[INFO] [stdout]     |
[INFO] [stdout] 513 |         assert_eq!(keccak_f800_long([0; 32], 0, [0; 8]), h256(expected),);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ no implementation for `[u32; 8] == [u8; 32]`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `PartialEq<[u8; 32]>` is not implemented for `[u32; 8]`
[INFO] [stdout]     = help: the following other types implement trait `PartialEq<Rhs>`:
[INFO] [stdout]               `&[T]` implements `PartialEq<Vec<U, A>>`
[INFO] [stdout]               `&[T]` implements `PartialEq<[U; N]>`
[INFO] [stdout]               `&[u8; N]` implements `PartialEq<ByteStr>`
[INFO] [stdout]               `&[u8; N]` implements `PartialEq<ByteString>`
[INFO] [stdout]               `&[u8]` implements `PartialEq<ByteStr>`
[INFO] [stdout]               `&[u8]` implements `PartialEq<ByteString>`
[INFO] [stdout]               `&mut [T]` implements `PartialEq<Vec<U, A>>`
[INFO] [stdout]               `&mut [T]` implements `PartialEq<[U; N]>`
[INFO] [stdout]             and 11 others
[INFO] [stdout]     = note: this error originates in the macro `assert_eq` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 1 argument but 2 arguments were supplied
[INFO] [stdout]    --> src/progpow.rs:524:17
[INFO] [stdout]     |
[INFO] [stdout] 524 |         let builder = NodeCacheBuilder::new(OptimizeFor::Memory, u64::max_value());
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^                      ---------------- unexpected argument #2 of type `u64`
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> src/cache.rs:94:9
[INFO] [stdout]     |
[INFO] [stdout]  94 |     pub fn new<T: Into<Option<OptimizeFor>>>(optimize_for: T) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] help: remove the extra argument
[INFO] [stdout]     |
[INFO] [stdout] 524 -         let builder = NodeCacheBuilder::new(OptimizeFor::Memory, u64::max_value());
[INFO] [stdout] 524 +         let builder = NodeCacheBuilder::new(OptimizeFor::Memory);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: can't compare `u32` with `u8`
[INFO] [stdout]    --> src/progpow.rs:543:3
[INFO] [stdout]     |
[INFO] [stdout] 543 |         assert_eq!(digest.to_vec(), expected_digest,);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ no implementation for `u32 == u8`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `PartialEq<u8>` is not implemented for `u32`
[INFO] [stdout]     = help: the following other types implement trait `PartialEq<Rhs>`:
[INFO] [stdout]               `u32` implements `PartialEq<Value>`
[INFO] [stdout]               `u32` implements `PartialEq`
[INFO] [stdout]     = note: required for `Vec<u32>` to implement `PartialEq<Vec<u8>>`
[INFO] [stdout]     = note: this error originates in the macro `assert_eq` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: can't compare `u32` with `u8`
[INFO] [stdout]    --> src/progpow.rs:545:3
[INFO] [stdout]     |
[INFO] [stdout] 545 |         assert_eq!(result.to_vec(), expected_result,);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ no implementation for `u32 == u8`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `PartialEq<u8>` is not implemented for `u32`
[INFO] [stdout]     = help: the following other types implement trait `PartialEq<Rhs>`:
[INFO] [stdout]               `u32` implements `PartialEq<Value>`
[INFO] [stdout]               `u32` implements `PartialEq`
[INFO] [stdout]     = note: required for `Vec<u32>` to implement `PartialEq<Vec<u8>>`
[INFO] [stdout]     = note: this error originates in the macro `assert_eq` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 1 argument but 2 arguments were supplied
[INFO] [stdout]    --> src/progpow.rs:584:18
[INFO] [stdout]     |
[INFO] [stdout] 584 |             let builder = NodeCacheBuilder::new(OptimizeFor::Memory, u64::max_value());
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^^^^^^^                      ---------------- unexpected argument #2 of type `u64`
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> src/cache.rs:94:9
[INFO] [stdout]     |
[INFO] [stdout]  94 |     pub fn new<T: Into<Option<OptimizeFor>>>(optimize_for: T) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] help: remove the extra argument
[INFO] [stdout]     |
[INFO] [stdout] 584 -             let builder = NodeCacheBuilder::new(OptimizeFor::Memory, u64::max_value());
[INFO] [stdout] 584 +             let builder = NodeCacheBuilder::new(OptimizeFor::Memory);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: can't compare `[u32; 8]` with `[u8; 32]`
[INFO] [stdout]    --> src/progpow.rs:597:4
[INFO] [stdout]     |
[INFO] [stdout] 597 |             assert_eq!(digest, test.final_hash);
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ no implementation for `[u32; 8] == [u8; 32]`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `PartialEq<[u8; 32]>` is not implemented for `[u32; 8]`
[INFO] [stdout]     = help: the following other types implement trait `PartialEq<Rhs>`:
[INFO] [stdout]               `&[T]` implements `PartialEq<Vec<U, A>>`
[INFO] [stdout]               `&[T]` implements `PartialEq<[U; N]>`
[INFO] [stdout]               `&[u8; N]` implements `PartialEq<ByteStr>`
[INFO] [stdout]               `&[u8; N]` implements `PartialEq<ByteString>`
[INFO] [stdout]               `&[u8]` implements `PartialEq<ByteStr>`
[INFO] [stdout]               `&[u8]` implements `PartialEq<ByteString>`
[INFO] [stdout]               `&mut [T]` implements `PartialEq<Vec<U, A>>`
[INFO] [stdout]               `&mut [T]` implements `PartialEq<[U; N]>`
[INFO] [stdout]             and 11 others
[INFO] [stdout]     = note: this error originates in the macro `assert_eq` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: can't compare `[u32; 8]` with `[u8; 32]`
[INFO] [stdout]    --> src/progpow.rs:598:4
[INFO] [stdout]     |
[INFO] [stdout] 598 |             assert_eq!(result, test.mix_hash);
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ no implementation for `[u32; 8] == [u8; 32]`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `PartialEq<[u8; 32]>` is not implemented for `[u32; 8]`
[INFO] [stdout]     = help: the following other types implement trait `PartialEq<Rhs>`:
[INFO] [stdout]               `&[T]` implements `PartialEq<Vec<U, A>>`
[INFO] [stdout]               `&[T]` implements `PartialEq<[U; N]>`
[INFO] [stdout]               `&[u8; N]` implements `PartialEq<ByteStr>`
[INFO] [stdout]               `&[u8; N]` implements `PartialEq<ByteString>`
[INFO] [stdout]               `&[u8]` implements `PartialEq<ByteStr>`
[INFO] [stdout]               `&[u8]` implements `PartialEq<ByteString>`
[INFO] [stdout]               `&mut [T]` implements `PartialEq<Vec<U, A>>`
[INFO] [stdout]               `&mut [T]` implements `PartialEq<[U; N]>`
[INFO] [stdout]             and 11 others
[INFO] [stdout]     = note: this error originates in the macro `assert_eq` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `hash`
[INFO] [stdout]    --> src/compute.rs:354:7
[INFO] [stdout]     |
[INFO] [stdout] 354 |         let hash = [
[INFO] [stdout]     |             ^^^^ help: if this is intentional, prefix it with an underscore: `_hash`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `mix_hash`
[INFO] [stdout]    --> src/compute.rs:359:7
[INFO] [stdout]     |
[INFO] [stdout] 359 |         let mix_hash = [
[INFO] [stdout]     |             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_mix_hash`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `nonce`
[INFO] [stdout]    --> src/compute.rs:364:7
[INFO] [stdout]     |
[INFO] [stdout] 364 |         let nonce = 0xd7b3ac70a301a249;
[INFO] [stdout]     |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_nonce`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `boundary_good`
[INFO] [stdout]    --> src/compute.rs:365:7
[INFO] [stdout]     |
[INFO] [stdout] 365 |         let boundary_good = [
[INFO] [stdout]     |             ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_boundary_good`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0061, E0277, E0609.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0061`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `progpow_cpu` (lib test) due to 12 previous errors; 11 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "eacc49b682e34dfc2094f38e69c8f116dfa7fd1ba00081377cb9c30f80d431fd", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "eacc49b682e34dfc2094f38e69c8f116dfa7fd1ba00081377cb9c30f80d431fd", kill_on_drop: false }`
[INFO] [stdout] eacc49b682e34dfc2094f38e69c8f116dfa7fd1ba00081377cb9c30f80d431fd
