[INFO] cloning repository https://github.com/benj2468/cards [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/benj2468/cards" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fbenj2468%2Fcards", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fbenj2468%2Fcards'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 46cc1eff859e6a969cad231368b2d41683c7240c [INFO] building benj2468/cards against master#11663cd3bfefef7d34e8f0892c250bf698049392+rustflags=-Dtail-expr-drop-order for pr-134523 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fbenj2468%2Fcards" "/workspace/builds/worker-6-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc1/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/benj2468/cards on toolchain 11663cd3bfefef7d34e8f0892c250bf698049392 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+11663cd3bfefef7d34e8f0892c250bf698049392" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/benj2468/cards [INFO] finished tweaking git repo https://github.com/benj2468/cards [INFO] tweaked toml for git repo https://github.com/benj2468/cards written to /workspace/builds/worker-6-tc1/source/Cargo.toml [INFO] crate git repo https://github.com/benj2468/cards 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" "+11663cd3bfefef7d34e8f0892c250bf698049392" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded dialoguer v0.7.1 [INFO] [stderr] Downloaded zeroize v0.9.3 [INFO] [stderr] Downloaded console v0.13.0 [INFO] [stderr] Downloaded terminal_size v0.1.15 [INFO] [stderr] Downloaded rand_core v0.6.0 [INFO] [stderr] Downloaded rand v0.8.0 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/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:f3a9d4ad9d972b27faf3965f35b62e55ba32bbce8f20bc8fe909558a86702fde" "/opt/rustwide/cargo-home/bin/cargo" "+11663cd3bfefef7d34e8f0892c250bf698049392" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 805db6d3c5bdca7ac5ac2c0f32454ea88accac6806e85123753ada22270db45a [INFO] running `Command { std: "docker" "start" "-a" "805db6d3c5bdca7ac5ac2c0f32454ea88accac6806e85123753ada22270db45a", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "805db6d3c5bdca7ac5ac2c0f32454ea88accac6806e85123753ada22270db45a", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "805db6d3c5bdca7ac5ac2c0f32454ea88accac6806e85123753ada22270db45a", kill_on_drop: false }` [INFO] [stdout] 805db6d3c5bdca7ac5ac2c0f32454ea88accac6806e85123753ada22270db45a [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/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 -Dtail-expr-drop-order" "-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:f3a9d4ad9d972b27faf3965f35b62e55ba32bbce8f20bc8fe909558a86702fde" "/opt/rustwide/cargo-home/bin/cargo" "+11663cd3bfefef7d34e8f0892c250bf698049392" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 8f7eaa5db9df7dfe08d5669e37225d356905c98db409363acfaa834871568cf2 [INFO] running `Command { std: "docker" "start" "-a" "8f7eaa5db9df7dfe08d5669e37225d356905c98db409363acfaa834871568cf2", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.81 [INFO] [stderr] Compiling cfg-if v0.1.10 [INFO] [stderr] Compiling getrandom v0.1.15 [INFO] [stderr] Compiling ppv-lite86 v0.2.10 [INFO] [stderr] Compiling getrandom v0.2.0 [INFO] [stderr] Compiling regex-syntax v0.6.21 [INFO] [stderr] Compiling unicode-width v0.1.8 [INFO] [stderr] Compiling lazy_static v1.4.0 [INFO] [stderr] Compiling remove_dir_all v0.5.3 [INFO] [stderr] Compiling zeroize v0.9.3 [INFO] [stderr] Compiling text_io v0.1.8 [INFO] [stderr] Compiling terminal_size v0.1.15 [INFO] [stderr] Compiling rand_core v0.6.0 [INFO] [stderr] Compiling rand_core v0.5.1 [INFO] [stderr] Compiling rand_chacha v0.3.0 [INFO] [stderr] Compiling rand_chacha v0.2.2 [INFO] [stderr] Compiling regex v1.4.2 [INFO] [stderr] Compiling rand v0.7.3 [INFO] [stderr] Compiling rand v0.8.0 [INFO] [stderr] Compiling console v0.13.0 [INFO] [stderr] Compiling tempfile v3.1.0 [INFO] [stderr] Compiling dialoguer v0.7.1 [INFO] [stderr] Compiling cards v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `std::collections::HashMap` [INFO] [stdout] --> src/lib.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | use std::collections::HashMap; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `opposite_suit` [INFO] [stdout] --> src/games/klondike.rs:137:13 [INFO] [stdout] | [INFO] [stdout] 137 | let opposite_suit = if move_card.color() { Suit::Club } else { Suit::Diamond }; [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_opposite_suit` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `e` [INFO] [stdout] --> src/games/klondike.rs:174:17 [INFO] [stdout] | [INFO] [stdout] 174 | Err(e) => return Err(String::from("Unable to make that move")) [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `try_move_aces` is never used [INFO] [stdout] --> src/games/aces_up.rs:97:8 [INFO] [stdout] | [INFO] [stdout] 17 | impl AcesUpGame [INFO] [stdout] | --------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 97 | fn try_move_aces(&mut self) [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new_visible`, `see`, `hide`, and `color` are never used [INFO] [stdout] --> src/games/../utils/deck.rs:43:12 [INFO] [stdout] | [INFO] [stdout] 36 | impl Card { [INFO] [stdout] | --------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 43 | pub fn new_visible(suit: Suit, rank: u8) -> Result { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 61 | pub fn see(mut self) -> Card [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 68 | pub fn hide(mut self) -> Card [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 74 | pub fn color(&self) -> bool [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new_deck`, `deal`, and `top_card` are never used [INFO] [stdout] --> src/games/../utils/deck.rs:114:12 [INFO] [stdout] | [INFO] [stdout] 113 | impl Stack { [INFO] [stdout] | ---------- associated items in this implementation [INFO] [stdout] 114 | pub fn new_deck(with_joker: bool) -> Stack { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 168 | pub fn deal(&mut self, count: usize) -> Vec { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 179 | pub fn top_card(&self) -> Option<&Card> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new_visible`, `is_ace`, and `hide` are never used [INFO] [stdout] --> src/games/../utils/deck.rs:43:12 [INFO] [stdout] | [INFO] [stdout] 36 | impl Card { [INFO] [stdout] | --------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 43 | pub fn new_visible(suit: Suit, rank: u8) -> Result { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 51 | pub fn is_ace(&self) -> bool [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 68 | pub fn hide(mut self) -> Card [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new_deck_reverse` and `deal` are never used [INFO] [stdout] --> src/games/../utils/deck.rs:130:12 [INFO] [stdout] | [INFO] [stdout] 113 | impl Stack { [INFO] [stdout] | ---------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 130 | pub fn new_deck_reverse(with_joker: bool) -> Stack { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 168 | pub fn deal(&mut self, count: usize) -> Vec { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `Game` is never used [INFO] [stdout] --> src/games/game.rs:1:11 [INFO] [stdout] | [INFO] [stdout] 1 | pub trait Game { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MAX_CARD_RANK` is never used [INFO] [stdout] --> src/utils/deck.rs:5:7 [INFO] [stdout] | [INFO] [stdout] 5 | const MAX_CARD_RANK: u8 = 14; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Heart`, `Spade`, `Club`, `Diamond`, and `Joker` are never constructed [INFO] [stdout] --> src/utils/deck.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 8 | pub enum Suit { [INFO] [stdout] | ---- variants in this enum [INFO] [stdout] 9 | Heart, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 10 | Spade, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 11 | Club, [INFO] [stdout] | ^^^^ [INFO] [stdout] 12 | Diamond, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 13 | Joker [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Suit` 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: multiple associated items are never used [INFO] [stdout] --> src/utils/deck.rs:37:12 [INFO] [stdout] | [INFO] [stdout] 36 | impl Card { [INFO] [stdout] | --------- associated items in this implementation [INFO] [stdout] 37 | pub fn new(suit: Suit, rank: u8) -> Result { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 43 | pub fn new_visible(suit: Suit, rank: u8) -> Result { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 51 | pub fn is_ace(&self) -> bool [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 56 | pub fn set_visible(&mut self, new_val: bool) [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 61 | pub fn see(mut self) -> Card [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 68 | pub fn hide(mut self) -> Card [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 74 | pub fn color(&self) -> bool [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Stack` is never constructed [INFO] [stdout] --> src/utils/deck.rs:108:12 [INFO] [stdout] | [INFO] [stdout] 108 | pub struct Stack { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/utils/deck.rs:114:12 [INFO] [stdout] | [INFO] [stdout] 113 | impl Stack { [INFO] [stdout] | ---------- associated items in this implementation [INFO] [stdout] 114 | pub fn new_deck(with_joker: bool) -> Stack { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 130 | pub fn new_deck_reverse(with_joker: bool) -> Stack { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 152 | pub fn shuffle(&mut self) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 156 | pub fn draw(&mut self) -> Card { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 164 | pub fn size(&self) -> usize { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 168 | pub fn deal(&mut self, count: usize) -> Vec { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 179 | pub fn top_card(&self) -> Option<&Card> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/lib.rs:35:21 [INFO] [stdout] | [INFO] [stdout] 35 | select_game(); [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 35 | let _ = select_game(); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 5.78s [INFO] running `Command { std: "docker" "inspect" "8f7eaa5db9df7dfe08d5669e37225d356905c98db409363acfaa834871568cf2", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "8f7eaa5db9df7dfe08d5669e37225d356905c98db409363acfaa834871568cf2", kill_on_drop: false }` [INFO] [stdout] 8f7eaa5db9df7dfe08d5669e37225d356905c98db409363acfaa834871568cf2 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/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 -Dtail-expr-drop-order" "-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:f3a9d4ad9d972b27faf3965f35b62e55ba32bbce8f20bc8fe909558a86702fde" "/opt/rustwide/cargo-home/bin/cargo" "+11663cd3bfefef7d34e8f0892c250bf698049392" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] db4e748d5c1810297d3e64a86f44cc123effea3280c80336d9ef259092ff1016 [INFO] running `Command { std: "docker" "start" "-a" "db4e748d5c1810297d3e64a86f44cc123effea3280c80336d9ef259092ff1016", kill_on_drop: false }` [INFO] [stdout] warning: unused import: `std::collections::HashMap` [INFO] [stdout] --> src/lib.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | use std::collections::HashMap; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `opposite_suit` [INFO] [stdout] --> src/games/klondike.rs:137:13 [INFO] [stdout] | [INFO] [stdout] 137 | let opposite_suit = if move_card.color() { Suit::Club } else { Suit::Diamond }; [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_opposite_suit` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `e` [INFO] [stdout] --> src/games/klondike.rs:174:17 [INFO] [stdout] | [INFO] [stdout] 174 | Err(e) => return Err(String::from("Unable to make that move")) [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `try_move_aces` is never used [INFO] [stdout] --> src/games/aces_up.rs:97:8 [INFO] [stdout] | [INFO] [stdout] 17 | impl AcesUpGame [INFO] [stdout] | --------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 97 | fn try_move_aces(&mut self) [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new_visible`, `see`, `hide`, and `color` are never used [INFO] [stdout] --> src/games/../utils/deck.rs:43:12 [INFO] [stdout] | [INFO] [stdout] 36 | impl Card { [INFO] [stdout] | --------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 43 | pub fn new_visible(suit: Suit, rank: u8) -> Result { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 61 | pub fn see(mut self) -> Card [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 68 | pub fn hide(mut self) -> Card [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 74 | pub fn color(&self) -> bool [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new_deck`, `deal`, and `top_card` are never used [INFO] [stdout] --> src/games/../utils/deck.rs:114:12 [INFO] [stdout] | [INFO] [stdout] 113 | impl Stack { [INFO] [stdout] | ---------- associated items in this implementation [INFO] [stdout] 114 | pub fn new_deck(with_joker: bool) -> Stack { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 168 | pub fn deal(&mut self, count: usize) -> Vec { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 179 | pub fn top_card(&self) -> Option<&Card> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new_visible`, `is_ace`, and `hide` are never used [INFO] [stdout] --> src/games/../utils/deck.rs:43:12 [INFO] [stdout] | [INFO] [stdout] 36 | impl Card { [INFO] [stdout] | --------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 43 | pub fn new_visible(suit: Suit, rank: u8) -> Result { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 51 | pub fn is_ace(&self) -> bool [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 68 | pub fn hide(mut self) -> Card [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Compiling cards v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: associated items `new_deck_reverse` and `deal` are never used [INFO] [stdout] --> src/games/../utils/deck.rs:130:12 [INFO] [stdout] | [INFO] [stdout] 113 | impl Stack { [INFO] [stdout] | ---------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 130 | pub fn new_deck_reverse(with_joker: bool) -> Stack { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 168 | pub fn deal(&mut self, count: usize) -> Vec { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `Game` is never used [INFO] [stdout] --> src/games/game.rs:1:11 [INFO] [stdout] | [INFO] [stdout] 1 | pub trait Game { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MAX_CARD_RANK` is never used [INFO] [stdout] --> src/utils/deck.rs:5:7 [INFO] [stdout] | [INFO] [stdout] 5 | const MAX_CARD_RANK: u8 = 14; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Heart`, `Spade`, `Club`, `Diamond`, and `Joker` are never constructed [INFO] [stdout] --> src/utils/deck.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 8 | pub enum Suit { [INFO] [stdout] | ---- variants in this enum [INFO] [stdout] 9 | Heart, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 10 | Spade, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 11 | Club, [INFO] [stdout] | ^^^^ [INFO] [stdout] 12 | Diamond, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 13 | Joker [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Suit` 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: multiple associated items are never used [INFO] [stdout] --> src/utils/deck.rs:37:12 [INFO] [stdout] | [INFO] [stdout] 36 | impl Card { [INFO] [stdout] | --------- associated items in this implementation [INFO] [stdout] 37 | pub fn new(suit: Suit, rank: u8) -> Result { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 43 | pub fn new_visible(suit: Suit, rank: u8) -> Result { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 51 | pub fn is_ace(&self) -> bool [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 56 | pub fn set_visible(&mut self, new_val: bool) [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 61 | pub fn see(mut self) -> Card [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 68 | pub fn hide(mut self) -> Card [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 74 | pub fn color(&self) -> bool [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Stack` is never constructed [INFO] [stdout] --> src/utils/deck.rs:108:12 [INFO] [stdout] | [INFO] [stdout] 108 | pub struct Stack { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/utils/deck.rs:114:12 [INFO] [stdout] | [INFO] [stdout] 113 | impl Stack { [INFO] [stdout] | ---------- associated items in this implementation [INFO] [stdout] 114 | pub fn new_deck(with_joker: bool) -> Stack { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 130 | pub fn new_deck_reverse(with_joker: bool) -> Stack { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 152 | pub fn shuffle(&mut self) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 156 | pub fn draw(&mut self) -> Card { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 164 | pub fn size(&self) -> usize { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 168 | pub fn deal(&mut self, count: usize) -> Vec { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 179 | pub fn top_card(&self) -> Option<&Card> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/lib.rs:35:21 [INFO] [stdout] | [INFO] [stdout] 35 | select_game(); [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 35 | let _ = select_game(); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections::HashMap` [INFO] [stdout] --> src/lib.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | use std::collections::HashMap; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `opposite_suit` [INFO] [stdout] --> src/games/klondike.rs:137:13 [INFO] [stdout] | [INFO] [stdout] 137 | let opposite_suit = if move_card.color() { Suit::Club } else { Suit::Diamond }; [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_opposite_suit` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `e` [INFO] [stdout] --> src/games/klondike.rs:174:17 [INFO] [stdout] | [INFO] [stdout] 174 | Err(e) => return Err(String::from("Unable to make that move")) [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `try_move_aces` is never used [INFO] [stdout] --> src/games/aces_up.rs:97:8 [INFO] [stdout] | [INFO] [stdout] 17 | impl AcesUpGame [INFO] [stdout] | --------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 97 | fn try_move_aces(&mut self) [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `see`, `hide`, and `color` are never used [INFO] [stdout] --> src/games/../utils/deck.rs:61:12 [INFO] [stdout] | [INFO] [stdout] 36 | impl Card { [INFO] [stdout] | --------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 61 | pub fn see(mut self) -> Card [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 68 | pub fn hide(mut self) -> Card [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 74 | pub fn color(&self) -> bool [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `top_card` is never used [INFO] [stdout] --> src/games/../utils/deck.rs:179:12 [INFO] [stdout] | [INFO] [stdout] 113 | impl Stack { [INFO] [stdout] | ---------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 179 | pub fn top_card(&self) -> Option<&Card> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `new_hidden_card` is never used [INFO] [stdout] --> src/games/../utils/deck.rs:195:8 [INFO] [stdout] | [INFO] [stdout] 195 | fn new_hidden_card() { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `is_ace` and `hide` are never used [INFO] [stdout] --> src/games/../utils/deck.rs:51:12 [INFO] [stdout] | [INFO] [stdout] 36 | impl Card { [INFO] [stdout] | --------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 51 | pub fn is_ace(&self) -> bool [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 68 | pub fn hide(mut self) -> Card [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new_deck_reverse` is never used [INFO] [stdout] --> src/games/../utils/deck.rs:130:12 [INFO] [stdout] | [INFO] [stdout] 113 | impl Stack { [INFO] [stdout] | ---------- associated function in this implementation [INFO] [stdout] ... [INFO] [stdout] 130 | pub fn new_deck_reverse(with_joker: bool) -> Stack { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `Game` is never used [INFO] [stdout] --> src/games/game.rs:1:11 [INFO] [stdout] | [INFO] [stdout] 1 | pub trait Game { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `is_ace`, `set_visible`, `see`, `hide`, and `color` are never used [INFO] [stdout] --> src/utils/deck.rs:51:12 [INFO] [stdout] | [INFO] [stdout] 36 | impl Card { [INFO] [stdout] | --------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 51 | pub fn is_ace(&self) -> bool [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 56 | pub fn set_visible(&mut self, new_val: bool) [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 61 | pub fn see(mut self) -> Card [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 68 | pub fn hide(mut self) -> Card [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 74 | pub fn color(&self) -> bool [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new_deck_reverse` and `top_card` are never used [INFO] [stdout] --> src/utils/deck.rs:130:12 [INFO] [stdout] | [INFO] [stdout] 113 | impl Stack { [INFO] [stdout] | ---------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 130 | pub fn new_deck_reverse(with_joker: bool) -> Stack { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 179 | pub fn top_card(&self) -> Option<&Card> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `new_hidden_card` is never used [INFO] [stdout] --> src/utils/deck.rs:195:8 [INFO] [stdout] | [INFO] [stdout] 195 | fn new_hidden_card() { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/lib.rs:35:21 [INFO] [stdout] | [INFO] [stdout] 35 | select_game(); [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 35 | let _ = select_game(); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.68s [INFO] running `Command { std: "docker" "inspect" "db4e748d5c1810297d3e64a86f44cc123effea3280c80336d9ef259092ff1016", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "db4e748d5c1810297d3e64a86f44cc123effea3280c80336d9ef259092ff1016", kill_on_drop: false }` [INFO] [stdout] db4e748d5c1810297d3e64a86f44cc123effea3280c80336d9ef259092ff1016