[INFO] fetching crate stack_test_epic_core 3.0.3...
[INFO] testing stack_test_epic_core-3.0.3 against 1.75.0 for beta-1.76-1
[INFO] extracting crate stack_test_epic_core 3.0.3 into /workspace/builds/worker-0-tc1/source
[INFO] validating manifest of crates.io crate stack_test_epic_core 3.0.3 on toolchain 1.75.0
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.75.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate stack_test_epic_core 3.0.3
[INFO] finished tweaking crates.io crate stack_test_epic_core 3.0.3
[INFO] tweaked toml for crates.io crate stack_test_epic_core 3.0.3 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" "+1.75.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] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.75.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[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" "+1.75.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 83b33c22ced974bf4b42b804388bff16310866847d921a936580962528639e6d
[INFO] running `Command { std: "docker" "start" "-a" "83b33c22ced974bf4b42b804388bff16310866847d921a936580962528639e6d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "83b33c22ced974bf4b42b804388bff16310866847d921a936580962528639e6d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "83b33c22ced974bf4b42b804388bff16310866847d921a936580962528639e6d", kill_on_drop: false }`
[INFO] [stdout] 83b33c22ced974bf4b42b804388bff16310866847d921a936580962528639e6d
[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=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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+1.75.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] d2b9ac4a1aa20e94ba21c9274ee3743900084d2220f21fe3cb33b2f4ebeaf663
[INFO] running `Command { std: "docker" "start" "-a" "d2b9ac4a1aa20e94ba21c9274ee3743900084d2220f21fe3cb33b2f4ebeaf663", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.151
[INFO] [stderr]    Compiling serde v1.0.194
[INFO] [stderr]    Compiling rand_core v0.4.2
[INFO] [stderr]    Compiling num-traits v0.2.17
[INFO] [stderr]    Compiling autocfg v0.1.8
[INFO] [stderr]    Compiling byteorder v1.5.0
[INFO] [stderr]    Compiling nodrop v0.1.14
[INFO] [stderr]    Compiling generic-array v0.14.7
[INFO] [stderr]    Compiling quick-error v1.2.3
[INFO] [stderr]    Compiling glob v0.2.11
[INFO] [stderr]    Compiling aho-corasick v1.1.2
[INFO] [stderr]    Compiling regex-syntax v0.8.2
[INFO] [stderr]    Compiling semver-parser v0.7.0
[INFO] [stderr]    Compiling arrayvec v0.4.12
[INFO] [stderr]    Compiling adler v1.0.2
[INFO] [stderr]    Compiling unicode-width v0.1.11
[INFO] [stderr]    Compiling unicode-xid v0.1.0
[INFO] [stderr]    Compiling cfg-if v0.1.10
[INFO] [stderr]    Compiling rand_core v0.3.1
[INFO] [stderr]    Compiling humantime v1.3.0
[INFO] [stderr]    Compiling maybe-uninit v2.0.0
[INFO] [stderr]    Compiling textwrap v0.11.0
[INFO] [stderr]    Compiling proc-macro2 v0.3.5
[INFO] [stderr]    Compiling miniz_oxide v0.7.1
[INFO] [stderr]    Compiling crc32fast v1.3.2
[INFO] [stderr]    Compiling semver v0.9.0
[INFO] [stderr]    Compiling num-integer v0.1.45
[INFO] [stderr]    Compiling rustc_version v0.2.3
[INFO] [stderr]    Compiling indexmap v1.9.3
[INFO] [stderr]    Compiling linked-hash-map v0.5.6
[INFO] [stderr]    Compiling bindgen v0.37.4
[INFO] [stderr]    Compiling vec_map v0.8.2
[INFO] [stderr]    Compiling clang-sys v0.23.0
[INFO] [stderr]    Compiling termcolor v1.4.0
[INFO] [stderr]    Compiling bitflags v1.3.2
[INFO] [stderr]    Compiling strsim v0.8.0
[INFO] [stderr]    Compiling ansi_term v0.12.1
[INFO] [stderr]    Compiling ryu v1.0.16
[INFO] [stderr]    Compiling crunchy v0.2.2
[INFO] [stderr]    Compiling serde_json v1.0.111
[INFO] [stderr]    Compiling digest v0.9.0
[INFO] [stderr]    Compiling parking_lot_core v0.3.1
[INFO] [stderr]    Compiling quote v0.5.2
[INFO] [stderr]    Compiling rand_chacha v0.1.1
[INFO] [stderr]    Compiling rand_pcg v0.1.2
[INFO] [stderr]    Compiling stable_deref_trait v1.2.0
[INFO] [stderr]    Compiling subtle v2.4.1
[INFO] [stderr]    Compiling itoa v1.0.10
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]    Compiling hashbrown v0.12.3
[INFO] [stderr]    Compiling gimli v0.28.1
[INFO] [stderr]    Compiling traitobject v0.1.0
[INFO] [stderr]    Compiling owning_ref v0.4.1
[INFO] [stderr]    Compiling thiserror v1.0.56
[INFO] [stderr]    Compiling unsafe-any v0.4.2
[INFO] [stderr]    Compiling smallvec v0.6.14
[INFO] [stderr]    Compiling block-buffer v0.9.0
[INFO] [stderr]    Compiling yaml-rust v0.4.5
[INFO] [stderr]    Compiling cc v1.0.83
[INFO] [stderr]    Compiling rand v0.5.6
[INFO] [stderr]    Compiling memchr v1.0.2
[INFO] [stderr]    Compiling atty v0.2.14
[INFO] [stderr]    Compiling which v1.0.5
[INFO] [stderr]    Compiling nom v3.2.1
[INFO] [stderr]    Compiling clap v2.34.0
[INFO] [stderr]    Compiling ordered-float v1.1.1
[INFO] [stderr]    Compiling rand v0.6.5
[INFO] [stderr]    Compiling object v0.32.2
[INFO] [stderr]    Compiling thiserror-impl v1.0.56
[INFO] [stderr]    Compiling num-bigint v0.2.6
[INFO] [stderr]    Compiling rustc-hex v2.1.0
[INFO] [stderr]    Compiling opaque-debug v0.3.0
[INFO] [stderr]    Compiling rustc-demangle v0.1.23
[INFO] [stderr]    Compiling iana-time-zone v0.1.59
[INFO] [stderr]    Compiling odds v0.2.26
[INFO] [stderr]    Compiling scopeguard v0.3.3
[INFO] [stderr]    Compiling lock_api v0.1.5
[INFO] [stderr]    Compiling regex-automata v0.4.3
[INFO] [stderr]    Compiling arrayvec v0.3.25
[INFO] [stderr]    Compiling cexpr v0.2.3
[INFO] [stderr]    Compiling thread-id v3.3.0
[INFO] [stderr]    Compiling rand_os v0.1.3
[INFO] [stderr]    Compiling typemap v0.3.3
[INFO] [stderr]    Compiling crypto-mac v0.11.1
[INFO] [stderr]    Compiling flate2 v1.0.28
[INFO] [stderr]    Compiling rand_isaac v0.1.1
[INFO] [stderr]    Compiling libloading v0.5.2
[INFO] [stderr]    Compiling backtrace v0.3.69
[INFO] [stderr]    Compiling grin_secp256k1zkp v0.7.12
[INFO] [stderr]    Compiling rand_hc v0.1.0
[INFO] [stderr]    Compiling rand_xorshift v0.1.1
[INFO] [stderr]    Compiling rand_jitter v0.1.4
[INFO] [stderr]    Compiling generic-array v0.12.4
[INFO] [stderr]    Compiling num-iter v0.1.43
[INFO] [stderr]    Compiling num-rational v0.2.4
[INFO] [stderr]    Compiling num-complex v0.2.4
[INFO] [stderr]    Compiling base64ct v1.6.0
[INFO] [stderr]    Compiling log-mdc v0.1.0
[INFO] [stderr]    Compiling unicode-xid v0.2.4
[INFO] [stderr]    Compiling rustc-serialize v0.3.25
[INFO] [stderr]    Compiling arc-swap v0.3.11
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]    Compiling crunchy v0.1.6
[INFO] [stderr]    Compiling antidote v1.0.0
[INFO] [stderr]    Compiling log v0.4.20
[INFO] [stderr]    Compiling serde-value v0.5.3
[INFO] [stderr]    Compiling serde_yaml v0.8.26
[INFO] [stderr]    Compiling chrono v0.4.31
[INFO] [stderr]    Compiling parity-codec v3.5.4
[INFO] [stderr]    Compiling byte-tools v0.3.1
[INFO] [stderr]    Compiling static_assertions v0.2.5
[INFO] [stderr]    Compiling failure_derive v0.1.8
[INFO] [stderr]    Compiling same-file v1.0.6
[INFO] [stderr]    Compiling fnv v1.0.7
[INFO] [stderr]    Compiling addr2line v0.21.0
[INFO] [stderr]    Compiling safemem v0.3.3
[INFO] [stderr]    Compiling sha2 v0.9.9
[INFO] [stderr]    Compiling base64 v0.9.3
[INFO] [stderr]    Compiling walkdir v2.4.0
[INFO] [stderr]    Compiling fixed-hash v0.3.2
[INFO] [stderr]    Compiling block-padding v0.1.5
[INFO] [stderr]    Compiling password-hash v0.2.3
[INFO] [stderr]    Compiling impl-codec v0.2.0
[INFO] [stderr]    Compiling zip v0.5.13
[INFO] [stderr]    Compiling hmac v0.11.0
[INFO] [stderr]    Compiling parking_lot v0.6.4
[INFO] [stderr]    Compiling uint v0.7.1
[INFO] [stderr]    Compiling synstructure v0.12.6
[INFO] [stderr]    Compiling regex v1.10.2
[INFO] [stderr]    Compiling log4rs v0.8.3
[INFO] [stderr]    Compiling rand v0.4.6
[INFO] [stderr]    Compiling env_logger v0.5.13
[INFO] [stderr]    Compiling constant_time_eq v0.1.5
[INFO] [stderr]    Compiling blake2-rfc v0.2.18
[INFO] [stderr]    Compiling primitive-types v0.3.0
[INFO] [stderr]    Compiling pbkdf2 v0.8.0
[INFO] [stderr]    Compiling uuid v0.6.5
[INFO] [stderr]    Compiling block-buffer v0.7.3
[INFO] [stderr]    Compiling digest v0.8.1
[INFO] [stderr]    Compiling ripemd160 v0.9.1
[INFO] [stderr]    Compiling num-traits v0.1.43
[INFO] [stderr]    Compiling tiny-keccak v1.5.0
[INFO] [stderr]    Compiling fake-simd v0.1.2
[INFO] [stderr]    Compiling opaque-debug v0.2.3
[INFO] [stderr]    Compiling sha2 v0.8.2
[INFO] [stderr]    Compiling enum_primitive v0.1.1
[INFO] [stderr]    Compiling bigint v4.4.3
[INFO] [stderr]    Compiling lru-cache v0.1.2
[INFO] [stderr]    Compiling md5 v0.6.1
[INFO] [stderr]    Compiling siphasher v0.2.3
[INFO] [stderr]    Compiling stack_test_epic_util v3.0.3
[INFO] [stderr]    Compiling num v0.2.1
[INFO] [stderr]    Compiling keccak-hash v0.2.0
[INFO] [stderr]    Compiling stack_test_epic_keychain v3.0.3
[INFO] [stderr]    Compiling failure v0.1.8
[INFO] [stderr]    Compiling croaring-sys v0.3.9
[INFO] [stderr]    Compiling croaring v0.3.9
[INFO] [stderr]    Compiling stack_test_epic_core v3.0.3 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `DifficultyNumber`
[INFO] [stdout]   --> src/consensus.rs:27:30
[INFO] [stdout]    |
[INFO] [stdout] 27 | use crate::pow::{Difficulty, DifficultyNumber, PoWType};
[INFO] [stdout]    |                              ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]   --> src/consensus.rs:29:5
[INFO] [stdout]    |
[INFO] [stdout] 29 | use std::collections::HashMap;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused macro definition: `error_invalid_pow`
[INFO] [stdout]    --> src/consensus.rs:560:14
[INFO] [stdout]     |
[INFO] [stdout] 560 | macro_rules! error_invalid_pow {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_macros)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::util::RwLock`
[INFO] [stdout]   --> src/core/block.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | use crate::util::RwLock;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]   --> src/core/block.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 24 | use std::collections::HashMap;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]   --> src/core/block.rs:29:5
[INFO] [stdout]    |
[INFO] [stdout] 29 | use std::sync::Arc;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `reward`
[INFO] [stdout]   --> src/core/block.rs:32:53
[INFO] [stdout]    |
[INFO] [stdout] 32 |     self, add_reward_foundation, is_foundation_height, reward, reward_at_height, reward_foundation,
[INFO] [stdout]    |                                                        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/macros.rs:78:9
[INFO] [stdout]     |
[INFO] [stdout] 78  |     ( $(r#try!($rdr.$read_call($($val),*))),* )
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/core/block.rs:309:28
[INFO] [stdout]     |
[INFO] [stdout] 309 |     let (height, timestamp) = ser_multiread!(reader, read_u64, read_i64);
[INFO] [stdout]     |                               ------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout]     = note: this warning originates in the macro `ser_multiread` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/macros.rs:78:9
[INFO] [stdout]     |
[INFO] [stdout] 78  |     ( $(r#try!($rdr.$read_call($($val),*))),* )
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/core/block.rs:316:43
[INFO] [stdout]     |
[INFO] [stdout] 316 |     let (output_mmr_size, kernel_mmr_size) = ser_multiread!(reader, read_u64, read_u64);
[INFO] [stdout]     |                                              ------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `ser_multiread` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/macros.rs:92:8
[INFO] [stdout]     |
[INFO] [stdout] 92  |       $( r#try!($wrtr.$write_call($val)) );*
[INFO] [stdout]     |          ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/core/block.rs:363:3
[INFO] [stdout]     |
[INFO] [stdout] 363 | /         ser_multiwrite!(
[INFO] [stdout] 364 | |             writer,
[INFO] [stdout] 365 | |             [write_u64, self.height],
[INFO] [stdout] 366 | |             [write_i64, self.timestamp.timestamp()],
[INFO] [stdout] ...   |
[INFO] [stdout] 374 | |             [write_u64, self.kernel_mmr_size]
[INFO] [stdout] 375 | |         );
[INFO] [stdout]     | |_________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `ser_multiwrite` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/macros.rs:23:48
[INFO] [stdout]     |
[INFO] [stdout] 23  |         $thing.iter().map($mapfn).collect::<Vec<_>>();
[INFO] [stdout]     |                                                      ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/core/block.rs:908:21
[INFO] [stdout]     |
[INFO] [stdout] 908 |                 secp.commit_sum(map_vec!(cb_outs, |x| x.commitment()), vec![over_commit])?;
[INFO] [stdout]     |                                 ------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: `#[warn(semicolon_in_expressions_from_macros)]` on by default
[INFO] [stdout]     = note: this warning originates in the macro `map_vec` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> src/core/committed.rs:128:14
[INFO] [stdout]     |
[INFO] [stdout] 128 |     ) -> Result<((Commitment, Commitment)), Error> {
[INFO] [stdout]     |                 ^                        ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 128 -     ) -> Result<((Commitment, Commitment)), Error> {
[INFO] [stdout] 128 +     ) -> Result<(Commitment, Commitment), Error> {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]   --> src/macros.rs:78:9
[INFO] [stdout]    |
[INFO] [stdout] 78 |     ( $(r#try!($rdr.$read_call($($val),*))),* )
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/core/compact_block.rs:87:4
[INFO] [stdout]    |
[INFO] [stdout] 87 |             ser_multiread!(reader, read_u64, read_u64, read_u64);
[INFO] [stdout]    |             ---------------------------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `ser_multiread` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/macros.rs:92:8
[INFO] [stdout]     |
[INFO] [stdout] 92  |       $( r#try!($wrtr.$write_call($val)) );*
[INFO] [stdout]     |          ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/core/compact_block.rs:103:3
[INFO] [stdout]     |
[INFO] [stdout] 103 | /         ser_multiwrite!(
[INFO] [stdout] 104 | |             writer,
[INFO] [stdout] 105 | |             [write_u64, self.out_full.len() as u64],
[INFO] [stdout] 106 | |             [write_u64, self.kern_full.len() as u64],
[INFO] [stdout] 107 | |             [write_u64, self.kern_ids.len() as u64]
[INFO] [stdout] 108 | |         );
[INFO] [stdout]     | |_________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `ser_multiwrite` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `first_fork_height`, `foundation_height`
[INFO] [stdout]  --> src/core/foundation.rs:1:24
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::consensus::{first_fork_height, foundation_height, foundation_index, header_version};
[INFO] [stdout]   |                        ^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/core/id.rs:77:1
[INFO] [stdout]    |
[INFO] [stdout] 77 | / /// We want to sort short_ids in a canonical and consistent manner so we can
[INFO] [stdout] 78 | | /// verify sort order in the same way we do for full inputs|outputs|kernels
[INFO] [stdout] 79 | | /// themselves.
[INFO] [stdout]    | |_--------------^
[INFO] [stdout]    |   |
[INFO] [stdout]    |   rustdoc does not generate documentation for macro invocations
[INFO] [stdout]    |
[INFO] [stdout]    = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout]    = note: `#[warn(unused_doc_comments)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]   --> src/core/transaction.rs:30:5
[INFO] [stdout]    |
[INFO] [stdout] 30 | use std::sync::Arc;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `util::RwLock`
[INFO] [stdout]   --> src/core/transaction.rs:36:5
[INFO] [stdout]    |
[INFO] [stdout] 36 | use util::RwLock;
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/macros.rs:92:8
[INFO] [stdout]     |
[INFO] [stdout] 92  |       $( r#try!($wrtr.$write_call($val)) );*
[INFO] [stdout]     |          ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/core/transaction.rs:518:3
[INFO] [stdout]     |
[INFO] [stdout] 518 | /         ser_multiwrite!(
[INFO] [stdout] 519 | |             writer,
[INFO] [stdout] 520 | |             [write_u64, self.inputs.len() as u64],
[INFO] [stdout] 521 | |             [write_u64, self.outputs.len() as u64],
[INFO] [stdout] 522 | |             [write_u64, self.kernels.len() as u64]
[INFO] [stdout] 523 | |         );
[INFO] [stdout]     | |_________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `ser_multiwrite` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/macros.rs:78:9
[INFO] [stdout]     |
[INFO] [stdout] 78  |     ( $(r#try!($rdr.$read_call($($val),*))),* )
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/core/transaction.rs:538:4
[INFO] [stdout]     |
[INFO] [stdout] 538 |             ser_multiread!(reader, read_u64, read_u64, read_u64);
[INFO] [stdout]     |             ---------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `ser_multiread` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::util`
[INFO] [stdout]   --> src/genesis.rs:27:5
[INFO] [stdout]    |
[INFO] [stdout] 27 | use crate::util;
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::util::secp::constants::SINGLE_BULLET_PROOF_SIZE`
[INFO] [stdout]   --> src/genesis.rs:28:5
[INFO] [stdout]    |
[INFO] [stdout] 28 | use crate::util::secp::constants::SINGLE_BULLET_PROOF_SIZE;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Commitment`, `RangeProof`
[INFO] [stdout]   --> src/genesis.rs:29:35
[INFO] [stdout]    |
[INFO] [stdout] 29 | use crate::util::secp::pedersen::{Commitment, RangeProof};
[INFO] [stdout]    |                                   ^^^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::util::secp::Signature`
[INFO] [stdout]   --> src/genesis.rs:30:5
[INFO] [stdout]    |
[INFO] [stdout] 30 | use crate::util::secp::Signature;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `DIFFICULTY_ADJUST_WINDOW`
[INFO] [stdout]   --> src/global.rs:23:37
[INFO] [stdout]    |
[INFO] [stdout] 23 |     DAY_HEIGHT, DEFAULT_MIN_EDGE_BITS, DIFFICULTY_ADJUST_WINDOW, INITIAL_DIFFICULTY,
[INFO] [stdout]    |                                        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `new_cuckaroo_ctx`
[INFO] [stdout]   --> src/global.rs:27:24
[INFO] [stdout]    |
[INFO] [stdout] 27 | use crate::pow::{self, new_cuckaroo_ctx, new_cuckatoo_ctx, EdgeType, PoWContext};
[INFO] [stdout]    |                        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]   --> src/global.rs:34:5
[INFO] [stdout]    |
[INFO] [stdout] 34 | use std::collections::HashMap;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/global.rs:290:5
[INFO] [stdout]     |
[INFO] [stdout] 290 |     if (height <= consensus::BLOCK_ERA_1) {
[INFO] [stdout]     |        ^                                ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 290 -     if (height <= consensus::BLOCK_ERA_1) {
[INFO] [stdout] 290 +     if height <= consensus::BLOCK_ERA_1 {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/global.rs:292:12
[INFO] [stdout]     |
[INFO] [stdout] 292 |     } else if (height <= consensus::BLOCK_ERA_2) {
[INFO] [stdout]     |               ^                                ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 292 -     } else if (height <= consensus::BLOCK_ERA_2) {
[INFO] [stdout] 292 +     } else if height <= consensus::BLOCK_ERA_2 {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/global.rs:294:12
[INFO] [stdout]     |
[INFO] [stdout] 294 |     } else if (height <= consensus::BLOCK_ERA_3) {
[INFO] [stdout]     |               ^                                ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 294 -     } else if (height <= consensus::BLOCK_ERA_3) {
[INFO] [stdout] 294 +     } else if height <= consensus::BLOCK_ERA_3 {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/global.rs:296:12
[INFO] [stdout]     |
[INFO] [stdout] 296 |     } else if (height <= consensus::BLOCK_ERA_4) {
[INFO] [stdout]     |               ^                                ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 296 -     } else if (height <= consensus::BLOCK_ERA_4) {
[INFO] [stdout] 296 +     } else if height <= consensus::BLOCK_ERA_4 {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/global.rs:298:12
[INFO] [stdout]     |
[INFO] [stdout] 298 |     } else if (height <= consensus::BLOCK_ERA_5) {
[INFO] [stdout]     |               ^                                ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 298 -     } else if (height <= consensus::BLOCK_ERA_5) {
[INFO] [stdout] 298 +     } else if height <= consensus::BLOCK_ERA_5 {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::global`
[INFO] [stdout]   --> src/pow/cuckaroo.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 26 | use crate::global;
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::global`
[INFO] [stdout]   --> src/pow/cuckatoo.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 20 | use crate::global;
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/macros.rs:23:48
[INFO] [stdout]     |
[INFO] [stdout] 23  |         $thing.iter().map($mapfn).collect::<Vec<_>>();
[INFO] [stdout]     |                                                      ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/pow/cuckatoo.rs:274:15
[INFO] [stdout]     |
[INFO] [stdout] 274 |                 *nonces = map_vec!(nonces, |n| val[*n as usize]);
[INFO] [stdout]     |                           -------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `map_vec` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Link`
[INFO] [stdout]  --> src/pow/md5.rs:2:36
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::pow::common::{EdgeType, Link};
[INFO] [stdout]   |                                    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::util`
[INFO] [stdout]  --> src/pow/md5.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::util;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::core::block::BlockHeader`
[INFO] [stdout]  --> src/pow/progpow.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::core::block::BlockHeader;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ErrorKind`
[INFO] [stdout]  --> src/pow/progpow.rs:7:32
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::pow::error::{Error, ErrorKind};
[INFO] [stdout]   |                                ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::util::RwLock`
[INFO] [stdout]  --> src/pow/progpow.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use crate::util::RwLock;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `bigint::uint::U256`
[INFO] [stdout]   --> src/pow/progpow.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | use bigint::uint::U256;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ErrorKind`
[INFO] [stdout]  --> src/pow/randomx.rs:6:32
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::pow::error::{Error, ErrorKind};
[INFO] [stdout]   |                                ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::util::RwLock`
[INFO] [stdout]  --> src/pow/randomx.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::util::RwLock;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `FixedLength`
[INFO] [stdout]   --> src/pow/types.rs:32:24
[INFO] [stdout]    |
[INFO] [stdout] 32 | use crate::ser::{self, FixedLength, Readable, Reader, Writeable, Writer};
[INFO] [stdout]    |                        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::core::hash::Hash`
[INFO] [stdout]   --> src/pow/types.rs:34:5
[INFO] [stdout]    |
[INFO] [stdout] 34 | use crate::core::hash::Hash;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `chrono::naive::MAX_DATE`: Use NaiveDate::MAX instead
[INFO] [stdout]   --> src/core/block.rs:20:21
[INFO] [stdout]    |
[INFO] [stdout] 20 | use chrono::naive::{MAX_DATE, MIN_DATE};
[INFO] [stdout]    |                     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `chrono::naive::MIN_DATE`: Use NaiveDate::MIN instead
[INFO] [stdout]   --> src/core/block.rs:20:31
[INFO] [stdout]    |
[INFO] [stdout] 20 | use chrono::naive::{MAX_DATE, MIN_DATE};
[INFO] [stdout]    |                               ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `chrono::naive::MAX_DATE`: Use NaiveDate::MAX instead
[INFO] [stdout]    --> src/core/block.rs:321:17
[INFO] [stdout]     |
[INFO] [stdout] 321 |     if timestamp > MAX_DATE.and_hms(0, 0, 0).timestamp()
[INFO] [stdout]     |                    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `chrono::naive::MIN_DATE`: Use NaiveDate::MIN instead
[INFO] [stdout]    --> src/core/block.rs:322:18
[INFO] [stdout]     |
[INFO] [stdout] 322 |         || timestamp < MIN_DATE.and_hms(0, 0, 0).timestamp()
[INFO] [stdout]     |                        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/core/block.rs:137:23
[INFO] [stdout]     |
[INFO] [stdout] 137 |     fn read(reader: &mut Reader) -> Result<HeaderEntry, ser::Error> {
[INFO] [stdout]     |                          ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 137 |     fn read(reader: &mut dyn Reader) -> Result<HeaderEntry, ser::Error> {
[INFO] [stdout]     |                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/core/pmmr/backend.rs:56:33
[INFO] [stdout]    |
[INFO] [stdout] 56 |     fn leaf_pos_iter(&self) -> Box<Iterator<Item = u64> + '_>;
[INFO] [stdout]    |                                    ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 56 |     fn leaf_pos_iter(&self) -> Box<dyn Iterator<Item = u64> + '_>;
[INFO] [stdout]    |                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/core/pmmr/rewindable_pmmr.rs:53:31
[INFO] [stdout]    |
[INFO] [stdout] 53 |     pub fn backend(&'a self) -> &Backend<T> {
[INFO] [stdout]    |                                  ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 53 |     pub fn backend(&'a self) -> &dyn Backend<T> {
[INFO] [stdout]    |                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `chrono::DateTime::<Tz>::from_utc`: Use TimeZone::from_utc_datetime() or DateTime::from_naive_utc_and_offset instead
[INFO] [stdout]    --> src/core/block.rs:257:32
[INFO] [stdout]     |
[INFO] [stdout] 257 |             timestamp: DateTime::<Utc>::from_utc(NaiveDateTime::from_timestamp(0, 0), Utc),
[INFO] [stdout]     |                                         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `chrono::NaiveDateTime::from_timestamp`: use `from_timestamp_opt()` instead
[INFO] [stdout]    --> src/core/block.rs:257:56
[INFO] [stdout]     |
[INFO] [stdout] 257 |             timestamp: DateTime::<Utc>::from_utc(NaiveDateTime::from_timestamp(0, 0), Utc),
[INFO] [stdout]     |                                                                 ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `chrono::NaiveDate::and_hms`: use `and_hms_opt()` instead
[INFO] [stdout]    --> src/core/block.rs:321:26
[INFO] [stdout]     |
[INFO] [stdout] 321 |     if timestamp > MAX_DATE.and_hms(0, 0, 0).timestamp()
[INFO] [stdout]     |                             ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `chrono::NaiveDate::and_hms`: use `and_hms_opt()` instead
[INFO] [stdout]    --> src/core/block.rs:322:27
[INFO] [stdout]     |
[INFO] [stdout] 322 |         || timestamp < MIN_DATE.and_hms(0, 0, 0).timestamp()
[INFO] [stdout]     |                                 ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `chrono::DateTime::<Tz>::from_utc`: Use TimeZone::from_utc_datetime() or DateTime::from_naive_utc_and_offset instead
[INFO] [stdout]    --> src/core/block.rs:338:31
[INFO] [stdout]     |
[INFO] [stdout] 338 |         timestamp: DateTime::<Utc>::from_utc(NaiveDateTime::from_timestamp(timestamp, 0), Utc),
[INFO] [stdout]     |                                     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `chrono::NaiveDateTime::from_timestamp`: use `from_timestamp_opt()` instead
[INFO] [stdout]    --> src/core/block.rs:338:55
[INFO] [stdout]     |
[INFO] [stdout] 338 |         timestamp: DateTime::<Utc>::from_utc(NaiveDateTime::from_timestamp(timestamp, 0), Utc),
[INFO] [stdout]     |                                                             ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `chrono::DateTime::<Tz>::from_utc`: Use TimeZone::from_utc_datetime() or DateTime::from_naive_utc_and_offset instead
[INFO] [stdout]    --> src/core/block.rs:676:36
[INFO] [stdout]     |
[INFO] [stdout] 676 |         let timestamp = DateTime::<Utc>::from_utc(NaiveDateTime::from_timestamp(now, 0), Utc);
[INFO] [stdout]     |                                          ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `chrono::NaiveDateTime::from_timestamp`: use `from_timestamp_opt()` instead
[INFO] [stdout]    --> src/core/block.rs:676:60
[INFO] [stdout]     |
[INFO] [stdout] 676 |         let timestamp = DateTime::<Utc>::from_utc(NaiveDateTime::from_timestamp(now, 0), Utc);
[INFO] [stdout]     |                                                                  ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `chrono::DateTime::<Tz>::from_utc`: Use TimeZone::from_utc_datetime() or DateTime::from_naive_utc_and_offset instead
[INFO] [stdout]    --> src/core/block.rs:725:36
[INFO] [stdout]     |
[INFO] [stdout] 725 |         let timestamp = DateTime::<Utc>::from_utc(NaiveDateTime::from_timestamp(now, 0), Utc);
[INFO] [stdout]     |                                          ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `chrono::NaiveDateTime::from_timestamp`: use `from_timestamp_opt()` instead
[INFO] [stdout]    --> src/core/block.rs:725:60
[INFO] [stdout]     |
[INFO] [stdout] 725 |         let timestamp = DateTime::<Utc>::from_utc(NaiveDateTime::from_timestamp(now, 0), Utc);
[INFO] [stdout]     |                                                                  ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/core/foundation.rs:50:68
[INFO] [stdout]    |
[INFO] [stdout] 50 |         Err(why) => panic!("Couldn't create {}: {}", path.display(), why.description()),
[INFO] [stdout]    |                                                                          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `chrono::TimeZone::ymd`: use `with_ymd_and_hms()` instead
[INFO] [stdout]   --> src/genesis.rs:43:18
[INFO] [stdout]    |
[INFO] [stdout] 43 |         timestamp: Utc.ymd(1997, 8, 4).and_hms(0, 0, 0),
[INFO] [stdout]    |                        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `chrono::Date::<Tz>::and_hms`: Use and_hms_opt() instead
[INFO] [stdout]   --> src/genesis.rs:43:34
[INFO] [stdout]    |
[INFO] [stdout] 43 |         timestamp: Utc.ymd(1997, 8, 4).and_hms(0, 0, 0),
[INFO] [stdout]    |                                        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `chrono::TimeZone::ymd`: use `with_ymd_and_hms()` instead
[INFO] [stdout]   --> src/genesis.rs:68:18
[INFO] [stdout]    |
[INFO] [stdout] 68 |         timestamp: Utc.ymd(2019, 8, 9).and_hms(17, 04, 38),
[INFO] [stdout]    |                        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `chrono::Date::<Tz>::and_hms`: Use and_hms_opt() instead
[INFO] [stdout]   --> src/genesis.rs:68:34
[INFO] [stdout]    |
[INFO] [stdout] 68 |         timestamp: Utc.ymd(2019, 8, 9).and_hms(17, 04, 38),
[INFO] [stdout]    |                                        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `chrono::TimeZone::ymd`: use `with_ymd_and_hms()` instead
[INFO] [stdout]    --> src/genesis.rs:129:18
[INFO] [stdout]     |
[INFO] [stdout] 129 |         timestamp: Utc.ymd(2019, 8, 9).and_hms(17, 04, 38),
[INFO] [stdout]     |                        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `chrono::Date::<Tz>::and_hms`: Use and_hms_opt() instead
[INFO] [stdout]    --> src/genesis.rs:129:34
[INFO] [stdout]     |
[INFO] [stdout] 129 |         timestamp: Utc.ymd(2019, 8, 9).and_hms(17, 04, 38),
[INFO] [stdout]     |                                        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `chrono::DateTime::<Tz>::from_utc`: Use TimeZone::from_utc_datetime() or DateTime::from_naive_utc_and_offset instead
[INFO] [stdout]    --> src/pow.rs:147:36
[INFO] [stdout]     |
[INFO] [stdout] 147 |             bh.timestamp = DateTime::<Utc>::from_utc(NaiveDateTime::from_timestamp(0, 0), Utc);
[INFO] [stdout]     |                                             ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `chrono::NaiveDateTime::from_timestamp`: use `from_timestamp_opt()` instead
[INFO] [stdout]    --> src/pow.rs:147:60
[INFO] [stdout]     |
[INFO] [stdout] 147 |             bh.timestamp = DateTime::<Utc>::from_utc(NaiveDateTime::from_timestamp(0, 0), Utc);
[INFO] [stdout]     |                                                                     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `height`
[INFO] [stdout]    --> src/consensus.rs:626:27
[INFO] [stdout]     |
[INFO] [stdout] 626 | fn next_cuckoo_difficulty(height: u64, pow: PoWType, diff_data: &Vec<HeaderInfo>) -> u64 {
[INFO] [stdout]     |                           ^^^^^^ help: if this is intentional, prefix it with an underscore: `_height`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `version`
[INFO] [stdout]   --> src/core/foundation.rs:63:41
[INFO] [stdout]    |
[INFO] [stdout] 63 | fn get_foundation_tx_offset(index: u64, version: HeaderVersion) -> u64 {
[INFO] [stdout]    |                                         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_version`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `policy_config`
[INFO] [stdout]    --> src/global.rs:289:6
[INFO] [stdout]     |
[INFO] [stdout] 289 |     let policy_config = POLICY_CONFIG.read();
[INFO] [stdout]     |         ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_policy_config`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `height`
[INFO] [stdout]   --> src/pow/cuckaroo.rs:62:3
[INFO] [stdout]    |
[INFO] [stdout] 62 |         height: Option<u64>,
[INFO] [stdout]    |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_height`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `height`
[INFO] [stdout]    --> src/pow/cuckatoo.rs:193:3
[INFO] [stdout]     |
[INFO] [stdout] 193 |         height: Option<u64>,
[INFO] [stdout]     |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_height`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `height`
[INFO] [stdout]   --> src/pow/md5.rs:46:3
[INFO] [stdout]    |
[INFO] [stdout] 46 |         height: Option<u64>,
[INFO] [stdout]    |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_height`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `header`
[INFO] [stdout]   --> src/pow/progpow.rs:47:26
[INFO] [stdout]    |
[INFO] [stdout] 47 | pub fn get_progpow_value(header: &[u8], height: u64, nonce: u64) -> [u8; 32] {
[INFO] [stdout]    |                          ^^^^^^ help: if this is intentional, prefix it with an underscore: `_header`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `height`
[INFO] [stdout]   --> src/pow/progpow.rs:47:41
[INFO] [stdout]    |
[INFO] [stdout] 47 | pub fn get_progpow_value(header: &[u8], height: u64, nonce: u64) -> [u8; 32] {
[INFO] [stdout]    |                                         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_height`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `nonce`
[INFO] [stdout]   --> src/pow/progpow.rs:47:54
[INFO] [stdout]    |
[INFO] [stdout] 47 | pub fn get_progpow_value(header: &[u8], height: u64, nonce: u64) -> [u8; 32] {
[INFO] [stdout]    |                                                      ^^^^^ help: if this is intentional, prefix it with an underscore: `_nonce`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `proof`
[INFO] [stdout]    --> src/pow/progpow.rs:102:23
[INFO] [stdout]     |
[INFO] [stdout] 102 |     fn verify(&mut self, proof: &Proof) -> Result<(), Error> {
[INFO] [stdout]     |                          ^^^^^ help: if this is intentional, prefix it with an underscore: `_proof`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `height`
[INFO] [stdout]   --> src/pow/randomx.rs:91:3
[INFO] [stdout]    |
[INFO] [stdout] 91 |         height: Option<u64>,
[INFO] [stdout]    |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_height`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `proof`
[INFO] [stdout]    --> src/pow/randomx.rs:109:23
[INFO] [stdout]     |
[INFO] [stdout] 109 |     fn verify(&mut self, proof: &Proof) -> Result<(), Error> {
[INFO] [stdout]     |                          ^^^^^ help: if this is intentional, prefix it with an underscore: `_proof`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]    --> src/pow/types.rs:235:46
[INFO] [stdout]     |
[INFO] [stdout] 235 |         let self_sum: u128 = self.num.iter().map(|(x, y)| *y as u128).sum();
[INFO] [stdout]     |                                                    ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]    --> src/pow/types.rs:237:48
[INFO] [stdout]     |
[INFO] [stdout] 237 |         let other_sum: u128 = other.num.iter().map(|(x, y)| *y as u128).sum();
[INFO] [stdout]     |                                                      ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]    --> src/pow/types.rs:245:46
[INFO] [stdout]     |
[INFO] [stdout] 245 |         let self_sum: u128 = self.num.iter().map(|(x, y)| *y as u128).sum();
[INFO] [stdout]     |                                                    ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]    --> src/pow/types.rs:247:48
[INFO] [stdout]     |
[INFO] [stdout] 247 |         let other_sum: u128 = other.num.iter().map(|(x, y)| *y as u128).sum();
[INFO] [stdout]     |                                                      ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `mix`
[INFO] [stdout]    --> src/pow/types.rs:493:26
[INFO] [stdout]     |
[INFO] [stdout] 493 |             Proof::ProgPowProof { ref mix } => {
[INFO] [stdout]     |                                   ^^^^^^^ help: try ignoring the field: `mix: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `largest_allotment` is never used
[INFO] [stdout]    --> src/core/block/feijoada.rs:243:4
[INFO] [stdout]     |
[INFO] [stdout] 243 | fn largest_allotment(policy: &Policy) -> PoWType {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `check_policy` is never used
[INFO] [stdout]    --> src/core/block/feijoada.rs:248:4
[INFO] [stdout]     |
[INFO] [stdout] 248 | fn check_policy(policy: &Policy) {
[INFO] [stdout]     |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `transform_header` is never used
[INFO] [stdout]   --> src/pow/progpow.rs:34:4
[INFO] [stdout]    |
[INFO] [stdout] 34 | fn transform_header(header: &[u8]) -> [u8; 32] {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]    --> src/consensus.rs:175:1
[INFO] [stdout]     |
[INFO] [stdout] 175 | pub const FOUNDATION_LEVY: [u64; 9] = [888, 777, 666, 555, 444, 333, 222, 111, 111];
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] note: the lint level is defined here
[INFO] [stdout]    --> src/lib.rs:22:9
[INFO] [stdout]     |
[INFO] [stdout] 22  | #![warn(missing_docs)]
[INFO] [stdout]     |         ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/consensus.rs:542:1
[INFO] [stdout]     |
[INFO] [stdout] 542 | / pub fn next_policy<T>(policy: u8, cursor: T) -> (PoWType, Policy)
[INFO] [stdout] 543 | | where
[INFO] [stdout] 544 | |     T: IntoIterator<Item = Policy>,
[INFO] [stdout]     | |___________________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]   --> src/core.rs:18:1
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub mod block_fees;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]   --> src/core.rs:22:1
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub mod foundation;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]   --> src/core/block.rs:17:1
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub mod feijoada;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/core/block.rs:61:2
[INFO] [stdout]    |
[INFO] [stdout] 61 |     InvalidFoundationOutput,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]    --> src/core/block.rs:395:2
[INFO] [stdout]     |
[INFO] [stdout] 395 |     pub fn pre_pow_hash(&self) -> [u8; 32] {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]    --> src/core/block.rs:431:2
[INFO] [stdout]     |
[INFO] [stdout] 431 |     pub fn overage(&self) -> i64 {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]   --> src/core/block/feijoada.rs:50:1
[INFO] [stdout]    |
[INFO] [stdout] 50 | pub struct AllowPolicy {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/core/block/feijoada.rs:51:2
[INFO] [stdout]    |
[INFO] [stdout] 51 |     pub height: u64,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/core/block/feijoada.rs:52:2
[INFO] [stdout]    |
[INFO] [stdout] 52 |     pub value: u64,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a type alias
[INFO] [stdout]   --> src/core/block/feijoada.rs:55:1
[INFO] [stdout]    |
[INFO] [stdout] 55 | pub type AllowedPolicy = Vec<AllowPolicy>;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a trait
[INFO] [stdout]   --> src/core/block/feijoada.rs:57:1
[INFO] [stdout]    |
[INFO] [stdout] 57 | pub trait FuzzySearch {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/core/block/feijoada.rs:58:2
[INFO] [stdout]    |
[INFO] [stdout] 58 |     fn search(&self, height: u64) -> Option<u64>;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/core/block/feijoada.rs:81:2
[INFO] [stdout]    |
[INFO] [stdout] 81 |     pub allowed_policies: AllowedPolicy,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/core/block/feijoada.rs:82:2
[INFO] [stdout]    |
[INFO] [stdout] 82 |     pub policies: Vec<Policy>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/core/block/feijoada.rs:171:1
[INFO] [stdout]     |
[INFO] [stdout] 171 | pub fn get_bottles_default() -> Policy {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/core/block/feijoada.rs:184:1
[INFO] [stdout]     |
[INFO] [stdout] 184 | pub fn next_block_bottles(pow: PoWType, bottle: &Policy) -> Policy {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/core/block/feijoada.rs:195:1
[INFO] [stdout]     |
[INFO] [stdout] 195 | pub fn is_allowed_policy(allowed_policy: AllowedPolicy, height: u64, policy: u8) -> bool {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/core/block/feijoada.rs:252:1
[INFO] [stdout]     |
[INFO] [stdout] 252 | pub fn count_beans(bottles: &Policy) -> u32 {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a trait
[INFO] [stdout]    --> src/core/block/feijoada.rs:256:1
[INFO] [stdout]     |
[INFO] [stdout] 256 | pub trait Feijoada {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated function
[INFO] [stdout]    --> src/core/block/feijoada.rs:257:2
[INFO] [stdout]     |
[INFO] [stdout] 257 |     fn choose_algo(policy: &Policy, bottles: &Policy) -> PoWType;
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]    --> src/core/block/feijoada.rs:260:1
[INFO] [stdout]     |
[INFO] [stdout] 260 | pub struct Deterministic;
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]    --> src/global.rs:107:1
[INFO] [stdout]     |
[INFO] [stdout] 107 | pub const CURRENT_HEADER_VERSION: u16 = 6;
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]    --> src/global.rs:110:1
[INFO] [stdout]     |
[INFO] [stdout] 110 | pub const MAINNET_FOUNDATION_JSON_SHA256: &str =
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]    --> src/global.rs:117:1
[INFO] [stdout]     |
[INFO] [stdout] 117 | pub const FLOONET_FOUNDATION_JSON_SHA256: &str =
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/global.rs:193:1
[INFO] [stdout]     |
[INFO] [stdout] 193 | pub fn foundation_json_sha256() -> &'static str {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/global.rs:276:1
[INFO] [stdout]     |
[INFO] [stdout] 276 | pub fn add_allowed_policy(height: u64, value: u64) {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/global.rs:283:1
[INFO] [stdout]     |
[INFO] [stdout] 283 | pub fn get_allowed_policies() -> Vec<AllowPolicy> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/global.rs:288:1
[INFO] [stdout]     |
[INFO] [stdout] 288 | pub fn get_emitted_policy(height: u64) -> u8 {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/global.rs:305:1
[INFO] [stdout]     |
[INFO] [stdout] 305 | pub fn get_policies(index: u8) -> Option<Policy> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/global.rs:556:1
[INFO] [stdout]     |
[INFO] [stdout] 556 | / pub fn ts_data_to_vector<T>(cursor: T, needed_block_count: u64) -> Vec<HeaderInfo>
[INFO] [stdout] 557 | | where
[INFO] [stdout] 558 | |     T: IntoIterator<Item = HeaderInfo>,
[INFO] [stdout]     | |_______________________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/global.rs:610:1
[INFO] [stdout]     |
[INFO] [stdout] 610 | pub fn get_file_sha256(path: &str) -> String {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/libtx/reward.rs:28:1
[INFO] [stdout]    |
[INFO] [stdout] 28 | / pub fn output_foundation<K, B>(
[INFO] [stdout] 29 | |     keychain: &K,
[INFO] [stdout] 30 | |     builder: &B,
[INFO] [stdout] 31 | |     key_id: &Identifier,
[INFO] [stdout] ...  |
[INFO] [stdout] 36 | |     K: Keychain,
[INFO] [stdout] 37 | |     B: ProofBuild,
[INFO] [stdout]    | |__________________^
[INFO] [stdout]    |
[INFO] [stdout] note: the lint level is defined here
[INFO] [stdout]   --> src/libtx/mod.rs:22:9
[INFO] [stdout]    |
[INFO] [stdout] 22 | #![warn(missing_docs)]
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/libtx/reward.rs:151:1
[INFO] [stdout]     |
[INFO] [stdout] 151 | / pub fn output_foundation_proof<K>(
[INFO] [stdout] 152 | |     keychain: &K,
[INFO] [stdout] 153 | |     key_id: &Identifier,
[INFO] [stdout] 154 | |     test_mode: bool,
[INFO] [stdout] ...   |
[INFO] [stdout] 157 | | where
[INFO] [stdout] 158 | |     K: Keychain,
[INFO] [stdout]     | |________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]   --> src/pow.rs:42:1
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub mod progpow;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] note: the lint level is defined here
[INFO] [stdout]   --> src/pow.rs:29:9
[INFO] [stdout]    |
[INFO] [stdout] 29 | #![warn(missing_docs)]
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]   --> src/pow.rs:43:1
[INFO] [stdout]    |
[INFO] [stdout] 43 | pub mod randomx;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]  --> src/pow/md5.rs:8:1
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub struct MD5Context<T>
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/pow/md5.rs:13:2
[INFO] [stdout]    |
[INFO] [stdout] 13 |     pub edge_bits: u8,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/pow/md5.rs:14:2
[INFO] [stdout]    |
[INFO] [stdout] 14 |     pub proof_size: usize,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/pow/md5.rs:15:2
[INFO] [stdout]    |
[INFO] [stdout] 15 |     pub max_sols: u32,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/pow/md5.rs:20:1
[INFO] [stdout]    |
[INFO] [stdout] 20 | / pub fn new_md5_ctx<T>(
[INFO] [stdout] 21 | |     edge_bits: u8,
[INFO] [stdout] 22 | |     proof_size: usize,
[INFO] [stdout] 23 | |     max_sols: u32,
[INFO] [stdout] 24 | | ) -> Result<Box<dyn PoWContext<T>>, Error>
[INFO] [stdout] 25 | | where
[INFO] [stdout] 26 | |     T: EdgeType + 'static,
[INFO] [stdout]    | |__________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/pow/progpow.rs:22:1
[INFO] [stdout]    |
[INFO] [stdout] 22 | / pub fn new_progpow_ctx<T>() -> Result<Box<dyn PoWContext<T>>, Error>
[INFO] [stdout] 23 | |     where
[INFO] [stdout] 24 | |         T: EdgeType + 'static,
[INFO] [stdout]    | |______________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/pow/progpow.rs:47:1
[INFO] [stdout]    |
[INFO] [stdout] 47 | pub fn get_progpow_value(header: &[u8], height: u64, nonce: u64) -> [u8; 32] {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]   --> src/pow/progpow.rs:61:1
[INFO] [stdout]    |
[INFO] [stdout] 61 | pub struct ProgPowContext<T>
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/pow/progpow.rs:65:2
[INFO] [stdout]    |
[INFO] [stdout] 65 |     pub header: Vec<u8>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/pow/progpow.rs:66:2
[INFO] [stdout]    |
[INFO] [stdout] 66 |     pub nonce: u64,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/pow/progpow.rs:67:2
[INFO] [stdout]    |
[INFO] [stdout] 67 |     pub height: u64,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/pow/randomx.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub const SEEDHASH_EPOCH_BLOCKS: u64 = 1000;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/pow/randomx.rs:17:1
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub const SEEDHASH_EPOCH_LAG: u64 = 60;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/pow/randomx.rs:19:1
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub fn rx_epoch_start(epoch_height: u64) -> u64 {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/pow/randomx.rs:27:1
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub fn rx_epoch_end(epoch_height: u64) -> u64 {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/pow/randomx.rs:35:1
[INFO] [stdout]    |
[INFO] [stdout] 35 | pub fn rx_next_seed_height(height: u64) -> Option<u64> {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/pow/randomx.rs:49:1
[INFO] [stdout]    |
[INFO] [stdout] 49 | pub fn rx_current_seed_height(height: u64) -> u64 {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]   --> src/pow/randomx.rs:61:1
[INFO] [stdout]    |
[INFO] [stdout] 61 | pub struct RXContext<T>
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/pow/randomx.rs:65:2
[INFO] [stdout]    |
[INFO] [stdout] 65 |     pub seed: [u8; 32],
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/pow/randomx.rs:66:2
[INFO] [stdout]    |
[INFO] [stdout] 66 |     pub header: Vec<u8>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/pow/randomx.rs:67:2
[INFO] [stdout]    |
[INFO] [stdout] 67 |     pub nonce: u64,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/pow/randomx.rs:71:1
[INFO] [stdout]    |
[INFO] [stdout] 71 | / pub fn new_randomx_ctx<T>(seed: [u8; 32]) -> Result<Box<dyn PoWContext<T>>, Error>
[INFO] [stdout] 72 | |     where
[INFO] [stdout] 73 | |         T: EdgeType + 'static,
[INFO] [stdout]    | |______________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an enum
[INFO] [stdout]   --> src/pow/types.rs:45:1
[INFO] [stdout]    |
[INFO] [stdout] 45 | pub enum PoWType {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/pow/types.rs:46:2
[INFO] [stdout]    |
[INFO] [stdout] 46 |     Cuckaroo,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/pow/types.rs:47:2
[INFO] [stdout]    |
[INFO] [stdout] 47 |     Cuckatoo,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/pow/types.rs:48:2
[INFO] [stdout]    |
[INFO] [stdout] 48 |     RandomX,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/pow/types.rs:49:2
[INFO] [stdout]    |
[INFO] [stdout] 49 |     ProgPow,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/pow/types.rs:62:2
[INFO] [stdout]    |
[INFO] [stdout] 62 |     pub fn to_str(&self) -> String {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a trait
[INFO] [stdout]    --> src/pow/types.rs:124:1
[INFO] [stdout]     |
[INFO] [stdout] 124 | pub trait DifficultyNumberBasic {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated function
[INFO] [stdout]    --> src/pow/types.rs:125:2
[INFO] [stdout]     |
[INFO] [stdout] 125 |     fn number(v: u64) -> Self;
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a type alias
[INFO] [stdout]    --> src/pow/types.rs:128:1
[INFO] [stdout]     |
[INFO] [stdout] 128 | pub type DifficultyNumber = HashMap<PoWType, u64>;
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/pow/types.rs:146:2
[INFO] [stdout]     |
[INFO] [stdout] 146 |     pub num: DifficultyNumber,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated function
[INFO] [stdout]    --> src/pow/types.rs:180:2
[INFO] [stdout]     |
[INFO] [stdout] 180 |     pub fn from_dic_number(num: DifficultyNumber) -> Difficulty {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> src/pow/types.rs:554:2
[INFO] [stdout]     |
[INFO] [stdout] 554 |     MD5Proof {
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/pow/types.rs:555:3
[INFO] [stdout]     |
[INFO] [stdout] 555 |         proof: String,
[INFO] [stdout]     |         ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/pow/types.rs:556:3
[INFO] [stdout]     |
[INFO] [stdout] 556 |         edge_bits: u8,
[INFO] [stdout]     |         ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> src/pow/types.rs:559:2
[INFO] [stdout]     |
[INFO] [stdout] 559 |     RandomXProof {
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/pow/types.rs:560:3
[INFO] [stdout]     |
[INFO] [stdout] 560 |         hash: [u8; 32],
[INFO] [stdout]     |         ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> src/pow/types.rs:563:2
[INFO] [stdout]     |
[INFO] [stdout] 563 |     ProgPowProof {
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/pow/types.rs:564:3
[INFO] [stdout]     |
[INFO] [stdout] 564 |         mix: [u8; 32],
[INFO] [stdout]     |         ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 168 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished dev [unoptimized + debuginfo] target(s) in 46.32s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: bigint v4.4.3, grin_secp256k1zkp v0.7.12, nom v3.2.1, stack_test_epic_core v3.0.3 (/opt/rustwide/workdir), traitobject v0.1.0
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 1`
[INFO] running `Command { std: "docker" "inspect" "d2b9ac4a1aa20e94ba21c9274ee3743900084d2220f21fe3cb33b2f4ebeaf663", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "d2b9ac4a1aa20e94ba21c9274ee3743900084d2220f21fe3cb33b2f4ebeaf663", kill_on_drop: false }`
[INFO] [stdout] d2b9ac4a1aa20e94ba21c9274ee3743900084d2220f21fe3cb33b2f4ebeaf663
[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=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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+1.75.0" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 5dd95aedeccb1743e92c0153d547139ebe72baf90f2f990effca6297ce5706c0
[INFO] running `Command { std: "docker" "start" "-a" "5dd95aedeccb1743e92c0153d547139ebe72baf90f2f990effca6297ce5706c0", kill_on_drop: false }`
[INFO] [stdout] warning: unused import: `DifficultyNumber`
[INFO] [stdout]   --> src/consensus.rs:27:30
[INFO] [stdout]    |
[INFO] [stdout] 27 | use crate::pow::{Difficulty, DifficultyNumber, PoWType};
[INFO] [stdout]    |                              ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]   --> src/consensus.rs:29:5
[INFO] [stdout]    |
[INFO] [stdout] 29 | use std::collections::HashMap;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused macro definition: `error_invalid_pow`
[INFO] [stdout]    --> src/consensus.rs:560:14
[INFO] [stdout]     |
[INFO] [stdout] 560 | macro_rules! error_invalid_pow {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_macros)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::util::RwLock`
[INFO] [stdout]   --> src/core/block.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | use crate::util::RwLock;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]   --> src/core/block.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 24 | use std::collections::HashMap;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]   --> src/core/block.rs:29:5
[INFO] [stdout]    |
[INFO] [stdout] 29 | use std::sync::Arc;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `reward`
[INFO] [stdout]   --> src/core/block.rs:32:53
[INFO] [stdout]    |
[INFO] [stdout] 32 |     self, add_reward_foundation, is_foundation_height, reward, reward_at_height, reward_foundation,
[INFO] [stdout]    |                                                        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/macros.rs:78:9
[INFO] [stdout]     |
[INFO] [stdout] 78  |     ( $(r#try!($rdr.$read_call($($val),*))),* )
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/core/block.rs:309:28
[INFO] [stdout]     |
[INFO] [stdout] 309 |     let (height, timestamp) = ser_multiread!(reader, read_u64, read_i64);
[INFO] [stdout]     |                               ------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout]     = note: this warning originates in the macro `ser_multiread` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/macros.rs:78:9
[INFO] [stdout]     |
[INFO] [stdout] 78  |     ( $(r#try!($rdr.$read_call($($val),*))),* )
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/core/block.rs:316:43
[INFO] [stdout]     |
[INFO] [stdout] 316 |     let (output_mmr_size, kernel_mmr_size) = ser_multiread!(reader, read_u64, read_u64);
[INFO] [stdout]     |                                              ------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `ser_multiread` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/macros.rs:92:8
[INFO] [stdout]     |
[INFO] [stdout] 92  |       $( r#try!($wrtr.$write_call($val)) );*
[INFO] [stdout]     |          ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/core/block.rs:363:3
[INFO] [stdout]     |
[INFO] [stdout] 363 | /         ser_multiwrite!(
[INFO] [stdout] 364 | |             writer,
[INFO] [stdout] 365 | |             [write_u64, self.height],
[INFO] [stdout] 366 | |             [write_i64, self.timestamp.timestamp()],
[INFO] [stdout] ...   |
[INFO] [stdout] 374 | |             [write_u64, self.kernel_mmr_size]
[INFO] [stdout] 375 | |         );
[INFO] [stdout]     | |_________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `ser_multiwrite` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/macros.rs:23:48
[INFO] [stdout]     |
[INFO] [stdout] 23  |         $thing.iter().map($mapfn).collect::<Vec<_>>();
[INFO] [stdout]     |                                                      ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/core/block.rs:908:21
[INFO] [stdout]     |
[INFO] [stdout] 908 |                 secp.commit_sum(map_vec!(cb_outs, |x| x.commitment()), vec![over_commit])?;
[INFO] [stdout]     |                                 ------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: `#[warn(semicolon_in_expressions_from_macros)]` on by default
[INFO] [stdout]     = note: this warning originates in the macro `map_vec` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> src/core/committed.rs:128:14
[INFO] [stdout]     |
[INFO] [stdout] 128 |     ) -> Result<((Commitment, Commitment)), Error> {
[INFO] [stdout]     |                 ^                        ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 128 -     ) -> Result<((Commitment, Commitment)), Error> {
[INFO] [stdout] 128 +     ) -> Result<(Commitment, Commitment), Error> {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]   --> src/macros.rs:78:9
[INFO] [stdout]    |
[INFO] [stdout] 78 |     ( $(r#try!($rdr.$read_call($($val),*))),* )
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/core/compact_block.rs:87:4
[INFO] [stdout]    |
[INFO] [stdout] 87 |             ser_multiread!(reader, read_u64, read_u64, read_u64);
[INFO] [stdout]    |             ---------------------------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `ser_multiread` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/macros.rs:92:8
[INFO] [stdout]     |
[INFO] [stdout] 92  |       $( r#try!($wrtr.$write_call($val)) );*
[INFO] [stdout]     |          ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/core/compact_block.rs:103:3
[INFO] [stdout]     |
[INFO] [stdout] 103 | /         ser_multiwrite!(
[INFO] [stdout] 104 | |             writer,
[INFO] [stdout] 105 | |             [write_u64, self.out_full.len() as u64],
[INFO] [stdout] 106 | |             [write_u64, self.kern_full.len() as u64],
[INFO] [stdout] 107 | |             [write_u64, self.kern_ids.len() as u64]
[INFO] [stdout] 108 | |         );
[INFO] [stdout]     | |_________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `ser_multiwrite` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `first_fork_height`, `foundation_height`
[INFO] [stdout]  --> src/core/foundation.rs:1:24
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::consensus::{first_fork_height, foundation_height, foundation_index, header_version};
[INFO] [stdout]   |                        ^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/core/id.rs:77:1
[INFO] [stdout]    |
[INFO] [stdout] 77 | / /// We want to sort short_ids in a canonical and consistent manner so we can
[INFO] [stdout] 78 | | /// verify sort order in the same way we do for full inputs|outputs|kernels
[INFO] [stdout] 79 | | /// themselves.
[INFO] [stdout]    | |_--------------^
[INFO] [stdout]    |   |
[INFO] [stdout]    |   rustdoc does not generate documentation for macro invocations
[INFO] [stdout]    |
[INFO] [stdout]    = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout]    = note: `#[warn(unused_doc_comments)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]   --> src/core/transaction.rs:30:5
[INFO] [stdout]    |
[INFO] [stdout] 30 | use std::sync::Arc;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `util::RwLock`
[INFO] [stdout]   --> src/core/transaction.rs:36:5
[INFO] [stdout]    |
[INFO] [stdout] 36 | use util::RwLock;
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/macros.rs:92:8
[INFO] [stdout]     |
[INFO] [stdout] 92  |       $( r#try!($wrtr.$write_call($val)) );*
[INFO] [stdout]     |          ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/core/transaction.rs:518:3
[INFO] [stdout]     |
[INFO] [stdout] 518 | /         ser_multiwrite!(
[INFO] [stdout] 519 | |             writer,
[INFO] [stdout] 520 | |             [write_u64, self.inputs.len() as u64],
[INFO] [stdout] 521 | |             [write_u64, self.outputs.len() as u64],
[INFO] [stdout] 522 | |             [write_u64, self.kernels.len() as u64]
[INFO] [stdout] 523 | |         );
[INFO] [stdout]     | |_________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `ser_multiwrite` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/macros.rs:78:9
[INFO] [stdout]     |
[INFO] [stdout] 78  |     ( $(r#try!($rdr.$read_call($($val),*))),* )
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/core/transaction.rs:538:4
[INFO] [stdout]     |
[INFO] [stdout] 538 |             ser_multiread!(reader, read_u64, read_u64, read_u64);
[INFO] [stdout]     |             ---------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `ser_multiread` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::util`
[INFO] [stdout]   --> src/genesis.rs:27:5
[INFO] [stdout]    |
[INFO] [stdout] 27 | use crate::util;
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::util::secp::constants::SINGLE_BULLET_PROOF_SIZE`
[INFO] [stdout]   --> src/genesis.rs:28:5
[INFO] [stdout]    |
[INFO] [stdout] 28 | use crate::util::secp::constants::SINGLE_BULLET_PROOF_SIZE;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Commitment`, `RangeProof`
[INFO] [stdout]   --> src/genesis.rs:29:35
[INFO] [stdout]    |
[INFO] [stdout] 29 | use crate::util::secp::pedersen::{Commitment, RangeProof};
[INFO] [stdout]    |                                   ^^^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::util::secp::Signature`
[INFO] [stdout]   --> src/genesis.rs:30:5
[INFO] [stdout]    |
[INFO] [stdout] 30 | use crate::util::secp::Signature;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `DIFFICULTY_ADJUST_WINDOW`
[INFO] [stdout]   --> src/global.rs:23:37
[INFO] [stdout]    |
[INFO] [stdout] 23 |     DAY_HEIGHT, DEFAULT_MIN_EDGE_BITS, DIFFICULTY_ADJUST_WINDOW, INITIAL_DIFFICULTY,
[INFO] [stdout]    |                                        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `new_cuckaroo_ctx`
[INFO] [stdout]   --> src/global.rs:27:24
[INFO] [stdout]    |
[INFO] [stdout] 27 | use crate::pow::{self, new_cuckaroo_ctx, new_cuckatoo_ctx, EdgeType, PoWContext};
[INFO] [stdout]    |                        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]   --> src/global.rs:34:5
[INFO] [stdout]    |
[INFO] [stdout] 34 | use std::collections::HashMap;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/global.rs:290:5
[INFO] [stdout]     |
[INFO] [stdout] 290 |     if (height <= consensus::BLOCK_ERA_1) {
[INFO] [stdout]     |        ^                                ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 290 -     if (height <= consensus::BLOCK_ERA_1) {
[INFO] [stdout] 290 +     if height <= consensus::BLOCK_ERA_1 {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/global.rs:292:12
[INFO] [stdout]     |
[INFO] [stdout] 292 |     } else if (height <= consensus::BLOCK_ERA_2) {
[INFO] [stdout]     |               ^                                ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 292 -     } else if (height <= consensus::BLOCK_ERA_2) {
[INFO] [stdout] 292 +     } else if height <= consensus::BLOCK_ERA_2 {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/global.rs:294:12
[INFO] [stdout]     |
[INFO] [stdout] 294 |     } else if (height <= consensus::BLOCK_ERA_3) {
[INFO] [stdout]     |               ^                                ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 294 -     } else if (height <= consensus::BLOCK_ERA_3) {
[INFO] [stdout] 294 +     } else if height <= consensus::BLOCK_ERA_3 {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/global.rs:296:12
[INFO] [stdout]     |
[INFO] [stdout] 296 |     } else if (height <= consensus::BLOCK_ERA_4) {
[INFO] [stdout]     |               ^                                ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 296 -     } else if (height <= consensus::BLOCK_ERA_4) {
[INFO] [stdout] 296 +     } else if height <= consensus::BLOCK_ERA_4 {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/global.rs:298:12
[INFO] [stdout]     |
[INFO] [stdout] 298 |     } else if (height <= consensus::BLOCK_ERA_5) {
[INFO] [stdout]     |               ^                                ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 298 -     } else if (height <= consensus::BLOCK_ERA_5) {
[INFO] [stdout] 298 +     } else if height <= consensus::BLOCK_ERA_5 {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::global`
[INFO] [stdout]   --> src/pow/cuckaroo.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 26 | use crate::global;
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::global`
[INFO] [stdout]   --> src/pow/cuckatoo.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 20 | use crate::global;
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/macros.rs:23:48
[INFO] [stdout]     |
[INFO] [stdout] 23  |         $thing.iter().map($mapfn).collect::<Vec<_>>();
[INFO] [stdout]     |                                                      ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/pow/cuckatoo.rs:274:15
[INFO] [stdout]     |
[INFO] [stdout] 274 |                 *nonces = map_vec!(nonces, |n| val[*n as usize]);
[INFO] [stdout]     |                           -------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `map_vec` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Link`
[INFO] [stdout]  --> src/pow/md5.rs:2:36
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::pow::common::{EdgeType, Link};
[INFO] [stdout]   |                                    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::util`
[INFO] [stdout]  --> src/pow/md5.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::util;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::core::block::BlockHeader`
[INFO] [stdout]  --> src/pow/progpow.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::core::block::BlockHeader;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ErrorKind`
[INFO] [stdout]  --> src/pow/progpow.rs:7:32
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::pow::error::{Error, ErrorKind};
[INFO] [stdout]   |                                ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::util::RwLock`
[INFO] [stdout]  --> src/pow/progpow.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use crate::util::RwLock;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `bigint::uint::U256`
[INFO] [stdout]   --> src/pow/progpow.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | use bigint::uint::U256;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ErrorKind`
[INFO] [stdout]  --> src/pow/randomx.rs:6:32
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::pow::error::{Error, ErrorKind};
[INFO] [stdout]   |                                ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::util::RwLock`
[INFO] [stdout]  --> src/pow/randomx.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::util::RwLock;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `FixedLength`
[INFO] [stdout]   --> src/pow/types.rs:32:24
[INFO] [stdout]    |
[INFO] [stdout] 32 | use crate::ser::{self, FixedLength, Readable, Reader, Writeable, Writer};
[INFO] [stdout]    |                        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::core::hash::Hash`
[INFO] [stdout]   --> src/pow/types.rs:34:5
[INFO] [stdout]    |
[INFO] [stdout] 34 | use crate::core::hash::Hash;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `chrono::naive::MAX_DATE`: Use NaiveDate::MAX instead
[INFO] [stdout]   --> src/core/block.rs:20:21
[INFO] [stdout]    |
[INFO] [stdout] 20 | use chrono::naive::{MAX_DATE, MIN_DATE};
[INFO] [stdout]    |                     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `chrono::naive::MIN_DATE`: Use NaiveDate::MIN instead
[INFO] [stdout]   --> src/core/block.rs:20:31
[INFO] [stdout]    |
[INFO] [stdout] 20 | use chrono::naive::{MAX_DATE, MIN_DATE};
[INFO] [stdout]    |                               ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `chrono::naive::MAX_DATE`: Use NaiveDate::MAX instead
[INFO] [stdout]    --> src/core/block.rs:321:17
[INFO] [stdout]     |
[INFO] [stdout] 321 |     if timestamp > MAX_DATE.and_hms(0, 0, 0).timestamp()
[INFO] [stdout]     |                    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `chrono::naive::MIN_DATE`: Use NaiveDate::MIN instead
[INFO] [stdout]    --> src/core/block.rs:322:18
[INFO] [stdout]     |
[INFO] [stdout] 322 |         || timestamp < MIN_DATE.and_hms(0, 0, 0).timestamp()
[INFO] [stdout]     |                        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/core/block.rs:137:23
[INFO] [stdout]     |
[INFO] [stdout] 137 |     fn read(reader: &mut Reader) -> Result<HeaderEntry, ser::Error> {
[INFO] [stdout]     |                          ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 137 |     fn read(reader: &mut dyn Reader) -> Result<HeaderEntry, ser::Error> {
[INFO] [stdout]     |                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/core/pmmr/backend.rs:56:33
[INFO] [stdout]    |
[INFO] [stdout] 56 |     fn leaf_pos_iter(&self) -> Box<Iterator<Item = u64> + '_>;
[INFO] [stdout]    |                                    ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 56 |     fn leaf_pos_iter(&self) -> Box<dyn Iterator<Item = u64> + '_>;
[INFO] [stdout]    |                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/core/pmmr/rewindable_pmmr.rs:53:31
[INFO] [stdout]    |
[INFO] [stdout] 53 |     pub fn backend(&'a self) -> &Backend<T> {
[INFO] [stdout]    |                                  ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 53 |     pub fn backend(&'a self) -> &dyn Backend<T> {
[INFO] [stdout]    |                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `chrono::DateTime::<Tz>::from_utc`: Use TimeZone::from_utc_datetime() or DateTime::from_naive_utc_and_offset instead
[INFO] [stdout]    --> src/core/block.rs:257:32
[INFO] [stdout]     |
[INFO] [stdout] 257 |             timestamp: DateTime::<Utc>::from_utc(NaiveDateTime::from_timestamp(0, 0), Utc),
[INFO] [stdout]     |                                         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `chrono::NaiveDateTime::from_timestamp`: use `from_timestamp_opt()` instead
[INFO] [stdout]    --> src/core/block.rs:257:56
[INFO] [stdout]     |
[INFO] [stdout] 257 |             timestamp: DateTime::<Utc>::from_utc(NaiveDateTime::from_timestamp(0, 0), Utc),
[INFO] [stdout]     |                                                                 ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `chrono::NaiveDate::and_hms`: use `and_hms_opt()` instead
[INFO] [stdout]    --> src/core/block.rs:321:26
[INFO] [stdout]     |
[INFO] [stdout] 321 |     if timestamp > MAX_DATE.and_hms(0, 0, 0).timestamp()
[INFO] [stdout]     |                             ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `chrono::NaiveDate::and_hms`: use `and_hms_opt()` instead
[INFO] [stdout]    --> src/core/block.rs:322:27
[INFO] [stdout]     |
[INFO] [stdout] 322 |         || timestamp < MIN_DATE.and_hms(0, 0, 0).timestamp()
[INFO] [stdout]     |                                 ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `chrono::DateTime::<Tz>::from_utc`: Use TimeZone::from_utc_datetime() or DateTime::from_naive_utc_and_offset instead
[INFO] [stdout]    --> src/core/block.rs:338:31
[INFO] [stdout]     |
[INFO] [stdout] 338 |         timestamp: DateTime::<Utc>::from_utc(NaiveDateTime::from_timestamp(timestamp, 0), Utc),
[INFO] [stdout]     |                                     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `chrono::NaiveDateTime::from_timestamp`: use `from_timestamp_opt()` instead
[INFO] [stdout]    --> src/core/block.rs:338:55
[INFO] [stdout]     |
[INFO] [stdout] 338 |         timestamp: DateTime::<Utc>::from_utc(NaiveDateTime::from_timestamp(timestamp, 0), Utc),
[INFO] [stdout]     |                                                             ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `chrono::DateTime::<Tz>::from_utc`: Use TimeZone::from_utc_datetime() or DateTime::from_naive_utc_and_offset instead
[INFO] [stdout]    --> src/core/block.rs:676:36
[INFO] [stdout]     |
[INFO] [stdout] 676 |         let timestamp = DateTime::<Utc>::from_utc(NaiveDateTime::from_timestamp(now, 0), Utc);
[INFO] [stdout]     |                                          ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `chrono::NaiveDateTime::from_timestamp`: use `from_timestamp_opt()` instead
[INFO] [stdout]    --> src/core/block.rs:676:60
[INFO] [stdout]     |
[INFO] [stdout] 676 |         let timestamp = DateTime::<Utc>::from_utc(NaiveDateTime::from_timestamp(now, 0), Utc);
[INFO] [stdout]     |                                                                  ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `chrono::DateTime::<Tz>::from_utc`: Use TimeZone::from_utc_datetime() or DateTime::from_naive_utc_and_offset instead
[INFO] [stdout]    --> src/core/block.rs:725:36
[INFO] [stdout]     |
[INFO] [stdout] 725 |         let timestamp = DateTime::<Utc>::from_utc(NaiveDateTime::from_timestamp(now, 0), Utc);
[INFO] [stdout]     |                                          ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `chrono::NaiveDateTime::from_timestamp`: use `from_timestamp_opt()` instead
[INFO] [stdout]    --> src/core/block.rs:725:60
[INFO] [stdout]     |
[INFO] [stdout] 725 |         let timestamp = DateTime::<Utc>::from_utc(NaiveDateTime::from_timestamp(now, 0), Utc);
[INFO] [stdout]     |                                                                  ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/core/foundation.rs:50:68
[INFO] [stdout]    |
[INFO] [stdout] 50 |         Err(why) => panic!("Couldn't create {}: {}", path.display(), why.description()),
[INFO] [stdout]    |                                                                          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `chrono::TimeZone::ymd`: use `with_ymd_and_hms()` instead
[INFO] [stdout]   --> src/genesis.rs:43:18
[INFO] [stdout]    |
[INFO] [stdout] 43 |         timestamp: Utc.ymd(1997, 8, 4).and_hms(0, 0, 0),
[INFO] [stdout]    |                        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `chrono::Date::<Tz>::and_hms`: Use and_hms_opt() instead
[INFO] [stdout]   --> src/genesis.rs:43:34
[INFO] [stdout]    |
[INFO] [stdout] 43 |         timestamp: Utc.ymd(1997, 8, 4).and_hms(0, 0, 0),
[INFO] [stdout]    |                                        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `chrono::TimeZone::ymd`: use `with_ymd_and_hms()` instead
[INFO] [stdout]   --> src/genesis.rs:68:18
[INFO] [stdout]    |
[INFO] [stdout] 68 |         timestamp: Utc.ymd(2019, 8, 9).and_hms(17, 04, 38),
[INFO] [stdout]    |                        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `chrono::Date::<Tz>::and_hms`: Use and_hms_opt() instead
[INFO] [stdout]   --> src/genesis.rs:68:34
[INFO] [stdout]    |
[INFO] [stdout] 68 |         timestamp: Utc.ymd(2019, 8, 9).and_hms(17, 04, 38),
[INFO] [stdout]    |                                        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `chrono::TimeZone::ymd`: use `with_ymd_and_hms()` instead
[INFO] [stdout]    --> src/genesis.rs:129:18
[INFO] [stdout]     |
[INFO] [stdout] 129 |         timestamp: Utc.ymd(2019, 8, 9).and_hms(17, 04, 38),
[INFO] [stdout]     |                        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `chrono::Date::<Tz>::and_hms`: Use and_hms_opt() instead
[INFO] [stdout]    --> src/genesis.rs:129:34
[INFO] [stdout]     |
[INFO] [stdout] 129 |         timestamp: Utc.ymd(2019, 8, 9).and_hms(17, 04, 38),
[INFO] [stdout]     |                                        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `chrono::DateTime::<Tz>::from_utc`: Use TimeZone::from_utc_datetime() or DateTime::from_naive_utc_and_offset instead
[INFO] [stdout]    --> src/pow.rs:147:36
[INFO] [stdout]     |
[INFO] [stdout] 147 |             bh.timestamp = DateTime::<Utc>::from_utc(NaiveDateTime::from_timestamp(0, 0), Utc);
[INFO] [stdout]     |                                             ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `chrono::NaiveDateTime::from_timestamp`: use `from_timestamp_opt()` instead
[INFO] [stdout]    --> src/pow.rs:147:60
[INFO] [stdout]     |
[INFO] [stdout] 147 |             bh.timestamp = DateTime::<Utc>::from_utc(NaiveDateTime::from_timestamp(0, 0), Utc);
[INFO] [stdout]     |                                                                     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `height`
[INFO] [stdout]    --> src/consensus.rs:626:27
[INFO] [stdout]     |
[INFO] [stdout] 626 | fn next_cuckoo_difficulty(height: u64, pow: PoWType, diff_data: &Vec<HeaderInfo>) -> u64 {
[INFO] [stdout]     |                           ^^^^^^ help: if this is intentional, prefix it with an underscore: `_height`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `version`
[INFO] [stdout]   --> src/core/foundation.rs:63:41
[INFO] [stdout]    |
[INFO] [stdout] 63 | fn get_foundation_tx_offset(index: u64, version: HeaderVersion) -> u64 {
[INFO] [stdout]    |                                         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_version`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `policy_config`
[INFO] [stdout]    --> src/global.rs:289:6
[INFO] [stdout]     |
[INFO] [stdout] 289 |     let policy_config = POLICY_CONFIG.read();
[INFO] [stdout]     |         ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_policy_config`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `height`
[INFO] [stdout]   --> src/pow/cuckaroo.rs:62:3
[INFO] [stdout]    |
[INFO] [stdout] 62 |         height: Option<u64>,
[INFO] [stdout]    |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_height`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling stack_test_epic_core v3.0.3 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused variable: `height`
[INFO] [stdout]    --> src/pow/cuckatoo.rs:193:3
[INFO] [stdout]     |
[INFO] [stdout] 193 |         height: Option<u64>,
[INFO] [stdout]     |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_height`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `height`
[INFO] [stdout]   --> src/pow/md5.rs:46:3
[INFO] [stdout]    |
[INFO] [stdout] 46 |         height: Option<u64>,
[INFO] [stdout]    |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_height`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `header`
[INFO] [stdout]   --> src/pow/progpow.rs:47:26
[INFO] [stdout]    |
[INFO] [stdout] 47 | pub fn get_progpow_value(header: &[u8], height: u64, nonce: u64) -> [u8; 32] {
[INFO] [stdout]    |                          ^^^^^^ help: if this is intentional, prefix it with an underscore: `_header`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `height`
[INFO] [stdout]   --> src/pow/progpow.rs:47:41
[INFO] [stdout]    |
[INFO] [stdout] 47 | pub fn get_progpow_value(header: &[u8], height: u64, nonce: u64) -> [u8; 32] {
[INFO] [stdout]    |                                         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_height`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `nonce`
[INFO] [stdout]   --> src/pow/progpow.rs:47:54
[INFO] [stdout]    |
[INFO] [stdout] 47 | pub fn get_progpow_value(header: &[u8], height: u64, nonce: u64) -> [u8; 32] {
[INFO] [stdout]    |                                                      ^^^^^ help: if this is intentional, prefix it with an underscore: `_nonce`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `proof`
[INFO] [stdout]    --> src/pow/progpow.rs:102:23
[INFO] [stdout]     |
[INFO] [stdout] 102 |     fn verify(&mut self, proof: &Proof) -> Result<(), Error> {
[INFO] [stdout]     |                          ^^^^^ help: if this is intentional, prefix it with an underscore: `_proof`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `height`
[INFO] [stdout]   --> src/pow/randomx.rs:91:3
[INFO] [stdout]    |
[INFO] [stdout] 91 |         height: Option<u64>,
[INFO] [stdout]    |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_height`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `proof`
[INFO] [stdout]    --> src/pow/randomx.rs:109:23
[INFO] [stdout]     |
[INFO] [stdout] 109 |     fn verify(&mut self, proof: &Proof) -> Result<(), Error> {
[INFO] [stdout]     |                          ^^^^^ help: if this is intentional, prefix it with an underscore: `_proof`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]    --> src/pow/types.rs:235:46
[INFO] [stdout]     |
[INFO] [stdout] 235 |         let self_sum: u128 = self.num.iter().map(|(x, y)| *y as u128).sum();
[INFO] [stdout]     |                                                    ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]    --> src/pow/types.rs:237:48
[INFO] [stdout]     |
[INFO] [stdout] 237 |         let other_sum: u128 = other.num.iter().map(|(x, y)| *y as u128).sum();
[INFO] [stdout]     |                                                      ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]    --> src/pow/types.rs:245:46
[INFO] [stdout]     |
[INFO] [stdout] 245 |         let self_sum: u128 = self.num.iter().map(|(x, y)| *y as u128).sum();
[INFO] [stdout]     |                                                    ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]    --> src/pow/types.rs:247:48
[INFO] [stdout]     |
[INFO] [stdout] 247 |         let other_sum: u128 = other.num.iter().map(|(x, y)| *y as u128).sum();
[INFO] [stdout]     |                                                      ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `mix`
[INFO] [stdout]    --> src/pow/types.rs:493:26
[INFO] [stdout]     |
[INFO] [stdout] 493 |             Proof::ProgPowProof { ref mix } => {
[INFO] [stdout]     |                                   ^^^^^^^ help: try ignoring the field: `mix: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `largest_allotment` is never used
[INFO] [stdout]    --> src/core/block/feijoada.rs:243:4
[INFO] [stdout]     |
[INFO] [stdout] 243 | fn largest_allotment(policy: &Policy) -> PoWType {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `check_policy` is never used
[INFO] [stdout]    --> src/core/block/feijoada.rs:248:4
[INFO] [stdout]     |
[INFO] [stdout] 248 | fn check_policy(policy: &Policy) {
[INFO] [stdout]     |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `transform_header` is never used
[INFO] [stdout]   --> src/pow/progpow.rs:34:4
[INFO] [stdout]    |
[INFO] [stdout] 34 | fn transform_header(header: &[u8]) -> [u8; 32] {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]    --> src/consensus.rs:175:1
[INFO] [stdout]     |
[INFO] [stdout] 175 | pub const FOUNDATION_LEVY: [u64; 9] = [888, 777, 666, 555, 444, 333, 222, 111, 111];
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] note: the lint level is defined here
[INFO] [stdout]    --> src/lib.rs:22:9
[INFO] [stdout]     |
[INFO] [stdout] 22  | #![warn(missing_docs)]
[INFO] [stdout]     |         ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/consensus.rs:542:1
[INFO] [stdout]     |
[INFO] [stdout] 542 | / pub fn next_policy<T>(policy: u8, cursor: T) -> (PoWType, Policy)
[INFO] [stdout] 543 | | where
[INFO] [stdout] 544 | |     T: IntoIterator<Item = Policy>,
[INFO] [stdout]     | |___________________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]   --> src/core.rs:18:1
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub mod block_fees;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]   --> src/core.rs:22:1
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub mod foundation;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]   --> src/core/block.rs:17:1
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub mod feijoada;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/core/block.rs:61:2
[INFO] [stdout]    |
[INFO] [stdout] 61 |     InvalidFoundationOutput,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]    --> src/core/block.rs:395:2
[INFO] [stdout]     |
[INFO] [stdout] 395 |     pub fn pre_pow_hash(&self) -> [u8; 32] {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]    --> src/core/block.rs:431:2
[INFO] [stdout]     |
[INFO] [stdout] 431 |     pub fn overage(&self) -> i64 {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]   --> src/core/block/feijoada.rs:50:1
[INFO] [stdout]    |
[INFO] [stdout] 50 | pub struct AllowPolicy {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/core/block/feijoada.rs:51:2
[INFO] [stdout]    |
[INFO] [stdout] 51 |     pub height: u64,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/core/block/feijoada.rs:52:2
[INFO] [stdout]    |
[INFO] [stdout] 52 |     pub value: u64,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a type alias
[INFO] [stdout]   --> src/core/block/feijoada.rs:55:1
[INFO] [stdout]    |
[INFO] [stdout] 55 | pub type AllowedPolicy = Vec<AllowPolicy>;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a trait
[INFO] [stdout]   --> src/core/block/feijoada.rs:57:1
[INFO] [stdout]    |
[INFO] [stdout] 57 | pub trait FuzzySearch {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/core/block/feijoada.rs:58:2
[INFO] [stdout]    |
[INFO] [stdout] 58 |     fn search(&self, height: u64) -> Option<u64>;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/core/block/feijoada.rs:81:2
[INFO] [stdout]    |
[INFO] [stdout] 81 |     pub allowed_policies: AllowedPolicy,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/core/block/feijoada.rs:82:2
[INFO] [stdout]    |
[INFO] [stdout] 82 |     pub policies: Vec<Policy>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/core/block/feijoada.rs:171:1
[INFO] [stdout]     |
[INFO] [stdout] 171 | pub fn get_bottles_default() -> Policy {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/core/block/feijoada.rs:184:1
[INFO] [stdout]     |
[INFO] [stdout] 184 | pub fn next_block_bottles(pow: PoWType, bottle: &Policy) -> Policy {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/core/block/feijoada.rs:195:1
[INFO] [stdout]     |
[INFO] [stdout] 195 | pub fn is_allowed_policy(allowed_policy: AllowedPolicy, height: u64, policy: u8) -> bool {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/core/block/feijoada.rs:252:1
[INFO] [stdout]     |
[INFO] [stdout] 252 | pub fn count_beans(bottles: &Policy) -> u32 {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a trait
[INFO] [stdout]    --> src/core/block/feijoada.rs:256:1
[INFO] [stdout]     |
[INFO] [stdout] 256 | pub trait Feijoada {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated function
[INFO] [stdout]    --> src/core/block/feijoada.rs:257:2
[INFO] [stdout]     |
[INFO] [stdout] 257 |     fn choose_algo(policy: &Policy, bottles: &Policy) -> PoWType;
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]    --> src/core/block/feijoada.rs:260:1
[INFO] [stdout]     |
[INFO] [stdout] 260 | pub struct Deterministic;
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]    --> src/global.rs:107:1
[INFO] [stdout]     |
[INFO] [stdout] 107 | pub const CURRENT_HEADER_VERSION: u16 = 6;
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]    --> src/global.rs:110:1
[INFO] [stdout]     |
[INFO] [stdout] 110 | pub const MAINNET_FOUNDATION_JSON_SHA256: &str =
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]    --> src/global.rs:117:1
[INFO] [stdout]     |
[INFO] [stdout] 117 | pub const FLOONET_FOUNDATION_JSON_SHA256: &str =
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/global.rs:193:1
[INFO] [stdout]     |
[INFO] [stdout] 193 | pub fn foundation_json_sha256() -> &'static str {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/global.rs:276:1
[INFO] [stdout]     |
[INFO] [stdout] 276 | pub fn add_allowed_policy(height: u64, value: u64) {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/global.rs:283:1
[INFO] [stdout]     |
[INFO] [stdout] 283 | pub fn get_allowed_policies() -> Vec<AllowPolicy> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/global.rs:288:1
[INFO] [stdout]     |
[INFO] [stdout] 288 | pub fn get_emitted_policy(height: u64) -> u8 {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/global.rs:305:1
[INFO] [stdout]     |
[INFO] [stdout] 305 | pub fn get_policies(index: u8) -> Option<Policy> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/global.rs:556:1
[INFO] [stdout]     |
[INFO] [stdout] 556 | / pub fn ts_data_to_vector<T>(cursor: T, needed_block_count: u64) -> Vec<HeaderInfo>
[INFO] [stdout] 557 | | where
[INFO] [stdout] 558 | |     T: IntoIterator<Item = HeaderInfo>,
[INFO] [stdout]     | |_______________________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/global.rs:610:1
[INFO] [stdout]     |
[INFO] [stdout] 610 | pub fn get_file_sha256(path: &str) -> String {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/libtx/reward.rs:28:1
[INFO] [stdout]    |
[INFO] [stdout] 28 | / pub fn output_foundation<K, B>(
[INFO] [stdout] 29 | |     keychain: &K,
[INFO] [stdout] 30 | |     builder: &B,
[INFO] [stdout] 31 | |     key_id: &Identifier,
[INFO] [stdout] ...  |
[INFO] [stdout] 36 | |     K: Keychain,
[INFO] [stdout] 37 | |     B: ProofBuild,
[INFO] [stdout]    | |__________________^
[INFO] [stdout]    |
[INFO] [stdout] note: the lint level is defined here
[INFO] [stdout]   --> src/libtx/mod.rs:22:9
[INFO] [stdout]    |
[INFO] [stdout] 22 | #![warn(missing_docs)]
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/libtx/reward.rs:151:1
[INFO] [stdout]     |
[INFO] [stdout] 151 | / pub fn output_foundation_proof<K>(
[INFO] [stdout] 152 | |     keychain: &K,
[INFO] [stdout] 153 | |     key_id: &Identifier,
[INFO] [stdout] 154 | |     test_mode: bool,
[INFO] [stdout] ...   |
[INFO] [stdout] 157 | | where
[INFO] [stdout] 158 | |     K: Keychain,
[INFO] [stdout]     | |________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]   --> src/pow.rs:42:1
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub mod progpow;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] note: the lint level is defined here
[INFO] [stdout]   --> src/pow.rs:29:9
[INFO] [stdout]    |
[INFO] [stdout] 29 | #![warn(missing_docs)]
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]   --> src/pow.rs:43:1
[INFO] [stdout]    |
[INFO] [stdout] 43 | pub mod randomx;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]  --> src/pow/md5.rs:8:1
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub struct MD5Context<T>
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/pow/md5.rs:13:2
[INFO] [stdout]    |
[INFO] [stdout] 13 |     pub edge_bits: u8,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/pow/md5.rs:14:2
[INFO] [stdout]    |
[INFO] [stdout] 14 |     pub proof_size: usize,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/pow/md5.rs:15:2
[INFO] [stdout]    |
[INFO] [stdout] 15 |     pub max_sols: u32,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/pow/md5.rs:20:1
[INFO] [stdout]    |
[INFO] [stdout] 20 | / pub fn new_md5_ctx<T>(
[INFO] [stdout] 21 | |     edge_bits: u8,
[INFO] [stdout] 22 | |     proof_size: usize,
[INFO] [stdout] 23 | |     max_sols: u32,
[INFO] [stdout] 24 | | ) -> Result<Box<dyn PoWContext<T>>, Error>
[INFO] [stdout] 25 | | where
[INFO] [stdout] 26 | |     T: EdgeType + 'static,
[INFO] [stdout]    | |__________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/pow/progpow.rs:22:1
[INFO] [stdout]    |
[INFO] [stdout] 22 | / pub fn new_progpow_ctx<T>() -> Result<Box<dyn PoWContext<T>>, Error>
[INFO] [stdout] 23 | |     where
[INFO] [stdout] 24 | |         T: EdgeType + 'static,
[INFO] [stdout]    | |______________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/pow/progpow.rs:47:1
[INFO] [stdout]    |
[INFO] [stdout] 47 | pub fn get_progpow_value(header: &[u8], height: u64, nonce: u64) -> [u8; 32] {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]   --> src/pow/progpow.rs:61:1
[INFO] [stdout]    |
[INFO] [stdout] 61 | pub struct ProgPowContext<T>
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/pow/progpow.rs:65:2
[INFO] [stdout]    |
[INFO] [stdout] 65 |     pub header: Vec<u8>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/pow/progpow.rs:66:2
[INFO] [stdout]    |
[INFO] [stdout] 66 |     pub nonce: u64,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/pow/progpow.rs:67:2
[INFO] [stdout]    |
[INFO] [stdout] 67 |     pub height: u64,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/pow/randomx.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub const SEEDHASH_EPOCH_BLOCKS: u64 = 1000;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/pow/randomx.rs:17:1
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub const SEEDHASH_EPOCH_LAG: u64 = 60;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/pow/randomx.rs:19:1
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub fn rx_epoch_start(epoch_height: u64) -> u64 {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/pow/randomx.rs:27:1
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub fn rx_epoch_end(epoch_height: u64) -> u64 {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/pow/randomx.rs:35:1
[INFO] [stdout]    |
[INFO] [stdout] 35 | pub fn rx_next_seed_height(height: u64) -> Option<u64> {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/pow/randomx.rs:49:1
[INFO] [stdout]    |
[INFO] [stdout] 49 | pub fn rx_current_seed_height(height: u64) -> u64 {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]   --> src/pow/randomx.rs:61:1
[INFO] [stdout]    |
[INFO] [stdout] 61 | pub struct RXContext<T>
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/pow/randomx.rs:65:2
[INFO] [stdout]    |
[INFO] [stdout] 65 |     pub seed: [u8; 32],
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/pow/randomx.rs:66:2
[INFO] [stdout]    |
[INFO] [stdout] 66 |     pub header: Vec<u8>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/pow/randomx.rs:67:2
[INFO] [stdout]    |
[INFO] [stdout] 67 |     pub nonce: u64,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/pow/randomx.rs:71:1
[INFO] [stdout]    |
[INFO] [stdout] 71 | / pub fn new_randomx_ctx<T>(seed: [u8; 32]) -> Result<Box<dyn PoWContext<T>>, Error>
[INFO] [stdout] 72 | |     where
[INFO] [stdout] 73 | |         T: EdgeType + 'static,
[INFO] [stdout]    | |______________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an enum
[INFO] [stdout]   --> src/pow/types.rs:45:1
[INFO] [stdout]    |
[INFO] [stdout] 45 | pub enum PoWType {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/pow/types.rs:46:2
[INFO] [stdout]    |
[INFO] [stdout] 46 |     Cuckaroo,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/pow/types.rs:47:2
[INFO] [stdout]    |
[INFO] [stdout] 47 |     Cuckatoo,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/pow/types.rs:48:2
[INFO] [stdout]    |
[INFO] [stdout] 48 |     RandomX,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/pow/types.rs:49:2
[INFO] [stdout]    |
[INFO] [stdout] 49 |     ProgPow,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/pow/types.rs:62:2
[INFO] [stdout]    |
[INFO] [stdout] 62 |     pub fn to_str(&self) -> String {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a trait
[INFO] [stdout]    --> src/pow/types.rs:124:1
[INFO] [stdout]     |
[INFO] [stdout] 124 | pub trait DifficultyNumberBasic {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated function
[INFO] [stdout]    --> src/pow/types.rs:125:2
[INFO] [stdout]     |
[INFO] [stdout] 125 |     fn number(v: u64) -> Self;
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a type alias
[INFO] [stdout]    --> src/pow/types.rs:128:1
[INFO] [stdout]     |
[INFO] [stdout] 128 | pub type DifficultyNumber = HashMap<PoWType, u64>;
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/pow/types.rs:146:2
[INFO] [stdout]     |
[INFO] [stdout] 146 |     pub num: DifficultyNumber,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated function
[INFO] [stdout]    --> src/pow/types.rs:180:2
[INFO] [stdout]     |
[INFO] [stdout] 180 |     pub fn from_dic_number(num: DifficultyNumber) -> Difficulty {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> src/pow/types.rs:554:2
[INFO] [stdout]     |
[INFO] [stdout] 554 |     MD5Proof {
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/pow/types.rs:555:3
[INFO] [stdout]     |
[INFO] [stdout] 555 |         proof: String,
[INFO] [stdout]     |         ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/pow/types.rs:556:3
[INFO] [stdout]     |
[INFO] [stdout] 556 |         edge_bits: u8,
[INFO] [stdout]     |         ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> src/pow/types.rs:559:2
[INFO] [stdout]     |
[INFO] [stdout] 559 |     RandomXProof {
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/pow/types.rs:560:3
[INFO] [stdout]     |
[INFO] [stdout] 560 |         hash: [u8; 32],
[INFO] [stdout]     |         ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> src/pow/types.rs:563:2
[INFO] [stdout]     |
[INFO] [stdout] 563 |     ProgPowProof {
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/pow/types.rs:564:3
[INFO] [stdout]     |
[INFO] [stdout] 564 |         mix: [u8; 32],
[INFO] [stdout]     |         ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 168 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared crate or module `epic_core`
[INFO] [stdout]   --> tests/common.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | use epic_core::core::hash::DefaultHashable;
[INFO] [stdout]    |     ^^^^^^^^^ use of undeclared crate or module `epic_core`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared crate or module `epic_core`
[INFO] [stdout]   --> tests/common.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | use epic_core::core::{Block, BlockHeader, KernelFeatures, Transaction};
[INFO] [stdout]    |     ^^^^^^^^^ use of undeclared crate or module `epic_core`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared crate or module `epic_core`
[INFO] [stdout]   --> tests/common.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | use epic_core::libtx::{
[INFO] [stdout]    |     ^^^^^^^^^ use of undeclared crate or module `epic_core`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared crate or module `epic_core`
[INFO] [stdout]   --> tests/common.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | use epic_core::core::hash::DefaultHashable;
[INFO] [stdout]    |     ^^^^^^^^^ use of undeclared crate or module `epic_core`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared crate or module `epic_core`
[INFO] [stdout]   --> tests/common.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 24 | use epic_core::pow::Difficulty;
[INFO] [stdout]    |     ^^^^^^^^^ use of undeclared crate or module `epic_core`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared crate or module `epic_core`
[INFO] [stdout]   --> tests/common.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | use epic_core::core::{Block, BlockHeader, KernelFeatures, Transaction};
[INFO] [stdout]    |     ^^^^^^^^^ use of undeclared crate or module `epic_core`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared crate or module `epic_core`
[INFO] [stdout]   --> tests/common.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | use epic_core::libtx::{
[INFO] [stdout]    |     ^^^^^^^^^ use of undeclared crate or module `epic_core`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared crate or module `epic_core`
[INFO] [stdout]   --> tests/common.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 24 | use epic_core::pow::Difficulty;
[INFO] [stdout]    |     ^^^^^^^^^ use of undeclared crate or module `epic_core`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared crate or module `epic_core`
[INFO] [stdout]   --> tests/common.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | use epic_core::core::hash::DefaultHashable;
[INFO] [stdout]    |     ^^^^^^^^^ use of undeclared crate or module `epic_core`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared crate or module `epic_core`
[INFO] [stdout]   --> tests/common.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | use epic_core::core::{Block, BlockHeader, KernelFeatures, Transaction};
[INFO] [stdout]    |     ^^^^^^^^^ use of undeclared crate or module `epic_core`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared crate or module `epic_core`
[INFO] [stdout]   --> tests/common.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | use epic_core::libtx::{
[INFO] [stdout]    |     ^^^^^^^^^ use of undeclared crate or module `epic_core`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared crate or module `epic_core`
[INFO] [stdout]   --> tests/common.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 24 | use epic_core::pow::Difficulty;
[INFO] [stdout]    |     ^^^^^^^^^ use of undeclared crate or module `epic_core`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared crate or module `epic_core`
[INFO] [stdout]   --> tests/common.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | use epic_core::core::hash::DefaultHashable;
[INFO] [stdout]    |     ^^^^^^^^^ use of undeclared crate or module `epic_core`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared crate or module `epic_core`
[INFO] [stdout]   --> tests/common.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | use epic_core::core::{Block, BlockHeader, KernelFeatures, Transaction};
[INFO] [stdout]    |     ^^^^^^^^^ use of undeclared crate or module `epic_core`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared crate or module `epic_core`
[INFO] [stdout]   --> tests/common.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | use epic_core::core::hash::DefaultHashable;
[INFO] [stdout]    |     ^^^^^^^^^ use of undeclared crate or module `epic_core`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared crate or module `epic_core`
[INFO] [stdout]   --> tests/common.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | use epic_core::core::{Block, BlockHeader, KernelFeatures, Transaction};
[INFO] [stdout]    |     ^^^^^^^^^ use of undeclared crate or module `epic_core`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared crate or module `epic_core`
[INFO] [stdout]   --> tests/common.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | use epic_core::libtx::{
[INFO] [stdout]    |     ^^^^^^^^^ use of undeclared crate or module `epic_core`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared crate or module `epic_core`
[INFO] [stdout]   --> tests/common.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 24 | use epic_core::pow::Difficulty;
[INFO] [stdout]    |     ^^^^^^^^^ use of undeclared crate or module `epic_core`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared crate or module `epic_core`
[INFO] [stdout]   --> tests/common.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 25 | use epic_core::ser::{self, FixedLength, PMMRable, Readable, Reader, Writeable, Writer};
[INFO] [stdout]    |     ^^^^^^^^^ use of undeclared crate or module `epic_core`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared crate or module `epic_core`
[INFO] [stdout]   --> tests/common.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 25 | use epic_core::ser::{self, FixedLength, PMMRable, Readable, Reader, Writeable, Writer};
[INFO] [stdout]    |     ^^^^^^^^^ use of undeclared crate or module `epic_core`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared crate or module `epic_core`
[INFO] [stdout]   --> tests/common.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | use epic_core::libtx::{
[INFO] [stdout]    |     ^^^^^^^^^ use of undeclared crate or module `epic_core`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared crate or module `epic_core`
[INFO] [stdout]   --> tests/common.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 24 | use epic_core::pow::Difficulty;
[INFO] [stdout]    |     ^^^^^^^^^ use of undeclared crate or module `epic_core`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared crate or module `epic_core`
[INFO] [stdout]   --> tests/common.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 25 | use epic_core::ser::{self, FixedLength, PMMRable, Readable, Reader, Writeable, Writer};
[INFO] [stdout]    |     ^^^^^^^^^ use of undeclared crate or module `epic_core`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared crate or module `epic_core`
[INFO] [stdout]   --> tests/common.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | use epic_core::core::hash::DefaultHashable;
[INFO] [stdout]    |     ^^^^^^^^^ use of undeclared crate or module `epic_core`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared crate or module `epic_core`
[INFO] [stdout]   --> tests/common.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | use epic_core::core::{Block, BlockHeader, KernelFeatures, Transaction};
[INFO] [stdout]    |     ^^^^^^^^^ use of undeclared crate or module `epic_core`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared crate or module `epic_core`
[INFO] [stdout]   --> tests/common.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | use epic_core::libtx::{
[INFO] [stdout]    |     ^^^^^^^^^ use of undeclared crate or module `epic_core`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared crate or module `epic_core`
[INFO] [stdout]   --> tests/common.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 24 | use epic_core::pow::Difficulty;
[INFO] [stdout]    |     ^^^^^^^^^ use of undeclared crate or module `epic_core`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared crate or module `epic_core`
[INFO] [stdout]   --> tests/common.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 25 | use epic_core::ser::{self, FixedLength, PMMRable, Readable, Reader, Writeable, Writer};
[INFO] [stdout]    |     ^^^^^^^^^ use of undeclared crate or module `epic_core`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: unresolved import
[INFO] [stdout]   --> tests/core.rs:19:11
[INFO] [stdout]    |
[INFO] [stdout] 19 | use self::core::core::block::BlockHeader;
[INFO] [stdout]    |           ^^^^
[INFO] [stdout]    |           |
[INFO] [stdout]    |           unresolved import
[INFO] [stdout]    |           help: a similar path exists: `stack_test_epic_core::core`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: unresolved import
[INFO] [stdout]   --> tests/core.rs:20:11
[INFO] [stdout]    |
[INFO] [stdout] 20 | use self::core::core::block::Error::KernelLockHeight;
[INFO] [stdout]    |           ^^^^
[INFO] [stdout]    |           |
[INFO] [stdout]    |           unresolved import
[INFO] [stdout]    |           help: a similar path exists: `stack_test_epic_core::core`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: unresolved import
[INFO] [stdout]   --> tests/core.rs:21:11
[INFO] [stdout]    |
[INFO] [stdout] 21 | use self::core::core::hash::{Hashed, ZERO_HASH};
[INFO] [stdout]    |           ^^^^
[INFO] [stdout]    |           |
[INFO] [stdout]    |           unresolved import
[INFO] [stdout]    |           help: a similar path exists: `stack_test_epic_core::core`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: unresolved import
[INFO] [stdout]   --> tests/core.rs:22:11
[INFO] [stdout]    |
[INFO] [stdout] 22 | use self::core::core::{
[INFO] [stdout]    |           ^^^^
[INFO] [stdout]    |           |
[INFO] [stdout]    |           unresolved import
[INFO] [stdout]    |           help: a similar path exists: `stack_test_epic_core::core`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared crate or module `epic_core`
[INFO] [stdout]   --> tests/common.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 25 | use epic_core::ser::{self, FixedLength, PMMRable, Readable, Reader, Writeable, Writer};
[INFO] [stdout]    |     ^^^^^^^^^ use of undeclared crate or module `epic_core`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `epic_core`
[INFO] [stdout]   --> tests/common.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 25 | use epic_core::ser::{self, FixedLength, PMMRable, Readable, Reader, Writeable, Writer};
[INFO] [stdout]    |     ^^^^^^^^^ use of undeclared crate or module `epic_core`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: unresolved import
[INFO] [stdout]   --> tests/core.rs:25:11
[INFO] [stdout]    |
[INFO] [stdout] 25 | use self::core::libtx::build::{self, initial_tx, input, output, with_excess};
[INFO] [stdout]    |           ^^^^
[INFO] [stdout]    |           |
[INFO] [stdout]    |           unresolved import
[INFO] [stdout]    |           help: a similar path exists: `stack_test_epic_core::core`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: unresolved import
[INFO] [stdout]   --> tests/core.rs:26:11
[INFO] [stdout]    |
[INFO] [stdout] 26 | use self::core::libtx::ProofBuilder;
[INFO] [stdout]    |           ^^^^
[INFO] [stdout]    |           |
[INFO] [stdout]    |           unresolved import
[INFO] [stdout]    |           help: a similar path exists: `stack_test_epic_core::core`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `epic_core`
[INFO] [stdout]   --> tests/common.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 25 | use epic_core::ser::{self, FixedLength, PMMRable, Readable, Reader, Writeable, Writer};
[INFO] [stdout]    |     ^^^^^^^^^ use of undeclared crate or module `epic_core`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `self::core`
[INFO] [stdout]   --> tests/core.rs:27:11
[INFO] [stdout]    |
[INFO] [stdout] 27 | use self::core::ser;
[INFO] [stdout]    |           ^^^^
[INFO] [stdout]    |           |
[INFO] [stdout]    |           unresolved import
[INFO] [stdout]    |           help: a similar path exists: `stack_test_epic_core::core`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: unresolved import
[INFO] [stdout]   --> tests/vec_backend.rs:17:11
[INFO] [stdout]    |
[INFO] [stdout] 17 | use self::core::core::pmmr::{VecBackend, PMMR};
[INFO] [stdout]    |           ^^^^
[INFO] [stdout]    |           |
[INFO] [stdout]    |           unresolved import
[INFO] [stdout]    |           help: a similar path exists: `stack_test_epic_core::core`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `epic_core`
[INFO] [stdout]   --> tests/core.rs:29:5
[INFO] [stdout]    |
[INFO] [stdout] 29 | use epic_core as core;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^ no external crate `epic_core`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]   --> tests/core.rs:31:5
[INFO] [stdout]    |
[INFO] [stdout] 31 | use std::sync::Arc;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `util::RwLock`
[INFO] [stdout]   --> tests/core.rs:33:5
[INFO] [stdout]    |
[INFO] [stdout] 33 | use util::RwLock;
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `epic_core`
[INFO] [stdout]   --> tests/common.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 25 | use epic_core::ser::{self, FixedLength, PMMRable, Readable, Reader, Writeable, Writer};
[INFO] [stdout]    |     ^^^^^^^^^ use of undeclared crate or module `epic_core`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `epic_core`
[INFO] [stdout]   --> tests/vec_backend.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | use epic_core as core;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^ no external crate `epic_core`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared crate or module `epic_core`
[INFO] [stdout]   --> tests/common.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 25 | use epic_core::ser::{self, FixedLength, PMMRable, Readable, Reader, Writeable, Writer};
[INFO] [stdout]    |     ^^^^^^^^^ use of undeclared crate or module `epic_core`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared crate or module `epic_core`
[INFO] [stdout]   --> tests/common.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | use epic_core::core::hash::DefaultHashable;
[INFO] [stdout]    |     ^^^^^^^^^ use of undeclared crate or module `epic_core`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared crate or module `epic_core`
[INFO] [stdout]   --> tests/common.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | use epic_core::core::{Block, BlockHeader, KernelFeatures, Transaction};
[INFO] [stdout]    |     ^^^^^^^^^ use of undeclared crate or module `epic_core`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared crate or module `epic_core`
[INFO] [stdout]   --> tests/common.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | use epic_core::libtx::{
[INFO] [stdout]    |     ^^^^^^^^^ use of undeclared crate or module `epic_core`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared crate or module `epic_core`
[INFO] [stdout]   --> tests/common.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 24 | use epic_core::pow::Difficulty;
[INFO] [stdout]    |     ^^^^^^^^^ use of undeclared crate or module `epic_core`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: unresolved import
[INFO] [stdout]   --> tests/block.rs:17:12
[INFO] [stdout]    |
[INFO] [stdout] 17 | use crate::core::consensus::BLOCK_OUTPUT_WEIGHT;
[INFO] [stdout]    |            ^^^^
[INFO] [stdout]    |            |
[INFO] [stdout]    |            unresolved import
[INFO] [stdout]    |            help: a similar path exists: `stack_test_epic_core::core`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: unresolved import
[INFO] [stdout]   --> tests/block.rs:18:12
[INFO] [stdout]    |
[INFO] [stdout] 18 | use crate::core::core::block::Error;
[INFO] [stdout]    |            ^^^^
[INFO] [stdout]    |            |
[INFO] [stdout]    |            unresolved import
[INFO] [stdout]    |            help: a similar path exists: `stack_test_epic_core::core`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: unresolved import
[INFO] [stdout]   --> tests/block.rs:19:12
[INFO] [stdout]    |
[INFO] [stdout] 19 | use crate::core::core::hash::Hashed;
[INFO] [stdout]    |            ^^^^
[INFO] [stdout]    |            |
[INFO] [stdout]    |            unresolved import
[INFO] [stdout]    |            help: a similar path exists: `stack_test_epic_core::core`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: unresolved import
[INFO] [stdout]   --> tests/block.rs:20:12
[INFO] [stdout]    |
[INFO] [stdout] 20 | use crate::core::core::id::ShortIdentifiable;
[INFO] [stdout]    |            ^^^^
[INFO] [stdout]    |            |
[INFO] [stdout]    |            unresolved import
[INFO] [stdout]    |            help: a similar path exists: `stack_test_epic_core::core`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: unresolved import
[INFO] [stdout]   --> tests/block.rs:21:12
[INFO] [stdout]    |
[INFO] [stdout] 21 | use crate::core::core::transaction::{self, Transaction};
[INFO] [stdout]    |            ^^^^
[INFO] [stdout]    |            |
[INFO] [stdout]    |            unresolved import
[INFO] [stdout]    |            help: a similar path exists: `stack_test_epic_core::core`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: unresolved import
[INFO] [stdout]   --> tests/block.rs:23:12
[INFO] [stdout]    |
[INFO] [stdout] 23 | use crate::core::core::Committed;
[INFO] [stdout]    |            ^^^^
[INFO] [stdout]    |            |
[INFO] [stdout]    |            unresolved import
[INFO] [stdout]    |            help: a similar path exists: `stack_test_epic_core::core`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: unresolved import
[INFO] [stdout]   --> tests/block.rs:24:12
[INFO] [stdout]    |
[INFO] [stdout] 24 | use crate::core::core::{
[INFO] [stdout]    |            ^^^^
[INFO] [stdout]    |            |
[INFO] [stdout]    |            unresolved import
[INFO] [stdout]    |            help: a similar path exists: `stack_test_epic_core::core`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 6 previous errors
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0432, E0433.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0432`.
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: unresolved import
[INFO] [stdout]   --> tests/transaction.rs:19:11
[INFO] [stdout]    |
[INFO] [stdout] 19 | use self::core::core::{Output, OutputFeatures};
[INFO] [stdout]    |           ^^^^
[INFO] [stdout]    |           |
[INFO] [stdout]    |           unresolved import
[INFO] [stdout]    |           help: a similar path exists: `stack_test_epic_core::core`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 14 previous errors; 2 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0432, E0433.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0432`.
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: unresolved import
[INFO] [stdout]   --> tests/block.rs:27:12
[INFO] [stdout]    |
[INFO] [stdout] 27 | use crate::core::libtx::build::{self, input, output};
[INFO] [stdout]    |            ^^^^
[INFO] [stdout]    |            |
[INFO] [stdout]    |            unresolved import
[INFO] [stdout]    |            help: a similar path exists: `stack_test_epic_core::core`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `stack_test_epic_core` (test "common") due to 7 previous errors
[INFO] [stdout] error[E0433]: failed to resolve: unresolved import
[INFO] [stdout]   --> tests/block.rs:28:12
[INFO] [stdout]    |
[INFO] [stdout] 28 | use crate::core::libtx::ProofBuilder;
[INFO] [stdout]    |            ^^^^
[INFO] [stdout]    |            |
[INFO] [stdout]    |            unresolved import
[INFO] [stdout]    |            help: a similar path exists: `stack_test_epic_core::core`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] error[E0432]: unresolved import `epic_core`
[INFO] [stdout]   --> tests/common.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 25 | use epic_core::ser::{self, FixedLength, PMMRable, Readable, Reader, Writeable, Writer};
[INFO] [stdout]    |     ^^^^^^^^^ use of undeclared crate or module `epic_core`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `crate::core`
[INFO] [stdout]   --> tests/block.rs:29:12
[INFO] [stdout]    |
[INFO] [stdout] 29 | use crate::core::{global, ser};
[INFO] [stdout]    |            ^^^^
[INFO] [stdout]    |            |
[INFO] [stdout]    |            unresolved import
[INFO] [stdout]    |            help: a similar path exists: `stack_test_epic_core::core`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: unresolved import
[INFO] [stdout]   --> tests/consensus.rs:17:11
[INFO] [stdout]    |
[INFO] [stdout] 17 | use self::core::consensus::*;
[INFO] [stdout]    |           ^^^^
[INFO] [stdout]    |           |
[INFO] [stdout]    |           unresolved import
[INFO] [stdout]    |           help: a similar path exists: `stack_test_epic_core::core`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared crate or module `epic_core`
[INFO] [stdout]   --> tests/common.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 25 | use epic_core::ser::{self, FixedLength, PMMRable, Readable, Reader, Writeable, Writer};
[INFO] [stdout]    |     ^^^^^^^^^ use of undeclared crate or module `epic_core`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared crate or module `epic_core`
[INFO] [stdout]   --> tests/block.rs:32:5
[INFO] [stdout]    |
[INFO] [stdout] 32 | use epic_core::global::ChainTypes;
[INFO] [stdout]    |     ^^^^^^^^^ use of undeclared crate or module `epic_core`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `stack_test_epic_core` (test "core") due to 15 previous errors; 2 warnings emitted
[INFO] [stdout] error[E0432]: unresolved import `epic_core`
[INFO] [stdout]   --> tests/block.rs:31:5
[INFO] [stdout]    |
[INFO] [stdout] 31 | use epic_core as core;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^ no external crate `epic_core`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: unresolved import
[INFO] [stdout]   --> tests/transaction.rs:20:11
[INFO] [stdout]    |
[INFO] [stdout] 20 | use self::core::libtx::proof;
[INFO] [stdout]    |           ^^^^
[INFO] [stdout]    |           |
[INFO] [stdout]    |           unresolved import
[INFO] [stdout]    |           help: a similar path exists: `stack_test_epic_core::core`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `epic_core`
[INFO] [stdout]   --> tests/common.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 25 | use epic_core::ser::{self, FixedLength, PMMRable, Readable, Reader, Writeable, Writer};
[INFO] [stdout]    |     ^^^^^^^^^ use of undeclared crate or module `epic_core`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `self::core`
[INFO] [stdout]   --> tests/transaction.rs:21:11
[INFO] [stdout]    |
[INFO] [stdout] 21 | use self::core::ser;
[INFO] [stdout]    |           ^^^^
[INFO] [stdout]    |           |
[INFO] [stdout]    |           unresolved import
[INFO] [stdout]    |           help: a similar path exists: `stack_test_epic_core::core`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `epic_core`
[INFO] [stdout]   --> tests/transaction.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 22 | use epic_core as core;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^ no external crate `epic_core`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `epic_core`
[INFO] [stdout]   --> tests/consensus.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use epic_core as core;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^ no external crate `epic_core`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 8 previous errors
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0432, E0433.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0432`.
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]   --> tests/block.rs:34:5
[INFO] [stdout]    |
[INFO] [stdout] 34 | use std::sync::Arc;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `util::RwLock`
[INFO] [stdout]   --> tests/block.rs:36:5
[INFO] [stdout]    |
[INFO] [stdout] 36 | use util::RwLock;
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: unresolved import
[INFO] [stdout]   --> tests/merkle_proof.rs:17:11
[INFO] [stdout]    |
[INFO] [stdout] 17 | use self::core::core::merkle_proof::MerkleProof;
[INFO] [stdout]    |           ^^^^
[INFO] [stdout]    |           |
[INFO] [stdout]    |           unresolved import
[INFO] [stdout]    |           help: a similar path exists: `stack_test_epic_core::core`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: unresolved import
[INFO] [stdout]   --> tests/merkle_proof.rs:18:11
[INFO] [stdout]    |
[INFO] [stdout] 18 | use self::core::core::pmmr::{VecBackend, PMMR};
[INFO] [stdout]    |           ^^^^
[INFO] [stdout]    |           |
[INFO] [stdout]    |           unresolved import
[INFO] [stdout]    |           help: a similar path exists: `stack_test_epic_core::core`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `epic_core`
[INFO] [stdout]   --> tests/common.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 25 | use epic_core::ser::{self, FixedLength, PMMRable, Readable, Reader, Writeable, Writer};
[INFO] [stdout]    |     ^^^^^^^^^ use of undeclared crate or module `epic_core`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: unresolved import
[INFO] [stdout]   --> tests/merkle_proof.rs:19:11
[INFO] [stdout]    |
[INFO] [stdout] 19 | use self::core::ser::{self, PMMRIndexHashable};
[INFO] [stdout]    |           ^^^^
[INFO] [stdout]    |           |
[INFO] [stdout]    |           unresolved import
[INFO] [stdout]    |           help: a similar path exists: `stack_test_epic_core::core`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `self::core`
[INFO] [stdout]   --> tests/merkle_proof.rs:19:11
[INFO] [stdout]    |
[INFO] [stdout] 19 | use self::core::ser::{self, PMMRIndexHashable};
[INFO] [stdout]    |           ^^^^
[INFO] [stdout]    |           |
[INFO] [stdout]    |           unresolved import
[INFO] [stdout]    |           help: a similar path exists: `stack_test_epic_core::core`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `stack_test_epic_core` (test "vec_backend") due to 9 previous errors
[INFO] [stdout] error[E0432]: unresolved import `epic_core`
[INFO] [stdout]   --> tests/merkle_proof.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 | use epic_core as core;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^ no external crate `epic_core`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 18 previous errors; 2 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0432, E0433.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0432`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `stack_test_epic_core` (test "block") due to 19 previous errors; 2 warnings emitted
[INFO] [stdout] error: aborting due to 10 previous errors
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0432, E0433.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0432`.
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 11 previous errors
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0432, E0433.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0432`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `stack_test_epic_core` (test "transaction") due to 11 previous errors
[INFO] [stdout] error[E0433]: failed to resolve: unresolved import
[INFO] [stdout]   --> tests/pmmr.rs:17:11
[INFO] [stdout]    |
[INFO] [stdout] 17 | use self::core::core::hash::Hash;
[INFO] [stdout]    |           ^^^^
[INFO] [stdout]    |           |
[INFO] [stdout]    |           unresolved import
[INFO] [stdout]    |           help: a similar path exists: `stack_test_epic_core::core`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `stack_test_epic_core` (test "merkle_proof") due to 12 previous errors
[INFO] [stdout] error[E0433]: failed to resolve: unresolved import
[INFO] [stdout]   --> tests/pmmr.rs:18:11
[INFO] [stdout]    |
[INFO] [stdout] 18 | use self::core::core::pmmr::{self, VecBackend, PMMR};
[INFO] [stdout]    |           ^^^^
[INFO] [stdout]    |           |
[INFO] [stdout]    |           unresolved import
[INFO] [stdout]    |           help: a similar path exists: `stack_test_epic_core::core`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: unresolved import
[INFO] [stdout]   --> tests/pmmr.rs:19:11
[INFO] [stdout]    |
[INFO] [stdout] 19 | use self::core::ser::PMMRIndexHashable;
[INFO] [stdout]    |           ^^^^
[INFO] [stdout]    |           |
[INFO] [stdout]    |           unresolved import
[INFO] [stdout]    |           help: a similar path exists: `stack_test_epic_core::core`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `epic_core`
[INFO] [stdout]   --> tests/common.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 25 | use epic_core::ser::{self, FixedLength, PMMRable, Readable, Reader, Writeable, Writer};
[INFO] [stdout]    |     ^^^^^^^^^ use of undeclared crate or module `epic_core`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `epic_core`
[INFO] [stdout]   --> tests/pmmr.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 22 | use epic_core as core;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^ no external crate `epic_core`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 10 previous errors
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0432, E0433.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0432`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `stack_test_epic_core` (test "pmmr") due to 11 previous errors
[INFO] [stdout] error[E0412]: cannot find type `HeaderInfo` in this scope
[INFO] [stdout]   --> tests/consensus.rs:77:32
[INFO] [stdout]    |
[INFO] [stdout] 77 | fn repeat(interval: u64, diff: HeaderInfo, len: u64, cur_time: Option<u64>) -> Vec<HeaderInfo> {
[INFO] [stdout]    |                                ^^^^^^^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout] 15 + use stack_test_epic_core::consensus::HeaderInfo;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `HeaderInfo` in this scope
[INFO] [stdout]   --> tests/consensus.rs:77:84
[INFO] [stdout]    |
[INFO] [stdout] 77 | fn repeat(interval: u64, diff: HeaderInfo, len: u64, cur_time: Option<u64>) -> Vec<HeaderInfo> {
[INFO] [stdout]    |                                                                                    ^^^^^^^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout] 15 + use stack_test_epic_core::consensus::HeaderInfo;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `HeaderInfo`
[INFO] [stdout]   --> tests/consensus.rs:89:4
[INFO] [stdout]    |
[INFO] [stdout] 89 |             HeaderInfo::new(
[INFO] [stdout]    |             ^^^^^^^^^^ use of undeclared type `HeaderInfo`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout] 15 + use stack_test_epic_core::consensus::HeaderInfo;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `HeaderInfo` in this scope
[INFO] [stdout]    --> tests/consensus.rs:102:40
[INFO] [stdout]     |
[INFO] [stdout] 102 | fn create_chain_sim(diff: u64) -> Vec<(HeaderInfo, DiffStats)> {
[INFO] [stdout]     |                                        ^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 15  + use stack_test_epic_core::consensus::HeaderInfo;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `HeaderInfo`
[INFO] [stdout]    --> tests/consensus.rs:108:24
[INFO] [stdout]     |
[INFO] [stdout] 108 |     let return_vec = vec![HeaderInfo::from_ts_diff(
[INFO] [stdout]     |                           ^^^^^^^^^^ use of undeclared type `HeaderInfo`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 15  + use stack_test_epic_core::consensus::HeaderInfo;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `HeaderInfo`
[INFO] [stdout]    --> tests/consensus.rs:114:3
[INFO] [stdout]     |
[INFO] [stdout] 114 |         HeaderInfo::from_ts_diff(Utc::now().timestamp() as u64, Difficulty::from_num(diff)),
[INFO] [stdout]     |         ^^^^^^^^^^ use of undeclared type `HeaderInfo`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 15  + use stack_test_epic_core::consensus::HeaderInfo;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `HeaderInfo` in this scope
[INFO] [stdout]    --> tests/consensus.rs:119:35
[INFO] [stdout]     |
[INFO] [stdout] 119 | fn get_diff_stats(chain_sim: &Vec<HeaderInfo>) -> DiffStats {
[INFO] [stdout]     |                                   ^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 15  + use stack_test_epic_core::consensus::HeaderInfo;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `HeaderInfo` in this scope
[INFO] [stdout]    --> tests/consensus.rs:122:23
[INFO] [stdout]     |
[INFO] [stdout] 122 |     let last_blocks: Vec<HeaderInfo> =
[INFO] [stdout]     |                          ^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 15  + use stack_test_epic_core::consensus::HeaderInfo;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `DIFFICULTY_ADJUST_WINDOW` in this scope
[INFO] [stdout]    --> tests/consensus.rs:123:64
[INFO] [stdout]     |
[INFO] [stdout] 123 |         global::difficulty_data_to_vector(diff_iter.iter().cloned(), DIFFICULTY_ADJUST_WINDOW);
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this constant
[INFO] [stdout]     |
[INFO] [stdout] 15  + use stack_test_epic_core::consensus::DIFFICULTY_ADJUST_WINDOW;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `HeaderInfo` in this scope
[INFO] [stdout]    --> tests/consensus.rs:134:22
[INFO] [stdout]     |
[INFO] [stdout] 134 |     let sum_blocks: Vec<HeaderInfo> =
[INFO] [stdout]     |                         ^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 15  + use stack_test_epic_core::consensus::HeaderInfo;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `DIFFICULTY_ADJUST_WINDOW` in this scope
[INFO] [stdout]    --> tests/consensus.rs:135:64
[INFO] [stdout]     |
[INFO] [stdout] 135 |         global::difficulty_data_to_vector(diff_iter.iter().cloned(), DIFFICULTY_ADJUST_WINDOW)
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this constant
[INFO] [stdout]     |
[INFO] [stdout] 15  + use stack_test_epic_core::consensus::DIFFICULTY_ADJUST_WINDOW;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `DIFFICULTY_ADJUST_WINDOW` in this scope
[INFO] [stdout]    --> tests/consensus.rs:137:10
[INFO] [stdout]     |
[INFO] [stdout] 137 |             .take(DIFFICULTY_ADJUST_WINDOW as usize)
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this constant
[INFO] [stdout]     |
[INFO] [stdout] 15  + use stack_test_epic_core::consensus::DIFFICULTY_ADJUST_WINDOW;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `DIFFICULTY_ADJUST_WINDOW` in this scope
[INFO] [stdout]    --> tests/consensus.rs:183:41
[INFO] [stdout]     |
[INFO] [stdout] 183 |         average_block_time: block_time_sum / (DIFFICULTY_ADJUST_WINDOW),
[INFO] [stdout]     |                                               ^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this constant
[INFO] [stdout]     |
[INFO] [stdout] 15  + use stack_test_epic_core::consensus::DIFFICULTY_ADJUST_WINDOW;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `DIFFICULTY_ADJUST_WINDOW` in this scope
[INFO] [stdout]    --> tests/consensus.rs:184:41
[INFO] [stdout]     |
[INFO] [stdout] 184 |         average_difficulty: block_diff_sum / (DIFFICULTY_ADJUST_WINDOW),
[INFO] [stdout]     |                                               ^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this constant
[INFO] [stdout]     |
[INFO] [stdout] 15  + use stack_test_epic_core::consensus::DIFFICULTY_ADJUST_WINDOW;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `DIFFICULTY_ADJUST_WINDOW` in this scope
[INFO] [stdout]    --> tests/consensus.rs:185:16
[INFO] [stdout]     |
[INFO] [stdout] 185 |         window_size: DIFFICULTY_ADJUST_WINDOW,
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this constant
[INFO] [stdout]     |
[INFO] [stdout] 15  + use stack_test_epic_core::consensus::DIFFICULTY_ADJUST_WINDOW;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `HeaderInfo` in this scope
[INFO] [stdout]    --> tests/consensus.rs:198:18
[INFO] [stdout]     |
[INFO] [stdout] 198 |     chain_sim: Vec<(HeaderInfo, DiffStats)>,
[INFO] [stdout]     |                     ^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 15  + use stack_test_epic_core::consensus::HeaderInfo;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `HeaderInfo` in this scope
[INFO] [stdout]    --> tests/consensus.rs:199:11
[INFO] [stdout]     |
[INFO] [stdout] 199 | ) -> Vec<(HeaderInfo, DiffStats)> {
[INFO] [stdout]     |           ^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 15  + use stack_test_epic_core::consensus::HeaderInfo;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `HeaderInfo` in this scope
[INFO] [stdout]    --> tests/consensus.rs:201:28
[INFO] [stdout]     |
[INFO] [stdout] 201 |     let mut return_chain: Vec<HeaderInfo> = chain_sim.clone().iter().map(|e| e.0.clone()).collect();
[INFO] [stdout]     |                               ^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 15  + use stack_test_epic_core::consensus::HeaderInfo;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `next_difficulty` in this scope
[INFO] [stdout]    --> tests/consensus.rs:203:13
[INFO] [stdout]     |
[INFO] [stdout] 203 |     let diff = next_difficulty(1, PoWType::Cuckatoo, return_chain.clone());
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this function
[INFO] [stdout]     |
[INFO] [stdout] 15  + use stack_test_epic_core::consensus::next_difficulty;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `HeaderInfo`
[INFO] [stdout]    --> tests/consensus.rs:206:25
[INFO] [stdout]     |
[INFO] [stdout] 206 |     return_chain.insert(0, HeaderInfo::from_ts_diff(time, diff.difficulty.clone()));
[INFO] [stdout]     |                            ^^^^^^^^^^ use of undeclared type `HeaderInfo`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 15  + use stack_test_epic_core::consensus::HeaderInfo;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `HeaderInfo`
[INFO] [stdout]    --> tests/consensus.rs:210:4
[INFO] [stdout]     |
[INFO] [stdout] 210 |         (HeaderInfo::from_ts_diff(time, diff.difficulty), diff_stats),
[INFO] [stdout]     |          ^^^^^^^^^^ use of undeclared type `HeaderInfo`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 15  + use stack_test_epic_core::consensus::HeaderInfo;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `HeaderInfo` in this scope
[INFO] [stdout]    --> tests/consensus.rs:218:18
[INFO] [stdout]     |
[INFO] [stdout] 218 |     chain_sim: Vec<(HeaderInfo, DiffStats)>,
[INFO] [stdout]     |                     ^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 15  + use stack_test_epic_core::consensus::HeaderInfo;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `HeaderInfo` in this scope
[INFO] [stdout]    --> tests/consensus.rs:220:11
[INFO] [stdout]     |
[INFO] [stdout] 220 | ) -> Vec<(HeaderInfo, DiffStats)> {
[INFO] [stdout]     |           ^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 15  + use stack_test_epic_core::consensus::HeaderInfo;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `HeaderInfo` in this scope
[INFO] [stdout]    --> tests/consensus.rs:230:36
[INFO] [stdout]     |
[INFO] [stdout] 230 | fn print_chain_sim(chain_sim: Vec<(HeaderInfo, DiffStats)>) {
[INFO] [stdout]     |                                    ^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 15  + use stack_test_epic_core::consensus::HeaderInfo;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `DIFFICULTY_ADJUST_WINDOW` in this scope
[INFO] [stdout]    --> tests/consensus.rs:236:43
[INFO] [stdout]     |
[INFO] [stdout] 236 |     println!("DIFFICULTY_ADJUST_WINDOW: {}", DIFFICULTY_ADJUST_WINDOW);
[INFO] [stdout]     |                                              ^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this constant
[INFO] [stdout]     |
[INFO] [stdout] 15  + use stack_test_epic_core::consensus::DIFFICULTY_ADJUST_WINDOW;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `BLOCK_TIME_WINDOW` in this scope
[INFO] [stdout]    --> tests/consensus.rs:237:36
[INFO] [stdout]     |
[INFO] [stdout] 237 |     println!("BLOCK_TIME_WINDOW: {}", BLOCK_TIME_WINDOW);
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this constant
[INFO] [stdout]     |
[INFO] [stdout] 15  + use stack_test_epic_core::consensus::BLOCK_TIME_WINDOW;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `CLAMP_FACTOR` in this scope
[INFO] [stdout]    --> tests/consensus.rs:238:31
[INFO] [stdout]     |
[INFO] [stdout] 238 |     println!("CLAMP_FACTOR: {}", CLAMP_FACTOR);
[INFO] [stdout]     |                                  ^^^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this constant
[INFO] [stdout]     |
[INFO] [stdout] 15  + use stack_test_epic_core::consensus::CLAMP_FACTOR;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `DIFFICULTY_DAMP_FACTOR` in this scope
[INFO] [stdout]    --> tests/consensus.rs:239:30
[INFO] [stdout]     |
[INFO] [stdout] 239 |     println!("DAMP_FACTOR: {}", DIFFICULTY_DAMP_FACTOR);
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this constant
[INFO] [stdout]     |
[INFO] [stdout] 15  + use stack_test_epic_core::consensus::DIFFICULTY_DAMP_FACTOR;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `HeaderInfo` in this scope
[INFO] [stdout]    --> tests/consensus.rs:270:70
[INFO] [stdout]     |
[INFO] [stdout] 270 | fn repeat_offs(from: u64, interval: u64, diff: u64, len: u64) -> Vec<HeaderInfo> {
[INFO] [stdout]     |                                                                      ^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 15  + use stack_test_epic_core::consensus::HeaderInfo;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `HeaderInfo`
[INFO] [stdout]    --> tests/consensus.rs:273:3
[INFO] [stdout]     |
[INFO] [stdout] 273 |         HeaderInfo::from_ts_diff(1, Difficulty::from_num(diff)),
[INFO] [stdout]     |         ^^^^^^^^^^ use of undeclared type `HeaderInfo`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 15  + use stack_test_epic_core::consensus::HeaderInfo;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `DIFFICULTY_ADJUST_WINDOW` in this scope
[INFO] [stdout]    --> tests/consensus.rs:312:21
[INFO] [stdout]     |
[INFO] [stdout] 312 |     let just_enough = (DIFFICULTY_ADJUST_WINDOW) as usize;
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this constant
[INFO] [stdout]     |
[INFO] [stdout] 15  + use stack_test_epic_core::consensus::DIFFICULTY_ADJUST_WINDOW;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `HeaderInfo`
[INFO] [stdout]    --> tests/consensus.rs:361:15
[INFO] [stdout]     |
[INFO] [stdout] 361 |     let mut hi = HeaderInfo::from_diff_scaling(diff_min.clone(), AR_SCALE_DAMP_FACTOR as u32);
[INFO] [stdout]     |                  ^^^^^^^^^^ use of undeclared type `HeaderInfo`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 15  + use stack_test_epic_core::consensus::HeaderInfo;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `AR_SCALE_DAMP_FACTOR` in this scope
[INFO] [stdout]    --> tests/consensus.rs:361:63
[INFO] [stdout]     |
[INFO] [stdout] 361 |     let mut hi = HeaderInfo::from_diff_scaling(diff_min.clone(), AR_SCALE_DAMP_FACTOR as u32);
[INFO] [stdout]     |                                                                  ^^^^^^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this constant
[INFO] [stdout]     |
[INFO] [stdout] 15  + use stack_test_epic_core::consensus::AR_SCALE_DAMP_FACTOR;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `next_difficulty` in this scope
[INFO] [stdout]    --> tests/consensus.rs:363:15
[INFO] [stdout]     |
[INFO] [stdout] 363 |     let hinext = next_difficulty(
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this function
[INFO] [stdout]     |
[INFO] [stdout] 15  + use stack_test_epic_core::consensus::next_difficulty;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `BLOCK_TIME_SEC` in this scope
[INFO] [stdout]    --> tests/consensus.rs:367:4
[INFO] [stdout]     |
[INFO] [stdout] 367 |             BLOCK_TIME_SEC / 4,
[INFO] [stdout]     |             ^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this constant
[INFO] [stdout]     |
[INFO] [stdout] 15  + use stack_test_epic_core::consensus::BLOCK_TIME_SEC;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `DIFFICULTY_ADJUST_WINDOW` in this scope
[INFO] [stdout]    --> tests/consensus.rs:369:4
[INFO] [stdout]     |
[INFO] [stdout] 369 |             DIFFICULTY_ADJUST_WINDOW,
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this constant
[INFO] [stdout]     |
[INFO] [stdout] 15  + use stack_test_epic_core::consensus::DIFFICULTY_ADJUST_WINDOW;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `MIN_DIFFICULTY` in this scope
[INFO] [stdout]    --> tests/consensus.rs:380:39
[INFO] [stdout]     |
[INFO] [stdout] 380 |     assert_ne!(hinext.secondary_scaling, MIN_DIFFICULTY as u32);
[INFO] [stdout]     |                                          ^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this constant
[INFO] [stdout]     |
[INFO] [stdout] 15  + use stack_test_epic_core::consensus::MIN_DIFFICULTY;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `DIFFICULTY_ADJUST_WINDOW` in this scope
[INFO] [stdout]    --> tests/consensus.rs:383:20
[INFO] [stdout]     |
[INFO] [stdout] 383 |     let just_enough = DIFFICULTY_ADJUST_WINDOW + 1;
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this constant
[INFO] [stdout]     |
[INFO] [stdout] 15  + use stack_test_epic_core::consensus::DIFFICULTY_ADJUST_WINDOW;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `next_difficulty` in this scope
[INFO] [stdout]    --> tests/consensus.rs:386:3
[INFO] [stdout]     |
[INFO] [stdout] 386 |         next_difficulty(
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this function
[INFO] [stdout]     |
[INFO] [stdout] 15  + use stack_test_epic_core::consensus::next_difficulty;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `BLOCK_TIME_SEC` in this scope
[INFO] [stdout]    --> tests/consensus.rs:389:11
[INFO] [stdout]     |
[INFO] [stdout] 389 |             repeat(BLOCK_TIME_SEC, hi.clone(), just_enough, None)
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this constant
[INFO] [stdout]     |
[INFO] [stdout] 15  + use stack_test_epic_core::consensus::BLOCK_TIME_SEC;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `next_difficulty` in this scope
[INFO] [stdout]    --> tests/consensus.rs:398:3
[INFO] [stdout]     |
[INFO] [stdout] 398 |         next_difficulty(
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this function
[INFO] [stdout]     |
[INFO] [stdout] 15  + use stack_test_epic_core::consensus::next_difficulty;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `HeaderInfo`
[INFO] [stdout]    --> tests/consensus.rs:401:9
[INFO] [stdout]     |
[INFO] [stdout] 401 |             vec![HeaderInfo::from_ts_diff(42, hi.difficulty)]
[INFO] [stdout]     |                  ^^^^^^^^^^ use of undeclared type `HeaderInfo`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 15  + use stack_test_epic_core::consensus::HeaderInfo;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `DIFFICULTY_ADJUST_WINDOW` in this scope
[INFO] [stdout]    --> tests/consensus.rs:410:12
[INFO] [stdout]     |
[INFO] [stdout] 410 |     let sec = DIFFICULTY_ADJUST_WINDOW / 2;
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this constant
[INFO] [stdout]     |
[INFO] [stdout] 15  + use stack_test_epic_core::consensus::DIFFICULTY_ADJUST_WINDOW;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `BLOCK_TIME_SEC` in this scope
[INFO] [stdout]    --> tests/consensus.rs:411:22
[INFO] [stdout]     |
[INFO] [stdout] 411 |     let mut s1 = repeat(BLOCK_TIME_SEC, hi.clone(), sec, Some(cur_time));
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this constant
[INFO] [stdout]     |
[INFO] [stdout] 15  + use stack_test_epic_core::consensus::BLOCK_TIME_SEC;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `BLOCK_TIME_SEC` in this scope
[INFO] [stdout]    --> tests/consensus.rs:413:21
[INFO] [stdout]     |
[INFO] [stdout] 413 |         cur_time + (sec * BLOCK_TIME_SEC) as u64,
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this constant
[INFO] [stdout]     |
[INFO] [stdout] 15  + use stack_test_epic_core::consensus::BLOCK_TIME_SEC;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `BLOCK_TIME_SEC` in this scope
[INFO] [stdout]    --> tests/consensus.rs:414:3
[INFO] [stdout]     |
[INFO] [stdout] 414 |         BLOCK_TIME_SEC,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this constant
[INFO] [stdout]     |
[INFO] [stdout] 15  + use stack_test_epic_core::consensus::BLOCK_TIME_SEC;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `DIFFICULTY_ADJUST_WINDOW` in this scope
[INFO] [stdout]    --> tests/consensus.rs:416:3
[INFO] [stdout]     |
[INFO] [stdout] 416 |         DIFFICULTY_ADJUST_WINDOW / 2,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this constant
[INFO] [stdout]     |
[INFO] [stdout] 15  + use stack_test_epic_core::consensus::DIFFICULTY_ADJUST_WINDOW;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `next_difficulty` in this scope
[INFO] [stdout]    --> tests/consensus.rs:420:3
[INFO] [stdout]     |
[INFO] [stdout] 420 |         next_difficulty(1, PoWType::Cuckatoo, s2)
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this function
[INFO] [stdout]     |
[INFO] [stdout] 15  + use stack_test_epic_core::consensus::next_difficulty;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `next_difficulty` in this scope
[INFO] [stdout]    --> tests/consensus.rs:429:3
[INFO] [stdout]     |
[INFO] [stdout] 429 |         next_difficulty(
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this function
[INFO] [stdout]     |
[INFO] [stdout] 15  + use stack_test_epic_core::consensus::next_difficulty;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `next_difficulty` in this scope
[INFO] [stdout]    --> tests/consensus.rs:439:3
[INFO] [stdout]     |
[INFO] [stdout] 439 |         next_difficulty(
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this function
[INFO] [stdout]     |
[INFO] [stdout] 15  + use stack_test_epic_core::consensus::next_difficulty;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `next_difficulty` in this scope
[INFO] [stdout]    --> tests/consensus.rs:451:3
[INFO] [stdout]     |
[INFO] [stdout] 451 |         next_difficulty(
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this function
[INFO] [stdout]     |
[INFO] [stdout] 15  + use stack_test_epic_core::consensus::next_difficulty;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `next_difficulty` in this scope
[INFO] [stdout]    --> tests/consensus.rs:461:3
[INFO] [stdout]     |
[INFO] [stdout] 461 |         next_difficulty(
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this function
[INFO] [stdout]     |
[INFO] [stdout] 15  + use stack_test_epic_core::consensus::next_difficulty;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `next_difficulty` in this scope
[INFO] [stdout]    --> tests/consensus.rs:471:3
[INFO] [stdout]     |
[INFO] [stdout] 471 |         next_difficulty(
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this function
[INFO] [stdout]     |
[INFO] [stdout] 15  + use stack_test_epic_core::consensus::next_difficulty;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `next_difficulty` in this scope
[INFO] [stdout]    --> tests/consensus.rs:483:3
[INFO] [stdout]     |
[INFO] [stdout] 483 |         next_difficulty(
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this function
[INFO] [stdout]     |
[INFO] [stdout] 15  + use stack_test_epic_core::consensus::next_difficulty;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `next_difficulty` in this scope
[INFO] [stdout]    --> tests/consensus.rs:495:3
[INFO] [stdout]     |
[INFO] [stdout] 495 |         next_difficulty(
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this function
[INFO] [stdout]     |
[INFO] [stdout] 15  + use stack_test_epic_core::consensus::next_difficulty;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `next_difficulty` in this scope
[INFO] [stdout]    --> tests/consensus.rs:505:3
[INFO] [stdout]     |
[INFO] [stdout] 505 |         next_difficulty(
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this function
[INFO] [stdout]     |
[INFO] [stdout] 15  + use stack_test_epic_core::consensus::next_difficulty;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `next_difficulty` in this scope
[INFO] [stdout]    --> tests/consensus.rs:518:3
[INFO] [stdout]     |
[INFO] [stdout] 518 |         next_difficulty(
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this function
[INFO] [stdout]     |
[INFO] [stdout] 15  + use stack_test_epic_core::consensus::next_difficulty;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `secondary_pow_ratio` in this scope
[INFO] [stdout]    --> tests/consensus.rs:536:14
[INFO] [stdout]     |
[INFO] [stdout] 536 |         assert_eq!(secondary_pow_ratio(1), 90);
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this function
[INFO] [stdout]     |
[INFO] [stdout] 15  + use stack_test_epic_core::consensus::secondary_pow_ratio;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `secondary_pow_ratio` in this scope
[INFO] [stdout]    --> tests/consensus.rs:537:14
[INFO] [stdout]     |
[INFO] [stdout] 537 |         assert_eq!(secondary_pow_ratio(89), 90);
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this function
[INFO] [stdout]     |
[INFO] [stdout] 15  + use stack_test_epic_core::consensus::secondary_pow_ratio;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `secondary_pow_ratio` in this scope
[INFO] [stdout]    --> tests/consensus.rs:538:14
[INFO] [stdout]     |
[INFO] [stdout] 538 |         assert_eq!(secondary_pow_ratio(90), 90);
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this function
[INFO] [stdout]     |
[INFO] [stdout] 15  + use stack_test_epic_core::consensus::secondary_pow_ratio;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `DifficultyNumber`
[INFO] [stdout]   --> src/consensus.rs:27:30
[INFO] [stdout]    |
[INFO] [stdout] 27 | use crate::pow::{Difficulty, DifficultyNumber, PoWType};
[INFO] [stdout]    |                              ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]   --> src/consensus.rs:29:5
[INFO] [stdout]    |
[INFO] [stdout] 29 | use std::collections::HashMap;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `secondary_pow_ratio` in this scope
[INFO] [stdout]    --> tests/consensus.rs:539:14
[INFO] [stdout]     |
[INFO] [stdout] 539 |         assert_eq!(secondary_pow_ratio(91), 90);
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this function
[INFO] [stdout]     |
[INFO] [stdout] 15  + use stack_test_epic_core::consensus::secondary_pow_ratio;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused macro definition: `error_invalid_pow`
[INFO] [stdout]    --> src/consensus.rs:560:14
[INFO] [stdout]     |
[INFO] [stdout] 560 | macro_rules! error_invalid_pow {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_macros)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `secondary_pow_ratio` in this scope
[INFO] [stdout]    --> tests/consensus.rs:540:14
[INFO] [stdout]     |
[INFO] [stdout] 540 |         assert_eq!(secondary_pow_ratio(179), 90);
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this function
[INFO] [stdout]     |
[INFO] [stdout] 15  + use stack_test_epic_core::consensus::secondary_pow_ratio;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `secondary_pow_ratio` in this scope
[INFO] [stdout]    --> tests/consensus.rs:541:14
[INFO] [stdout]     |
[INFO] [stdout] 541 |         assert_eq!(secondary_pow_ratio(180), 90);
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this function
[INFO] [stdout]     |
[INFO] [stdout] 15  + use stack_test_epic_core::consensus::secondary_pow_ratio;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::util::RwLock`
[INFO] [stdout]   --> src/core/block.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | use crate::util::RwLock;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `secondary_pow_ratio` in this scope
[INFO] [stdout]    --> tests/consensus.rs:542:14
[INFO] [stdout]     |
[INFO] [stdout] 542 |         assert_eq!(secondary_pow_ratio(181), 90);
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this function
[INFO] [stdout]     |
[INFO] [stdout] 15  + use stack_test_epic_core::consensus::secondary_pow_ratio;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]   --> src/core/block.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 24 | use std::collections::HashMap;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]   --> src/core/block.rs:29:5
[INFO] [stdout]    |
[INFO] [stdout] 29 | use std::sync::Arc;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `reward`
[INFO] [stdout]   --> src/core/block.rs:32:53
[INFO] [stdout]    |
[INFO] [stdout] 32 |     self, add_reward_foundation, is_foundation_height, reward, reward_at_height, reward_foundation,
[INFO] [stdout]    |                                                        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `secondary_pow_ratio` in this scope
[INFO] [stdout]    --> tests/consensus.rs:545:14
[INFO] [stdout]     |
[INFO] [stdout] 545 |         assert_eq!(secondary_pow_ratio(one_week - 1), 90);
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this function
[INFO] [stdout]     |
[INFO] [stdout] 15  + use stack_test_epic_core::consensus::secondary_pow_ratio;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/macros.rs:78:9
[INFO] [stdout]     |
[INFO] [stdout] 78  |     ( $(r#try!($rdr.$read_call($($val),*))),* )
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/core/block.rs:309:28
[INFO] [stdout]     |
[INFO] [stdout] 309 |     let (height, timestamp) = ser_multiread!(reader, read_u64, read_i64);
[INFO] [stdout]     |                               ------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout]     = note: this warning originates in the macro `ser_multiread` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `secondary_pow_ratio` in this scope
[INFO] [stdout]    --> tests/consensus.rs:546:14
[INFO] [stdout]     |
[INFO] [stdout] 546 |         assert_eq!(secondary_pow_ratio(one_week), 90);
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this function
[INFO] [stdout]     |
[INFO] [stdout] 15  + use stack_test_epic_core::consensus::secondary_pow_ratio;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/macros.rs:78:9
[INFO] [stdout]     |
[INFO] [stdout] 78  |     ( $(r#try!($rdr.$read_call($($val),*))),* )
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/core/block.rs:316:43
[INFO] [stdout]     |
[INFO] [stdout] 316 |     let (output_mmr_size, kernel_mmr_size) = ser_multiread!(reader, read_u64, read_u64);
[INFO] [stdout]     |                                              ------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `ser_multiread` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/macros.rs:92:8
[INFO] [stdout]     |
[INFO] [stdout] 92  |       $( r#try!($wrtr.$write_call($val)) );*
[INFO] [stdout]     |          ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/core/block.rs:363:3
[INFO] [stdout]     |
[INFO] [stdout] 363 | /         ser_multiwrite!(
[INFO] [stdout] 364 | |             writer,
[INFO] [stdout] 365 | |             [write_u64, self.height],
[INFO] [stdout] 366 | |             [write_i64, self.timestamp.timestamp()],
[INFO] [stdout] ...   |
[INFO] [stdout] 374 | |             [write_u64, self.kernel_mmr_size]
[INFO] [stdout] 375 | |         );
[INFO] [stdout]     | |_________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `ser_multiwrite` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `secondary_pow_ratio` in this scope
[INFO] [stdout]    --> tests/consensus.rs:547:14
[INFO] [stdout]     |
[INFO] [stdout] 547 |         assert_eq!(secondary_pow_ratio(one_week + 1), 90);
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this function
[INFO] [stdout]     |
[INFO] [stdout] 15  + use stack_test_epic_core::consensus::secondary_pow_ratio;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `secondary_pow_ratio` in this scope
[INFO] [stdout]    --> tests/consensus.rs:550:14
[INFO] [stdout]     |
[INFO] [stdout] 550 |         assert_eq!(secondary_pow_ratio(two_weeks - 1), 89);
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this function
[INFO] [stdout]     |
[INFO] [stdout] 15  + use stack_test_epic_core::consensus::secondary_pow_ratio;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/macros.rs:23:48
[INFO] [stdout]     |
[INFO] [stdout] 23  |         $thing.iter().map($mapfn).collect::<Vec<_>>();
[INFO] [stdout]     |                                                      ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/core/block.rs:908:21
[INFO] [stdout]     |
[INFO] [stdout] 908 |                 secp.commit_sum(map_vec!(cb_outs, |x| x.commitment()), vec![over_commit])?;
[INFO] [stdout]     |                                 ------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: `#[warn(semicolon_in_expressions_from_macros)]` on by default
[INFO] [stdout]     = note: this warning originates in the macro `map_vec` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `secondary_pow_ratio` in this scope
[INFO] [stdout]    --> tests/consensus.rs:551:14
[INFO] [stdout]     |
[INFO] [stdout] 551 |         assert_eq!(secondary_pow_ratio(two_weeks), 89);
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this function
[INFO] [stdout]     |
[INFO] [stdout] 15  + use stack_test_epic_core::consensus::secondary_pow_ratio;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `secondary_pow_ratio` in this scope
[INFO] [stdout]    --> tests/consensus.rs:552:14
[INFO] [stdout]     |
[INFO] [stdout] 552 |         assert_eq!(secondary_pow_ratio(two_weeks + 1), 89);
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this function
[INFO] [stdout]     |
[INFO] [stdout] 15  + use stack_test_epic_core::consensus::secondary_pow_ratio;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `secondary_pow_ratio` in this scope
[INFO] [stdout]    --> tests/consensus.rs:555:14
[INFO] [stdout]     |
[INFO] [stdout] 555 |         assert_eq!(secondary_pow_ratio(t4_fork_height - 1), 85);
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this function
[INFO] [stdout]     |
[INFO] [stdout] 15  + use stack_test_epic_core::consensus::secondary_pow_ratio;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `secondary_pow_ratio` in this scope
[INFO] [stdout]    --> tests/consensus.rs:556:14
[INFO] [stdout]     |
[INFO] [stdout] 556 |         assert_eq!(secondary_pow_ratio(t4_fork_height), 85);
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this function
[INFO] [stdout]     |
[INFO] [stdout] 15  + use stack_test_epic_core::consensus::secondary_pow_ratio;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `secondary_pow_ratio` in this scope
[INFO] [stdout]    --> tests/consensus.rs:557:14
[INFO] [stdout]     |
[INFO] [stdout] 557 |         assert_eq!(secondary_pow_ratio(t4_fork_height + 1), 85);
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this function
[INFO] [stdout]     |
[INFO] [stdout] 15  + use stack_test_epic_core::consensus::secondary_pow_ratio;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `secondary_pow_ratio` in this scope
[INFO] [stdout]    --> tests/consensus.rs:560:14
[INFO] [stdout]     |
[INFO] [stdout] 560 |         assert_eq!(secondary_pow_ratio(one_year), 45);
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this function
[INFO] [stdout]     |
[INFO] [stdout] 15  + use stack_test_epic_core::consensus::secondary_pow_ratio;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `secondary_pow_ratio` in this scope
[INFO] [stdout]    --> tests/consensus.rs:563:14
[INFO] [stdout]     |
[INFO] [stdout] 563 |         assert_eq!(secondary_pow_ratio(ninety_one_weeks - 1), 12);
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this function
[INFO] [stdout]     |
[INFO] [stdout] 15  + use stack_test_epic_core::consensus::secondary_pow_ratio;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `secondary_pow_ratio` in this scope
[INFO] [stdout]    --> tests/consensus.rs:564:14
[INFO] [stdout]     |
[INFO] [stdout] 564 |         assert_eq!(secondary_pow_ratio(ninety_one_weeks), 12);
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this function
[INFO] [stdout]     |
[INFO] [stdout] 15  + use stack_test_epic_core::consensus::secondary_pow_ratio;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `secondary_pow_ratio` in this scope
[INFO] [stdout]    --> tests/consensus.rs:565:14
[INFO] [stdout]     |
[INFO] [stdout] 565 |         assert_eq!(secondary_pow_ratio(ninety_one_weeks + 1), 12);
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this function
[INFO] [stdout]     |
[INFO] [stdout] 15  + use stack_test_epic_core::consensus::secondary_pow_ratio;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `secondary_pow_ratio` in this scope
[INFO] [stdout]    --> tests/consensus.rs:568:14
[INFO] [stdout]     |
[INFO] [stdout] 568 |         assert_eq!(secondary_pow_ratio(two_year - 1), 1);
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this function
[INFO] [stdout]     |
[INFO] [stdout] 15  + use stack_test_epic_core::consensus::secondary_pow_ratio;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `secondary_pow_ratio` in this scope
[INFO] [stdout]    --> tests/consensus.rs:569:14
[INFO] [stdout]     |
[INFO] [stdout] 569 |         assert_eq!(secondary_pow_ratio(two_year), 0);
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this function
[INFO] [stdout]     |
[INFO] [stdout] 15  + use stack_test_epic_core::consensus::secondary_pow_ratio;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `secondary_pow_ratio` in this scope
[INFO] [stdout]    --> tests/consensus.rs:570:14
[INFO] [stdout]     |
[INFO] [stdout] 570 |         assert_eq!(secondary_pow_ratio(two_year + 1), 0);
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this function
[INFO] [stdout]     |
[INFO] [stdout] 15  + use stack_test_epic_core::consensus::secondary_pow_ratio;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> src/core/committed.rs:128:14
[INFO] [stdout]     |
[INFO] [stdout] 128 |     ) -> Result<((Commitment, Commitment)), Error> {
[INFO] [stdout]     |                 ^                        ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 128 -     ) -> Result<((Commitment, Commitment)), Error> {
[INFO] [stdout] 128 +     ) -> Result<(Commitment, Commitment), Error> {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]   --> src/macros.rs:78:9
[INFO] [stdout]    |
[INFO] [stdout] 78 |     ( $(r#try!($rdr.$read_call($($val),*))),* )
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/core/compact_block.rs:87:4
[INFO] [stdout]    |
[INFO] [stdout] 87 |             ser_multiread!(reader, read_u64, read_u64, read_u64);
[INFO] [stdout]    |             ---------------------------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `ser_multiread` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `secondary_pow_ratio` in this scope
[INFO] [stdout]    --> tests/consensus.rs:578:14
[INFO] [stdout]     |
[INFO] [stdout] 578 |         assert_eq!(secondary_pow_ratio(1), 90);
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this function
[INFO] [stdout]     |
[INFO] [stdout] 15  + use stack_test_epic_core::consensus::secondary_pow_ratio;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/macros.rs:92:8
[INFO] [stdout]     |
[INFO] [stdout] 92  |       $( r#try!($wrtr.$write_call($val)) );*
[INFO] [stdout]     |          ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/core/compact_block.rs:103:3
[INFO] [stdout]     |
[INFO] [stdout] 103 | /         ser_multiwrite!(
[INFO] [stdout] 104 | |             writer,
[INFO] [stdout] 105 | |             [write_u64, self.out_full.len() as u64],
[INFO] [stdout] 106 | |             [write_u64, self.kern_full.len() as u64],
[INFO] [stdout] 107 | |             [write_u64, self.kern_ids.len() as u64]
[INFO] [stdout] 108 | |         );
[INFO] [stdout]     | |_________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `ser_multiwrite` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `first_fork_height`, `foundation_height`
[INFO] [stdout]  --> src/core/foundation.rs:1:24
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::consensus::{first_fork_height, foundation_height, foundation_index, header_version};
[INFO] [stdout]   |                        ^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `secondary_pow_ratio` in this scope
[INFO] [stdout]    --> tests/consensus.rs:579:14
[INFO] [stdout]     |
[INFO] [stdout] 579 |         assert_eq!(secondary_pow_ratio(89), 90);
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this function
[INFO] [stdout]     |
[INFO] [stdout] 15  + use stack_test_epic_core::consensus::secondary_pow_ratio;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `secondary_pow_ratio` in this scope
[INFO] [stdout]    --> tests/consensus.rs:580:14
[INFO] [stdout]     |
[INFO] [stdout] 580 |         assert_eq!(secondary_pow_ratio(90), 90);
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this function
[INFO] [stdout]     |
[INFO] [stdout] 15  + use stack_test_epic_core::consensus::secondary_pow_ratio;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/core/id.rs:77:1
[INFO] [stdout]    |
[INFO] [stdout] 77 | / /// We want to sort short_ids in a canonical and consistent manner so we can
[INFO] [stdout] 78 | | /// verify sort order in the same way we do for full inputs|outputs|kernels
[INFO] [stdout] 79 | | /// themselves.
[INFO] [stdout]    | |_--------------^
[INFO] [stdout]    |   |
[INFO] [stdout]    |   rustdoc does not generate documentation for macro invocations
[INFO] [stdout]    |
[INFO] [stdout]    = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout]    = note: `#[warn(unused_doc_comments)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `secondary_pow_ratio` in this scope
[INFO] [stdout]    --> tests/consensus.rs:581:14
[INFO] [stdout]     |
[INFO] [stdout] 581 |         assert_eq!(secondary_pow_ratio(91), 90);
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this function
[INFO] [stdout]     |
[INFO] [stdout] 15  + use stack_test_epic_core::consensus::secondary_pow_ratio;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `secondary_pow_ratio` in this scope
[INFO] [stdout]    --> tests/consensus.rs:582:14
[INFO] [stdout]     |
[INFO] [stdout] 582 |         assert_eq!(secondary_pow_ratio(179), 90);
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this function
[INFO] [stdout]     |
[INFO] [stdout] 15  + use stack_test_epic_core::consensus::secondary_pow_ratio;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `secondary_pow_ratio` in this scope
[INFO] [stdout]    --> tests/consensus.rs:583:14
[INFO] [stdout]     |
[INFO] [stdout] 583 |         assert_eq!(secondary_pow_ratio(180), 90);
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this function
[INFO] [stdout]     |
[INFO] [stdout] 15  + use stack_test_epic_core::consensus::secondary_pow_ratio;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `secondary_pow_ratio` in this scope
[INFO] [stdout]    --> tests/consensus.rs:584:14
[INFO] [stdout]     |
[INFO] [stdout] 584 |         assert_eq!(secondary_pow_ratio(181), 90);
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this function
[INFO] [stdout]     |
[INFO] [stdout] 15  + use stack_test_epic_core::consensus::secondary_pow_ratio;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]   --> src/core/transaction.rs:30:5
[INFO] [stdout]    |
[INFO] [stdout] 30 | use std::sync::Arc;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `util::RwLock`
[INFO] [stdout]   --> src/core/transaction.rs:36:5
[INFO] [stdout]    |
[INFO] [stdout] 36 | use util::RwLock;
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `secondary_pow_ratio` in this scope
[INFO] [stdout]    --> tests/consensus.rs:587:14
[INFO] [stdout]     |
[INFO] [stdout] 587 |         assert_eq!(secondary_pow_ratio(one_week - 1), 90);
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this function
[INFO] [stdout]     |
[INFO] [stdout] 15  + use stack_test_epic_core::consensus::secondary_pow_ratio;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `secondary_pow_ratio` in this scope
[INFO] [stdout]    --> tests/consensus.rs:588:14
[INFO] [stdout]     |
[INFO] [stdout] 588 |         assert_eq!(secondary_pow_ratio(one_week), 90);
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this function
[INFO] [stdout]     |
[INFO] [stdout] 15  + use stack_test_epic_core::consensus::secondary_pow_ratio;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `secondary_pow_ratio` in this scope
[INFO] [stdout]    --> tests/consensus.rs:589:14
[INFO] [stdout]     |
[INFO] [stdout] 589 |         assert_eq!(secondary_pow_ratio(one_week + 1), 90);
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this function
[INFO] [stdout]     |
[INFO] [stdout] 15  + use stack_test_epic_core::consensus::secondary_pow_ratio;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `secondary_pow_ratio` in this scope
[INFO] [stdout]    --> tests/consensus.rs:592:14
[INFO] [stdout]     |
[INFO] [stdout] 592 |         assert_eq!(secondary_pow_ratio(two_weeks - 1), 89);
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this function
[INFO] [stdout]     |
[INFO] [stdout] 15  + use stack_test_epic_core::consensus::secondary_pow_ratio;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `secondary_pow_ratio` in this scope
[INFO] [stdout]    --> tests/consensus.rs:593:14
[INFO] [stdout]     |
[INFO] [stdout] 593 |         assert_eq!(secondary_pow_ratio(two_weeks), 89);
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this function
[INFO] [stdout]     |
[INFO] [stdout] 15  + use stack_test_epic_core::consensus::secondary_pow_ratio;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/macros.rs:92:8
[INFO] [stdout]     |
[INFO] [stdout] 92  |       $( r#try!($wrtr.$write_call($val)) );*
[INFO] [stdout]     |          ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/core/transaction.rs:518:3
[INFO] [stdout]     |
[INFO] [stdout] 518 | /         ser_multiwrite!(
[INFO] [stdout] 519 | |             writer,
[INFO] [stdout] 520 | |             [write_u64, self.inputs.len() as u64],
[INFO] [stdout] 521 | |             [write_u64, self.outputs.len() as u64],
[INFO] [stdout] 522 | |             [write_u64, self.kernels.len() as u64]
[INFO] [stdout] 523 | |         );
[INFO] [stdout]     | |_________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `ser_multiwrite` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `secondary_pow_ratio` in this scope
[INFO] [stdout]    --> tests/consensus.rs:594:14
[INFO] [stdout]     |
[INFO] [stdout] 594 |         assert_eq!(secondary_pow_ratio(two_weeks + 1), 89);
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this function
[INFO] [stdout]     |
[INFO] [stdout] 15  + use stack_test_epic_core::consensus::secondary_pow_ratio;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `r#try`: use the `?` operator instead
[INFO] [stdout]    --> src/macros.rs:78:9
[INFO] [stdout]     |
[INFO] [stdout] 78  |     ( $(r#try!($rdr.$read_call($($val),*))),* )
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/core/transaction.rs:538:4
[INFO] [stdout]     |
[INFO] [stdout] 538 |             ser_multiread!(reader, read_u64, read_u64, read_u64);
[INFO] [stdout]     |             ---------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `ser_multiread` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `secondary_pow_ratio` in this scope
[INFO] [stdout]    --> tests/consensus.rs:597:14
[INFO] [stdout]     |
[INFO] [stdout] 597 |         assert_eq!(secondary_pow_ratio(t4_fork_height - 1), 85);
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this function
[INFO] [stdout]     |
[INFO] [stdout] 15  + use stack_test_epic_core::consensus::secondary_pow_ratio;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `secondary_pow_ratio` in this scope
[INFO] [stdout]    --> tests/consensus.rs:598:14
[INFO] [stdout]     |
[INFO] [stdout] 598 |         assert_eq!(secondary_pow_ratio(t4_fork_height), 85);
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this function
[INFO] [stdout]     |
[INFO] [stdout] 15  + use stack_test_epic_core::consensus::secondary_pow_ratio;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `secondary_pow_ratio` in this scope
[INFO] [stdout]    --> tests/consensus.rs:599:14
[INFO] [stdout]     |
[INFO] [stdout] 599 |         assert_eq!(secondary_pow_ratio(t4_fork_height + 1), 85);
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this function
[INFO] [stdout]     |
[INFO] [stdout] 15  + use stack_test_epic_core::consensus::secondary_pow_ratio;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `secondary_pow_ratio` in this scope
[INFO] [stdout]    --> tests/consensus.rs:602:14
[INFO] [stdout]     |
[INFO] [stdout] 602 |         assert_eq!(secondary_pow_ratio(one_year), 45);
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this function
[INFO] [stdout]     |
[INFO] [stdout] 15  + use stack_test_epic_core::consensus::secondary_pow_ratio;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `secondary_pow_ratio` in this scope
[INFO] [stdout]    --> tests/consensus.rs:605:14
[INFO] [stdout]     |
[INFO] [stdout] 605 |         assert_eq!(secondary_pow_ratio(ninety_one_weeks - 1), 12);
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this function
[INFO] [stdout]     |
[INFO] [stdout] 15  + use stack_test_epic_core::consensus::secondary_pow_ratio;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `secondary_pow_ratio` in this scope
[INFO] [stdout]    --> tests/consensus.rs:606:14
[INFO] [stdout]     |
[INFO] [stdout] 606 |         assert_eq!(secondary_pow_ratio(ninety_one_weeks), 12);
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this function
[INFO] [stdout]     |
[INFO] [stdout] 15  + use stack_test_epic_core::consensus::secondary_pow_ratio;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `secondary_pow_ratio` in this scope
[INFO] [stdout]    --> tests/consensus.rs:607:14
[INFO] [stdout]     |
[INFO] [stdout] 607 |         assert_eq!(secondary_pow_ratio(ninety_one_weeks + 1), 12);
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this function
[INFO] [stdout]     |
[INFO] [stdout] 15  + use stack_test_epic_core::consensus::secondary_pow_ratio;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::util`
[INFO] [stdout]   --> src/genesis.rs:27:5
[INFO] [stdout]    |
[INFO] [stdout] 27 | use crate::util;
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::util::secp::constants::SINGLE_BULLET_PROOF_SIZE`
[INFO] [stdout]   --> src/genesis.rs:28:5
[INFO] [stdout]    |
[INFO] [stdout] 28 | use crate::util::secp::constants::SINGLE_BULLET_PROOF_SIZE;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `secondary_pow_ratio` in this scope
[INFO] [stdout]    --> tests/consensus.rs:610:14
[INFO] [stdout]     |
[INFO] [stdout] 610 |         assert_eq!(secondary_pow_ratio(two_year - 1), 1);
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this function
[INFO] [stdout]     |
[INFO] [stdout] 15  + use stack_test_epic_core::consensus::secondary_pow_ratio;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Commitment`, `RangeProof`
[INFO] [stdout]   --> src/genesis.rs:29:35
[INFO] [stdout]    |
[INFO] [stdout] 29 | use crate::util::secp::pedersen::{Commitment, RangeProof};
[INFO] [stdout]    |                                   ^^^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `secondary_pow_ratio` in this scope
[INFO] [stdout]    --> tests/consensus.rs:611:14
[INFO] [stdout]     |
[INFO] [stdout] 611 |         assert_eq!(secondary_pow_ratio(two_year), 0);
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this function
[INFO] [stdout]     |
[INFO] [stdout] 15  + use stack_test_epic_core::consensus::secondary_pow_ratio;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::util::secp::Signature`
[INFO] [stdout]   --> src/genesis.rs:30:5
[INFO] [stdout]    |
[INFO] [stdout] 30 | use crate::util::secp::Signature;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `secondary_pow_ratio` in this scope
[INFO] [stdout]    --> tests/consensus.rs:612:14
[INFO] [stdout]     |
[INFO] [stdout] 612 |         assert_eq!(secondary_pow_ratio(two_year + 1), 0);
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this function
[INFO] [stdout]     |
[INFO] [stdout] 15  + use stack_test_epic_core::consensus::secondary_pow_ratio;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `DIFFICULTY_ADJUST_WINDOW`
[INFO] [stdout]   --> src/global.rs:23:37
[INFO] [stdout]    |
[INFO] [stdout] 23 |     DAY_HEIGHT, DEFAULT_MIN_EDGE_BITS, DIFFICULTY_ADJUST_WINDOW, INITIAL_DIFFICULTY,
[INFO] [stdout]    |                                        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `new_cuckaroo_ctx`
[INFO] [stdout]   --> src/global.rs:27:24
[INFO] [stdout]    |
[INFO] [stdout] 27 | use crate::pow::{self, new_cuckaroo_ctx, new_cuckatoo_ctx, EdgeType, PoWContext};
[INFO] [stdout]    |                        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]   --> src/global.rs:34:5
[INFO] [stdout]    |
[INFO] [stdout] 34 | use std::collections::HashMap;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/global.rs:290:5
[INFO] [stdout]     |
[INFO] [stdout] 290 |     if (height <= consensus::BLOCK_ERA_1) {
[INFO] [stdout]     |        ^                                ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 290 -     if (height <= consensus::BLOCK_ERA_1) {
[INFO] [stdout] 290 +     if height <= consensus::BLOCK_ERA_1 {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/global.rs:292:12
[INFO] [stdout]     |
[INFO] [stdout] 292 |     } else if (height <= consensus::BLOCK_ERA_2) {
[INFO] [stdout]     |               ^                                ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 292 -     } else if (height <= consensus::BLOCK_ERA_2) {
[INFO] [stdout] 292 +     } else if height <= consensus::BLOCK_ERA_2 {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/global.rs:294:12
[INFO] [stdout]     |
[INFO] [stdout] 294 |     } else if (height <= consensus::BLOCK_ERA_3) {
[INFO] [stdout]     |               ^                                ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 294 -     } else if (height <= consensus::BLOCK_ERA_3) {
[INFO] [stdout] 294 +     } else if height <= consensus::BLOCK_ERA_3 {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/global.rs:296:12
[INFO] [stdout]     |
[INFO] [stdout] 296 |     } else if (height <= consensus::BLOCK_ERA_4) {
[INFO] [stdout]     |               ^                                ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 296 -     } else if (height <= consensus::BLOCK_ERA_4) {
[INFO] [stdout] 296 +     } else if height <= consensus::BLOCK_ERA_4 {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/global.rs:298:12
[INFO] [stdout]     |
[INFO] [stdout] 298 |     } else if (height <= consensus::BLOCK_ERA_5) {
[INFO] [stdout]     |               ^                                ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 298 -     } else if (height <= consensus::BLOCK_ERA_5) {
[INFO] [stdout] 298 +     } else if height <= consensus::BLOCK_ERA_5 {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `DIFFICULTY_ADJUST_WINDOW` in this scope
[INFO] [stdout]    --> tests/consensus.rs:618:15
[INFO] [stdout]     |
[INFO] [stdout] 618 |     let window = DIFFICULTY_ADJUST_WINDOW;
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this constant
[INFO] [stdout]     |
[INFO] [stdout] 15  + use stack_test_epic_core::consensus::DIFFICULTY_ADJUST_WINDOW;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]    --> src/libtx/build.rs:249:6
[INFO] [stdout]     |
[INFO] [stdout] 249 |     use std::sync::Arc;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `util::RwLock`
[INFO] [stdout]    --> src/libtx/build.rs:250:6
[INFO] [stdout]     |
[INFO] [stdout] 250 |     use util::RwLock;
[INFO] [stdout]     |         ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `HeaderInfo`
[INFO] [stdout]    --> tests/consensus.rs:619:15
[INFO] [stdout]     |
[INFO] [stdout] 619 |     let mut hi = HeaderInfo::from_diff_scaling(Difficulty::from_num(10), 100);
[INFO] [stdout]     |                  ^^^^^^^^^^ use of undeclared type `HeaderInfo`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 15  + use stack_test_epic_core::consensus::HeaderInfo;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `secondary_pow_scaling` in this scope
[INFO] [stdout]    --> tests/consensus.rs:630:4
[INFO] [stdout]     |
[INFO] [stdout] 630 |             secondary_pow_scaling(1, &(0..window).map(|_| hi.clone()).collect::<Vec<_>>()),
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this function
[INFO] [stdout]     |
[INFO] [stdout] 15  + use stack_test_epic_core::consensus::secondary_pow_scaling;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `secondary_pow_scaling` in this scope
[INFO] [stdout]    --> tests/consensus.rs:636:4
[INFO] [stdout]     |
[INFO] [stdout] 636 |             secondary_pow_scaling(1, &(0..window).map(|_| hi.clone()).collect::<Vec<_>>()),
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this function
[INFO] [stdout]     |
[INFO] [stdout] 15  + use stack_test_epic_core::consensus::secondary_pow_scaling;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::global`
[INFO] [stdout]   --> src/pow/cuckaroo.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 26 | use crate::global;
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `secondary_pow_scaling` in this scope
[INFO] [stdout]    --> tests/consensus.rs:641:4
[INFO] [stdout]     |
[INFO] [stdout] 641 |             secondary_pow_scaling(
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this function
[INFO] [stdout]     |
[INFO] [stdout] 15  + use stack_test_epic_core::consensus::secondary_pow_scaling;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::global`
[INFO] [stdout]   --> src/pow/cuckatoo.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 20 | use crate::global;
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/macros.rs:23:48
[INFO] [stdout]     |
[INFO] [stdout] 23  |         $thing.iter().map($mapfn).collect::<Vec<_>>();
[INFO] [stdout]     |                                                      ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/pow/cuckatoo.rs:274:15
[INFO] [stdout]     |
[INFO] [stdout] 274 |                 *nonces = map_vec!(nonces, |n| val[*n as usize]);
[INFO] [stdout]     |                           -------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `map_vec` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `YEAR_HEIGHT` in this scope
[INFO] [stdout]    --> tests/consensus.rs:642:9
[INFO] [stdout]     |
[INFO] [stdout] 642 |                 2 * YEAR_HEIGHT * 83 / 90,
[INFO] [stdout]     |                     ^^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this constant
[INFO] [stdout]     |
[INFO] [stdout] 15  + use stack_test_epic_core::consensus::YEAR_HEIGHT;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Link`
[INFO] [stdout]  --> src/pow/md5.rs:2:36
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::pow::common::{EdgeType, Link};
[INFO] [stdout]   |                                    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::util`
[INFO] [stdout]  --> src/pow/md5.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::util;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::core::block::BlockHeader`
[INFO] [stdout]  --> src/pow/progpow.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::core::block::BlockHeader;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `HeaderInfo`
[INFO] [stdout]    --> tests/consensus.rs:649:4
[INFO] [stdout]     |
[INFO] [stdout] 649 |             HeaderInfo::from_diff_scaling(Difficulty::from_num(10), MIN_AR_SCALE as u32);
[INFO] [stdout]     |             ^^^^^^^^^^ use of undeclared type `HeaderInfo`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 15  + use stack_test_epic_core::consensus::HeaderInfo;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ErrorKind`
[INFO] [stdout]  --> src/pow/progpow.rs:7:32
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::pow::error::{Error, ErrorKind};
[INFO] [stdout]   |                                ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::util::RwLock`
[INFO] [stdout]  --> src/pow/progpow.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use crate::util::RwLock;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `bigint::uint::U256`
[INFO] [stdout]   --> src/pow/progpow.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | use bigint::uint::U256;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ErrorKind`
[INFO] [stdout]  --> src/pow/randomx.rs:6:32
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::pow::error::{Error, ErrorKind};
[INFO] [stdout]   |                                ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::util::RwLock`
[INFO] [stdout]  --> src/pow/randomx.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::util::RwLock;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `FixedLength`
[INFO] [stdout]   --> src/pow/types.rs:32:24
[INFO] [stdout]    |
[INFO] [stdout] 32 | use crate::ser::{self, FixedLength, Readable, Reader, Writeable, Writer};
[INFO] [stdout]    |                        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::core::hash::Hash`
[INFO] [stdout]   --> src/pow/types.rs:34:5
[INFO] [stdout]    |
[INFO] [stdout] 34 | use crate::core::hash::Hash;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `MIN_AR_SCALE` in this scope
[INFO] [stdout]    --> tests/consensus.rs:649:60
[INFO] [stdout]     |
[INFO] [stdout] 649 |             HeaderInfo::from_diff_scaling(Difficulty::from_num(10), MIN_AR_SCALE as u32);
[INFO] [stdout]     |                                                                     ^^^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this constant
[INFO] [stdout]     |
[INFO] [stdout] 15  + use stack_test_epic_core::consensus::MIN_AR_SCALE;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `secondary_pow_scaling` in this scope
[INFO] [stdout]    --> tests/consensus.rs:652:4
[INFO] [stdout]     |
[INFO] [stdout] 652 |             secondary_pow_scaling(
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this function
[INFO] [stdout]     |
[INFO] [stdout] 15  + use stack_test_epic_core::consensus::secondary_pow_scaling;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `YEAR_HEIGHT` in this scope
[INFO] [stdout]    --> tests/consensus.rs:653:9
[INFO] [stdout]     |
[INFO] [stdout] 653 |                 2 * YEAR_HEIGHT,
[INFO] [stdout]     |                     ^^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this constant
[INFO] [stdout]     |
[INFO] [stdout] 15  + use stack_test_epic_core::consensus::YEAR_HEIGHT;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `MIN_AR_SCALE` in this scope
[INFO] [stdout]    --> tests/consensus.rs:656:4
[INFO] [stdout]     |
[INFO] [stdout] 656 |             MIN_AR_SCALE as u32
[INFO] [stdout]     |             ^^^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this constant
[INFO] [stdout]     |
[INFO] [stdout] 15  + use stack_test_epic_core::consensus::MIN_AR_SCALE;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `HeaderInfo`
[INFO] [stdout]    --> tests/consensus.rs:659:24
[INFO] [stdout]     |
[INFO] [stdout] 659 |         let mut primary_hi = HeaderInfo::from_diff_scaling(Difficulty::from_num(10), 50);
[INFO] [stdout]     |                              ^^^^^^^^^^ use of undeclared type `HeaderInfo`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 15  + use stack_test_epic_core::consensus::HeaderInfo;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `secondary_pow_scaling` in this scope
[INFO] [stdout]    --> tests/consensus.rs:662:4
[INFO] [stdout]     |
[INFO] [stdout] 662 |             secondary_pow_scaling(
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this function
[INFO] [stdout]     |
[INFO] [stdout] 15  + use stack_test_epic_core::consensus::secondary_pow_scaling;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `secondary_pow_scaling` in this scope
[INFO] [stdout]    --> tests/consensus.rs:673:4
[INFO] [stdout]     |
[INFO] [stdout] 673 |             secondary_pow_scaling(
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this function
[INFO] [stdout]     |
[INFO] [stdout] 15  + use stack_test_epic_core::consensus::secondary_pow_scaling;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `secondary_pow_scaling` in this scope
[INFO] [stdout]    --> tests/consensus.rs:684:4
[INFO] [stdout]     |
[INFO] [stdout] 684 |             secondary_pow_scaling(
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this function
[INFO] [stdout]     |
[INFO] [stdout] 15  + use stack_test_epic_core::consensus::secondary_pow_scaling;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `valid_header_version` in this scope
[INFO] [stdout]    --> tests/consensus.rs:699:11
[INFO] [stdout]     |
[INFO] [stdout] 699 |     assert!(!valid_header_version(199, HeaderVersion(6)));
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this function
[INFO] [stdout]     |
[INFO] [stdout] 15  + use stack_test_epic_core::consensus::valid_header_version;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `valid_header_version` in this scope
[INFO] [stdout]    --> tests/consensus.rs:700:10
[INFO] [stdout]     |
[INFO] [stdout] 700 |     assert!(valid_header_version(200, HeaderVersion(7)));
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this function
[INFO] [stdout]     |
[INFO] [stdout] 15  + use stack_test_epic_core::consensus::valid_header_version;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `valid_header_version` in this scope
[INFO] [stdout]    --> tests/consensus.rs:701:10
[INFO] [stdout]     |
[INFO] [stdout] 701 |     assert!(valid_header_version(YEAR_HEIGHT / 2 - 1, HeaderVersion(7)));
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this function
[INFO] [stdout]     |
[INFO] [stdout] 15  + use stack_test_epic_core::consensus::valid_header_version;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `YEAR_HEIGHT` in this scope
[INFO] [stdout]    --> tests/consensus.rs:701:31
[INFO] [stdout]     |
[INFO] [stdout] 701 |     assert!(valid_header_version(YEAR_HEIGHT / 2 - 1, HeaderVersion(7)));
[INFO] [stdout]     |                                  ^^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this constant
[INFO] [stdout]     |
[INFO] [stdout] 15  + use stack_test_epic_core::consensus::YEAR_HEIGHT;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 124 previous errors
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0412, E0425, E0432, E0433.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0412`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `stack_test_epic_core` (test "consensus") due to 125 previous errors
[INFO] [stdout] warning: use of deprecated constant `chrono::naive::MAX_DATE`: Use NaiveDate::MAX instead
[INFO] [stdout]   --> src/core/block.rs:20:21
[INFO] [stdout]    |
[INFO] [stdout] 20 | use chrono::naive::{MAX_DATE, MIN_DATE};
[INFO] [stdout]    |                     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `chrono::naive::MIN_DATE`: Use NaiveDate::MIN instead
[INFO] [stdout]   --> src/core/block.rs:20:31
[INFO] [stdout]    |
[INFO] [stdout] 20 | use chrono::naive::{MAX_DATE, MIN_DATE};
[INFO] [stdout]    |                               ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `chrono::naive::MAX_DATE`: Use NaiveDate::MAX instead
[INFO] [stdout]    --> src/core/block.rs:321:17
[INFO] [stdout]     |
[INFO] [stdout] 321 |     if timestamp > MAX_DATE.and_hms(0, 0, 0).timestamp()
[INFO] [stdout]     |                    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `chrono::naive::MIN_DATE`: Use NaiveDate::MIN instead
[INFO] [stdout]    --> src/core/block.rs:322:18
[INFO] [stdout]     |
[INFO] [stdout] 322 |         || timestamp < MIN_DATE.and_hms(0, 0, 0).timestamp()
[INFO] [stdout]     |                        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/core/block.rs:137:23
[INFO] [stdout]     |
[INFO] [stdout] 137 |     fn read(reader: &mut Reader) -> Result<HeaderEntry, ser::Error> {
[INFO] [stdout]     |                          ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 137 |     fn read(reader: &mut dyn Reader) -> Result<HeaderEntry, ser::Error> {
[INFO] [stdout]     |                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/core/pmmr/backend.rs:56:33
[INFO] [stdout]    |
[INFO] [stdout] 56 |     fn leaf_pos_iter(&self) -> Box<Iterator<Item = u64> + '_>;
[INFO] [stdout]    |                                    ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 56 |     fn leaf_pos_iter(&self) -> Box<dyn Iterator<Item = u64> + '_>;
[INFO] [stdout]    |                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/core/pmmr/rewindable_pmmr.rs:53:31
[INFO] [stdout]    |
[INFO] [stdout] 53 |     pub fn backend(&'a self) -> &Backend<T> {
[INFO] [stdout]    |                                  ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 53 |     pub fn backend(&'a self) -> &dyn Backend<T> {
[INFO] [stdout]    |                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `chrono::DateTime::<Tz>::from_utc`: Use TimeZone::from_utc_datetime() or DateTime::from_naive_utc_and_offset instead
[INFO] [stdout]    --> src/core/block.rs:257:32
[INFO] [stdout]     |
[INFO] [stdout] 257 |             timestamp: DateTime::<Utc>::from_utc(NaiveDateTime::from_timestamp(0, 0), Utc),
[INFO] [stdout]     |                                         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `chrono::NaiveDateTime::from_timestamp`: use `from_timestamp_opt()` instead
[INFO] [stdout]    --> src/core/block.rs:257:56
[INFO] [stdout]     |
[INFO] [stdout] 257 |             timestamp: DateTime::<Utc>::from_utc(NaiveDateTime::from_timestamp(0, 0), Utc),
[INFO] [stdout]     |                                                                 ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `chrono::NaiveDate::and_hms`: use `and_hms_opt()` instead
[INFO] [stdout]    --> src/core/block.rs:321:26
[INFO] [stdout]     |
[INFO] [stdout] 321 |     if timestamp > MAX_DATE.and_hms(0, 0, 0).timestamp()
[INFO] [stdout]     |                             ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `chrono::NaiveDate::and_hms`: use `and_hms_opt()` instead
[INFO] [stdout]    --> src/core/block.rs:322:27
[INFO] [stdout]     |
[INFO] [stdout] 322 |         || timestamp < MIN_DATE.and_hms(0, 0, 0).timestamp()
[INFO] [stdout]     |                                 ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `chrono::DateTime::<Tz>::from_utc`: Use TimeZone::from_utc_datetime() or DateTime::from_naive_utc_and_offset instead
[INFO] [stdout]    --> src/core/block.rs:338:31
[INFO] [stdout]     |
[INFO] [stdout] 338 |         timestamp: DateTime::<Utc>::from_utc(NaiveDateTime::from_timestamp(timestamp, 0), Utc),
[INFO] [stdout]     |                                     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `chrono::NaiveDateTime::from_timestamp`: use `from_timestamp_opt()` instead
[INFO] [stdout]    --> src/core/block.rs:338:55
[INFO] [stdout]     |
[INFO] [stdout] 338 |         timestamp: DateTime::<Utc>::from_utc(NaiveDateTime::from_timestamp(timestamp, 0), Utc),
[INFO] [stdout]     |                                                             ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `chrono::DateTime::<Tz>::from_utc`: Use TimeZone::from_utc_datetime() or DateTime::from_naive_utc_and_offset instead
[INFO] [stdout]    --> src/core/block.rs:676:36
[INFO] [stdout]     |
[INFO] [stdout] 676 |         let timestamp = DateTime::<Utc>::from_utc(NaiveDateTime::from_timestamp(now, 0), Utc);
[INFO] [stdout]     |                                          ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `chrono::NaiveDateTime::from_timestamp`: use `from_timestamp_opt()` instead
[INFO] [stdout]    --> src/core/block.rs:676:60
[INFO] [stdout]     |
[INFO] [stdout] 676 |         let timestamp = DateTime::<Utc>::from_utc(NaiveDateTime::from_timestamp(now, 0), Utc);
[INFO] [stdout]     |                                                                  ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `chrono::DateTime::<Tz>::from_utc`: Use TimeZone::from_utc_datetime() or DateTime::from_naive_utc_and_offset instead
[INFO] [stdout]    --> src/core/block.rs:725:36
[INFO] [stdout]     |
[INFO] [stdout] 725 |         let timestamp = DateTime::<Utc>::from_utc(NaiveDateTime::from_timestamp(now, 0), Utc);
[INFO] [stdout]     |                                          ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `chrono::NaiveDateTime::from_timestamp`: use `from_timestamp_opt()` instead
[INFO] [stdout]    --> src/core/block.rs:725:60
[INFO] [stdout]     |
[INFO] [stdout] 725 |         let timestamp = DateTime::<Utc>::from_utc(NaiveDateTime::from_timestamp(now, 0), Utc);
[INFO] [stdout]     |                                                                  ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/core/foundation.rs:50:68
[INFO] [stdout]    |
[INFO] [stdout] 50 |         Err(why) => panic!("Couldn't create {}: {}", path.display(), why.description()),
[INFO] [stdout]    |                                                                          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `chrono::TimeZone::ymd`: use `with_ymd_and_hms()` instead
[INFO] [stdout]   --> src/genesis.rs:43:18
[INFO] [stdout]    |
[INFO] [stdout] 43 |         timestamp: Utc.ymd(1997, 8, 4).and_hms(0, 0, 0),
[INFO] [stdout]    |                        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `chrono::Date::<Tz>::and_hms`: Use and_hms_opt() instead
[INFO] [stdout]   --> src/genesis.rs:43:34
[INFO] [stdout]    |
[INFO] [stdout] 43 |         timestamp: Utc.ymd(1997, 8, 4).and_hms(0, 0, 0),
[INFO] [stdout]    |                                        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `chrono::TimeZone::ymd`: use `with_ymd_and_hms()` instead
[INFO] [stdout]   --> src/genesis.rs:68:18
[INFO] [stdout]    |
[INFO] [stdout] 68 |         timestamp: Utc.ymd(2019, 8, 9).and_hms(17, 04, 38),
[INFO] [stdout]    |                        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `chrono::Date::<Tz>::and_hms`: Use and_hms_opt() instead
[INFO] [stdout]   --> src/genesis.rs:68:34
[INFO] [stdout]    |
[INFO] [stdout] 68 |         timestamp: Utc.ymd(2019, 8, 9).and_hms(17, 04, 38),
[INFO] [stdout]    |                                        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `chrono::TimeZone::ymd`: use `with_ymd_and_hms()` instead
[INFO] [stdout]    --> src/genesis.rs:129:18
[INFO] [stdout]     |
[INFO] [stdout] 129 |         timestamp: Utc.ymd(2019, 8, 9).and_hms(17, 04, 38),
[INFO] [stdout]     |                        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `chrono::Date::<Tz>::and_hms`: Use and_hms_opt() instead
[INFO] [stdout]    --> src/genesis.rs:129:34
[INFO] [stdout]     |
[INFO] [stdout] 129 |         timestamp: Utc.ymd(2019, 8, 9).and_hms(17, 04, 38),
[INFO] [stdout]     |                                        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `chrono::DateTime::<Tz>::from_utc`: Use TimeZone::from_utc_datetime() or DateTime::from_naive_utc_and_offset instead
[INFO] [stdout]    --> src/pow.rs:147:36
[INFO] [stdout]     |
[INFO] [stdout] 147 |             bh.timestamp = DateTime::<Utc>::from_utc(NaiveDateTime::from_timestamp(0, 0), Utc);
[INFO] [stdout]     |                                             ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `chrono::NaiveDateTime::from_timestamp`: use `from_timestamp_opt()` instead
[INFO] [stdout]    --> src/pow.rs:147:60
[INFO] [stdout]     |
[INFO] [stdout] 147 |             bh.timestamp = DateTime::<Utc>::from_utc(NaiveDateTime::from_timestamp(0, 0), Utc);
[INFO] [stdout]     |                                                                     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `height`
[INFO] [stdout]    --> src/consensus.rs:626:27
[INFO] [stdout]     |
[INFO] [stdout] 626 | fn next_cuckoo_difficulty(height: u64, pow: PoWType, diff_data: &Vec<HeaderInfo>) -> u64 {
[INFO] [stdout]     |                           ^^^^^^ help: if this is intentional, prefix it with an underscore: `_height`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `version`
[INFO] [stdout]   --> src/core/foundation.rs:63:41
[INFO] [stdout]    |
[INFO] [stdout] 63 | fn get_foundation_tx_offset(index: u64, version: HeaderVersion) -> u64 {
[INFO] [stdout]    |                                         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_version`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `policy_config`
[INFO] [stdout]    --> src/global.rs:289:6
[INFO] [stdout]     |
[INFO] [stdout] 289 |     let policy_config = POLICY_CONFIG.read();
[INFO] [stdout]     |         ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_policy_config`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `height`
[INFO] [stdout]   --> src/pow/cuckaroo.rs:62:3
[INFO] [stdout]    |
[INFO] [stdout] 62 |         height: Option<u64>,
[INFO] [stdout]    |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_height`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `height`
[INFO] [stdout]    --> src/pow/cuckatoo.rs:193:3
[INFO] [stdout]     |
[INFO] [stdout] 193 |         height: Option<u64>,
[INFO] [stdout]     |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_height`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `height`
[INFO] [stdout]   --> src/pow/md5.rs:46:3
[INFO] [stdout]    |
[INFO] [stdout] 46 |         height: Option<u64>,
[INFO] [stdout]    |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_height`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `header`
[INFO] [stdout]   --> src/pow/progpow.rs:47:26
[INFO] [stdout]    |
[INFO] [stdout] 47 | pub fn get_progpow_value(header: &[u8], height: u64, nonce: u64) -> [u8; 32] {
[INFO] [stdout]    |                          ^^^^^^ help: if this is intentional, prefix it with an underscore: `_header`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `height`
[INFO] [stdout]   --> src/pow/progpow.rs:47:41
[INFO] [stdout]    |
[INFO] [stdout] 47 | pub fn get_progpow_value(header: &[u8], height: u64, nonce: u64) -> [u8; 32] {
[INFO] [stdout]    |                                         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_height`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `nonce`
[INFO] [stdout]   --> src/pow/progpow.rs:47:54
[INFO] [stdout]    |
[INFO] [stdout] 47 | pub fn get_progpow_value(header: &[u8], height: u64, nonce: u64) -> [u8; 32] {
[INFO] [stdout]    |                                                      ^^^^^ help: if this is intentional, prefix it with an underscore: `_nonce`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `proof`
[INFO] [stdout]    --> src/pow/progpow.rs:102:23
[INFO] [stdout]     |
[INFO] [stdout] 102 |     fn verify(&mut self, proof: &Proof) -> Result<(), Error> {
[INFO] [stdout]     |                          ^^^^^ help: if this is intentional, prefix it with an underscore: `_proof`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `height`
[INFO] [stdout]   --> src/pow/randomx.rs:91:3
[INFO] [stdout]    |
[INFO] [stdout] 91 |         height: Option<u64>,
[INFO] [stdout]    |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_height`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `proof`
[INFO] [stdout]    --> src/pow/randomx.rs:109:23
[INFO] [stdout]     |
[INFO] [stdout] 109 |     fn verify(&mut self, proof: &Proof) -> Result<(), Error> {
[INFO] [stdout]     |                          ^^^^^ help: if this is intentional, prefix it with an underscore: `_proof`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]    --> src/pow/types.rs:235:46
[INFO] [stdout]     |
[INFO] [stdout] 235 |         let self_sum: u128 = self.num.iter().map(|(x, y)| *y as u128).sum();
[INFO] [stdout]     |                                                    ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]    --> src/pow/types.rs:237:48
[INFO] [stdout]     |
[INFO] [stdout] 237 |         let other_sum: u128 = other.num.iter().map(|(x, y)| *y as u128).sum();
[INFO] [stdout]     |                                                      ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]    --> src/pow/types.rs:245:46
[INFO] [stdout]     |
[INFO] [stdout] 245 |         let self_sum: u128 = self.num.iter().map(|(x, y)| *y as u128).sum();
[INFO] [stdout]     |                                                    ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]    --> src/pow/types.rs:247:48
[INFO] [stdout]     |
[INFO] [stdout] 247 |         let other_sum: u128 = other.num.iter().map(|(x, y)| *y as u128).sum();
[INFO] [stdout]     |                                                      ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `mix`
[INFO] [stdout]    --> src/pow/types.rs:493:26
[INFO] [stdout]     |
[INFO] [stdout] 493 |             Proof::ProgPowProof { ref mix } => {
[INFO] [stdout]     |                                   ^^^^^^^ help: try ignoring the field: `mix: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `largest_allotment` is never used
[INFO] [stdout]    --> src/core/block/feijoada.rs:243:4
[INFO] [stdout]     |
[INFO] [stdout] 243 | fn largest_allotment(policy: &Policy) -> PoWType {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `check_policy` is never used
[INFO] [stdout]    --> src/core/block/feijoada.rs:248:4
[INFO] [stdout]     |
[INFO] [stdout] 248 | fn check_policy(policy: &Policy) {
[INFO] [stdout]     |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `transform_header` is never used
[INFO] [stdout]   --> src/pow/progpow.rs:34:4
[INFO] [stdout]    |
[INFO] [stdout] 34 | fn transform_header(header: &[u8]) -> [u8; 32] {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 93 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "5dd95aedeccb1743e92c0153d547139ebe72baf90f2f990effca6297ce5706c0", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "5dd95aedeccb1743e92c0153d547139ebe72baf90f2f990effca6297ce5706c0", kill_on_drop: false }`
[INFO] [stdout] 5dd95aedeccb1743e92c0153d547139ebe72baf90f2f990effca6297ce5706c0
