[INFO] cloning repository https://github.com/pentergust/maruno
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/pentergust/maruno" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fpentergust%2Fmaruno", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fpentergust%2Fmaruno'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] d197ffa3c4aae65ca500fce6a921ec8945423e33
[INFO] checking pentergust/maruno against try#ed606620234c6b50f2414162c4bbabd5f4a925f3 for pr-147995
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fpentergust%2Fmaruno" "/workspace/builds/worker-6-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/pentergust/maruno
[INFO] finished tweaking git repo https://github.com/pentergust/maruno
[INFO] tweaked toml for git repo https://github.com/pentergust/maruno written to /workspace/builds/worker-6-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/pentergust/maruno on toolchain ed606620234c6b50f2414162c4bbabd5f4a925f3
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+ed606620234c6b50f2414162c4bbabd5f4a925f3" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/pentergust/maruno 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" "+ed606620234c6b50f2414162c4bbabd5f4a925f3" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded is-terminal v0.4.15
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+ed606620234c6b50f2414162c4bbabd5f4a925f3" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 1805749dfc5fc3df31b175f6cde542875493f5a09c6f1687d7b8577b0484da33
[INFO] running `Command { std: "docker" "start" "-a" "1805749dfc5fc3df31b175f6cde542875493f5a09c6f1687d7b8577b0484da33", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "1805749dfc5fc3df31b175f6cde542875493f5a09c6f1687d7b8577b0484da33", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "1805749dfc5fc3df31b175f6cde542875493f5a09c6f1687d7b8577b0484da33", kill_on_drop: false }`
[INFO] [stdout] 1805749dfc5fc3df31b175f6cde542875493f5a09c6f1687d7b8577b0484da33
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+ed606620234c6b50f2414162c4bbabd5f4a925f3" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 32b5f2e7b550b179ad0447f5d4e1750b72dee0a9134870110fb8bbbe329cbdd2
[INFO] running `Command { std: "docker" "start" "-a" "32b5f2e7b550b179ad0447f5d4e1750b72dee0a9134870110fb8bbbe329cbdd2", kill_on_drop: false }`
[INFO] [stderr]    Compiling unicode-ident v1.0.17
[INFO] [stderr]    Compiling getrandom v0.3.1
[INFO] [stderr]    Compiling zerocopy v0.8.20
[INFO] [stderr]     Checking log v0.4.26
[INFO] [stderr]     Checking is-terminal v0.4.15
[INFO] [stderr]    Compiling proc-macro2 v1.0.93
[INFO] [stderr]     Checking env_logger v0.10.2
[INFO] [stderr]     Checking pretty_env_logger v0.5.0
[INFO] [stderr]    Compiling quote v1.0.38
[INFO] [stderr]    Compiling syn v2.0.98
[INFO] [stderr]     Checking rand_core v0.9.1
[INFO] [stderr]    Compiling zerocopy-derive v0.7.35
[INFO] [stderr]     Checking zerocopy v0.7.35
[INFO] [stderr]     Checking ppv-lite86 v0.2.20
[INFO] [stderr]     Checking rand_chacha v0.9.0
[INFO] [stderr]     Checking rand v0.9.0
[INFO] [stderr]     Checking maruno v1.9.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused variable: `count`
[INFO] [stdout]    --> src/game.rs:125:32
[INFO] [stdout]     |
[INFO] [stdout] 125 |     pub fn skip_players(&self, count: usize) {
[INFO] [stdout]     |                                ^^^^^ help: if this is intentional, prefix it with an underscore: `_count`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `count`
[INFO] [stdout]    --> src/game.rs:137:41
[INFO] [stdout]     |
[INFO] [stdout] 137 |     pub fn increase_take_counter(&self, count: usize) {
[INFO] [stdout]     |                                         ^^^^^ help: if this is intentional, prefix it with an underscore: `_count`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `count`
[INFO] [stdout]    --> src/game.rs:125:32
[INFO] [stdout]     |
[INFO] [stdout] 125 |     pub fn skip_players(&self, count: usize) {
[INFO] [stdout]     |                                ^^^^^ help: if this is intentional, prefix it with an underscore: `_count`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `count`
[INFO] [stdout]    --> src/game.rs:137:41
[INFO] [stdout]     |
[INFO] [stdout] 137 |     pub fn increase_take_counter(&self, count: usize) {
[INFO] [stdout]     |                                         ^^^^^ help: if this is intentional, prefix it with an underscore: `_count`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Wild` is never constructed
[INFO] [stdout]   --> src/card.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub enum CardColor {
[INFO] [stdout]    |          --------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 17 |     Wild,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `CardColor` has derived impls for the traits `Clone` and `Debug`, but these are 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: function `select_color` is never used
[INFO] [stdout]   --> src/card.rs:20:4
[INFO] [stdout]    |
[INFO] [stdout] 20 | fn select_color<H: EventHandler>(game: &mut Game<H>) -> Option<CardColor> {
[INFO] [stdout]    |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SortedCards` is never constructed
[INFO] [stdout]   --> src/card.rs:68:12
[INFO] [stdout]    |
[INFO] [stdout] 68 | pub struct SortedCards<'a> {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/card.rs:86:12
[INFO] [stdout]     |
[INFO] [stdout]  82 | impl UnoCard {
[INFO] [stdout]     | ------------ associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  86 |     pub fn new(color: CardColor, card_type: CardType, value: usize, cost: usize) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 160 |     pub fn color(&self) -> &CardColor {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 164 |     pub fn value(&self) -> usize {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 168 |     pub fn cost(&self) -> usize {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 189 |     pub fn get_cover_cards<'a>(&self, cards: &'a Vec<UnoCard>) -> SortedCards<'a> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 209 |     pub fn to_str(&self) -> String {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 236 |     pub fn from_str(card_str: String) -> Option<Self> {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 278 |     pub fn use_card<H: EventHandler>(&mut self, game: &mut Game<H>) {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `used` is never read
[INFO] [stdout]   --> src/deck.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub struct Deck {
[INFO] [stdout]    |            ---- field in this struct
[INFO] [stdout] 13 |     cards: VecDeque<UnoCard>,
[INFO] [stdout] 14 |     used: Vec<UnoCard>,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Deck` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/deck.rs:88:12
[INFO] [stdout]     |
[INFO] [stdout]  29 | impl Deck {
[INFO] [stdout]     | --------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  88 |     pub fn fill_wild() -> Self {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 127 |     pub fn fill_debug() -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 166 |     fn prepare_used(&mut self) {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 173 |     pub fn push(&mut self, card: UnoCard) {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 178 |     pub fn push_top(&mut self, card: UnoCard) {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 184 |     pub fn pop(&mut self) -> Option<UnoCard> {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 190 |     pub fn take(&mut self, take: usize) -> Option<Vec<UnoCard>> {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `End` and `Update` are never constructed
[INFO] [stdout]   --> src/events.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub enum SessionEvent {
[INFO] [stdout]    |          ------------ variants in this enum
[INFO] [stdout] 17 |     Start,
[INFO] [stdout] 18 |     End,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] ...
[INFO] [stdout] 21 |     Update,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `SessionEvent` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple variants are never constructed
[INFO] [stdout]   --> src/events.rs:45:5
[INFO] [stdout]    |
[INFO] [stdout] 44 | pub enum GameEvent<'g> {
[INFO] [stdout]    |          --------- variants in this enum
[INFO] [stdout] 45 |     Start,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 46 |     End,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 47 |     Join,
[INFO] [stdout] 48 |     Leave,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 49 |     Next(isize),
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 50 |     Take(isize),
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 51 |     Shot,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 52 |     Bluff(bool),
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 53 |     SelectColor(&'g CardColor),
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 54 |     SelectPlayer(&'g Player),
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 55 |     Push(&'g UnoCard),
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 56 |     Reverse,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 57 |     Turn,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 58 |     Rotate,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 59 |     Intervention,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 60 |     Uno,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 61 |     State(&'g GameState),
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `GameEvent` 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 `0` is never read
[INFO] [stdout]   --> src/events.rs:69:13
[INFO] [stdout]    |
[INFO] [stdout] 69 |     Session(SessionEvent),
[INFO] [stdout]    |     ------- ^^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `EventType` has a derived impl for the trait `Debug`, 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] 69 -     Session(SessionEvent),
[INFO] [stdout] 69 +     Session(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/events.rs:70:10
[INFO] [stdout]    |
[INFO] [stdout] 70 |     Game(GameEvent<'g>),
[INFO] [stdout]    |     ---- ^^^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `EventType` has a derived impl for the trait `Debug`, 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] 70 -     Game(GameEvent<'g>),
[INFO] [stdout] 70 +     Game(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `game` is never read
[INFO] [stdout]   --> src/events.rs:82:5
[INFO] [stdout]    |
[INFO] [stdout] 79 | pub struct Event<'g, H: EventHandler> {
[INFO] [stdout]    |            ----- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 82 |     game: &'g Game<'g, H>,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Event` 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 `room_id` is never read
[INFO] [stdout]    --> src/events.rs:111:5
[INFO] [stdout]     |
[INFO] [stdout] 110 | pub struct EventDispatcher<'g, H: EventHandler> {
[INFO] [stdout]     |            --------------- field in this struct
[INFO] [stdout] 111 |     room_id: &'g String,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `EventDispatcher` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `ChooseColor`, `SelectPlayer`, `Shotgun`, and `Continue` are never constructed
[INFO] [stdout]   --> src/game.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub enum GameState {
[INFO] [stdout]    |          --------- variants in this enum
[INFO] [stdout] 25 |     Next,
[INFO] [stdout] 26 |     ChooseColor,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 27 |     SelectPlayer,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 28 |     Shotgun,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 29 |     Continue,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `GameState` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `room_id`, `rules`, and `reverse` are never read
[INFO] [stdout]   --> src/game.rs:45:5
[INFO] [stdout]    |
[INFO] [stdout] 44 | pub struct Game<'g, H: EventHandler> {
[INFO] [stdout]    |            ---- fields in this struct
[INFO] [stdout] 45 |     room_id: &'g String,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 46 |     state: GameState,
[INFO] [stdout] 47 |     rules: GameRules,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 52 |     reverse: bool,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Game` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> src/game.rs:87:12
[INFO] [stdout]     |
[INFO] [stdout]  57 | impl<'g, H: EventHandler> Game<'g, H> {
[INFO] [stdout]     | ------------------------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  87 |     pub fn set_state(&mut self, state: GameState) {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  92 |     pub fn get_rules(&self) -> &GameRules {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  96 |     pub fn get_room(&self) -> &String {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 104 |     pub fn edit_deck(&mut self) -> &mut Deck {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 116 |     pub fn reverse(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 125 |     pub fn skip_players(&self, count: usize) {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 129 |     pub fn next_player(&self) {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 133 |     pub fn reverse_turn(&self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 137 |     pub fn increase_take_counter(&self, count: usize) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 164 |     pub fn next_turn(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 175 |     pub fn player(&self, username: &str) -> Option<&Player> {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 185 |     pub fn player_mut(&mut self, username: &str) -> Option<&mut Player> {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `name`, `status`, and `key` are never read
[INFO] [stdout]   --> src/game/rules.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  8 | pub struct RuleConfig {
[INFO] [stdout]    |            ---------- fields in this struct
[INFO] [stdout]  9 |     name: String,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 10 |     status: bool,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 11 |     key: String,
[INFO] [stdout]    |     ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `RuleConfig` 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: associated items `new` and `toggle` are never used
[INFO] [stdout]   --> src/game/rules.rs:16:8
[INFO] [stdout]    |
[INFO] [stdout] 14 | impl RuleConfig {
[INFO] [stdout]    | --------------- associated items in this implementation
[INFO] [stdout] 15 |     /// Собирает новое правило.
[INFO] [stdout] 16 |     fn new(name: String, status: bool, key: String) -> Self {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 21 |     fn toggle(&mut self) {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `rules` is never read
[INFO] [stdout]   --> src/game/rules.rs:29:5
[INFO] [stdout]    |
[INFO] [stdout] 28 | pub struct GameRules {
[INFO] [stdout]    |            --------- field in this struct
[INFO] [stdout] 29 |     rules: Vec<RuleConfig>,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `GameRules` 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: method `status` is never used
[INFO] [stdout]    --> src/game/rules.rs:110:12
[INFO] [stdout]     |
[INFO] [stdout]  32 | impl GameRules {
[INFO] [stdout]     | -------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 110 |     pub fn status(&self, rule_key: &str) -> bool {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `hand`, `bluffing`, and `shotgun` are never read
[INFO] [stdout]   --> src/player.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub struct Player {
[INFO] [stdout]    |            ------ fields in this struct
[INFO] [stdout] 16 |     user: BaseUser,
[INFO] [stdout] 17 |     hand: Vec<UnoCard>,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 18 |     bluffing: bool,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 19 |     shotgun: Shotgun,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Player` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `push_event`, `current`, `name`, `leave`, and `twist_hand` are never used
[INFO] [stdout]   --> src/player.rs:38:12
[INFO] [stdout]    |
[INFO] [stdout] 22 | impl Player {
[INFO] [stdout]    | ----------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 38 |     pub fn push_event<H: EventHandler>(&self, game: &Game<H>, event_type: EventType) {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 45 |     pub fn current<H: EventHandler>(&self, game: &Game<H>) -> bool {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 50 |     pub fn name(&self) -> &str {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 63 |     pub fn leave<H: EventHandler>(&mut self, game: &mut Game<H>) {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 79 |     pub fn twist_hand<H: EventHandler>(&mut self, game: &mut Game<H>, other_player: &mut Player) {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `player` and `player_mut` are never used
[INFO] [stdout]    --> src/session.rs:136:12
[INFO] [stdout]     |
[INFO] [stdout]  22 | impl<'g, H: EventHandler> SessionManager<'g, H> {
[INFO] [stdout]     | ----------------------------------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 136 |     pub fn player(&self, username: &String) -> Option<&Player> {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 145 |     pub fn player_mut(&mut self, username: &String) -> Option<&mut Player> {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `reset` is never used
[INFO] [stdout]   --> src/shotgun.rs:23:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | impl Shotgun {
[INFO] [stdout]    | ------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 23 |     pub fn reset(&mut self) {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `name` is never read
[INFO] [stdout]  --> src/user.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub(crate) struct BaseUser {
[INFO] [stdout]   |                   -------- field in this struct
[INFO] [stdout] 7 |     username: String,
[INFO] [stdout] 8 |     name: String,
[INFO] [stdout]   |     ^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `BaseUser` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_name` is never used
[INFO] [stdout]   --> src/user.rs:20:19
[INFO] [stdout]    |
[INFO] [stdout] 11 | impl BaseUser {
[INFO] [stdout]    | ------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 20 |     pub(crate) fn get_name(&self) -> &String {
[INFO] [stdout]    |                   ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Wild` is never constructed
[INFO] [stdout]   --> src/card.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub enum CardColor {
[INFO] [stdout]    |          --------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 17 |     Wild,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `CardColor` has derived impls for the traits `Clone` and `Debug`, but these are 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: function `select_color` is never used
[INFO] [stdout]   --> src/card.rs:20:4
[INFO] [stdout]    |
[INFO] [stdout] 20 | fn select_color<H: EventHandler>(game: &mut Game<H>) -> Option<CardColor> {
[INFO] [stdout]    |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SortedCards` is never constructed
[INFO] [stdout]   --> src/card.rs:68:12
[INFO] [stdout]    |
[INFO] [stdout] 68 | pub struct SortedCards<'a> {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/card.rs:86:12
[INFO] [stdout]     |
[INFO] [stdout]  82 | impl UnoCard {
[INFO] [stdout]     | ------------ associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  86 |     pub fn new(color: CardColor, card_type: CardType, value: usize, cost: usize) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 160 |     pub fn color(&self) -> &CardColor {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 164 |     pub fn value(&self) -> usize {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 168 |     pub fn cost(&self) -> usize {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 189 |     pub fn get_cover_cards<'a>(&self, cards: &'a Vec<UnoCard>) -> SortedCards<'a> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 209 |     pub fn to_str(&self) -> String {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 236 |     pub fn from_str(card_str: String) -> Option<Self> {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 278 |     pub fn use_card<H: EventHandler>(&mut self, game: &mut Game<H>) {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `used` is never read
[INFO] [stdout]   --> src/deck.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub struct Deck {
[INFO] [stdout]    |            ---- field in this struct
[INFO] [stdout] 13 |     cards: VecDeque<UnoCard>,
[INFO] [stdout] 14 |     used: Vec<UnoCard>,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Deck` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/deck.rs:88:12
[INFO] [stdout]     |
[INFO] [stdout]  29 | impl Deck {
[INFO] [stdout]     | --------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  88 |     pub fn fill_wild() -> Self {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 127 |     pub fn fill_debug() -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 166 |     fn prepare_used(&mut self) {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 173 |     pub fn push(&mut self, card: UnoCard) {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 178 |     pub fn push_top(&mut self, card: UnoCard) {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 184 |     pub fn pop(&mut self) -> Option<UnoCard> {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 190 |     pub fn take(&mut self, take: usize) -> Option<Vec<UnoCard>> {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `End` and `Update` are never constructed
[INFO] [stdout]   --> src/events.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub enum SessionEvent {
[INFO] [stdout]    |          ------------ variants in this enum
[INFO] [stdout] 17 |     Start,
[INFO] [stdout] 18 |     End,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] ...
[INFO] [stdout] 21 |     Update,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `SessionEvent` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple variants are never constructed
[INFO] [stdout]   --> src/events.rs:45:5
[INFO] [stdout]    |
[INFO] [stdout] 44 | pub enum GameEvent<'g> {
[INFO] [stdout]    |          --------- variants in this enum
[INFO] [stdout] 45 |     Start,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 46 |     End,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 47 |     Join,
[INFO] [stdout] 48 |     Leave,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 49 |     Next(isize),
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 50 |     Take(isize),
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 51 |     Shot,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 52 |     Bluff(bool),
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 53 |     SelectColor(&'g CardColor),
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 54 |     SelectPlayer(&'g Player),
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 55 |     Push(&'g UnoCard),
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 56 |     Reverse,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 57 |     Turn,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 58 |     Rotate,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 59 |     Intervention,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 60 |     Uno,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 61 |     State(&'g GameState),
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `GameEvent` 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 `0` is never read
[INFO] [stdout]   --> src/events.rs:69:13
[INFO] [stdout]    |
[INFO] [stdout] 69 |     Session(SessionEvent),
[INFO] [stdout]    |     ------- ^^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `EventType` has a derived impl for the trait `Debug`, 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] 69 -     Session(SessionEvent),
[INFO] [stdout] 69 +     Session(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/events.rs:70:10
[INFO] [stdout]    |
[INFO] [stdout] 70 |     Game(GameEvent<'g>),
[INFO] [stdout]    |     ---- ^^^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `EventType` has a derived impl for the trait `Debug`, 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] 70 -     Game(GameEvent<'g>),
[INFO] [stdout] 70 +     Game(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `game` is never read
[INFO] [stdout]   --> src/events.rs:82:5
[INFO] [stdout]    |
[INFO] [stdout] 79 | pub struct Event<'g, H: EventHandler> {
[INFO] [stdout]    |            ----- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 82 |     game: &'g Game<'g, H>,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Event` 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 `room_id` is never read
[INFO] [stdout]    --> src/events.rs:111:5
[INFO] [stdout]     |
[INFO] [stdout] 110 | pub struct EventDispatcher<'g, H: EventHandler> {
[INFO] [stdout]     |            --------------- field in this struct
[INFO] [stdout] 111 |     room_id: &'g String,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `EventDispatcher` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `ChooseColor`, `SelectPlayer`, `Shotgun`, and `Continue` are never constructed
[INFO] [stdout]   --> src/game.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub enum GameState {
[INFO] [stdout]    |          --------- variants in this enum
[INFO] [stdout] 25 |     Next,
[INFO] [stdout] 26 |     ChooseColor,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 27 |     SelectPlayer,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 28 |     Shotgun,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 29 |     Continue,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `GameState` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `room_id`, `rules`, and `reverse` are never read
[INFO] [stdout]   --> src/game.rs:45:5
[INFO] [stdout]    |
[INFO] [stdout] 44 | pub struct Game<'g, H: EventHandler> {
[INFO] [stdout]    |            ---- fields in this struct
[INFO] [stdout] 45 |     room_id: &'g String,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 46 |     state: GameState,
[INFO] [stdout] 47 |     rules: GameRules,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 52 |     reverse: bool,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Game` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> src/game.rs:87:12
[INFO] [stdout]     |
[INFO] [stdout]  57 | impl<'g, H: EventHandler> Game<'g, H> {
[INFO] [stdout]     | ------------------------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  87 |     pub fn set_state(&mut self, state: GameState) {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  92 |     pub fn get_rules(&self) -> &GameRules {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  96 |     pub fn get_room(&self) -> &String {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 104 |     pub fn edit_deck(&mut self) -> &mut Deck {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 116 |     pub fn reverse(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 125 |     pub fn skip_players(&self, count: usize) {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 129 |     pub fn next_player(&self) {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 133 |     pub fn reverse_turn(&self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 137 |     pub fn increase_take_counter(&self, count: usize) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 164 |     pub fn next_turn(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 175 |     pub fn player(&self, username: &str) -> Option<&Player> {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 185 |     pub fn player_mut(&mut self, username: &str) -> Option<&mut Player> {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `name`, `status`, and `key` are never read
[INFO] [stdout]   --> src/game/rules.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  8 | pub struct RuleConfig {
[INFO] [stdout]    |            ---------- fields in this struct
[INFO] [stdout]  9 |     name: String,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 10 |     status: bool,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 11 |     key: String,
[INFO] [stdout]    |     ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `RuleConfig` 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: associated items `new` and `toggle` are never used
[INFO] [stdout]   --> src/game/rules.rs:16:8
[INFO] [stdout]    |
[INFO] [stdout] 14 | impl RuleConfig {
[INFO] [stdout]    | --------------- associated items in this implementation
[INFO] [stdout] 15 |     /// Собирает новое правило.
[INFO] [stdout] 16 |     fn new(name: String, status: bool, key: String) -> Self {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 21 |     fn toggle(&mut self) {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `rules` is never read
[INFO] [stdout]   --> src/game/rules.rs:29:5
[INFO] [stdout]    |
[INFO] [stdout] 28 | pub struct GameRules {
[INFO] [stdout]    |            --------- field in this struct
[INFO] [stdout] 29 |     rules: Vec<RuleConfig>,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `GameRules` 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: method `status` is never used
[INFO] [stdout]    --> src/game/rules.rs:110:12
[INFO] [stdout]     |
[INFO] [stdout]  32 | impl GameRules {
[INFO] [stdout]     | -------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 110 |     pub fn status(&self, rule_key: &str) -> bool {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `hand`, `bluffing`, and `shotgun` are never read
[INFO] [stdout]   --> src/player.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub struct Player {
[INFO] [stdout]    |            ------ fields in this struct
[INFO] [stdout] 16 |     user: BaseUser,
[INFO] [stdout] 17 |     hand: Vec<UnoCard>,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 18 |     bluffing: bool,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 19 |     shotgun: Shotgun,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Player` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `push_event`, `current`, `name`, `leave`, and `twist_hand` are never used
[INFO] [stdout]   --> src/player.rs:38:12
[INFO] [stdout]    |
[INFO] [stdout] 22 | impl Player {
[INFO] [stdout]    | ----------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 38 |     pub fn push_event<H: EventHandler>(&self, game: &Game<H>, event_type: EventType) {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 45 |     pub fn current<H: EventHandler>(&self, game: &Game<H>) -> bool {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 50 |     pub fn name(&self) -> &str {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 63 |     pub fn leave<H: EventHandler>(&mut self, game: &mut Game<H>) {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 79 |     pub fn twist_hand<H: EventHandler>(&mut self, game: &mut Game<H>, other_player: &mut Player) {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `player` and `player_mut` are never used
[INFO] [stdout]    --> src/session.rs:136:12
[INFO] [stdout]     |
[INFO] [stdout]  22 | impl<'g, H: EventHandler> SessionManager<'g, H> {
[INFO] [stdout]     | ----------------------------------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 136 |     pub fn player(&self, username: &String) -> Option<&Player> {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 145 |     pub fn player_mut(&mut self, username: &String) -> Option<&mut Player> {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `reset` is never used
[INFO] [stdout]   --> src/shotgun.rs:23:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | impl Shotgun {
[INFO] [stdout]    | ------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 23 |     pub fn reset(&mut self) {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `name` is never read
[INFO] [stdout]  --> src/user.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub(crate) struct BaseUser {
[INFO] [stdout]   |                   -------- field in this struct
[INFO] [stdout] 7 |     username: String,
[INFO] [stdout] 8 |     name: String,
[INFO] [stdout]   |     ^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `BaseUser` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_name` is never used
[INFO] [stdout]   --> src/user.rs:20:19
[INFO] [stdout]    |
[INFO] [stdout] 11 | impl BaseUser {
[INFO] [stdout]    | ------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 20 |     pub(crate) fn get_name(&self) -> &String {
[INFO] [stdout]    |                   ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 7.26s
[INFO] running `Command { std: "docker" "inspect" "32b5f2e7b550b179ad0447f5d4e1750b72dee0a9134870110fb8bbbe329cbdd2", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "32b5f2e7b550b179ad0447f5d4e1750b72dee0a9134870110fb8bbbe329cbdd2", kill_on_drop: false }`
[INFO] [stdout] 32b5f2e7b550b179ad0447f5d4e1750b72dee0a9134870110fb8bbbe329cbdd2
