[INFO] cloning repository https://github.com/jasonyu112/Rust-2-Phase-Commit-Implementation
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/jasonyu112/Rust-2-Phase-Commit-Implementation" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjasonyu112%2FRust-2-Phase-Commit-Implementation", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjasonyu112%2FRust-2-Phase-Commit-Implementation'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] c541ea434142ff659bc651f5fadf7687a9d7df2b
[INFO] checking jasonyu112/Rust-2-Phase-Commit-Implementation against eca445e5ae4a6679cc27d3a09106ce245e13a5a6 for pr-162478
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjasonyu112%2FRust-2-Phase-Commit-Implementation" "/workspace/builds/worker-7-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/jasonyu112/Rust-2-Phase-Commit-Implementation
[INFO] finished tweaking git repo https://github.com/jasonyu112/Rust-2-Phase-Commit-Implementation
[INFO] tweaked toml for git repo https://github.com/jasonyu112/Rust-2-Phase-Commit-Implementation written to /workspace/builds/worker-7-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/jasonyu112/Rust-2-Phase-Commit-Implementation on toolchain eca445e5ae4a6679cc27d3a09106ce245e13a5a6
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+eca445e5ae4a6679cc27d3a09106ce245e13a5a6" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/jasonyu112/Rust-2-Phase-Commit-Implementation 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" "+eca445e5ae4a6679cc27d3a09106ce245e13a5a6" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: Cargo.toml: `package.edition` is unspecified, defaulting to `2015` while the latest is `2024`
[INFO] [stderr] warning: binary `two_phase_commit` should have a kebab-case name
[INFO] [stderr]    |
[INFO] [stderr]  1 | /workspace/builds/worker-7-tc1/source/target/.../two_phase_commit
[INFO] [stderr]    |                                                  ^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `cargo::non_kebab_case_bins` is set to `warn` by default
[INFO] [stderr] help: to change the binary name to `two-phase-commit`, convert `package.name`
[INFO] [stderr]   --> Cargo.toml:18:8
[INFO] [stderr]    |
[INFO] [stderr] 18 - name = "two_phase_commit"
[INFO] [stderr] 18 + name = "two-phase-commit"
[INFO] [stderr]    |
[INFO] [stderr] help: to change the binary name to `two-phase-commit`, specify `bin.name`
[INFO] [stderr]   --> Cargo.toml:19:19
[INFO] [stderr]    |
[INFO] [stderr] 19 ~ version = "0.1.0"
[INFO] [stderr] 20 + [[bin]]
[INFO] [stderr] 21 + name = "two-phase-commit"
[INFO] [stderr] 22 + path = "src/main.rs"
[INFO] [stderr]    |
[INFO] [stderr] warning: `two_phase_commit` (manifest) generated 2 warnings
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded ctrlc v3.1.9
[INFO] [stderr]   Downloaded shellexpand v1.1.1
[INFO] [stderr]   Downloaded atomic-counter v1.0.1
[INFO] [stderr]   Downloaded stderrlog v0.4.3
[INFO] [stderr]   Downloaded ipc-channel v0.19.0
[INFO] [stderr]   Downloaded rustix v0.38.38
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,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" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:8683fc1fc2eb5c9ac98e0d076ab094b2ffac7f99da555d2b6a2e27f346de2ec7" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 952776e848047f9cf652b7017659852e07b135264fd274c24bed7861afad6fb6
[INFO] running `Command { std: "docker" "start" "952776e848047f9cf652b7017659852e07b135264fd274c24bed7861afad6fb6", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "952776e848047f9cf652b7017659852e07b135264fd274c24bed7861afad6fb6", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "952776e848047f9cf652b7017659852e07b135264fd274c24bed7861afad6fb6" "/opt/rustwide/cargo-home/bin/cargo" "+eca445e5ae4a6679cc27d3a09106ce245e13a5a6" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "952776e848047f9cf652b7017659852e07b135264fd274c24bed7861afad6fb6", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-w" "/opt/rustwide/workdir" "--user" "0:0" "952776e848047f9cf652b7017659852e07b135264fd274c24bed7861afad6fb6" "/opt/rustwide/cargo-home/bin/cargo" "+eca445e5ae4a6679cc27d3a09106ce245e13a5a6" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr] warning: Cargo.toml: `package.edition` is unspecified, defaulting to `2015` while the latest is `2024`
[INFO] [stderr] warning: binary `two_phase_commit` should have a kebab-case name
[INFO] [stderr]    |
[INFO] [stderr]  1 | /opt/rustwide/target/.../two_phase_commit
[INFO] [stderr]    |                          ^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `cargo::non_kebab_case_bins` is set to `warn` by default
[INFO] [stderr] help: to change the binary name to `two-phase-commit`, convert `package.name`
[INFO] [stderr]   --> Cargo.toml:18:8
[INFO] [stderr]    |
[INFO] [stderr] 18 - name = "two_phase_commit"
[INFO] [stderr] 18 + name = "two-phase-commit"
[INFO] [stderr]    |
[INFO] [stderr] help: to change the binary name to `two-phase-commit`, specify `bin.name`
[INFO] [stderr]   --> Cargo.toml:19:19
[INFO] [stderr]    |
[INFO] [stderr] 19 ~ version = "0.1.0"
[INFO] [stderr] 20 + [[bin]]
[INFO] [stderr] 21 + name = "two-phase-commit"
[INFO] [stderr] 22 + path = "src/main.rs"
[INFO] [stderr]    |
[INFO] [stderr] warning: `two_phase_commit` (manifest) generated 2 warnings
[INFO] [stderr]    Compiling libc v0.2.161
[INFO] [stderr]    Compiling proc-macro2 v1.0.89
[INFO] [stderr]    Compiling syn v1.0.74
[INFO] [stderr]    Compiling serde_derive v1.0.127
[INFO] [stderr]    Compiling num-traits v0.2.14
[INFO] [stderr]    Compiling serde v1.0.127
[INFO] [stderr]    Compiling num-integer v0.1.44
[INFO] [stderr]    Compiling rustix v0.38.38
[INFO] [stderr]    Compiling crossbeam-utils v0.8.20
[INFO] [stderr]     Checking linux-raw-sys v0.4.14
[INFO] [stderr]     Checking bitflags v2.6.0
[INFO] [stderr]     Checking fastrand v2.1.1
[INFO] [stderr]     Checking unicode-width v0.1.8
[INFO] [stderr]    Compiling serde_json v1.0.66
[INFO] [stderr]     Checking lazy_static v0.2.11
[INFO] [stderr]     Checking once_cell v1.20.2
[INFO] [stderr]     Checking thread_local v0.3.4
[INFO] [stderr]     Checking textwrap v0.11.0
[INFO] [stderr]     Checking ryu v1.0.5
[INFO] [stderr]     Checking itoa v0.4.7
[INFO] [stderr]     Checking atomic-counter v1.0.1
[INFO] [stderr]     Checking crossbeam-channel v0.5.13
[INFO] [stderr]    Compiling quote v1.0.37
[INFO] [stderr]     Checking getrandom v0.2.3
[INFO] [stderr]     Checking getrandom v0.1.16
[INFO] [stderr]     Checking dirs-sys v0.3.6
[INFO] [stderr]     Checking time v0.1.43
[INFO] [stderr]     Checking atty v0.2.11
[INFO] [stderr]     Checking mio v1.0.2
[INFO] [stderr]     Checking nix v0.20.0
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]     Checking dirs v2.0.2
[INFO] [stderr]     Checking uuid v1.11.0
[INFO] [stderr]     Checking shellexpand v1.1.1
[INFO] [stderr]     Checking rand_core v0.5.1
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking clap v2.33.3
[INFO] [stderr]     Checking chrono v0.4.19
[INFO] [stderr]     Checking rand_chacha v0.2.2
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]     Checking rand v0.7.3
[INFO] [stderr]     Checking tempfile v3.13.0
[INFO] [stderr]     Checking stderrlog v0.4.3
[INFO] [stderr]     Checking ctrlc v3.1.9
[INFO] [stderr]     Checking bincode v1.3.3
[INFO] [stderr]     Checking ipc-channel v0.19.0
[INFO] [stderr]     Checking two_phase_commit v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `std::sync::mpsc`
[INFO] [stdout]  --> src/main.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::sync::mpsc;
[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: `std::thread::sleep`
[INFO] [stdout]   --> src/main.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use std::thread::sleep;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ipc_channel::ipc::channel`
[INFO] [stdout]   --> src/main.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | use ipc_channel::ipc::channel;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Mutex`
[INFO] [stdout]   --> src/coordinator.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use std::sync::Mutex;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::thread`
[INFO] [stdout]   --> src/coordinator.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use std::thread;
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `coordinator::ipc_channel::ipc::channel`
[INFO] [stdout]   --> src/coordinator.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | use coordinator::ipc_channel::ipc::channel;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `message`
[INFO] [stdout]   --> src/coordinator.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 | use message;
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `message::RequestStatus`
[INFO] [stdout]   --> src/coordinator.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 24 | use message::RequestStatus;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::participant`
[INFO] [stdout]   --> src/coordinator.rs:27:5
[INFO] [stdout]    |
[INFO] [stdout] 27 | use crate::participant;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::mpsc`
[INFO] [stdout]   --> src/coordinator.rs:28:5
[INFO] [stdout]    |
[INFO] [stdout] 28 | use std::sync::mpsc;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]   --> src/participant.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::collections::HashMap;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::process::exit`
[INFO] [stdout]   --> src/participant.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use std::process::exit;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::time::Duration`
[INFO] [stdout]   --> src/participant.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use std::time::Duration;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::thread`
[INFO] [stdout]   --> src/participant.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use std::thread;
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `participant::ipc_channel::ipc::TryRecvError`
[INFO] [stdout]   --> src/participant.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | use participant::ipc_channel::ipc::TryRecvError;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `message::RequestStatus`
[INFO] [stdout]   --> src/participant.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 24 | use message::RequestStatus;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::process::exit`
[INFO] [stdout]  --> src/client.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::process::exit;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::thread`
[INFO] [stdout]   --> src/client.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::thread;
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::time::Duration`
[INFO] [stdout]   --> src/client.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use std::time::Duration;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]   --> src/client.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use std::collections::HashMap;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `message::MessageType`
[INFO] [stdout]   --> src/client.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 | use message::MessageType;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `message::RequestStatus`
[INFO] [stdout]   --> src/client.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 22 | use message::RequestStatus;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::mpsc`
[INFO] [stdout]  --> src/main.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::sync::mpsc;
[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: `std::thread::sleep`
[INFO] [stdout]   --> src/main.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use std::thread::sleep;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ipc_channel::ipc::channel`
[INFO] [stdout]   --> src/main.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | use ipc_channel::ipc::channel;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Mutex`
[INFO] [stdout]   --> src/coordinator.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use std::sync::Mutex;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::thread`
[INFO] [stdout]   --> src/coordinator.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use std::thread;
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `coordinator::ipc_channel::ipc::channel`
[INFO] [stdout]   --> src/coordinator.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | use coordinator::ipc_channel::ipc::channel;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `message`
[INFO] [stdout]   --> src/coordinator.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 | use message;
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `message::RequestStatus`
[INFO] [stdout]   --> src/coordinator.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 24 | use message::RequestStatus;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::participant`
[INFO] [stdout]   --> src/coordinator.rs:27:5
[INFO] [stdout]    |
[INFO] [stdout] 27 | use crate::participant;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::mpsc`
[INFO] [stdout]   --> src/coordinator.rs:28:5
[INFO] [stdout]    |
[INFO] [stdout] 28 | use std::sync::mpsc;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]   --> src/participant.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::collections::HashMap;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::process::exit`
[INFO] [stdout]   --> src/participant.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use std::process::exit;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::time::Duration`
[INFO] [stdout]   --> src/participant.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use std::time::Duration;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::thread`
[INFO] [stdout]   --> src/participant.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use std::thread;
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `participant::ipc_channel::ipc::TryRecvError`
[INFO] [stdout]   --> src/participant.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | use participant::ipc_channel::ipc::TryRecvError;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `message::RequestStatus`
[INFO] [stdout]   --> src/participant.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 24 | use message::RequestStatus;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::process::exit`
[INFO] [stdout]  --> src/client.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::process::exit;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::thread`
[INFO] [stdout]   --> src/client.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::thread;
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::time::Duration`
[INFO] [stdout]   --> src/client.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use std::time::Duration;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]   --> src/client.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use std::collections::HashMap;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `message::MessageType`
[INFO] [stdout]   --> src/client.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 | use message::MessageType;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `message::RequestStatus`
[INFO] [stdout]   --> src/client.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 22 | use message::RequestStatus;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `timeout_duration`
[INFO] [stdout]    --> src/coordinator.rs:166:13
[INFO] [stdout]     |
[INFO] [stdout] 166 |         let timeout_duration = Duration::from_secs(1);
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_timeout_duration`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `last_request_time` is assigned to, but never used
[INFO] [stdout]    --> src/coordinator.rs:167:13
[INFO] [stdout]     |
[INFO] [stdout] 167 |         let mut last_request_time = Instant::now();
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using `_last_request_time` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `client_id`
[INFO] [stdout]    --> src/coordinator.rs:174:18
[INFO] [stdout]     |
[INFO] [stdout] 174 |             for (client_id, client_info) in &self.clients {
[INFO] [stdout]     |                  ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_client_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `participant_id`
[INFO] [stdout]    --> src/coordinator.rs:181:30
[INFO] [stdout]     |
[INFO] [stdout] 181 |                         for (participant_id, participant_info) in &self.participants {
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_participant_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `participant_id`
[INFO] [stdout]    --> src/coordinator.rs:189:30
[INFO] [stdout]     |
[INFO] [stdout] 189 |                         for (participant_id, participant_info) in &self.participants {
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_participant_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `participant_id`
[INFO] [stdout]    --> src/coordinator.rs:198:34
[INFO] [stdout]     |
[INFO] [stdout] 198 | ...                   for (participant_id, participant_info) in &self.participants {
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_participant_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `participant_id`
[INFO] [stdout]    --> src/coordinator.rs:210:34
[INFO] [stdout]     |
[INFO] [stdout] 210 | ...                   for (participant_id, participant_info) in &self.participants {
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_participant_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `participant_id`
[INFO] [stdout]    --> src/coordinator.rs:220:38
[INFO] [stdout]     |
[INFO] [stdout] 220 | ...                   for (participant_id, participant_info) in &self.participants {
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_participant_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `participant_id`
[INFO] [stdout]    --> src/coordinator.rs:231:38
[INFO] [stdout]     |
[INFO] [stdout] 231 | ...                   for (participant_id, participant_info) in &self.participants {
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_participant_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `participant_id`
[INFO] [stdout]    --> src/coordinator.rs:244:34
[INFO] [stdout]     |
[INFO] [stdout] 244 | ...                   for (participant_id, participant_info) in &self.participants {
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_participant_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `participant_id`
[INFO] [stdout]    --> src/coordinator.rs:271:14
[INFO] [stdout]     |
[INFO] [stdout] 271 |         for (participant_id, participant_info) in &self.participants {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_participant_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `last_request_time` is never read
[INFO] [stdout]    --> src/coordinator.rs:180:25
[INFO] [stdout]     |
[INFO] [stdout] 180 |                         last_request_time = Instant::now();
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `request_option`
[INFO] [stdout]    --> src/participant.rs:139:41
[INFO] [stdout]     |
[INFO] [stdout] 139 |     pub fn perform_operation(&mut self, request_option: &Option<ProtocolMessage>) -> bool {
[INFO] [stdout]     |                                         ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_request_option`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pm`
[INFO] [stdout]    --> src/client.rs:112:16
[INFO] [stdout]     |
[INFO] [stdout] 112 |             Ok(pm) => {
[INFO] [stdout]     |                ^^ help: if this is intentional, prefix it with an underscore: `_pm`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `child`
[INFO] [stdout]    --> src/main.rs:102:14
[INFO] [stdout]     |
[INFO] [stdout] 102 |         let (child, sender, receiver) = spawn_child_and_connect(&mut child_opts);
[INFO] [stdout]     |              ^^^^^ help: if this is intentional, prefix it with an underscore: `_child`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `child`
[INFO] [stdout]    --> src/main.rs:110:14
[INFO] [stdout]     |
[INFO] [stdout] 110 |         let (child, sender, receiver) = spawn_child_and_connect(&mut child_opts);
[INFO] [stdout]     |              ^^^^^ help: if this is intentional, prefix it with an underscore: `_child`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `path` is never read
[INFO] [stdout]   --> src/oplog.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub struct OpLog {
[INFO] [stdout]    |            ----- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 18 |     path: String,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `OpLog` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `id` is never read
[INFO] [stdout]   --> src/coordinator.rs:59:5
[INFO] [stdout]    |
[INFO] [stdout] 58 | pub struct ParticipantInfo {
[INFO] [stdout]    |            --------------- field in this struct
[INFO] [stdout] 59 |     id: String,
[INFO] [stdout]    |     ^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ParticipantInfo` 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 `id` is never read
[INFO] [stdout]   --> src/coordinator.rs:64:5
[INFO] [stdout]    |
[INFO] [stdout] 63 | pub struct ClientInfo {
[INFO] [stdout]    |            ---------- field in this struct
[INFO] [stdout] 64 |     id: String,
[INFO] [stdout]    |     ^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ClientInfo` 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 `state` is never read
[INFO] [stdout]   --> src/participant.rs:47:5
[INFO] [stdout]    |
[INFO] [stdout] 45 | pub struct Participant {
[INFO] [stdout]    |            ----------- field in this struct
[INFO] [stdout] 46 |     id_str: String,
[INFO] [stdout] 47 |     state: ParticipantState,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Participant` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/main.rs:75:5
[INFO] [stdout]    |
[INFO] [stdout] 75 |     bootstrap.send((to_child, from_child));
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 75 |     let _ = bootstrap.send((to_child, from_child));
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/coordinator.rs:227:33
[INFO] [stdout]     |
[INFO] [stdout] 227 | ...   client_tx.send(ProtocolMessage::instantiate(MessageType::ClientResultCommit, pm.uid.clone(), pm.txid.clone(), pm.senderid.clone(), pm.opid.clone()));
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 227 |                                 let _ = client_tx.send(ProtocolMessage::instantiate(MessageType::ClientResultCommit, pm.uid.clone(), pm.txid.clone(), pm.senderid.clone(), pm.opid.clone()));
[INFO] [stdout]     |                                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/coordinator.rs:238:33
[INFO] [stdout]     |
[INFO] [stdout] 238 | ...   client_tx.send(ProtocolMessage::instantiate(MessageType::ClientResultAbort, pm.uid.clone(), pm.txid.clone(), pm.senderid.clone(), pm.opid.clone()));
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 238 |                                 let _ = client_tx.send(ProtocolMessage::instantiate(MessageType::ClientResultAbort, pm.uid.clone(), pm.txid.clone(), pm.senderid.clone(), pm.opid.clone()));
[INFO] [stdout]     |                                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/coordinator.rs:252:29
[INFO] [stdout]     |
[INFO] [stdout] 252 | ...   client_tx.send(ProtocolMessage::instantiate(MessageType::ClientResultAbort, pm.uid.clone(), pm.txid.clone(), pm.senderid.clone(), pm.opid.clone()));
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 252 |                             let _ = client_tx.send(ProtocolMessage::instantiate(MessageType::ClientResultAbort, pm.uid.clone(), pm.txid.clone(), pm.senderid.clone(), pm.opid.clone()));
[INFO] [stdout]     |                             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `timeout_duration`
[INFO] [stdout]    --> src/coordinator.rs:166:13
[INFO] [stdout]     |
[INFO] [stdout] 166 |         let timeout_duration = Duration::from_secs(1);
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_timeout_duration`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `last_request_time` is assigned to, but never used
[INFO] [stdout]    --> src/coordinator.rs:167:13
[INFO] [stdout]     |
[INFO] [stdout] 167 |         let mut last_request_time = Instant::now();
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using `_last_request_time` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `client_id`
[INFO] [stdout]    --> src/coordinator.rs:174:18
[INFO] [stdout]     |
[INFO] [stdout] 174 |             for (client_id, client_info) in &self.clients {
[INFO] [stdout]     |                  ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_client_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `participant_id`
[INFO] [stdout]    --> src/coordinator.rs:181:30
[INFO] [stdout]     |
[INFO] [stdout] 181 |                         for (participant_id, participant_info) in &self.participants {
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_participant_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `participant_id`
[INFO] [stdout]    --> src/coordinator.rs:189:30
[INFO] [stdout]     |
[INFO] [stdout] 189 |                         for (participant_id, participant_info) in &self.participants {
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_participant_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `participant_id`
[INFO] [stdout]    --> src/coordinator.rs:198:34
[INFO] [stdout]     |
[INFO] [stdout] 198 | ...                   for (participant_id, participant_info) in &self.participants {
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_participant_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `participant_id`
[INFO] [stdout]    --> src/coordinator.rs:210:34
[INFO] [stdout]     |
[INFO] [stdout] 210 | ...                   for (participant_id, participant_info) in &self.participants {
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_participant_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `participant_id`
[INFO] [stdout]    --> src/coordinator.rs:220:38
[INFO] [stdout]     |
[INFO] [stdout] 220 | ...                   for (participant_id, participant_info) in &self.participants {
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_participant_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `participant_id`
[INFO] [stdout]    --> src/coordinator.rs:231:38
[INFO] [stdout]     |
[INFO] [stdout] 231 | ...                   for (participant_id, participant_info) in &self.participants {
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_participant_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `participant_id`
[INFO] [stdout]    --> src/coordinator.rs:244:34
[INFO] [stdout]     |
[INFO] [stdout] 244 | ...                   for (participant_id, participant_info) in &self.participants {
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_participant_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `participant_id`
[INFO] [stdout]    --> src/coordinator.rs:271:14
[INFO] [stdout]     |
[INFO] [stdout] 271 |         for (participant_id, participant_info) in &self.participants {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_participant_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `last_request_time` is never read
[INFO] [stdout]    --> src/coordinator.rs:180:25
[INFO] [stdout]     |
[INFO] [stdout] 180 |                         last_request_time = Instant::now();
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `request_option`
[INFO] [stdout]    --> src/participant.rs:139:41
[INFO] [stdout]     |
[INFO] [stdout] 139 |     pub fn perform_operation(&mut self, request_option: &Option<ProtocolMessage>) -> bool {
[INFO] [stdout]     |                                         ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_request_option`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pm`
[INFO] [stdout]    --> src/client.rs:112:16
[INFO] [stdout]     |
[INFO] [stdout] 112 |             Ok(pm) => {
[INFO] [stdout]     |                ^^ help: if this is intentional, prefix it with an underscore: `_pm`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `child`
[INFO] [stdout]    --> src/main.rs:102:14
[INFO] [stdout]     |
[INFO] [stdout] 102 |         let (child, sender, receiver) = spawn_child_and_connect(&mut child_opts);
[INFO] [stdout]     |              ^^^^^ help: if this is intentional, prefix it with an underscore: `_child`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `child`
[INFO] [stdout]    --> src/main.rs:110:14
[INFO] [stdout]     |
[INFO] [stdout] 110 |         let (child, sender, receiver) = spawn_child_and_connect(&mut child_opts);
[INFO] [stdout]     |              ^^^^^ help: if this is intentional, prefix it with an underscore: `_child`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `path` is never read
[INFO] [stdout]   --> src/oplog.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub struct OpLog {
[INFO] [stdout]    |            ----- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 18 |     path: String,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `OpLog` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `id` is never read
[INFO] [stdout]   --> src/coordinator.rs:59:5
[INFO] [stdout]    |
[INFO] [stdout] 58 | pub struct ParticipantInfo {
[INFO] [stdout]    |            --------------- field in this struct
[INFO] [stdout] 59 |     id: String,
[INFO] [stdout]    |     ^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ParticipantInfo` 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 `id` is never read
[INFO] [stdout]   --> src/coordinator.rs:64:5
[INFO] [stdout]    |
[INFO] [stdout] 63 | pub struct ClientInfo {
[INFO] [stdout]    |            ---------- field in this struct
[INFO] [stdout] 64 |     id: String,
[INFO] [stdout]    |     ^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ClientInfo` 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 `state` is never read
[INFO] [stdout]   --> src/participant.rs:47:5
[INFO] [stdout]    |
[INFO] [stdout] 45 | pub struct Participant {
[INFO] [stdout]    |            ----------- field in this struct
[INFO] [stdout] 46 |     id_str: String,
[INFO] [stdout] 47 |     state: ParticipantState,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Participant` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/main.rs:75:5
[INFO] [stdout]    |
[INFO] [stdout] 75 |     bootstrap.send((to_child, from_child));
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 75 |     let _ = bootstrap.send((to_child, from_child));
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/coordinator.rs:227:33
[INFO] [stdout]     |
[INFO] [stdout] 227 | ...   client_tx.send(ProtocolMessage::instantiate(MessageType::ClientResultCommit, pm.uid.clone(), pm.txid.clone(), pm.senderid.clone(), pm.opid.clone()));
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 227 |                                 let _ = client_tx.send(ProtocolMessage::instantiate(MessageType::ClientResultCommit, pm.uid.clone(), pm.txid.clone(), pm.senderid.clone(), pm.opid.clone()));
[INFO] [stdout]     |                                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/coordinator.rs:238:33
[INFO] [stdout]     |
[INFO] [stdout] 238 | ...   client_tx.send(ProtocolMessage::instantiate(MessageType::ClientResultAbort, pm.uid.clone(), pm.txid.clone(), pm.senderid.clone(), pm.opid.clone()));
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 238 |                                 let _ = client_tx.send(ProtocolMessage::instantiate(MessageType::ClientResultAbort, pm.uid.clone(), pm.txid.clone(), pm.senderid.clone(), pm.opid.clone()));
[INFO] [stdout]     |                                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/coordinator.rs:252:29
[INFO] [stdout]     |
[INFO] [stdout] 252 | ...   client_tx.send(ProtocolMessage::instantiate(MessageType::ClientResultAbort, pm.uid.clone(), pm.txid.clone(), pm.senderid.clone(), pm.opid.clone()));
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 252 |                             let _ = client_tx.send(ProtocolMessage::instantiate(MessageType::ClientResultAbort, pm.uid.clone(), pm.txid.clone(), pm.senderid.clone(), pm.opid.clone()));
[INFO] [stdout]     |                             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] warning: unused dependency `atomic-counter`
[INFO] [stderr]  --> Cargo.toml:2:1
[INFO] [stderr]   |
[INFO] [stderr] 2 | atomic-counter = "1.0.1"
[INFO] [stderr]   | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `cargo::unused_dependencies` is set to `warn` by default
[INFO] [stderr] help: consider removing the dependency on `atomic-counter`
[INFO] [stderr] warning: unused dependency `shellexpand`
[INFO] [stderr]   --> Cargo.toml:10:1
[INFO] [stderr]    |
[INFO] [stderr] 10 | shellexpand = "1.1.1"
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr] help: consider removing the dependency on `shellexpand`
[INFO] [stderr] warning: `two_phase_commit` (manifest) generated 2 warnings
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 29.48s
[INFO] running `Command { std: "docker" "inspect" "952776e848047f9cf652b7017659852e07b135264fd274c24bed7861afad6fb6", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "952776e848047f9cf652b7017659852e07b135264fd274c24bed7861afad6fb6", kill_on_drop: false }`
[INFO] [stdout] 952776e848047f9cf652b7017659852e07b135264fd274c24bed7861afad6fb6
