[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] a458af7fdbae96fb8ba80b47b3018310dba97b9b
[INFO] testing payjoin/btsim against beta-2026-01-20 for beta-1.94-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fpayjoin%2Fbtsim" "/workspace/builds/worker-2-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-2-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-2-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/payjoin/btsim on toolchain beta-2026-01-20
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2026-01-20" "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" "+beta-2026-01-20" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:98afbf2d16093dec2546ff8915fddc74e65664aa03fc460b3712b1c2c54a33e4" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-01-20" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] e05cad08ca3a5cbb7bb0761c83c21e1038c40f418bde74dc5c4006bce3c7f69d
[INFO] running `Command { std: "docker" "start" "-a" "e05cad08ca3a5cbb7bb0761c83c21e1038c40f418bde74dc5c4006bce3c7f69d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "e05cad08ca3a5cbb7bb0761c83c21e1038c40f418bde74dc5c4006bce3c7f69d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "e05cad08ca3a5cbb7bb0761c83c21e1038c40f418bde74dc5c4006bce3c7f69d", kill_on_drop: false }`
[INFO] [stdout] e05cad08ca3a5cbb7bb0761c83c21e1038c40f418bde74dc5c4006bce3c7f69d
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:98afbf2d16093dec2546ff8915fddc74e65664aa03fc460b3712b1c2c54a33e4" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-01-20" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 34c5761d7e8ec3142f0053c37761bca3ac02a214295168254229f767ae1ce46f
[INFO] running `Command { std: "docker" "start" "-a" "34c5761d7e8ec3142f0053c37761bca3ac02a214295168254229f767ae1ce46f", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.177
[INFO] [stderr]    Compiling getrandom v0.3.4
[INFO] [stderr]    Compiling hashbrown v0.16.0
[INFO] [stderr]    Compiling proc-macro2 v1.0.101
[INFO] [stderr]    Compiling matrixmultiply v0.3.10
[INFO] [stderr]    Compiling bitcoin-internals v0.3.0
[INFO] [stderr]    Compiling cc v1.0.99
[INFO] [stderr]    Compiling bytemuck v1.24.0
[INFO] [stderr]    Compiling hex-conservative v0.2.1
[INFO] [stderr]    Compiling num-complex v0.4.6
[INFO] [stderr]    Compiling pest v2.8.3
[INFO] [stderr]    Compiling regex-syntax v0.8.8
[INFO] [stderr]    Compiling rayon v1.11.0
[INFO] [stderr]    Compiling dot-structures v0.1.2
[INFO] [stderr]    Compiling bitcoin-io v0.1.2
[INFO] [stderr]    Compiling approx v0.5.1
[INFO] [stderr]    Compiling safe_arch v0.7.4
[INFO] [stderr]    Compiling bitcoin_hashes v0.14.0
[INFO] [stderr]    Compiling foldhash v0.1.5
[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 log v0.4.28
[INFO] [stderr]    Compiling quote v1.0.42
[INFO] [stderr]    Compiling once_cell v1.21.3
[INFO] [stderr]    Compiling wide v0.7.33
[INFO] [stderr]    Compiling fixedbitset v0.4.2
[INFO] [stderr]    Compiling fixedbitset v0.5.7
[INFO] [stderr]    Compiling winnow v0.7.14
[INFO] [stderr]    Compiling bitcoin v0.32.7
[INFO] [stderr]    Compiling syn v2.0.106
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]    Compiling bitcoin-units v0.1.1
[INFO] [stderr]    Compiling bech32 v0.11.0
[INFO] [stderr]    Compiling jiff v0.2.16
[INFO] [stderr]    Compiling bdk_coin_select v0.3.0
[INFO] [stderr]    Compiling base58ck v0.1.0
[INFO] [stderr]    Compiling getrandom v0.2.15
[INFO] [stderr]    Compiling secp256k1-sys v0.10.0
[INFO] [stderr]    Compiling pest_meta v2.8.3
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]    Compiling regex-automata v0.4.13
[INFO] [stderr]    Compiling colorous v1.0.16
[INFO] [stderr]    Compiling rand_core v0.9.3
[INFO] [stderr]    Compiling tempfile v3.23.0
[INFO] [stderr]    Compiling rand_chacha v0.9.0
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling rand_pcg v0.9.0
[INFO] [stderr]    Compiling rand_xoshiro v0.6.0
[INFO] [stderr]    Compiling indexmap v2.11.4
[INFO] [stderr]    Compiling hashbrown v0.15.5
[INFO] [stderr]    Compiling simba v0.9.1
[INFO] [stderr]    Compiling rand v0.9.2
[INFO] [stderr]    Compiling rand v0.8.5
[INFO] [stderr]    Compiling ndarray v0.16.1
[INFO] [stderr]    Compiling rayon-cond v0.4.0
[INFO] [stderr]    Compiling rand_distr v0.5.1
[INFO] [stderr]    Compiling pest_generator v2.8.3
[INFO] [stderr]    Compiling petgraph v0.6.5
[INFO] [stderr]    Compiling petgraph v0.8.3
[INFO] [stderr]    Compiling priority-queue v2.7.0
[INFO] [stderr]    Compiling into-attr-derive v0.2.1
[INFO] [stderr]    Compiling regex v1.12.2
[INFO] [stderr]    Compiling serde_derive v1.0.228
[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 env_filter v0.1.4
[INFO] [stderr]    Compiling env_logger v0.11.8
[INFO] [stderr]    Compiling graphviz-rust v0.9.6
[INFO] [stderr]    Compiling arbitrary v1.3.2
[INFO] [stderr]    Compiling secp256k1 v0.29.0
[INFO] [stderr]    Compiling clap v4.5.51
[INFO] [stderr]    Compiling knaptime v0.0.4
[INFO] [stderr]    Compiling rustworkx-core v0.17.1
[INFO] [stderr]    Compiling nalgebra v0.33.2
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling serde_spanned v0.6.9
[INFO] [stderr]    Compiling toml_datetime v0.6.11
[INFO] [stderr]    Compiling toml_edit v0.22.27
[INFO] [stderr]    Compiling toml v0.8.23
[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 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]    = 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: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:358:30
[INFO] [stdout]     |
[INFO] [stdout] 358 |             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:463:26
[INFO] [stdout]     |
[INFO] [stdout] 463 | ...   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: `multi_party_payjoin_utility_factor`
[INFO] [stdout]    --> src/actions.rs:168:21
[INFO] [stdout]     |
[INFO] [stdout] 168 |     fn score(&self, multi_party_payjoin_utility_factor: f64) -> ActionScore {
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_multi_party_payjoin_utility_factor`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `multi_party_payjoin_utility_factor`
[INFO] [stdout]    --> src/actions.rs:185:21
[INFO] [stdout]     |
[INFO] [stdout] 185 |     fn score(&self, multi_party_payjoin_utility_factor: f64) -> ActionScore {
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_multi_party_payjoin_utility_factor`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `CoinSelectionStrategy` is never used
[INFO] [stdout]   --> src/lib.rs:65:6
[INFO] [stdout]    |
[INFO] [stdout] 65 | 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:154:18
[INFO] [stdout]     |
[INFO] [stdout] 154 | 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:309:5
[INFO] [stdout]     |
[INFO] [stdout] 308 | struct SimulationConfig {
[INFO] [stdout]     |        ---------------- field in this struct
[INFO] [stdout] 309 |     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:328:5
[INFO] [stdout]     |
[INFO] [stdout] 317 | pub struct Simulation {
[INFO] [stdout]     |            ---------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 328 |     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: variants `InitiateMultiPartyPayjoin` and `ParticipateMultiPartyPayjoin` are never constructed
[INFO] [stdout]   --> src/actions.rs:71:5
[INFO] [stdout]    |
[INFO] [stdout] 67 | pub(crate) enum PredictedOutcome {
[INFO] [stdout]    |                 ---------------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 71 |     InitiateMultiPartyPayjoin(InitiateMultiPartyPayjoinOutcome),
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 72 |     ParticipateMultiPartyPayjoin(ParticipateMultiPartyPayjoinOutcome),
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `PredictedOutcome` 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:108:5
[INFO] [stdout]     |
[INFO] [stdout] 100 | pub(crate) struct InitiatePayjoinOutcome {
[INFO] [stdout]     |                   ---------------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 108 |     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:137:5
[INFO] [stdout]     |
[INFO] [stdout] 131 | pub(crate) struct RespondToPayjoinOutcome {
[INFO] [stdout]     |                   ----------------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 137 |     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: fields `time_left`, `balance_difference`, and `max_participants` are never read
[INFO] [stdout]    --> src/actions.rs:158:5
[INFO] [stdout]     |
[INFO] [stdout] 156 | pub(crate) struct InitiateMultiPartyPayjoinOutcome {
[INFO] [stdout]     |                   -------------------------------- fields in this struct
[INFO] [stdout] 157 |     /// Time left on the payment obligation
[INFO] [stdout] 158 |     time_left: i32,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 162 |     balance_difference: f64,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 163 |     /// Upper bound on the number of participants in the multi-party payjoin
[INFO] [stdout] 164 |     max_participants: u32,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `InitiateMultiPartyPayjoinOutcome` 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 `time_left` is never read
[INFO] [stdout]    --> src/actions.rs:179:5
[INFO] [stdout]     |
[INFO] [stdout] 177 | pub(crate) struct ParticipateMultiPartyPayjoinOutcome {
[INFO] [stdout]     |                   ----------------------------------- field in this struct
[INFO] [stdout] 178 |     /// Time left on the payment obligation
[INFO] [stdout] 179 |     time_left: i32,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ParticipateMultiPartyPayjoinOutcome` 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: struct `BulletinBoardInfo` is never constructed
[INFO] [stdout]   --> src/macros.rs:73:31
[INFO] [stdout]    |
[INFO] [stdout] 73 |               pub(crate) struct [<$base Info>] $info_fields
[INFO] [stdout]    |                                 ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/bulletin_board.rs:6:1
[INFO] [stdout]    |
[INFO] [stdout]  6 | / define_entity!(
[INFO] [stdout]  7 | |     BulletinBoard,
[INFO] [stdout]  8 | |     {
[INFO] [stdout]  9 | |         pub(crate) id: BulletinBoardId,
[INFO] [stdout] ...  |
[INFO] [stdout] 14 | | );
[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: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:17:1
[INFO] [stdout]    |
[INFO] [stdout] 17 | / define_entity!(
[INFO] [stdout] 18 | |     Message,
[INFO] [stdout] 19 | |     {
[INFO] [stdout] 20 | |         pub(crate) id: MessageId,
[INFO] [stdout] ...  |
[INFO] [stdout] 28 | | );
[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:17:1
[INFO] [stdout]    |
[INFO] [stdout] 17 | / define_entity!(
[INFO] [stdout] 18 | |     Message,
[INFO] [stdout] 19 | |     {
[INFO] [stdout] 20 | |         pub(crate) id: MessageId,
[INFO] [stdout] ...  |
[INFO] [stdout] 28 | | );
[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:17:1
[INFO] [stdout]    |
[INFO] [stdout] 17 | / define_entity!(
[INFO] [stdout] 18 | |     Message,
[INFO] [stdout] 19 | |     {
[INFO] [stdout] 20 | |         pub(crate) id: MessageId,
[INFO] [stdout] ...  |
[INFO] [stdout] 28 | | );
[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:73:31
[INFO] [stdout]    |
[INFO] [stdout] 73 |               pub(crate) struct [<$base Info>] $info_fields
[INFO] [stdout]    |                                 ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/message.rs:17:1
[INFO] [stdout]    |
[INFO] [stdout] 17 | / define_entity!(
[INFO] [stdout] 18 | |     Message,
[INFO] [stdout] 19 | |     {
[INFO] [stdout] 20 | |         pub(crate) id: MessageId,
[INFO] [stdout] ...  |
[INFO] [stdout] 28 | | );
[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:96:28
[INFO] [stdout]    |
[INFO] [stdout] 95 |             pub(crate) struct [<$base HandleMut>]<'a> {
[INFO] [stdout]    |                               ------------------- field in this struct
[INFO] [stdout] 96 |                 pub(crate) sim: &'a mut crate::Simulation,
[INFO] [stdout]    |                            ^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/message.rs:29:1
[INFO] [stdout]    |
[INFO] [stdout] 29 | 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:101:31
[INFO] [stdout]     |
[INFO] [stdout] 100 |             impl<'a> [<$base Id>] {
[INFO] [stdout]     |             --------------------- method in this implementation
[INFO] [stdout] 101 |                 pub(crate) fn with_mut(&self, sim: &'a mut crate::Simulation) -> [<$base HandleMut>]<'a> {
[INFO] [stdout]     |                               ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/message.rs:29:1
[INFO] [stdout]     |
[INFO] [stdout]  29 | 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:107:20
[INFO] [stdout]     |
[INFO] [stdout] 106 |             impl<'a> [<$base HandleMut>]<'a> {
[INFO] [stdout]     |             -------------------------------- associated function in this implementation
[INFO] [stdout] 107 |                 fn new(sim: &'a mut crate::Simulation, id: [<$base Id>]) -> Self {
[INFO] [stdout]     |                    ^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/message.rs:29:1
[INFO] [stdout]     |
[INFO] [stdout]  29 | 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:32:19
[INFO] [stdout]    |
[INFO] [stdout] 31 | impl<'a> MessageHandle<'a> {
[INFO] [stdout]    | -------------------------- method in this implementation
[INFO] [stdout] 32 |     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:38:19
[INFO] [stdout]    |
[INFO] [stdout] 37 | impl<'a> MessageHandleMut<'a> {
[INFO] [stdout]    | ----------------------------- method in this implementation
[INFO] [stdout] 38 |     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: method `read_txin_messages` is never used
[INFO] [stdout]   --> src/tx_contruction.rs:86:8
[INFO] [stdout]    |
[INFO] [stdout] 73 | impl<'a> SentInputs<'a> {
[INFO] [stdout]    | ----------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 86 |     fn read_txin_messages(&self) -> Vec<Outpoint> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `read_txout_messages` is never used
[INFO] [stdout]    --> src/tx_contruction.rs:136:8
[INFO] [stdout]     |
[INFO] [stdout] 123 | impl<'a> SentOutputs<'a> {
[INFO] [stdout]     | ------------------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 136 |     fn read_txout_messages(&self) -> Vec<Output> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `effective_balance` and `double_spendable_coins` are never used
[INFO] [stdout]    --> src/wallet.rs:75:19
[INFO] [stdout]     |
[INFO] [stdout]  64 | impl<'a> WalletHandle<'a> {
[INFO] [stdout]     | ------------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  75 |     pub(crate) fn effective_balance(&self) -> Amount {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 168 |     fn double_spendable_coins(&self) -> impl Iterator<Item = OutputHandle<'a>> + '_ {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PaymentObligationInfo` is never constructed
[INFO] [stdout]    --> src/macros.rs:73:31
[INFO] [stdout]     |
[INFO] [stdout]  73 |               pub(crate) struct [<$base Info>] $info_fields
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/wallet.rs:678:1
[INFO] [stdout]     |
[INFO] [stdout] 678 | / define_entity!(
[INFO] [stdout] 679 | |     PaymentObligation,
[INFO] [stdout] 680 | |     {
[INFO] [stdout] 681 | |         pub(crate) id: PaymentObligationId,
[INFO] [stdout] ...   |
[INFO] [stdout] 692 | | );
[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:73:31
[INFO] [stdout]     |
[INFO] [stdout]  73 |               pub(crate) struct [<$base Info>] $info_fields
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/wallet.rs:700:1
[INFO] [stdout]     |
[INFO] [stdout] 700 | / define_entity!(Address, {
[INFO] [stdout] 701 | |     pub(crate) wallet_id: WalletId,
[INFO] [stdout] ...   |
[INFO] [stdout] 705 | | }, {});
[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:184:26
[INFO] [stdout]     |
[INFO] [stdout] 184 |     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] 184 |     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:651:29
[INFO] [stdout]     |
[INFO] [stdout] 651 |     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] 651 |     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 24.05s
[INFO] running `Command { std: "docker" "inspect" "34c5761d7e8ec3142f0053c37761bca3ac02a214295168254229f767ae1ce46f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "34c5761d7e8ec3142f0053c37761bca3ac02a214295168254229f767ae1ce46f", kill_on_drop: false }`
[INFO] [stdout] 34c5761d7e8ec3142f0053c37761bca3ac02a214295168254229f767ae1ce46f
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:98afbf2d16093dec2546ff8915fddc74e65664aa03fc460b3712b1c2c54a33e4" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-01-20" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 6737e570e3495a671e4d88e875c9d755512f16a5a8a1d4679dea58bfafa1d7bc
[INFO] running `Command { std: "docker" "start" "-a" "6737e570e3495a671e4d88e875c9d755512f16a5a8a1d4679dea58bfafa1d7bc", 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 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]    = 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: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:358:30
[INFO] [stdout]     |
[INFO] [stdout] 358 |             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:463:26
[INFO] [stdout]     |
[INFO] [stdout] 463 | ...   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: `multi_party_payjoin_utility_factor`
[INFO] [stdout]    --> src/actions.rs:168:21
[INFO] [stdout]     |
[INFO] [stdout] 168 |     fn score(&self, multi_party_payjoin_utility_factor: f64) -> ActionScore {
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_multi_party_payjoin_utility_factor`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `multi_party_payjoin_utility_factor`
[INFO] [stdout]    --> src/actions.rs:185:21
[INFO] [stdout]     |
[INFO] [stdout] 185 |     fn score(&self, multi_party_payjoin_utility_factor: f64) -> ActionScore {
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_multi_party_payjoin_utility_factor`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `CoinSelectionStrategy` is never used
[INFO] [stdout]   --> src/lib.rs:65:6
[INFO] [stdout]    |
[INFO] [stdout] 65 | 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:154:18
[INFO] [stdout]     |
[INFO] [stdout] 154 | 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:309:5
[INFO] [stdout]     |
[INFO] [stdout] 308 | struct SimulationConfig {
[INFO] [stdout]     |        ---------------- field in this struct
[INFO] [stdout] 309 |     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:328:5
[INFO] [stdout]     |
[INFO] [stdout] 317 | pub struct Simulation {
[INFO] [stdout]     |            ---------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 328 |     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: variants `InitiateMultiPartyPayjoin` and `ParticipateMultiPartyPayjoin` are never constructed
[INFO] [stdout]   --> src/actions.rs:71:5
[INFO] [stdout]    |
[INFO] [stdout] 67 | pub(crate) enum PredictedOutcome {
[INFO] [stdout]    |                 ---------------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 71 |     InitiateMultiPartyPayjoin(InitiateMultiPartyPayjoinOutcome),
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 72 |     ParticipateMultiPartyPayjoin(ParticipateMultiPartyPayjoinOutcome),
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `PredictedOutcome` 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:108:5
[INFO] [stdout]     |
[INFO] [stdout] 100 | pub(crate) struct InitiatePayjoinOutcome {
[INFO] [stdout]     |                   ---------------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 108 |     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:137:5
[INFO] [stdout]     |
[INFO] [stdout] 131 | pub(crate) struct RespondToPayjoinOutcome {
[INFO] [stdout]     |                   ----------------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 137 |     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: fields `time_left`, `balance_difference`, and `max_participants` are never read
[INFO] [stdout]    --> src/actions.rs:158:5
[INFO] [stdout]     |
[INFO] [stdout] 156 | pub(crate) struct InitiateMultiPartyPayjoinOutcome {
[INFO] [stdout]     |                   -------------------------------- fields in this struct
[INFO] [stdout] 157 |     /// Time left on the payment obligation
[INFO] [stdout] 158 |     time_left: i32,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 162 |     balance_difference: f64,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 163 |     /// Upper bound on the number of participants in the multi-party payjoin
[INFO] [stdout] 164 |     max_participants: u32,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `InitiateMultiPartyPayjoinOutcome` 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 `time_left` is never read
[INFO] [stdout]    --> src/actions.rs:179:5
[INFO] [stdout]     |
[INFO] [stdout] 177 | pub(crate) struct ParticipateMultiPartyPayjoinOutcome {
[INFO] [stdout]     |                   ----------------------------------- field in this struct
[INFO] [stdout] 178 |     /// Time left on the payment obligation
[INFO] [stdout] 179 |     time_left: i32,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ParticipateMultiPartyPayjoinOutcome` 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: struct `BulletinBoardInfo` is never constructed
[INFO] [stdout]   --> src/macros.rs:73:31
[INFO] [stdout]    |
[INFO] [stdout] 73 |               pub(crate) struct [<$base Info>] $info_fields
[INFO] [stdout]    |                                 ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/bulletin_board.rs:6:1
[INFO] [stdout]    |
[INFO] [stdout]  6 | / define_entity!(
[INFO] [stdout]  7 | |     BulletinBoard,
[INFO] [stdout]  8 | |     {
[INFO] [stdout]  9 | |         pub(crate) id: BulletinBoardId,
[INFO] [stdout] ...  |
[INFO] [stdout] 14 | | );
[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: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:17:1
[INFO] [stdout]    |
[INFO] [stdout] 17 | / define_entity!(
[INFO] [stdout] 18 | |     Message,
[INFO] [stdout] 19 | |     {
[INFO] [stdout] 20 | |         pub(crate) id: MessageId,
[INFO] [stdout] ...  |
[INFO] [stdout] 28 | | );
[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:17:1
[INFO] [stdout]    |
[INFO] [stdout] 17 | / define_entity!(
[INFO] [stdout] 18 | |     Message,
[INFO] [stdout] 19 | |     {
[INFO] [stdout] 20 | |         pub(crate) id: MessageId,
[INFO] [stdout] ...  |
[INFO] [stdout] 28 | | );
[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:17:1
[INFO] [stdout]    |
[INFO] [stdout] 17 | / define_entity!(
[INFO] [stdout] 18 | |     Message,
[INFO] [stdout] 19 | |     {
[INFO] [stdout] 20 | |         pub(crate) id: MessageId,
[INFO] [stdout] ...  |
[INFO] [stdout] 28 | | );
[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] [stderr]    Compiling btsim v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: struct `MessageInfo` is never constructed
[INFO] [stdout]   --> src/macros.rs:73:31
[INFO] [stdout]    |
[INFO] [stdout] 73 |               pub(crate) struct [<$base Info>] $info_fields
[INFO] [stdout]    |                                 ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/message.rs:17:1
[INFO] [stdout]    |
[INFO] [stdout] 17 | / define_entity!(
[INFO] [stdout] 18 | |     Message,
[INFO] [stdout] 19 | |     {
[INFO] [stdout] 20 | |         pub(crate) id: MessageId,
[INFO] [stdout] ...  |
[INFO] [stdout] 28 | | );
[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:96:28
[INFO] [stdout]    |
[INFO] [stdout] 95 |             pub(crate) struct [<$base HandleMut>]<'a> {
[INFO] [stdout]    |                               ------------------- field in this struct
[INFO] [stdout] 96 |                 pub(crate) sim: &'a mut crate::Simulation,
[INFO] [stdout]    |                            ^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/message.rs:29:1
[INFO] [stdout]    |
[INFO] [stdout] 29 | 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:101:31
[INFO] [stdout]     |
[INFO] [stdout] 100 |             impl<'a> [<$base Id>] {
[INFO] [stdout]     |             --------------------- method in this implementation
[INFO] [stdout] 101 |                 pub(crate) fn with_mut(&self, sim: &'a mut crate::Simulation) -> [<$base HandleMut>]<'a> {
[INFO] [stdout]     |                               ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/message.rs:29:1
[INFO] [stdout]     |
[INFO] [stdout]  29 | 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:107:20
[INFO] [stdout]     |
[INFO] [stdout] 106 |             impl<'a> [<$base HandleMut>]<'a> {
[INFO] [stdout]     |             -------------------------------- associated function in this implementation
[INFO] [stdout] 107 |                 fn new(sim: &'a mut crate::Simulation, id: [<$base Id>]) -> Self {
[INFO] [stdout]     |                    ^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/message.rs:29:1
[INFO] [stdout]     |
[INFO] [stdout]  29 | 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:32:19
[INFO] [stdout]    |
[INFO] [stdout] 31 | impl<'a> MessageHandle<'a> {
[INFO] [stdout]    | -------------------------- method in this implementation
[INFO] [stdout] 32 |     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:38:19
[INFO] [stdout]    |
[INFO] [stdout] 37 | impl<'a> MessageHandleMut<'a> {
[INFO] [stdout]    | ----------------------------- method in this implementation
[INFO] [stdout] 38 |     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: method `read_txin_messages` is never used
[INFO] [stdout]   --> src/tx_contruction.rs:86:8
[INFO] [stdout]    |
[INFO] [stdout] 73 | impl<'a> SentInputs<'a> {
[INFO] [stdout]    | ----------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 86 |     fn read_txin_messages(&self) -> Vec<Outpoint> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `read_txout_messages` is never used
[INFO] [stdout]    --> src/tx_contruction.rs:136:8
[INFO] [stdout]     |
[INFO] [stdout] 123 | impl<'a> SentOutputs<'a> {
[INFO] [stdout]     | ------------------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 136 |     fn read_txout_messages(&self) -> Vec<Output> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `effective_balance` and `double_spendable_coins` are never used
[INFO] [stdout]    --> src/wallet.rs:75:19
[INFO] [stdout]     |
[INFO] [stdout]  64 | impl<'a> WalletHandle<'a> {
[INFO] [stdout]     | ------------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  75 |     pub(crate) fn effective_balance(&self) -> Amount {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 168 |     fn double_spendable_coins(&self) -> impl Iterator<Item = OutputHandle<'a>> + '_ {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PaymentObligationInfo` is never constructed
[INFO] [stdout]    --> src/macros.rs:73:31
[INFO] [stdout]     |
[INFO] [stdout]  73 |               pub(crate) struct [<$base Info>] $info_fields
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/wallet.rs:678:1
[INFO] [stdout]     |
[INFO] [stdout] 678 | / define_entity!(
[INFO] [stdout] 679 | |     PaymentObligation,
[INFO] [stdout] 680 | |     {
[INFO] [stdout] 681 | |         pub(crate) id: PaymentObligationId,
[INFO] [stdout] ...   |
[INFO] [stdout] 692 | | );
[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:73:31
[INFO] [stdout]     |
[INFO] [stdout]  73 |               pub(crate) struct [<$base Info>] $info_fields
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/wallet.rs:700:1
[INFO] [stdout]     |
[INFO] [stdout] 700 | / define_entity!(Address, {
[INFO] [stdout] 701 | |     pub(crate) wallet_id: WalletId,
[INFO] [stdout] ...   |
[INFO] [stdout] 705 | | }, {});
[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:184:26
[INFO] [stdout]     |
[INFO] [stdout] 184 |     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] 184 |     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:651:29
[INFO] [stdout]     |
[INFO] [stdout] 651 |     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] 651 |     pub(crate) fn new_tx<F>(&mut self, build: F) -> TxHandle<'_>
[INFO] [stdout]     |                                                             ++++
[INFO] [stdout] 
[INFO] [stdout] 
[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 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]    = 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: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:358:30
[INFO] [stdout]     |
[INFO] [stdout] 358 |             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:463:26
[INFO] [stdout]     |
[INFO] [stdout] 463 | ...   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: `multi_party_payjoin_utility_factor`
[INFO] [stdout]    --> src/actions.rs:168:21
[INFO] [stdout]     |
[INFO] [stdout] 168 |     fn score(&self, multi_party_payjoin_utility_factor: f64) -> ActionScore {
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_multi_party_payjoin_utility_factor`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `multi_party_payjoin_utility_factor`
[INFO] [stdout]    --> src/actions.rs:185:21
[INFO] [stdout]     |
[INFO] [stdout] 185 |     fn score(&self, multi_party_payjoin_utility_factor: f64) -> ActionScore {
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_multi_party_payjoin_utility_factor`
[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] 
[INFO] [stdout] warning: enum `CoinSelectionStrategy` is never used
[INFO] [stdout]   --> src/lib.rs:65:6
[INFO] [stdout]    |
[INFO] [stdout] 65 | 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:154:18
[INFO] [stdout]     |
[INFO] [stdout] 154 | 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:309:5
[INFO] [stdout]     |
[INFO] [stdout] 308 | struct SimulationConfig {
[INFO] [stdout]     |        ---------------- field in this struct
[INFO] [stdout] 309 |     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:328:5
[INFO] [stdout]     |
[INFO] [stdout] 317 | pub struct Simulation {
[INFO] [stdout]     |            ---------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 328 |     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: variants `InitiateMultiPartyPayjoin` and `ParticipateMultiPartyPayjoin` are never constructed
[INFO] [stdout]   --> src/actions.rs:71:5
[INFO] [stdout]    |
[INFO] [stdout] 67 | pub(crate) enum PredictedOutcome {
[INFO] [stdout]    |                 ---------------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 71 |     InitiateMultiPartyPayjoin(InitiateMultiPartyPayjoinOutcome),
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 72 |     ParticipateMultiPartyPayjoin(ParticipateMultiPartyPayjoinOutcome),
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `PredictedOutcome` 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:108:5
[INFO] [stdout]     |
[INFO] [stdout] 100 | pub(crate) struct InitiatePayjoinOutcome {
[INFO] [stdout]     |                   ---------------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 108 |     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:137:5
[INFO] [stdout]     |
[INFO] [stdout] 131 | pub(crate) struct RespondToPayjoinOutcome {
[INFO] [stdout]     |                   ----------------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 137 |     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: fields `time_left`, `balance_difference`, and `max_participants` are never read
[INFO] [stdout]    --> src/actions.rs:158:5
[INFO] [stdout]     |
[INFO] [stdout] 156 | pub(crate) struct InitiateMultiPartyPayjoinOutcome {
[INFO] [stdout]     |                   -------------------------------- fields in this struct
[INFO] [stdout] 157 |     /// Time left on the payment obligation
[INFO] [stdout] 158 |     time_left: i32,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 162 |     balance_difference: f64,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 163 |     /// Upper bound on the number of participants in the multi-party payjoin
[INFO] [stdout] 164 |     max_participants: u32,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `InitiateMultiPartyPayjoinOutcome` 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 `time_left` is never read
[INFO] [stdout]    --> src/actions.rs:179:5
[INFO] [stdout]     |
[INFO] [stdout] 177 | pub(crate) struct ParticipateMultiPartyPayjoinOutcome {
[INFO] [stdout]     |                   ----------------------------------- field in this struct
[INFO] [stdout] 178 |     /// Time left on the payment obligation
[INFO] [stdout] 179 |     time_left: i32,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ParticipateMultiPartyPayjoinOutcome` 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: struct `BulletinBoardInfo` is never constructed
[INFO] [stdout]   --> src/macros.rs:73:31
[INFO] [stdout]    |
[INFO] [stdout] 73 |               pub(crate) struct [<$base Info>] $info_fields
[INFO] [stdout]    |                                 ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/bulletin_board.rs:6:1
[INFO] [stdout]    |
[INFO] [stdout]  6 | / define_entity!(
[INFO] [stdout]  7 | |     BulletinBoard,
[INFO] [stdout]  8 | |     {
[INFO] [stdout]  9 | |         pub(crate) id: BulletinBoardId,
[INFO] [stdout] ...  |
[INFO] [stdout] 14 | | );
[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: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:17:1
[INFO] [stdout]    |
[INFO] [stdout] 17 | / define_entity!(
[INFO] [stdout] 18 | |     Message,
[INFO] [stdout] 19 | |     {
[INFO] [stdout] 20 | |         pub(crate) id: MessageId,
[INFO] [stdout] ...  |
[INFO] [stdout] 28 | | );
[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:17:1
[INFO] [stdout]    |
[INFO] [stdout] 17 | / define_entity!(
[INFO] [stdout] 18 | |     Message,
[INFO] [stdout] 19 | |     {
[INFO] [stdout] 20 | |         pub(crate) id: MessageId,
[INFO] [stdout] ...  |
[INFO] [stdout] 28 | | );
[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:17:1
[INFO] [stdout]    |
[INFO] [stdout] 17 | / define_entity!(
[INFO] [stdout] 18 | |     Message,
[INFO] [stdout] 19 | |     {
[INFO] [stdout] 20 | |         pub(crate) id: MessageId,
[INFO] [stdout] ...  |
[INFO] [stdout] 28 | | );
[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:73:31
[INFO] [stdout]    |
[INFO] [stdout] 73 |               pub(crate) struct [<$base Info>] $info_fields
[INFO] [stdout]    |                                 ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/message.rs:17:1
[INFO] [stdout]    |
[INFO] [stdout] 17 | / define_entity!(
[INFO] [stdout] 18 | |     Message,
[INFO] [stdout] 19 | |     {
[INFO] [stdout] 20 | |         pub(crate) id: MessageId,
[INFO] [stdout] ...  |
[INFO] [stdout] 28 | | );
[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:96:28
[INFO] [stdout]    |
[INFO] [stdout] 95 |             pub(crate) struct [<$base HandleMut>]<'a> {
[INFO] [stdout]    |                               ------------------- field in this struct
[INFO] [stdout] 96 |                 pub(crate) sim: &'a mut crate::Simulation,
[INFO] [stdout]    |                            ^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/message.rs:29:1
[INFO] [stdout]    |
[INFO] [stdout] 29 | 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:101:31
[INFO] [stdout]     |
[INFO] [stdout] 100 |             impl<'a> [<$base Id>] {
[INFO] [stdout]     |             --------------------- method in this implementation
[INFO] [stdout] 101 |                 pub(crate) fn with_mut(&self, sim: &'a mut crate::Simulation) -> [<$base HandleMut>]<'a> {
[INFO] [stdout]     |                               ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/message.rs:29:1
[INFO] [stdout]     |
[INFO] [stdout]  29 | 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:107:20
[INFO] [stdout]     |
[INFO] [stdout] 106 |             impl<'a> [<$base HandleMut>]<'a> {
[INFO] [stdout]     |             -------------------------------- associated function in this implementation
[INFO] [stdout] 107 |                 fn new(sim: &'a mut crate::Simulation, id: [<$base Id>]) -> Self {
[INFO] [stdout]     |                    ^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/message.rs:29:1
[INFO] [stdout]     |
[INFO] [stdout]  29 | 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:32:19
[INFO] [stdout]    |
[INFO] [stdout] 31 | impl<'a> MessageHandle<'a> {
[INFO] [stdout]    | -------------------------- method in this implementation
[INFO] [stdout] 32 |     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:38:19
[INFO] [stdout]    |
[INFO] [stdout] 37 | impl<'a> MessageHandleMut<'a> {
[INFO] [stdout]    | ----------------------------- method in this implementation
[INFO] [stdout] 38 |     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: method `read_txin_messages` is never used
[INFO] [stdout]   --> src/tx_contruction.rs:86:8
[INFO] [stdout]    |
[INFO] [stdout] 73 | impl<'a> SentInputs<'a> {
[INFO] [stdout]    | ----------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 86 |     fn read_txin_messages(&self) -> Vec<Outpoint> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `read_txout_messages` is never used
[INFO] [stdout]    --> src/tx_contruction.rs:136:8
[INFO] [stdout]     |
[INFO] [stdout] 123 | impl<'a> SentOutputs<'a> {
[INFO] [stdout]     | ------------------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 136 |     fn read_txout_messages(&self) -> Vec<Output> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `effective_balance` and `double_spendable_coins` are never used
[INFO] [stdout]    --> src/wallet.rs:75:19
[INFO] [stdout]     |
[INFO] [stdout]  64 | impl<'a> WalletHandle<'a> {
[INFO] [stdout]     | ------------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  75 |     pub(crate) fn effective_balance(&self) -> Amount {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 168 |     fn double_spendable_coins(&self) -> impl Iterator<Item = OutputHandle<'a>> + '_ {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PaymentObligationInfo` is never constructed
[INFO] [stdout]    --> src/macros.rs:73:31
[INFO] [stdout]     |
[INFO] [stdout]  73 |               pub(crate) struct [<$base Info>] $info_fields
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/wallet.rs:678:1
[INFO] [stdout]     |
[INFO] [stdout] 678 | / define_entity!(
[INFO] [stdout] 679 | |     PaymentObligation,
[INFO] [stdout] 680 | |     {
[INFO] [stdout] 681 | |         pub(crate) id: PaymentObligationId,
[INFO] [stdout] ...   |
[INFO] [stdout] 692 | | );
[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:73:31
[INFO] [stdout]     |
[INFO] [stdout]  73 |               pub(crate) struct [<$base Info>] $info_fields
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/wallet.rs:700:1
[INFO] [stdout]     |
[INFO] [stdout] 700 | / define_entity!(Address, {
[INFO] [stdout] 701 | |     pub(crate) wallet_id: WalletId,
[INFO] [stdout] ...   |
[INFO] [stdout] 705 | | }, {});
[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:184:26
[INFO] [stdout]     |
[INFO] [stdout] 184 |     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] 184 |     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:651:29
[INFO] [stdout]     |
[INFO] [stdout] 651 |     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] 651 |     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.09s
[INFO] running `Command { std: "docker" "inspect" "6737e570e3495a671e4d88e875c9d755512f16a5a8a1d4679dea58bfafa1d7bc", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "6737e570e3495a671e4d88e875c9d755512f16a5a8a1d4679dea58bfafa1d7bc", kill_on_drop: false }`
[INFO] [stdout] 6737e570e3495a671e4d88e875c9d755512f16a5a8a1d4679dea58bfafa1d7bc
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:98afbf2d16093dec2546ff8915fddc74e65664aa03fc460b3712b1c2c54a33e4" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-01-20" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] eeae1fb78b0a20a2ac113535a830dcf9d267907a1b347876a65036aba6d38cde
[INFO] running `Command { std: "docker" "start" "-a" "eeae1fb78b0a20a2ac113535a830dcf9d267907a1b347876a65036aba6d38cde", 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 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]    = 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: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:358:30
[INFO] [stderr]     |
[INFO] [stderr] 358 |             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:463:26
[INFO] [stderr]     |
[INFO] [stderr] 463 | ...   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: unused variable: `multi_party_payjoin_utility_factor`
[INFO] [stderr]    --> src/actions.rs:168:21
[INFO] [stderr]     |
[INFO] [stderr] 168 |     fn score(&self, multi_party_payjoin_utility_factor: f64) -> ActionScore {
[INFO] [stderr]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_multi_party_payjoin_utility_factor`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `multi_party_payjoin_utility_factor`
[INFO] [stderr]    --> src/actions.rs:185:21
[INFO] [stderr]     |
[INFO] [stderr] 185 |     fn score(&self, multi_party_payjoin_utility_factor: f64) -> ActionScore {
[INFO] [stderr]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_multi_party_payjoin_utility_factor`
[INFO] [stderr] 
[INFO] [stderr] warning: enum `CoinSelectionStrategy` is never used
[INFO] [stderr]   --> src/lib.rs:65:6
[INFO] [stderr]    |
[INFO] [stderr] 65 | 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:154:18
[INFO] [stderr]     |
[INFO] [stderr] 154 | 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:309:5
[INFO] [stderr]     |
[INFO] [stderr] 308 | struct SimulationConfig {
[INFO] [stderr]     |        ---------------- field in this struct
[INFO] [stderr] 309 |     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:328:5
[INFO] [stderr]     |
[INFO] [stderr] 317 | pub struct Simulation {
[INFO] [stderr]     |            ---------- field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 328 |     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: variants `InitiateMultiPartyPayjoin` and `ParticipateMultiPartyPayjoin` are never constructed
[INFO] [stderr]   --> src/actions.rs:71:5
[INFO] [stderr]    |
[INFO] [stderr] 67 | pub(crate) enum PredictedOutcome {
[INFO] [stderr]    |                 ---------------- variants in this enum
[INFO] [stderr] ...
[INFO] [stderr] 71 |     InitiateMultiPartyPayjoin(InitiateMultiPartyPayjoinOutcome),
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 72 |     ParticipateMultiPartyPayjoin(ParticipateMultiPartyPayjoinOutcome),
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `PredictedOutcome` 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:108:5
[INFO] [stderr]     |
[INFO] [stderr] 100 | pub(crate) struct InitiatePayjoinOutcome {
[INFO] [stderr]     |                   ---------------------- field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 108 |     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:137:5
[INFO] [stderr]     |
[INFO] [stderr] 131 | pub(crate) struct RespondToPayjoinOutcome {
[INFO] [stderr]     |                   ----------------------- field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 137 |     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: fields `time_left`, `balance_difference`, and `max_participants` are never read
[INFO] [stderr]    --> src/actions.rs:158:5
[INFO] [stderr]     |
[INFO] [stderr] 156 | pub(crate) struct InitiateMultiPartyPayjoinOutcome {
[INFO] [stderr]     |                   -------------------------------- fields in this struct
[INFO] [stderr] 157 |     /// Time left on the payment obligation
[INFO] [stderr] 158 |     time_left: i32,
[INFO] [stderr]     |     ^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 162 |     balance_difference: f64,
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 163 |     /// Upper bound on the number of participants in the multi-party payjoin
[INFO] [stderr] 164 |     max_participants: u32,
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `InitiateMultiPartyPayjoinOutcome` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: field `time_left` is never read
[INFO] [stderr]    --> src/actions.rs:179:5
[INFO] [stderr]     |
[INFO] [stderr] 177 | pub(crate) struct ParticipateMultiPartyPayjoinOutcome {
[INFO] [stderr]     |                   ----------------------------------- field in this struct
[INFO] [stderr] 178 |     /// Time left on the payment obligation
[INFO] [stderr] 179 |     time_left: i32,
[INFO] [stderr]     |     ^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `ParticipateMultiPartyPayjoinOutcome` 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: struct `BulletinBoardInfo` is never constructed
[INFO] [stderr]   --> src/macros.rs:73:31
[INFO] [stderr]    |
[INFO] [stderr] 73 |               pub(crate) struct [<$base Info>] $info_fields
[INFO] [stderr]    |                                 ^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]   ::: src/bulletin_board.rs:6:1
[INFO] [stderr]    |
[INFO] [stderr]  6 | / define_entity!(
[INFO] [stderr]  7 | |     BulletinBoard,
[INFO] [stderr]  8 | |     {
[INFO] [stderr]  9 | |         pub(crate) id: BulletinBoardId,
[INFO] [stderr] ...  |
[INFO] [stderr] 14 | | );
[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: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:17:1
[INFO] [stderr]    |
[INFO] [stderr] 17 | / define_entity!(
[INFO] [stderr] 18 | |     Message,
[INFO] [stderr] 19 | |     {
[INFO] [stderr] 20 | |         pub(crate) id: MessageId,
[INFO] [stderr] ...  |
[INFO] [stderr] 28 | | );
[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:17:1
[INFO] [stderr]    |
[INFO] [stderr] 17 | / define_entity!(
[INFO] [stderr] 18 | |     Message,
[INFO] [stderr] 19 | |     {
[INFO] [stderr] 20 | |         pub(crate) id: MessageId,
[INFO] [stderr] ...  |
[INFO] [stderr] 28 | | );
[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:17:1
[INFO] [stderr]    |
[INFO] [stderr] 17 | / define_entity!(
[INFO] [stderr] 18 | |     Message,
[INFO] [stderr] 19 | |     {
[INFO] [stderr] 20 | |         pub(crate) id: MessageId,
[INFO] [stderr] ...  |
[INFO] [stderr] 28 | | );
[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:73:31
[INFO] [stderr]    |
[INFO] [stderr] 73 |               pub(crate) struct [<$base Info>] $info_fields
[INFO] [stderr]    |                                 ^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]   ::: src/message.rs:17:1
[INFO] [stderr]    |
[INFO] [stderr] 17 | / define_entity!(
[INFO] [stderr] 18 | |     Message,
[INFO] [stderr] 19 | |     {
[INFO] [stderr] 20 | |         pub(crate) id: MessageId,
[INFO] [stderr] ...  |
[INFO] [stderr] 28 | | );
[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:96:28
[INFO] [stderr]    |
[INFO] [stderr] 95 |             pub(crate) struct [<$base HandleMut>]<'a> {
[INFO] [stderr]    |                               ------------------- field in this struct
[INFO] [stderr] 96 |                 pub(crate) sim: &'a mut crate::Simulation,
[INFO] [stderr]    |                            ^^^
[INFO] [stderr]    |
[INFO] [stderr]   ::: src/message.rs:29:1
[INFO] [stderr]    |
[INFO] [stderr] 29 | 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:101:31
[INFO] [stderr]     |
[INFO] [stderr] 100 |             impl<'a> [<$base Id>] {
[INFO] [stderr]     |             --------------------- method in this implementation
[INFO] [stderr] 101 |                 pub(crate) fn with_mut(&self, sim: &'a mut crate::Simulation) -> [<$base HandleMut>]<'a> {
[INFO] [stderr]     |                               ^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]    ::: src/message.rs:29:1
[INFO] [stderr]     |
[INFO] [stderr]  29 | 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:107:20
[INFO] [stderr]     |
[INFO] [stderr] 106 |             impl<'a> [<$base HandleMut>]<'a> {
[INFO] [stderr]     |             -------------------------------- associated function in this implementation
[INFO] [stderr] 107 |                 fn new(sim: &'a mut crate::Simulation, id: [<$base Id>]) -> Self {
[INFO] [stderr]     |                    ^^^
[INFO] [stderr]     |
[INFO] [stderr]    ::: src/message.rs:29:1
[INFO] [stderr]     |
[INFO] [stderr]  29 | 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:32:19
[INFO] [stderr]    |
[INFO] [stderr] 31 | impl<'a> MessageHandle<'a> {
[INFO] [stderr]    | -------------------------- method in this implementation
[INFO] [stderr] 32 |     pub(crate) fn data(&self) -> &'a MessageData {
[INFO] [stderr]    |                   ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `post` is never used
[INFO] [stderr]   --> src/message.rs:38:19
[INFO] [stderr]    |
[INFO] [stderr] 37 | impl<'a> MessageHandleMut<'a> {
[INFO] [stderr]    | ----------------------------- method in this implementation
[INFO] [stderr] 38 |     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: method `read_txin_messages` is never used
[INFO] [stderr]   --> src/tx_contruction.rs:86:8
[INFO] [stderr]    |
[INFO] [stderr] 73 | impl<'a> SentInputs<'a> {
[INFO] [stderr]    | ----------------------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 86 |     fn read_txin_messages(&self) -> Vec<Outpoint> {
[INFO] [stderr]    |        ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `read_txout_messages` is never used
[INFO] [stderr]    --> src/tx_contruction.rs:136:8
[INFO] [stderr]     |
[INFO] [stderr] 123 | impl<'a> SentOutputs<'a> {
[INFO] [stderr]     | ------------------------ method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 136 |     fn read_txout_messages(&self) -> Vec<Output> {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: methods `effective_balance` and `double_spendable_coins` are never used
[INFO] [stderr]    --> src/wallet.rs:75:19
[INFO] [stderr]     |
[INFO] [stderr]  64 | impl<'a> WalletHandle<'a> {
[INFO] [stderr]     | ------------------------- methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr]  75 |     pub(crate) fn effective_balance(&self) -> Amount {
[INFO] [stderr]     |                   ^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 168 |     fn double_spendable_coins(&self) -> impl Iterator<Item = OutputHandle<'a>> + '_ {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `PaymentObligationInfo` is never constructed
[INFO] [stderr]    --> src/macros.rs:73:31
[INFO] [stderr]     |
[INFO] [stderr]  73 |               pub(crate) struct [<$base Info>] $info_fields
[INFO] [stderr]     |                                 ^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]    ::: src/wallet.rs:678:1
[INFO] [stderr]     |
[INFO] [stderr] 678 | / define_entity!(
[INFO] [stderr] 679 | |     PaymentObligation,
[INFO] [stderr] 680 | |     {
[INFO] [stderr] 681 | |         pub(crate) id: PaymentObligationId,
[INFO] [stderr] ...   |
[INFO] [stderr] 692 | | );
[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:73:31
[INFO] [stderr]     |
[INFO] [stderr]  73 |               pub(crate) struct [<$base Info>] $info_fields
[INFO] [stderr]     |                                 ^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]    ::: src/wallet.rs:700:1
[INFO] [stderr]     |
[INFO] [stderr] 700 | / define_entity!(Address, {
[INFO] [stderr] 701 | |     pub(crate) wallet_id: WalletId,
[INFO] [stderr] ...   |
[INFO] [stderr] 705 | | }, {});
[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:184:26
[INFO] [stderr]     |
[INFO] [stderr] 184 |     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] 184 |     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:651:29
[INFO] [stderr]     |
[INFO] [stderr] 651 |     pub(crate) fn new_tx<F>(&mut self, build: F) -> 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] 651 |     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] 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 45 warnings (run `cargo fix --lib -p btsim` to apply 8 suggestions)
[INFO] [stderr] warning: `btsim` (lib test) generated 46 warnings (44 duplicates) (run `cargo fix --lib -p btsim --tests` to apply 1 suggestion)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.17s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/btsim-204ee20a98f75297)
[INFO] [stdout] 
[INFO] [stdout] running 4 tests
[INFO] [stdout] test transaction::tests::test_txid_encoding ... ok
[INFO] [stdout] test tests::it_works ... ok
[INFO] [stdout] test tx_contruction::tests::test_state_machine ... 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(18), 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(15), 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(17), 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(14), 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(BulletinBoardId(0))
[INFO] [stdout] 
[INFO] [stdout] Message 1: From: Wallet 3, To: Wallet WalletId(1), Message Type: InitiatePayjoin(BulletinBoardId(1))
[INFO] [stdout] 
[INFO] [stdout] Message 2: From: Wallet 3, To: Wallet WalletId(1), Message Type: InitiatePayjoin(BulletinBoardId(2))
[INFO] [stdout] 
[INFO] [stdout] Message 3: From: Wallet 4, To: Wallet WalletId(0), Message Type: InitiatePayjoin(BulletinBoardId(3))
[INFO] [stdout] 
[INFO] [stdout] Message 4: From: Wallet 0, To: Wallet WalletId(2), Message Type: InitiatePayjoin(BulletinBoardId(4))
[INFO] [stdout] 
[INFO] [stdout] Message 5: From: Wallet 1, To: Wallet WalletId(0), Message Type: InitiatePayjoin(BulletinBoardId(5))
[INFO] [stdout] 
[INFO] [stdout] Message 6: From: Wallet 0, To: Wallet WalletId(1), Message Type: InitiatePayjoin(BulletinBoardId(6))
[INFO] [stdout] 
[INFO] [stdout] Message 7: From: Wallet 2, To: Wallet WalletId(3), Message Type: InitiatePayjoin(BulletinBoardId(7))
[INFO] [stdout] 
[INFO] [stdout] Message 8: From: Wallet 3, To: Wallet WalletId(1), Message Type: InitiatePayjoin(BulletinBoardId(8))
[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:750: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:     0x627d54fadf72 - std::backtrace_rs::backtrace::libunwind::trace::hf0bd46b30bc61685
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x627d54fadf72 - std::backtrace_rs::backtrace::trace_unsynchronized::h1d1fbb72ad89d7b7
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x627d54fadf72 - std::sys::backtrace::_print_fmt::he38b6f68ca847f47
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x627d54fadf72 - <std::sys::backtrace::BacktraceLock::print::DisplayBacktrace as core::fmt::Display>::fmt::hb7e843cde1bc81a3
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x627d54fbfa4a - core::fmt::rt::Argument::fmt::hc1dd77ac64f2688c
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x627d54fbfa4a - core::fmt::write::h952c506e2dbe9cff
[INFO] [stdout]    6:     0x627d54f7c7f6 - std::io::default_write_fmt::hd23bd8145c03a23a
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/io/mod.rs:639:11
[INFO] [stdout]    7:     0x627d54f7c7f6 - std::io::Write::write_fmt::hdd3314a2bd8a34bd
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/io/mod.rs:1994:13
[INFO] [stdout]    8:     0x627d54f8d349 - std::sys::backtrace::BacktraceLock::print::h1079b82381c2c252
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x627d54f8d349 - std::panicking::default_hook::{{closure}}::h85cb76b8462c00f2
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x627d54f8d1e1 - std::panicking::default_hook::h0134d220cc034c02
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x627d54ef976e - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::hb2e68dca3970e3ca
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/alloc/src/boxed.rs:2220:9
[INFO] [stdout]   12:     0x627d54ef976e - test::test_main_with_exit_callback::{{closure}}::ha7ec2063a2565ec3
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/test/src/lib.rs:145:21
[INFO] [stdout]   13:     0x627d54f8d5c2 - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::haebee478d0f56cf4
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/alloc/src/boxed.rs:2220:9
[INFO] [stdout]   14:     0x627d54f8d5c2 - std::panicking::panic_with_hook::h8119b6db1fef734f
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x627d54f8d408 - std::panicking::panic_handler::{{closure}}::h24f5360b91482c0e
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/panicking.rs:698:13
[INFO] [stdout]   16:     0x627d54f88709 - std::sys::backtrace::__rust_end_short_backtrace::h4e60c5cbd1bd0108
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x627d54f7124d - __rustc[e4c6931bd8050421]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x627d54fc90cc - core::panicking::panic_fmt::hb1614a3ff6840071
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x627d54fc8582 - core::result::unwrap_failed::h7d4c34940aded59c
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/core/src/result.rs:1867:5
[INFO] [stdout]   20:     0x627d54e7ebd0 - core::result::Result<T,E>::unwrap::h131369a2e607fe5a
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/core/src/result.rs:1233:23
[INFO] [stdout]   21:     0x627d54e7ebd0 - btsim::SimulationResult::save_tx_graph::haffebf4bd9c0293a
[INFO] [stdout]                                at /opt/rustwide/workdir/src/lib.rs:750:41
[INFO] [stdout]   22:     0x627d54e92166 - btsim::tests::test_universe::h7f3b4755855b4b8b
[INFO] [stdout]                                at /opt/rustwide/workdir/src/lib.rs:789:16
[INFO] [stdout]   23:     0x627d54e92347 - btsim::tests::test_universe::{{closure}}::h4ddc72ba6751789c
[INFO] [stdout]                                at /opt/rustwide/workdir/src/lib.rs:765:23
[INFO] [stdout]   24:     0x627d54e4b176 - core::ops::function::FnOnce::call_once::hd0361a94b206a424
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   25:     0x627d54ef956b - core::ops::function::FnOnce::call_once::hefaf63600cd43d2a
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   26:     0x627d54ef956b - test::__rust_begin_short_backtrace::he30322a73a0e9ea6
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/test/src/lib.rs:663:18
[INFO] [stdout]   27:     0x627d54f0cf3a - test::run_test_in_process::{{closure}}::hdea3ab8d0243ef36
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/test/src/lib.rs:686:74
[INFO] [stdout]   28:     0x627d54f0cf3a - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h66d192f42498ffce
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   29:     0x627d54f0cf3a - std::panicking::catch_unwind::do_call::h822e18e8d3a6bb65
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/panicking.rs:581:40
[INFO] [stdout]   30:     0x627d54f0cf3a - std::panicking::catch_unwind::h54b1de7ceab578bf
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/panicking.rs:544:19
[INFO] [stdout]   31:     0x627d54f0cf3a - std::panic::catch_unwind::h60c29b7a9d0246b1
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/panic.rs:359:14
[INFO] [stdout]   32:     0x627d54f0cf3a - test::run_test_in_process::h6099b5f871379b13
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/test/src/lib.rs:686:27
[INFO] [stdout]   33:     0x627d54f0cf3a - test::run_test::{{closure}}::h926ce0a38281a4c8
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/test/src/lib.rs:607:43
[INFO] [stdout]   34:     0x627d54ee7394 - test::run_test::{{closure}}::h508de21a9afc7140
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/test/src/lib.rs:637:41
[INFO] [stdout]   35:     0x627d54ee7394 - std::sys::backtrace::__rust_begin_short_backtrace::h6e2f5c39ca00735a
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   36:     0x627d54eeac52 - std::thread::lifecycle::spawn_unchecked::{{closure}}::{{closure}}::h133e44f0e5802c14
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/thread/lifecycle.rs:91:13
[INFO] [stdout]   37:     0x627d54eeac52 - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h4718c1285283955c
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   38:     0x627d54eeac52 - std::panicking::catch_unwind::do_call::h0bba3937b4892238
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/panicking.rs:581:40
[INFO] [stdout]   39:     0x627d54eeac52 - std::panicking::catch_unwind::h5b31cab5fb8c5d7f
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/panicking.rs:544:19
[INFO] [stdout]   40:     0x627d54eeac52 - std::panic::catch_unwind::hb2fa05d52ed0124e
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/panic.rs:359:14
[INFO] [stdout]   41:     0x627d54eeac52 - std::thread::lifecycle::spawn_unchecked::{{closure}}::hf401cf5ff501bd29
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/thread/lifecycle.rs:89:26
[INFO] [stdout]   42:     0x627d54eeac52 - core::ops::function::FnOnce::call_once{{vtable.shim}}::h160022e94ce3b0bb
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   43:     0x627d54f8380f - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::hf234e0d1d1d272ba
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/alloc/src/boxed.rs:2206:9
[INFO] [stdout]   44:     0x627d54f8380f - std::sys::thread::unix::Thread::new::thread_start::h106a295241840d3b
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/sys/thread/unix.rs:127:17
[INFO] [stdout]   45:     0x7b3d8bf19aa4 - <unknown>
[INFO] [stdout]   46:     0x7b3d8bfa6a64 - 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. 3 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.27s
[INFO] [stdout] 
[INFO] [stderr] error: test failed, to rerun pass `--lib`
[INFO] running `Command { std: "docker" "inspect" "eeae1fb78b0a20a2ac113535a830dcf9d267907a1b347876a65036aba6d38cde", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "eeae1fb78b0a20a2ac113535a830dcf9d267907a1b347876a65036aba6d38cde", kill_on_drop: false }`
[INFO] [stdout] eeae1fb78b0a20a2ac113535a830dcf9d267907a1b347876a65036aba6d38cde
