[INFO] cloning repository https://github.com/payjoin/btsim
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/payjoin/btsim" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fpayjoin%2Fbtsim", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fpayjoin%2Fbtsim'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 542046a46e73bdd0dd8d66b97dd9b12f3b664914
[INFO] testing payjoin/btsim against try#bd7d74411512a3dd3b35d2f699c51dd2557c7e7e+cargoflags=-Zbuild-dir-new-layout for pr-149852-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fpayjoin%2Fbtsim" "/workspace/builds/worker-0-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/payjoin/btsim
[INFO] finished tweaking git repo https://github.com/payjoin/btsim
[INFO] tweaked toml for git repo https://github.com/payjoin/btsim written to /workspace/builds/worker-0-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/payjoin/btsim on toolchain bd7d74411512a3dd3b35d2f699c51dd2557c7e7e
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+bd7d74411512a3dd3b35d2f699c51dd2557c7e7e" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/payjoin/btsim already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+bd7d74411512a3dd3b35d2f699c51dd2557c7e7e" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+bd7d74411512a3dd3b35d2f699c51dd2557c7e7e" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 1e208f20592cbfa06d846357b60af73fc72f8d4abe295337c40420c310a7c170
[INFO] running `Command { std: "docker" "start" "-a" "1e208f20592cbfa06d846357b60af73fc72f8d4abe295337c40420c310a7c170", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "1e208f20592cbfa06d846357b60af73fc72f8d4abe295337c40420c310a7c170", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "1e208f20592cbfa06d846357b60af73fc72f8d4abe295337c40420c310a7c170", kill_on_drop: false }`
[INFO] [stdout] 1e208f20592cbfa06d846357b60af73fc72f8d4abe295337c40420c310a7c170
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+bd7d74411512a3dd3b35d2f699c51dd2557c7e7e" "build" "--frozen" "--message-format=json" "-Zbuild-dir-new-layout", kill_on_drop: false }`
[INFO] [stdout] 7d7e0266365af7e64325c155a2a553c322dc14c0086714a99e3f524eed7bdc99
[INFO] running `Command { std: "docker" "start" "-a" "7d7e0266365af7e64325c155a2a553c322dc14c0086714a99e3f524eed7bdc99", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.177
[INFO] [stderr]    Compiling proc-macro2 v1.0.101
[INFO] [stderr]    Compiling either v1.15.0
[INFO] [stderr]    Compiling getrandom v0.3.4
[INFO] [stderr]    Compiling hashbrown v0.16.0
[INFO] [stderr]    Compiling matrixmultiply v0.3.10
[INFO] [stderr]    Compiling arrayvec v0.7.4
[INFO] [stderr]    Compiling ucd-trie v0.1.7
[INFO] [stderr]    Compiling cc v1.0.99
[INFO] [stderr]    Compiling bitcoin-internals v0.3.0
[INFO] [stderr]    Compiling bytemuck v1.24.0
[INFO] [stderr]    Compiling num-complex v0.4.6
[INFO] [stderr]    Compiling num-integer v0.1.46
[INFO] [stderr]    Compiling bitcoin-io v0.1.2
[INFO] [stderr]    Compiling rustix v1.1.2
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]    Compiling hex-conservative v0.2.1
[INFO] [stderr]    Compiling rayon v1.11.0
[INFO] [stderr]    Compiling safe_arch v0.7.4
[INFO] [stderr]    Compiling pest v2.8.3
[INFO] [stderr]    Compiling dot-structures v0.1.2
[INFO] [stderr]    Compiling approx v0.5.1
[INFO] [stderr]    Compiling bitcoin_hashes v0.14.0
[INFO] [stderr]    Compiling foldhash v0.1.5
[INFO] [stderr]    Compiling wide v0.7.33
[INFO] [stderr]    Compiling hex_lit v0.1.1
[INFO] [stderr]    Compiling im v15.1.0
[INFO] [stderr]    Compiling dot-generator v0.2.0
[INFO] [stderr]    Compiling into-attr v0.1.1
[INFO] [stderr]    Compiling num-rational v0.4.2
[INFO] [stderr]    Compiling itertools v0.14.0
[INFO] [stderr]    Compiling quote v1.0.42
[INFO] [stderr]    Compiling log v0.4.28
[INFO] [stderr]    Compiling bitcoin v0.32.7
[INFO] [stderr]    Compiling fixedbitset v0.4.2
[INFO] [stderr]    Compiling once_cell v1.21.3
[INFO] [stderr]    Compiling fixedbitset v0.5.7
[INFO] [stderr]    Compiling env_filter v0.1.4
[INFO] [stderr]    Compiling syn v2.0.106
[INFO] [stderr]    Compiling bitcoin-units v0.1.1
[INFO] [stderr]    Compiling bech32 v0.11.0
[INFO] [stderr]    Compiling pest_meta v2.8.3
[INFO] [stderr]    Compiling jiff v0.2.16
[INFO] [stderr]    Compiling getrandom v0.2.15
[INFO] [stderr]    Compiling base58ck v0.1.0
[INFO] [stderr]    Compiling rand_core v0.9.3
[INFO] [stderr]    Compiling bdk_coin_select v0.3.0
[INFO] [stderr]    Compiling secp256k1-sys v0.10.0
[INFO] [stderr]    Compiling simba v0.9.1
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]    Compiling colorous v1.0.16
[INFO] [stderr]    Compiling rand_chacha v0.9.0
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling rand_xoshiro v0.6.0
[INFO] [stderr]    Compiling rand_pcg v0.9.0
[INFO] [stderr]    Compiling rand v0.9.2
[INFO] [stderr]    Compiling tempfile v3.23.0
[INFO] [stderr]    Compiling rand v0.8.5
[INFO] [stderr]    Compiling indexmap v2.11.4
[INFO] [stderr]    Compiling hashbrown v0.15.5
[INFO] [stderr]    Compiling rayon-cond v0.4.0
[INFO] [stderr]    Compiling ndarray v0.16.1
[INFO] [stderr]    Compiling rand_distr v0.5.1
[INFO] [stderr]    Compiling into-attr-derive v0.2.1
[INFO] [stderr]    Compiling pest_generator v2.8.3
[INFO] [stderr]    Compiling priority-queue v2.7.0
[INFO] [stderr]    Compiling petgraph v0.8.3
[INFO] [stderr]    Compiling petgraph v0.6.5
[INFO] [stderr]    Compiling derive_arbitrary v1.3.2
[INFO] [stderr]    Compiling nalgebra-macros v0.2.2
[INFO] [stderr]    Compiling clap_derive v4.5.49
[INFO] [stderr]    Compiling pest_derive v2.8.3
[INFO] [stderr]    Compiling arbitrary v1.3.2
[INFO] [stderr]    Compiling graphviz-rust v0.9.6
[INFO] [stderr]    Compiling secp256k1 v0.29.0
[INFO] [stderr]    Compiling env_logger v0.11.8
[INFO] [stderr]    Compiling knaptime v0.0.4
[INFO] [stderr]    Compiling clap v4.5.51
[INFO] [stderr]    Compiling nalgebra v0.33.2
[INFO] [stderr]    Compiling rustworkx-core v0.17.1
[INFO] [stderr]    Compiling graphalgs v0.2.0
[INFO] [stderr]    Compiling btsim v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `define_entity`
[INFO] [stdout]  --> src/blocks.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 |     define_entity,
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `SimulationResult`
[INFO] [stdout]   --> src/graphviz.rs:10:48
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::{transaction::TxHandle, Simulation, SimulationResult};
[INFO] [stdout]    |                                                ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `rand::thread_rng`: Renamed to `rng`
[INFO] [stdout]    --> src/lib.rs:171:26
[INFO] [stdout]     |
[INFO] [stdout] 171 |         let seed = rand::thread_rng().gen_range(0..u64::MAX);
[INFO] [stdout]     |                          ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `rand::Rng::gen_bool`: Renamed to `random_bool`
[INFO] [stdout]   --> src/economic_graph.rs:67:25
[INFO] [stdout]    |
[INFO] [stdout] 67 |             if self.rng.gen_bool(*self.graph.edge_weight(i).unwrap()) {
[INFO] [stdout]    |                         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `rand::Rng::gen_bool`: Renamed to `random_bool`
[INFO] [stdout]   --> src/economic_graph.rs:70:46
[INFO] [stdout]    |
[INFO] [stdout] 70 |                 let (from, to) = if self.rng.gen_bool(0.5) {
[INFO] [stdout]    |                                              ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `rand::Rng::gen_range`: Renamed to `random_range`
[INFO] [stdout]   --> src/economic_graph.rs:35:52
[INFO] [stdout]    |
[INFO] [stdout] 35 |                 self.graph.add_edge(j, i, self.rng.gen_range(0.0..1.0)); // TODO 1.0 is too high
[INFO] [stdout]    |                                                    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `rand::Rng::gen_range`: Renamed to `random_range`
[INFO] [stdout]   --> src/economic_graph.rs:54:29
[INFO] [stdout]    |
[INFO] [stdout] 54 |                 || self.rng.gen_range(0.0..1.0), // TODO 1.0 is too high
[INFO] [stdout]    |                             ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `rand::Rng::gen_range`: Renamed to `random_range`
[INFO] [stdout]    --> src/lib.rs:171:39
[INFO] [stdout]     |
[INFO] [stdout] 171 |         let seed = rand::thread_rng().gen_range(0..u64::MAX);
[INFO] [stdout]     |                                       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `rand::Rng::gen_range`: Renamed to `random_range`
[INFO] [stdout]    --> src/lib.rs:330:30
[INFO] [stdout]     |
[INFO] [stdout] 330 |             for _ in 0..prng.gen_range(5..10) {
[INFO] [stdout]     |                              ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `rand::Rng::gen_range`: Renamed to `random_range`
[INFO] [stdout]    --> src/lib.rs:410:26
[INFO] [stdout]     |
[INFO] [stdout] 410 | ...   prng.gen_range(current_timestep + 1..self.config.max_timestep.0 / 2); // Payments shouldnt be revealed too late. Aim to have ...
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `CoinSelectionStrategy` is never used
[INFO] [stdout]   --> src/lib.rs:55:6
[INFO] [stdout]    |
[INFO] [stdout] 55 | enum CoinSelectionStrategy {
[INFO] [stdout]    |      ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/lib.rs:144:18
[INFO] [stdout]     |
[INFO] [stdout] 144 | struct PeerGraph(UnGraph<usize, ()>);
[INFO] [stdout]     |        --------- ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |        |
[INFO] [stdout]     |        field in this struct
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider removing this field
[INFO] [stdout]     = note: `PeerGraph` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `num_wallets` is never read
[INFO] [stdout]    --> src/lib.rs:284:5
[INFO] [stdout]     |
[INFO] [stdout] 283 | struct SimulationConfig {
[INFO] [stdout]     |        ---------------- field in this struct
[INFO] [stdout] 284 |     num_wallets: usize,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `SimulationConfig` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `peer_graph` is never read
[INFO] [stdout]    --> src/lib.rs:303:5
[INFO] [stdout]     |
[INFO] [stdout] 292 | pub struct Simulation {
[INFO] [stdout]     |            ---------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 303 |     peer_graph: PeerGraph,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Simulation` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `fee_savings` is never read
[INFO] [stdout]   --> src/actions.rs:95:5
[INFO] [stdout]    |
[INFO] [stdout] 87 | pub(crate) struct InitiatePayjoinOutcome {
[INFO] [stdout]    |                   ---------------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 95 |     fee_savings: Amount,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `InitiatePayjoinOutcome` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `fee_savings` is never read
[INFO] [stdout]    --> src/actions.rs:124:5
[INFO] [stdout]     |
[INFO] [stdout] 118 | pub(crate) struct RespondToPayjoinOutcome {
[INFO] [stdout]     |                   ----------------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 124 |     fee_savings: Amount,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `RespondToPayjoinOutcome` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `max_block_weight` is never read
[INFO] [stdout]   --> src/blocks.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub(crate) struct ChainParams {
[INFO] [stdout]    |                   ----------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 15 |     max_block_weight: Weight,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ChainParams` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `with` is never used
[INFO] [stdout]   --> src/macros.rs:20:31
[INFO] [stdout]    |
[INFO] [stdout] 17 |             impl<'a> [<$base Id>] {
[INFO] [stdout]    |             --------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 20 |                 pub(crate) fn with(&self, sim: &'a crate::Simulation) -> [<$base Handle>]<'a>
[INFO] [stdout]    |                               ^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/blocks.rs:56:1
[INFO] [stdout]    |
[INFO] [stdout] 56 | define_entity_id_and_handle!(BroadcastSet);
[INFO] [stdout]    | ------------------------------------------ in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `define_entity_id_and_handle` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/macros.rs:27:31
[INFO] [stdout]    |
[INFO] [stdout] 26 |             impl<'a> [<$base Handle>]<'a> {
[INFO] [stdout]    |             ----------------------------- associated function in this implementation
[INFO] [stdout] 27 |                 pub(crate) fn new(sim: &'a crate::Simulation, id: [<$base Id>]) -> Self {
[INFO] [stdout]    |                               ^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/blocks.rs:56:1
[INFO] [stdout]    |
[INFO] [stdout] 56 | define_entity_id_and_handle!(BroadcastSet);
[INFO] [stdout]    | ------------------------------------------ in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `define_entity_id_and_handle` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `txs`, `parent`, and `coinbase_tx` are never used
[INFO] [stdout]    --> src/blocks.rs:448:19
[INFO] [stdout]     |
[INFO] [stdout] 442 | impl<'a> BlockHandle<'a> {
[INFO] [stdout]     | ------------------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 448 |     pub(crate) fn txs(&'a self) -> impl Iterator<Item = &'a TxId> {
[INFO] [stdout]     |                   ^^^
[INFO] [stdout] ...
[INFO] [stdout] 456 |     pub(crate) fn parent(&self) -> Option<Self> {
[INFO] [stdout]     |                   ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 460 |     pub(crate) fn coinbase_tx(&self) -> TxHandle {
[INFO] [stdout]     |                   ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `sim` is never read
[INFO] [stdout]   --> src/macros.rs:13:17
[INFO] [stdout]    |
[INFO] [stdout] 12 |               pub(crate) struct [<$base Handle>]<'a> {
[INFO] [stdout]    |                                 ---------------- field in this struct
[INFO] [stdout] 13 |                   sim: &'a crate::Simulation,
[INFO] [stdout]    |                   ^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/message.rs:15:1
[INFO] [stdout]    |
[INFO] [stdout] 15 | / define_entity!(
[INFO] [stdout] 16 | |     Message,
[INFO] [stdout] 17 | |     {
[INFO] [stdout] 18 | |         pub(crate) id: MessageId,
[INFO] [stdout] ...  |
[INFO] [stdout] 26 | | );
[INFO] [stdout]    | |_- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: `MessageHandle` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]    = note: this warning originates in the macro `define_entity_id_and_handle` which comes from the expansion of the macro `define_entity` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `with` is never used
[INFO] [stdout]   --> src/macros.rs:20:31
[INFO] [stdout]    |
[INFO] [stdout] 17 |               impl<'a> [<$base Id>] {
[INFO] [stdout]    |               --------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 20 |                   pub(crate) fn with(&self, sim: &'a crate::Simulation) -> [<$base Handle>]<'a>
[INFO] [stdout]    |                                 ^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/message.rs:15:1
[INFO] [stdout]    |
[INFO] [stdout] 15 | / define_entity!(
[INFO] [stdout] 16 | |     Message,
[INFO] [stdout] 17 | |     {
[INFO] [stdout] 18 | |         pub(crate) id: MessageId,
[INFO] [stdout] ...  |
[INFO] [stdout] 26 | | );
[INFO] [stdout]    | |_- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `define_entity_id_and_handle` which comes from the expansion of the macro `define_entity` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/macros.rs:27:31
[INFO] [stdout]    |
[INFO] [stdout] 26 |               impl<'a> [<$base Handle>]<'a> {
[INFO] [stdout]    |               ----------------------------- associated function in this implementation
[INFO] [stdout] 27 |                   pub(crate) fn new(sim: &'a crate::Simulation, id: [<$base Id>]) -> Self {
[INFO] [stdout]    |                                 ^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/message.rs:15:1
[INFO] [stdout]    |
[INFO] [stdout] 15 | / define_entity!(
[INFO] [stdout] 16 | |     Message,
[INFO] [stdout] 17 | |     {
[INFO] [stdout] 18 | |         pub(crate) id: MessageId,
[INFO] [stdout] ...  |
[INFO] [stdout] 26 | | );
[INFO] [stdout]    | |_- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `define_entity_id_and_handle` which comes from the expansion of the macro `define_entity` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MessageInfo` is never constructed
[INFO] [stdout]   --> src/macros.rs:62:31
[INFO] [stdout]    |
[INFO] [stdout] 62 |               pub(crate) struct [<$base Info>] $info_fields
[INFO] [stdout]    |                                 ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/message.rs:15:1
[INFO] [stdout]    |
[INFO] [stdout] 15 | / define_entity!(
[INFO] [stdout] 16 | |     Message,
[INFO] [stdout] 17 | |     {
[INFO] [stdout] 18 | |         pub(crate) id: MessageId,
[INFO] [stdout] ...  |
[INFO] [stdout] 26 | | );
[INFO] [stdout]    | |_- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `define_entity_info` which comes from the expansion of the macro `define_entity` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `sim` is never read
[INFO] [stdout]   --> src/macros.rs:85:28
[INFO] [stdout]    |
[INFO] [stdout] 84 |             pub(crate) struct [<$base HandleMut>]<'a> {
[INFO] [stdout]    |                               ------------------- field in this struct
[INFO] [stdout] 85 |                 pub(crate) sim: &'a mut crate::Simulation,
[INFO] [stdout]    |                            ^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/message.rs:27:1
[INFO] [stdout]    |
[INFO] [stdout] 27 | define_entity_handle_mut!(Message);
[INFO] [stdout]    | ---------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: `MessageHandleMut` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]    = note: this warning originates in the macro `define_entity_handle_mut` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `with_mut` is never used
[INFO] [stdout]   --> src/macros.rs:90:31
[INFO] [stdout]    |
[INFO] [stdout] 89 |             impl<'a> [<$base Id>] {
[INFO] [stdout]    |             --------------------- method in this implementation
[INFO] [stdout] 90 |                 pub(crate) fn with_mut(&self, sim: &'a mut crate::Simulation) -> [<$base HandleMut>]<'a> {
[INFO] [stdout]    |                               ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/message.rs:27:1
[INFO] [stdout]    |
[INFO] [stdout] 27 | define_entity_handle_mut!(Message);
[INFO] [stdout]    | ---------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `define_entity_handle_mut` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/macros.rs:96:20
[INFO] [stdout]    |
[INFO] [stdout] 95 |             impl<'a> [<$base HandleMut>]<'a> {
[INFO] [stdout]    |             -------------------------------- associated function in this implementation
[INFO] [stdout] 96 |                 fn new(sim: &'a mut crate::Simulation, id: [<$base Id>]) -> Self {
[INFO] [stdout]    |                    ^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/message.rs:27:1
[INFO] [stdout]    |
[INFO] [stdout] 27 | define_entity_handle_mut!(Message);
[INFO] [stdout]    | ---------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `define_entity_handle_mut` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `data` is never used
[INFO] [stdout]   --> src/message.rs:30:19
[INFO] [stdout]    |
[INFO] [stdout] 29 | impl<'a> MessageHandle<'a> {
[INFO] [stdout]    | -------------------------- method in this implementation
[INFO] [stdout] 30 |     pub(crate) fn data(&self) -> &'a MessageData {
[INFO] [stdout]    |                   ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `post` is never used
[INFO] [stdout]   --> src/message.rs:36:19
[INFO] [stdout]    |
[INFO] [stdout] 35 | impl<'a> MessageHandleMut<'a> {
[INFO] [stdout]    | ----------------------------- method in this implementation
[INFO] [stdout] 36 |     pub(crate) fn post(&mut self, message: MessageData) {
[INFO] [stdout]    |                   ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `wallet_mut` is never used
[INFO] [stdout]    --> src/transaction.rs:139:8
[INFO] [stdout]     |
[INFO] [stdout] 126 | impl Output {
[INFO] [stdout]     | ----------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 139 |     fn wallet_mut<'a>(&self, sim: &'a mut Simulation) -> WalletHandleMut<'a> {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `wallet_mut` is never used
[INFO] [stdout]    --> src/transaction.rs:178:19
[INFO] [stdout]     |
[INFO] [stdout] 157 | impl<'a> OutputHandle<'a> {
[INFO] [stdout]     | ------------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 178 |     pub(crate) fn wallet_mut<'b>(&self, sim: &'b mut Simulation) -> WalletHandleMut<'b> {
[INFO] [stdout]     |                   ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `is_confirmed` and `is_acked` are never used
[INFO] [stdout]    --> src/transaction.rs:228:19
[INFO] [stdout]     |
[INFO] [stdout] 195 | impl<'a> TxHandle<'a> {
[INFO] [stdout]     | --------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 228 |     pub(crate) fn is_confirmed(&self) -> bool {
[INFO] [stdout]     |                   ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 237 |     pub(crate) fn is_acked(&self) -> bool {
[INFO] [stdout]     |                   ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `effective_balance` and `double_spendable_coins` are never used
[INFO] [stdout]    --> src/wallet.rs:67:19
[INFO] [stdout]     |
[INFO] [stdout]  56 | impl<'a> WalletHandle<'a> {
[INFO] [stdout]     | ------------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  67 |     pub(crate) fn effective_balance(&self) -> Amount {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 160 |     fn double_spendable_coins(&self) -> impl Iterator<Item = OutputHandle<'a>> + '_ {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `handle` is never used
[INFO] [stdout]    --> src/wallet.rs:176:19
[INFO] [stdout]     |
[INFO] [stdout] 166 | impl<'a> WalletHandleMut<'a> {
[INFO] [stdout]     | ---------------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 176 |     pub(crate) fn handle(&self) -> WalletHandle {
[INFO] [stdout]     |                   ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PaymentObligationInfo` is never constructed
[INFO] [stdout]    --> src/macros.rs:62:31
[INFO] [stdout]     |
[INFO] [stdout]  62 |               pub(crate) struct [<$base Info>] $info_fields
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/wallet.rs:461:1
[INFO] [stdout]     |
[INFO] [stdout] 461 | / define_entity!(
[INFO] [stdout] 462 | |     PaymentObligation,
[INFO] [stdout] 463 | |     {
[INFO] [stdout] 464 | |         pub(crate) id: PaymentObligationId,
[INFO] [stdout] ...   |
[INFO] [stdout] 475 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `define_entity_info` which comes from the expansion of the macro `define_entity` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AddressInfo` is never constructed
[INFO] [stdout]    --> src/macros.rs:62:31
[INFO] [stdout]     |
[INFO] [stdout]  62 |               pub(crate) struct [<$base Info>] $info_fields
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/wallet.rs:483:1
[INFO] [stdout]     |
[INFO] [stdout] 483 | / define_entity!(Address, {
[INFO] [stdout] 484 | |     pub(crate) wallet_id: WalletId,
[INFO] [stdout] ...   |
[INFO] [stdout] 488 | | }, {});
[INFO] [stdout]     | |______- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `define_entity_info` which comes from the expansion of the macro `define_entity` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: eliding a lifetime that's named elsewhere is confusing
[INFO] [stdout]    --> src/blocks.rs:436:50
[INFO] [stdout]     |
[INFO] [stdout] 436 |     fn txs<'a>(&'a self) -> impl Iterator<Item = &TxId> {
[INFO] [stdout]     |                 -- the lifetime is named here    ^^^^^ the same lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: consistently use `'a`
[INFO] [stdout]     |
[INFO] [stdout] 436 |     fn txs<'a>(&'a self) -> impl Iterator<Item = &'a TxId> {
[INFO] [stdout]     |                                                   ++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/blocks.rs:460:31
[INFO] [stdout]     |
[INFO] [stdout] 460 |     pub(crate) fn coinbase_tx(&self) -> TxHandle {
[INFO] [stdout]     |                               ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 460 |     pub(crate) fn coinbase_tx(&self) -> TxHandle<'_> {
[INFO] [stdout]     |                                                 ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/wallet.rs:176:26
[INFO] [stdout]     |
[INFO] [stdout] 176 |     pub(crate) fn handle(&self) -> WalletHandle {
[INFO] [stdout]     |                          ^^^^^     ^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                          |
[INFO] [stdout]     |                          the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 176 |     pub(crate) fn handle(&self) -> WalletHandle<'_> {
[INFO] [stdout]     |                                                ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/wallet.rs:432:29
[INFO] [stdout]     |
[INFO] [stdout] 432 |     pub(crate) fn new_tx<F>(&mut self, build: F) -> TxHandle
[INFO] [stdout]     |                             ^^^^^^^^^               ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 432 |     pub(crate) fn new_tx<F>(&mut self, build: F) -> TxHandle<'_>
[INFO] [stdout]     |                                                             ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 44.41s
[INFO] running `Command { std: "docker" "inspect" "7d7e0266365af7e64325c155a2a553c322dc14c0086714a99e3f524eed7bdc99", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "7d7e0266365af7e64325c155a2a553c322dc14c0086714a99e3f524eed7bdc99", kill_on_drop: false }`
[INFO] [stdout] 7d7e0266365af7e64325c155a2a553c322dc14c0086714a99e3f524eed7bdc99
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+bd7d74411512a3dd3b35d2f699c51dd2557c7e7e" "test" "--frozen" "--no-run" "--message-format=json" "-Zbuild-dir-new-layout", kill_on_drop: false }`
[INFO] [stdout] 440bc5358d32d2c9ff91742113cafddeb9ca1d9340315e4d1869f601135befc7
[INFO] running `Command { std: "docker" "start" "-a" "440bc5358d32d2c9ff91742113cafddeb9ca1d9340315e4d1869f601135befc7", kill_on_drop: false }`
[INFO] [stdout] warning: unused import: `define_entity`
[INFO] [stdout]  --> src/blocks.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 |     define_entity,
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `SimulationResult`
[INFO] [stdout]   --> src/graphviz.rs:10:48
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::{transaction::TxHandle, Simulation, SimulationResult};
[INFO] [stdout]    |                                                ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `rand::thread_rng`: Renamed to `rng`
[INFO] [stdout]    --> src/lib.rs:171:26
[INFO] [stdout]     |
[INFO] [stdout] 171 |         let seed = rand::thread_rng().gen_range(0..u64::MAX);
[INFO] [stdout]     |                          ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `rand::Rng::gen_bool`: Renamed to `random_bool`
[INFO] [stdout]   --> src/economic_graph.rs:67:25
[INFO] [stdout]    |
[INFO] [stdout] 67 |             if self.rng.gen_bool(*self.graph.edge_weight(i).unwrap()) {
[INFO] [stdout]    |                         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `rand::Rng::gen_bool`: Renamed to `random_bool`
[INFO] [stdout]   --> src/economic_graph.rs:70:46
[INFO] [stdout]    |
[INFO] [stdout] 70 |                 let (from, to) = if self.rng.gen_bool(0.5) {
[INFO] [stdout]    |                                              ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `rand::Rng::gen_range`: Renamed to `random_range`
[INFO] [stdout]   --> src/economic_graph.rs:35:52
[INFO] [stdout]    |
[INFO] [stdout] 35 |                 self.graph.add_edge(j, i, self.rng.gen_range(0.0..1.0)); // TODO 1.0 is too high
[INFO] [stdout]    |                                                    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `rand::Rng::gen_range`: Renamed to `random_range`
[INFO] [stdout]   --> src/economic_graph.rs:54:29
[INFO] [stdout]    |
[INFO] [stdout] 54 |                 || self.rng.gen_range(0.0..1.0), // TODO 1.0 is too high
[INFO] [stdout]    |                             ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `rand::Rng::gen_range`: Renamed to `random_range`
[INFO] [stdout]    --> src/lib.rs:171:39
[INFO] [stdout]     |
[INFO] [stdout] 171 |         let seed = rand::thread_rng().gen_range(0..u64::MAX);
[INFO] [stdout]     |                                       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `rand::Rng::gen_range`: Renamed to `random_range`
[INFO] [stdout]    --> src/lib.rs:330:30
[INFO] [stdout]     |
[INFO] [stdout] 330 |             for _ in 0..prng.gen_range(5..10) {
[INFO] [stdout]     |                              ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `rand::Rng::gen_range`: Renamed to `random_range`
[INFO] [stdout]    --> src/lib.rs:410:26
[INFO] [stdout]     |
[INFO] [stdout] 410 | ...   prng.gen_range(current_timestep + 1..self.config.max_timestep.0 / 2); // Payments shouldnt be revealed too late. Aim to have ...
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `CoinSelectionStrategy` is never used
[INFO] [stdout]   --> src/lib.rs:55:6
[INFO] [stdout]    |
[INFO] [stdout] 55 | enum CoinSelectionStrategy {
[INFO] [stdout]    |      ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/lib.rs:144:18
[INFO] [stdout]     |
[INFO] [stdout] 144 | struct PeerGraph(UnGraph<usize, ()>);
[INFO] [stdout]     |        --------- ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |        |
[INFO] [stdout]     |        field in this struct
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider removing this field
[INFO] [stdout]     = note: `PeerGraph` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `num_wallets` is never read
[INFO] [stdout]    --> src/lib.rs:284:5
[INFO] [stdout]     |
[INFO] [stdout] 283 | struct SimulationConfig {
[INFO] [stdout]     |        ---------------- field in this struct
[INFO] [stdout] 284 |     num_wallets: usize,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `SimulationConfig` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `peer_graph` is never read
[INFO] [stdout]    --> src/lib.rs:303:5
[INFO] [stdout]     |
[INFO] [stdout] 292 | pub struct Simulation {
[INFO] [stdout]     |            ---------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 303 |     peer_graph: PeerGraph,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Simulation` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `fee_savings` is never read
[INFO] [stdout]   --> src/actions.rs:95:5
[INFO] [stdout]    |
[INFO] [stdout] 87 | pub(crate) struct InitiatePayjoinOutcome {
[INFO] [stdout]    |                   ---------------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 95 |     fee_savings: Amount,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `InitiatePayjoinOutcome` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `fee_savings` is never read
[INFO] [stdout]    --> src/actions.rs:124:5
[INFO] [stdout]     |
[INFO] [stdout] 118 | pub(crate) struct RespondToPayjoinOutcome {
[INFO] [stdout]     |                   ----------------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 124 |     fee_savings: Amount,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `RespondToPayjoinOutcome` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `max_block_weight` is never read
[INFO] [stdout]   --> src/blocks.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub(crate) struct ChainParams {
[INFO] [stdout]    |                   ----------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 15 |     max_block_weight: Weight,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ChainParams` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `with` is never used
[INFO] [stdout]   --> src/macros.rs:20:31
[INFO] [stdout]    |
[INFO] [stdout] 17 |             impl<'a> [<$base Id>] {
[INFO] [stdout]    |             --------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 20 |                 pub(crate) fn with(&self, sim: &'a crate::Simulation) -> [<$base Handle>]<'a>
[INFO] [stdout]    |                               ^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/blocks.rs:56:1
[INFO] [stdout]    |
[INFO] [stdout] 56 | define_entity_id_and_handle!(BroadcastSet);
[INFO] [stdout]    | ------------------------------------------ in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `define_entity_id_and_handle` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/macros.rs:27:31
[INFO] [stdout]    |
[INFO] [stdout] 26 |             impl<'a> [<$base Handle>]<'a> {
[INFO] [stdout]    |             ----------------------------- associated function in this implementation
[INFO] [stdout] 27 |                 pub(crate) fn new(sim: &'a crate::Simulation, id: [<$base Id>]) -> Self {
[INFO] [stdout]    |                               ^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/blocks.rs:56:1
[INFO] [stdout]    |
[INFO] [stdout] 56 | define_entity_id_and_handle!(BroadcastSet);
[INFO] [stdout]    | ------------------------------------------ in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `define_entity_id_and_handle` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `txs`, `parent`, and `coinbase_tx` are never used
[INFO] [stdout]    --> src/blocks.rs:448:19
[INFO] [stdout]     |
[INFO] [stdout] 442 | impl<'a> BlockHandle<'a> {
[INFO] [stdout]     | ------------------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 448 |     pub(crate) fn txs(&'a self) -> impl Iterator<Item = &'a TxId> {
[INFO] [stdout]     |                   ^^^
[INFO] [stdout] ...
[INFO] [stdout] 456 |     pub(crate) fn parent(&self) -> Option<Self> {
[INFO] [stdout]     |                   ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 460 |     pub(crate) fn coinbase_tx(&self) -> TxHandle {
[INFO] [stdout]     |                   ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `sim` is never read
[INFO] [stdout]   --> src/macros.rs:13:17
[INFO] [stdout]    |
[INFO] [stdout] 12 |               pub(crate) struct [<$base Handle>]<'a> {
[INFO] [stdout]    |                                 ---------------- field in this struct
[INFO] [stdout] 13 |                   sim: &'a crate::Simulation,
[INFO] [stdout]    |                   ^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/message.rs:15:1
[INFO] [stdout]    |
[INFO] [stdout] 15 | / define_entity!(
[INFO] [stdout] 16 | |     Message,
[INFO] [stdout] 17 | |     {
[INFO] [stdout] 18 | |         pub(crate) id: MessageId,
[INFO] [stdout] ...  |
[INFO] [stdout] 26 | | );
[INFO] [stdout]    | |_- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: `MessageHandle` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]    = note: this warning originates in the macro `define_entity_id_and_handle` which comes from the expansion of the macro `define_entity` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `with` is never used
[INFO] [stdout]   --> src/macros.rs:20:31
[INFO] [stdout]    |
[INFO] [stdout] 17 |               impl<'a> [<$base Id>] {
[INFO] [stdout]    |               --------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 20 |                   pub(crate) fn with(&self, sim: &'a crate::Simulation) -> [<$base Handle>]<'a>
[INFO] [stdout]    |                                 ^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/message.rs:15:1
[INFO] [stdout]    |
[INFO] [stdout] 15 | / define_entity!(
[INFO] [stdout] 16 | |     Message,
[INFO] [stdout] 17 | |     {
[INFO] [stdout] 18 | |         pub(crate) id: MessageId,
[INFO] [stdout] ...  |
[INFO] [stdout] 26 | | );
[INFO] [stdout]    | |_- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `define_entity_id_and_handle` which comes from the expansion of the macro `define_entity` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/macros.rs:27:31
[INFO] [stdout]    |
[INFO] [stdout] 26 |               impl<'a> [<$base Handle>]<'a> {
[INFO] [stdout]    |               ----------------------------- associated function in this implementation
[INFO] [stdout] 27 |                   pub(crate) fn new(sim: &'a crate::Simulation, id: [<$base Id>]) -> Self {
[INFO] [stdout]    |                                 ^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/message.rs:15:1
[INFO] [stdout]    |
[INFO] [stdout] 15 | / define_entity!(
[INFO] [stdout] 16 | |     Message,
[INFO] [stdout] 17 | |     {
[INFO] [stdout] 18 | |         pub(crate) id: MessageId,
[INFO] [stdout] ...  |
[INFO] [stdout] 26 | | );
[INFO] [stdout]    | |_- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `define_entity_id_and_handle` which comes from the expansion of the macro `define_entity` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MessageInfo` is never constructed
[INFO] [stdout]   --> src/macros.rs:62:31
[INFO] [stdout]    |
[INFO] [stdout] 62 |               pub(crate) struct [<$base Info>] $info_fields
[INFO] [stdout]    |                                 ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/message.rs:15:1
[INFO] [stdout]    |
[INFO] [stdout] 15 | / define_entity!(
[INFO] [stdout] 16 | |     Message,
[INFO] [stdout] 17 | |     {
[INFO] [stdout] 18 | |         pub(crate) id: MessageId,
[INFO] [stdout] ...  |
[INFO] [stdout] 26 | | );
[INFO] [stdout]    | |_- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `define_entity_info` which comes from the expansion of the macro `define_entity` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `sim` is never read
[INFO] [stdout]   --> src/macros.rs:85:28
[INFO] [stdout]    |
[INFO] [stdout] 84 |             pub(crate) struct [<$base HandleMut>]<'a> {
[INFO] [stdout]    |                               ------------------- field in this struct
[INFO] [stdout] 85 |                 pub(crate) sim: &'a mut crate::Simulation,
[INFO] [stdout]    |                            ^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/message.rs:27:1
[INFO] [stdout]    |
[INFO] [stdout] 27 | define_entity_handle_mut!(Message);
[INFO] [stdout]    | ---------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: `MessageHandleMut` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]    = note: this warning originates in the macro `define_entity_handle_mut` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `with_mut` is never used
[INFO] [stdout]   --> src/macros.rs:90:31
[INFO] [stdout]    |
[INFO] [stdout] 89 |             impl<'a> [<$base Id>] {
[INFO] [stdout]    |             --------------------- method in this implementation
[INFO] [stdout] 90 |                 pub(crate) fn with_mut(&self, sim: &'a mut crate::Simulation) -> [<$base HandleMut>]<'a> {
[INFO] [stdout]    |                               ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/message.rs:27:1
[INFO] [stdout]    |
[INFO] [stdout] 27 | define_entity_handle_mut!(Message);
[INFO] [stdout]    | ---------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `define_entity_handle_mut` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/macros.rs:96:20
[INFO] [stdout]    |
[INFO] [stdout] 95 |             impl<'a> [<$base HandleMut>]<'a> {
[INFO] [stdout]    |             -------------------------------- associated function in this implementation
[INFO] [stdout] 96 |                 fn new(sim: &'a mut crate::Simulation, id: [<$base Id>]) -> Self {
[INFO] [stdout]    |                    ^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/message.rs:27:1
[INFO] [stdout]    |
[INFO] [stdout] 27 | define_entity_handle_mut!(Message);
[INFO] [stdout]    | ---------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `define_entity_handle_mut` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `data` is never used
[INFO] [stdout]   --> src/message.rs:30:19
[INFO] [stdout]    |
[INFO] [stdout] 29 | impl<'a> MessageHandle<'a> {
[INFO] [stdout]    | -------------------------- method in this implementation
[INFO] [stdout] 30 |     pub(crate) fn data(&self) -> &'a MessageData {
[INFO] [stdout]    |                   ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `post` is never used
[INFO] [stdout]   --> src/message.rs:36:19
[INFO] [stdout]    |
[INFO] [stdout] 35 | impl<'a> MessageHandleMut<'a> {
[INFO] [stdout]    | ----------------------------- method in this implementation
[INFO] [stdout] 36 |     pub(crate) fn post(&mut self, message: MessageData) {
[INFO] [stdout]    |                   ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `wallet_mut` is never used
[INFO] [stdout]    --> src/transaction.rs:139:8
[INFO] [stdout]     |
[INFO] [stdout] 126 | impl Output {
[INFO] [stdout]     | ----------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 139 |     fn wallet_mut<'a>(&self, sim: &'a mut Simulation) -> WalletHandleMut<'a> {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `wallet_mut` is never used
[INFO] [stdout]    --> src/transaction.rs:178:19
[INFO] [stdout]     |
[INFO] [stdout] 157 | impl<'a> OutputHandle<'a> {
[INFO] [stdout]     | ------------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 178 |     pub(crate) fn wallet_mut<'b>(&self, sim: &'b mut Simulation) -> WalletHandleMut<'b> {
[INFO] [stdout]     |                   ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `is_confirmed` and `is_acked` are never used
[INFO] [stdout]    --> src/transaction.rs:228:19
[INFO] [stdout]     |
[INFO] [stdout] 195 | impl<'a> TxHandle<'a> {
[INFO] [stdout]     | --------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 228 |     pub(crate) fn is_confirmed(&self) -> bool {
[INFO] [stdout]     |                   ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 237 |     pub(crate) fn is_acked(&self) -> bool {
[INFO] [stdout]     |                   ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `effective_balance` and `double_spendable_coins` are never used
[INFO] [stdout]    --> src/wallet.rs:67:19
[INFO] [stdout]     |
[INFO] [stdout]  56 | impl<'a> WalletHandle<'a> {
[INFO] [stdout]     | ------------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  67 |     pub(crate) fn effective_balance(&self) -> Amount {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 160 |     fn double_spendable_coins(&self) -> impl Iterator<Item = OutputHandle<'a>> + '_ {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `handle` is never used
[INFO] [stdout]    --> src/wallet.rs:176:19
[INFO] [stdout]     |
[INFO] [stdout] 166 | impl<'a> WalletHandleMut<'a> {
[INFO] [stdout]     | ---------------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 176 |     pub(crate) fn handle(&self) -> WalletHandle {
[INFO] [stdout]     |                   ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PaymentObligationInfo` is never constructed
[INFO] [stdout]    --> src/macros.rs:62:31
[INFO] [stdout]     |
[INFO] [stdout]  62 |               pub(crate) struct [<$base Info>] $info_fields
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/wallet.rs:461:1
[INFO] [stdout]     |
[INFO] [stdout] 461 | / define_entity!(
[INFO] [stdout] 462 | |     PaymentObligation,
[INFO] [stdout] 463 | |     {
[INFO] [stdout] 464 | |         pub(crate) id: PaymentObligationId,
[INFO] [stdout] ...   |
[INFO] [stdout] 475 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `define_entity_info` which comes from the expansion of the macro `define_entity` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AddressInfo` is never constructed
[INFO] [stdout]    --> src/macros.rs:62:31
[INFO] [stdout]     |
[INFO] [stdout]  62 |               pub(crate) struct [<$base Info>] $info_fields
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/wallet.rs:483:1
[INFO] [stdout]     |
[INFO] [stdout] 483 | / define_entity!(Address, {
[INFO] [stdout] 484 | |     pub(crate) wallet_id: WalletId,
[INFO] [stdout] ...   |
[INFO] [stdout] 488 | | }, {});
[INFO] [stdout]     | |______- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `define_entity_info` which comes from the expansion of the macro `define_entity` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: eliding a lifetime that's named elsewhere is confusing
[INFO] [stdout]    --> src/blocks.rs:436:50
[INFO] [stdout]     |
[INFO] [stdout] 436 |     fn txs<'a>(&'a self) -> impl Iterator<Item = &TxId> {
[INFO] [stdout]     |                 -- the lifetime is named here    ^^^^^ the same lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: consistently use `'a`
[INFO] [stdout]     |
[INFO] [stdout] 436 |     fn txs<'a>(&'a self) -> impl Iterator<Item = &'a TxId> {
[INFO] [stdout]     |                                                   ++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/blocks.rs:460:31
[INFO] [stdout]     |
[INFO] [stdout] 460 |     pub(crate) fn coinbase_tx(&self) -> TxHandle {
[INFO] [stdout]     |                               ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 460 |     pub(crate) fn coinbase_tx(&self) -> TxHandle<'_> {
[INFO] [stdout]     |                                                 ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/wallet.rs:176:26
[INFO] [stdout]     |
[INFO] [stdout] 176 |     pub(crate) fn handle(&self) -> WalletHandle {
[INFO] [stdout]     |                          ^^^^^     ^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                          |
[INFO] [stdout]     |                          the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 176 |     pub(crate) fn handle(&self) -> WalletHandle<'_> {
[INFO] [stdout]     |                                                ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/wallet.rs:432:29
[INFO] [stdout]     |
[INFO] [stdout] 432 |     pub(crate) fn new_tx<F>(&mut self, build: F) -> TxHandle
[INFO] [stdout]     |                             ^^^^^^^^^               ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 432 |     pub(crate) fn new_tx<F>(&mut self, build: F) -> TxHandle<'_>
[INFO] [stdout]     |                                                             ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling btsim v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `define_entity`
[INFO] [stdout]  --> src/blocks.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 |     define_entity,
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `SimulationResult`
[INFO] [stdout]   --> src/graphviz.rs:10:48
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::{transaction::TxHandle, Simulation, SimulationResult};
[INFO] [stdout]    |                                                ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `rand::thread_rng`: Renamed to `rng`
[INFO] [stdout]    --> src/lib.rs:171:26
[INFO] [stdout]     |
[INFO] [stdout] 171 |         let seed = rand::thread_rng().gen_range(0..u64::MAX);
[INFO] [stdout]     |                          ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `rand::Rng::gen_bool`: Renamed to `random_bool`
[INFO] [stdout]   --> src/economic_graph.rs:67:25
[INFO] [stdout]    |
[INFO] [stdout] 67 |             if self.rng.gen_bool(*self.graph.edge_weight(i).unwrap()) {
[INFO] [stdout]    |                         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `rand::Rng::gen_bool`: Renamed to `random_bool`
[INFO] [stdout]   --> src/economic_graph.rs:70:46
[INFO] [stdout]    |
[INFO] [stdout] 70 |                 let (from, to) = if self.rng.gen_bool(0.5) {
[INFO] [stdout]    |                                              ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `rand::Rng::gen_range`: Renamed to `random_range`
[INFO] [stdout]   --> src/economic_graph.rs:35:52
[INFO] [stdout]    |
[INFO] [stdout] 35 |                 self.graph.add_edge(j, i, self.rng.gen_range(0.0..1.0)); // TODO 1.0 is too high
[INFO] [stdout]    |                                                    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `rand::Rng::gen_range`: Renamed to `random_range`
[INFO] [stdout]   --> src/economic_graph.rs:54:29
[INFO] [stdout]    |
[INFO] [stdout] 54 |                 || self.rng.gen_range(0.0..1.0), // TODO 1.0 is too high
[INFO] [stdout]    |                             ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `rand::Rng::gen_range`: Renamed to `random_range`
[INFO] [stdout]    --> src/lib.rs:171:39
[INFO] [stdout]     |
[INFO] [stdout] 171 |         let seed = rand::thread_rng().gen_range(0..u64::MAX);
[INFO] [stdout]     |                                       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `rand::Rng::gen_range`: Renamed to `random_range`
[INFO] [stdout]    --> src/lib.rs:330:30
[INFO] [stdout]     |
[INFO] [stdout] 330 |             for _ in 0..prng.gen_range(5..10) {
[INFO] [stdout]     |                              ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `rand::Rng::gen_range`: Renamed to `random_range`
[INFO] [stdout]    --> src/lib.rs:410:26
[INFO] [stdout]     |
[INFO] [stdout] 410 | ...   prng.gen_range(current_timestep + 1..self.config.max_timestep.0 / 2); // Payments shouldnt be revealed too late. Aim to have ...
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `txid_from_bytes`
[INFO] [stdout]    --> src/transaction.rs:304:13
[INFO] [stdout]     |
[INFO] [stdout] 304 |         let txid_from_bytes = bitcoin::Txid::from(txid);
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_txid_from_bytes`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `CoinSelectionStrategy` is never used
[INFO] [stdout]   --> src/lib.rs:55:6
[INFO] [stdout]    |
[INFO] [stdout] 55 | enum CoinSelectionStrategy {
[INFO] [stdout]    |      ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/lib.rs:144:18
[INFO] [stdout]     |
[INFO] [stdout] 144 | struct PeerGraph(UnGraph<usize, ()>);
[INFO] [stdout]     |        --------- ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |        |
[INFO] [stdout]     |        field in this struct
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider removing this field
[INFO] [stdout]     = note: `PeerGraph` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `num_wallets` is never read
[INFO] [stdout]    --> src/lib.rs:284:5
[INFO] [stdout]     |
[INFO] [stdout] 283 | struct SimulationConfig {
[INFO] [stdout]     |        ---------------- field in this struct
[INFO] [stdout] 284 |     num_wallets: usize,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `SimulationConfig` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `peer_graph` is never read
[INFO] [stdout]    --> src/lib.rs:303:5
[INFO] [stdout]     |
[INFO] [stdout] 292 | pub struct Simulation {
[INFO] [stdout]     |            ---------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 303 |     peer_graph: PeerGraph,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Simulation` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `fee_savings` is never read
[INFO] [stdout]   --> src/actions.rs:95:5
[INFO] [stdout]    |
[INFO] [stdout] 87 | pub(crate) struct InitiatePayjoinOutcome {
[INFO] [stdout]    |                   ---------------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 95 |     fee_savings: Amount,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `InitiatePayjoinOutcome` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `fee_savings` is never read
[INFO] [stdout]    --> src/actions.rs:124:5
[INFO] [stdout]     |
[INFO] [stdout] 118 | pub(crate) struct RespondToPayjoinOutcome {
[INFO] [stdout]     |                   ----------------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 124 |     fee_savings: Amount,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `RespondToPayjoinOutcome` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `max_block_weight` is never read
[INFO] [stdout]   --> src/blocks.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub(crate) struct ChainParams {
[INFO] [stdout]    |                   ----------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 15 |     max_block_weight: Weight,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ChainParams` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `with` is never used
[INFO] [stdout]   --> src/macros.rs:20:31
[INFO] [stdout]    |
[INFO] [stdout] 17 |             impl<'a> [<$base Id>] {
[INFO] [stdout]    |             --------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 20 |                 pub(crate) fn with(&self, sim: &'a crate::Simulation) -> [<$base Handle>]<'a>
[INFO] [stdout]    |                               ^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/blocks.rs:56:1
[INFO] [stdout]    |
[INFO] [stdout] 56 | define_entity_id_and_handle!(BroadcastSet);
[INFO] [stdout]    | ------------------------------------------ in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `define_entity_id_and_handle` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/macros.rs:27:31
[INFO] [stdout]    |
[INFO] [stdout] 26 |             impl<'a> [<$base Handle>]<'a> {
[INFO] [stdout]    |             ----------------------------- associated function in this implementation
[INFO] [stdout] 27 |                 pub(crate) fn new(sim: &'a crate::Simulation, id: [<$base Id>]) -> Self {
[INFO] [stdout]    |                               ^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/blocks.rs:56:1
[INFO] [stdout]    |
[INFO] [stdout] 56 | define_entity_id_and_handle!(BroadcastSet);
[INFO] [stdout]    | ------------------------------------------ in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `define_entity_id_and_handle` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `txs` and `parent` are never used
[INFO] [stdout]    --> src/blocks.rs:448:19
[INFO] [stdout]     |
[INFO] [stdout] 442 | impl<'a> BlockHandle<'a> {
[INFO] [stdout]     | ------------------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 448 |     pub(crate) fn txs(&'a self) -> impl Iterator<Item = &'a TxId> {
[INFO] [stdout]     |                   ^^^
[INFO] [stdout] ...
[INFO] [stdout] 456 |     pub(crate) fn parent(&self) -> Option<Self> {
[INFO] [stdout]     |                   ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `sim` is never read
[INFO] [stdout]   --> src/macros.rs:13:17
[INFO] [stdout]    |
[INFO] [stdout] 12 |               pub(crate) struct [<$base Handle>]<'a> {
[INFO] [stdout]    |                                 ---------------- field in this struct
[INFO] [stdout] 13 |                   sim: &'a crate::Simulation,
[INFO] [stdout]    |                   ^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/message.rs:15:1
[INFO] [stdout]    |
[INFO] [stdout] 15 | / define_entity!(
[INFO] [stdout] 16 | |     Message,
[INFO] [stdout] 17 | |     {
[INFO] [stdout] 18 | |         pub(crate) id: MessageId,
[INFO] [stdout] ...  |
[INFO] [stdout] 26 | | );
[INFO] [stdout]    | |_- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: `MessageHandle` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]    = note: this warning originates in the macro `define_entity_id_and_handle` which comes from the expansion of the macro `define_entity` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `with` is never used
[INFO] [stdout]   --> src/macros.rs:20:31
[INFO] [stdout]    |
[INFO] [stdout] 17 |               impl<'a> [<$base Id>] {
[INFO] [stdout]    |               --------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 20 |                   pub(crate) fn with(&self, sim: &'a crate::Simulation) -> [<$base Handle>]<'a>
[INFO] [stdout]    |                                 ^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/message.rs:15:1
[INFO] [stdout]    |
[INFO] [stdout] 15 | / define_entity!(
[INFO] [stdout] 16 | |     Message,
[INFO] [stdout] 17 | |     {
[INFO] [stdout] 18 | |         pub(crate) id: MessageId,
[INFO] [stdout] ...  |
[INFO] [stdout] 26 | | );
[INFO] [stdout]    | |_- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `define_entity_id_and_handle` which comes from the expansion of the macro `define_entity` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/macros.rs:27:31
[INFO] [stdout]    |
[INFO] [stdout] 26 |               impl<'a> [<$base Handle>]<'a> {
[INFO] [stdout]    |               ----------------------------- associated function in this implementation
[INFO] [stdout] 27 |                   pub(crate) fn new(sim: &'a crate::Simulation, id: [<$base Id>]) -> Self {
[INFO] [stdout]    |                                 ^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/message.rs:15:1
[INFO] [stdout]    |
[INFO] [stdout] 15 | / define_entity!(
[INFO] [stdout] 16 | |     Message,
[INFO] [stdout] 17 | |     {
[INFO] [stdout] 18 | |         pub(crate) id: MessageId,
[INFO] [stdout] ...  |
[INFO] [stdout] 26 | | );
[INFO] [stdout]    | |_- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `define_entity_id_and_handle` which comes from the expansion of the macro `define_entity` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MessageInfo` is never constructed
[INFO] [stdout]   --> src/macros.rs:62:31
[INFO] [stdout]    |
[INFO] [stdout] 62 |               pub(crate) struct [<$base Info>] $info_fields
[INFO] [stdout]    |                                 ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/message.rs:15:1
[INFO] [stdout]    |
[INFO] [stdout] 15 | / define_entity!(
[INFO] [stdout] 16 | |     Message,
[INFO] [stdout] 17 | |     {
[INFO] [stdout] 18 | |         pub(crate) id: MessageId,
[INFO] [stdout] ...  |
[INFO] [stdout] 26 | | );
[INFO] [stdout]    | |_- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `define_entity_info` which comes from the expansion of the macro `define_entity` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `sim` is never read
[INFO] [stdout]   --> src/macros.rs:85:28
[INFO] [stdout]    |
[INFO] [stdout] 84 |             pub(crate) struct [<$base HandleMut>]<'a> {
[INFO] [stdout]    |                               ------------------- field in this struct
[INFO] [stdout] 85 |                 pub(crate) sim: &'a mut crate::Simulation,
[INFO] [stdout]    |                            ^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/message.rs:27:1
[INFO] [stdout]    |
[INFO] [stdout] 27 | define_entity_handle_mut!(Message);
[INFO] [stdout]    | ---------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: `MessageHandleMut` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]    = note: this warning originates in the macro `define_entity_handle_mut` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `with_mut` is never used
[INFO] [stdout]   --> src/macros.rs:90:31
[INFO] [stdout]    |
[INFO] [stdout] 89 |             impl<'a> [<$base Id>] {
[INFO] [stdout]    |             --------------------- method in this implementation
[INFO] [stdout] 90 |                 pub(crate) fn with_mut(&self, sim: &'a mut crate::Simulation) -> [<$base HandleMut>]<'a> {
[INFO] [stdout]    |                               ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/message.rs:27:1
[INFO] [stdout]    |
[INFO] [stdout] 27 | define_entity_handle_mut!(Message);
[INFO] [stdout]    | ---------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `define_entity_handle_mut` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/macros.rs:96:20
[INFO] [stdout]    |
[INFO] [stdout] 95 |             impl<'a> [<$base HandleMut>]<'a> {
[INFO] [stdout]    |             -------------------------------- associated function in this implementation
[INFO] [stdout] 96 |                 fn new(sim: &'a mut crate::Simulation, id: [<$base Id>]) -> Self {
[INFO] [stdout]    |                    ^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/message.rs:27:1
[INFO] [stdout]    |
[INFO] [stdout] 27 | define_entity_handle_mut!(Message);
[INFO] [stdout]    | ---------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `define_entity_handle_mut` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `data` is never used
[INFO] [stdout]   --> src/message.rs:30:19
[INFO] [stdout]    |
[INFO] [stdout] 29 | impl<'a> MessageHandle<'a> {
[INFO] [stdout]    | -------------------------- method in this implementation
[INFO] [stdout] 30 |     pub(crate) fn data(&self) -> &'a MessageData {
[INFO] [stdout]    |                   ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `post` is never used
[INFO] [stdout]   --> src/message.rs:36:19
[INFO] [stdout]    |
[INFO] [stdout] 35 | impl<'a> MessageHandleMut<'a> {
[INFO] [stdout]    | ----------------------------- method in this implementation
[INFO] [stdout] 36 |     pub(crate) fn post(&mut self, message: MessageData) {
[INFO] [stdout]    |                   ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `wallet_mut` is never used
[INFO] [stdout]    --> src/transaction.rs:139:8
[INFO] [stdout]     |
[INFO] [stdout] 126 | impl Output {
[INFO] [stdout]     | ----------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 139 |     fn wallet_mut<'a>(&self, sim: &'a mut Simulation) -> WalletHandleMut<'a> {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `wallet_mut` is never used
[INFO] [stdout]    --> src/transaction.rs:178:19
[INFO] [stdout]     |
[INFO] [stdout] 157 | impl<'a> OutputHandle<'a> {
[INFO] [stdout]     | ------------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 178 |     pub(crate) fn wallet_mut<'b>(&self, sim: &'b mut Simulation) -> WalletHandleMut<'b> {
[INFO] [stdout]     |                   ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `is_confirmed` and `is_acked` are never used
[INFO] [stdout]    --> src/transaction.rs:228:19
[INFO] [stdout]     |
[INFO] [stdout] 195 | impl<'a> TxHandle<'a> {
[INFO] [stdout]     | --------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 228 |     pub(crate) fn is_confirmed(&self) -> bool {
[INFO] [stdout]     |                   ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 237 |     pub(crate) fn is_acked(&self) -> bool {
[INFO] [stdout]     |                   ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `effective_balance` and `double_spendable_coins` are never used
[INFO] [stdout]    --> src/wallet.rs:67:19
[INFO] [stdout]     |
[INFO] [stdout]  56 | impl<'a> WalletHandle<'a> {
[INFO] [stdout]     | ------------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  67 |     pub(crate) fn effective_balance(&self) -> Amount {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 160 |     fn double_spendable_coins(&self) -> impl Iterator<Item = OutputHandle<'a>> + '_ {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `handle` is never used
[INFO] [stdout]    --> src/wallet.rs:176:19
[INFO] [stdout]     |
[INFO] [stdout] 166 | impl<'a> WalletHandleMut<'a> {
[INFO] [stdout]     | ---------------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 176 |     pub(crate) fn handle(&self) -> WalletHandle {
[INFO] [stdout]     |                   ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PaymentObligationInfo` is never constructed
[INFO] [stdout]    --> src/macros.rs:62:31
[INFO] [stdout]     |
[INFO] [stdout]  62 |               pub(crate) struct [<$base Info>] $info_fields
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/wallet.rs:461:1
[INFO] [stdout]     |
[INFO] [stdout] 461 | / define_entity!(
[INFO] [stdout] 462 | |     PaymentObligation,
[INFO] [stdout] 463 | |     {
[INFO] [stdout] 464 | |         pub(crate) id: PaymentObligationId,
[INFO] [stdout] ...   |
[INFO] [stdout] 475 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `define_entity_info` which comes from the expansion of the macro `define_entity` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AddressInfo` is never constructed
[INFO] [stdout]    --> src/macros.rs:62:31
[INFO] [stdout]     |
[INFO] [stdout]  62 |               pub(crate) struct [<$base Info>] $info_fields
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/wallet.rs:483:1
[INFO] [stdout]     |
[INFO] [stdout] 483 | / define_entity!(Address, {
[INFO] [stdout] 484 | |     pub(crate) wallet_id: WalletId,
[INFO] [stdout] ...   |
[INFO] [stdout] 488 | | }, {});
[INFO] [stdout]     | |______- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `define_entity_info` which comes from the expansion of the macro `define_entity` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: eliding a lifetime that's named elsewhere is confusing
[INFO] [stdout]    --> src/blocks.rs:436:50
[INFO] [stdout]     |
[INFO] [stdout] 436 |     fn txs<'a>(&'a self) -> impl Iterator<Item = &TxId> {
[INFO] [stdout]     |                 -- the lifetime is named here    ^^^^^ the same lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: consistently use `'a`
[INFO] [stdout]     |
[INFO] [stdout] 436 |     fn txs<'a>(&'a self) -> impl Iterator<Item = &'a TxId> {
[INFO] [stdout]     |                                                   ++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/blocks.rs:460:31
[INFO] [stdout]     |
[INFO] [stdout] 460 |     pub(crate) fn coinbase_tx(&self) -> TxHandle {
[INFO] [stdout]     |                               ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 460 |     pub(crate) fn coinbase_tx(&self) -> TxHandle<'_> {
[INFO] [stdout]     |                                                 ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/wallet.rs:176:26
[INFO] [stdout]     |
[INFO] [stdout] 176 |     pub(crate) fn handle(&self) -> WalletHandle {
[INFO] [stdout]     |                          ^^^^^     ^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                          |
[INFO] [stdout]     |                          the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 176 |     pub(crate) fn handle(&self) -> WalletHandle<'_> {
[INFO] [stdout]     |                                                ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/wallet.rs:432:29
[INFO] [stdout]     |
[INFO] [stdout] 432 |     pub(crate) fn new_tx<F>(&mut self, build: F) -> TxHandle
[INFO] [stdout]     |                             ^^^^^^^^^               ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 432 |     pub(crate) fn new_tx<F>(&mut self, build: F) -> TxHandle<'_>
[INFO] [stdout]     |                                                             ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 3.40s
[INFO] running `Command { std: "docker" "inspect" "440bc5358d32d2c9ff91742113cafddeb9ca1d9340315e4d1869f601135befc7", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "440bc5358d32d2c9ff91742113cafddeb9ca1d9340315e4d1869f601135befc7", kill_on_drop: false }`
[INFO] [stdout] 440bc5358d32d2c9ff91742113cafddeb9ca1d9340315e4d1869f601135befc7
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+bd7d74411512a3dd3b35d2f699c51dd2557c7e7e" "test" "--frozen" "-Zbuild-dir-new-layout", kill_on_drop: false }`
[INFO] [stdout] d498dde5013384162aca80dbb5d54b7bf568db3ac12da3cf7862ed571fc1e4ff
[INFO] running `Command { std: "docker" "start" "-a" "d498dde5013384162aca80dbb5d54b7bf568db3ac12da3cf7862ed571fc1e4ff", kill_on_drop: false }`
[INFO] [stderr] warning: unused import: `define_entity`
[INFO] [stderr]  --> src/blocks.rs:5:5
[INFO] [stderr]   |
[INFO] [stderr] 5 |     define_entity,
[INFO] [stderr]   |     ^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `SimulationResult`
[INFO] [stderr]   --> src/graphviz.rs:10:48
[INFO] [stderr]    |
[INFO] [stderr] 10 | use crate::{transaction::TxHandle, Simulation, SimulationResult};
[INFO] [stderr]    |                                                ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated function `rand::thread_rng`: Renamed to `rng`
[INFO] [stderr]    --> src/lib.rs:171:26
[INFO] [stderr]     |
[INFO] [stderr] 171 |         let seed = rand::thread_rng().gen_range(0..u64::MAX);
[INFO] [stderr]     |                          ^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(deprecated)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated method `rand::Rng::gen_bool`: Renamed to `random_bool`
[INFO] [stderr]   --> src/economic_graph.rs:67:25
[INFO] [stderr]    |
[INFO] [stderr] 67 |             if self.rng.gen_bool(*self.graph.edge_weight(i).unwrap()) {
[INFO] [stderr]    |                         ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated method `rand::Rng::gen_bool`: Renamed to `random_bool`
[INFO] [stderr]   --> src/economic_graph.rs:70:46
[INFO] [stderr]    |
[INFO] [stderr] 70 |                 let (from, to) = if self.rng.gen_bool(0.5) {
[INFO] [stderr]    |                                              ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated method `rand::Rng::gen_range`: Renamed to `random_range`
[INFO] [stderr]   --> src/economic_graph.rs:35:52
[INFO] [stderr]    |
[INFO] [stderr] 35 |                 self.graph.add_edge(j, i, self.rng.gen_range(0.0..1.0)); // TODO 1.0 is too high
[INFO] [stderr]    |                                                    ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated method `rand::Rng::gen_range`: Renamed to `random_range`
[INFO] [stderr]   --> src/economic_graph.rs:54:29
[INFO] [stderr]    |
[INFO] [stderr] 54 |                 || self.rng.gen_range(0.0..1.0), // TODO 1.0 is too high
[INFO] [stderr]    |                             ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated method `rand::Rng::gen_range`: Renamed to `random_range`
[INFO] [stderr]    --> src/lib.rs:171:39
[INFO] [stderr]     |
[INFO] [stderr] 171 |         let seed = rand::thread_rng().gen_range(0..u64::MAX);
[INFO] [stderr]     |                                       ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated method `rand::Rng::gen_range`: Renamed to `random_range`
[INFO] [stderr]    --> src/lib.rs:330:30
[INFO] [stderr]     |
[INFO] [stderr] 330 |             for _ in 0..prng.gen_range(5..10) {
[INFO] [stderr]     |                              ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated method `rand::Rng::gen_range`: Renamed to `random_range`
[INFO] [stderr]    --> src/lib.rs:410:26
[INFO] [stderr]     |
[INFO] [stderr] 410 | ...   prng.gen_range(current_timestep + 1..self.config.max_timestep.0 / 2); // Payments shouldnt be revealed too late. Aim to have ...
[INFO] [stderr]     |            ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: enum `CoinSelectionStrategy` is never used
[INFO] [stderr]   --> src/lib.rs:55:6
[INFO] [stderr]    |
[INFO] [stderr] 55 | enum CoinSelectionStrategy {
[INFO] [stderr]    |      ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: field `0` is never read
[INFO] [stderr]    --> src/lib.rs:144:18
[INFO] [stderr]     |
[INFO] [stderr] 144 | struct PeerGraph(UnGraph<usize, ()>);
[INFO] [stderr]     |        --------- ^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |        |
[INFO] [stderr]     |        field in this struct
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider removing this field
[INFO] [stderr]     = note: `PeerGraph` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: field `num_wallets` is never read
[INFO] [stderr]    --> src/lib.rs:284:5
[INFO] [stderr]     |
[INFO] [stderr] 283 | struct SimulationConfig {
[INFO] [stderr]     |        ---------------- field in this struct
[INFO] [stderr] 284 |     num_wallets: usize,
[INFO] [stderr]     |     ^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `SimulationConfig` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: field `peer_graph` is never read
[INFO] [stderr]    --> src/lib.rs:303:5
[INFO] [stderr]     |
[INFO] [stderr] 292 | pub struct Simulation {
[INFO] [stderr]     |            ---------- field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 303 |     peer_graph: PeerGraph,
[INFO] [stderr]     |     ^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `Simulation` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: field `fee_savings` is never read
[INFO] [stderr]   --> src/actions.rs:95:5
[INFO] [stderr]    |
[INFO] [stderr] 87 | pub(crate) struct InitiatePayjoinOutcome {
[INFO] [stderr]    |                   ---------------------- field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 95 |     fee_savings: Amount,
[INFO] [stderr]    |     ^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `InitiatePayjoinOutcome` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: field `fee_savings` is never read
[INFO] [stderr]    --> src/actions.rs:124:5
[INFO] [stderr]     |
[INFO] [stderr] 118 | pub(crate) struct RespondToPayjoinOutcome {
[INFO] [stderr]     |                   ----------------------- field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 124 |     fee_savings: Amount,
[INFO] [stderr]     |     ^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `RespondToPayjoinOutcome` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: field `max_block_weight` is never read
[INFO] [stderr]   --> src/blocks.rs:15:5
[INFO] [stderr]    |
[INFO] [stderr] 12 | pub(crate) struct ChainParams {
[INFO] [stderr]    |                   ----------- field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 15 |     max_block_weight: Weight,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `ChainParams` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: method `with` is never used
[INFO] [stderr]   --> src/macros.rs:20:31
[INFO] [stderr]    |
[INFO] [stderr] 17 |             impl<'a> [<$base Id>] {
[INFO] [stderr]    |             --------------------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 20 |                 pub(crate) fn with(&self, sim: &'a crate::Simulation) -> [<$base Handle>]<'a>
[INFO] [stderr]    |                               ^^^^
[INFO] [stderr]    |
[INFO] [stderr]   ::: src/blocks.rs:56:1
[INFO] [stderr]    |
[INFO] [stderr] 56 | define_entity_id_and_handle!(BroadcastSet);
[INFO] [stderr]    | ------------------------------------------ in this macro invocation
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in the macro `define_entity_id_and_handle` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `new` is never used
[INFO] [stderr]   --> src/macros.rs:27:31
[INFO] [stderr]    |
[INFO] [stderr] 26 |             impl<'a> [<$base Handle>]<'a> {
[INFO] [stderr]    |             ----------------------------- associated function in this implementation
[INFO] [stderr] 27 |                 pub(crate) fn new(sim: &'a crate::Simulation, id: [<$base Id>]) -> Self {
[INFO] [stderr]    |                               ^^^
[INFO] [stderr]    |
[INFO] [stderr]   ::: src/blocks.rs:56:1
[INFO] [stderr]    |
[INFO] [stderr] 56 | define_entity_id_and_handle!(BroadcastSet);
[INFO] [stderr]    | ------------------------------------------ in this macro invocation
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in the macro `define_entity_id_and_handle` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: methods `txs`, `parent`, and `coinbase_tx` are never used
[INFO] [stderr]    --> src/blocks.rs:448:19
[INFO] [stderr]     |
[INFO] [stderr] 442 | impl<'a> BlockHandle<'a> {
[INFO] [stderr]     | ------------------------ methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 448 |     pub(crate) fn txs(&'a self) -> impl Iterator<Item = &'a TxId> {
[INFO] [stderr]     |                   ^^^
[INFO] [stderr] ...
[INFO] [stderr] 456 |     pub(crate) fn parent(&self) -> Option<Self> {
[INFO] [stderr]     |                   ^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 460 |     pub(crate) fn coinbase_tx(&self) -> TxHandle {
[INFO] [stderr]     |                   ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `sim` is never read
[INFO] [stderr]   --> src/macros.rs:13:17
[INFO] [stderr]    |
[INFO] [stderr] 12 |               pub(crate) struct [<$base Handle>]<'a> {
[INFO] [stderr]    |                                 ---------------- field in this struct
[INFO] [stderr] 13 |                   sim: &'a crate::Simulation,
[INFO] [stderr]    |                   ^^^
[INFO] [stderr]    |
[INFO] [stderr]   ::: src/message.rs:15:1
[INFO] [stderr]    |
[INFO] [stderr] 15 | / define_entity!(
[INFO] [stderr] 16 | |     Message,
[INFO] [stderr] 17 | |     {
[INFO] [stderr] 18 | |         pub(crate) id: MessageId,
[INFO] [stderr] ...  |
[INFO] [stderr] 26 | | );
[INFO] [stderr]    | |_- in this macro invocation
[INFO] [stderr]    |
[INFO] [stderr]    = note: `MessageHandle` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr]    = note: this warning originates in the macro `define_entity_id_and_handle` which comes from the expansion of the macro `define_entity` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: method `with` is never used
[INFO] [stderr]   --> src/macros.rs:20:31
[INFO] [stderr]    |
[INFO] [stderr] 17 |               impl<'a> [<$base Id>] {
[INFO] [stderr]    |               --------------------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 20 |                   pub(crate) fn with(&self, sim: &'a crate::Simulation) -> [<$base Handle>]<'a>
[INFO] [stderr]    |                                 ^^^^
[INFO] [stderr]    |
[INFO] [stderr]   ::: src/message.rs:15:1
[INFO] [stderr]    |
[INFO] [stderr] 15 | / define_entity!(
[INFO] [stderr] 16 | |     Message,
[INFO] [stderr] 17 | |     {
[INFO] [stderr] 18 | |         pub(crate) id: MessageId,
[INFO] [stderr] ...  |
[INFO] [stderr] 26 | | );
[INFO] [stderr]    | |_- in this macro invocation
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in the macro `define_entity_id_and_handle` which comes from the expansion of the macro `define_entity` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `new` is never used
[INFO] [stderr]   --> src/macros.rs:27:31
[INFO] [stderr]    |
[INFO] [stderr] 26 |               impl<'a> [<$base Handle>]<'a> {
[INFO] [stderr]    |               ----------------------------- associated function in this implementation
[INFO] [stderr] 27 |                   pub(crate) fn new(sim: &'a crate::Simulation, id: [<$base Id>]) -> Self {
[INFO] [stderr]    |                                 ^^^
[INFO] [stderr]    |
[INFO] [stderr]   ::: src/message.rs:15:1
[INFO] [stderr]    |
[INFO] [stderr] 15 | / define_entity!(
[INFO] [stderr] 16 | |     Message,
[INFO] [stderr] 17 | |     {
[INFO] [stderr] 18 | |         pub(crate) id: MessageId,
[INFO] [stderr] ...  |
[INFO] [stderr] 26 | | );
[INFO] [stderr]    | |_- in this macro invocation
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in the macro `define_entity_id_and_handle` which comes from the expansion of the macro `define_entity` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: struct `MessageInfo` is never constructed
[INFO] [stderr]   --> src/macros.rs:62:31
[INFO] [stderr]    |
[INFO] [stderr] 62 |               pub(crate) struct [<$base Info>] $info_fields
[INFO] [stderr]    |                                 ^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]   ::: src/message.rs:15:1
[INFO] [stderr]    |
[INFO] [stderr] 15 | / define_entity!(
[INFO] [stderr] 16 | |     Message,
[INFO] [stderr] 17 | |     {
[INFO] [stderr] 18 | |         pub(crate) id: MessageId,
[INFO] [stderr] ...  |
[INFO] [stderr] 26 | | );
[INFO] [stderr]    | |_- in this macro invocation
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in the macro `define_entity_info` which comes from the expansion of the macro `define_entity` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: field `sim` is never read
[INFO] [stderr]   --> src/macros.rs:85:28
[INFO] [stderr]    |
[INFO] [stderr] 84 |             pub(crate) struct [<$base HandleMut>]<'a> {
[INFO] [stderr]    |                               ------------------- field in this struct
[INFO] [stderr] 85 |                 pub(crate) sim: &'a mut crate::Simulation,
[INFO] [stderr]    |                            ^^^
[INFO] [stderr]    |
[INFO] [stderr]   ::: src/message.rs:27:1
[INFO] [stderr]    |
[INFO] [stderr] 27 | define_entity_handle_mut!(Message);
[INFO] [stderr]    | ---------------------------------- in this macro invocation
[INFO] [stderr]    |
[INFO] [stderr]    = note: `MessageHandleMut` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr]    = note: this warning originates in the macro `define_entity_handle_mut` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: method `with_mut` is never used
[INFO] [stderr]   --> src/macros.rs:90:31
[INFO] [stderr]    |
[INFO] [stderr] 89 |             impl<'a> [<$base Id>] {
[INFO] [stderr]    |             --------------------- method in this implementation
[INFO] [stderr] 90 |                 pub(crate) fn with_mut(&self, sim: &'a mut crate::Simulation) -> [<$base HandleMut>]<'a> {
[INFO] [stderr]    |                               ^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]   ::: src/message.rs:27:1
[INFO] [stderr]    |
[INFO] [stderr] 27 | define_entity_handle_mut!(Message);
[INFO] [stderr]    | ---------------------------------- in this macro invocation
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in the macro `define_entity_handle_mut` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `new` is never used
[INFO] [stderr]   --> src/macros.rs:96:20
[INFO] [stderr]    |
[INFO] [stderr] 95 |             impl<'a> [<$base HandleMut>]<'a> {
[INFO] [stderr]    |             -------------------------------- associated function in this implementation
[INFO] [stderr] 96 |                 fn new(sim: &'a mut crate::Simulation, id: [<$base Id>]) -> Self {
[INFO] [stderr]    |                    ^^^
[INFO] [stderr]    |
[INFO] [stderr]   ::: src/message.rs:27:1
[INFO] [stderr]    |
[INFO] [stderr] 27 | define_entity_handle_mut!(Message);
[INFO] [stderr]    | ---------------------------------- in this macro invocation
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in the macro `define_entity_handle_mut` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: method `data` is never used
[INFO] [stderr]   --> src/message.rs:30:19
[INFO] [stderr]    |
[INFO] [stderr] 29 | impl<'a> MessageHandle<'a> {
[INFO] [stderr]    | -------------------------- method in this implementation
[INFO] [stderr] 30 |     pub(crate) fn data(&self) -> &'a MessageData {
[INFO] [stderr]    |                   ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `post` is never used
[INFO] [stderr]   --> src/message.rs:36:19
[INFO] [stderr]    |
[INFO] [stderr] 35 | impl<'a> MessageHandleMut<'a> {
[INFO] [stderr]    | ----------------------------- method in this implementation
[INFO] [stderr] 36 |     pub(crate) fn post(&mut self, message: MessageData) {
[INFO] [stderr]    |                   ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `wallet_mut` is never used
[INFO] [stderr]    --> src/transaction.rs:139:8
[INFO] [stderr]     |
[INFO] [stderr] 126 | impl Output {
[INFO] [stderr]     | ----------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 139 |     fn wallet_mut<'a>(&self, sim: &'a mut Simulation) -> WalletHandleMut<'a> {
[INFO] [stderr]     |        ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `wallet_mut` is never used
[INFO] [stderr]    --> src/transaction.rs:178:19
[INFO] [stderr]     |
[INFO] [stderr] 157 | impl<'a> OutputHandle<'a> {
[INFO] [stderr]     | ------------------------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 178 |     pub(crate) fn wallet_mut<'b>(&self, sim: &'b mut Simulation) -> WalletHandleMut<'b> {
[INFO] [stderr]     |                   ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: methods `is_confirmed` and `is_acked` are never used
[INFO] [stderr]    --> src/transaction.rs:228:19
[INFO] [stderr]     |
[INFO] [stderr] 195 | impl<'a> TxHandle<'a> {
[INFO] [stderr]     | --------------------- methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 228 |     pub(crate) fn is_confirmed(&self) -> bool {
[INFO] [stderr]     |                   ^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 237 |     pub(crate) fn is_acked(&self) -> bool {
[INFO] [stderr]     |                   ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: methods `effective_balance` and `double_spendable_coins` are never used
[INFO] [stderr]    --> src/wallet.rs:67:19
[INFO] [stderr]     |
[INFO] [stderr]  56 | impl<'a> WalletHandle<'a> {
[INFO] [stderr]     | ------------------------- methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr]  67 |     pub(crate) fn effective_balance(&self) -> Amount {
[INFO] [stderr]     |                   ^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 160 |     fn double_spendable_coins(&self) -> impl Iterator<Item = OutputHandle<'a>> + '_ {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `handle` is never used
[INFO] [stderr]    --> src/wallet.rs:176:19
[INFO] [stderr]     |
[INFO] [stderr] 166 | impl<'a> WalletHandleMut<'a> {
[INFO] [stderr]     | ---------------------------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 176 |     pub(crate) fn handle(&self) -> WalletHandle {
[INFO] [stderr]     |                   ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `PaymentObligationInfo` is never constructed
[INFO] [stderr]    --> src/macros.rs:62:31
[INFO] [stderr]     |
[INFO] [stderr]  62 |               pub(crate) struct [<$base Info>] $info_fields
[INFO] [stderr]     |                                 ^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]    ::: src/wallet.rs:461:1
[INFO] [stderr]     |
[INFO] [stderr] 461 | / define_entity!(
[INFO] [stderr] 462 | |     PaymentObligation,
[INFO] [stderr] 463 | |     {
[INFO] [stderr] 464 | |         pub(crate) id: PaymentObligationId,
[INFO] [stderr] ...   |
[INFO] [stderr] 475 | | );
[INFO] [stderr]     | |_- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in the macro `define_entity_info` which comes from the expansion of the macro `define_entity` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: struct `AddressInfo` is never constructed
[INFO] [stderr]    --> src/macros.rs:62:31
[INFO] [stderr]     |
[INFO] [stderr]  62 |               pub(crate) struct [<$base Info>] $info_fields
[INFO] [stderr]     |                                 ^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]    ::: src/wallet.rs:483:1
[INFO] [stderr]     |
[INFO] [stderr] 483 | / define_entity!(Address, {
[INFO] [stderr] 484 | |     pub(crate) wallet_id: WalletId,
[INFO] [stderr] ...   |
[INFO] [stderr] 488 | | }, {});
[INFO] [stderr]     | |______- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in the macro `define_entity_info` which comes from the expansion of the macro `define_entity` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: eliding a lifetime that's named elsewhere is confusing
[INFO] [stderr]    --> src/blocks.rs:436:50
[INFO] [stderr]     |
[INFO] [stderr] 436 |     fn txs<'a>(&'a self) -> impl Iterator<Item = &TxId> {
[INFO] [stderr]     |                 -- the lifetime is named here    ^^^^^ the same lifetime is elided here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stderr] help: consistently use `'a`
[INFO] [stderr]     |
[INFO] [stderr] 436 |     fn txs<'a>(&'a self) -> impl Iterator<Item = &'a TxId> {
[INFO] [stderr]     |                                                   ++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/blocks.rs:460:31
[INFO] [stderr]     |
[INFO] [stderr] 460 |     pub(crate) fn coinbase_tx(&self) -> TxHandle {
[INFO] [stderr]     |                               ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]     |                               |
[INFO] [stderr]     |                               the lifetime is elided here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 460 |     pub(crate) fn coinbase_tx(&self) -> TxHandle<'_> {
[INFO] [stderr]     |                                                 ++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/wallet.rs:176:26
[INFO] [stderr]     |
[INFO] [stderr] 176 |     pub(crate) fn handle(&self) -> WalletHandle {
[INFO] [stderr]     |                          ^^^^^     ^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]     |                          |
[INFO] [stderr]     |                          the lifetime is elided here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 176 |     pub(crate) fn handle(&self) -> WalletHandle<'_> {
[INFO] [stderr]     |                                                ++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/wallet.rs:432:29
[INFO] [stderr]     |
[INFO] [stderr] 432 |     pub(crate) fn new_tx<F>(&mut self, build: F) -> TxHandle
[INFO] [stderr]     |                             ^^^^^^^^^               ^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]     |                             |
[INFO] [stdout] 
[INFO] [stderr]     |                             the lifetime is elided here
[INFO] [stdout] running 3 tests
[INFO] [stderr]     |
[INFO] [stdout] test tests::it_works ... ok
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 432 |     pub(crate) fn new_tx<F>(&mut self, build: F) -> TxHandle<'_>
[INFO] [stderr]     |                                                             ++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `txid_from_bytes`
[INFO] [stderr]    --> src/transaction.rs:304:13
[INFO] [stderr]     |
[INFO] [stderr] 304 |         let txid_from_bytes = bitcoin::Txid::from(txid);
[INFO] [stderr]     |             ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_txid_from_bytes`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: methods `txs` and `parent` are never used
[INFO] [stderr]    --> src/blocks.rs:448:19
[INFO] [stderr]     |
[INFO] [stderr] 442 | impl<'a> BlockHandle<'a> {
[INFO] [stderr]     | ------------------------ methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 448 |     pub(crate) fn txs(&'a self) -> impl Iterator<Item = &'a TxId> {
[INFO] [stderr]     |                   ^^^
[INFO] [stderr] ...
[INFO] [stderr] 456 |     pub(crate) fn parent(&self) -> Option<Self> {
[INFO] [stderr]     |                   ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: `btsim` (lib) generated 40 warnings (run `cargo fix --lib -p btsim` to apply 6 suggestions)
[INFO] [stderr] warning: `btsim` (lib test) generated 41 warnings (39 duplicates) (run `cargo fix --lib -p btsim --tests` to apply 1 suggestion)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.18s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/build/btsim/ad86d0177f2363f4/deps/btsim-ad86d0177f2363f4)
[INFO] [stdout] test transaction::tests::test_txid_encoding ... ok
[INFO] [stdout] test tests::test_universe ... FAILED
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- tests::test_universe stdout ----
[INFO] [stdout] === Simulation State ===
[INFO] [stdout] Current Timestep: 20
[INFO] [stdout] Max Timesteps: 20
[INFO] [stdout] 
[INFO] [stdout] Wallets: 5
[INFO] [stdout] 
[INFO] [stdout] Wallet 0:
[INFO] [stdout]   Own Transactions: [TxId(1), TxId(2), TxId(3), TxId(4), TxId(5), TxId(6), TxId(30), TxId(31), TxId(32), TxId(34), TxId(36), TxId(37), TxId(39), TxId(40), TxId(41), TxId(42), TxId(43), TxId(44), TxId(45), TxId(46), TxId(47), TxId(48), TxId(49), TxId(50), TxId(51), TxId(52), TxId(53)]
[INFO] [stdout]   Addresses: [AddressId(0), AddressId(5), AddressId(6), AddressId(8), AddressId(11), AddressId(16), AddressId(17), AddressId(19), AddressId(21), AddressId(22), AddressId(23), AddressId(26), AddressId(27), AddressId(29), AddressId(30), AddressId(31), AddressId(35), AddressId(36), AddressId(40), AddressId(41), AddressId(42), AddressId(43), AddressId(44), AddressId(45), AddressId(46), AddressId(47), AddressId(48), AddressId(49), AddressId(50)]
[INFO] [stdout]   Broadcast Transactions: [TxId(42)]
[INFO] [stdout]   Received Transactions: [TxId(35), TxId(38), TxId(38)]
[INFO] [stdout]   Unconfirmed Transactions: {}
[INFO] [stdout]   Confirmed UTXOs: {Outpoint { txid: TxId(1), index: 0 }, Outpoint { txid: TxId(2), index: 0 }, Outpoint { txid: TxId(3), index: 0 }, Outpoint { txid: TxId(4), index: 0 }, Outpoint { txid: TxId(5), index: 0 }, Outpoint { txid: TxId(6), index: 0 }, Outpoint { txid: TxId(30), index: 0 }, Outpoint { txid: TxId(31), index: 0 }, Outpoint { txid: TxId(32), index: 0 }, Outpoint { txid: TxId(35), index: 0 }, Outpoint { txid: TxId(36), index: 0 }, Outpoint { txid: TxId(37), index: 0 }, Outpoint { txid: TxId(38), index: 0 }, Outpoint { txid: TxId(38), index: 3 }, Outpoint { txid: TxId(40), index: 0 }, Outpoint { txid: TxId(41), index: 0 }, Outpoint { txid: TxId(42), index: 1 }, Outpoint { txid: TxId(42), index: 2 }, Outpoint { txid: TxId(43), index: 0 }, Outpoint { txid: TxId(44), index: 0 }, Outpoint { txid: TxId(45), index: 0 }, Outpoint { txid: TxId(46), index: 0 }, Outpoint { txid: TxId(47), index: 0 }, Outpoint { txid: TxId(48), index: 0 }, Outpoint { txid: TxId(49), index: 0 }, Outpoint { txid: TxId(50), index: 0 }, Outpoint { txid: TxId(51), index: 0 }, Outpoint { txid: TxId(52), index: 0 }, Outpoint { txid: TxId(53), index: 0 }}
[INFO] [stdout]   Unconfirmed UTXOs: {}
[INFO] [stdout]   Unconfirmed Spends: {}
[INFO] [stdout] 
[INFO] [stdout] Wallet 1:
[INFO] [stdout]   Own Transactions: [TxId(7), TxId(8), TxId(9), TxId(10), TxId(11)]
[INFO] [stdout]   Addresses: [AddressId(1), AddressId(10), AddressId(13), AddressId(14), AddressId(28), AddressId(32), AddressId(37), AddressId(39)]
[INFO] [stdout]   Broadcast Transactions: []
[INFO] [stdout]   Received Transactions: [TxId(33), TxId(42), TxId(42)]
[INFO] [stdout]   Unconfirmed Transactions: {}
[INFO] [stdout]   Confirmed UTXOs: {Outpoint { txid: TxId(8), index: 0 }, Outpoint { txid: TxId(9), index: 0 }, Outpoint { txid: TxId(10), index: 0 }, Outpoint { txid: TxId(11), index: 0 }, Outpoint { txid: TxId(33), index: 0 }, Outpoint { txid: TxId(42), index: 0 }, Outpoint { txid: TxId(42), index: 3 }}
[INFO] [stdout]   Unconfirmed UTXOs: {}
[INFO] [stdout]   Unconfirmed Spends: {}
[INFO] [stdout] 
[INFO] [stdout] Wallet 2:
[INFO] [stdout]   Own Transactions: [TxId(12), TxId(13), TxId(14), TxId(15), TxId(16), TxId(17), TxId(18), TxId(38)]
[INFO] [stdout]   Addresses: [AddressId(2), AddressId(7), AddressId(24), AddressId(25), AddressId(33)]
[INFO] [stdout]   Broadcast Transactions: [TxId(38)]
[INFO] [stdout]   Received Transactions: []
[INFO] [stdout]   Unconfirmed Transactions: {}
[INFO] [stdout]   Confirmed UTXOs: {Outpoint { txid: TxId(13), index: 0 }, Outpoint { txid: TxId(14), index: 0 }, Outpoint { txid: TxId(15), index: 0 }, Outpoint { txid: TxId(16), index: 0 }, Outpoint { txid: TxId(17), index: 0 }, Outpoint { txid: TxId(18), index: 0 }, Outpoint { txid: TxId(38), index: 1 }, Outpoint { txid: TxId(38), index: 2 }}
[INFO] [stdout]   Unconfirmed UTXOs: {}
[INFO] [stdout]   Unconfirmed Spends: {}
[INFO] [stdout] 
[INFO] [stdout] Wallet 3:
[INFO] [stdout]   Own Transactions: [TxId(19), TxId(20), TxId(21), TxId(22), TxId(23), TxId(24), TxId(35)]
[INFO] [stdout]   Addresses: [AddressId(3), AddressId(9), AddressId(12), AddressId(18), AddressId(34), AddressId(38)]
[INFO] [stdout]   Broadcast Transactions: [TxId(35)]
[INFO] [stdout]   Received Transactions: []
[INFO] [stdout]   Unconfirmed Transactions: {}
[INFO] [stdout]   Confirmed UTXOs: {Outpoint { txid: TxId(19), index: 0 }, Outpoint { txid: TxId(20), index: 0 }, Outpoint { txid: TxId(22), index: 0 }, Outpoint { txid: TxId(23), index: 0 }, Outpoint { txid: TxId(24), index: 0 }, Outpoint { txid: TxId(35), index: 1 }}
[INFO] [stdout]   Unconfirmed UTXOs: {}
[INFO] [stdout]   Unconfirmed Spends: {}
[INFO] [stdout] 
[INFO] [stdout] Wallet 4:
[INFO] [stdout]   Own Transactions: [TxId(25), TxId(26), TxId(27), TxId(28), TxId(29), TxId(33)]
[INFO] [stdout]   Addresses: [AddressId(4), AddressId(15), AddressId(20)]
[INFO] [stdout]   Broadcast Transactions: [TxId(33)]
[INFO] [stdout]   Received Transactions: []
[INFO] [stdout]   Unconfirmed Transactions: {}
[INFO] [stdout]   Confirmed UTXOs: {Outpoint { txid: TxId(26), index: 0 }, Outpoint { txid: TxId(27), index: 0 }, Outpoint { txid: TxId(28), index: 0 }, Outpoint { txid: TxId(29), index: 0 }, Outpoint { txid: TxId(33), index: 1 }}
[INFO] [stdout]   Unconfirmed UTXOs: {}
[INFO] [stdout]   Unconfirmed Spends: {}
[INFO] [stdout] 
[INFO] [stdout] Payment Obligations: 13
[INFO] [stdout] 
[INFO] [stdout] Payment 0: Amount: 0.00004483 BTC, From: Wallet 0, To: Address 1, Deadline: Timestep 11
[INFO] [stdout] 
[INFO] [stdout] Payment 1: Amount: 0.00008521 BTC, From: Wallet 0, To: Address 2, Deadline: Timestep 16
[INFO] [stdout] 
[INFO] [stdout] Payment 2: Amount: 0.00005409 BTC, From: Wallet 3, To: Address 1, Deadline: Timestep 23
[INFO] [stdout] 
[INFO] [stdout] Payment 3: Amount: 0.00025140 BTC, From: Wallet 0, To: Address 1, Deadline: Timestep 24
[INFO] [stdout] 
[INFO] [stdout] Payment 4: Amount: 0.00008422 BTC, From: Wallet 0, To: Address 2, Deadline: Timestep 20
[INFO] [stdout] 
[INFO] [stdout] Payment 5: Amount: 0.00003519 BTC, From: Wallet 3, To: Address 1, Deadline: Timestep 23
[INFO] [stdout] 
[INFO] [stdout] Payment 6: Amount: 0.00003469 BTC, From: Wallet 4, To: Address 1, Deadline: Timestep 3
[INFO] [stdout] 
[INFO] [stdout] Payment 7: Amount: 0.00011851 BTC, From: Wallet 4, To: Address 0, Deadline: Timestep 16
[INFO] [stdout] 
[INFO] [stdout] Payment 8: Amount: 0.00005725 BTC, From: Wallet 1, To: Address 0, Deadline: Timestep 21
[INFO] [stdout] 
[INFO] [stdout] Payment 9: Amount: 0.00000170 BTC, From: Wallet 2, To: Address 0, Deadline: Timestep 9
[INFO] [stdout] 
[INFO] [stdout] Payment 10: Amount: 0.00041677 BTC, From: Wallet 2, To: Address 3, Deadline: Timestep 28
[INFO] [stdout] 
[INFO] [stdout] Payment 11: Amount: 0.00011013 BTC, From: Wallet 3, To: Address 1, Deadline: Timestep 22
[INFO] [stdout] 
[INFO] [stdout] Payment 12: Amount: 0.00005198 BTC, From: Wallet 3, To: Address 0, Deadline: Timestep 5
[INFO] [stdout] 
[INFO] [stdout] Peer Messages: 9
[INFO] [stdout] 
[INFO] [stdout] Message 0: From: Wallet 0, To: Wallet WalletId(2), Message Type: InitiatePayjoin(PayjoinProposal { tx: TxData { inputs: [Input { outpoint: Outpoint { txid: TxId(1), index: 0 } }], outputs: [Output { amount: 8422 SAT, address_id: AddressId(7) }, Output { amount: 4999991501 SAT, address_id: AddressId(6) }], wallet_acks: [WalletId(0)] }, valid_till: TimeStep(20) })
[INFO] [stdout] 
[INFO] [stdout] Message 1: From: Wallet 3, To: Wallet WalletId(1), Message Type: InitiatePayjoin(PayjoinProposal { tx: TxData { inputs: [Input { outpoint: Outpoint { txid: TxId(19), index: 0 } }], outputs: [Output { amount: 11013 SAT, address_id: AddressId(10) }, Output { amount: 4999988910 SAT, address_id: AddressId(9) }], wallet_acks: [WalletId(3)] }, valid_till: TimeStep(22) })
[INFO] [stdout] 
[INFO] [stdout] Message 2: From: Wallet 3, To: Wallet WalletId(1), Message Type: InitiatePayjoin(PayjoinProposal { tx: TxData { inputs: [Input { outpoint: Outpoint { txid: TxId(20), index: 0 } }], outputs: [Output { amount: 5409 SAT, address_id: AddressId(13) }, Output { amount: 4999994514 SAT, address_id: AddressId(12) }], wallet_acks: [WalletId(3)] }, valid_till: TimeStep(23) })
[INFO] [stdout] 
[INFO] [stdout] Message 3: From: Wallet 4, To: Wallet WalletId(0), Message Type: InitiatePayjoin(PayjoinProposal { tx: TxData { inputs: [Input { outpoint: Outpoint { txid: TxId(26), index: 0 } }], outputs: [Output { amount: 11851 SAT, address_id: AddressId(21) }, Output { amount: 4999988072 SAT, address_id: AddressId(20) }], wallet_acks: [WalletId(4)] }, valid_till: TimeStep(16) })
[INFO] [stdout] 
[INFO] [stdout] Message 4: From: Wallet 0, To: Wallet WalletId(2), Message Type: InitiatePayjoin(PayjoinProposal { tx: TxData { inputs: [Input { outpoint: Outpoint { txid: TxId(34), index: 0 } }], outputs: [Output { amount: 8521 SAT, address_id: AddressId(24) }, Output { amount: 4999991479 SAT, address_id: AddressId(23) }], wallet_acks: [WalletId(0)] }, valid_till: TimeStep(16) })
[INFO] [stdout] 
[INFO] [stdout] Message 5: From: Wallet 1, To: Wallet WalletId(0), Message Type: InitiatePayjoin(PayjoinProposal { tx: TxData { inputs: [Input { outpoint: Outpoint { txid: TxId(7), index: 0 } }], outputs: [Output { amount: 5725 SAT, address_id: AddressId(29) }, Output { amount: 4999994198 SAT, address_id: AddressId(28) }], wallet_acks: [WalletId(1)] }, valid_till: TimeStep(21) })
[INFO] [stdout] 
[INFO] [stdout] Message 6: From: Wallet 0, To: Wallet WalletId(1), Message Type: InitiatePayjoin(PayjoinProposal { tx: TxData { inputs: [Input { outpoint: Outpoint { txid: TxId(2), index: 0 } }], outputs: [Output { amount: 25140 SAT, address_id: AddressId(32) }, Output { amount: 4999974783 SAT, address_id: AddressId(31) }], wallet_acks: [WalletId(0)] }, valid_till: TimeStep(24) })
[INFO] [stdout] 
[INFO] [stdout] Message 7: From: Wallet 2, To: Wallet WalletId(3), Message Type: InitiatePayjoin(PayjoinProposal { tx: TxData { inputs: [Input { outpoint: Outpoint { txid: TxId(13), index: 0 } }], outputs: [Output { amount: 41677 SAT, address_id: AddressId(34) }, Output { amount: 4999958246 SAT, address_id: AddressId(33) }], wallet_acks: [WalletId(2)] }, valid_till: TimeStep(28) })
[INFO] [stdout] 
[INFO] [stdout] Message 8: From: Wallet 3, To: Wallet WalletId(1), Message Type: InitiatePayjoin(PayjoinProposal { tx: TxData { inputs: [Input { outpoint: Outpoint { txid: TxId(22), index: 0 } }], outputs: [Output { amount: 3519 SAT, address_id: AddressId(39) }, Output { amount: 4999996404 SAT, address_id: AddressId(38) }], wallet_acks: [WalletId(3)] }, valid_till: TimeStep(23) })
[INFO] [stdout] 
[INFO] [stdout] Spends: 6
[INFO] [stdout] Spend 0: (Outpoint { txid: TxId(7), index: 0 }, {InputId { txid: TxId(42), index: 1 }})
[INFO] [stdout] Spend 1: (Outpoint { txid: TxId(12), index: 0 }, {InputId { txid: TxId(38), index: 0 }})
[INFO] [stdout] Spend 2: (Outpoint { txid: TxId(21), index: 0 }, {InputId { txid: TxId(35), index: 0 }})
[INFO] [stdout] Spend 3: (Outpoint { txid: TxId(25), index: 0 }, {InputId { txid: TxId(33), index: 0 }})
[INFO] [stdout] Spend 4: (Outpoint { txid: TxId(34), index: 0 }, {InputId { txid: TxId(38), index: 1 }})
[INFO] [stdout] Spend 5: (Outpoint { txid: TxId(39), index: 0 }, {InputId { txid: TxId(42), index: 0 }})
[INFO] [stdout] 
[INFO] [stdout] Blocks: 50
[INFO] [stdout] Broadcast Sets: 54
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] thread 'tests::test_universe' (26) panicked at src/lib.rs:693:41:
[INFO] [stdout] called `Result::unwrap()` on an `Err` value: Os { code: 30, kind: ReadOnlyFilesystem, message: "Read-only file system" }
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x63842262ba12 - std[840933623431fd06]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x63842262ba12 - std[840933623431fd06]::backtrace_rs::backtrace::trace_unsynchronized::<std[840933623431fd06]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x63842262ba12 - std[840933623431fd06]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x63842262ba12 - <<std[840933623431fd06]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[8f93d80df273fe75]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x638422642c9a - <core[8f93d80df273fe75]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x638422642c9a - core[8f93d80df273fe75]::fmt::write
[INFO] [stdout]    6:     0x638422630926 - std[840933623431fd06]::io::default_write_fmt::<alloc[40b2bae28975ac47]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/io/mod.rs:639:11
[INFO] [stdout]    7:     0x638422630926 - <alloc[40b2bae28975ac47]::vec::Vec<u8> as std[840933623431fd06]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/io/mod.rs:1994:13
[INFO] [stdout]    8:     0x63842260984f - <std[840933623431fd06]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x63842260984f - std[840933623431fd06]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x638422623ab9 - std[840933623431fd06]::panicking::default_hook
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x63842256519e - <alloc[40b2bae28975ac47]::boxed::Box<dyn for<'a, 'b> core[8f93d80df273fe75]::ops::function::Fn<(&'a std[840933623431fd06]::panic::PanicHookInfo<'b>,), Output = ()> + core[8f93d80df273fe75]::marker::Sync + core[8f93d80df273fe75]::marker::Send> as core[8f93d80df273fe75]::ops::function::Fn<(&std[840933623431fd06]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/alloc/src/boxed.rs:2220:9
[INFO] [stdout]   12:     0x63842256519e - test[2f1252070343a163]::test_main_with_exit_callback::<test[2f1252070343a163]::test_main::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/test/src/lib.rs:145:21
[INFO] [stdout]   13:     0x638422623c72 - <alloc[40b2bae28975ac47]::boxed::Box<dyn for<'a, 'b> core[8f93d80df273fe75]::ops::function::Fn<(&'a std[840933623431fd06]::panic::PanicHookInfo<'b>,), Output = ()> + core[8f93d80df273fe75]::marker::Sync + core[8f93d80df273fe75]::marker::Send> as core[8f93d80df273fe75]::ops::function::Fn<(&std[840933623431fd06]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/alloc/src/boxed.rs:2220:9
[INFO] [stdout]   14:     0x638422623c72 - std[840933623431fd06]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x638422609908 - std[840933623431fd06]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:698:13
[INFO] [stdout]   16:     0x6384226011f9 - std[840933623431fd06]::sys::backtrace::__rust_end_short_backtrace::<std[840933623431fd06]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x63842260a75d - __rustc[5b4a0c6d8cc4a177]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x63842264339c - core[8f93d80df273fe75]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x6384226430e2 - core[8f93d80df273fe75]::result::unwrap_failed
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/result.rs:1867:5
[INFO] [stdout]   20:     0x638422537440 - <core[8f93d80df273fe75]::result::Result<(), std[840933623431fd06]::io::error::Error>>::unwrap
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/result.rs:1233:23
[INFO] [stdout]   21:     0x638422537440 - <btsim[d9fdd347c56b7f8f]::SimulationResult>::save_tx_graph::<&str>
[INFO] [stdout]                                at /opt/rustwide/workdir/src/lib.rs:693:41
[INFO] [stdout]   22:     0x638422512a78 - btsim[d9fdd347c56b7f8f]::tests::test_universe
[INFO] [stdout]                                at /opt/rustwide/workdir/src/lib.rs:716:16
[INFO] [stdout]   23:     0x63842250b147 - btsim[d9fdd347c56b7f8f]::tests::test_universe::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/src/lib.rs:708:23
[INFO] [stdout]   24:     0x63842252be26 - <btsim[d9fdd347c56b7f8f]::tests::test_universe::{closure#0} as core[8f93d80df273fe75]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   25:     0x63842255954b - <fn() -> core[8f93d80df273fe75]::result::Result<(), alloc[40b2bae28975ac47]::string::String> as core[8f93d80df273fe75]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   26:     0x63842255954b - test[2f1252070343a163]::__rust_begin_short_backtrace::<core[8f93d80df273fe75]::result::Result<(), alloc[40b2bae28975ac47]::string::String>, fn() -> core[8f93d80df273fe75]::result::Result<(), alloc[40b2bae28975ac47]::string::String>>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/test/src/lib.rs:663:18
[INFO] [stdout]   27:     0x638422565daa - test[2f1252070343a163]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/test/src/lib.rs:686:74
[INFO] [stdout]   28:     0x638422565daa - <core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<test[2f1252070343a163]::run_test_in_process::{closure#0}> as core[8f93d80df273fe75]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   29:     0x638422565daa - std[840933623431fd06]::panicking::catch_unwind::do_call::<core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<test[2f1252070343a163]::run_test_in_process::{closure#0}>, core[8f93d80df273fe75]::result::Result<(), alloc[40b2bae28975ac47]::string::String>>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:581:40
[INFO] [stdout]   30:     0x638422565daa - std[840933623431fd06]::panicking::catch_unwind::<core[8f93d80df273fe75]::result::Result<(), alloc[40b2bae28975ac47]::string::String>, core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<test[2f1252070343a163]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:544:19
[INFO] [stdout]   31:     0x638422565daa - std[840933623431fd06]::panic::catch_unwind::<core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<test[2f1252070343a163]::run_test_in_process::{closure#0}>, core[8f93d80df273fe75]::result::Result<(), alloc[40b2bae28975ac47]::string::String>>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panic.rs:359:14
[INFO] [stdout]   32:     0x638422565daa - test[2f1252070343a163]::run_test_in_process
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/test/src/lib.rs:686:27
[INFO] [stdout]   33:     0x638422565daa - test[2f1252070343a163]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/test/src/lib.rs:607:43
[INFO] [stdout]   34:     0x638422560274 - test[2f1252070343a163]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/test/src/lib.rs:637:41
[INFO] [stdout]   35:     0x638422560274 - std[840933623431fd06]::sys::backtrace::__rust_begin_short_backtrace::<test[2f1252070343a163]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   36:     0x6384225688a2 - std[840933623431fd06]::thread::lifecycle::spawn_unchecked::<test[2f1252070343a163]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/thread/lifecycle.rs:91:13
[INFO] [stdout]   37:     0x6384225688a2 - <core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<std[840933623431fd06]::thread::lifecycle::spawn_unchecked<test[2f1252070343a163]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[8f93d80df273fe75]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   38:     0x6384225688a2 - std[840933623431fd06]::panicking::catch_unwind::do_call::<core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<std[840933623431fd06]::thread::lifecycle::spawn_unchecked<test[2f1252070343a163]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:581:40
[INFO] [stdout]   39:     0x6384225688a2 - std[840933623431fd06]::panicking::catch_unwind::<(), core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<std[840933623431fd06]::thread::lifecycle::spawn_unchecked<test[2f1252070343a163]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:544:19
[INFO] [stdout]   40:     0x6384225688a2 - std[840933623431fd06]::panic::catch_unwind::<core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<std[840933623431fd06]::thread::lifecycle::spawn_unchecked<test[2f1252070343a163]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panic.rs:359:14
[INFO] [stdout]   41:     0x6384225688a2 - std[840933623431fd06]::thread::lifecycle::spawn_unchecked::<test[2f1252070343a163]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/thread/lifecycle.rs:89:26
[INFO] [stdout]   42:     0x6384225688a2 - <std[840933623431fd06]::thread::lifecycle::spawn_unchecked<test[2f1252070343a163]::run_test::{closure#1}, ()>::{closure#1} as core[8f93d80df273fe75]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   43:     0x63842262b11f - <alloc[40b2bae28975ac47]::boxed::Box<dyn core[8f93d80df273fe75]::ops::function::FnOnce<(), Output = ()> + core[8f93d80df273fe75]::marker::Send> as core[8f93d80df273fe75]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/alloc/src/boxed.rs:2206:9
[INFO] [stdout]   44:     0x63842262b11f - <std[840933623431fd06]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/sys/thread/unix.rs:119:17
[INFO] [stdout]   45:     0x71d7fb266aa4 - <unknown>
[INFO] [stdout]   46:     0x71d7fb2f3a64 - clone
[INFO] [stdout]   47:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     tests::test_universe
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 2 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.50s
[INFO] [stdout] 
[INFO] [stderr] error: test failed, to rerun pass `--lib`
[INFO] running `Command { std: "docker" "inspect" "d498dde5013384162aca80dbb5d54b7bf568db3ac12da3cf7862ed571fc1e4ff", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "d498dde5013384162aca80dbb5d54b7bf568db3ac12da3cf7862ed571fc1e4ff", kill_on_drop: false }`
[INFO] [stdout] d498dde5013384162aca80dbb5d54b7bf568db3ac12da3cf7862ed571fc1e4ff
