[INFO] cloning repository https://github.com/eggsontoast1672/snake
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/eggsontoast1672/snake" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Feggsontoast1672%2Fsnake", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Feggsontoast1672%2Fsnake'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 9d8300457f08744cce408c197cee822fcb390901
[INFO] checking eggsontoast1672/snake against try#4f260f0f20b3133d20cfb50353c0221943af5796+rustflags=-Dunmustuse_in_always_ok for pr-148577
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Feggsontoast1672%2Fsnake" "/workspace/builds/worker-1-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/eggsontoast1672/snake
[INFO] finished tweaking git repo https://github.com/eggsontoast1672/snake
[INFO] tweaked toml for git repo https://github.com/eggsontoast1672/snake written to /workspace/builds/worker-1-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/eggsontoast1672/snake on toolchain 4f260f0f20b3133d20cfb50353c0221943af5796
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+4f260f0f20b3133d20cfb50353c0221943af5796" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/eggsontoast1672/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" "+4f260f0f20b3133d20cfb50353c0221943af5796" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded fs_extra v1.2.0
[INFO] [stderr]   Downloaded raylib v3.7.0
[INFO] [stderr]   Downloaded raylib-sys v3.7.0
[INFO] [stderr]   Downloaded cmake v0.1.49
[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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+4f260f0f20b3133d20cfb50353c0221943af5796" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] fc8368d14dfb1548e994a79daa9d34174efa9eb6f777aff840bcc464a83a3281
[INFO] running `Command { std: "docker" "start" "-a" "fc8368d14dfb1548e994a79daa9d34174efa9eb6f777aff840bcc464a83a3281", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "fc8368d14dfb1548e994a79daa9d34174efa9eb6f777aff840bcc464a83a3281", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "fc8368d14dfb1548e994a79daa9d34174efa9eb6f777aff840bcc464a83a3281", kill_on_drop: false }`
[INFO] [stdout] fc8368d14dfb1548e994a79daa9d34174efa9eb6f777aff840bcc464a83a3281
[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 -Dunmustuse_in_always_ok" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+4f260f0f20b3133d20cfb50353c0221943af5796" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] b85ff38a8f4250f130fed0dc4cc29f8d9099330ad3b44e2877be0260737838c7
[INFO] running `Command { std: "docker" "start" "-a" "b85ff38a8f4250f130fed0dc4cc29f8d9099330ad3b44e2877be0260737838c7", kill_on_drop: false }`
[INFO] [stderr]    Compiling cc v1.0.78
[INFO] [stderr]    Compiling fs_extra v1.2.0
[INFO] [stderr]     Checking getrandom v0.2.8
[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 cmake v0.1.49
[INFO] [stderr]    Compiling raylib-sys v3.7.0
[INFO] [stderr]     Checking raylib v3.7.0
[INFO] [stderr]     Checking snake v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: function `color_from_rgb` is never used
[INFO] [stdout]  --> src/lib.rs:8:10
[INFO] [stdout]   |
[INFO] [stdout] 8 | const fn color_from_rgb(r: u8, g: u8, b: u8) -> Color {
[INFO] [stdout]   |          ^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `data` is never read
[INFO] [stdout]  --> src/game.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub struct DrawingContext<'a> {
[INFO] [stdout]   |            -------------- field in this struct
[INFO] [stdout] 9 |     data: RaylibDrawHandle<'a>,
[INFO] [stdout]   |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/game.rs:13:8
[INFO] [stdout]    |
[INFO] [stdout] 12 | impl<'a> DrawingContext<'a> {
[INFO] [stdout]    | --------------------------- associated function in this implementation
[INFO] [stdout] 13 |     fn new(context: &'a mut RaylibHandle, thread: &RaylibThread) -> Self {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `handle` and `thread` are never read
[INFO] [stdout]   --> src/game.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub struct Game {
[INFO] [stdout]    |            ---- fields in this struct
[INFO] [stdout] 21 |     handle: RaylibHandle,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 22 |     thread: RaylibThread,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `APPLE_START_POSITION` is never used
[INFO] [stdout]  --> src/consts.rs:4:11
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub const APPLE_START_POSITION: Vector2 = Vector2::new(12, 7);
[INFO] [stdout]   |           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `GRID_COLOR_DARK` is never used
[INFO] [stdout]  --> src/consts.rs:7:11
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub const GRID_COLOR_DARK: Color = crate::color_from_rgb(95, 167, 47);
[INFO] [stdout]   |           ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `GRID_COLOR_LIGHT` is never used
[INFO] [stdout]  --> src/consts.rs:8:11
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub const GRID_COLOR_LIGHT: Color = crate::color_from_rgb(119, 201, 64);
[INFO] [stdout]   |           ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SNAKE_STARTING_POSITIONS` is never used
[INFO] [stdout]  --> src/consts.rs:9:11
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub const SNAKE_STARTING_POSITIONS: [Vector2; 4] = [
[INFO] [stdout]   |           ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SNAKE_COLOR` is never used
[INFO] [stdout]   --> src/consts.rs:15:11
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub const SNAKE_COLOR: Color = Color::BLUE;
[INFO] [stdout]    |           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `color_from_rgb` is never used
[INFO] [stdout]  --> src/lib.rs:8:10
[INFO] [stdout]   |
[INFO] [stdout] 8 | const fn color_from_rgb(r: u8, g: u8, b: u8) -> Color {
[INFO] [stdout]   |          ^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `data` is never read
[INFO] [stdout]  --> src/game.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub struct DrawingContext<'a> {
[INFO] [stdout]   |            -------------- field in this struct
[INFO] [stdout] 9 |     data: RaylibDrawHandle<'a>,
[INFO] [stdout]   |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/game.rs:13:8
[INFO] [stdout]    |
[INFO] [stdout] 12 | impl<'a> DrawingContext<'a> {
[INFO] [stdout]    | --------------------------- associated function in this implementation
[INFO] [stdout] 13 |     fn new(context: &'a mut RaylibHandle, thread: &RaylibThread) -> Self {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `handle` and `thread` are never read
[INFO] [stdout]   --> src/game.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub struct Game {
[INFO] [stdout]    |            ---- fields in this struct
[INFO] [stdout] 21 |     handle: RaylibHandle,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 22 |     thread: RaylibThread,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `APPLE_START_POSITION` is never used
[INFO] [stdout]  --> src/consts.rs:4:11
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub const APPLE_START_POSITION: Vector2 = Vector2::new(12, 7);
[INFO] [stdout]   |           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `GRID_COLOR_DARK` is never used
[INFO] [stdout]  --> src/consts.rs:7:11
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub const GRID_COLOR_DARK: Color = crate::color_from_rgb(95, 167, 47);
[INFO] [stdout]   |           ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `GRID_COLOR_LIGHT` is never used
[INFO] [stdout]  --> src/consts.rs:8:11
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub const GRID_COLOR_LIGHT: Color = crate::color_from_rgb(119, 201, 64);
[INFO] [stdout]   |           ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SNAKE_STARTING_POSITIONS` is never used
[INFO] [stdout]  --> src/consts.rs:9:11
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub const SNAKE_STARTING_POSITIONS: [Vector2; 4] = [
[INFO] [stdout]   |           ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SNAKE_COLOR` is never used
[INFO] [stdout]   --> src/consts.rs:15:11
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub const SNAKE_COLOR: Color = Color::BLUE;
[INFO] [stdout]    |           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `CELL_SIZE` in module `consts`
[INFO] [stdout]   --> src/apple.rs:16:43
[INFO] [stdout]    |
[INFO] [stdout] 16 |                 self.position.x * consts::CELL_SIZE,
[INFO] [stdout]    |                                           ^^^^^^^^^ not found in `consts`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `CELL_SIZE` in module `consts`
[INFO] [stdout]   --> src/apple.rs:17:43
[INFO] [stdout]    |
[INFO] [stdout] 17 |                 self.position.y * consts::CELL_SIZE,
[INFO] [stdout]    |                                           ^^^^^^^^^ not found in `consts`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `CELL_SIZE` in module `consts`
[INFO] [stdout]   --> src/apple.rs:19:34
[INFO] [stdout]    |
[INFO] [stdout] 19 |             Vector2::new(consts::CELL_SIZE, consts::CELL_SIZE),
[INFO] [stdout]    |                                  ^^^^^^^^^ not found in `consts`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `CELL_SIZE` in module `consts`
[INFO] [stdout]   --> src/apple.rs:19:53
[INFO] [stdout]    |
[INFO] [stdout] 19 |             Vector2::new(consts::CELL_SIZE, consts::CELL_SIZE),
[INFO] [stdout]    |                                                     ^^^^^^^^^ not found in `consts`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `APPLE_START_POSITION` in module `consts`
[INFO] [stdout]   --> src/apple.rs:26:31
[INFO] [stdout]    |
[INFO] [stdout] 26 |             position: consts::APPLE_START_POSITION,
[INFO] [stdout]    |                               ^^^^^^^^^^^^^^^^^^^^ not found in `consts`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `BOARD_WIDTH` in module `consts`
[INFO] [stdout]   --> src/apple.rs:31:67
[INFO] [stdout]    |
[INFO] [stdout] 31 |         self.position.x = rand::thread_rng().gen_range(0..consts::BOARD_WIDTH);
[INFO] [stdout]    |                                                                   ^^^^^^^^^^^ not found in `consts`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `BOARD_HEIGHT` in module `consts`
[INFO] [stdout]   --> src/apple.rs:32:67
[INFO] [stdout]    |
[INFO] [stdout] 32 |         self.position.y = rand::thread_rng().gen_range(0..consts::BOARD_HEIGHT);
[INFO] [stdout]    |                                                                   ^^^^^^^^^^^^ not found in `consts`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `BOARD_WIDTH` in module `consts`
[INFO] [stdout]   --> src/board.rs:10:36
[INFO] [stdout]    |
[INFO] [stdout] 10 | const CELL_PRODUCT: i32 = (consts::BOARD_WIDTH * consts::BOARD_HEIGHT) as i32;
[INFO] [stdout]    |                                    ^^^^^^^^^^^ not found in `consts`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `BOARD_HEIGHT` in module `consts`
[INFO] [stdout]   --> src/board.rs:10:58
[INFO] [stdout]    |
[INFO] [stdout] 10 | const CELL_PRODUCT: i32 = (consts::BOARD_WIDTH * consts::BOARD_HEIGHT) as i32;
[INFO] [stdout]    |                                                          ^^^^^^^^^^^^ not found in `consts`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `BOARD_HEIGHT` in module `consts`
[INFO] [stdout]   --> src/board.rs:42:42
[INFO] [stdout]    |
[INFO] [stdout] 42 |                 last_iteration / consts::BOARD_HEIGHT as i32,
[INFO] [stdout]    |                                          ^^^^^^^^^^^^ not found in `consts`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `BOARD_HEIGHT` in module `consts`
[INFO] [stdout]   --> src/board.rs:43:42
[INFO] [stdout]    |
[INFO] [stdout] 43 |                 last_iteration % consts::BOARD_HEIGHT as i32,
[INFO] [stdout]    |                                          ^^^^^^^^^^^^ not found in `consts`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `CELL_SIZE` in module `consts`
[INFO] [stdout]   --> src/board.rs:53:34
[INFO] [stdout]    |
[INFO] [stdout] 53 |             position.x * consts::CELL_SIZE,
[INFO] [stdout]    |                                  ^^^^^^^^^ not found in `consts`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `CELL_SIZE` in module `consts`
[INFO] [stdout]   --> src/board.rs:54:34
[INFO] [stdout]    |
[INFO] [stdout] 54 |             position.y * consts::CELL_SIZE,
[INFO] [stdout]    |                                  ^^^^^^^^^ not found in `consts`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `CELL_SIZE` in module `consts`
[INFO] [stdout]   --> src/board.rs:56:30
[INFO] [stdout]    |
[INFO] [stdout] 56 |         Vector2::new(consts::CELL_SIZE, consts::CELL_SIZE),
[INFO] [stdout]    |                              ^^^^^^^^^ not found in `consts`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `CELL_SIZE` in module `consts`
[INFO] [stdout]   --> src/board.rs:56:49
[INFO] [stdout]    |
[INFO] [stdout] 56 |         Vector2::new(consts::CELL_SIZE, consts::CELL_SIZE),
[INFO] [stdout]    |                                                 ^^^^^^^^^ not found in `consts`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `GRID_COLOR_LIGHT` in module `consts`
[INFO] [stdout]   --> src/board.rs:58:21
[INFO] [stdout]    |
[INFO] [stdout] 58 |             consts::GRID_COLOR_LIGHT
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^ not found in `consts`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `GRID_COLOR_DARK` in module `consts`
[INFO] [stdout]   --> src/board.rs:60:21
[INFO] [stdout]    |
[INFO] [stdout] 60 |             consts::GRID_COLOR_DARK
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^ not found in `consts`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `CELL_SIZE` in module `consts`
[INFO] [stdout]   --> src/snake.rs:36:48
[INFO] [stdout]    |
[INFO] [stdout] 36 |                     block_position.x * consts::CELL_SIZE,
[INFO] [stdout]    |                                                ^^^^^^^^^ not found in `consts`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `CELL_SIZE` in module `consts`
[INFO] [stdout]   --> src/snake.rs:37:48
[INFO] [stdout]    |
[INFO] [stdout] 37 |                     block_position.y * consts::CELL_SIZE,
[INFO] [stdout]    |                                                ^^^^^^^^^ not found in `consts`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `CELL_SIZE` in module `consts`
[INFO] [stdout]   --> src/snake.rs:40:38
[INFO] [stdout]    |
[INFO] [stdout] 40 |                 Vector2::new(consts::CELL_SIZE, consts::CELL_SIZE),
[INFO] [stdout]    |                                      ^^^^^^^^^ not found in `consts`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `CELL_SIZE` in module `consts`
[INFO] [stdout]   --> src/snake.rs:40:57
[INFO] [stdout]    |
[INFO] [stdout] 40 |                 Vector2::new(consts::CELL_SIZE, consts::CELL_SIZE),
[INFO] [stdout]    |                                                         ^^^^^^^^^ not found in `consts`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `SNAKE_COLOR` in module `consts`
[INFO] [stdout]   --> src/snake.rs:41:25
[INFO] [stdout]    |
[INFO] [stdout] 41 |                 consts::SNAKE_COLOR,
[INFO] [stdout]    |                         ^^^^^^^^^^^ not found in `consts`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `SNAKE_STARTING_POSITIONS` in module `consts`
[INFO] [stdout]   --> src/snake.rs:97:27
[INFO] [stdout]    |
[INFO] [stdout] 97 |             body: consts::SNAKE_STARTING_POSITIONS
[INFO] [stdout]    |                           ^^^^^^^^^^^^^^^^^^^^^^^^ not found in `consts`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `BOARD_WIDTH` in module `consts`
[INFO] [stdout]    --> src/snake.rs:125:45
[INFO] [stdout]     |
[INFO] [stdout] 125 |             || new_position.x + 1 > consts::BOARD_WIDTH
[INFO] [stdout]     |                                             ^^^^^^^^^^^ not found in `consts`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `BOARD_HEIGHT` in module `consts`
[INFO] [stdout]    --> src/snake.rs:126:45
[INFO] [stdout]     |
[INFO] [stdout] 126 |             || new_position.y + 1 > consts::BOARD_HEIGHT
[INFO] [stdout]     |                                             ^^^^^^^^^^^^ not found in `consts`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `SCREEN_WIDTH` in this scope
[INFO] [stdout]   --> src/main.rs:14:15
[INFO] [stdout]    |
[INFO] [stdout] 14 |         .size(SCREEN_WIDTH, SCREEN_HEIGHT)
[INFO] [stdout]    |               ^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `SCREEN_HEIGHT` in this scope
[INFO] [stdout]   --> src/main.rs:14:29
[INFO] [stdout]    |
[INFO] [stdout] 14 |         .size(SCREEN_WIDTH, SCREEN_HEIGHT)
[INFO] [stdout]    |                             ^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `game` in this scope
[INFO] [stdout]   --> src/main.rs:43:13
[INFO] [stdout]    |
[INFO] [stdout] 43 |             game.randomize_apple_position();
[INFO] [stdout]    |             ^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `game` in this scope
[INFO] [stdout]   --> src/main.rs:61:9
[INFO] [stdout]    |
[INFO] [stdout] 61 |         game.with_drawing_context(|context| {
[INFO] [stdout]    |         ^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/apple.rs:31:27
[INFO] [stdout]    |
[INFO] [stdout] 31 |         self.position.x = rand::thread_rng().gen_range(0..consts::BOARD_WIDTH);
[INFO] [stdout]    |         ---------------   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `f32`, found integer
[INFO] [stdout]    |         |
[INFO] [stdout]    |         expected due to the type of this binding
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/apple.rs:32:27
[INFO] [stdout]    |
[INFO] [stdout] 32 |         self.position.y = rand::thread_rng().gen_range(0..consts::BOARD_HEIGHT);
[INFO] [stdout]    |         ---------------   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `f32`, found integer
[INFO] [stdout]    |         |
[INFO] [stdout]    |         expected due to the type of this binding
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: arguments to this function are incorrect
[INFO] [stdout]    --> src/block.rs:10:23
[INFO] [stdout]     |
[INFO] [stdout]  10 |             position: Vector2::new(x, y),
[INFO] [stdout]     |                       ^^^^^^^^^^^^ -  - expected `f32`, found `i32`
[INFO] [stdout]     |                                    |
[INFO] [stdout]     |                                    expected `f32`, found `i32`
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/raylib-3.7.0/src/core/math.rs:158:18
[INFO] [stdout]     |
[INFO] [stdout] 158 |     pub const fn new(x: f32, y: f32) -> Vector2 {
[INFO] [stdout]     |                  ^^^
[INFO] [stdout] help: you can convert an `i32` to an `f32`, producing the floating point representation of the integer, rounded if necessary
[INFO] [stdout]     |
[INFO] [stdout]  10 |             position: Vector2::new(x as f32, y),
[INFO] [stdout]     |                                      ++++++
[INFO] [stdout] help: you can convert an `i32` to an `f32`, producing the floating point representation of the integer, rounded if necessary
[INFO] [stdout]     |
[INFO] [stdout]  10 |             position: Vector2::new(x, y as f32),
[INFO] [stdout]     |                                         ++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: arguments to this function are incorrect
[INFO] [stdout]    --> src/board.rs:6:29
[INFO] [stdout]     |
[INFO] [stdout]   6 |         draw_grid_cell(gfx, Vector2::new(x, y));
[INFO] [stdout]     |                             ^^^^^^^^^^^^ -  - expected `f32`, found `i32`
[INFO] [stdout]     |                                          |
[INFO] [stdout]     |                                          expected `f32`, found `i32`
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/raylib-3.7.0/src/core/math.rs:158:18
[INFO] [stdout]     |
[INFO] [stdout] 158 |     pub const fn new(x: f32, y: f32) -> Vector2 {
[INFO] [stdout]     |                  ^^^
[INFO] [stdout] help: you can convert an `i32` to an `f32`, producing the floating point representation of the integer, rounded if necessary
[INFO] [stdout]     |
[INFO] [stdout]   6 |         draw_grid_cell(gfx, Vector2::new(x as f32, y));
[INFO] [stdout]     |                                            ++++++
[INFO] [stdout] help: you can convert an `i32` to an `f32`, producing the floating point representation of the integer, rounded if necessary
[INFO] [stdout]     |
[INFO] [stdout]   6 |         draw_grid_cell(gfx, Vector2::new(x, y as f32));
[INFO] [stdout]     |                                               ++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: cannot calculate the remainder of `f32` divided by `{integer}`
[INFO] [stdout]   --> src/board.rs:57:23
[INFO] [stdout]    |
[INFO] [stdout] 57 |         if position.x % 2 == position.y % 2 {
[INFO] [stdout]    |                       ^ no implementation for `f32 % {integer}`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `Rem<{integer}>` is not implemented for `f32`
[INFO] [stdout] help: the following other types implement trait `Rem<Rhs>`
[INFO] [stdout]   --> /rustc/4f260f0f20b3133d20cfb50353c0221943af5796/library/core/src/ops/arith.rs:650:1
[INFO] [stdout]    |
[INFO] [stdout]    = note: `&f32` implements `Rem<f32>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `&f32` implements `Rem`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `f32` implements `Rem<&f32>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `f32` implements `Rem`
[INFO] [stdout]    = note: this error originates in the macro `forward_ref_binop` which comes from the expansion of the macro `rem_impl_float` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider using a floating-point literal by writing it with `.0`
[INFO] [stdout]    |
[INFO] [stdout] 57 |         if position.x % 2.0 == position.y % 2 {
[INFO] [stdout]    |                          ++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: cannot calculate the remainder of `f32` divided by `{integer}`
[INFO] [stdout]   --> src/board.rs:57:41
[INFO] [stdout]    |
[INFO] [stdout] 57 |         if position.x % 2 == position.y % 2 {
[INFO] [stdout]    |                                         ^ no implementation for `f32 % {integer}`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `Rem<{integer}>` is not implemented for `f32`
[INFO] [stdout] help: the following other types implement trait `Rem<Rhs>`
[INFO] [stdout]   --> /rustc/4f260f0f20b3133d20cfb50353c0221943af5796/library/core/src/ops/arith.rs:650:1
[INFO] [stdout]    |
[INFO] [stdout]    = note: `&f32` implements `Rem<f32>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `&f32` implements `Rem`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `f32` implements `Rem<&f32>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `f32` implements `Rem`
[INFO] [stdout]    = note: this error originates in the macro `forward_ref_binop` which comes from the expansion of the macro `rem_impl_float` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider using a floating-point literal by writing it with `.0`
[INFO] [stdout]    |
[INFO] [stdout] 57 |         if position.x % 2 == position.y % 2.0 {
[INFO] [stdout]    |                                            ++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: arguments to this function are incorrect
[INFO] [stdout]    --> src/snake.rs:15:25
[INFO] [stdout]     |
[INFO] [stdout]  15 |             Self::Up => Vector2::new(0, -1),
[INFO] [stdout]     |                         ^^^^^^^^^^^^ -  -- expected `f32`, found integer
[INFO] [stdout]     |                                      |
[INFO] [stdout]     |                                      expected `f32`, found integer
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/raylib-3.7.0/src/core/math.rs:158:18
[INFO] [stdout]     |
[INFO] [stdout] 158 |     pub const fn new(x: f32, y: f32) -> Vector2 {
[INFO] [stdout]     |                  ^^^
[INFO] [stdout] help: use a float literal
[INFO] [stdout]     |
[INFO] [stdout]  15 |             Self::Up => Vector2::new(0.0, -1),
[INFO] [stdout]     |                                       ++
[INFO] [stdout] help: use a float literal
[INFO] [stdout]     |
[INFO] [stdout]  15 |             Self::Up => Vector2::new(0, -1.0),
[INFO] [stdout]     |                                           ++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: arguments to this function are incorrect
[INFO] [stdout]    --> src/snake.rs:16:27
[INFO] [stdout]     |
[INFO] [stdout]  16 |             Self::Down => Vector2::new(0, 1),
[INFO] [stdout]     |                           ^^^^^^^^^^^^ -  - expected `f32`, found integer
[INFO] [stdout]     |                                        |
[INFO] [stdout]     |                                        expected `f32`, found integer
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/raylib-3.7.0/src/core/math.rs:158:18
[INFO] [stdout]     |
[INFO] [stdout] 158 |     pub const fn new(x: f32, y: f32) -> Vector2 {
[INFO] [stdout]     |                  ^^^
[INFO] [stdout] help: use a float literal
[INFO] [stdout]     |
[INFO] [stdout]  16 |             Self::Down => Vector2::new(0.0, 1),
[INFO] [stdout]     |                                         ++
[INFO] [stdout] help: use a float literal
[INFO] [stdout]     |
[INFO] [stdout]  16 |             Self::Down => Vector2::new(0, 1.0),
[INFO] [stdout]     |                                            ++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: arguments to this function are incorrect
[INFO] [stdout]    --> src/snake.rs:17:27
[INFO] [stdout]     |
[INFO] [stdout]  17 |             Self::Left => Vector2::new(-1, 0),
[INFO] [stdout]     |                           ^^^^^^^^^^^^ --  - expected `f32`, found integer
[INFO] [stdout]     |                                        |
[INFO] [stdout]     |                                        expected `f32`, found integer
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/raylib-3.7.0/src/core/math.rs:158:18
[INFO] [stdout]     |
[INFO] [stdout] 158 |     pub const fn new(x: f32, y: f32) -> Vector2 {
[INFO] [stdout]     |                  ^^^
[INFO] [stdout] help: use a float literal
[INFO] [stdout]     |
[INFO] [stdout]  17 |             Self::Left => Vector2::new(-1.0, 0),
[INFO] [stdout]     |                                          ++
[INFO] [stdout] help: use a float literal
[INFO] [stdout]     |
[INFO] [stdout]  17 |             Self::Left => Vector2::new(-1, 0.0),
[INFO] [stdout]     |                                             ++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: arguments to this function are incorrect
[INFO] [stdout]    --> src/snake.rs:18:28
[INFO] [stdout]     |
[INFO] [stdout]  18 |             Self::Right => Vector2::new(1, 0),
[INFO] [stdout]     |                            ^^^^^^^^^^^^ -  - expected `f32`, found integer
[INFO] [stdout]     |                                         |
[INFO] [stdout]     |                                         expected `f32`, found integer
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/raylib-3.7.0/src/core/math.rs:158:18
[INFO] [stdout]     |
[INFO] [stdout] 158 |     pub const fn new(x: f32, y: f32) -> Vector2 {
[INFO] [stdout]     |                  ^^^
[INFO] [stdout] help: use a float literal
[INFO] [stdout]     |
[INFO] [stdout]  18 |             Self::Right => Vector2::new(1.0, 0),
[INFO] [stdout]     |                                          ++
[INFO] [stdout] help: use a float literal
[INFO] [stdout]     |
[INFO] [stdout]  18 |             Self::Right => Vector2::new(1, 0.0),
[INFO] [stdout]     |                                             ++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/snake.rs:123:29
[INFO] [stdout]     |
[INFO] [stdout] 123 |         if new_position.x < 0
[INFO] [stdout]     |            --------------   ^ expected `f32`, found integer
[INFO] [stdout]     |            |
[INFO] [stdout]     |            expected because this is `f32`
[INFO] [stdout]     |
[INFO] [stdout] help: use a float literal
[INFO] [stdout]     |
[INFO] [stdout] 123 |         if new_position.x < 0.0
[INFO] [stdout]     |                              ++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/snake.rs:124:33
[INFO] [stdout]     |
[INFO] [stdout] 124 |             || new_position.y < 0
[INFO] [stdout]     |                --------------   ^ expected `f32`, found integer
[INFO] [stdout]     |                |
[INFO] [stdout]     |                expected because this is `f32`
[INFO] [stdout]     |
[INFO] [stdout] help: use a float literal
[INFO] [stdout]     |
[INFO] [stdout] 124 |             || new_position.y < 0.0
[INFO] [stdout]     |                                  ++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: cannot add `{integer}` to `f32`
[INFO] [stdout]    --> src/snake.rs:125:31
[INFO] [stdout]     |
[INFO] [stdout] 125 |             || new_position.x + 1 > consts::BOARD_WIDTH
[INFO] [stdout]     |                               ^ no implementation for `f32 + {integer}`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Add<{integer}>` is not implemented for `f32`
[INFO] [stdout] help: the following other types implement trait `Add<Rhs>`
[INFO] [stdout]    --> /rustc/4f260f0f20b3133d20cfb50353c0221943af5796/library/core/src/ops/arith.rs:114:1
[INFO] [stdout]     |
[INFO] [stdout]     = note: `&f32` implements `Add<f32>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `&f32` implements `Add`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `f32` implements `Add<&f32>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `f32` implements `Add`
[INFO] [stdout]     = note: this error originates in the macro `forward_ref_binop` which comes from the expansion of the macro `add_impl` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider using a floating-point literal by writing it with `.0`
[INFO] [stdout]     |
[INFO] [stdout] 125 |             || new_position.x + 1.0 > consts::BOARD_WIDTH
[INFO] [stdout]     |                                  ++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: cannot add `{integer}` to `f32`
[INFO] [stdout]    --> src/snake.rs:126:31
[INFO] [stdout]     |
[INFO] [stdout] 126 |             || new_position.y + 1 > consts::BOARD_HEIGHT
[INFO] [stdout]     |                               ^ no implementation for `f32 + {integer}`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Add<{integer}>` is not implemented for `f32`
[INFO] [stdout] help: the following other types implement trait `Add<Rhs>`
[INFO] [stdout]    --> /rustc/4f260f0f20b3133d20cfb50353c0221943af5796/library/core/src/ops/arith.rs:114:1
[INFO] [stdout]     |
[INFO] [stdout]     = note: `&f32` implements `Add<f32>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `&f32` implements `Add`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `f32` implements `Add<&f32>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `f32` implements `Add`
[INFO] [stdout]     = note: this error originates in the macro `forward_ref_binop` which comes from the expansion of the macro `add_impl` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider using a floating-point literal by writing it with `.0`
[INFO] [stdout]     |
[INFO] [stdout] 126 |             || new_position.y + 1.0 > consts::BOARD_HEIGHT
[INFO] [stdout]     |                                  ++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> src/main.rs:61:36
[INFO] [stdout]    |
[INFO] [stdout] 61 |         game.with_drawing_context(|context| {
[INFO] [stdout]    |                                    ^^^^^^^
[INFO] [stdout] 62 |             context.draw(apple);
[INFO] [stdout]    |             ------- type must be known at this point
[INFO] [stdout]    |
[INFO] [stdout] help: consider giving this closure parameter an explicit type
[INFO] [stdout]    |
[INFO] [stdout] 61 |         game.with_drawing_context(|context: /* Type */| {
[INFO] [stdout]    |                                           ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0277, E0282, E0308, E0425.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0277`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `snake` (bin "snake") due to 44 previous errors
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] error[E0425]: cannot find value `CELL_SIZE` in module `consts`
[INFO] [stdout]   --> src/apple.rs:16:43
[INFO] [stdout]    |
[INFO] [stdout] 16 |                 self.position.x * consts::CELL_SIZE,
[INFO] [stdout]    |                                           ^^^^^^^^^ not found in `consts`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `CELL_SIZE` in module `consts`
[INFO] [stdout]   --> src/apple.rs:17:43
[INFO] [stdout]    |
[INFO] [stdout] 17 |                 self.position.y * consts::CELL_SIZE,
[INFO] [stdout]    |                                           ^^^^^^^^^ not found in `consts`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `CELL_SIZE` in module `consts`
[INFO] [stdout]   --> src/apple.rs:19:34
[INFO] [stdout]    |
[INFO] [stdout] 19 |             Vector2::new(consts::CELL_SIZE, consts::CELL_SIZE),
[INFO] [stdout]    |                                  ^^^^^^^^^ not found in `consts`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `CELL_SIZE` in module `consts`
[INFO] [stdout]   --> src/apple.rs:19:53
[INFO] [stdout]    |
[INFO] [stdout] 19 |             Vector2::new(consts::CELL_SIZE, consts::CELL_SIZE),
[INFO] [stdout]    |                                                     ^^^^^^^^^ not found in `consts`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `APPLE_START_POSITION` in module `consts`
[INFO] [stdout]   --> src/apple.rs:26:31
[INFO] [stdout]    |
[INFO] [stdout] 26 |             position: consts::APPLE_START_POSITION,
[INFO] [stdout]    |                               ^^^^^^^^^^^^^^^^^^^^ not found in `consts`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `BOARD_WIDTH` in module `consts`
[INFO] [stdout]   --> src/apple.rs:31:67
[INFO] [stdout]    |
[INFO] [stdout] 31 |         self.position.x = rand::thread_rng().gen_range(0..consts::BOARD_WIDTH);
[INFO] [stdout]    |                                                                   ^^^^^^^^^^^ not found in `consts`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `BOARD_HEIGHT` in module `consts`
[INFO] [stdout]   --> src/apple.rs:32:67
[INFO] [stdout]    |
[INFO] [stdout] 32 |         self.position.y = rand::thread_rng().gen_range(0..consts::BOARD_HEIGHT);
[INFO] [stdout]    |                                                                   ^^^^^^^^^^^^ not found in `consts`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `BOARD_WIDTH` in module `consts`
[INFO] [stdout]   --> src/board.rs:10:36
[INFO] [stdout]    |
[INFO] [stdout] 10 | const CELL_PRODUCT: i32 = (consts::BOARD_WIDTH * consts::BOARD_HEIGHT) as i32;
[INFO] [stdout]    |                                    ^^^^^^^^^^^ not found in `consts`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `BOARD_HEIGHT` in module `consts`
[INFO] [stdout]   --> src/board.rs:10:58
[INFO] [stdout]    |
[INFO] [stdout] 10 | const CELL_PRODUCT: i32 = (consts::BOARD_WIDTH * consts::BOARD_HEIGHT) as i32;
[INFO] [stdout]    |                                                          ^^^^^^^^^^^^ not found in `consts`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `BOARD_HEIGHT` in module `consts`
[INFO] [stdout]   --> src/board.rs:42:42
[INFO] [stdout]    |
[INFO] [stdout] 42 |                 last_iteration / consts::BOARD_HEIGHT as i32,
[INFO] [stdout]    |                                          ^^^^^^^^^^^^ not found in `consts`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `BOARD_HEIGHT` in module `consts`
[INFO] [stdout]   --> src/board.rs:43:42
[INFO] [stdout]    |
[INFO] [stdout] 43 |                 last_iteration % consts::BOARD_HEIGHT as i32,
[INFO] [stdout]    |                                          ^^^^^^^^^^^^ not found in `consts`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `CELL_SIZE` in module `consts`
[INFO] [stdout]   --> src/board.rs:53:34
[INFO] [stdout]    |
[INFO] [stdout] 53 |             position.x * consts::CELL_SIZE,
[INFO] [stdout]    |                                  ^^^^^^^^^ not found in `consts`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `CELL_SIZE` in module `consts`
[INFO] [stdout]   --> src/board.rs:54:34
[INFO] [stdout]    |
[INFO] [stdout] 54 |             position.y * consts::CELL_SIZE,
[INFO] [stdout]    |                                  ^^^^^^^^^ not found in `consts`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `CELL_SIZE` in module `consts`
[INFO] [stdout]   --> src/board.rs:56:30
[INFO] [stdout]    |
[INFO] [stdout] 56 |         Vector2::new(consts::CELL_SIZE, consts::CELL_SIZE),
[INFO] [stdout]    |                              ^^^^^^^^^ not found in `consts`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `CELL_SIZE` in module `consts`
[INFO] [stdout]   --> src/board.rs:56:49
[INFO] [stdout]    |
[INFO] [stdout] 56 |         Vector2::new(consts::CELL_SIZE, consts::CELL_SIZE),
[INFO] [stdout]    |                                                 ^^^^^^^^^ not found in `consts`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `GRID_COLOR_LIGHT` in module `consts`
[INFO] [stdout]   --> src/board.rs:58:21
[INFO] [stdout]    |
[INFO] [stdout] 58 |             consts::GRID_COLOR_LIGHT
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^ not found in `consts`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `GRID_COLOR_DARK` in module `consts`
[INFO] [stdout]   --> src/board.rs:60:21
[INFO] [stdout]    |
[INFO] [stdout] 60 |             consts::GRID_COLOR_DARK
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^ not found in `consts`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `CELL_SIZE` in module `consts`
[INFO] [stdout]   --> src/snake.rs:36:48
[INFO] [stdout]    |
[INFO] [stdout] 36 |                     block_position.x * consts::CELL_SIZE,
[INFO] [stdout]    |                                                ^^^^^^^^^ not found in `consts`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `CELL_SIZE` in module `consts`
[INFO] [stdout]   --> src/snake.rs:37:48
[INFO] [stdout]    |
[INFO] [stdout] 37 |                     block_position.y * consts::CELL_SIZE,
[INFO] [stdout]    |                                                ^^^^^^^^^ not found in `consts`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `CELL_SIZE` in module `consts`
[INFO] [stdout]   --> src/snake.rs:40:38
[INFO] [stdout]    |
[INFO] [stdout] 40 |                 Vector2::new(consts::CELL_SIZE, consts::CELL_SIZE),
[INFO] [stdout]    |                                      ^^^^^^^^^ not found in `consts`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `CELL_SIZE` in module `consts`
[INFO] [stdout]   --> src/snake.rs:40:57
[INFO] [stdout]    |
[INFO] [stdout] 40 |                 Vector2::new(consts::CELL_SIZE, consts::CELL_SIZE),
[INFO] [stdout]    |                                                         ^^^^^^^^^ not found in `consts`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `SNAKE_COLOR` in module `consts`
[INFO] [stdout]   --> src/snake.rs:41:25
[INFO] [stdout]    |
[INFO] [stdout] 41 |                 consts::SNAKE_COLOR,
[INFO] [stdout]    |                         ^^^^^^^^^^^ not found in `consts`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `SNAKE_STARTING_POSITIONS` in module `consts`
[INFO] [stdout]   --> src/snake.rs:97:27
[INFO] [stdout]    |
[INFO] [stdout] 97 |             body: consts::SNAKE_STARTING_POSITIONS
[INFO] [stdout]    |                           ^^^^^^^^^^^^^^^^^^^^^^^^ not found in `consts`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `BOARD_WIDTH` in module `consts`
[INFO] [stdout]    --> src/snake.rs:125:45
[INFO] [stdout]     |
[INFO] [stdout] 125 |             || new_position.x + 1 > consts::BOARD_WIDTH
[INFO] [stdout]     |                                             ^^^^^^^^^^^ not found in `consts`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `BOARD_HEIGHT` in module `consts`
[INFO] [stdout]    --> src/snake.rs:126:45
[INFO] [stdout]     |
[INFO] [stdout] 126 |             || new_position.y + 1 > consts::BOARD_HEIGHT
[INFO] [stdout]     |                                             ^^^^^^^^^^^^ not found in `consts`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `SCREEN_WIDTH` in this scope
[INFO] [stdout]   --> src/main.rs:14:15
[INFO] [stdout]    |
[INFO] [stdout] 14 |         .size(SCREEN_WIDTH, SCREEN_HEIGHT)
[INFO] [stdout]    |               ^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `SCREEN_HEIGHT` in this scope
[INFO] [stdout]   --> src/main.rs:14:29
[INFO] [stdout]    |
[INFO] [stdout] 14 |         .size(SCREEN_WIDTH, SCREEN_HEIGHT)
[INFO] [stdout]    |                             ^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `game` in this scope
[INFO] [stdout]   --> src/main.rs:43:13
[INFO] [stdout]    |
[INFO] [stdout] 43 |             game.randomize_apple_position();
[INFO] [stdout]    |             ^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `game` in this scope
[INFO] [stdout]   --> src/main.rs:61:9
[INFO] [stdout]    |
[INFO] [stdout] 61 |         game.with_drawing_context(|context| {
[INFO] [stdout]    |         ^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/apple.rs:31:27
[INFO] [stdout]    |
[INFO] [stdout] 31 |         self.position.x = rand::thread_rng().gen_range(0..consts::BOARD_WIDTH);
[INFO] [stdout]    |         ---------------   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `f32`, found integer
[INFO] [stdout]    |         |
[INFO] [stdout]    |         expected due to the type of this binding
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/apple.rs:32:27
[INFO] [stdout]    |
[INFO] [stdout] 32 |         self.position.y = rand::thread_rng().gen_range(0..consts::BOARD_HEIGHT);
[INFO] [stdout]    |         ---------------   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `f32`, found integer
[INFO] [stdout]    |         |
[INFO] [stdout]    |         expected due to the type of this binding
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: arguments to this function are incorrect
[INFO] [stdout]    --> src/block.rs:10:23
[INFO] [stdout]     |
[INFO] [stdout]  10 |             position: Vector2::new(x, y),
[INFO] [stdout]     |                       ^^^^^^^^^^^^ -  - expected `f32`, found `i32`
[INFO] [stdout]     |                                    |
[INFO] [stdout]     |                                    expected `f32`, found `i32`
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/raylib-3.7.0/src/core/math.rs:158:18
[INFO] [stdout]     |
[INFO] [stdout] 158 |     pub const fn new(x: f32, y: f32) -> Vector2 {
[INFO] [stdout]     |                  ^^^
[INFO] [stdout] help: you can convert an `i32` to an `f32`, producing the floating point representation of the integer, rounded if necessary
[INFO] [stdout]     |
[INFO] [stdout]  10 |             position: Vector2::new(x as f32, y),
[INFO] [stdout]     |                                      ++++++
[INFO] [stdout] help: you can convert an `i32` to an `f32`, producing the floating point representation of the integer, rounded if necessary
[INFO] [stdout]     |
[INFO] [stdout]  10 |             position: Vector2::new(x, y as f32),
[INFO] [stdout]     |                                         ++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: arguments to this function are incorrect
[INFO] [stdout]    --> src/board.rs:6:29
[INFO] [stdout]     |
[INFO] [stdout]   6 |         draw_grid_cell(gfx, Vector2::new(x, y));
[INFO] [stdout]     |                             ^^^^^^^^^^^^ -  - expected `f32`, found `i32`
[INFO] [stdout]     |                                          |
[INFO] [stdout]     |                                          expected `f32`, found `i32`
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/raylib-3.7.0/src/core/math.rs:158:18
[INFO] [stdout]     |
[INFO] [stdout] 158 |     pub const fn new(x: f32, y: f32) -> Vector2 {
[INFO] [stdout]     |                  ^^^
[INFO] [stdout] help: you can convert an `i32` to an `f32`, producing the floating point representation of the integer, rounded if necessary
[INFO] [stdout]     |
[INFO] [stdout]   6 |         draw_grid_cell(gfx, Vector2::new(x as f32, y));
[INFO] [stdout]     |                                            ++++++
[INFO] [stdout] help: you can convert an `i32` to an `f32`, producing the floating point representation of the integer, rounded if necessary
[INFO] [stdout]     |
[INFO] [stdout]   6 |         draw_grid_cell(gfx, Vector2::new(x, y as f32));
[INFO] [stdout]     |                                               ++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: cannot calculate the remainder of `f32` divided by `{integer}`
[INFO] [stdout]   --> src/board.rs:57:23
[INFO] [stdout]    |
[INFO] [stdout] 57 |         if position.x % 2 == position.y % 2 {
[INFO] [stdout]    |                       ^ no implementation for `f32 % {integer}`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `Rem<{integer}>` is not implemented for `f32`
[INFO] [stdout] help: the following other types implement trait `Rem<Rhs>`
[INFO] [stdout]   --> /rustc/4f260f0f20b3133d20cfb50353c0221943af5796/library/core/src/ops/arith.rs:650:1
[INFO] [stdout]    |
[INFO] [stdout]    = note: `&f32` implements `Rem<f32>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `&f32` implements `Rem`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `f32` implements `Rem<&f32>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `f32` implements `Rem`
[INFO] [stdout]    = note: this error originates in the macro `forward_ref_binop` which comes from the expansion of the macro `rem_impl_float` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider using a floating-point literal by writing it with `.0`
[INFO] [stdout]    |
[INFO] [stdout] 57 |         if position.x % 2.0 == position.y % 2 {
[INFO] [stdout]    |                          ++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: cannot calculate the remainder of `f32` divided by `{integer}`
[INFO] [stdout]   --> src/board.rs:57:41
[INFO] [stdout]    |
[INFO] [stdout] 57 |         if position.x % 2 == position.y % 2 {
[INFO] [stdout]    |                                         ^ no implementation for `f32 % {integer}`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `Rem<{integer}>` is not implemented for `f32`
[INFO] [stdout] help: the following other types implement trait `Rem<Rhs>`
[INFO] [stdout]   --> /rustc/4f260f0f20b3133d20cfb50353c0221943af5796/library/core/src/ops/arith.rs:650:1
[INFO] [stdout]    |
[INFO] [stdout]    = note: `&f32` implements `Rem<f32>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `&f32` implements `Rem`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `f32` implements `Rem<&f32>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `f32` implements `Rem`
[INFO] [stdout]    = note: this error originates in the macro `forward_ref_binop` which comes from the expansion of the macro `rem_impl_float` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider using a floating-point literal by writing it with `.0`
[INFO] [stdout]    |
[INFO] [stdout] 57 |         if position.x % 2 == position.y % 2.0 {
[INFO] [stdout]    |                                            ++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: arguments to this function are incorrect
[INFO] [stdout]    --> src/snake.rs:15:25
[INFO] [stdout]     |
[INFO] [stdout]  15 |             Self::Up => Vector2::new(0, -1),
[INFO] [stdout]     |                         ^^^^^^^^^^^^ -  -- expected `f32`, found integer
[INFO] [stdout]     |                                      |
[INFO] [stdout]     |                                      expected `f32`, found integer
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/raylib-3.7.0/src/core/math.rs:158:18
[INFO] [stdout]     |
[INFO] [stdout] 158 |     pub const fn new(x: f32, y: f32) -> Vector2 {
[INFO] [stdout]     |                  ^^^
[INFO] [stdout] help: use a float literal
[INFO] [stdout]     |
[INFO] [stdout]  15 |             Self::Up => Vector2::new(0.0, -1),
[INFO] [stdout]     |                                       ++
[INFO] [stdout] help: use a float literal
[INFO] [stdout]     |
[INFO] [stdout]  15 |             Self::Up => Vector2::new(0, -1.0),
[INFO] [stdout]     |                                           ++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: arguments to this function are incorrect
[INFO] [stdout]    --> src/snake.rs:16:27
[INFO] [stdout]     |
[INFO] [stdout]  16 |             Self::Down => Vector2::new(0, 1),
[INFO] [stdout]     |                           ^^^^^^^^^^^^ -  - expected `f32`, found integer
[INFO] [stdout]     |                                        |
[INFO] [stdout]     |                                        expected `f32`, found integer
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/raylib-3.7.0/src/core/math.rs:158:18
[INFO] [stdout]     |
[INFO] [stdout] 158 |     pub const fn new(x: f32, y: f32) -> Vector2 {
[INFO] [stdout]     |                  ^^^
[INFO] [stdout] help: use a float literal
[INFO] [stdout]     |
[INFO] [stdout]  16 |             Self::Down => Vector2::new(0.0, 1),
[INFO] [stdout]     |                                         ++
[INFO] [stdout] help: use a float literal
[INFO] [stdout]     |
[INFO] [stdout]  16 |             Self::Down => Vector2::new(0, 1.0),
[INFO] [stdout]     |                                            ++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: arguments to this function are incorrect
[INFO] [stdout]    --> src/snake.rs:17:27
[INFO] [stdout]     |
[INFO] [stdout]  17 |             Self::Left => Vector2::new(-1, 0),
[INFO] [stdout]     |                           ^^^^^^^^^^^^ --  - expected `f32`, found integer
[INFO] [stdout]     |                                        |
[INFO] [stdout]     |                                        expected `f32`, found integer
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/raylib-3.7.0/src/core/math.rs:158:18
[INFO] [stdout]     |
[INFO] [stdout] 158 |     pub const fn new(x: f32, y: f32) -> Vector2 {
[INFO] [stdout]     |                  ^^^
[INFO] [stdout] help: use a float literal
[INFO] [stdout]     |
[INFO] [stdout]  17 |             Self::Left => Vector2::new(-1.0, 0),
[INFO] [stdout]     |                                          ++
[INFO] [stdout] help: use a float literal
[INFO] [stdout]     |
[INFO] [stdout]  17 |             Self::Left => Vector2::new(-1, 0.0),
[INFO] [stdout]     |                                             ++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: arguments to this function are incorrect
[INFO] [stdout]    --> src/snake.rs:18:28
[INFO] [stdout]     |
[INFO] [stdout]  18 |             Self::Right => Vector2::new(1, 0),
[INFO] [stdout]     |                            ^^^^^^^^^^^^ -  - expected `f32`, found integer
[INFO] [stdout]     |                                         |
[INFO] [stdout]     |                                         expected `f32`, found integer
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/raylib-3.7.0/src/core/math.rs:158:18
[INFO] [stdout]     |
[INFO] [stdout] 158 |     pub const fn new(x: f32, y: f32) -> Vector2 {
[INFO] [stdout]     |                  ^^^
[INFO] [stdout] help: use a float literal
[INFO] [stdout]     |
[INFO] [stdout]  18 |             Self::Right => Vector2::new(1.0, 0),
[INFO] [stdout]     |                                          ++
[INFO] [stdout] help: use a float literal
[INFO] [stdout]     |
[INFO] [stdout]  18 |             Self::Right => Vector2::new(1, 0.0),
[INFO] [stdout]     |                                             ++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/snake.rs:123:29
[INFO] [stdout]     |
[INFO] [stdout] 123 |         if new_position.x < 0
[INFO] [stdout]     |            --------------   ^ expected `f32`, found integer
[INFO] [stdout]     |            |
[INFO] [stdout]     |            expected because this is `f32`
[INFO] [stdout]     |
[INFO] [stdout] help: use a float literal
[INFO] [stdout]     |
[INFO] [stdout] 123 |         if new_position.x < 0.0
[INFO] [stdout]     |                              ++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/snake.rs:124:33
[INFO] [stdout]     |
[INFO] [stdout] 124 |             || new_position.y < 0
[INFO] [stdout]     |                --------------   ^ expected `f32`, found integer
[INFO] [stdout]     |                |
[INFO] [stdout]     |                expected because this is `f32`
[INFO] [stdout]     |
[INFO] [stdout] help: use a float literal
[INFO] [stdout]     |
[INFO] [stdout] 124 |             || new_position.y < 0.0
[INFO] [stdout]     |                                  ++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: cannot add `{integer}` to `f32`
[INFO] [stdout]    --> src/snake.rs:125:31
[INFO] [stdout]     |
[INFO] [stdout] 125 |             || new_position.x + 1 > consts::BOARD_WIDTH
[INFO] [stdout]     |                               ^ no implementation for `f32 + {integer}`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Add<{integer}>` is not implemented for `f32`
[INFO] [stdout] help: the following other types implement trait `Add<Rhs>`
[INFO] [stdout]    --> /rustc/4f260f0f20b3133d20cfb50353c0221943af5796/library/core/src/ops/arith.rs:114:1
[INFO] [stdout]     |
[INFO] [stdout]     = note: `&f32` implements `Add<f32>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `&f32` implements `Add`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `f32` implements `Add<&f32>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `f32` implements `Add`
[INFO] [stdout]     = note: this error originates in the macro `forward_ref_binop` which comes from the expansion of the macro `add_impl` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider using a floating-point literal by writing it with `.0`
[INFO] [stdout]     |
[INFO] [stdout] 125 |             || new_position.x + 1.0 > consts::BOARD_WIDTH
[INFO] [stdout]     |                                  ++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: cannot add `{integer}` to `f32`
[INFO] [stdout]    --> src/snake.rs:126:31
[INFO] [stdout]     |
[INFO] [stdout] 126 |             || new_position.y + 1 > consts::BOARD_HEIGHT
[INFO] [stdout]     |                               ^ no implementation for `f32 + {integer}`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Add<{integer}>` is not implemented for `f32`
[INFO] [stdout] help: the following other types implement trait `Add<Rhs>`
[INFO] [stdout]    --> /rustc/4f260f0f20b3133d20cfb50353c0221943af5796/library/core/src/ops/arith.rs:114:1
[INFO] [stdout]     |
[INFO] [stdout]     = note: `&f32` implements `Add<f32>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `&f32` implements `Add`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `f32` implements `Add<&f32>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `f32` implements `Add`
[INFO] [stdout]     = note: this error originates in the macro `forward_ref_binop` which comes from the expansion of the macro `add_impl` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider using a floating-point literal by writing it with `.0`
[INFO] [stdout]     |
[INFO] [stdout] 126 |             || new_position.y + 1.0 > consts::BOARD_HEIGHT
[INFO] [stdout]     |                                  ++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> src/main.rs:61:36
[INFO] [stdout]    |
[INFO] [stdout] 61 |         game.with_drawing_context(|context| {
[INFO] [stdout]    |                                    ^^^^^^^
[INFO] [stdout] 62 |             context.draw(apple);
[INFO] [stdout]    |             ------- type must be known at this point
[INFO] [stdout]    |
[INFO] [stdout] help: consider giving this closure parameter an explicit type
[INFO] [stdout]    |
[INFO] [stdout] 61 |         game.with_drawing_context(|context: /* Type */| {
[INFO] [stdout]    |                                           ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0277, E0282, E0308, E0425.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0277`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `snake` (bin "snake" test) due to 44 previous errors
[INFO] running `Command { std: "docker" "inspect" "b85ff38a8f4250f130fed0dc4cc29f8d9099330ad3b44e2877be0260737838c7", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "b85ff38a8f4250f130fed0dc4cc29f8d9099330ad3b44e2877be0260737838c7", kill_on_drop: false }`
[INFO] [stdout] b85ff38a8f4250f130fed0dc4cc29f8d9099330ad3b44e2877be0260737838c7
