[INFO] cloning repository https://github.com/bogedy/rust_snake [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/bogedy/rust_snake" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fbogedy%2Frust_snake", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fbogedy%2Frust_snake'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 13fde9e0fef860da63a6dcec044be4061725b7da [INFO] checking bogedy/rust_snake against master#385fa9d845dd326c6bbfd58c22244215e431948a for absurd-question-mark-desugar [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fbogedy%2Frust_snake" "/workspace/builds/worker-1-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc1/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/bogedy/rust_snake 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/bogedy/rust_snake [INFO] finished tweaking git repo https://github.com/bogedy/rust_snake [INFO] tweaked toml for git repo https://github.com/bogedy/rust_snake written to /workspace/builds/worker-1-tc1/source/Cargo.toml [INFO] crate git repo https://github.com/bogedy/rust_snake 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] warning: unused manifest key: package.license_file [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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] 942aea16944016f391cf67ed22d1df1f23527b187dd6027529b1436b93ed0425 [INFO] running `Command { std: "docker" "start" "-a" "942aea16944016f391cf67ed22d1df1f23527b187dd6027529b1436b93ed0425", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "942aea16944016f391cf67ed22d1df1f23527b187dd6027529b1436b93ed0425", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "942aea16944016f391cf67ed22d1df1f23527b187dd6027529b1436b93ed0425", kill_on_drop: false }` [INFO] [stdout] 942aea16944016f391cf67ed22d1df1f23527b187dd6027529b1436b93ed0425 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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] fd34e166194d39aa5d4aa11514ced1b2ddfecb225a95ed13df478d5751bc5b75 [INFO] running `Command { std: "docker" "start" "-a" "fd34e166194d39aa5d4aa11514ced1b2ddfecb225a95ed13df478d5751bc5b75", kill_on_drop: false }` [INFO] [stderr] warning: unused manifest key: package.license_file [INFO] [stderr] Compiling proc-macro2 v1.0.70 [INFO] [stderr] Compiling wasm-bindgen-shared v0.2.89 [INFO] [stderr] Compiling log v0.4.20 [INFO] [stderr] Compiling once_cell v1.18.0 [INFO] [stderr] Compiling bumpalo v3.14.0 [INFO] [stderr] Compiling libc v0.2.151 [INFO] [stderr] Compiling wasm-bindgen v0.2.89 [INFO] [stderr] Compiling quote v1.0.33 [INFO] [stderr] Compiling syn v2.0.39 [INFO] [stderr] Checking getrandom v0.2.11 [INFO] [stderr] Checking rand_core v0.6.4 [INFO] [stderr] Checking rand_chacha v0.3.1 [INFO] [stderr] Checking rand v0.8.5 [INFO] [stderr] Compiling wasm-bindgen-backend v0.2.89 [INFO] [stderr] Compiling wasm-bindgen-macro-support v0.2.89 [INFO] [stderr] Compiling wasm-bindgen-macro v0.2.89 [INFO] [stderr] Checking js-sys v0.3.66 [INFO] [stderr] Checking web-sys v0.3.66 [INFO] [stderr] Checking rust_snake v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `RangeBounds` [INFO] [stdout] --> src/lib.rs:4:21 [INFO] [stdout] | [INFO] [stdout] 4 | use std::ops::{Add, RangeBounds}; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `RangeBounds` [INFO] [stdout] --> src/lib.rs:4:21 [INFO] [stdout] | [INFO] [stdout] 4 | use std::ops::{Add, RangeBounds}; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `block_pixel_size`, `block_width`, and `block_height` are never read [INFO] [stdout] --> src/lib.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 11 | struct Board { [INFO] [stdout] | ----- fields in this struct [INFO] [stdout] 12 | block_pixel_size: u32, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] 13 | block_width: u32, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 14 | block_height: u32, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Board` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `draw_square`, `clear_board`, and `test_board_draw` are never used [INFO] [stdout] --> src/lib.rs:19:8 [INFO] [stdout] | [INFO] [stdout] 18 | impl Board { [INFO] [stdout] | ---------- methods in this implementation [INFO] [stdout] 19 | fn draw_square (&self, ctx: &CanvasRenderingContext2d, row: u32, col: u32, color: &JsValue) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 28 | pub fn clear_board(&self, ctx: &CanvasRenderingContext2d){ [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 35 | pub fn test_board_draw(&self, ctx: &CanvasRenderingContext2d) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `draw_piece` is never used [INFO] [stdout] --> src/lib.rs:42:12 [INFO] [stdout] | [INFO] [stdout] 41 | impl Board { [INFO] [stdout] | ---------- method in this implementation [INFO] [stdout] 42 | pub fn draw_piece(&self, ctx: &CanvasRenderingContext2d, piece: &Piece) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `block_pixel_size`, `block_width`, and `block_height` are never read [INFO] [stdout] --> src/lib.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 11 | struct Board { [INFO] [stdout] | ----- fields in this struct [INFO] [stdout] 12 | block_pixel_size: u32, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] 13 | block_width: u32, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 14 | block_height: u32, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Board` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Up`, `Down`, `Left`, and `Right` are never constructed [INFO] [stdout] --> src/lib.rs:51:5 [INFO] [stdout] | [INFO] [stdout] 50 | enum DirectionEnum { [INFO] [stdout] | ------------- variants in this enum [INFO] [stdout] 51 | Up, [INFO] [stdout] | ^^ [INFO] [stdout] 52 | Down, [INFO] [stdout] | ^^^^ [INFO] [stdout] 53 | Left, [INFO] [stdout] | ^^^^ [INFO] [stdout] 54 | Right, [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `draw_square`, `clear_board`, and `test_board_draw` are never used [INFO] [stdout] --> src/lib.rs:19:8 [INFO] [stdout] | [INFO] [stdout] 18 | impl Board { [INFO] [stdout] | ---------- methods in this implementation [INFO] [stdout] 19 | fn draw_square (&self, ctx: &CanvasRenderingContext2d, row: u32, col: u32, color: &JsValue) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 28 | pub fn clear_board(&self, ctx: &CanvasRenderingContext2d){ [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 35 | pub fn test_board_draw(&self, ctx: &CanvasRenderingContext2d) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `direction_vector` and `from_string` are never used [INFO] [stdout] --> src/lib.rs:64:12 [INFO] [stdout] | [INFO] [stdout] 63 | impl DirectionEnum { [INFO] [stdout] | ------------------ associated items in this implementation [INFO] [stdout] 64 | pub fn direction_vector(&self) -> DirectionVec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 73 | pub fn from_string(direction: &str) -> Option { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `draw_piece` is never used [INFO] [stdout] --> src/lib.rs:42:12 [INFO] [stdout] | [INFO] [stdout] 41 | impl Board { [INFO] [stdout] | ---------- method in this implementation [INFO] [stdout] 42 | pub fn draw_piece(&self, ctx: &CanvasRenderingContext2d, piece: &Piece) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Food`, `Tail`, and `Head` are never constructed [INFO] [stdout] --> src/lib.rs:96:5 [INFO] [stdout] | [INFO] [stdout] 95 | enum PieceType { [INFO] [stdout] | --------- variants in this enum [INFO] [stdout] 96 | Food, [INFO] [stdout] | ^^^^ [INFO] [stdout] 97 | Tail, [INFO] [stdout] | ^^^^ [INFO] [stdout] 98 | Head, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `PieceType` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Up`, `Down`, `Left`, and `Right` are never constructed [INFO] [stdout] --> src/lib.rs:51:5 [INFO] [stdout] | [INFO] [stdout] 50 | enum DirectionEnum { [INFO] [stdout] | ------------- variants in this enum [INFO] [stdout] 51 | Up, [INFO] [stdout] | ^^ [INFO] [stdout] 52 | Down, [INFO] [stdout] | ^^^^ [INFO] [stdout] 53 | Left, [INFO] [stdout] | ^^^^ [INFO] [stdout] 54 | Right, [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `color` is never used [INFO] [stdout] --> src/lib.rs:102:12 [INFO] [stdout] | [INFO] [stdout] 101 | impl PieceType { [INFO] [stdout] | -------------- method in this implementation [INFO] [stdout] 102 | pub fn color(&self) -> JsValue { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `direction_vector` and `from_string` are never used [INFO] [stdout] --> src/lib.rs:64:12 [INFO] [stdout] | [INFO] [stdout] 63 | impl DirectionEnum { [INFO] [stdout] | ------------------ associated items in this implementation [INFO] [stdout] 64 | pub fn direction_vector(&self) -> DirectionVec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 73 | pub fn from_string(direction: &str) -> Option { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `piece_type`, `row`, and `col` are never read [INFO] [stdout] --> src/lib.rs:113:5 [INFO] [stdout] | [INFO] [stdout] 112 | struct Piece { [INFO] [stdout] | ----- fields in this struct [INFO] [stdout] 113 | piece_type: PieceType, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 114 | row: u32, [INFO] [stdout] | ^^^ [INFO] [stdout] 115 | col: u32 [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Piece` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `to_tail` and `same_pos` are never used [INFO] [stdout] --> src/lib.rs:119:12 [INFO] [stdout] | [INFO] [stdout] 118 | impl Piece { [INFO] [stdout] | ---------- methods in this implementation [INFO] [stdout] 119 | pub fn to_tail(&self) -> Piece { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 127 | pub fn same_pos(&self, rhs: &Piece) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Food`, `Tail`, and `Head` are never constructed [INFO] [stdout] --> src/lib.rs:96:5 [INFO] [stdout] | [INFO] [stdout] 95 | enum PieceType { [INFO] [stdout] | --------- variants in this enum [INFO] [stdout] 96 | Food, [INFO] [stdout] | ^^^^ [INFO] [stdout] 97 | Tail, [INFO] [stdout] | ^^^^ [INFO] [stdout] 98 | Head, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `PieceType` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `dir`, `head`, and `tail` are never read [INFO] [stdout] --> src/lib.rs:133:5 [INFO] [stdout] | [INFO] [stdout] 132 | struct Snake { [INFO] [stdout] | ----- fields in this struct [INFO] [stdout] 133 | dir: DirectionEnum, [INFO] [stdout] | ^^^ [INFO] [stdout] 134 | head: Piece, [INFO] [stdout] | ^^^^ [INFO] [stdout] 135 | tail: VecDeque [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `color` is never used [INFO] [stdout] --> src/lib.rs:102:12 [INFO] [stdout] | [INFO] [stdout] 101 | impl PieceType { [INFO] [stdout] | -------------- method in this implementation [INFO] [stdout] 102 | pub fn color(&self) -> JsValue { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `board`, `snake`, `food`, and `gameover` are never read [INFO] [stdout] --> src/lib.rs:140:9 [INFO] [stdout] | [INFO] [stdout] 139 | struct Game { [INFO] [stdout] | ---- fields in this struct [INFO] [stdout] 140 | pub board: Board, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 141 | snake: Snake, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 142 | food: Piece, [INFO] [stdout] | ^^^^ [INFO] [stdout] 143 | gameover: bool [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `piece_type`, `row`, and `col` are never read [INFO] [stdout] --> src/lib.rs:113:5 [INFO] [stdout] | [INFO] [stdout] 112 | struct Piece { [INFO] [stdout] | ----- fields in this struct [INFO] [stdout] 113 | piece_type: PieceType, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 114 | row: u32, [INFO] [stdout] | ^^^ [INFO] [stdout] 115 | col: u32 [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Piece` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `step`, and `get_gameover` are never used [INFO] [stdout] --> src/lib.rs:148:12 [INFO] [stdout] | [INFO] [stdout] 147 | impl Game { [INFO] [stdout] | --------- associated items in this implementation [INFO] [stdout] 148 | pub fn new(ctx: &CanvasRenderingContext2d, block_pixel_size: u32, block_width: u32, block_height: u32) -> Game { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 172 | pub fn step(&mut self, ctx: &CanvasRenderingContext2d, key: String) { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 177 | pub fn get_gameover(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `to_tail` and `same_pos` are never used [INFO] [stdout] --> src/lib.rs:119:12 [INFO] [stdout] | [INFO] [stdout] 118 | impl Piece { [INFO] [stdout] | ---------- methods in this implementation [INFO] [stdout] 119 | pub fn to_tail(&self) -> Piece { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 127 | pub fn same_pos(&self, rhs: &Piece) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `dir`, `head`, and `tail` are never read [INFO] [stdout] --> src/lib.rs:133:5 [INFO] [stdout] | [INFO] [stdout] 132 | struct Snake { [INFO] [stdout] | ----- fields in this struct [INFO] [stdout] 133 | dir: DirectionEnum, [INFO] [stdout] | ^^^ [INFO] [stdout] 134 | head: Piece, [INFO] [stdout] | ^^^^ [INFO] [stdout] 135 | tail: VecDeque [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `logic`, `draw_pieces`, and `random_unoccupied_point` are never used [INFO] [stdout] --> src/lib.rs:184:12 [INFO] [stdout] | [INFO] [stdout] 183 | impl Game { [INFO] [stdout] | --------- methods in this implementation [INFO] [stdout] 184 | pub fn logic(&mut self, key: &String) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 254 | fn draw_pieces(&self, ctx: &CanvasRenderingContext2d) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 263 | fn random_unoccupied_point(&self, occupied_points: &Vec<(u32, u32)>) -> (u32, u32) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `board`, `snake`, `food`, and `gameover` are never read [INFO] [stdout] --> src/lib.rs:140:9 [INFO] [stdout] | [INFO] [stdout] 139 | struct Game { [INFO] [stdout] | ---- fields in this struct [INFO] [stdout] 140 | pub board: Board, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 141 | snake: Snake, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 142 | food: Piece, [INFO] [stdout] | ^^^^ [INFO] [stdout] 143 | gameover: bool [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `step`, and `get_gameover` are never used [INFO] [stdout] --> src/lib.rs:148:12 [INFO] [stdout] | [INFO] [stdout] 147 | impl Game { [INFO] [stdout] | --------- associated items in this implementation [INFO] [stdout] 148 | pub fn new(ctx: &CanvasRenderingContext2d, block_pixel_size: u32, block_width: u32, block_height: u32) -> Game { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 172 | pub fn step(&mut self, ctx: &CanvasRenderingContext2d, key: String) { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 177 | pub fn get_gameover(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `logic`, `draw_pieces`, and `random_unoccupied_point` are never used [INFO] [stdout] --> src/lib.rs:184:12 [INFO] [stdout] | [INFO] [stdout] 183 | impl Game { [INFO] [stdout] | --------- methods in this implementation [INFO] [stdout] 184 | pub fn logic(&mut self, key: &String) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 254 | fn draw_pieces(&self, ctx: &CanvasRenderingContext2d) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 263 | fn random_unoccupied_point(&self, occupied_points: &Vec<(u32, u32)>) -> (u32, u32) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 14 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 14 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 14.45s [INFO] running `Command { std: "docker" "inspect" "fd34e166194d39aa5d4aa11514ced1b2ddfecb225a95ed13df478d5751bc5b75", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "fd34e166194d39aa5d4aa11514ced1b2ddfecb225a95ed13df478d5751bc5b75", kill_on_drop: false }` [INFO] [stdout] fd34e166194d39aa5d4aa11514ced1b2ddfecb225a95ed13df478d5751bc5b75 [INFO] checking bogedy/rust_snake against try#645bb72776a6a56a1a8f52631a44bd082b2ba509 for absurd-question-mark-desugar [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fbogedy%2Frust_snake" "/workspace/builds/worker-1-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc2/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/bogedy/rust_snake 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/bogedy/rust_snake [INFO] finished tweaking git repo https://github.com/bogedy/rust_snake [INFO] tweaked toml for git repo https://github.com/bogedy/rust_snake written to /workspace/builds/worker-1-tc2/source/Cargo.toml [INFO] crate git repo https://github.com/bogedy/rust_snake 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] [stderr] warning: unused manifest key: package.license_file [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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] 9fe79c01d66e98e772985fac47983056c63380ff644499093e78ac663eeb7e9a [INFO] running `Command { std: "docker" "start" "-a" "9fe79c01d66e98e772985fac47983056c63380ff644499093e78ac663eeb7e9a", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "9fe79c01d66e98e772985fac47983056c63380ff644499093e78ac663eeb7e9a", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "9fe79c01d66e98e772985fac47983056c63380ff644499093e78ac663eeb7e9a", kill_on_drop: false }` [INFO] [stdout] 9fe79c01d66e98e772985fac47983056c63380ff644499093e78ac663eeb7e9a [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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] 0406dbbdb2a5d628814b4e2de2f4296a28fa16943bbc80b9ae1f7cf324329600 [INFO] running `Command { std: "docker" "start" "-a" "0406dbbdb2a5d628814b4e2de2f4296a28fa16943bbc80b9ae1f7cf324329600", kill_on_drop: false }` [INFO] [stderr] warning: unused manifest key: package.license_file [INFO] [stderr] Compiling proc-macro2 v1.0.70 [INFO] [stderr] Compiling wasm-bindgen-shared v0.2.89 [INFO] [stderr] Compiling log v0.4.20 [INFO] [stderr] Compiling libc v0.2.151 [INFO] [stderr] Compiling bumpalo v3.14.0 [INFO] [stderr] Compiling once_cell v1.18.0 [INFO] [stderr] Compiling wasm-bindgen v0.2.89 [INFO] [stderr] Compiling quote v1.0.33 [INFO] [stderr] Compiling syn v2.0.39 [INFO] [stderr] Checking getrandom v0.2.11 [INFO] [stderr] Checking rand_core v0.6.4 [INFO] [stderr] Checking rand_chacha v0.3.1 [INFO] [stderr] Checking rand v0.8.5 [INFO] [stderr] Compiling wasm-bindgen-backend v0.2.89 [INFO] [stderr] Compiling wasm-bindgen-macro-support v0.2.89 [INFO] [stderr] Compiling wasm-bindgen-macro v0.2.89 [INFO] [stderr] Checking js-sys v0.3.66 [INFO] [stderr] Checking web-sys v0.3.66 [INFO] [stderr] Checking rust_snake v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `RangeBounds` [INFO] [stdout] --> src/lib.rs:4:21 [INFO] [stdout] | [INFO] [stdout] 4 | use std::ops::{Add, RangeBounds}; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `block_pixel_size`, `block_width`, and `block_height` are never read [INFO] [stdout] --> src/lib.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 11 | struct Board { [INFO] [stdout] | ----- fields in this struct [INFO] [stdout] 12 | block_pixel_size: u32, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] 13 | block_width: u32, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 14 | block_height: u32, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Board` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `draw_square`, `clear_board`, and `test_board_draw` are never used [INFO] [stdout] --> src/lib.rs:19:8 [INFO] [stdout] | [INFO] [stdout] 18 | impl Board { [INFO] [stdout] | ---------- methods in this implementation [INFO] [stdout] 19 | fn draw_square (&self, ctx: &CanvasRenderingContext2d, row: u32, col: u32, color: &JsValue) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 28 | pub fn clear_board(&self, ctx: &CanvasRenderingContext2d){ [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 35 | pub fn test_board_draw(&self, ctx: &CanvasRenderingContext2d) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `draw_piece` is never used [INFO] [stdout] --> src/lib.rs:42:12 [INFO] [stdout] | [INFO] [stdout] 41 | impl Board { [INFO] [stdout] | ---------- method in this implementation [INFO] [stdout] 42 | pub fn draw_piece(&self, ctx: &CanvasRenderingContext2d, piece: &Piece) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Up`, `Down`, `Left`, and `Right` are never constructed [INFO] [stdout] --> src/lib.rs:51:5 [INFO] [stdout] | [INFO] [stdout] 50 | enum DirectionEnum { [INFO] [stdout] | ------------- variants in this enum [INFO] [stdout] 51 | Up, [INFO] [stdout] | ^^ [INFO] [stdout] 52 | Down, [INFO] [stdout] | ^^^^ [INFO] [stdout] 53 | Left, [INFO] [stdout] | ^^^^ [INFO] [stdout] 54 | Right, [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `direction_vector` and `from_string` are never used [INFO] [stdout] --> src/lib.rs:64:12 [INFO] [stdout] | [INFO] [stdout] 63 | impl DirectionEnum { [INFO] [stdout] | ------------------ associated items in this implementation [INFO] [stdout] 64 | pub fn direction_vector(&self) -> DirectionVec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 73 | pub fn from_string(direction: &str) -> Option { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Food`, `Tail`, and `Head` are never constructed [INFO] [stdout] --> src/lib.rs:96:5 [INFO] [stdout] | [INFO] [stdout] 95 | enum PieceType { [INFO] [stdout] | --------- variants in this enum [INFO] [stdout] 96 | Food, [INFO] [stdout] | ^^^^ [INFO] [stdout] 97 | Tail, [INFO] [stdout] | ^^^^ [INFO] [stdout] 98 | Head, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `PieceType` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `color` is never used [INFO] [stdout] --> src/lib.rs:102:12 [INFO] [stdout] | [INFO] [stdout] 101 | impl PieceType { [INFO] [stdout] | -------------- method in this implementation [INFO] [stdout] 102 | pub fn color(&self) -> JsValue { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `piece_type`, `row`, and `col` are never read [INFO] [stdout] --> src/lib.rs:113:5 [INFO] [stdout] | [INFO] [stdout] 112 | struct Piece { [INFO] [stdout] | ----- fields in this struct [INFO] [stdout] 113 | piece_type: PieceType, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 114 | row: u32, [INFO] [stdout] | ^^^ [INFO] [stdout] 115 | col: u32 [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Piece` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `to_tail` and `same_pos` are never used [INFO] [stdout] --> src/lib.rs:119:12 [INFO] [stdout] | [INFO] [stdout] 118 | impl Piece { [INFO] [stdout] | ---------- methods in this implementation [INFO] [stdout] 119 | pub fn to_tail(&self) -> Piece { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 127 | pub fn same_pos(&self, rhs: &Piece) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `dir`, `head`, and `tail` are never read [INFO] [stdout] --> src/lib.rs:133:5 [INFO] [stdout] | [INFO] [stdout] 132 | struct Snake { [INFO] [stdout] | ----- fields in this struct [INFO] [stdout] 133 | dir: DirectionEnum, [INFO] [stdout] | ^^^ [INFO] [stdout] 134 | head: Piece, [INFO] [stdout] | ^^^^ [INFO] [stdout] 135 | tail: VecDeque [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `board`, `snake`, `food`, and `gameover` are never read [INFO] [stdout] --> src/lib.rs:140:9 [INFO] [stdout] | [INFO] [stdout] 139 | struct Game { [INFO] [stdout] | ---- fields in this struct [INFO] [stdout] 140 | pub board: Board, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 141 | snake: Snake, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 142 | food: Piece, [INFO] [stdout] | ^^^^ [INFO] [stdout] 143 | gameover: bool [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `step`, and `get_gameover` are never used [INFO] [stdout] --> src/lib.rs:148:12 [INFO] [stdout] | [INFO] [stdout] 147 | impl Game { [INFO] [stdout] | --------- associated items in this implementation [INFO] [stdout] 148 | pub fn new(ctx: &CanvasRenderingContext2d, block_pixel_size: u32, block_width: u32, block_height: u32) -> Game { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 172 | pub fn step(&mut self, ctx: &CanvasRenderingContext2d, key: String) { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 177 | pub fn get_gameover(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `logic`, `draw_pieces`, and `random_unoccupied_point` are never used [INFO] [stdout] --> src/lib.rs:184:12 [INFO] [stdout] | [INFO] [stdout] 183 | impl Game { [INFO] [stdout] | --------- methods in this implementation [INFO] [stdout] 184 | pub fn logic(&mut self, key: &String) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 254 | fn draw_pieces(&self, ctx: &CanvasRenderingContext2d) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 263 | fn random_unoccupied_point(&self, occupied_points: &Vec<(u32, u32)>) -> (u32, u32) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 14 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `RangeBounds` [INFO] [stdout] --> src/lib.rs:4:21 [INFO] [stdout] | [INFO] [stdout] 4 | use std::ops::{Add, RangeBounds}; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `block_pixel_size`, `block_width`, and `block_height` are never read [INFO] [stdout] --> src/lib.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 11 | struct Board { [INFO] [stdout] | ----- fields in this struct [INFO] [stdout] 12 | block_pixel_size: u32, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] 13 | block_width: u32, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 14 | block_height: u32, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Board` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `draw_square`, `clear_board`, and `test_board_draw` are never used [INFO] [stdout] --> src/lib.rs:19:8 [INFO] [stdout] | [INFO] [stdout] 18 | impl Board { [INFO] [stdout] | ---------- methods in this implementation [INFO] [stdout] 19 | fn draw_square (&self, ctx: &CanvasRenderingContext2d, row: u32, col: u32, color: &JsValue) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 28 | pub fn clear_board(&self, ctx: &CanvasRenderingContext2d){ [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 35 | pub fn test_board_draw(&self, ctx: &CanvasRenderingContext2d) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `draw_piece` is never used [INFO] [stdout] --> src/lib.rs:42:12 [INFO] [stdout] | [INFO] [stdout] 41 | impl Board { [INFO] [stdout] | ---------- method in this implementation [INFO] [stdout] 42 | pub fn draw_piece(&self, ctx: &CanvasRenderingContext2d, piece: &Piece) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Up`, `Down`, `Left`, and `Right` are never constructed [INFO] [stdout] --> src/lib.rs:51:5 [INFO] [stdout] | [INFO] [stdout] 50 | enum DirectionEnum { [INFO] [stdout] | ------------- variants in this enum [INFO] [stdout] 51 | Up, [INFO] [stdout] | ^^ [INFO] [stdout] 52 | Down, [INFO] [stdout] | ^^^^ [INFO] [stdout] 53 | Left, [INFO] [stdout] | ^^^^ [INFO] [stdout] 54 | Right, [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `direction_vector` and `from_string` are never used [INFO] [stdout] --> src/lib.rs:64:12 [INFO] [stdout] | [INFO] [stdout] 63 | impl DirectionEnum { [INFO] [stdout] | ------------------ associated items in this implementation [INFO] [stdout] 64 | pub fn direction_vector(&self) -> DirectionVec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 73 | pub fn from_string(direction: &str) -> Option { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Food`, `Tail`, and `Head` are never constructed [INFO] [stdout] --> src/lib.rs:96:5 [INFO] [stdout] | [INFO] [stdout] 95 | enum PieceType { [INFO] [stdout] | --------- variants in this enum [INFO] [stdout] 96 | Food, [INFO] [stdout] | ^^^^ [INFO] [stdout] 97 | Tail, [INFO] [stdout] | ^^^^ [INFO] [stdout] 98 | Head, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `PieceType` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `color` is never used [INFO] [stdout] --> src/lib.rs:102:12 [INFO] [stdout] | [INFO] [stdout] 101 | impl PieceType { [INFO] [stdout] | -------------- method in this implementation [INFO] [stdout] 102 | pub fn color(&self) -> JsValue { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `piece_type`, `row`, and `col` are never read [INFO] [stdout] --> src/lib.rs:113:5 [INFO] [stdout] | [INFO] [stdout] 112 | struct Piece { [INFO] [stdout] | ----- fields in this struct [INFO] [stdout] 113 | piece_type: PieceType, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 114 | row: u32, [INFO] [stdout] | ^^^ [INFO] [stdout] 115 | col: u32 [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Piece` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `to_tail` and `same_pos` are never used [INFO] [stdout] --> src/lib.rs:119:12 [INFO] [stdout] | [INFO] [stdout] 118 | impl Piece { [INFO] [stdout] | ---------- methods in this implementation [INFO] [stdout] 119 | pub fn to_tail(&self) -> Piece { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 127 | pub fn same_pos(&self, rhs: &Piece) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `dir`, `head`, and `tail` are never read [INFO] [stdout] --> src/lib.rs:133:5 [INFO] [stdout] | [INFO] [stdout] 132 | struct Snake { [INFO] [stdout] | ----- fields in this struct [INFO] [stdout] 133 | dir: DirectionEnum, [INFO] [stdout] | ^^^ [INFO] [stdout] 134 | head: Piece, [INFO] [stdout] | ^^^^ [INFO] [stdout] 135 | tail: VecDeque [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `board`, `snake`, `food`, and `gameover` are never read [INFO] [stdout] --> src/lib.rs:140:9 [INFO] [stdout] | [INFO] [stdout] 139 | struct Game { [INFO] [stdout] | ---- fields in this struct [INFO] [stdout] 140 | pub board: Board, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 141 | snake: Snake, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 142 | food: Piece, [INFO] [stdout] | ^^^^ [INFO] [stdout] 143 | gameover: bool [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `step`, and `get_gameover` are never used [INFO] [stdout] --> src/lib.rs:148:12 [INFO] [stdout] | [INFO] [stdout] 147 | impl Game { [INFO] [stdout] | --------- associated items in this implementation [INFO] [stdout] 148 | pub fn new(ctx: &CanvasRenderingContext2d, block_pixel_size: u32, block_width: u32, block_height: u32) -> Game { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 172 | pub fn step(&mut self, ctx: &CanvasRenderingContext2d, key: String) { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 177 | pub fn get_gameover(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `logic`, `draw_pieces`, and `random_unoccupied_point` are never used [INFO] [stdout] --> src/lib.rs:184:12 [INFO] [stdout] | [INFO] [stdout] 183 | impl Game { [INFO] [stdout] | --------- methods in this implementation [INFO] [stdout] 184 | pub fn logic(&mut self, key: &String) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 254 | fn draw_pieces(&self, ctx: &CanvasRenderingContext2d) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 263 | fn random_unoccupied_point(&self, occupied_points: &Vec<(u32, u32)>) -> (u32, u32) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 14 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 13.88s [INFO] running `Command { std: "docker" "inspect" "0406dbbdb2a5d628814b4e2de2f4296a28fa16943bbc80b9ae1f7cf324329600", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "0406dbbdb2a5d628814b4e2de2f4296a28fa16943bbc80b9ae1f7cf324329600", kill_on_drop: false }` [INFO] [stdout] 0406dbbdb2a5d628814b4e2de2f4296a28fa16943bbc80b9ae1f7cf324329600