[INFO] cloning repository https://github.com/GregorLohaus/retint [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/GregorLohaus/retint" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FGregorLohaus%2Fretint", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FGregorLohaus%2Fretint'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] fd2857c2591e5cbd996dcd2b2a783d2d4f9d5452 [INFO] checking GregorLohaus/retint against master#385fa9d845dd326c6bbfd58c22244215e431948a for absurd-question-mark-desugar [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FGregorLohaus%2Fretint" "/workspace/builds/worker-2-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc1/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/GregorLohaus/retint on toolchain 385fa9d845dd326c6bbfd58c22244215e431948a [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+385fa9d845dd326c6bbfd58c22244215e431948a" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/GregorLohaus/retint [INFO] finished tweaking git repo https://github.com/GregorLohaus/retint [INFO] tweaked toml for git repo https://github.com/GregorLohaus/retint written to /workspace/builds/worker-2-tc1/source/Cargo.toml [INFO] crate git repo https://github.com/GregorLohaus/retint 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" "+385fa9d845dd326c6bbfd58c22244215e431948a" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded nalgebra-macros v0.2.0 [INFO] [stderr] Downloaded arr_macro v0.2.1 [INFO] [stderr] Downloaded memory-stats v1.1.0 [INFO] [stderr] Downloaded wide v0.7.10 [INFO] [stderr] Downloaded arr_macro_impl v0.2.1 [INFO] [stderr] Downloaded matrixmultiply v0.3.7 [INFO] [stderr] Downloaded safe_arch v0.7.0 [INFO] [stderr] Downloaded nalgebra v0.32.2 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+385fa9d845dd326c6bbfd58c22244215e431948a" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 0b50c0429ddcf9fff5c302ca12f76101948b1f85718f2d916c3e2100a8c0d373 [INFO] running `Command { std: "docker" "start" "-a" "0b50c0429ddcf9fff5c302ca12f76101948b1f85718f2d916c3e2100a8c0d373", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "0b50c0429ddcf9fff5c302ca12f76101948b1f85718f2d916c3e2100a8c0d373", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "0b50c0429ddcf9fff5c302ca12f76101948b1f85718f2d916c3e2100a8c0d373", kill_on_drop: false }` [INFO] [stdout] 0b50c0429ddcf9fff5c302ca12f76101948b1f85718f2d916c3e2100a8c0d373 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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" "-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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+385fa9d845dd326c6bbfd58c22244215e431948a" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 147d0278e28cdc31e289a6e53816e5a1a95c87d40e927c6b6895589beb01aae5 [INFO] running `Command { std: "docker" "start" "-a" "147d0278e28cdc31e289a6e53816e5a1a95c87d40e927c6b6895589beb01aae5", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.146 [INFO] [stderr] Compiling num-traits v0.2.15 [INFO] [stderr] Compiling proc-macro2 v1.0.60 [INFO] [stderr] Compiling quote v1.0.28 [INFO] [stderr] Compiling unicode-ident v1.0.9 [INFO] [stderr] Compiling syn v1.0.109 [INFO] [stderr] Compiling log v0.4.18 [INFO] [stderr] Compiling num-integer v0.1.45 [INFO] [stderr] Compiling lock_api v0.4.10 [INFO] [stderr] Checking bytemuck v1.13.1 [INFO] [stderr] Compiling paste v1.0.12 [INFO] [stderr] Compiling signal-hook v0.3.15 [INFO] [stderr] Compiling parking_lot_core v0.9.8 [INFO] [stderr] Compiling matrixmultiply v0.3.7 [INFO] [stderr] Compiling num-rational v0.4.1 [INFO] [stderr] Compiling typenum v1.16.0 [INFO] [stderr] Checking smallvec v1.10.0 [INFO] [stderr] Checking safe_arch v0.7.0 [INFO] [stderr] Checking rawpointer v0.2.1 [INFO] [stderr] Checking wide v0.7.10 [INFO] [stderr] Checking getrandom v0.2.10 [INFO] [stderr] Checking signal-hook-registry v1.4.1 [INFO] [stderr] Checking mio v0.8.8 [INFO] [stderr] Checking memory-stats v1.1.0 [INFO] [stderr] Checking parking_lot v0.12.1 [INFO] [stderr] Checking approx v0.5.1 [INFO] [stderr] Checking num-complex v0.4.3 [INFO] [stderr] Checking rand_core v0.6.4 [INFO] [stderr] Checking rand_chacha v0.3.1 [INFO] [stderr] Checking signal-hook-mio v0.2.3 [INFO] [stderr] Checking crossterm v0.26.1 [INFO] [stderr] Checking rand v0.8.5 [INFO] [stderr] Checking simba v0.8.1 [INFO] [stderr] Compiling nalgebra-macros v0.2.0 [INFO] [stderr] Compiling arr_macro_impl v0.2.1 [INFO] [stderr] Checking arr_macro v0.2.1 [INFO] [stderr] Checking nalgebra v0.32.2 [INFO] [stderr] Checking retint v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `panic` [INFO] [stdout] --> src/gamestate.rs:1:17 [INFO] [stdout] | [INFO] [stdout] 1 | use core::{fmt, panic}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `error::Error`, `io::stdout` [INFO] [stdout] --> src/mutator.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | error::Error, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 4 | io::stdout, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::fmt::format` [INFO] [stdout] --> src/renderer.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::fmt::format; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `ExecutableCommand` [INFO] [stdout] --> src/renderer.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | ExecutableCommand, QueueableCommand, Result, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `error::Error` [INFO] [stdout] --> src/main.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | error::Error, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `ExecutableCommand`, `MoveTo` [INFO] [stdout] --> src/main.rs:14:20 [INFO] [stdout] | [INFO] [stdout] 14 | cursor::{Hide, MoveTo, Show}, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 17 | ExecutableCommand, QueueableCommand, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `panic` [INFO] [stdout] --> src/gamestate.rs:1:17 [INFO] [stdout] | [INFO] [stdout] 1 | use core::{fmt, panic}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `error::Error`, `io::stdout` [INFO] [stdout] --> src/mutator.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | error::Error, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 4 | io::stdout, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::fmt::format` [INFO] [stdout] --> src/renderer.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::fmt::format; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `ExecutableCommand` [INFO] [stdout] --> src/renderer.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | ExecutableCommand, QueueableCommand, Result, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `error::Error` [INFO] [stdout] --> src/main.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | error::Error, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `ExecutableCommand`, `MoveTo` [INFO] [stdout] --> src/main.rs:14:20 [INFO] [stdout] | [INFO] [stdout] 14 | cursor::{Hide, MoveTo, Show}, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 17 | ExecutableCommand, QueueableCommand, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `t` [INFO] [stdout] --> src/gamestate.rs:143:29 [INFO] [stdout] | [INFO] [stdout] 143 | if let Some(ref mut t) = &mut self.active_tetromino { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_t` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `t` [INFO] [stdout] --> src/gamestate.rs:157:29 [INFO] [stdout] | [INFO] [stdout] 157 | if let Some(ref mut t) = &mut self.active_tetromino { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_t` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `elapsed` [INFO] [stdout] --> src/mutator.rs:8:34 [INFO] [stdout] | [INFO] [stdout] 8 | pub fn mutate(state: &mut State, elapsed: Duration) { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_elapsed` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `args` [INFO] [stdout] --> src/main.rs:45:9 [INFO] [stdout] | [INFO] [stdout] 45 | let args: Vec = env::args().collect(); [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_args` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `current_fps` is never read [INFO] [stdout] --> src/main.rs:54:13 [INFO] [stdout] | [INFO] [stdout] 54 | let mut current_fps: u64 = 0; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] = note: `#[warn(unused_assignments)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple fields are never read [INFO] [stdout] --> src/gamestate.rs:47:9 [INFO] [stdout] | [INFO] [stdout] 41 | pub struct State { [INFO] [stdout] | ----- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 47 | pub auto_repeat_rate: Duration, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 50 | pub delayed_auto_shit: Duration, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] 51 | pub soft_drop_step_time: Duration, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 52 | pub last_soft_drop_activation: Option, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 53 | pub soft_drop_active: bool, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] 54 | pub last_move_left_activation: Option, [INFO] [stdout] 55 | pub move_left_active: bool, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] 56 | pub last_move_right_activation: Option, [INFO] [stdout] 57 | pub move_right_active: bool, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] 58 | pub active_tetromino: Option, [INFO] [stdout] 59 | pub held_tetromino: Option, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 60 | pub tetromino_x_log: Vec, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `draw_blink_demo` is never used [INFO] [stdout] --> src/renderer.rs:57:8 [INFO] [stdout] | [INFO] [stdout] 57 | pub fn draw_blink_demo(stdout: &mut Stdout) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `set_x` and `set_y` are never used [INFO] [stdout] --> src/tetrominos.rs:12:12 [INFO] [stdout] | [INFO] [stdout] 11 | impl Block { [INFO] [stdout] | ---------- methods in this implementation [INFO] [stdout] 12 | pub fn set_x(&mut self, x:usize) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 16 | pub fn set_y(&mut self, y:usize) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `tetromino_type` is never read [INFO] [stdout] --> src/tetrominos.rs:39:9 [INFO] [stdout] | [INFO] [stdout] 38 | pub struct Tetromino { [INFO] [stdout] | --------- field in this struct [INFO] [stdout] 39 | pub tetromino_type: TetrominoType, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `I`, `T`, `L`, `S`, and `Z` are never constructed [INFO] [stdout] --> src/tetrominos.rs:48:5 [INFO] [stdout] | [INFO] [stdout] 47 | pub enum TetrominoType { [INFO] [stdout] | ------------- variants in this enum [INFO] [stdout] 48 | I, [INFO] [stdout] | ^ [INFO] [stdout] 49 | T, [INFO] [stdout] | ^ [INFO] [stdout] 50 | J, [INFO] [stdout] 51 | L, [INFO] [stdout] | ^ [INFO] [stdout] 52 | S, [INFO] [stdout] | ^ [INFO] [stdout] 53 | Z, [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = note: `TetrominoType` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `set_y` and `max_y` are never used [INFO] [stdout] --> src/tetrominos.rs:77:12 [INFO] [stdout] | [INFO] [stdout] 56 | impl Tetromino { [INFO] [stdout] | -------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 77 | pub fn set_y(&mut self, y:usize) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 98 | pub fn max_y(&self) -> usize { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/main.rs:55:5 [INFO] [stdout] | [INFO] [stdout] 55 | stdout.queue(Clear(ClearType::All)); [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] 55 | let _ = stdout.queue(Clear(ClearType::All)); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/renderer.rs:52:9 [INFO] [stdout] | [INFO] [stdout] 52 | stdout.queue(Print(yindex)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 52 | let _ = stdout.queue(Print(yindex)); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 19 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `t` [INFO] [stdout] --> src/gamestate.rs:143:29 [INFO] [stdout] | [INFO] [stdout] 143 | if let Some(ref mut t) = &mut self.active_tetromino { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_t` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `t` [INFO] [stdout] --> src/gamestate.rs:157:29 [INFO] [stdout] | [INFO] [stdout] 157 | if let Some(ref mut t) = &mut self.active_tetromino { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_t` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `elapsed` [INFO] [stdout] --> src/mutator.rs:8:34 [INFO] [stdout] | [INFO] [stdout] 8 | pub fn mutate(state: &mut State, elapsed: Duration) { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_elapsed` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `args` [INFO] [stdout] --> src/main.rs:45:9 [INFO] [stdout] | [INFO] [stdout] 45 | let args: Vec = env::args().collect(); [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_args` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `current_fps` is never read [INFO] [stdout] --> src/main.rs:54:13 [INFO] [stdout] | [INFO] [stdout] 54 | let mut current_fps: u64 = 0; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] = note: `#[warn(unused_assignments)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple fields are never read [INFO] [stdout] --> src/gamestate.rs:47:9 [INFO] [stdout] | [INFO] [stdout] 41 | pub struct State { [INFO] [stdout] | ----- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 47 | pub auto_repeat_rate: Duration, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 50 | pub delayed_auto_shit: Duration, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] 51 | pub soft_drop_step_time: Duration, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 52 | pub last_soft_drop_activation: Option, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 53 | pub soft_drop_active: bool, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] 54 | pub last_move_left_activation: Option, [INFO] [stdout] 55 | pub move_left_active: bool, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] 56 | pub last_move_right_activation: Option, [INFO] [stdout] 57 | pub move_right_active: bool, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] 58 | pub active_tetromino: Option, [INFO] [stdout] 59 | pub held_tetromino: Option, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 60 | pub tetromino_x_log: Vec, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `draw_blink_demo` is never used [INFO] [stdout] --> src/renderer.rs:57:8 [INFO] [stdout] | [INFO] [stdout] 57 | pub fn draw_blink_demo(stdout: &mut Stdout) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `set_x` and `set_y` are never used [INFO] [stdout] --> src/tetrominos.rs:12:12 [INFO] [stdout] | [INFO] [stdout] 11 | impl Block { [INFO] [stdout] | ---------- methods in this implementation [INFO] [stdout] 12 | pub fn set_x(&mut self, x:usize) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 16 | pub fn set_y(&mut self, y:usize) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `tetromino_type` is never read [INFO] [stdout] --> src/tetrominos.rs:39:9 [INFO] [stdout] | [INFO] [stdout] 38 | pub struct Tetromino { [INFO] [stdout] | --------- field in this struct [INFO] [stdout] 39 | pub tetromino_type: TetrominoType, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `I`, `T`, `L`, `S`, and `Z` are never constructed [INFO] [stdout] --> src/tetrominos.rs:48:5 [INFO] [stdout] | [INFO] [stdout] 47 | pub enum TetrominoType { [INFO] [stdout] | ------------- variants in this enum [INFO] [stdout] 48 | I, [INFO] [stdout] | ^ [INFO] [stdout] 49 | T, [INFO] [stdout] | ^ [INFO] [stdout] 50 | J, [INFO] [stdout] 51 | L, [INFO] [stdout] | ^ [INFO] [stdout] 52 | S, [INFO] [stdout] | ^ [INFO] [stdout] 53 | Z, [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = note: `TetrominoType` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `set_y` and `max_y` are never used [INFO] [stdout] --> src/tetrominos.rs:77:12 [INFO] [stdout] | [INFO] [stdout] 56 | impl Tetromino { [INFO] [stdout] | -------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 77 | pub fn set_y(&mut self, y:usize) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 98 | pub fn max_y(&self) -> usize { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/main.rs:55:5 [INFO] [stdout] | [INFO] [stdout] 55 | stdout.queue(Clear(ClearType::All)); [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] 55 | let _ = stdout.queue(Clear(ClearType::All)); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/renderer.rs:52:9 [INFO] [stdout] | [INFO] [stdout] 52 | stdout.queue(Print(yindex)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 52 | let _ = stdout.queue(Print(yindex)); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 19 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 20.18s [INFO] running `Command { std: "docker" "inspect" "147d0278e28cdc31e289a6e53816e5a1a95c87d40e927c6b6895589beb01aae5", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "147d0278e28cdc31e289a6e53816e5a1a95c87d40e927c6b6895589beb01aae5", kill_on_drop: false }` [INFO] [stdout] 147d0278e28cdc31e289a6e53816e5a1a95c87d40e927c6b6895589beb01aae5