[INFO] cloning repository https://github.com/hamidr/rmafia
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/hamidr/rmafia" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fhamidr%2Frmafia", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fhamidr%2Frmafia'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 256fb73ec817fa7bf82481ea9d10c4c308e043c4
[INFO] testing hamidr/rmafia against beta-2026-04-21 for beta-1.96-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fhamidr%2Frmafia" "/workspace/builds/worker-5-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/hamidr/rmafia
[INFO] finished tweaking git repo https://github.com/hamidr/rmafia
[INFO] tweaked toml for git repo https://github.com/hamidr/rmafia written to /workspace/builds/worker-5-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/hamidr/rmafia on toolchain beta-2026-04-21
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2026-04-21" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/hamidr/rmafia 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-04-21" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-04-21" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 1fabfacab524da9992a446528be2d8477506007faca8b462b112a1541c6ac260
[INFO] running `Command { std: "docker" "start" "-a" "1fabfacab524da9992a446528be2d8477506007faca8b462b112a1541c6ac260", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "1fabfacab524da9992a446528be2d8477506007faca8b462b112a1541c6ac260", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "1fabfacab524da9992a446528be2d8477506007faca8b462b112a1541c6ac260", kill_on_drop: false }`
[INFO] [stdout] 1fabfacab524da9992a446528be2d8477506007faca8b462b112a1541c6ac260
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-04-21" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] bb6aeb280fd33b6c4958eb23bb23c7cbb9ed8d94a8d0d9bb11522dfbbb100e4b
[INFO] running `Command { std: "docker" "start" "-a" "bb6aeb280fd33b6c4958eb23bb23c7cbb9ed8d94a8d0d9bb11522dfbbb100e4b", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.98
[INFO] [stderr]    Compiling cfg-if v1.0.0
[INFO] [stderr]    Compiling serde v1.0.127
[INFO] [stderr]    Compiling ppv-lite86 v0.2.10
[INFO] [stderr]    Compiling ryu v1.0.5
[INFO] [stderr]    Compiling serde_json v1.0.66
[INFO] [stderr]    Compiling itoa v0.4.7
[INFO] [stderr]    Compiling cache-padded v1.1.1
[INFO] [stderr]    Compiling bimap v0.6.1
[INFO] [stderr]    Compiling ringbuf v0.2.6
[INFO] [stderr]    Compiling getrandom v0.2.3
[INFO] [stderr]    Compiling rand_core v0.6.3
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling rand v0.8.4
[INFO] [stderr]    Compiling nanoid v0.4.0
[INFO] [stderr]    Compiling btreemultimap v0.1.0
[INFO] [stderr]    Compiling rmafia v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused imports: `BTreeMap` and `vec`
[INFO] [stdout]  --> src/scenario.rs:1:25
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{collections::{BTreeMap, BTreeSet}, vec};
[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 imports: `collections::BTreeSet` and `vec`
[INFO] [stdout]  --> src/room.rs:1:11
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{collections::BTreeSet, vec};
[INFO] [stdout]   |           ^^^^^^^^^^^^^^^^^^^^^  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `BTreeMap`
[INFO] [stdout]  --> src/games/classic/play.rs:7:34
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::collections::{BTreeSet, BTreeMap};
[INFO] [stdout]   |                                  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Power`
[INFO] [stdout]   --> src/waiting.rs:26:67
[INFO] [stdout]    |
[INFO] [stdout] 26 | use crate::{oracle::{Oracle, TwoWayRing}, scenario::{HolyMessage, Power, Pray}};
[INFO] [stdout]    |                                                                   ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::rc::Rc`
[INFO] [stdout]  --> src/oracle.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::rc::Rc;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable call
[INFO] [stdout]   --> src/main.rs:30:29
[INFO] [stdout]    |
[INFO] [stdout] 30 |     ps.get_mut(&1).unwrap().tell(todo!());
[INFO] [stdout]    |                             ^^^^ ------- any code following this expression is unreachable
[INFO] [stdout]    |                             |
[INFO] [stdout]    |                             unreachable call
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `spells`
[INFO] [stdout]    --> src/games/classic/game.rs:119:28
[INFO] [stdout]     |
[INFO] [stdout] 119 |     fn darkness(&mut self, spells: &impl Spells) -> Result<NightResult, Error> {
[INFO] [stdout]     |                            ^^^^^^ help: if this is intentional, prefix it with an underscore: `_spells`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `p1`
[INFO] [stdout]    --> src/games/classic/play.rs:154:52
[INFO] [stdout]     |
[INFO] [stdout] 154 |                 (Power::HandFakeGun, NightAct::Two(p1, p2)) => {
[INFO] [stdout]     |                                                    ^^ help: if this is intentional, prefix it with an underscore: `_p1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `gunman`
[INFO] [stdout]    --> src/games/classic/play.rs:184:31
[INFO] [stdout]     |
[INFO] [stdout] 184 |             DayEvent::RealGun(gunman) =>  Some(ShootingResult::Killed(on)),
[INFO] [stdout]     |                               ^^^^^^ help: if this is intentional, prefix it with an underscore: `_gunman`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `room`
[INFO] [stdout]    --> src/games/classic/play.rs:180:29
[INFO] [stdout]     |
[INFO] [stdout] 180 |     pub fn shoot(&mut self, room: &mut impl Room, shooter: &PlayerId, on: PlayerId) -> ShootingResult {
[INFO] [stdout]     |                             ^^^^ help: if this is intentional, prefix it with an underscore: `_room`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `ShootingResult` is never used
[INFO] [stdout]  --> src/scenario.rs:9:10
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub enum ShootingResult {
[INFO] [stdout]   |          ^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `night`, `active`, and `passive` are never used
[INFO] [stdout]   --> src/scenario.rs:35:12
[INFO] [stdout]    |
[INFO] [stdout] 34 | impl Power {
[INFO] [stdout]    | ---------- methods in this implementation
[INFO] [stdout] 35 |     pub fn night(&self) -> bool {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 39 |     pub fn active(&self) -> [Power; 9] {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 44 |     pub fn passive(&self) -> [Power; 4] {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/scenario.rs:52:14
[INFO] [stdout]    |
[INFO] [stdout] 52 |     Assigned(Vec<Power>),
[INFO] [stdout]    |     -------- ^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `HolyMessage` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 52 -     Assigned(Vec<Power>),
[INFO] [stdout] 52 +     Assigned(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `YouHaveGun`, `YouAreBoss`, and `IsMafia` are never constructed
[INFO] [stdout]   --> src/scenario.rs:53:5
[INFO] [stdout]    |
[INFO] [stdout] 51 | pub enum HolyMessage {
[INFO] [stdout]    |          ----------- variants in this enum
[INFO] [stdout] 52 |     Assigned(Vec<Power>),
[INFO] [stdout] 53 |     YouHaveGun,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 54 |     YouAreBoss,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 55 |     IsMafia(PlayerId, bool),
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `HolyMessage` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Has` is never constructed
[INFO] [stdout]   --> src/scenario.rs:59:5
[INFO] [stdout]    |
[INFO] [stdout] 58 | pub enum Meta {
[INFO] [stdout]    |          ---- variant in this enum
[INFO] [stdout] 59 |     Has(Power)
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `action`, `query`, and `meta` are never read
[INFO] [stdout]   --> src/scenario.rs:63:9
[INFO] [stdout]    |
[INFO] [stdout] 62 | pub struct Pray {
[INFO] [stdout]    |            ---- fields in this struct
[INFO] [stdout] 63 |     pub action: Power,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout] 64 |     pub query: Vec<PlayerId>,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout] 65 |     pub meta: Option<Meta>
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `Messages` is never used
[INFO] [stdout]   --> src/scenario.rs:84:10
[INFO] [stdout]    |
[INFO] [stdout] 84 | pub type Messages = BTreeMultiMap<PlayerId, HolyMessage>;
[INFO] [stdout]    |          ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `News` is never used
[INFO] [stdout]   --> src/scenario.rs:88:11
[INFO] [stdout]    |
[INFO] [stdout] 88 | pub trait News {
[INFO] [stdout]    |           ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `DeathBallot` is never used
[INFO] [stdout]   --> src/scenario.rs:93:11
[INFO] [stdout]    |
[INFO] [stdout] 93 | pub trait DeathBallot {
[INFO] [stdout]    |           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Defendence` is never used
[INFO] [stdout]   --> src/scenario.rs:99:11
[INFO] [stdout]    |
[INFO] [stdout] 99 | pub trait Defendence {
[INFO] [stdout]    |           ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Defend`, `Hang`, `Night`, and `Done` are never constructed
[INFO] [stdout]    --> src/scenario.rs:109:5
[INFO] [stdout]     |
[INFO] [stdout] 107 | pub enum CityState {
[INFO] [stdout]     |          --------- variants in this enum
[INFO] [stdout] 108 |     Debate,
[INFO] [stdout] 109 |     Defend,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 110 |     Hang,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 111 |     Night,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 112 |     Done(State)
[INFO] [stdout]     |     ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `CityState` 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 `MafiaWon`, `CityWon`, and `Undecided` are never constructed
[INFO] [stdout]    --> src/scenario.rs:117:5
[INFO] [stdout]     |
[INFO] [stdout] 116 | pub enum State {
[INFO] [stdout]     |          ----- variants in this enum
[INFO] [stdout] 117 |     MafiaWon,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] 118 |     CityWon,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] 119 |     Undecided
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `State` 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 `Out`, `StateChanged`, and `FakeGun` are never constructed
[INFO] [stdout]    --> src/scenario.rs:124:5
[INFO] [stdout]     |
[INFO] [stdout] 123 | pub enum Declaration {
[INFO] [stdout]     |          ----------- variants in this enum
[INFO] [stdout] 124 |     Out(PlayerId),
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 125 |     StateChanged(CityState),
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout] 126 |     FakeGun(PlayerId)
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Declaration` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `day`, `next`, `events`, and `process` are never used
[INFO] [stdout]    --> src/scenario.rs:133:8
[INFO] [stdout]     |
[INFO] [stdout] 131 | pub trait Scenario {
[INFO] [stdout]     |           -------- methods in this trait
[INFO] [stdout] 132 |     fn state(&self) -> CityState;
[INFO] [stdout] 133 |     fn day(&self) -> Day;
[INFO] [stdout]     |        ^^^
[INFO] [stdout] 134 |     fn next(&mut self) -> CityState;
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] 135 |     fn events(&self) -> &Vec<(Day, CityState, Declaration)>;
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] 136 |
[INFO] [stdout] 137 |     fn process(&mut self);
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]   --> src/room.rs:7:8
[INFO] [stdout]    |
[INFO] [stdout]  5 | pub trait Room {
[INFO] [stdout]    |           ---- methods in this trait
[INFO] [stdout]  6 |     fn numbers(&self) -> Vec<PlayerId>;
[INFO] [stdout]  7 |     fn has(&self, id: &PlayerId, power: &Power) -> bool;
[INFO] [stdout]    |        ^^^
[INFO] [stdout]  8 |     fn drop_kinks<const N: usize>(&mut self, id: &PlayerId, kinks: [Power; N]);
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout]  9 |     fn kinks(&self, id: &PlayerId) -> Vec<Power>;
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] 10 |     fn total(&self) -> usize;
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] 11 |     fn count(&self, power: &Power) -> usize;
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] 12 |     fn remove(&mut self, id: &PlayerId) -> Vec<Power>;
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 13 |     fn messages(&mut self, id: &PlayerId) -> Vec<Pray>;
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 14 |     fn by_power(&self, power: &Power) -> Vec<PlayerId>;
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `NightAct` is never used
[INFO] [stdout]   --> src/room.rs:18:10
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub enum NightAct {
[INFO] [stdout]    |          ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `RawSpell` is never used
[INFO] [stdout]   --> src/room.rs:25:10
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub type RawSpell = (PlayerId, Power, NightAct);
[INFO] [stdout]    |          ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Spells` is never used
[INFO] [stdout]   --> src/room.rs:26:11
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub trait Spells {
[INFO] [stdout]    |           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `events`, `enquery`, and `day` are never read
[INFO] [stdout]   --> src/games/classic/game.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub struct Classic {
[INFO] [stdout]    |            ------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 13 |     events: Vec<(Day, CityState, Declaration)>,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 14 |     enquery: u8,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 15 |     day: usize,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> src/games/classic/game.rs:58:8
[INFO] [stdout]     |
[INFO] [stdout]  18 | impl Classic {
[INFO] [stdout]     | ------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  58 |     fn enquery(&mut self) -> Option<usize> {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  67 |     fn make_ballot(&self) -> Ballots {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  71 |     fn first_id_by_power(&mut self, power: &Power) -> Option<PlayerId> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  75 |     fn pass_night_kill(&mut self) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  86 |     fn kick_out(&mut self, id: &PlayerId) -> bool {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  99 |     fn is_it(&self, state: CityState) -> bool {
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 103 |     fn declare(&mut self, s: Declaration) {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 107 |     fn on_shooting(&mut self, res: ShootingResult) {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 119 |     fn darkness(&mut self, spells: &impl Spells) -> Result<NightResult, Error> {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 126 |     fn sunrise(&mut self, n: &impl News) {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 132 |     fn sunset(&mut self, d: &impl DeathBallot) {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 140 |     fn defend(&self) -> Option<Ballots> {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 147 |     fn game_state(&self) -> State {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `DayEvent` is never used
[INFO] [stdout]  --> src/games/classic/play.rs:9:10
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub enum DayEvent {
[INFO] [stdout]   |          ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `KillingStatus` is never used
[INFO] [stdout]   --> src/games/classic/play.rs:14:10
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub enum KillingStatus {
[INFO] [stdout]    |          ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Play` is never constructed
[INFO] [stdout]   --> src/games/classic/play.rs:21:12
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub struct Play {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/games/classic/play.rs:26:12
[INFO] [stdout]     |
[INFO] [stdout]  25 | impl Play {
[INFO] [stdout]     | --------- associated items in this implementation
[INFO] [stdout]  26 |     pub fn new() -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  30 |     fn remove_paralyzed_unguarded_spell(room: &impl Room, spells: &mut impl Spells) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  45 |     fn did_hit_mafia(room: &impl Room, commando: PlayerId, target: PlayerId) -> Option<KillingStatus> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  57 |     fn is_wicked_or_boss_killing(room: &mut impl Room, spells: &impl Spells) -> Option<KillingStatus> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  77 |     fn who_wicked_kills(room:& impl Room, wicked: PlayerId, killee: PlayerId, power: &Power) -> KillingStatus {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  85 |     fn get_player_ids(spells: &impl Spells, power: &Power) -> Vec<PlayerId> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  98 |     fn heals(spells: &impl Spells, total: usize, ) -> BTreeSet<PlayerId> {
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 104 |     fn remove_killed_one(room: &mut impl Room, spells: &impl Spells)  -> Result<Option<PlayerId>, Error> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 127 |     fn detective(room: &impl Room, msgs: &mut Messages, spells: &impl Spells) {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 138 |     fn gunman(&mut self, spells: &impl Spells) {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 163 |     pub fn apply_night(&mut self, room: &mut impl Room, mut spells: impl Spells) -> Result<NightResult, Error> {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 180 |     pub fn shoot(&mut self, room: &mut impl Room, shooter: &PlayerId, on: PlayerId) -> ShootingResult {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `NightResult` is never constructed
[INFO] [stdout]    --> src/games/classic/play.rs:190:12
[INFO] [stdout]     |
[INFO] [stdout] 190 | pub struct NightResult {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/games/classic/play.rs:196:8
[INFO] [stdout]     |
[INFO] [stdout] 195 | impl NightResult {
[INFO] [stdout]     | ---------------- associated function in this implementation
[INFO] [stdout] 196 |     fn new(msgs: Messages, removed: BTreeSet<PlayerId>) -> Self {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DeathVote` is never constructed
[INFO] [stdout]  --> src/elections/ballot.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct DeathVote {
[INFO] [stdout]   |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/elections/ballot.rs:11:8
[INFO] [stdout]    |
[INFO] [stdout] 10 | impl DeathVote {
[INFO] [stdout]    | -------------- associated function in this implementation
[INFO] [stdout] 11 |     fn new(nomonies: BTreeSet<PlayerId>, total: u8) -> Result<DeathVote, Error> {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Ballots` is never constructed
[INFO] [stdout]   --> src/elections/ballot.rs:65:12
[INFO] [stdout]    |
[INFO] [stdout] 65 | pub struct Ballots {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/elections/ballot.rs:71:12
[INFO] [stdout]    |
[INFO] [stdout] 70 | impl Ballots {
[INFO] [stdout]    | ------------ associated function in this implementation
[INFO] [stdout] 71 |     pub fn new(total: usize) -> Ballots {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `OracleRef` is never used
[INFO] [stdout]   --> src/waiting.rs:28:10
[INFO] [stdout]    |
[INFO] [stdout] 28 | pub type OracleRef = TwoWayRing<Pray, HolyMessage>;
[INFO] [stdout]    |          ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `opt_out` is never used
[INFO] [stdout]   --> src/waiting.rs:35:8
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub trait WaitingRoom {
[INFO] [stdout]    |           ----------- method in this trait
[INFO] [stdout] ...
[INFO] [stdout] 35 |     fn opt_out(&mut self, id: &PlayerId) -> bool;
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `text_to` and `read_all` are never used
[INFO] [stdout]   --> src/in_memory_room.rs:48:8
[INFO] [stdout]    |
[INFO] [stdout] 28 | impl InMemoryRoom {
[INFO] [stdout]    | ----------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 48 |     fn text_to(&mut self, id: &PlayerId, msg: HolyMessage) -> bool {
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 54 |     pub fn read_all(&mut self) -> BTreeMap<PlayerId, Vec<Pray>> {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `read` is never read
[INFO] [stdout]  --> src/oracle.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub struct TwoWayRing<S, H> {
[INFO] [stdout]   |            ---------- field in this struct
[INFO] [stdout] 6 |     ask: Producer<S>,
[INFO] [stdout] 7 |     read: Consumer<H>,
[INFO] [stdout]   |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `read` is never used
[INFO] [stdout]   --> src/oracle.rs:15:12
[INFO] [stdout]    |
[INFO] [stdout] 10 | impl<S, H> TwoWayRing<S, H> {
[INFO] [stdout]    | --------------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 15 |     pub fn read(&mut self) -> Option<H> {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 7.23s
[INFO] running `Command { std: "docker" "inspect" "bb6aeb280fd33b6c4958eb23bb23c7cbb9ed8d94a8d0d9bb11522dfbbb100e4b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "bb6aeb280fd33b6c4958eb23bb23c7cbb9ed8d94a8d0d9bb11522dfbbb100e4b", kill_on_drop: false }`
[INFO] [stdout] bb6aeb280fd33b6c4958eb23bb23c7cbb9ed8d94a8d0d9bb11522dfbbb100e4b
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-04-21" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 1e6c3d52a45f3cf1a0734dcf34371b62a6efef1a323572da34cc82b6594650b5
[INFO] running `Command { std: "docker" "start" "-a" "1e6c3d52a45f3cf1a0734dcf34371b62a6efef1a323572da34cc82b6594650b5", kill_on_drop: false }`
[INFO] [stderr]    Compiling rmafia v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused imports: `BTreeMap` and `vec`
[INFO] [stdout]  --> src/scenario.rs:1:25
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{collections::{BTreeMap, BTreeSet}, vec};
[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 imports: `collections::BTreeSet` and `vec`
[INFO] [stdout]  --> src/room.rs:1:11
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{collections::BTreeSet, vec};
[INFO] [stdout]   |           ^^^^^^^^^^^^^^^^^^^^^  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `BTreeMap`
[INFO] [stdout]  --> src/games/classic/play.rs:7:34
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::collections::{BTreeSet, BTreeMap};
[INFO] [stdout]   |                                  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Power`
[INFO] [stdout]   --> src/waiting.rs:26:67
[INFO] [stdout]    |
[INFO] [stdout] 26 | use crate::{oracle::{Oracle, TwoWayRing}, scenario::{HolyMessage, Power, Pray}};
[INFO] [stdout]    |                                                                   ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::rc::Rc`
[INFO] [stdout]  --> src/oracle.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::rc::Rc;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable call
[INFO] [stdout]   --> src/main.rs:30:29
[INFO] [stdout]    |
[INFO] [stdout] 30 |     ps.get_mut(&1).unwrap().tell(todo!());
[INFO] [stdout]    |                             ^^^^ ------- any code following this expression is unreachable
[INFO] [stdout]    |                             |
[INFO] [stdout]    |                             unreachable call
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `spells`
[INFO] [stdout]    --> src/games/classic/game.rs:119:28
[INFO] [stdout]     |
[INFO] [stdout] 119 |     fn darkness(&mut self, spells: &impl Spells) -> Result<NightResult, Error> {
[INFO] [stdout]     |                            ^^^^^^ help: if this is intentional, prefix it with an underscore: `_spells`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `p1`
[INFO] [stdout]    --> src/games/classic/play.rs:154:52
[INFO] [stdout]     |
[INFO] [stdout] 154 |                 (Power::HandFakeGun, NightAct::Two(p1, p2)) => {
[INFO] [stdout]     |                                                    ^^ help: if this is intentional, prefix it with an underscore: `_p1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `gunman`
[INFO] [stdout]    --> src/games/classic/play.rs:184:31
[INFO] [stdout]     |
[INFO] [stdout] 184 |             DayEvent::RealGun(gunman) =>  Some(ShootingResult::Killed(on)),
[INFO] [stdout]     |                               ^^^^^^ help: if this is intentional, prefix it with an underscore: `_gunman`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `room`
[INFO] [stdout]    --> src/games/classic/play.rs:180:29
[INFO] [stdout]     |
[INFO] [stdout] 180 |     pub fn shoot(&mut self, room: &mut impl Room, shooter: &PlayerId, on: PlayerId) -> ShootingResult {
[INFO] [stdout]     |                             ^^^^ help: if this is intentional, prefix it with an underscore: `_room`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `ShootingResult` is never used
[INFO] [stdout]  --> src/scenario.rs:9:10
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub enum ShootingResult {
[INFO] [stdout]   |          ^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `night`, `active`, and `passive` are never used
[INFO] [stdout]   --> src/scenario.rs:35:12
[INFO] [stdout]    |
[INFO] [stdout] 34 | impl Power {
[INFO] [stdout]    | ---------- methods in this implementation
[INFO] [stdout] 35 |     pub fn night(&self) -> bool {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 39 |     pub fn active(&self) -> [Power; 9] {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 44 |     pub fn passive(&self) -> [Power; 4] {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/scenario.rs:52:14
[INFO] [stdout]    |
[INFO] [stdout] 52 |     Assigned(Vec<Power>),
[INFO] [stdout]    |     -------- ^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `HolyMessage` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 52 -     Assigned(Vec<Power>),
[INFO] [stdout] 52 +     Assigned(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `YouHaveGun`, `YouAreBoss`, and `IsMafia` are never constructed
[INFO] [stdout]   --> src/scenario.rs:53:5
[INFO] [stdout]    |
[INFO] [stdout] 51 | pub enum HolyMessage {
[INFO] [stdout]    |          ----------- variants in this enum
[INFO] [stdout] 52 |     Assigned(Vec<Power>),
[INFO] [stdout] 53 |     YouHaveGun,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 54 |     YouAreBoss,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 55 |     IsMafia(PlayerId, bool),
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `HolyMessage` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Has` is never constructed
[INFO] [stdout]   --> src/scenario.rs:59:5
[INFO] [stdout]    |
[INFO] [stdout] 58 | pub enum Meta {
[INFO] [stdout]    |          ---- variant in this enum
[INFO] [stdout] 59 |     Has(Power)
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `action`, `query`, and `meta` are never read
[INFO] [stdout]   --> src/scenario.rs:63:9
[INFO] [stdout]    |
[INFO] [stdout] 62 | pub struct Pray {
[INFO] [stdout]    |            ---- fields in this struct
[INFO] [stdout] 63 |     pub action: Power,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout] 64 |     pub query: Vec<PlayerId>,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout] 65 |     pub meta: Option<Meta>
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `Messages` is never used
[INFO] [stdout]   --> src/scenario.rs:84:10
[INFO] [stdout]    |
[INFO] [stdout] 84 | pub type Messages = BTreeMultiMap<PlayerId, HolyMessage>;
[INFO] [stdout]    |          ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `News` is never used
[INFO] [stdout]   --> src/scenario.rs:88:11
[INFO] [stdout]    |
[INFO] [stdout] 88 | pub trait News {
[INFO] [stdout]    |           ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `DeathBallot` is never used
[INFO] [stdout]   --> src/scenario.rs:93:11
[INFO] [stdout]    |
[INFO] [stdout] 93 | pub trait DeathBallot {
[INFO] [stdout]    |           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Defendence` is never used
[INFO] [stdout]   --> src/scenario.rs:99:11
[INFO] [stdout]    |
[INFO] [stdout] 99 | pub trait Defendence {
[INFO] [stdout]    |           ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Defend`, `Hang`, `Night`, and `Done` are never constructed
[INFO] [stdout]    --> src/scenario.rs:109:5
[INFO] [stdout]     |
[INFO] [stdout] 107 | pub enum CityState {
[INFO] [stdout]     |          --------- variants in this enum
[INFO] [stdout] 108 |     Debate,
[INFO] [stdout] 109 |     Defend,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 110 |     Hang,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 111 |     Night,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 112 |     Done(State)
[INFO] [stdout]     |     ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `CityState` 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 `MafiaWon`, `CityWon`, and `Undecided` are never constructed
[INFO] [stdout]    --> src/scenario.rs:117:5
[INFO] [stdout]     |
[INFO] [stdout] 116 | pub enum State {
[INFO] [stdout]     |          ----- variants in this enum
[INFO] [stdout] 117 |     MafiaWon,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] 118 |     CityWon,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] 119 |     Undecided
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `State` 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 `Out`, `StateChanged`, and `FakeGun` are never constructed
[INFO] [stdout]    --> src/scenario.rs:124:5
[INFO] [stdout]     |
[INFO] [stdout] 123 | pub enum Declaration {
[INFO] [stdout]     |          ----------- variants in this enum
[INFO] [stdout] 124 |     Out(PlayerId),
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 125 |     StateChanged(CityState),
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout] 126 |     FakeGun(PlayerId)
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Declaration` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `day`, `next`, `events`, and `process` are never used
[INFO] [stdout]    --> src/scenario.rs:133:8
[INFO] [stdout]     |
[INFO] [stdout] 131 | pub trait Scenario {
[INFO] [stdout]     |           -------- methods in this trait
[INFO] [stdout] 132 |     fn state(&self) -> CityState;
[INFO] [stdout] 133 |     fn day(&self) -> Day;
[INFO] [stdout]     |        ^^^
[INFO] [stdout] 134 |     fn next(&mut self) -> CityState;
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] 135 |     fn events(&self) -> &Vec<(Day, CityState, Declaration)>;
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] 136 |
[INFO] [stdout] 137 |     fn process(&mut self);
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]   --> src/room.rs:7:8
[INFO] [stdout]    |
[INFO] [stdout]  5 | pub trait Room {
[INFO] [stdout]    |           ---- methods in this trait
[INFO] [stdout]  6 |     fn numbers(&self) -> Vec<PlayerId>;
[INFO] [stdout]  7 |     fn has(&self, id: &PlayerId, power: &Power) -> bool;
[INFO] [stdout]    |        ^^^
[INFO] [stdout]  8 |     fn drop_kinks<const N: usize>(&mut self, id: &PlayerId, kinks: [Power; N]);
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout]  9 |     fn kinks(&self, id: &PlayerId) -> Vec<Power>;
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] 10 |     fn total(&self) -> usize;
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] 11 |     fn count(&self, power: &Power) -> usize;
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] 12 |     fn remove(&mut self, id: &PlayerId) -> Vec<Power>;
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 13 |     fn messages(&mut self, id: &PlayerId) -> Vec<Pray>;
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 14 |     fn by_power(&self, power: &Power) -> Vec<PlayerId>;
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `NightAct` is never used
[INFO] [stdout]   --> src/room.rs:18:10
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub enum NightAct {
[INFO] [stdout]    |          ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `RawSpell` is never used
[INFO] [stdout]   --> src/room.rs:25:10
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub type RawSpell = (PlayerId, Power, NightAct);
[INFO] [stdout]    |          ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Spells` is never used
[INFO] [stdout]   --> src/room.rs:26:11
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub trait Spells {
[INFO] [stdout]    |           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `events`, `enquery`, and `day` are never read
[INFO] [stdout]   --> src/games/classic/game.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub struct Classic {
[INFO] [stdout]    |            ------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 13 |     events: Vec<(Day, CityState, Declaration)>,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 14 |     enquery: u8,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 15 |     day: usize,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> src/games/classic/game.rs:58:8
[INFO] [stdout]     |
[INFO] [stdout]  18 | impl Classic {
[INFO] [stdout]     | ------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  58 |     fn enquery(&mut self) -> Option<usize> {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  67 |     fn make_ballot(&self) -> Ballots {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  71 |     fn first_id_by_power(&mut self, power: &Power) -> Option<PlayerId> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  75 |     fn pass_night_kill(&mut self) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  86 |     fn kick_out(&mut self, id: &PlayerId) -> bool {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  99 |     fn is_it(&self, state: CityState) -> bool {
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 103 |     fn declare(&mut self, s: Declaration) {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 107 |     fn on_shooting(&mut self, res: ShootingResult) {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 119 |     fn darkness(&mut self, spells: &impl Spells) -> Result<NightResult, Error> {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 126 |     fn sunrise(&mut self, n: &impl News) {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 132 |     fn sunset(&mut self, d: &impl DeathBallot) {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 140 |     fn defend(&self) -> Option<Ballots> {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 147 |     fn game_state(&self) -> State {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `DayEvent` is never used
[INFO] [stdout]  --> src/games/classic/play.rs:9:10
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub enum DayEvent {
[INFO] [stdout]   |          ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `KillingStatus` is never used
[INFO] [stdout]   --> src/games/classic/play.rs:14:10
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub enum KillingStatus {
[INFO] [stdout]    |          ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Play` is never constructed
[INFO] [stdout]   --> src/games/classic/play.rs:21:12
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub struct Play {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/games/classic/play.rs:26:12
[INFO] [stdout]     |
[INFO] [stdout]  25 | impl Play {
[INFO] [stdout]     | --------- associated items in this implementation
[INFO] [stdout]  26 |     pub fn new() -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  30 |     fn remove_paralyzed_unguarded_spell(room: &impl Room, spells: &mut impl Spells) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  45 |     fn did_hit_mafia(room: &impl Room, commando: PlayerId, target: PlayerId) -> Option<KillingStatus> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  57 |     fn is_wicked_or_boss_killing(room: &mut impl Room, spells: &impl Spells) -> Option<KillingStatus> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  77 |     fn who_wicked_kills(room:& impl Room, wicked: PlayerId, killee: PlayerId, power: &Power) -> KillingStatus {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  85 |     fn get_player_ids(spells: &impl Spells, power: &Power) -> Vec<PlayerId> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  98 |     fn heals(spells: &impl Spells, total: usize, ) -> BTreeSet<PlayerId> {
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 104 |     fn remove_killed_one(room: &mut impl Room, spells: &impl Spells)  -> Result<Option<PlayerId>, Error> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 127 |     fn detective(room: &impl Room, msgs: &mut Messages, spells: &impl Spells) {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 138 |     fn gunman(&mut self, spells: &impl Spells) {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 163 |     pub fn apply_night(&mut self, room: &mut impl Room, mut spells: impl Spells) -> Result<NightResult, Error> {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 180 |     pub fn shoot(&mut self, room: &mut impl Room, shooter: &PlayerId, on: PlayerId) -> ShootingResult {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `NightResult` is never constructed
[INFO] [stdout]    --> src/games/classic/play.rs:190:12
[INFO] [stdout]     |
[INFO] [stdout] 190 | pub struct NightResult {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/games/classic/play.rs:196:8
[INFO] [stdout]     |
[INFO] [stdout] 195 | impl NightResult {
[INFO] [stdout]     | ---------------- associated function in this implementation
[INFO] [stdout] 196 |     fn new(msgs: Messages, removed: BTreeSet<PlayerId>) -> Self {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DeathVote` is never constructed
[INFO] [stdout]  --> src/elections/ballot.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct DeathVote {
[INFO] [stdout]   |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/elections/ballot.rs:11:8
[INFO] [stdout]    |
[INFO] [stdout] 10 | impl DeathVote {
[INFO] [stdout]    | -------------- associated function in this implementation
[INFO] [stdout] 11 |     fn new(nomonies: BTreeSet<PlayerId>, total: u8) -> Result<DeathVote, Error> {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Ballots` is never constructed
[INFO] [stdout]   --> src/elections/ballot.rs:65:12
[INFO] [stdout]    |
[INFO] [stdout] 65 | pub struct Ballots {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/elections/ballot.rs:71:12
[INFO] [stdout]    |
[INFO] [stdout] 70 | impl Ballots {
[INFO] [stdout]    | ------------ associated function in this implementation
[INFO] [stdout] 71 |     pub fn new(total: usize) -> Ballots {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `OracleRef` is never used
[INFO] [stdout]   --> src/waiting.rs:28:10
[INFO] [stdout]    |
[INFO] [stdout] 28 | pub type OracleRef = TwoWayRing<Pray, HolyMessage>;
[INFO] [stdout]    |          ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `opt_out` is never used
[INFO] [stdout]   --> src/waiting.rs:35:8
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub trait WaitingRoom {
[INFO] [stdout]    |           ----------- method in this trait
[INFO] [stdout] ...
[INFO] [stdout] 35 |     fn opt_out(&mut self, id: &PlayerId) -> bool;
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `text_to` and `read_all` are never used
[INFO] [stdout]   --> src/in_memory_room.rs:48:8
[INFO] [stdout]    |
[INFO] [stdout] 28 | impl InMemoryRoom {
[INFO] [stdout]    | ----------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 48 |     fn text_to(&mut self, id: &PlayerId, msg: HolyMessage) -> bool {
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 54 |     pub fn read_all(&mut self) -> BTreeMap<PlayerId, Vec<Pray>> {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `read` is never read
[INFO] [stdout]  --> src/oracle.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub struct TwoWayRing<S, H> {
[INFO] [stdout]   |            ---------- field in this struct
[INFO] [stdout] 6 |     ask: Producer<S>,
[INFO] [stdout] 7 |     read: Consumer<H>,
[INFO] [stdout]   |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `read` is never used
[INFO] [stdout]   --> src/oracle.rs:15:12
[INFO] [stdout]    |
[INFO] [stdout] 10 | impl<S, H> TwoWayRing<S, H> {
[INFO] [stdout]    | --------------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 15 |     pub fn read(&mut self) -> Option<H> {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.44s
[INFO] running `Command { std: "docker" "inspect" "1e6c3d52a45f3cf1a0734dcf34371b62a6efef1a323572da34cc82b6594650b5", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "1e6c3d52a45f3cf1a0734dcf34371b62a6efef1a323572da34cc82b6594650b5", kill_on_drop: false }`
[INFO] [stdout] 1e6c3d52a45f3cf1a0734dcf34371b62a6efef1a323572da34cc82b6594650b5
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-04-21" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 31482b50b9c8e15e833559d0c29643b50cfa4137c0f22010e9b9eef4effadd9c
[INFO] running `Command { std: "docker" "start" "-a" "31482b50b9c8e15e833559d0c29643b50cfa4137c0f22010e9b9eef4effadd9c", kill_on_drop: false }`
[INFO] [stderr] warning: unused imports: `BTreeMap` and `vec`
[INFO] [stderr]  --> src/scenario.rs:1:25
[INFO] [stderr]   |
[INFO] [stderr] 1 | use std::{collections::{BTreeMap, BTreeSet}, vec};
[INFO] [stderr]   |                         ^^^^^^^^             ^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `collections::BTreeSet` and `vec`
[INFO] [stderr]  --> src/room.rs:1:11
[INFO] [stderr]   |
[INFO] [stderr] 1 | use std::{collections::BTreeSet, vec};
[INFO] [stderr]   |           ^^^^^^^^^^^^^^^^^^^^^  ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `BTreeMap`
[INFO] [stderr]  --> src/games/classic/play.rs:7:34
[INFO] [stderr]   |
[INFO] [stderr] 7 | use std::collections::{BTreeSet, BTreeMap};
[INFO] [stderr]   |                                  ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Power`
[INFO] [stderr]   --> src/waiting.rs:26:67
[INFO] [stderr]    |
[INFO] [stderr] 26 | use crate::{oracle::{Oracle, TwoWayRing}, scenario::{HolyMessage, Power, Pray}};
[INFO] [stderr]    |                                                                   ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::rc::Rc`
[INFO] [stderr]  --> src/oracle.rs:1:5
[INFO] [stderr]   |
[INFO] [stderr] 1 | use std::rc::Rc;
[INFO] [stderr]   |     ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unreachable call
[INFO] [stderr]   --> src/main.rs:30:29
[INFO] [stderr]    |
[INFO] [stderr] 30 |     ps.get_mut(&1).unwrap().tell(todo!());
[INFO] [stderr]    |                             ^^^^ ------- any code following this expression is unreachable
[INFO] [stderr]    |                             |
[INFO] [stderr]    |                             unreachable call
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `spells`
[INFO] [stderr]    --> src/games/classic/game.rs:119:28
[INFO] [stderr]     |
[INFO] [stderr] 119 |     fn darkness(&mut self, spells: &impl Spells) -> Result<NightResult, Error> {
[INFO] [stderr]     |                            ^^^^^^ help: if this is intentional, prefix it with an underscore: `_spells`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `p1`
[INFO] [stderr]    --> src/games/classic/play.rs:154:52
[INFO] [stderr]     |
[INFO] [stderr] 154 |                 (Power::HandFakeGun, NightAct::Two(p1, p2)) => {
[INFO] [stderr]     |                                                    ^^ help: if this is intentional, prefix it with an underscore: `_p1`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `gunman`
[INFO] [stderr]    --> src/games/classic/play.rs:184:31
[INFO] [stderr]     |
[INFO] [stderr] 184 |             DayEvent::RealGun(gunman) =>  Some(ShootingResult::Killed(on)),
[INFO] [stderr]     |                               ^^^^^^ help: if this is intentional, prefix it with an underscore: `_gunman`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `room`
[INFO] [stderr]    --> src/games/classic/play.rs:180:29
[INFO] [stderr]     |
[INFO] [stderr] 180 |     pub fn shoot(&mut self, room: &mut impl Room, shooter: &PlayerId, on: PlayerId) -> ShootingResult {
[INFO] [stderr]     |                             ^^^^ help: if this is intentional, prefix it with an underscore: `_room`
[INFO] [stderr] 
[INFO] [stderr] warning: enum `ShootingResult` is never used
[INFO] [stderr]  --> src/scenario.rs:9:10
[INFO] [stderr]   |
[INFO] [stderr] 9 | pub enum ShootingResult {
[INFO] [stderr]   |          ^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: methods `night`, `active`, and `passive` are never used
[INFO] [stderr]   --> src/scenario.rs:35:12
[INFO] [stderr]    |
[INFO] [stderr] 34 | impl Power {
[INFO] [stderr]    | ---------- methods in this implementation
[INFO] [stderr] 35 |     pub fn night(&self) -> bool {
[INFO] [stderr]    |            ^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 39 |     pub fn active(&self) -> [Power; 9] {
[INFO] [stderr]    |            ^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 44 |     pub fn passive(&self) -> [Power; 4] {
[INFO] [stderr]    |            ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `0` is never read
[INFO] [stderr]   --> src/scenario.rs:52:14
[INFO] [stderr]    |
[INFO] [stderr] 52 |     Assigned(Vec<Power>),
[INFO] [stderr]    |     -------- ^^^^^^^^^^
[INFO] [stderr]    |     |
[INFO] [stderr]    |     field in this variant
[INFO] [stderr]    |
[INFO] [stderr]    = note: `HolyMessage` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stderr]    |
[INFO] [stderr] 52 -     Assigned(Vec<Power>),
[INFO] [stderr] 52 +     Assigned(()),
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: variants `YouHaveGun`, `YouAreBoss`, and `IsMafia` are never constructed
[INFO] [stderr]   --> src/scenario.rs:53:5
[INFO] [stderr]    |
[INFO] [stderr] 51 | pub enum HolyMessage {
[INFO] [stderr]    |          ----------- variants in this enum
[INFO] [stderr] 52 |     Assigned(Vec<Power>),
[INFO] [stderr] 53 |     YouHaveGun,
[INFO] [stderr]    |     ^^^^^^^^^^
[INFO] [stderr] 54 |     YouAreBoss,
[INFO] [stderr]    |     ^^^^^^^^^^
[INFO] [stderr] 55 |     IsMafia(PlayerId, bool),
[INFO] [stderr]    |     ^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `HolyMessage` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: variant `Has` is never constructed
[INFO] [stderr]   --> src/scenario.rs:59:5
[INFO] [stderr]    |
[INFO] [stderr] 58 | pub enum Meta {
[INFO] [stderr]    |          ---- variant in this enum
[INFO] [stderr] 59 |     Has(Power)
[INFO] [stderr]    |     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: fields `action`, `query`, and `meta` are never read
[INFO] [stderr]   --> src/scenario.rs:63:9
[INFO] [stderr]    |
[INFO] [stderr] 62 | pub struct Pray {
[INFO] [stderr]    |            ---- fields in this struct
[INFO] [stderr] 63 |     pub action: Power,
[INFO] [stderr]    |         ^^^^^^
[INFO] [stderr] 64 |     pub query: Vec<PlayerId>,
[INFO] [stderr]    |         ^^^^^
[INFO] [stderr] 65 |     pub meta: Option<Meta>
[INFO] [stderr]    |         ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: type alias `Messages` is never used
[INFO] [stderr]   --> src/scenario.rs:84:10
[INFO] [stderr]    |
[INFO] [stderr] 84 | pub type Messages = BTreeMultiMap<PlayerId, HolyMessage>;
[INFO] [stderr]    |          ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: trait `News` is never used
[INFO] [stderr]   --> src/scenario.rs:88:11
[INFO] [stderr]    |
[INFO] [stderr] 88 | pub trait News {
[INFO] [stderr]    |           ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: trait `DeathBallot` is never used
[INFO] [stderr]   --> src/scenario.rs:93:11
[INFO] [stderr]    |
[INFO] [stderr] 93 | pub trait DeathBallot {
[INFO] [stderr]    |           ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: trait `Defendence` is never used
[INFO] [stderr]   --> src/scenario.rs:99:11
[INFO] [stderr]    |
[INFO] [stderr] 99 | pub trait Defendence {
[INFO] [stderr]    |           ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variants `Defend`, `Hang`, `Night`, and `Done` are never constructed
[INFO] [stderr]    --> src/scenario.rs:109:5
[INFO] [stderr]     |
[INFO] [stderr] 107 | pub enum CityState {
[INFO] [stderr]     |          --------- variants in this enum
[INFO] [stderr] 108 |     Debate,
[INFO] [stderr] 109 |     Defend,
[INFO] [stderr]     |     ^^^^^^
[INFO] [stderr] 110 |     Hang,
[INFO] [stderr]     |     ^^^^
[INFO] [stderr] 111 |     Night,
[INFO] [stderr]     |     ^^^^^
[INFO] [stderr] 112 |     Done(State)
[INFO] [stderr]     |     ^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `CityState` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: variants `MafiaWon`, `CityWon`, and `Undecided` are never constructed
[INFO] [stderr]    --> src/scenario.rs:117:5
[INFO] [stderr]     |
[INFO] [stderr] 116 | pub enum State {
[INFO] [stderr]     |          ----- variants in this enum
[INFO] [stderr] 117 |     MafiaWon,
[INFO] [stderr]     |     ^^^^^^^^
[INFO] [stderr] 118 |     CityWon,
[INFO] [stderr]     |     ^^^^^^^
[INFO] [stderr] 119 |     Undecided
[INFO] [stderr]     |     ^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `State` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: variants `Out`, `StateChanged`, and `FakeGun` are never constructed
[INFO] [stderr]    --> src/scenario.rs:124:5
[INFO] [stderr]     |
[INFO] [stderr] 123 | pub enum Declaration {
[INFO] [stderr]     |          ----------- variants in this enum
[INFO] [stderr] 124 |     Out(PlayerId),
[INFO] [stderr]     |     ^^^
[INFO] [stderr] 125 |     StateChanged(CityState),
[INFO] [stderr]     |     ^^^^^^^^^^^^
[INFO] [stderr] 126 |     FakeGun(PlayerId)
[INFO] [stderr]     |     ^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `Declaration` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: methods `day`, `next`, `events`, and `process` are never used
[INFO] [stderr]    --> src/scenario.rs:133:8
[INFO] [stderr]     |
[INFO] [stderr] 131 | pub trait Scenario {
[INFO] [stderr]     |           -------- methods in this trait
[INFO] [stderr] 132 |     fn state(&self) -> CityState;
[INFO] [stderr] 133 |     fn day(&self) -> Day;
[INFO] [stderr]     |        ^^^
[INFO] [stderr] 134 |     fn next(&mut self) -> CityState;
[INFO] [stderr]     |        ^^^^
[INFO] [stderr] 135 |     fn events(&self) -> &Vec<(Day, CityState, Declaration)>;
[INFO] [stderr]     |        ^^^^^^
[INFO] [stderr] 136 |
[INFO] [stderr] 137 |     fn process(&mut self);
[INFO] [stderr]     |        ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: multiple methods are never used
[INFO] [stderr]   --> src/room.rs:7:8
[INFO] [stderr]    |
[INFO] [stderr]  5 | pub trait Room {
[INFO] [stderr]    |           ---- methods in this trait
[INFO] [stderr]  6 |     fn numbers(&self) -> Vec<PlayerId>;
[INFO] [stderr]  7 |     fn has(&self, id: &PlayerId, power: &Power) -> bool;
[INFO] [stderr]    |        ^^^
[INFO] [stderr]  8 |     fn drop_kinks<const N: usize>(&mut self, id: &PlayerId, kinks: [Power; N]);
[INFO] [stderr]    |        ^^^^^^^^^^
[INFO] [stderr]  9 |     fn kinks(&self, id: &PlayerId) -> Vec<Power>;
[INFO] [stderr]    |        ^^^^^
[INFO] [stderr] 10 |     fn total(&self) -> usize;
[INFO] [stderr]    |        ^^^^^
[INFO] [stderr] 11 |     fn count(&self, power: &Power) -> usize;
[INFO] [stderr]    |        ^^^^^
[INFO] [stderr] 12 |     fn remove(&mut self, id: &PlayerId) -> Vec<Power>;
[INFO] [stderr]    |        ^^^^^^
[INFO] [stderr] 13 |     fn messages(&mut self, id: &PlayerId) -> Vec<Pray>;
[INFO] [stderr]    |        ^^^^^^^^
[INFO] [stderr] 14 |     fn by_power(&self, power: &Power) -> Vec<PlayerId>;
[INFO] [stderr]    |        ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: enum `NightAct` is never used
[INFO] [stderr]   --> src/room.rs:18:10
[INFO] [stderr]    |
[INFO] [stderr] 18 | pub enum NightAct {
[INFO] [stderr]    |          ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: type alias `RawSpell` is never used
[INFO] [stderr]   --> src/room.rs:25:10
[INFO] [stderr]    |
[INFO] [stderr] 25 | pub type RawSpell = (PlayerId, Power, NightAct);
[INFO] [stderr]    |          ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: trait `Spells` is never used
[INFO] [stderr]   --> src/room.rs:26:11
[INFO] [stderr]    |
[INFO] [stderr] 26 | pub trait Spells {
[INFO] [stderr]    |           ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: fields `events`, `enquery`, and `day` are never read
[INFO] [stderr]   --> src/games/classic/game.rs:13:5
[INFO] [stderr]    |
[INFO] [stderr] 10 | pub struct Classic {
[INFO] [stderr]    |            ------- fields in this struct
[INFO] [stderr] ...
[INFO] [stderr] 13 |     events: Vec<(Day, CityState, Declaration)>,
[INFO] [stderr]    |     ^^^^^^
[INFO] [stderr] 14 |     enquery: u8,
[INFO] [stderr]    |     ^^^^^^^
[INFO] [stderr] 15 |     day: usize,
[INFO] [stderr]    |     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: multiple methods are never used
[INFO] [stderr]    --> src/games/classic/game.rs:58:8
[INFO] [stderr]     |
[INFO] [stderr]  18 | impl Classic {
[INFO] [stderr]     | ------------ methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr]  58 |     fn enquery(&mut self) -> Option<usize> {
[INFO] [stderr]     |        ^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr]  67 |     fn make_ballot(&self) -> Ballots {
[INFO] [stderr]     |        ^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr]  71 |     fn first_id_by_power(&mut self, power: &Power) -> Option<PlayerId> {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr]  75 |     fn pass_night_kill(&mut self) -> bool {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr]  86 |     fn kick_out(&mut self, id: &PlayerId) -> bool {
[INFO] [stderr]     |        ^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr]  99 |     fn is_it(&self, state: CityState) -> bool {
[INFO] [stderr]     |        ^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 103 |     fn declare(&mut self, s: Declaration) {
[INFO] [stderr]     |        ^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 107 |     fn on_shooting(&mut self, res: ShootingResult) {
[INFO] [stderr]     |        ^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 119 |     fn darkness(&mut self, spells: &impl Spells) -> Result<NightResult, Error> {
[INFO] [stderr]     |        ^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 126 |     fn sunrise(&mut self, n: &impl News) {
[INFO] [stderr]     |        ^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 132 |     fn sunset(&mut self, d: &impl DeathBallot) {
[INFO] [stderr]     |        ^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 140 |     fn defend(&self) -> Option<Ballots> {
[INFO] [stderr]     |        ^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 147 |     fn game_state(&self) -> State {
[INFO] [stderr]     |        ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: enum `DayEvent` is never used
[INFO] [stderr]  --> src/games/classic/play.rs:9:10
[INFO] [stderr]   |
[INFO] [stderr] 9 | pub enum DayEvent {
[INFO] [stderr]   |          ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: enum `KillingStatus` is never used
[INFO] [stderr]   --> src/games/classic/play.rs:14:10
[INFO] [stderr]    |
[INFO] [stderr] 14 | pub enum KillingStatus {
[INFO] [stderr]    |          ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `Play` is never constructed
[INFO] [stderr]   --> src/games/classic/play.rs:21:12
[INFO] [stderr]    |
[INFO] [stderr] 21 | pub struct Play {
[INFO] [stderr]    |            ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: multiple associated items are never used
[INFO] [stderr]    --> src/games/classic/play.rs:26:12
[INFO] [stderr]     |
[INFO] [stderr]  25 | impl Play {
[INFO] [stderr]     | --------- associated items in this implementation
[INFO] [stderr]  26 |     pub fn new() -> Self {
[INFO] [stderr]     |            ^^^
[INFO] [stderr] ...
[INFO] [stderr]  30 |     fn remove_paralyzed_unguarded_spell(room: &impl Room, spells: &mut impl Spells) {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr]  45 |     fn did_hit_mafia(room: &impl Room, commando: PlayerId, target: PlayerId) -> Option<KillingStatus> {
[INFO] [stderr]     |        ^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr]  57 |     fn is_wicked_or_boss_killing(room: &mut impl Room, spells: &impl Spells) -> Option<KillingStatus> {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr]  77 |     fn who_wicked_kills(room:& impl Room, wicked: PlayerId, killee: PlayerId, power: &Power) -> KillingStatus {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr]  85 |     fn get_player_ids(spells: &impl Spells, power: &Power) -> Vec<PlayerId> {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr]  98 |     fn heals(spells: &impl Spells, total: usize, ) -> BTreeSet<PlayerId> {
[INFO] [stderr]     |        ^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 104 |     fn remove_killed_one(room: &mut impl Room, spells: &impl Spells)  -> Result<Option<PlayerId>, Error> {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 127 |     fn detective(room: &impl Room, msgs: &mut Messages, spells: &impl Spells) {
[INFO] [stderr]     |        ^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 138 |     fn gunman(&mut self, spells: &impl Spells) {
[INFO] [stderr]     |        ^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 163 |     pub fn apply_night(&mut self, room: &mut impl Room, mut spells: impl Spells) -> Result<NightResult, Error> {
[INFO] [stderr]     |            ^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 180 |     pub fn shoot(&mut self, room: &mut impl Room, shooter: &PlayerId, on: PlayerId) -> ShootingResult {
[INFO] [stderr]     |            ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `NightResult` is never constructed
[INFO] [stderr]    --> src/games/classic/play.rs:190:12
[INFO] [stderr]     |
[INFO] [stderr] 190 | pub struct NightResult {
[INFO] [stderr]     |            ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `new` is never used
[INFO] [stderr]    --> src/games/classic/play.rs:196:8
[INFO] [stderr]     |
[INFO] [stderr] 195 | impl NightResult {
[INFO] [stderr]     | ---------------- associated function in this implementation
[INFO] [stderr] 196 |     fn new(msgs: Messages, removed: BTreeSet<PlayerId>) -> Self {
[INFO] [stderr]     |        ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `DeathVote` is never constructed
[INFO] [stderr]  --> src/elections/ballot.rs:4:12
[INFO] [stderr]   |
[INFO] [stderr] 4 | pub struct DeathVote {
[INFO] [stderr]   |            ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `new` is never used
[INFO] [stderr]   --> src/elections/ballot.rs:11:8
[INFO] [stderr]    |
[INFO] [stderr] 10 | impl DeathVote {
[INFO] [stderr]    | -------------- associated function in this implementation
[INFO] [stderr] 11 |     fn new(nomonies: BTreeSet<PlayerId>, total: u8) -> Result<DeathVote, Error> {
[INFO] [stderr]    |        ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `Ballots` is never constructed
[INFO] [stderr]   --> src/elections/ballot.rs:65:12
[INFO] [stderr]    |
[INFO] [stderr] 65 | pub struct Ballots {
[INFO] [stderr]    |            ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `new` is never used
[INFO] [stderr]   --> src/elections/ballot.rs:71:12
[INFO] [stderr]    |
[INFO] [stderr] 70 | impl Ballots {
[INFO] [stderr]    | ------------ associated function in this implementation
[INFO] [stderr] 71 |     pub fn new(total: usize) -> Ballots {
[INFO] [stderr]    |            ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: type alias `OracleRef` is never used
[INFO] [stderr]   --> src/waiting.rs:28:10
[INFO] [stderr]    |
[INFO] [stderr] 28 | pub type OracleRef = TwoWayRing<Pray, HolyMessage>;
[INFO] [stderr]    |          ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `opt_out` is never used
[INFO] [stderr]   --> src/waiting.rs:35:8
[INFO] [stderr]    |
[INFO] [stderr] 31 | pub trait WaitingRoom {
[INFO] [stderr]    |           ----------- method in this trait
[INFO] [stderr] ...
[INFO] [stderr] 35 |     fn opt_out(&mut self, id: &PlayerId) -> bool;
[INFO] [stderr]    |        ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: methods `text_to` and `read_all` are never used
[INFO] [stderr]   --> src/in_memory_room.rs:48:8
[INFO] [stderr]    |
[INFO] [stderr] 28 | impl InMemoryRoom {
[INFO] [stderr]    | ----------------- methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 48 |     fn text_to(&mut self, id: &PlayerId, msg: HolyMessage) -> bool {
[INFO] [stderr]    |        ^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 54 |     pub fn read_all(&mut self) -> BTreeMap<PlayerId, Vec<Pray>> {
[INFO] [stderr]    |            ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `read` is never read
[INFO] [stderr]  --> src/oracle.rs:7:5
[INFO] [stderr]   |
[INFO] [stderr] 5 | pub struct TwoWayRing<S, H> {
[INFO] [stderr]   |            ---------- field in this struct
[INFO] [stderr] 6 |     ask: Producer<S>,
[INFO] [stderr] 7 |     read: Consumer<H>,
[INFO] [stderr]   |     ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `read` is never used
[INFO] [stderr]   --> src/oracle.rs:15:12
[INFO] [stderr]    |
[INFO] [stderr] 10 | impl<S, H> TwoWayRing<S, H> {
[INFO] [stderr]    | --------------------------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 15 |     pub fn read(&mut self) -> Option<H> {
[INFO] [stderr]    |            ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: `rmafia` (bin "rmafia" test) generated 45 warnings (run `cargo fix --bin "rmafia" -p rmafia --tests` to apply 9 suggestions)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.11s
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/rmafia-1c3ad63ecd519581)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "31482b50b9c8e15e833559d0c29643b50cfa4137c0f22010e9b9eef4effadd9c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "31482b50b9c8e15e833559d0c29643b50cfa4137c0f22010e9b9eef4effadd9c", kill_on_drop: false }`
[INFO] [stdout] 31482b50b9c8e15e833559d0c29643b50cfa4137c0f22010e9b9eef4effadd9c
