[INFO] cloning repository https://github.com/LyricalToxic/rust-2048game [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/LyricalToxic/rust-2048game" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FLyricalToxic%2Frust-2048game", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FLyricalToxic%2Frust-2048game'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 201e1b986d82afb7881f6612e8f4599661e3f913 [INFO] checking LyricalToxic/rust-2048game against try#f27166d4c64dc29edc5ea3214357f191edf8b635 for pr-148329 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FLyricalToxic%2Frust-2048game" "/workspace/builds/worker-0-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc2/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/LyricalToxic/rust-2048game [INFO] finished tweaking git repo https://github.com/LyricalToxic/rust-2048game [INFO] tweaked toml for git repo https://github.com/LyricalToxic/rust-2048game written to /workspace/builds/worker-0-tc2/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/LyricalToxic/rust-2048game on toolchain f27166d4c64dc29edc5ea3214357f191edf8b635 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+f27166d4c64dc29edc5ea3214357f191edf8b635" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/LyricalToxic/rust-2048game 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" "+f27166d4c64dc29edc5ea3214357f191edf8b635" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded piston-viewport v1.0.2 [INFO] [stderr] Downloaded shader_version v0.7.0 [INFO] [stderr] Downloaded piston-graphics_api_version v1.0.1 [INFO] [stderr] Downloaded pistoncore-input v1.0.1 [INFO] [stderr] Downloaded piston-float v1.0.1 [INFO] [stderr] Downloaded pistoncore-window v1.0.0 [INFO] [stderr] Downloaded piston-shaders_graphics2d v0.4.0 [INFO] [stderr] Downloaded piston2d-graphics v0.44.0 [INFO] [stderr] Downloaded pistoncore-event_loop v0.54.0 [INFO] [stderr] Downloaded piston-gfx_texture v0.44.0 [INFO] [stderr] Downloaded piston2d-gfx_graphics v0.80.0 [INFO] [stderr] Downloaded interpolation v0.3.0 [INFO] [stderr] Downloaded glutin_egl_sys v0.5.1 [INFO] [stderr] Downloaded piston2d-opengl_graphics v0.83.0 [INFO] [stderr] Downloaded spin_sleep v1.1.1 [INFO] [stderr] Downloaded piston_window v0.130.0 [INFO] [stderr] Downloaded piston v0.54.0 [INFO] [stderr] Downloaded glutin v0.30.10 [INFO] [stderr] Downloaded pistoncore-glutin_window v0.72.0 [INFO] [stderr] Downloaded piston-texture v0.9.0 [INFO] [stderr] Downloaded gl v0.13.0 [INFO] [stderr] Downloaded pistoncore-sdl2_window v0.69.0 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+f27166d4c64dc29edc5ea3214357f191edf8b635" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 477299f2e8f774ab7285f4e205be394df40fdd7b2d723a5f54b2b84600588274 [INFO] running `Command { std: "docker" "start" "-a" "477299f2e8f774ab7285f4e205be394df40fdd7b2d723a5f54b2b84600588274", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "477299f2e8f774ab7285f4e205be394df40fdd7b2d723a5f54b2b84600588274", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "477299f2e8f774ab7285f4e205be394df40fdd7b2d723a5f54b2b84600588274", kill_on_drop: false }` [INFO] [stdout] 477299f2e8f774ab7285f4e205be394df40fdd7b2d723a5f54b2b84600588274 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+f27166d4c64dc29edc5ea3214357f191edf8b635" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 35b2187fc76f9330ac6f62a9b428004b996eaccf263455971edc53d5ae42e385 [INFO] running `Command { std: "docker" "start" "-a" "35b2187fc76f9330ac6f62a9b428004b996eaccf263455971edc53d5ae42e385", kill_on_drop: false }` [INFO] [stderr] Compiling xml-rs v0.8.19 [INFO] [stderr] Compiling libc v0.2.149 [INFO] [stderr] Compiling pkg-config v0.3.27 [INFO] [stderr] Compiling log v0.4.20 [INFO] [stderr] Checking smallvec v1.11.1 [INFO] [stderr] Checking libloading v0.8.1 [INFO] [stderr] Compiling memoffset v0.9.0 [INFO] [stderr] Compiling crossbeam-utils v0.8.16 [INFO] [stderr] Compiling crossbeam-epoch v0.9.15 [INFO] [stderr] Checking miniz_oxide v0.7.1 [INFO] [stderr] Checking bytemuck v1.14.0 [INFO] [stderr] Checking piston-float v1.0.1 [INFO] [stderr] Checking fdeflate v0.3.0 [INFO] [stderr] Compiling syn v2.0.38 [INFO] [stderr] Compiling rayon-core v1.12.0 [INFO] [stderr] Checking piston-viewport v1.0.2 [INFO] [stderr] Compiling lock_api v0.4.11 [INFO] [stderr] Compiling slotmap v1.0.6 [INFO] [stderr] Compiling num-traits v0.2.17 [INFO] [stderr] Compiling serde v1.0.190 [INFO] [stderr] Checking piston-graphics_api_version v1.0.1 [INFO] [stderr] Checking dlib v0.5.2 [INFO] [stderr] Checking memchr v2.6.4 [INFO] [stderr] Checking either v1.9.0 [INFO] [stderr] Checking ttf-parser v0.19.2 [INFO] [stderr] Checking tiny-skia-path v0.8.4 [INFO] [stderr] Checking draw_state v0.8.0 [INFO] [stderr] Checking zune-inflate v0.2.54 [INFO] [stderr] Compiling version-compare v0.1.1 [INFO] [stderr] Checking flate2 v1.0.28 [INFO] [stderr] Checking spin v0.9.8 [INFO] [stderr] Checking owned_ttf_parser v0.15.2 [INFO] [stderr] Compiling wayland-scanner v0.29.5 [INFO] [stderr] Compiling gl_generator v0.14.0 [INFO] [stderr] Checking nom v7.1.3 [INFO] [stderr] Compiling gl_generator v0.13.1 [INFO] [stderr] Checking flume v0.11.0 [INFO] [stderr] Compiling sdl2-sys v0.35.2 [INFO] [stderr] Compiling wayland-sys v0.29.5 [INFO] [stderr] Checking crossbeam-deque v0.8.3 [INFO] [stderr] Compiling x11-dl v2.21.0 [INFO] [stderr] Compiling smithay-client-toolkit v0.16.1 [INFO] [stderr] Compiling wayland-sys v0.30.1 [INFO] [stderr] Checking png v0.17.10 [INFO] [stderr] Checking gfx_core v0.9.2 [INFO] [stderr] Checking gif v0.12.0 [INFO] [stderr] Checking shader_version v0.7.0 [INFO] [stderr] Checking qoi v0.4.1 [INFO] [stderr] Compiling gl v0.13.0 [INFO] [stderr] Compiling glutin v0.30.10 [INFO] [stderr] Checking piston-texture v0.9.0 [INFO] [stderr] Checking raw-window-handle v0.5.2 [INFO] [stderr] Checking rayon v1.8.0 [INFO] [stderr] Checking exr v1.71.0 [INFO] [stderr] Checking num-integer v0.1.45 [INFO] [stderr] Compiling glutin_glx_sys v0.4.0 [INFO] [stderr] Compiling glutin_egl_sys v0.5.1 [INFO] [stderr] Compiling gfx_gl v0.6.1 [INFO] [stderr] Checking owned_ttf_parser v0.19.0 [INFO] [stderr] Checking ab_glyph v0.2.22 [INFO] [stderr] Checking nix v0.24.3 [INFO] [stderr] Checking nix v0.25.1 [INFO] [stderr] Checking memmap2 v0.5.10 [INFO] [stderr] Checking tiny-skia v0.8.4 [INFO] [stderr] Checking num-rational v0.4.1 [INFO] [stderr] Checking mio v0.8.9 [INFO] [stderr] Checking rusttype v0.9.3 [INFO] [stderr] Compiling wayland-client v0.29.5 [INFO] [stderr] Compiling wayland-protocols v0.29.5 [INFO] [stderr] Compiling winit v0.28.7 [INFO] [stderr] Checking vecmath v1.0.0 [INFO] [stderr] Compiling glutin-winit v0.3.0 [INFO] [stderr] Compiling thiserror-impl v1.0.50 [INFO] [stderr] Compiling serde_derive v1.0.190 [INFO] [stderr] Checking percent-encoding v2.3.0 [INFO] [stderr] Checking interpolation v0.3.0 [INFO] [stderr] Checking read_color v1.0.0 [INFO] [stderr] Checking xcursor v0.3.4 [INFO] [stderr] Checking piston2d-graphics v0.44.0 [INFO] [stderr] Checking gfx v0.18.3 [INFO] [stderr] Checking getrandom v0.2.10 [INFO] [stderr] Checking piston-shaders_graphics2d v0.4.0 [INFO] [stderr] Checking spin_sleep v1.1.1 [INFO] [stderr] Compiling sdl2 v0.35.2 [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] Checking wayland-commons v0.29.5 [INFO] [stderr] Checking thiserror v1.0.50 [INFO] [stderr] Checking jpeg-decoder v0.3.0 [INFO] [stderr] Checking gfx_device_gl v0.16.2 [INFO] [stderr] Checking calloop v0.10.6 [INFO] [stderr] Checking wayland-cursor v0.29.5 [INFO] [stderr] Checking tiff v0.9.0 [INFO] [stderr] Checking image v0.24.7 [INFO] [stderr] Checking pistoncore-input v1.0.1 [INFO] [stderr] Checking pistoncore-window v1.0.0 [INFO] [stderr] Checking pistoncore-event_loop v0.54.0 [INFO] [stderr] Checking pistoncore-sdl2_window v0.69.0 [INFO] [stderr] Checking piston v0.54.0 [INFO] [stderr] Checking piston-gfx_texture v0.44.0 [INFO] [stderr] Checking piston2d-opengl_graphics v0.83.0 [INFO] [stderr] Checking piston2d-gfx_graphics v0.80.0 [INFO] [stderr] Checking sctk-adwaita v0.5.4 [INFO] [stderr] Checking pistoncore-glutin_window v0.72.0 [INFO] [stderr] Checking piston_window v0.130.0 [INFO] [stderr] Checking game2048 v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] error[E0425]: cannot find value `index` in this scope [INFO] [stdout] --> src/grid_cell/grid_cell.rs:34:20 [INFO] [stdout] | [INFO] [stdout] 34 | self.cells[index] = new_cell; [INFO] [stdout] | ^^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `row` in this scope [INFO] [stdout] --> src/layout/layout.rs:87:32 [INFO] [stdout] | [INFO] [stdout] 87 | self.move_cell(row, col, row, col + 1); [INFO] [stdout] | ^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `col` in this scope [INFO] [stdout] --> src/layout/layout.rs:87:37 [INFO] [stdout] | [INFO] [stdout] 87 | self.move_cell(row, col, row, col + 1); [INFO] [stdout] | ^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `row` in this scope [INFO] [stdout] --> src/layout/layout.rs:87:42 [INFO] [stdout] | [INFO] [stdout] 87 | self.move_cell(row, col, row, col + 1); [INFO] [stdout] | ^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `col` in this scope [INFO] [stdout] --> src/layout/layout.rs:87:47 [INFO] [stdout] | [INFO] [stdout] 87 | self.move_cell(row, col, row, col + 1); [INFO] [stdout] | ^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the feature `inherent_associated_types` is incomplete and may not be safe to use and/or cause compiler crashes [INFO] [stdout] --> src/lib.rs:1:12 [INFO] [stdout] | [INFO] [stdout] 1 | #![feature(inherent_associated_types)] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #8995 for more information [INFO] [stdout] = note: `#[warn(incomplete_features)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections::HashMap` [INFO] [stdout] --> src/lib.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use std::collections::HashMap; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Line` and `clear` [INFO] [stdout] --> src/lib.rs:6:32 [INFO] [stdout] | [INFO] [stdout] 6 | use graphics::{CharacterCache, clear, Context, Graphics, Line, rectangle, Text}; [INFO] [stdout] | ^^^^^ ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `GREEN` [INFO] [stdout] --> src/lib.rs:7:30 [INFO] [stdout] | [INFO] [stdout] 7 | use graphics::color::{BLACK, GREEN, WHITE}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `graphics::grid::Grid` [INFO] [stdout] --> src/lib.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use graphics::grid::Grid; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `graphics::line::Shape` [INFO] [stdout] --> src/lib.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | use graphics::line::Shape; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `GlGraphics` and `OpenGL` [INFO] [stdout] --> src/lib.rs:11:23 [INFO] [stdout] | [INFO] [stdout] 11 | use opengl_graphics::{GlGraphics, OpenGL}; [INFO] [stdout] | ^^^^^^^^^^ ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `opengl_graphics::GlyphCache` [INFO] [stdout] --> src/lib.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 12 | use opengl_graphics::GlyphCache; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `ButtonState` and `Button` [INFO] [stdout] --> src/lib.rs:13:14 [INFO] [stdout] | [INFO] [stdout] 13 | use piston::{Button, ButtonState}; [INFO] [stdout] | ^^^^^^ ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `ButtonArgs`, `RenderArgs`, and `UpdateArgs` [INFO] [stdout] --> src/lib.rs:14:21 [INFO] [stdout] | [INFO] [stdout] 14 | use piston::input::{ButtonArgs, RenderArgs, UpdateArgs}; [INFO] [stdout] | ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `piston::Key` [INFO] [stdout] --> src/lib.rs:15:5 [INFO] [stdout] | [INFO] [stdout] 15 | use piston::Key; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `piston_window::prelude::*` [INFO] [stdout] --> src/lib.rs:16:5 [INFO] [stdout] | [INFO] [stdout] 16 | use piston_window::prelude::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Rng`, `random`, and `thread_rng` [INFO] [stdout] --> src/lib.rs:17:12 [INFO] [stdout] | [INFO] [stdout] 17 | use rand::{random, Rng, thread_rng}; [INFO] [stdout] | ^^^^^^ ^^^ ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `game_field::game_field::GameField` [INFO] [stdout] --> src/lib.rs:19:5 [INFO] [stdout] | [INFO] [stdout] 19 | use game_field::game_field::GameField; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `index` in this scope [INFO] [stdout] --> src/grid_cell/grid_cell.rs:34:20 [INFO] [stdout] | [INFO] [stdout] 34 | self.cells[index] = new_cell; [INFO] [stdout] | ^^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `row` in this scope [INFO] [stdout] --> src/layout/layout.rs:87:32 [INFO] [stdout] | [INFO] [stdout] 87 | self.move_cell(row, col, row, col + 1); [INFO] [stdout] | ^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `col` in this scope [INFO] [stdout] --> src/layout/layout.rs:87:37 [INFO] [stdout] | [INFO] [stdout] 87 | self.move_cell(row, col, row, col + 1); [INFO] [stdout] | ^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `row` in this scope [INFO] [stdout] --> src/layout/layout.rs:87:42 [INFO] [stdout] | [INFO] [stdout] 87 | self.move_cell(row, col, row, col + 1); [INFO] [stdout] | ^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `col` in this scope [INFO] [stdout] --> src/layout/layout.rs:87:47 [INFO] [stdout] | [INFO] [stdout] 87 | self.move_cell(row, col, row, col + 1); [INFO] [stdout] | ^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the feature `inherent_associated_types` is incomplete and may not be safe to use and/or cause compiler crashes [INFO] [stdout] --> src/lib.rs:1:12 [INFO] [stdout] | [INFO] [stdout] 1 | #![feature(inherent_associated_types)] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #8995 for more information [INFO] [stdout] = note: `#[warn(incomplete_features)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections::HashMap` [INFO] [stdout] --> src/lib.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use std::collections::HashMap; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Line` and `clear` [INFO] [stdout] --> src/lib.rs:6:32 [INFO] [stdout] | [INFO] [stdout] 6 | use graphics::{CharacterCache, clear, Context, Graphics, Line, rectangle, Text}; [INFO] [stdout] | ^^^^^ ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `GREEN` [INFO] [stdout] --> src/lib.rs:7:30 [INFO] [stdout] | [INFO] [stdout] 7 | use graphics::color::{BLACK, GREEN, WHITE}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `graphics::grid::Grid` [INFO] [stdout] --> src/lib.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use graphics::grid::Grid; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `graphics::line::Shape` [INFO] [stdout] --> src/lib.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | use graphics::line::Shape; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `GlGraphics` and `OpenGL` [INFO] [stdout] --> src/lib.rs:11:23 [INFO] [stdout] | [INFO] [stdout] 11 | use opengl_graphics::{GlGraphics, OpenGL}; [INFO] [stdout] | ^^^^^^^^^^ ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `opengl_graphics::GlyphCache` [INFO] [stdout] --> src/lib.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 12 | use opengl_graphics::GlyphCache; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `ButtonState` and `Button` [INFO] [stdout] --> src/lib.rs:13:14 [INFO] [stdout] | [INFO] [stdout] 13 | use piston::{Button, ButtonState}; [INFO] [stdout] | ^^^^^^ ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `ButtonArgs`, `RenderArgs`, and `UpdateArgs` [INFO] [stdout] --> src/lib.rs:14:21 [INFO] [stdout] | [INFO] [stdout] 14 | use piston::input::{ButtonArgs, RenderArgs, UpdateArgs}; [INFO] [stdout] | ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `piston::Key` [INFO] [stdout] --> src/lib.rs:15:5 [INFO] [stdout] | [INFO] [stdout] 15 | use piston::Key; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `piston_window::prelude::*` [INFO] [stdout] --> src/lib.rs:16:5 [INFO] [stdout] | [INFO] [stdout] 16 | use piston_window::prelude::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Rng`, `random`, and `thread_rng` [INFO] [stdout] --> src/lib.rs:17:12 [INFO] [stdout] | [INFO] [stdout] 17 | use rand::{random, Rng, thread_rng}; [INFO] [stdout] | ^^^^^^ ^^^ ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `game_field::game_field::GameField` [INFO] [stdout] --> src/lib.rs:19:5 [INFO] [stdout] | [INFO] [stdout] 19 | use game_field::game_field::GameField; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: a value of type `std::slice::Iter<'_, game_cell::Cell2048>` cannot be built from an iterator over elements of type `&game_cell::Cell2048` [INFO] [stdout] --> src/grid_cell/grid_cell.rs:42:46 [INFO] [stdout] | [INFO] [stdout] 42 | self.cells.iter().flat_map(|row|row).collect() [INFO] [stdout] | ^^^^^^^ value of type `std::slice::Iter<'_, game_cell::Cell2048>` cannot be built from `std::iter::Iterator` [INFO] [stdout] | [INFO] [stdout] = help: the trait `FromIterator<&game_cell::Cell2048>` is not implemented for `std::slice::Iter<'_, game_cell::Cell2048>` [INFO] [stdout] note: the method call chain might not have had the expected associated types [INFO] [stdout] --> src/grid_cell/grid_cell.rs:42:27 [INFO] [stdout] | [INFO] [stdout] 42 | self.cells.iter().flat_map(|row|row).collect() [INFO] [stdout] | ---------- ------ ^^^^^^^^^^^^^^^^^^ `Iterator::Item` changed to `&Cell2048` here [INFO] [stdout] | | | [INFO] [stdout] | | `Iterator::Item` is `&Vec` here [INFO] [stdout] | this expression has type `Vec>` [INFO] [stdout] note: required by a bound in `collect` [INFO] [stdout] --> /rustc/f27166d4c64dc29edc5ea3214357f191edf8b635/library/core/src/iter/traits/iterator.rs:2015:5 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: a value of type `std::slice::Iter<'_, game_cell::Cell2048>` cannot be built from an iterator over elements of type `&game_cell::Cell2048` [INFO] [stdout] --> src/grid_cell/grid_cell.rs:42:46 [INFO] [stdout] | [INFO] [stdout] 42 | self.cells.iter().flat_map(|row|row).collect() [INFO] [stdout] | ^^^^^^^ value of type `std::slice::Iter<'_, game_cell::Cell2048>` cannot be built from `std::iter::Iterator` [INFO] [stdout] | [INFO] [stdout] = help: the trait `FromIterator<&game_cell::Cell2048>` is not implemented for `std::slice::Iter<'_, game_cell::Cell2048>` [INFO] [stdout] note: the method call chain might not have had the expected associated types [INFO] [stdout] --> src/grid_cell/grid_cell.rs:42:27 [INFO] [stdout] | [INFO] [stdout] 42 | self.cells.iter().flat_map(|row|row).collect() [INFO] [stdout] | ---------- ------ ^^^^^^^^^^^^^^^^^^ `Iterator::Item` changed to `&Cell2048` here [INFO] [stdout] | | | [INFO] [stdout] | | `Iterator::Item` is `&Vec` here [INFO] [stdout] | this expression has type `Vec>` [INFO] [stdout] note: required by a bound in `collect` [INFO] [stdout] --> /rustc/f27166d4c64dc29edc5ea3214357f191edf8b635/library/core/src/iter/traits/iterator.rs:2015:5 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0061]: this function takes 3 arguments but 1 argument was supplied [INFO] [stdout] --> src/layout/layout.rs:59:24 [INFO] [stdout] | [INFO] [stdout] 59 | let new_cell = Cell2048::new(&String::from(value)); [INFO] [stdout] | ^^^^^^^^^^^^^---------------------- two arguments of type `u32` and `u32` are missing [INFO] [stdout] | [INFO] [stdout] note: associated function defined here [INFO] [stdout] --> src/game_cell.rs:15:19 [INFO] [stdout] | [INFO] [stdout] 15 | pub(crate) fn new(value: &str, row: u32, col: u32) -> Self { [INFO] [stdout] | ^^^ -------- -------- [INFO] [stdout] help: provide the arguments [INFO] [stdout] | [INFO] [stdout] 59 | let new_cell = Cell2048::new(&String::from(value), /* u32 */, /* u32 */); [INFO] [stdout] | ++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0061]: this function takes 3 arguments but 1 argument was supplied [INFO] [stdout] --> src/layout/layout.rs:59:24 [INFO] [stdout] | [INFO] [stdout] 59 | let new_cell = Cell2048::new(&String::from(value)); [INFO] [stdout] | ^^^^^^^^^^^^^---------------------- two arguments of type `u32` and `u32` are missing [INFO] [stdout] | [INFO] [stdout] note: associated function defined here [INFO] [stdout] --> src/game_cell.rs:15:19 [INFO] [stdout] | [INFO] [stdout] 15 | pub(crate) fn new(value: &str, row: u32, col: u32) -> Self { [INFO] [stdout] | ^^^ -------- -------- [INFO] [stdout] help: provide the arguments [INFO] [stdout] | [INFO] [stdout] 59 | let new_cell = Cell2048::new(&String::from(value), /* u32 */, /* u32 */); [INFO] [stdout] | ++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0061]: this method takes 3 arguments but 2 arguments were supplied [INFO] [stdout] --> src/layout/layout.rs:63:20 [INFO] [stdout] | [INFO] [stdout] 63 | self.cells.insert(chosen_cell_index, new_cell); [INFO] [stdout] | ^^^^^^ -------- argument #2 of type `usize` is missing [INFO] [stdout] | [INFO] [stdout] note: expected `usize`, found `(usize, usize)` [INFO] [stdout] --> src/layout/layout.rs:63:27 [INFO] [stdout] | [INFO] [stdout] 63 | self.cells.insert(chosen_cell_index, new_cell); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: expected type `usize` [INFO] [stdout] found tuple `(usize, usize)` [INFO] [stdout] note: method defined here [INFO] [stdout] --> src/grid_cell/grid_cell.rs:33:12 [INFO] [stdout] | [INFO] [stdout] 33 | pub fn insert(&self, row: usize, col:usize, new_cell: Cell2048) { [INFO] [stdout] | ^^^^^^ ---------- --------- [INFO] [stdout] help: provide the argument [INFO] [stdout] | [INFO] [stdout] 63 - self.cells.insert(chosen_cell_index, new_cell); [INFO] [stdout] 63 + self.cells.insert(/* usize */, /* usize */, new_cell); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0061]: this method takes 3 arguments but 2 arguments were supplied [INFO] [stdout] --> src/layout/layout.rs:63:20 [INFO] [stdout] | [INFO] [stdout] 63 | self.cells.insert(chosen_cell_index, new_cell); [INFO] [stdout] | ^^^^^^ -------- argument #2 of type `usize` is missing [INFO] [stdout] | [INFO] [stdout] note: expected `usize`, found `(usize, usize)` [INFO] [stdout] --> src/layout/layout.rs:63:27 [INFO] [stdout] | [INFO] [stdout] 63 | self.cells.insert(chosen_cell_index, new_cell); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: expected type `usize` [INFO] [stdout] found tuple `(usize, usize)` [INFO] [stdout] note: method defined here [INFO] [stdout] --> src/grid_cell/grid_cell.rs:33:12 [INFO] [stdout] | [INFO] [stdout] 33 | pub fn insert(&self, row: usize, col:usize, new_cell: Cell2048) { [INFO] [stdout] | ^^^^^^ ---------- --------- [INFO] [stdout] help: provide the argument [INFO] [stdout] | [INFO] [stdout] 63 - self.cells.insert(chosen_cell_index, new_cell); [INFO] [stdout] 63 + self.cells.insert(/* usize */, /* usize */, new_cell); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/layout/layout.rs:64:54 [INFO] [stdout] | [INFO] [stdout] 64 | let (row, col) = self.cells.index_to_row_col(chosen_cell_index); [INFO] [stdout] | ---------------- ^^^^^^^^^^^^^^^^^ expected `usize`, found `(usize, usize)` [INFO] [stdout] | | [INFO] [stdout] | arguments to this method are incorrect [INFO] [stdout] | [INFO] [stdout] = note: expected type `usize` [INFO] [stdout] found tuple `(usize, usize)` [INFO] [stdout] note: method defined here [INFO] [stdout] --> src/grid_cell/grid_cell.rs:36:12 [INFO] [stdout] | [INFO] [stdout] 36 | pub fn index_to_row_col(&self, index: usize) -> (u32, u32) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ ------------ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/layout/layout.rs:64:54 [INFO] [stdout] | [INFO] [stdout] 64 | let (row, col) = self.cells.index_to_row_col(chosen_cell_index); [INFO] [stdout] | ---------------- ^^^^^^^^^^^^^^^^^ expected `usize`, found `(usize, usize)` [INFO] [stdout] | | [INFO] [stdout] | arguments to this method are incorrect [INFO] [stdout] | [INFO] [stdout] = note: expected type `usize` [INFO] [stdout] found tuple `(usize, usize)` [INFO] [stdout] note: method defined here [INFO] [stdout] --> src/grid_cell/grid_cell.rs:36:12 [INFO] [stdout] | [INFO] [stdout] 36 | pub fn index_to_row_col(&self, index: usize) -> (u32, u32) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ ------------ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `get` found for struct `GridCell2048` in the current scope [INFO] [stdout] --> src/layout/layout.rs:134:39 [INFO] [stdout] | [INFO] [stdout] 134 | let current_cell = self.cells.get(&(current_row, current_col)).unwrap().clone(); [INFO] [stdout] | ^^^ method not found in `GridCell2048` [INFO] [stdout] | [INFO] [stdout] ::: src/grid_cell/grid_cell.rs:6:1 [INFO] [stdout] | [INFO] [stdout] 6 | pub struct GridCell2048 { [INFO] [stdout] | ----------------------- method `get` not found for this struct [INFO] [stdout] | [INFO] [stdout] = help: items from traits can only be used if the trait is implemented and in scope [INFO] [stdout] = note: the following traits define an item `get`, perhaps you need to implement one of them: [INFO] [stdout] candidate #1: `SliceIndex` [INFO] [stdout] candidate #2: `nix::sys::socket::GetSockOpt` [INFO] [stdout] candidate #3: `nix::sys::socket::GetSockOpt` [INFO] [stdout] candidate #4: `smithay_client_toolkit::environment::GlobalHandler` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `get` found for struct `GridCell2048` in the current scope [INFO] [stdout] --> src/layout/layout.rs:134:39 [INFO] [stdout] | [INFO] [stdout] 134 | let current_cell = self.cells.get(&(current_row, current_col)).unwrap().clone(); [INFO] [stdout] | ^^^ method not found in `GridCell2048` [INFO] [stdout] | [INFO] [stdout] ::: src/grid_cell/grid_cell.rs:6:1 [INFO] [stdout] | [INFO] [stdout] 6 | pub struct GridCell2048 { [INFO] [stdout] | ----------------------- method `get` not found for this struct [INFO] [stdout] | [INFO] [stdout] = help: items from traits can only be used if the trait is implemented and in scope [INFO] [stdout] = note: the following traits define an item `get`, perhaps you need to implement one of them: [INFO] [stdout] candidate #1: `SliceIndex` [INFO] [stdout] candidate #2: `nix::sys::socket::GetSockOpt` [INFO] [stdout] candidate #3: `nix::sys::socket::GetSockOpt` [INFO] [stdout] candidate #4: `smithay_client_toolkit::environment::GlobalHandler` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `get_mut` found for struct `GridCell2048` in the current scope [INFO] [stdout] --> src/layout/layout.rs:135:36 [INFO] [stdout] | [INFO] [stdout] 135 | let next_cell = self.cells.get_mut(&(next_row, next_col)).unwrap().clone(); [INFO] [stdout] | ^^^^^^^ method not found in `GridCell2048` [INFO] [stdout] | [INFO] [stdout] ::: src/grid_cell/grid_cell.rs:6:1 [INFO] [stdout] | [INFO] [stdout] 6 | pub struct GridCell2048 { [INFO] [stdout] | ----------------------- method `get_mut` not found for this struct [INFO] [stdout] | [INFO] [stdout] = help: items from traits can only be used if the trait is implemented and in scope [INFO] [stdout] = note: the following trait defines an item `get_mut`, perhaps you need to implement it: [INFO] [stdout] candidate #1: `SliceIndex` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0061]: this function takes 3 arguments but 1 argument was supplied [INFO] [stdout] --> src/layout/layout.rs:138:59 [INFO] [stdout] | [INFO] [stdout] 138 | self.cells.insert((current_row, current_col), Cell2048::new(&String::from(""))); [INFO] [stdout] | ^^^^^^^^^^^^^------------------- two arguments of type `u32` and `u32` are missing [INFO] [stdout] | [INFO] [stdout] note: associated function defined here [INFO] [stdout] --> src/game_cell.rs:15:19 [INFO] [stdout] | [INFO] [stdout] 15 | pub(crate) fn new(value: &str, row: u32, col: u32) -> Self { [INFO] [stdout] | ^^^ -------- -------- [INFO] [stdout] help: provide the arguments [INFO] [stdout] | [INFO] [stdout] 138 | self.cells.insert((current_row, current_col), Cell2048::new(&String::from(""), /* u32 */, /* u32 */)); [INFO] [stdout] | ++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `get_mut` found for struct `GridCell2048` in the current scope [INFO] [stdout] --> src/layout/layout.rs:135:36 [INFO] [stdout] | [INFO] [stdout] 135 | let next_cell = self.cells.get_mut(&(next_row, next_col)).unwrap().clone(); [INFO] [stdout] | ^^^^^^^ method not found in `GridCell2048` [INFO] [stdout] | [INFO] [stdout] ::: src/grid_cell/grid_cell.rs:6:1 [INFO] [stdout] | [INFO] [stdout] 6 | pub struct GridCell2048 { [INFO] [stdout] | ----------------------- method `get_mut` not found for this struct [INFO] [stdout] | [INFO] [stdout] = help: items from traits can only be used if the trait is implemented and in scope [INFO] [stdout] = note: the following trait defines an item `get_mut`, perhaps you need to implement it: [INFO] [stdout] candidate #1: `SliceIndex` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0061]: this function takes 3 arguments but 1 argument was supplied [INFO] [stdout] --> src/layout/layout.rs:138:59 [INFO] [stdout] | [INFO] [stdout] 138 | self.cells.insert((current_row, current_col), Cell2048::new(&String::from(""))); [INFO] [stdout] | ^^^^^^^^^^^^^------------------- two arguments of type `u32` and `u32` are missing [INFO] [stdout] | [INFO] [stdout] note: associated function defined here [INFO] [stdout] --> src/game_cell.rs:15:19 [INFO] [stdout] | [INFO] [stdout] 15 | pub(crate) fn new(value: &str, row: u32, col: u32) -> Self { [INFO] [stdout] | ^^^ -------- -------- [INFO] [stdout] help: provide the arguments [INFO] [stdout] | [INFO] [stdout] 138 | self.cells.insert((current_row, current_col), Cell2048::new(&String::from(""), /* u32 */, /* u32 */)); [INFO] [stdout] | ++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0061]: this method takes 3 arguments but 2 arguments were supplied [INFO] [stdout] --> src/layout/layout.rs:138:24 [INFO] [stdout] | [INFO] [stdout] 138 | self.cells.insert((current_row, current_col), Cell2048::new(&String::from(""))); [INFO] [stdout] | ^^^^^^ -------------------------------- argument #2 of type `usize` is missing [INFO] [stdout] | [INFO] [stdout] note: expected `usize`, found `(u32, u32)` [INFO] [stdout] --> src/layout/layout.rs:138:31 [INFO] [stdout] | [INFO] [stdout] 138 | self.cells.insert((current_row, current_col), Cell2048::new(&String::from(""))); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: expected type `usize` [INFO] [stdout] found tuple `(u32, u32)` [INFO] [stdout] note: method defined here [INFO] [stdout] --> src/grid_cell/grid_cell.rs:33:12 [INFO] [stdout] | [INFO] [stdout] 33 | pub fn insert(&self, row: usize, col:usize, new_cell: Cell2048) { [INFO] [stdout] | ^^^^^^ ---------- --------- [INFO] [stdout] help: provide the argument [INFO] [stdout] | [INFO] [stdout] 138 - self.cells.insert((current_row, current_col), Cell2048::new(&String::from(""))); [INFO] [stdout] 138 + self.cells.insert(/* usize */, /* usize */, Cell2048::new(&String::from(""))); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0061]: this function takes 3 arguments but 1 argument was supplied [INFO] [stdout] --> src/layout/layout.rs:139:53 [INFO] [stdout] | [INFO] [stdout] 139 | self.cells.insert((next_row, next_col), Cell2048::new(&sum.to_string())); [INFO] [stdout] | ^^^^^^^^^^^^^------------------ two arguments of type `u32` and `u32` are missing [INFO] [stdout] | [INFO] [stdout] note: associated function defined here [INFO] [stdout] --> src/game_cell.rs:15:19 [INFO] [stdout] | [INFO] [stdout] 15 | pub(crate) fn new(value: &str, row: u32, col: u32) -> Self { [INFO] [stdout] | ^^^ -------- -------- [INFO] [stdout] help: provide the arguments [INFO] [stdout] | [INFO] [stdout] 139 | self.cells.insert((next_row, next_col), Cell2048::new(&sum.to_string(), /* u32 */, /* u32 */)); [INFO] [stdout] | ++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0061]: this method takes 3 arguments but 2 arguments were supplied [INFO] [stdout] --> src/layout/layout.rs:139:24 [INFO] [stdout] | [INFO] [stdout] 139 | self.cells.insert((next_row, next_col), Cell2048::new(&sum.to_string())); [INFO] [stdout] | ^^^^^^ ------------------------------- argument #2 of type `usize` is missing [INFO] [stdout] | [INFO] [stdout] note: expected `usize`, found `(u32, u32)` [INFO] [stdout] --> src/layout/layout.rs:139:31 [INFO] [stdout] | [INFO] [stdout] 139 | self.cells.insert((next_row, next_col), Cell2048::new(&sum.to_string())); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: expected type `usize` [INFO] [stdout] found tuple `(u32, u32)` [INFO] [stdout] note: method defined here [INFO] [stdout] --> src/grid_cell/grid_cell.rs:33:12 [INFO] [stdout] | [INFO] [stdout] 33 | pub fn insert(&self, row: usize, col:usize, new_cell: Cell2048) { [INFO] [stdout] | ^^^^^^ ---------- --------- [INFO] [stdout] help: provide the argument [INFO] [stdout] | [INFO] [stdout] 139 - self.cells.insert((next_row, next_col), Cell2048::new(&sum.to_string())); [INFO] [stdout] 139 + self.cells.insert(/* usize */, /* usize */, Cell2048::new(&sum.to_string())); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0061]: this function takes 3 arguments but 1 argument was supplied [INFO] [stdout] --> src/layout/layout.rs:141:59 [INFO] [stdout] | [INFO] [stdout] 141 | self.cells.insert((current_row, current_col), Cell2048::new(&String::from(""))); [INFO] [stdout] | ^^^^^^^^^^^^^------------------- two arguments of type `u32` and `u32` are missing [INFO] [stdout] | [INFO] [stdout] note: associated function defined here [INFO] [stdout] --> src/game_cell.rs:15:19 [INFO] [stdout] | [INFO] [stdout] 15 | pub(crate) fn new(value: &str, row: u32, col: u32) -> Self { [INFO] [stdout] | ^^^ -------- -------- [INFO] [stdout] help: provide the arguments [INFO] [stdout] | [INFO] [stdout] 141 | self.cells.insert((current_row, current_col), Cell2048::new(&String::from(""), /* u32 */, /* u32 */)); [INFO] [stdout] | ++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0061]: this method takes 3 arguments but 2 arguments were supplied [INFO] [stdout] --> src/layout/layout.rs:138:24 [INFO] [stdout] | [INFO] [stdout] 138 | self.cells.insert((current_row, current_col), Cell2048::new(&String::from(""))); [INFO] [stdout] | ^^^^^^ -------------------------------- argument #2 of type `usize` is missing [INFO] [stdout] | [INFO] [stdout] note: expected `usize`, found `(u32, u32)` [INFO] [stdout] --> src/layout/layout.rs:138:31 [INFO] [stdout] | [INFO] [stdout] 138 | self.cells.insert((current_row, current_col), Cell2048::new(&String::from(""))); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: expected type `usize` [INFO] [stdout] found tuple `(u32, u32)` [INFO] [stdout] note: method defined here [INFO] [stdout] --> src/grid_cell/grid_cell.rs:33:12 [INFO] [stdout] | [INFO] [stdout] 33 | pub fn insert(&self, row: usize, col:usize, new_cell: Cell2048) { [INFO] [stdout] | ^^^^^^ ---------- --------- [INFO] [stdout] help: provide the argument [INFO] [stdout] | [INFO] [stdout] 138 - self.cells.insert((current_row, current_col), Cell2048::new(&String::from(""))); [INFO] [stdout] 138 + self.cells.insert(/* usize */, /* usize */, Cell2048::new(&String::from(""))); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0061]: this function takes 3 arguments but 1 argument was supplied [INFO] [stdout] --> src/layout/layout.rs:139:53 [INFO] [stdout] | [INFO] [stdout] 139 | self.cells.insert((next_row, next_col), Cell2048::new(&sum.to_string())); [INFO] [stdout] | ^^^^^^^^^^^^^------------------ two arguments of type `u32` and `u32` are missing [INFO] [stdout] | [INFO] [stdout] note: associated function defined here [INFO] [stdout] --> src/game_cell.rs:15:19 [INFO] [stdout] | [INFO] [stdout] 15 | pub(crate) fn new(value: &str, row: u32, col: u32) -> Self { [INFO] [stdout] | ^^^ -------- -------- [INFO] [stdout] help: provide the arguments [INFO] [stdout] | [INFO] [stdout] 139 | self.cells.insert((next_row, next_col), Cell2048::new(&sum.to_string(), /* u32 */, /* u32 */)); [INFO] [stdout] | ++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0061]: this method takes 3 arguments but 2 arguments were supplied [INFO] [stdout] --> src/layout/layout.rs:141:24 [INFO] [stdout] | [INFO] [stdout] 141 | self.cells.insert((current_row, current_col), Cell2048::new(&String::from(""))); [INFO] [stdout] | ^^^^^^ -------------------------------- argument #2 of type `usize` is missing [INFO] [stdout] | [INFO] [stdout] note: expected `usize`, found `(u32, u32)` [INFO] [stdout] --> src/layout/layout.rs:141:31 [INFO] [stdout] | [INFO] [stdout] 141 | self.cells.insert((current_row, current_col), Cell2048::new(&String::from(""))); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: expected type `usize` [INFO] [stdout] found tuple `(u32, u32)` [INFO] [stdout] note: method defined here [INFO] [stdout] --> src/grid_cell/grid_cell.rs:33:12 [INFO] [stdout] | [INFO] [stdout] 33 | pub fn insert(&self, row: usize, col:usize, new_cell: Cell2048) { [INFO] [stdout] | ^^^^^^ ---------- --------- [INFO] [stdout] help: provide the argument [INFO] [stdout] | [INFO] [stdout] 141 - self.cells.insert((current_row, current_col), Cell2048::new(&String::from(""))); [INFO] [stdout] 141 + self.cells.insert(/* usize */, /* usize */, Cell2048::new(&String::from(""))); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0061]: this method takes 3 arguments but 2 arguments were supplied [INFO] [stdout] --> src/layout/layout.rs:139:24 [INFO] [stdout] | [INFO] [stdout] 139 | self.cells.insert((next_row, next_col), Cell2048::new(&sum.to_string())); [INFO] [stdout] | ^^^^^^ ------------------------------- argument #2 of type `usize` is missing [INFO] [stdout] | [INFO] [stdout] note: expected `usize`, found `(u32, u32)` [INFO] [stdout] --> src/layout/layout.rs:139:31 [INFO] [stdout] | [INFO] [stdout] 139 | self.cells.insert((next_row, next_col), Cell2048::new(&sum.to_string())); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: expected type `usize` [INFO] [stdout] found tuple `(u32, u32)` [INFO] [stdout] note: method defined here [INFO] [stdout] --> src/grid_cell/grid_cell.rs:33:12 [INFO] [stdout] | [INFO] [stdout] 33 | pub fn insert(&self, row: usize, col:usize, new_cell: Cell2048) { [INFO] [stdout] | ^^^^^^ ---------- --------- [INFO] [stdout] help: provide the argument [INFO] [stdout] | [INFO] [stdout] 139 - self.cells.insert((next_row, next_col), Cell2048::new(&sum.to_string())); [INFO] [stdout] 139 + self.cells.insert(/* usize */, /* usize */, Cell2048::new(&sum.to_string())); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0061]: this function takes 3 arguments but 1 argument was supplied [INFO] [stdout] --> src/layout/layout.rs:142:53 [INFO] [stdout] | [INFO] [stdout] 142 | self.cells.insert((next_row, next_col), Cell2048::new(¤t_cell.value.clone())); [INFO] [stdout] | ^^^^^^^^^^^^^----------------------------- two arguments of type `u32` and `u32` are missing [INFO] [stdout] | [INFO] [stdout] note: associated function defined here [INFO] [stdout] --> src/game_cell.rs:15:19 [INFO] [stdout] | [INFO] [stdout] 15 | pub(crate) fn new(value: &str, row: u32, col: u32) -> Self { [INFO] [stdout] | ^^^ -------- -------- [INFO] [stdout] help: provide the arguments [INFO] [stdout] | [INFO] [stdout] 142 | self.cells.insert((next_row, next_col), Cell2048::new(¤t_cell.value.clone(), /* u32 */, /* u32 */)); [INFO] [stdout] | ++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0061]: this function takes 3 arguments but 1 argument was supplied [INFO] [stdout] --> src/layout/layout.rs:141:59 [INFO] [stdout] | [INFO] [stdout] 141 | self.cells.insert((current_row, current_col), Cell2048::new(&String::from(""))); [INFO] [stdout] | ^^^^^^^^^^^^^------------------- two arguments of type `u32` and `u32` are missing [INFO] [stdout] | [INFO] [stdout] note: associated function defined here [INFO] [stdout] --> src/game_cell.rs:15:19 [INFO] [stdout] | [INFO] [stdout] 15 | pub(crate) fn new(value: &str, row: u32, col: u32) -> Self { [INFO] [stdout] | ^^^ -------- -------- [INFO] [stdout] help: provide the arguments [INFO] [stdout] | [INFO] [stdout] 141 | self.cells.insert((current_row, current_col), Cell2048::new(&String::from(""), /* u32 */, /* u32 */)); [INFO] [stdout] | ++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0061]: this method takes 3 arguments but 2 arguments were supplied [INFO] [stdout] --> src/layout/layout.rs:142:24 [INFO] [stdout] | [INFO] [stdout] 142 | self.cells.insert((next_row, next_col), Cell2048::new(¤t_cell.value.clone())); [INFO] [stdout] | ^^^^^^ ------------------------------------------ argument #2 of type `usize` is missing [INFO] [stdout] | [INFO] [stdout] note: expected `usize`, found `(u32, u32)` [INFO] [stdout] --> src/layout/layout.rs:142:31 [INFO] [stdout] | [INFO] [stdout] 142 | self.cells.insert((next_row, next_col), Cell2048::new(¤t_cell.value.clone())); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: expected type `usize` [INFO] [stdout] found tuple `(u32, u32)` [INFO] [stdout] note: method defined here [INFO] [stdout] --> src/grid_cell/grid_cell.rs:33:12 [INFO] [stdout] | [INFO] [stdout] 33 | pub fn insert(&self, row: usize, col:usize, new_cell: Cell2048) { [INFO] [stdout] | ^^^^^^ ---------- --------- [INFO] [stdout] help: provide the argument [INFO] [stdout] | [INFO] [stdout] 142 - self.cells.insert((next_row, next_col), Cell2048::new(¤t_cell.value.clone())); [INFO] [stdout] 142 + self.cells.insert(/* usize */, /* usize */, Cell2048::new(¤t_cell.value.clone())); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/layout/layout.rs:146:13 [INFO] [stdout] | [INFO] [stdout] 146 | for (pos, cell) in self.cells.iter() { [INFO] [stdout] | ^^^^^^^^^^^ ----------------- this is an iterator with items of type `&game_cell::Cell2048` [INFO] [stdout] | | [INFO] [stdout] | expected `Cell2048`, found `(_, _)` [INFO] [stdout] | [INFO] [stdout] = note: expected struct `game_cell::Cell2048` [INFO] [stdout] found tuple `(_, _)` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/layout/layout.rs:151:33 [INFO] [stdout] | [INFO] [stdout] 151 | !self.cells.iter().any(|(_pos, cell)| { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | expected `Cell2048`, found `(_, _)` [INFO] [stdout] | expected due to this [INFO] [stdout] | [INFO] [stdout] = note: expected struct `game_cell::Cell2048` [INFO] [stdout] found tuple `(_, _)` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0061]: this method takes 3 arguments but 2 arguments were supplied [INFO] [stdout] --> src/layout/layout.rs:141:24 [INFO] [stdout] | [INFO] [stdout] 141 | self.cells.insert((current_row, current_col), Cell2048::new(&String::from(""))); [INFO] [stdout] | ^^^^^^ -------------------------------- argument #2 of type `usize` is missing [INFO] [stdout] | [INFO] [stdout] note: expected `usize`, found `(u32, u32)` [INFO] [stdout] --> src/layout/layout.rs:141:31 [INFO] [stdout] | [INFO] [stdout] 141 | self.cells.insert((current_row, current_col), Cell2048::new(&String::from(""))); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: expected type `usize` [INFO] [stdout] found tuple `(u32, u32)` [INFO] [stdout] note: method defined here [INFO] [stdout] --> src/grid_cell/grid_cell.rs:33:12 [INFO] [stdout] | [INFO] [stdout] 33 | pub fn insert(&self, row: usize, col:usize, new_cell: Cell2048) { [INFO] [stdout] | ^^^^^^ ---------- --------- [INFO] [stdout] help: provide the argument [INFO] [stdout] | [INFO] [stdout] 141 - self.cells.insert((current_row, current_col), Cell2048::new(&String::from(""))); [INFO] [stdout] 141 + self.cells.insert(/* usize */, /* usize */, Cell2048::new(&String::from(""))); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0061]: this function takes 3 arguments but 1 argument was supplied [INFO] [stdout] --> src/layout/layout.rs:142:53 [INFO] [stdout] | [INFO] [stdout] 142 | self.cells.insert((next_row, next_col), Cell2048::new(¤t_cell.value.clone())); [INFO] [stdout] | ^^^^^^^^^^^^^----------------------------- two arguments of type `u32` and `u32` are missing [INFO] [stdout] | [INFO] [stdout] note: associated function defined here [INFO] [stdout] --> src/game_cell.rs:15:19 [INFO] [stdout] | [INFO] [stdout] 15 | pub(crate) fn new(value: &str, row: u32, col: u32) -> Self { [INFO] [stdout] | ^^^ -------- -------- [INFO] [stdout] help: provide the arguments [INFO] [stdout] | [INFO] [stdout] 142 | self.cells.insert((next_row, next_col), Cell2048::new(¤t_cell.value.clone(), /* u32 */, /* u32 */)); [INFO] [stdout] | ++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0061]: this method takes 3 arguments but 2 arguments were supplied [INFO] [stdout] --> src/layout/layout.rs:142:24 [INFO] [stdout] | [INFO] [stdout] 142 | self.cells.insert((next_row, next_col), Cell2048::new(¤t_cell.value.clone())); [INFO] [stdout] | ^^^^^^ ------------------------------------------ argument #2 of type `usize` is missing [INFO] [stdout] | [INFO] [stdout] note: expected `usize`, found `(u32, u32)` [INFO] [stdout] --> src/layout/layout.rs:142:31 [INFO] [stdout] | [INFO] [stdout] 142 | self.cells.insert((next_row, next_col), Cell2048::new(¤t_cell.value.clone())); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: expected type `usize` [INFO] [stdout] found tuple `(u32, u32)` [INFO] [stdout] note: method defined here [INFO] [stdout] --> src/grid_cell/grid_cell.rs:33:12 [INFO] [stdout] | [INFO] [stdout] 33 | pub fn insert(&self, row: usize, col:usize, new_cell: Cell2048) { [INFO] [stdout] | ^^^^^^ ---------- --------- [INFO] [stdout] help: provide the argument [INFO] [stdout] | [INFO] [stdout] 142 - self.cells.insert((next_row, next_col), Cell2048::new(¤t_cell.value.clone())); [INFO] [stdout] 142 + self.cells.insert(/* usize */, /* usize */, Cell2048::new(¤t_cell.value.clone())); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/layout/layout.rs:146:13 [INFO] [stdout] | [INFO] [stdout] 146 | for (pos, cell) in self.cells.iter() { [INFO] [stdout] | ^^^^^^^^^^^ ----------------- this is an iterator with items of type `&game_cell::Cell2048` [INFO] [stdout] | | [INFO] [stdout] | expected `Cell2048`, found `(_, _)` [INFO] [stdout] | [INFO] [stdout] = note: expected struct `game_cell::Cell2048` [INFO] [stdout] found tuple `(_, _)` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/layout/layout.rs:151:33 [INFO] [stdout] | [INFO] [stdout] 151 | !self.cells.iter().any(|(_pos, cell)| { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | expected `Cell2048`, found `(_, _)` [INFO] [stdout] | expected due to this [INFO] [stdout] | [INFO] [stdout] = note: expected struct `game_cell::Cell2048` [INFO] [stdout] found tuple `(_, _)` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `get` found for struct `GridCell2048` in the current scope [INFO] [stdout] --> src/layout/layout.rs:169:47 [INFO] [stdout] | [INFO] [stdout] 169 | let current_cell = self.cells.get(&(row, col)).unwrap(); [INFO] [stdout] | ^^^ method not found in `GridCell2048` [INFO] [stdout] | [INFO] [stdout] ::: src/grid_cell/grid_cell.rs:6:1 [INFO] [stdout] | [INFO] [stdout] 6 | pub struct GridCell2048 { [INFO] [stdout] | ----------------------- method `get` not found for this struct [INFO] [stdout] | [INFO] [stdout] = help: items from traits can only be used if the trait is implemented and in scope [INFO] [stdout] = note: the following traits define an item `get`, perhaps you need to implement one of them: [INFO] [stdout] candidate #1: `SliceIndex` [INFO] [stdout] candidate #2: `nix::sys::socket::GetSockOpt` [INFO] [stdout] candidate #3: `nix::sys::socket::GetSockOpt` [INFO] [stdout] candidate #4: `smithay_client_toolkit::environment::GlobalHandler` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `get` found for struct `GridCell2048` in the current scope [INFO] [stdout] --> src/layout/layout.rs:169:47 [INFO] [stdout] | [INFO] [stdout] 169 | let current_cell = self.cells.get(&(row, col)).unwrap(); [INFO] [stdout] | ^^^ method not found in `GridCell2048` [INFO] [stdout] | [INFO] [stdout] ::: src/grid_cell/grid_cell.rs:6:1 [INFO] [stdout] | [INFO] [stdout] 6 | pub struct GridCell2048 { [INFO] [stdout] | ----------------------- method `get` not found for this struct [INFO] [stdout] | [INFO] [stdout] = help: items from traits can only be used if the trait is implemented and in scope [INFO] [stdout] = note: the following traits define an item `get`, perhaps you need to implement one of them: [INFO] [stdout] candidate #1: `SliceIndex` [INFO] [stdout] candidate #2: `nix::sys::socket::GetSockOpt` [INFO] [stdout] candidate #3: `nix::sys::socket::GetSockOpt` [INFO] [stdout] candidate #4: `smithay_client_toolkit::environment::GlobalHandler` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `get` found for struct `GridCell2048` in the current scope [INFO] [stdout] --> src/layout/layout.rs:170:54 [INFO] [stdout] | [INFO] [stdout] 170 | if let Some(right_cell) = self.cells.get(&(row, col + 1)) { [INFO] [stdout] | ^^^ method not found in `GridCell2048` [INFO] [stdout] | [INFO] [stdout] ::: src/grid_cell/grid_cell.rs:6:1 [INFO] [stdout] | [INFO] [stdout] 6 | pub struct GridCell2048 { [INFO] [stdout] | ----------------------- method `get` not found for this struct [INFO] [stdout] | [INFO] [stdout] = help: items from traits can only be used if the trait is implemented and in scope [INFO] [stdout] = note: the following traits define an item `get`, perhaps you need to implement one of them: [INFO] [stdout] candidate #1: `SliceIndex` [INFO] [stdout] candidate #2: `nix::sys::socket::GetSockOpt` [INFO] [stdout] candidate #3: `nix::sys::socket::GetSockOpt` [INFO] [stdout] candidate #4: `smithay_client_toolkit::environment::GlobalHandler` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `get` found for struct `GridCell2048` in the current scope [INFO] [stdout] --> src/layout/layout.rs:170:54 [INFO] [stdout] | [INFO] [stdout] 170 | if let Some(right_cell) = self.cells.get(&(row, col + 1)) { [INFO] [stdout] | ^^^ method not found in `GridCell2048` [INFO] [stdout] | [INFO] [stdout] ::: src/grid_cell/grid_cell.rs:6:1 [INFO] [stdout] | [INFO] [stdout] 6 | pub struct GridCell2048 { [INFO] [stdout] | ----------------------- method `get` not found for this struct [INFO] [stdout] | [INFO] [stdout] = help: items from traits can only be used if the trait is implemented and in scope [INFO] [stdout] = note: the following traits define an item `get`, perhaps you need to implement one of them: [INFO] [stdout] candidate #1: `SliceIndex` [INFO] [stdout] candidate #2: `nix::sys::socket::GetSockOpt` [INFO] [stdout] candidate #3: `nix::sys::socket::GetSockOpt` [INFO] [stdout] candidate #4: `smithay_client_toolkit::environment::GlobalHandler` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `get` found for struct `GridCell2048` in the current scope [INFO] [stdout] --> src/layout/layout.rs:175:55 [INFO] [stdout] | [INFO] [stdout] 175 | if let Some(bottom_cell) = self.cells.get(&(row - 1, col)) { [INFO] [stdout] | ^^^ method not found in `GridCell2048` [INFO] [stdout] | [INFO] [stdout] ::: src/grid_cell/grid_cell.rs:6:1 [INFO] [stdout] | [INFO] [stdout] 6 | pub struct GridCell2048 { [INFO] [stdout] | ----------------------- method `get` not found for this struct [INFO] [stdout] | [INFO] [stdout] = help: items from traits can only be used if the trait is implemented and in scope [INFO] [stdout] = note: the following traits define an item `get`, perhaps you need to implement one of them: [INFO] [stdout] candidate #1: `SliceIndex` [INFO] [stdout] candidate #2: `nix::sys::socket::GetSockOpt` [INFO] [stdout] candidate #3: `nix::sys::socket::GetSockOpt` [INFO] [stdout] candidate #4: `smithay_client_toolkit::environment::GlobalHandler` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `get` found for struct `GridCell2048` in the current scope [INFO] [stdout] --> src/layout/layout.rs:175:55 [INFO] [stdout] | [INFO] [stdout] 175 | if let Some(bottom_cell) = self.cells.get(&(row - 1, col)) { [INFO] [stdout] | ^^^ method not found in `GridCell2048` [INFO] [stdout] | [INFO] [stdout] ::: src/grid_cell/grid_cell.rs:6:1 [INFO] [stdout] | [INFO] [stdout] 6 | pub struct GridCell2048 { [INFO] [stdout] | ----------------------- method `get` not found for this struct [INFO] [stdout] | [INFO] [stdout] = help: items from traits can only be used if the trait is implemented and in scope [INFO] [stdout] = note: the following traits define an item `get`, perhaps you need to implement one of them: [INFO] [stdout] candidate #1: `SliceIndex` [INFO] [stdout] candidate #2: `nix::sys::socket::GetSockOpt` [INFO] [stdout] candidate #3: `nix::sys::socket::GetSockOpt` [INFO] [stdout] candidate #4: `smithay_client_toolkit::environment::GlobalHandler` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `args` [INFO] [stdout] --> src/game_field/game_field.rs:36:30 [INFO] [stdout] | [INFO] [stdout] 36 | pub fn update(&mut self, args: UpdateArgs) { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_args` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/layout/layout.rs:37:13 [INFO] [stdout] | [INFO] [stdout] 37 | let mut cells = GridCell2048::new(shape_size); [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `args` [INFO] [stdout] --> src/game_field/game_field.rs:36:30 [INFO] [stdout] | [INFO] [stdout] 36 | pub fn update(&mut self, args: UpdateArgs) { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_args` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/lib.rs:70:13 [INFO] [stdout] | [INFO] [stdout] 70 | let mut stack_pointer_x = intend_x as f64 + rec_x as f64; [INFO] [stdout] | ----^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/layout/layout.rs:37:13 [INFO] [stdout] | [INFO] [stdout] 37 | let mut cells = GridCell2048::new(shape_size); [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/lib.rs:70:13 [INFO] [stdout] | [INFO] [stdout] 70 | let mut stack_pointer_x = intend_x as f64 + rec_x as f64; [INFO] [stdout] | ----^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0061, E0277, E0308, E0425, E0599. [INFO] [stdout] [INFO] [stdout] For more information about an error, try `rustc --explain E0061`. [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0061, E0277, E0308, E0425, E0599. [INFO] [stdout] [INFO] [stdout] For more information about an error, try `rustc --explain E0061`. [INFO] [stdout] [INFO] [stderr] error: could not compile `game2048` (lib test) due to 24 previous errors; 17 warnings emitted [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stderr] error: could not compile `game2048` (lib) due to 24 previous errors; 17 warnings emitted [INFO] running `Command { std: "docker" "inspect" "35b2187fc76f9330ac6f62a9b428004b996eaccf263455971edc53d5ae42e385", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "35b2187fc76f9330ac6f62a9b428004b996eaccf263455971edc53d5ae42e385", kill_on_drop: false }` [INFO] [stdout] 35b2187fc76f9330ac6f62a9b428004b996eaccf263455971edc53d5ae42e385