[INFO] fetching crate crabtype 1.0.0... [INFO] checking crabtype-1.0.0 against try#4f260f0f20b3133d20cfb50353c0221943af5796+rustflags=-Dunmustuse_in_always_ok for pr-148577 [INFO] extracting crate crabtype 1.0.0 into /workspace/builds/worker-4-tc2/source [INFO] started tweaking crates.io crate crabtype 1.0.0 [INFO] finished tweaking crates.io crate crabtype 1.0.0 [INFO] tweaked toml for crates.io crate crabtype 1.0.0 written to /workspace/builds/worker-4-tc2/source/Cargo.toml [INFO] validating manifest of crates.io crate crabtype 1.0.0 on toolchain 4f260f0f20b3133d20cfb50353c0221943af5796 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+4f260f0f20b3133d20cfb50353c0221943af5796" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate crates.io crate crabtype 1.0.0 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" "+4f260f0f20b3133d20cfb50353c0221943af5796" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024 [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+4f260f0f20b3133d20cfb50353c0221943af5796" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 6ea67117308b70a04994f57fc8029a1bd72f9ed0118effd4b31014af7f7f32db [INFO] running `Command { std: "docker" "start" "-a" "6ea67117308b70a04994f57fc8029a1bd72f9ed0118effd4b31014af7f7f32db", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "6ea67117308b70a04994f57fc8029a1bd72f9ed0118effd4b31014af7f7f32db", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "6ea67117308b70a04994f57fc8029a1bd72f9ed0118effd4b31014af7f7f32db", kill_on_drop: false }` [INFO] [stdout] 6ea67117308b70a04994f57fc8029a1bd72f9ed0118effd4b31014af7f7f32db [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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 -Dunmustuse_in_always_ok" "-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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+4f260f0f20b3133d20cfb50353c0221943af5796" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 77d60f5c90b9f3bfbc39425abb4ccae23e3a865f1473174f7fb34578aea6f935 [INFO] running `Command { std: "docker" "start" "-a" "77d60f5c90b9f3bfbc39425abb4ccae23e3a865f1473174f7fb34578aea6f935", kill_on_drop: false }` [INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024 [INFO] [stderr] Compiling syn v2.0.60 [INFO] [stderr] Compiling rustversion v1.0.15 [INFO] [stderr] Checking zerocopy v0.7.33 [INFO] [stderr] Checking once_cell v1.19.0 [INFO] [stderr] Compiling serde v1.0.200 [INFO] [stderr] Checking mio v0.8.11 [INFO] [stderr] Checking winnow v0.6.8 [INFO] [stderr] Checking signal-hook v0.3.17 [INFO] [stderr] Checking bitflags v2.5.0 [INFO] [stderr] Checking either v1.11.0 [INFO] [stderr] Compiling indoc v2.0.5 [INFO] [stderr] Checking parking_lot v0.12.2 [INFO] [stderr] Checking unicode-width v0.1.12 [INFO] [stderr] Checking itertools v0.12.1 [INFO] [stderr] Checking ahash v0.8.11 [INFO] [stderr] Checking signal-hook-mio v0.2.3 [INFO] [stderr] Checking crossterm v0.27.0 [INFO] [stderr] Checking hashbrown v0.14.5 [INFO] [stderr] Checking castaway v0.2.2 [INFO] [stderr] Checking compact_str v0.7.1 [INFO] [stderr] Checking indexmap v2.2.6 [INFO] [stderr] Checking lru v0.12.3 [INFO] [stderr] Compiling serde_derive v1.0.200 [INFO] [stderr] Compiling strum_macros v0.26.2 [INFO] [stderr] Compiling stability v0.2.0 [INFO] [stderr] Checking strum v0.26.2 [INFO] [stderr] Checking ratatui v0.26.2 [INFO] [stderr] Checking toml_datetime v0.6.5 [INFO] [stderr] Checking serde_spanned v0.6.5 [INFO] [stderr] Checking toml_edit v0.22.12 [INFO] [stderr] Checking toml v0.8.12 [INFO] [stderr] Checking crabtype v1.0.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused imports: `Args`, `Path`, and `convert::TryFrom` [INFO] [stdout] --> src/main.rs:6:11 [INFO] [stdout] | [INFO] [stdout] 6 | use std::{convert::TryFrom, env::{self, Args}, io::stdout, path::{Path, PathBuf}, str::FromStr}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ ^^^^ ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around type [INFO] [stdout] --> src/game.rs:15:70 [INFO] [stdout] | [INFO] [stdout] 15 | fn handle_event<'a>(self: Box, event: Event) -> Option> where Self: 'a; [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 15 - fn handle_event<'a>(self: Box, event: Event) -> Option> where Self: 'a; [INFO] [stdout] 15 + fn handle_event<'a>(self: Box, event: Event) -> Option> where Self: 'a; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around type [INFO] [stdout] --> src/game.rs:19:75 [INFO] [stdout] | [INFO] [stdout] 19 | fn handle_key<'a>(self: Box, key_event: KeyEvent) -> Option> where Self: 'a; [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 19 - fn handle_key<'a>(self: Box, key_event: KeyEvent) -> Option> where Self: 'a; [INFO] [stdout] 19 + fn handle_key<'a>(self: Box, key_event: KeyEvent) -> Option> where Self: 'a; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around type [INFO] [stdout] --> src/game.rs:23:74 [INFO] [stdout] | [INFO] [stdout] 23 | fn handle_event<'a>(mut self: Box, event: Event) -> Option> where Self: 'a { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 23 - fn handle_event<'a>(mut self: Box, event: Event) -> Option> where Self: 'a { [INFO] [stdout] 23 + fn handle_event<'a>(mut self: Box, event: Event) -> Option> where Self: 'a { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::path::Path` [INFO] [stdout] --> src/round.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::path::Path; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around type [INFO] [stdout] --> src/round.rs:56:79 [INFO] [stdout] | [INFO] [stdout] 56 | fn handle_key<'b>(mut self: Box, key_event: KeyEvent) -> Option> where Self: 'b { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 56 - fn handle_key<'b>(mut self: Box, key_event: KeyEvent) -> Option> where Self: 'b { [INFO] [stdout] 56 + fn handle_key<'b>(mut self: Box, key_event: KeyEvent) -> Option> where Self: 'b { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::any::Any` [INFO] [stdout] --> src/end.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::any::Any; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Stat` [INFO] [stdout] --> src/end.rs:8:48 [INFO] [stdout] | [INFO] [stdout] 8 | use crate::game::{Game, HandleKeyEvent, Stage, Stat}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around type [INFO] [stdout] --> src/end.rs:16:79 [INFO] [stdout] | [INFO] [stdout] 16 | fn handle_key<'b>(mut self: Box, key_event: KeyEvent) -> Option> where Self: 'b { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 16 - fn handle_key<'b>(mut self: Box, key_event: KeyEvent) -> Option> where Self: 'b { [INFO] [stdout] 16 + fn handle_key<'b>(mut self: Box, key_event: KeyEvent) -> Option> where Self: 'b { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/end.rs:28:24 [INFO] [stdout] | [INFO] [stdout] 28 | let color = if (self.failed_to_save) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 28 - let color = if (self.failed_to_save) { [INFO] [stdout] 28 + let color = if self.failed_to_save { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Args`, `Path`, and `convert::TryFrom` [INFO] [stdout] --> src/main.rs:6:11 [INFO] [stdout] | [INFO] [stdout] 6 | use std::{convert::TryFrom, env::{self, Args}, io::stdout, path::{Path, PathBuf}, str::FromStr}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ ^^^^ ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around type [INFO] [stdout] --> src/game.rs:15:70 [INFO] [stdout] | [INFO] [stdout] 15 | fn handle_event<'a>(self: Box, event: Event) -> Option> where Self: 'a; [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 15 - fn handle_event<'a>(self: Box, event: Event) -> Option> where Self: 'a; [INFO] [stdout] 15 + fn handle_event<'a>(self: Box, event: Event) -> Option> where Self: 'a; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around type [INFO] [stdout] --> src/game.rs:19:75 [INFO] [stdout] | [INFO] [stdout] 19 | fn handle_key<'a>(self: Box, key_event: KeyEvent) -> Option> where Self: 'a; [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 19 - fn handle_key<'a>(self: Box, key_event: KeyEvent) -> Option> where Self: 'a; [INFO] [stdout] 19 + fn handle_key<'a>(self: Box, key_event: KeyEvent) -> Option> where Self: 'a; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around type [INFO] [stdout] --> src/game.rs:23:74 [INFO] [stdout] | [INFO] [stdout] 23 | fn handle_event<'a>(mut self: Box, event: Event) -> Option> where Self: 'a { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 23 - fn handle_event<'a>(mut self: Box, event: Event) -> Option> where Self: 'a { [INFO] [stdout] 23 + fn handle_event<'a>(mut self: Box, event: Event) -> Option> where Self: 'a { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::path::Path` [INFO] [stdout] --> src/round.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::path::Path; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around type [INFO] [stdout] --> src/round.rs:56:79 [INFO] [stdout] | [INFO] [stdout] 56 | fn handle_key<'b>(mut self: Box, key_event: KeyEvent) -> Option> where Self: 'b { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 56 - fn handle_key<'b>(mut self: Box, key_event: KeyEvent) -> Option> where Self: 'b { [INFO] [stdout] 56 + fn handle_key<'b>(mut self: Box, key_event: KeyEvent) -> Option> where Self: 'b { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::any::Any` [INFO] [stdout] --> src/end.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::any::Any; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Stat` [INFO] [stdout] --> src/end.rs:8:48 [INFO] [stdout] | [INFO] [stdout] 8 | use crate::game::{Game, HandleKeyEvent, Stage, Stat}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around type [INFO] [stdout] --> src/end.rs:16:79 [INFO] [stdout] | [INFO] [stdout] 16 | fn handle_key<'b>(mut self: Box, key_event: KeyEvent) -> Option> where Self: 'b { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 16 - fn handle_key<'b>(mut self: Box, key_event: KeyEvent) -> Option> where Self: 'b { [INFO] [stdout] 16 + fn handle_key<'b>(mut self: Box, key_event: KeyEvent) -> Option> where Self: 'b { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/end.rs:28:24 [INFO] [stdout] | [INFO] [stdout] 28 | let color = if (self.failed_to_save) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 28 - let color = if (self.failed_to_save) { [INFO] [stdout] 28 + let color = if self.failed_to_save { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `HandleEvent` [INFO] [stdout] --> src/terminal.rs:5:19 [INFO] [stdout] | [INFO] [stdout] 5 | use crate::game::{HandleEvent, Stage}; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/game.rs:23:25 [INFO] [stdout] | [INFO] [stdout] 23 | fn handle_event<'a>(mut self: Box, event: Event) -> Option> where Self: 'a { [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `HandleEvent` [INFO] [stdout] --> src/terminal.rs:5:19 [INFO] [stdout] | [INFO] [stdout] 5 | use crate::game::{HandleEvent, Stage}; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/game.rs:23:25 [INFO] [stdout] | [INFO] [stdout] 23 | fn handle_event<'a>(mut self: Box, event: Event) -> Option> where Self: 'a { [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/terminal.rs:40:16 [INFO] [stdout] | [INFO] [stdout] 40 | pub fn new(mut stdout: std::io::Stdout) -> std::io::Result { [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/end.rs:16:23 [INFO] [stdout] | [INFO] [stdout] 16 | fn handle_key<'b>(mut self: Box, key_event: KeyEvent) -> Option> where Self: 'b { [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:20:9 [INFO] [stdout] | [INFO] [stdout] 20 | let mut stats_path = PathBuf::from_str("default.toml").unwrap(); [INFO] [stdout] | ----^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `backend` is never used [INFO] [stdout] --> src/terminal.rs:24:8 [INFO] [stdout] | [INFO] [stdout] 11 | impl Terminal { [INFO] [stdout] | ------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 24 | fn backend(&self) -> &CrosstermBackend { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/main.rs:20:26 [INFO] [stdout] | [INFO] [stdout] 20 | let mut stats_path = PathBuf::from_str("default.toml").unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: requested on the command line with `-D unmustuse-in-always-ok` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/main.rs:25:54 [INFO] [stdout] | [INFO] [stdout] 25 | let Some(arg) = args.next().map(|it| PathBuf::from_str(&it).unwrap()) else { game_mode = GameMode::from(HELP_TEXT); break }; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/main.rs:29:54 [INFO] [stdout] | [INFO] [stdout] 29 | let Some(arg) = args.next().map(|it| PathBuf::from_str(&it).unwrap()) else { game_mode = GameMode::from(HELP_TEXT); break }; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/terminal.rs:40:16 [INFO] [stdout] | [INFO] [stdout] 40 | pub fn new(mut stdout: std::io::Stdout) -> std::io::Result { [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/end.rs:16:23 [INFO] [stdout] | [INFO] [stdout] 16 | fn handle_key<'b>(mut self: Box, key_event: KeyEvent) -> Option> where Self: 'b { [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:20:9 [INFO] [stdout] | [INFO] [stdout] 20 | let mut stats_path = PathBuf::from_str("default.toml").unwrap(); [INFO] [stdout] | ----^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `backend` is never used [INFO] [stdout] --> src/terminal.rs:24:8 [INFO] [stdout] | [INFO] [stdout] 11 | impl Terminal { [INFO] [stdout] | ------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 24 | fn backend(&self) -> &CrosstermBackend { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/main.rs:20:26 [INFO] [stdout] | [INFO] [stdout] 20 | let mut stats_path = PathBuf::from_str("default.toml").unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: requested on the command line with `-D unmustuse-in-always-ok` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/main.rs:25:54 [INFO] [stdout] | [INFO] [stdout] 25 | let Some(arg) = args.next().map(|it| PathBuf::from_str(&it).unwrap()) else { game_mode = GameMode::from(HELP_TEXT); break }; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/main.rs:29:54 [INFO] [stdout] | [INFO] [stdout] 29 | let Some(arg) = args.next().map(|it| PathBuf::from_str(&it).unwrap()) else { game_mode = GameMode::from(HELP_TEXT); break }; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `crabtype` (bin "crabtype") due to 3 previous errors; 16 warnings emitted [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stderr] error: could not compile `crabtype` (bin "crabtype" test) due to 3 previous errors; 16 warnings emitted [INFO] running `Command { std: "docker" "inspect" "77d60f5c90b9f3bfbc39425abb4ccae23e3a865f1473174f7fb34578aea6f935", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "77d60f5c90b9f3bfbc39425abb4ccae23e3a865f1473174f7fb34578aea6f935", kill_on_drop: false }` [INFO] [stdout] 77d60f5c90b9f3bfbc39425abb4ccae23e3a865f1473174f7fb34578aea6f935