[INFO] cloning repository https://github.com/madeira-dev/rust-tetris [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/madeira-dev/rust-tetris" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmadeira-dev%2Frust-tetris", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmadeira-dev%2Frust-tetris'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 05043cb6e6697fc04dbe94c9a1e9a7ae2062ca02 [INFO] checking madeira-dev/rust-tetris against master#385fa9d845dd326c6bbfd58c22244215e431948a for absurd-question-mark-desugar [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmadeira-dev%2Frust-tetris" "/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/madeira-dev/rust-tetris 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/madeira-dev/rust-tetris [INFO] finished tweaking git repo https://github.com/madeira-dev/rust-tetris [INFO] tweaked toml for git repo https://github.com/madeira-dev/rust-tetris written to /workspace/builds/worker-2-tc1/source/Cargo.toml [INFO] crate git repo https://github.com/madeira-dev/rust-tetris 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 crossterm_utils v0.4.0 [INFO] [stderr] Downloaded crossterm_screen v0.3.2 [INFO] [stderr] Downloaded crossterm_winapi v0.3.0 [INFO] [stderr] Downloaded crossterm_input v0.5.0 [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] f10370c12d49f5871408183b00038b464bac6c3e8b4a09ad99dccfb11ee9b81b [INFO] running `Command { std: "docker" "start" "-a" "f10370c12d49f5871408183b00038b464bac6c3e8b4a09ad99dccfb11ee9b81b", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "f10370c12d49f5871408183b00038b464bac6c3e8b4a09ad99dccfb11ee9b81b", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "f10370c12d49f5871408183b00038b464bac6c3e8b4a09ad99dccfb11ee9b81b", kill_on_drop: false }` [INFO] [stdout] f10370c12d49f5871408183b00038b464bac6c3e8b4a09ad99dccfb11ee9b81b [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] b090c4387669bcef9cffc24231b9238bcd8465b8be229290dad84f77c1c33fd8 [INFO] running `Command { std: "docker" "start" "-a" "b090c4387669bcef9cffc24231b9238bcd8465b8be229290dad84f77c1c33fd8", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.141 [INFO] [stderr] Compiling parking_lot_core v0.9.7 [INFO] [stderr] Compiling signal-hook v0.3.15 [INFO] [stderr] Compiling lock_api v0.4.9 [INFO] [stderr] Compiling slab v0.4.8 [INFO] [stderr] Checking smallvec v1.10.0 [INFO] [stderr] Checking numtoa v0.1.0 [INFO] [stderr] Checking signal-hook-registry v1.4.1 [INFO] [stderr] Checking iovec v0.1.4 [INFO] [stderr] Checking crossterm_utils v0.4.0 [INFO] [stderr] Checking mio v0.8.6 [INFO] [stderr] Checking net2 v0.2.38 [INFO] [stderr] Checking termion v1.5.6 [INFO] [stderr] Checking crossterm_screen v0.3.2 [INFO] [stderr] Checking parking_lot v0.12.1 [INFO] [stderr] Checking mio v0.6.23 [INFO] [stderr] Checking signal-hook-mio v0.2.3 [INFO] [stderr] Checking crossterm v0.26.1 [INFO] [stderr] Checking crossterm_input v0.5.0 [INFO] [stderr] Checking rust-tetris v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused imports: `ResetColor`, `Stylize` [INFO] [stdout] --> src/main.rs:2:24 [INFO] [stdout] | [INFO] [stdout] 2 | use crossterm::style::{ResetColor, Stylize}; [INFO] [stdout] | ^^^^^^^^^^ ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `queue` [INFO] [stdout] --> src/main.rs:4:34 [INFO] [stdout] | [INFO] [stdout] 4 | use crossterm::{cursor, execute, queue, Result}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Stdin`, `stdin` [INFO] [stdout] --> src/main.rs:5:15 [INFO] [stdout] | [INFO] [stdout] 5 | use std::io::{stdin, stdout, Stdin, Stdout, Write}; [INFO] [stdout] | ^^^^^ ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Event`, `KeyCode`, `KeyEvent`, `KeyModifiers`, `read` [INFO] [stdout] --> src/board.rs:2:24 [INFO] [stdout] | [INFO] [stdout] 2 | use crossterm::event::{read, Event, KeyCode, KeyEvent, KeyModifiers}; [INFO] [stdout] | ^^^^ ^^^^^ ^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Attribute`, `SetAttribute`, `SetAttributes`, `Stylize` [INFO] [stdout] --> src/board.rs:3:24 [INFO] [stdout] | [INFO] [stdout] 3 | use crossterm::style::{Attribute, Print, SetAttribute, SetAttributes, Stylize}; [INFO] [stdout] | ^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `queue` [INFO] [stdout] --> src/board.rs:5:34 [INFO] [stdout] | [INFO] [stdout] 5 | use crossterm::{cursor, execute, queue, Result}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Event`, `KeyCode`, `KeyEvent`, `KeyModifiers`, `read` [INFO] [stdout] --> src/piece.rs:2:24 [INFO] [stdout] | [INFO] [stdout] 2 | use crossterm::event::{read, Event, KeyCode, KeyEvent, KeyModifiers}; [INFO] [stdout] | ^^^^ ^^^^^ ^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `SetBackgroundColor`, `Stylize` [INFO] [stdout] --> src/piece.rs:3:38 [INFO] [stdout] | [INFO] [stdout] 3 | use crossterm::style::{Color, Print, SetBackgroundColor, SetForegroundColor, Stylize}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `cursor`, `queue`, `terminal` [INFO] [stdout] --> src/piece.rs:4:17 [INFO] [stdout] | [INFO] [stdout] 4 | use crossterm::{cursor, execute, queue, terminal, Result}; [INFO] [stdout] | ^^^^^^ ^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `ResetColor`, `Stylize` [INFO] [stdout] --> src/main.rs:2:24 [INFO] [stdout] | [INFO] [stdout] 2 | use crossterm::style::{ResetColor, Stylize}; [INFO] [stdout] | ^^^^^^^^^^ ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `queue` [INFO] [stdout] --> src/main.rs:4:34 [INFO] [stdout] | [INFO] [stdout] 4 | use crossterm::{cursor, execute, queue, Result}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Stdin`, `stdin` [INFO] [stdout] --> src/main.rs:5:15 [INFO] [stdout] | [INFO] [stdout] 5 | use std::io::{stdin, stdout, Stdin, Stdout, Write}; [INFO] [stdout] | ^^^^^ ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Event`, `KeyCode`, `KeyEvent`, `KeyModifiers`, `read` [INFO] [stdout] --> src/board.rs:2:24 [INFO] [stdout] | [INFO] [stdout] 2 | use crossterm::event::{read, Event, KeyCode, KeyEvent, KeyModifiers}; [INFO] [stdout] | ^^^^ ^^^^^ ^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Attribute`, `SetAttribute`, `SetAttributes`, `Stylize` [INFO] [stdout] --> src/board.rs:3:24 [INFO] [stdout] | [INFO] [stdout] 3 | use crossterm::style::{Attribute, Print, SetAttribute, SetAttributes, Stylize}; [INFO] [stdout] | ^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `queue` [INFO] [stdout] --> src/board.rs:5:34 [INFO] [stdout] | [INFO] [stdout] 5 | use crossterm::{cursor, execute, queue, Result}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Event`, `KeyCode`, `KeyEvent`, `KeyModifiers`, `read` [INFO] [stdout] --> src/piece.rs:2:24 [INFO] [stdout] | [INFO] [stdout] 2 | use crossterm::event::{read, Event, KeyCode, KeyEvent, KeyModifiers}; [INFO] [stdout] | ^^^^ ^^^^^ ^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `SetBackgroundColor`, `Stylize` [INFO] [stdout] --> src/piece.rs:3:38 [INFO] [stdout] | [INFO] [stdout] 3 | use crossterm::style::{Color, Print, SetBackgroundColor, SetForegroundColor, Stylize}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `cursor`, `queue`, `terminal` [INFO] [stdout] --> src/piece.rs:4:17 [INFO] [stdout] | [INFO] [stdout] 4 | use crossterm::{cursor, execute, queue, terminal, Result}; [INFO] [stdout] | ^^^^^^ ^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Write` [INFO] [stdout] --> src/board.rs:6:23 [INFO] [stdout] | [INFO] [stdout] 6 | use std::io::{Stdout, Write}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Write` [INFO] [stdout] --> src/main.rs:5:45 [INFO] [stdout] | [INFO] [stdout] 5 | use std::io::{stdin, stdout, Stdin, Stdout, Write}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Write` [INFO] [stdout] --> src/board.rs:6:23 [INFO] [stdout] | [INFO] [stdout] 6 | use std::io::{Stdout, Write}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Write` [INFO] [stdout] --> src/main.rs:5:45 [INFO] [stdout] | [INFO] [stdout] 5 | use std::io::{stdin, stdout, Stdin, Stdout, Write}; [INFO] [stdout] | ^^^^^ [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 starting_x = 0; [INFO] [stdout] | ----^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:21:9 [INFO] [stdout] | [INFO] [stdout] 21 | let mut starting_y = 0; [INFO] [stdout] | ----^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `cells` is never read [INFO] [stdout] --> src/board.rs:11:9 [INFO] [stdout] | [INFO] [stdout] 8 | pub struct Board { [INFO] [stdout] | ----- field in this struct [INFO] [stdout] ... [INFO] [stdout] 11 | pub cells: Vec>, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `width` and `height` are never read [INFO] [stdout] --> src/piece.rs:9:9 [INFO] [stdout] | [INFO] [stdout] 8 | pub struct Piece { [INFO] [stdout] | ----- fields in this struct [INFO] [stdout] 9 | pub width: usize, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 10 | pub height: usize, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `draw_s_shape`, `draw_j_shape`, `draw_i_shape`, `draw_z_shape`, `draw_o_shape`, and `draw_t_shape` are never used [INFO] [stdout] --> src/piece.rs:63:12 [INFO] [stdout] | [INFO] [stdout] 33 | impl Piece { [INFO] [stdout] | ---------- associated functions in this implementation [INFO] [stdout] ... [INFO] [stdout] 63 | pub fn draw_s_shape(screen: &mut Stdout, piece: &mut Piece) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 86 | pub fn draw_j_shape(screen: &mut Stdout, piece: &mut Piece) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 109 | pub fn draw_i_shape(screen: &mut Stdout, piece: &mut Piece) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 129 | pub fn draw_z_shape(screen: &mut Stdout, piece: &mut Piece) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 152 | pub fn draw_o_shape(screen: &mut Stdout, piece: &mut Piece) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 175 | pub fn draw_t_shape(screen: &mut Stdout, piece: &mut Piece) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `rotate_piece` is never used [INFO] [stdout] --> src/piece.rs:216:12 [INFO] [stdout] | [INFO] [stdout] 215 | impl Piece { [INFO] [stdout] | ---------- associated function in this implementation [INFO] [stdout] 216 | pub fn rotate_piece( [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 17 warnings emitted [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 starting_x = 0; [INFO] [stdout] | ----^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:21:9 [INFO] [stdout] | [INFO] [stdout] 21 | let mut starting_y = 0; [INFO] [stdout] | ----^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `cells` is never read [INFO] [stdout] --> src/board.rs:11:9 [INFO] [stdout] | [INFO] [stdout] 8 | pub struct Board { [INFO] [stdout] | ----- field in this struct [INFO] [stdout] ... [INFO] [stdout] 11 | pub cells: Vec>, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `width` and `height` are never read [INFO] [stdout] --> src/piece.rs:9:9 [INFO] [stdout] | [INFO] [stdout] 8 | pub struct Piece { [INFO] [stdout] | ----- fields in this struct [INFO] [stdout] 9 | pub width: usize, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 10 | pub height: usize, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `draw_s_shape`, `draw_j_shape`, `draw_i_shape`, `draw_z_shape`, `draw_o_shape`, and `draw_t_shape` are never used [INFO] [stdout] --> src/piece.rs:63:12 [INFO] [stdout] | [INFO] [stdout] 33 | impl Piece { [INFO] [stdout] | ---------- associated functions in this implementation [INFO] [stdout] ... [INFO] [stdout] 63 | pub fn draw_s_shape(screen: &mut Stdout, piece: &mut Piece) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 86 | pub fn draw_j_shape(screen: &mut Stdout, piece: &mut Piece) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 109 | pub fn draw_i_shape(screen: &mut Stdout, piece: &mut Piece) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 129 | pub fn draw_z_shape(screen: &mut Stdout, piece: &mut Piece) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 152 | pub fn draw_o_shape(screen: &mut Stdout, piece: &mut Piece) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 175 | pub fn draw_t_shape(screen: &mut Stdout, piece: &mut Piece) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `rotate_piece` is never used [INFO] [stdout] --> src/piece.rs:216:12 [INFO] [stdout] | [INFO] [stdout] 215 | impl Piece { [INFO] [stdout] | ---------- associated function in this implementation [INFO] [stdout] 216 | pub fn rotate_piece( [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 17 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 5.38s [INFO] running `Command { std: "docker" "inspect" "b090c4387669bcef9cffc24231b9238bcd8465b8be229290dad84f77c1c33fd8", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "b090c4387669bcef9cffc24231b9238bcd8465b8be229290dad84f77c1c33fd8", kill_on_drop: false }` [INFO] [stdout] b090c4387669bcef9cffc24231b9238bcd8465b8be229290dad84f77c1c33fd8 [INFO] checking madeira-dev/rust-tetris against try#645bb72776a6a56a1a8f52631a44bd082b2ba509 for absurd-question-mark-desugar [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmadeira-dev%2Frust-tetris" "/workspace/builds/worker-2-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc2/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/madeira-dev/rust-tetris on toolchain 645bb72776a6a56a1a8f52631a44bd082b2ba509 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+645bb72776a6a56a1a8f52631a44bd082b2ba509" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/madeira-dev/rust-tetris [INFO] finished tweaking git repo https://github.com/madeira-dev/rust-tetris [INFO] tweaked toml for git repo https://github.com/madeira-dev/rust-tetris written to /workspace/builds/worker-2-tc2/source/Cargo.toml [INFO] crate git repo https://github.com/madeira-dev/rust-tetris 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" "+645bb72776a6a56a1a8f52631a44bd082b2ba509" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+645bb72776a6a56a1a8f52631a44bd082b2ba509" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] a22d57066dfe411005163d7bb5f073f0d9ae93bce6b47401894ead97465ea832 [INFO] running `Command { std: "docker" "start" "-a" "a22d57066dfe411005163d7bb5f073f0d9ae93bce6b47401894ead97465ea832", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "a22d57066dfe411005163d7bb5f073f0d9ae93bce6b47401894ead97465ea832", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "a22d57066dfe411005163d7bb5f073f0d9ae93bce6b47401894ead97465ea832", kill_on_drop: false }` [INFO] [stdout] a22d57066dfe411005163d7bb5f073f0d9ae93bce6b47401894ead97465ea832 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+645bb72776a6a56a1a8f52631a44bd082b2ba509" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] c9b35bd8668d13e61b520bf0e55aba26544b21c923f587d1b352a7a047fde8f9 [INFO] running `Command { std: "docker" "start" "-a" "c9b35bd8668d13e61b520bf0e55aba26544b21c923f587d1b352a7a047fde8f9", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.141 [INFO] [stderr] Compiling lock_api v0.4.9 [INFO] [stderr] Compiling slab v0.4.8 [INFO] [stderr] Compiling signal-hook v0.3.15 [INFO] [stderr] Compiling parking_lot_core v0.9.7 [INFO] [stderr] Checking smallvec v1.10.0 [INFO] [stderr] Checking numtoa v0.1.0 [INFO] [stderr] Checking signal-hook-registry v1.4.1 [INFO] [stderr] Checking mio v0.8.6 [INFO] [stderr] Checking crossterm_utils v0.4.0 [INFO] [stderr] Checking iovec v0.1.4 [INFO] [stderr] Checking net2 v0.2.38 [INFO] [stderr] Checking termion v1.5.6 [INFO] [stderr] Checking crossterm_screen v0.3.2 [INFO] [stderr] Checking parking_lot v0.12.1 [INFO] [stderr] Checking mio v0.6.23 [INFO] [stderr] Checking signal-hook-mio v0.2.3 [INFO] [stderr] Checking crossterm v0.26.1 [INFO] [stderr] Checking crossterm_input v0.5.0 [INFO] [stderr] Checking rust-tetris v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused imports: `ResetColor`, `Stylize` [INFO] [stdout] --> src/main.rs:2:24 [INFO] [stdout] | [INFO] [stdout] 2 | use crossterm::style::{ResetColor, Stylize}; [INFO] [stdout] | ^^^^^^^^^^ ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `queue` [INFO] [stdout] --> src/main.rs:4:34 [INFO] [stdout] | [INFO] [stdout] 4 | use crossterm::{cursor, execute, queue, Result}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Stdin`, `stdin` [INFO] [stdout] --> src/main.rs:5:15 [INFO] [stdout] | [INFO] [stdout] 5 | use std::io::{stdin, stdout, Stdin, Stdout, Write}; [INFO] [stdout] | ^^^^^ ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Event`, `KeyCode`, `KeyEvent`, `KeyModifiers`, `read` [INFO] [stdout] --> src/board.rs:2:24 [INFO] [stdout] | [INFO] [stdout] 2 | use crossterm::event::{read, Event, KeyCode, KeyEvent, KeyModifiers}; [INFO] [stdout] | ^^^^ ^^^^^ ^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Attribute`, `SetAttribute`, `SetAttributes`, `Stylize` [INFO] [stdout] --> src/board.rs:3:24 [INFO] [stdout] | [INFO] [stdout] 3 | use crossterm::style::{Attribute, Print, SetAttribute, SetAttributes, Stylize}; [INFO] [stdout] | ^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `queue` [INFO] [stdout] --> src/board.rs:5:34 [INFO] [stdout] | [INFO] [stdout] 5 | use crossterm::{cursor, execute, queue, Result}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Event`, `KeyCode`, `KeyEvent`, `KeyModifiers`, `read` [INFO] [stdout] --> src/piece.rs:2:24 [INFO] [stdout] | [INFO] [stdout] 2 | use crossterm::event::{read, Event, KeyCode, KeyEvent, KeyModifiers}; [INFO] [stdout] | ^^^^ ^^^^^ ^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `SetBackgroundColor`, `Stylize` [INFO] [stdout] --> src/piece.rs:3:38 [INFO] [stdout] | [INFO] [stdout] 3 | use crossterm::style::{Color, Print, SetBackgroundColor, SetForegroundColor, Stylize}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `cursor`, `queue`, `terminal` [INFO] [stdout] --> src/piece.rs:4:17 [INFO] [stdout] | [INFO] [stdout] 4 | use crossterm::{cursor, execute, queue, terminal, Result}; [INFO] [stdout] | ^^^^^^ ^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `ResetColor`, `Stylize` [INFO] [stdout] --> src/main.rs:2:24 [INFO] [stdout] | [INFO] [stdout] 2 | use crossterm::style::{ResetColor, Stylize}; [INFO] [stdout] | ^^^^^^^^^^ ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `queue` [INFO] [stdout] --> src/main.rs:4:34 [INFO] [stdout] | [INFO] [stdout] 4 | use crossterm::{cursor, execute, queue, Result}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Stdin`, `stdin` [INFO] [stdout] --> src/main.rs:5:15 [INFO] [stdout] | [INFO] [stdout] 5 | use std::io::{stdin, stdout, Stdin, Stdout, Write}; [INFO] [stdout] | ^^^^^ ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Event`, `KeyCode`, `KeyEvent`, `KeyModifiers`, `read` [INFO] [stdout] --> src/board.rs:2:24 [INFO] [stdout] | [INFO] [stdout] 2 | use crossterm::event::{read, Event, KeyCode, KeyEvent, KeyModifiers}; [INFO] [stdout] | ^^^^ ^^^^^ ^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Attribute`, `SetAttribute`, `SetAttributes`, `Stylize` [INFO] [stdout] --> src/board.rs:3:24 [INFO] [stdout] | [INFO] [stdout] 3 | use crossterm::style::{Attribute, Print, SetAttribute, SetAttributes, Stylize}; [INFO] [stdout] | ^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `queue` [INFO] [stdout] --> src/board.rs:5:34 [INFO] [stdout] | [INFO] [stdout] 5 | use crossterm::{cursor, execute, queue, Result}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Event`, `KeyCode`, `KeyEvent`, `KeyModifiers`, `read` [INFO] [stdout] --> src/piece.rs:2:24 [INFO] [stdout] | [INFO] [stdout] 2 | use crossterm::event::{read, Event, KeyCode, KeyEvent, KeyModifiers}; [INFO] [stdout] | ^^^^ ^^^^^ ^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `SetBackgroundColor`, `Stylize` [INFO] [stdout] --> src/piece.rs:3:38 [INFO] [stdout] | [INFO] [stdout] 3 | use crossterm::style::{Color, Print, SetBackgroundColor, SetForegroundColor, Stylize}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `cursor`, `queue`, `terminal` [INFO] [stdout] --> src/piece.rs:4:17 [INFO] [stdout] | [INFO] [stdout] 4 | use crossterm::{cursor, execute, queue, terminal, Result}; [INFO] [stdout] | ^^^^^^ ^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Write` [INFO] [stdout] --> src/board.rs:6:23 [INFO] [stdout] | [INFO] [stdout] 6 | use std::io::{Stdout, Write}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Write` [INFO] [stdout] --> src/main.rs:5:45 [INFO] [stdout] | [INFO] [stdout] 5 | use std::io::{stdin, stdout, Stdin, Stdout, Write}; [INFO] [stdout] | ^^^^^ [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 starting_x = 0; [INFO] [stdout] | ----^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:21:9 [INFO] [stdout] | [INFO] [stdout] 21 | let mut starting_y = 0; [INFO] [stdout] | ----^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `cells` is never read [INFO] [stdout] --> src/board.rs:11:9 [INFO] [stdout] | [INFO] [stdout] 8 | pub struct Board { [INFO] [stdout] | ----- field in this struct [INFO] [stdout] ... [INFO] [stdout] 11 | pub cells: Vec>, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `width` and `height` are never read [INFO] [stdout] --> src/piece.rs:9:9 [INFO] [stdout] | [INFO] [stdout] 8 | pub struct Piece { [INFO] [stdout] | ----- fields in this struct [INFO] [stdout] 9 | pub width: usize, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 10 | pub height: usize, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `draw_s_shape`, `draw_j_shape`, `draw_i_shape`, `draw_z_shape`, `draw_o_shape`, and `draw_t_shape` are never used [INFO] [stdout] --> src/piece.rs:63:12 [INFO] [stdout] | [INFO] [stdout] 33 | impl Piece { [INFO] [stdout] | ---------- associated functions in this implementation [INFO] [stdout] ... [INFO] [stdout] 63 | pub fn draw_s_shape(screen: &mut Stdout, piece: &mut Piece) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 86 | pub fn draw_j_shape(screen: &mut Stdout, piece: &mut Piece) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 109 | pub fn draw_i_shape(screen: &mut Stdout, piece: &mut Piece) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 129 | pub fn draw_z_shape(screen: &mut Stdout, piece: &mut Piece) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 152 | pub fn draw_o_shape(screen: &mut Stdout, piece: &mut Piece) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 175 | pub fn draw_t_shape(screen: &mut Stdout, piece: &mut Piece) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `rotate_piece` is never used [INFO] [stdout] --> src/piece.rs:216:12 [INFO] [stdout] | [INFO] [stdout] 215 | impl Piece { [INFO] [stdout] | ---------- associated function in this implementation [INFO] [stdout] 216 | pub fn rotate_piece( [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Write` [INFO] [stdout] --> src/board.rs:6:23 [INFO] [stdout] | [INFO] [stdout] 6 | use std::io::{Stdout, Write}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Write` [INFO] [stdout] --> src/main.rs:5:45 [INFO] [stdout] | [INFO] [stdout] 5 | use std::io::{stdin, stdout, Stdin, Stdout, Write}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 17 warnings emitted [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 starting_x = 0; [INFO] [stdout] | ----^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:21:9 [INFO] [stdout] | [INFO] [stdout] 21 | let mut starting_y = 0; [INFO] [stdout] | ----^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `cells` is never read [INFO] [stdout] --> src/board.rs:11:9 [INFO] [stdout] | [INFO] [stdout] 8 | pub struct Board { [INFO] [stdout] | ----- field in this struct [INFO] [stdout] ... [INFO] [stdout] 11 | pub cells: Vec>, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `width` and `height` are never read [INFO] [stdout] --> src/piece.rs:9:9 [INFO] [stdout] | [INFO] [stdout] 8 | pub struct Piece { [INFO] [stdout] | ----- fields in this struct [INFO] [stdout] 9 | pub width: usize, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 10 | pub height: usize, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `draw_s_shape`, `draw_j_shape`, `draw_i_shape`, `draw_z_shape`, `draw_o_shape`, and `draw_t_shape` are never used [INFO] [stdout] --> src/piece.rs:63:12 [INFO] [stdout] | [INFO] [stdout] 33 | impl Piece { [INFO] [stdout] | ---------- associated functions in this implementation [INFO] [stdout] ... [INFO] [stdout] 63 | pub fn draw_s_shape(screen: &mut Stdout, piece: &mut Piece) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 86 | pub fn draw_j_shape(screen: &mut Stdout, piece: &mut Piece) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 109 | pub fn draw_i_shape(screen: &mut Stdout, piece: &mut Piece) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 129 | pub fn draw_z_shape(screen: &mut Stdout, piece: &mut Piece) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 152 | pub fn draw_o_shape(screen: &mut Stdout, piece: &mut Piece) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 175 | pub fn draw_t_shape(screen: &mut Stdout, piece: &mut Piece) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `rotate_piece` is never used [INFO] [stdout] --> src/piece.rs:216:12 [INFO] [stdout] | [INFO] [stdout] 215 | impl Piece { [INFO] [stdout] | ---------- associated function in this implementation [INFO] [stdout] 216 | pub fn rotate_piece( [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 17 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 5.71s [INFO] running `Command { std: "docker" "inspect" "c9b35bd8668d13e61b520bf0e55aba26544b21c923f587d1b352a7a047fde8f9", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "c9b35bd8668d13e61b520bf0e55aba26544b21c923f587d1b352a7a047fde8f9", kill_on_drop: false }` [INFO] [stdout] c9b35bd8668d13e61b520bf0e55aba26544b21c923f587d1b352a7a047fde8f9