[INFO] cloning repository https://github.com/tramos200018/engine2d
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/tramos200018/engine2d" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftramos200018%2Fengine2d", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftramos200018%2Fengine2d'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 968259bce001c02f3368b9a5800feb73d3894f10
[INFO] testing tramos200018/engine2d against 1.54.0 for beta-1.55-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftramos200018%2Fengine2d" "/workspace/builds/worker-4/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-4/source'...
[INFO] [stderr] done.
[INFO] [stderr] Updating files:  58% (1831/3111)
Updating files:  59% (1836/3111)
Updating files:  60% (1867/3111)
Updating files:  61% (1898/3111)
Updating files:  62% (1929/3111)
Updating files:  63% (1960/3111)
Updating files:  64% (1992/3111)
Updating files:  65% (2023/3111)
Updating files:  66% (2054/3111)
Updating files:  67% (2085/3111)
Updating files:  68% (2116/3111)
Updating files:  69% (2147/3111)
Updating files:  69% (2154/3111)
Updating files:  70% (2178/3111)
Updating files:  71% (2209/3111)
Updating files:  72% (2240/3111)
Updating files:  73% (2272/3111)
Updating files:  74% (2303/3111)
Updating files:  74% (2326/3111)
Updating files:  75% (2334/3111)
Updating files:  76% (2365/3111)
Updating files:  77% (2396/3111)
Updating files:  77% (2421/3111)
Updating files:  78% (2427/3111)
Updating files:  79% (2458/3111)
Updating files:  79% (2475/3111)
Updating files:  80% (2489/3111)
Updating files:  81% (2520/3111)
Updating files:  82% (2552/3111)
Updating files:  83% (2583/3111)
Updating files:  83% (2587/3111)
Updating files:  84% (2614/3111)
Updating files:  85% (2645/3111)
Updating files:  85% (2651/3111)
Updating files:  86% (2676/3111)
Updating files:  87% (2707/3111)
Updating files:  88% (2738/3111)
Updating files:  89% (2769/3111)
Updating files:  90% (2800/3111)
Updating files:  91% (2832/3111)
Updating files:  92% (2863/3111)
Updating files:  93% (2894/3111)
Updating files:  94% (2925/3111)
Updating files:  95% (2956/3111)
Updating files:  96% (2987/3111)
Updating files:  97% (3018/3111)
Updating files:  98% (3049/3111)
Updating files:  99% (3080/3111)
Updating files: 100% (3111/3111)
Updating files: 100% (3111/3111), done.
[INFO] validating manifest of git repo https://github.com/tramos200018/engine2d on toolchain 1.54.0
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+1.54.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/tramos200018/engine2d
[INFO] finished tweaking git repo https://github.com/tramos200018/engine2d
[INFO] tweaked toml for git repo https://github.com/tramos200018/engine2d written to /workspace/builds/worker-4/source/Cargo.toml
[INFO] crate git repo https://github.com/tramos200018/engine2d already has a lockfile, it will not be regenerated
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+1.54.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4/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:34b6a614d2c27851fe6cbf88fbd1137609cefab8b10d0615aaeb6fd47975d74e" "/opt/rustwide/cargo-home/bin/cargo" "+1.54.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 640450080b31120a2a67cc25d0c419ffb8416ab4f1473bff8afed5eb69944ae8
[INFO] running `Command { std: "docker" "start" "-a" "640450080b31120a2a67cc25d0c419ffb8416ab4f1473bff8afed5eb69944ae8", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "640450080b31120a2a67cc25d0c419ffb8416ab4f1473bff8afed5eb69944ae8", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "640450080b31120a2a67cc25d0c419ffb8416ab4f1473bff8afed5eb69944ae8", kill_on_drop: false }`
[INFO] [stdout] 640450080b31120a2a67cc25d0c419ffb8416ab4f1473bff8afed5eb69944ae8
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4/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=warn" "-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:34b6a614d2c27851fe6cbf88fbd1137609cefab8b10d0615aaeb6fd47975d74e" "/opt/rustwide/cargo-home/bin/cargo" "+1.54.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 71cbd49235fc53df1b0dcd5eb9ab669e0d53e94edd1a3302ba5dba4a554f662a
[INFO] running `Command { std: "docker" "start" "-a" "71cbd49235fc53df1b0dcd5eb9ab669e0d53e94edd1a3302ba5dba4a554f662a", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.92
[INFO] [stderr]    Compiling syn v1.0.68
[INFO] [stderr]    Compiling futures-sink v0.3.13
[INFO] [stderr]    Compiling futures-core v0.3.13
[INFO] [stderr]    Compiling arrayvec v0.5.2
[INFO] [stderr]    Compiling bit-vec v0.6.3
[INFO] [stderr]    Compiling inplace_it v0.3.3
[INFO] [stderr]    Compiling wide v0.4.6
[INFO] [stderr]    Compiling bytemuck v1.5.1
[INFO] [stderr]    Compiling weezl v0.1.4
[INFO] [stderr]    Compiling sdl2 v0.34.4
[INFO] [stderr]    Compiling typed-arena v2.0.1
[INFO] [stderr]    Compiling pollster v0.2.2
[INFO] [stderr]    Compiling wayland-sys v0.28.5
[INFO] [stderr]    Compiling nom v6.1.2
[INFO] [stderr]    Compiling x11 v2.18.2
[INFO] [stderr]    Compiling sdl2-sys v0.34.4
[INFO] [stderr]    Compiling ash v0.31.0
[INFO] [stderr]    Compiling tracing v0.1.25
[INFO] [stderr]    Compiling wgpu-types v0.6.1
[INFO] [stderr]    Compiling lewton v0.10.2
[INFO] [stderr]    Compiling andrew v0.3.1
[INFO] [stderr]    Compiling crossbeam-epoch v0.9.3
[INFO] [stderr]    Compiling crossbeam-channel v0.5.0
[INFO] [stderr]    Compiling spirv_headers v1.5.0
[INFO] [stderr]    Compiling bit-set v0.5.2
[INFO] [stderr]    Compiling futures-channel v0.3.13
[INFO] [stderr]    Compiling gif v0.11.2
[INFO] [stderr]    Compiling crossbeam-deque v0.8.0
[INFO] [stderr]    Compiling ultraviolet v0.4.6
[INFO] [stderr]    Compiling raw-window-handle v0.3.3
[INFO] [stderr]    Compiling nix v0.20.0
[INFO] [stderr]    Compiling parking_lot_core v0.8.3
[INFO] [stderr]    Compiling jobserver v0.1.21
[INFO] [stderr]    Compiling num_cpus v1.13.0
[INFO] [stderr]    Compiling net2 v0.2.37
[INFO] [stderr]    Compiling iovec v0.1.4
[INFO] [stderr]    Compiling nix v0.18.0
[INFO] [stderr]    Compiling alsa-sys v0.3.1
[INFO] [stderr]    Compiling memmap2 v0.1.0
[INFO] [stderr]    Compiling getrandom v0.1.16
[INFO] [stderr]    Compiling slice-deque v0.3.0
[INFO] [stderr]    Compiling x11-dl v2.18.5
[INFO] [stderr]    Compiling rayon-core v1.9.0
[INFO] [stderr]    Compiling rand_core v0.5.1
[INFO] [stderr]    Compiling mio v0.6.23
[INFO] [stderr]    Compiling parking_lot v0.11.1
[INFO] [stderr]    Compiling gfx-hal v0.6.0
[INFO] [stderr]    Compiling cc v1.0.67
[INFO] [stderr]    Compiling rand_chacha v0.2.2
[INFO] [stderr]    Compiling rand v0.7.3
[INFO] [stderr]    Compiling xcursor v0.3.3
[INFO] [stderr]    Compiling rayon v1.5.0
[INFO] [stderr]    Compiling mio-extras v2.0.6
[INFO] [stderr]    Compiling minimp3-sys v0.3.2
[INFO] [stderr]    Compiling gfx-backend-empty v0.6.0
[INFO] [stderr]    Compiling gfx-descriptor v0.2.0
[INFO] [stderr]    Compiling gfx-memory v0.2.2
[INFO] [stderr]    Compiling jpeg-decoder v0.1.22
[INFO] [stderr]    Compiling wayland-commons v0.28.5
[INFO] [stderr]    Compiling alsa v0.5.0
[INFO] [stderr]    Compiling calloop v0.6.5
[INFO] [stderr]    Compiling tiff v0.6.1
[INFO] [stderr]    Compiling wayland-client v0.28.5
[INFO] [stderr]    Compiling thiserror-impl v1.0.24
[INFO] [stderr]    Compiling futures-macro v0.3.13
[INFO] [stderr]    Compiling serde_derive v1.0.125
[INFO] [stderr]    Compiling image v0.23.14
[INFO] [stderr]    Compiling gfx-backend-vulkan v0.6.5
[INFO] [stderr]    Compiling futures-util v0.3.13
[INFO] [stderr]    Compiling wayland-cursor v0.28.5
[INFO] [stderr]    Compiling wayland-protocols v0.28.5
[INFO] [stderr]    Compiling thiserror v1.0.24
[INFO] [stderr]    Compiling naga v0.2.0
[INFO] [stderr]    Compiling minimp3 v0.5.1
[INFO] [stderr]    Compiling cpal v0.13.3
[INFO] [stderr]    Compiling rodio v0.13.1
[INFO] [stderr]    Compiling futures-executor v0.3.13
[INFO] [stderr]    Compiling serde v1.0.125
[INFO] [stderr]    Compiling futures v0.3.13
[INFO] [stderr]    Compiling wgpu-core v0.6.5
[INFO] [stderr]    Compiling smithay-client-toolkit v0.12.3
[INFO] [stderr]    Compiling winit v0.24.0
[INFO] [stderr]    Compiling serde_json v1.0.64
[INFO] [stderr]    Compiling wgpu v0.6.2
[INFO] [stderr]    Compiling winit_input_helper v0.9.0
[INFO] [stderr]    Compiling pixels v0.2.0
[INFO] [stderr]    Compiling engine2d v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]  --> src/animation.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::sync::Arc;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Duration`, `Instant`
[INFO] [stdout]  --> src/animation.rs:3:17
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::time::{Duration, Instant};
[INFO] [stdout]   |                 ^^^^^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `image::io::Reader as ImageReader`
[INFO] [stdout]  --> src/animation.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use image::io::Reader as ImageReader;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Pixels`, `SurfaceTexture`
[INFO] [stdout]  --> src/collision.rs:1:14
[INFO] [stdout]   |
[INFO] [stdout] 1 | use pixels::{Pixels, SurfaceTexture};
[INFO] [stdout]   |              ^^^^^^  ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::time::Instant`
[INFO] [stdout]  --> src/collision.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::time::Instant;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `winit::dpi::PhysicalSize`
[INFO] [stdout]  --> src/collision.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use winit::dpi::PhysicalSize;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Event`, `VirtualKeyCode`
[INFO] [stdout]  --> src/collision.rs:4:20
[INFO] [stdout]   |
[INFO] [stdout] 4 | use winit::event::{Event, VirtualKeyCode};
[INFO] [stdout]   |                    ^^^^^  ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ControlFlow`, `EventLoop`
[INFO] [stdout]  --> src/collision.rs:5:25
[INFO] [stdout]   |
[INFO] [stdout] 5 | use winit::event_loop::{ControlFlow, EventLoop};
[INFO] [stdout]   |                         ^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `winit::window::WindowBuilder`
[INFO] [stdout]  --> src/collision.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use winit::window::WindowBuilder;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `winit_input_helper::WinitInputHelper`
[INFO] [stdout]  --> src/collision.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use winit_input_helper::WinitInputHelper;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]  --> src/sprite.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::sync::Arc;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `l`
[INFO] [stdout]   --> src/collision.rs:77:54
[INFO] [stdout]    |
[INFO] [stdout] 77 | pub fn gameLayout(fb: &mut [u8], x: usize, y: usize, l: usize, c: Color) {
[INFO] [stdout]    |                                                      ^ help: if this is intentional, prefix it with an underscore: `_l`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x1`
[INFO] [stdout]    --> src/collision.rs:172:9
[INFO] [stdout]     |
[INFO] [stdout] 172 |     let x1 = (r.x + r.w as i32).min(WIDTH as i32) as usize;
[INFO] [stdout]     |         ^^ help: if this is intentional, prefix it with an underscore: `_x1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `y1`
[INFO] [stdout]    --> src/collision.rs:173:9
[INFO] [stdout]     |
[INFO] [stdout] 173 |     let y1 = (r.y + r.h as i32).min(HEIGHT as i32) as usize;
[INFO] [stdout]     |         ^^ help: if this is intentional, prefix it with an underscore: `_y1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `mtv`
[INFO] [stdout]    --> src/collision.rs:253:17
[INFO] [stdout]     |
[INFO] [stdout] 253 |                 mtv,
[INFO] [stdout]     |                 ^^^ help: try ignoring the field: `mtv: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant is never used: `DT`
[INFO] [stdout]   --> src/collision.rs:10:1
[INFO] [stdout]    |
[INFO] [stdout] 10 | const DT: f64 = 1.0 / 60.0;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant is never used: `CLEAR_COL`
[INFO] [stdout]   --> src/collision.rs:22:1
[INFO] [stdout]    |
[INFO] [stdout] 22 | const CLEAR_COL: Color = [32, 32, 64, 255];
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant is never used: `WALL_COL`
[INFO] [stdout]   --> src/collision.rs:23:1
[INFO] [stdout]    |
[INFO] [stdout] 23 | const WALL_COL: Color = [200, 200, 200, 255];
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant is never used: `PLAYER_COL`
[INFO] [stdout]   --> src/collision.rs:24:1
[INFO] [stdout]    |
[INFO] [stdout] 24 | const PLAYER_COL: Color = [255, 128, 128, 255];
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant is never used: `NEXT_COL`
[INFO] [stdout]   --> src/collision.rs:25:1
[INFO] [stdout]    |
[INFO] [stdout] 25 | const NEXT_COL: Color = [255, 0, 0, 255];
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct is never constructed: `Level`
[INFO] [stdout]   --> src/collision.rs:34:8
[INFO] [stdout]    |
[INFO] [stdout] 34 | struct Level {}
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant is never constructed: `Static`
[INFO] [stdout]   --> src/collision.rs:48:5
[INFO] [stdout]    |
[INFO] [stdout] 48 |     Static(usize),
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant is never constructed: `Dynamic`
[INFO] [stdout]   --> src/collision.rs:49:5
[INFO] [stdout]    |
[INFO] [stdout] 49 |     Dynamic(usize),
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `rect_displacement`
[INFO] [stdout]    --> src/collision.rs:201:4
[INFO] [stdout]     |
[INFO] [stdout] 201 | fn rect_displacement(r1: Rect, r2: Rect) -> Option<(i32, i32)> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `gather_contacts`
[INFO] [stdout]    --> src/collision.rs:215:4
[INFO] [stdout]     |
[INFO] [stdout] 215 | fn gather_contacts(statics: &[Wall], dynamics: &[Mobile], into: &mut Vec<Contact>) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `restitute`
[INFO] [stdout]    --> src/collision.rs:242:4
[INFO] [stdout]     |
[INFO] [stdout] 242 | fn restitute(statics: &[Wall], dynamics: &mut [Mobile], contacts: &mut [Contact]) {
[INFO] [stdout]     |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `main`
[INFO] [stdout]    --> src/collision.rs:271:4
[INFO] [stdout]     |
[INFO] [stdout] 271 | fn main() {}
[INFO] [stdout]     |    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant is never constructed: `First`
[INFO] [stdout]   --> src/texture.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 |     First,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `gameLayout` should have a snake case name
[INFO] [stdout]   --> src/collision.rs:77:8
[INFO] [stdout]    |
[INFO] [stdout] 77 | pub fn gameLayout(fb: &mut [u8], x: usize, y: usize, l: usize, c: Color) {
[INFO] [stdout]    |        ^^^^^^^^^^ help: convert the identifier to snake case: `game_layout`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `frameRect` should have a snake case name
[INFO] [stdout]    --> src/collision.rs:168:8
[INFO] [stdout]     |
[INFO] [stdout] 168 | pub fn frameRect(fb: &mut [u8], r: Rect, c: Color) {
[INFO] [stdout]     |        ^^^^^^^^^ help: convert the identifier to snake case: `frame_rect`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 30 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: could not find `macos` in `os`
[INFO] [stdout]  --> src/bin/maze.rs:8:31
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::{borrow::Borrow, os::macos::raw::stat, path::Path, task::RawWakerVTable};
[INFO] [stdout]   |                               ^^^^^ could not find `macos` in `os`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Rgba`
[INFO] [stdout]  --> src/bin/maze.rs:1:29
[INFO] [stdout]   |
[INFO] [stdout] 1 | use engine2d::types::{Rect, Rgba, Vec2i};
[INFO] [stdout]   |                             ^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Write`, `stdout`
[INFO] [stdout]  --> src/bin/maze.rs:5:15
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::io::{Write, stdout, BufReader};
[INFO] [stdout]   |               ^^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `borrow::Borrow`, `task::RawWakerVTable`
[INFO] [stdout]  --> src/bin/maze.rs:8:11
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::{borrow::Borrow, os::macos::raw::stat, path::Path, task::RawWakerVTable};
[INFO] [stdout]   |           ^^^^^^^^^^^^^^                                    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `event`
[INFO] [stdout]   --> src/bin/maze.rs:12:31
[INFO] [stdout]    |
[INFO] [stdout] 12 | use winit::{dpi::LogicalSize, event};
[INFO] [stdout]    |                               ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `engine2d::types::*`
[INFO] [stdout]   --> src/bin/maze.rs:33:5
[INFO] [stdout]    |
[INFO] [stdout] 33 | use engine2d::types::*;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rect_touching`
[INFO] [stdout]   --> src/bin/maze.rs:34:27
[INFO] [stdout]    |
[INFO] [stdout] 34 | use engine2d::collision::{rect_touching, Mobile, Wall};
[INFO] [stdout]    |                           ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/bin/maze.rs:468:24
[INFO] [stdout]     |
[INFO] [stdout] 468 |                     if (state.current_level != 2) {
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: could not find `macos` in `os`
[INFO] [stdout]   --> src/bin/tictactoe.rs:10:31
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::{borrow::Borrow, os::macos::raw::stat, task::RawWakerVTable};
[INFO] [stdout]    |                               ^^^^^ could not find `macos` in `os`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Rgba`
[INFO] [stdout]  --> src/bin/tictactoe.rs:1:29
[INFO] [stdout]   |
[INFO] [stdout] 1 | use engine2d::types::{Rect, Rgba, Vec2i};
[INFO] [stdout]   |                             ^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rand::seq::SliceRandom`
[INFO] [stdout]  --> src/bin/tictactoe.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use rand::seq::SliceRandom;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `borrow::Borrow`, `task::RawWakerVTable`
[INFO] [stdout]   --> src/bin/tictactoe.rs:10:11
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::{borrow::Borrow, os::macos::raw::stat, task::RawWakerVTable};
[INFO] [stdout]    |           ^^^^^^^^^^^^^^                        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `event`
[INFO] [stdout]   --> src/bin/tictactoe.rs:13:31
[INFO] [stdout]    |
[INFO] [stdout] 13 | use winit::{dpi::LogicalSize, event};
[INFO] [stdout]    |                               ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Deserialize`, `Serialize`
[INFO] [stdout]   --> src/bin/tictactoe.rs:18:13
[INFO] [stdout]    |
[INFO] [stdout] 18 | use serde::{Serialize, Deserialize};
[INFO] [stdout]    |             ^^^^^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `engine2d::types::*`
[INFO] [stdout]   --> src/bin/tictactoe.rs:38:5
[INFO] [stdout]    |
[INFO] [stdout] 38 | use engine2d::types::*;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Mobile`, `rect_touching`
[INFO] [stdout]   --> src/bin/tictactoe.rs:39:27
[INFO] [stdout]    |
[INFO] [stdout] 39 | use engine2d::collision::{rect_touching, Mobile, Wall};
[INFO] [stdout]    |                           ^^^^^^^^^^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]    --> src/bin/tictactoe.rs:299:47
[INFO] [stdout]     |
[INFO] [stdout] 299 | ...                   let cross_x = (i * WIDTH / 3 + 75);
[INFO] [stdout]     |                                     ^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]    --> src/bin/tictactoe.rs:300:47
[INFO] [stdout]     |
[INFO] [stdout] 300 | ...                   let cross_y = (j * HEIGHT / 3 + 50);
[INFO] [stdout]     |                                     ^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/bin/tictactoe.rs:540:8
[INFO] [stdout]     |
[INFO] [stdout] 540 |     if (state.model[0][0] == CIRCLE && state.model[0][1] == CIRCLE && state.model[0][2] == CIRCLE) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/bin/tictactoe.rs:542:15
[INFO] [stdout]     |
[INFO] [stdout] 542 |       } else if (state.model[1][0] == CIRCLE
[INFO] [stdout]     |  _______________^
[INFO] [stdout] 543 | |         && state.model[1][1] == CIRCLE
[INFO] [stdout] 544 | |         && state.model[1][2] == CIRCLE)
[INFO] [stdout]     | |_______________________________________^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 542 |     } else if state.model[1][0] == CIRCLE
[INFO] [stdout] 543 |         && state.model[1][1] == CIRCLE
[INFO] [stdout] 544 |         && state.model[1][2] == CIRCLE
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/bin/tictactoe.rs:547:15
[INFO] [stdout]     |
[INFO] [stdout] 547 |       } else if (state.model[2][0] == CIRCLE
[INFO] [stdout]     |  _______________^
[INFO] [stdout] 548 | |         && state.model[2][1] == CIRCLE
[INFO] [stdout] 549 | |         && state.model[2][2] == CIRCLE)
[INFO] [stdout]     | |_______________________________________^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 547 |     } else if state.model[2][0] == CIRCLE
[INFO] [stdout] 548 |         && state.model[2][1] == CIRCLE
[INFO] [stdout] 549 |         && state.model[2][2] == CIRCLE
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/bin/tictactoe.rs:552:15
[INFO] [stdout]     |
[INFO] [stdout] 552 |       } else if (state.model[0][0] == CIRCLE
[INFO] [stdout]     |  _______________^
[INFO] [stdout] 553 | |         && state.model[1][0] == CIRCLE
[INFO] [stdout] 554 | |         && state.model[2][0] == CIRCLE)
[INFO] [stdout]     | |_______________________________________^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 552 |     } else if state.model[0][0] == CIRCLE
[INFO] [stdout] 553 |         && state.model[1][0] == CIRCLE
[INFO] [stdout] 554 |         && state.model[2][0] == CIRCLE
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/bin/tictactoe.rs:557:15
[INFO] [stdout]     |
[INFO] [stdout] 557 |       } else if (state.model[0][1] == CIRCLE
[INFO] [stdout]     |  _______________^
[INFO] [stdout] 558 | |         && state.model[1][1] == CIRCLE
[INFO] [stdout] 559 | |         && state.model[2][1] == CIRCLE)
[INFO] [stdout]     | |_______________________________________^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 557 |     } else if state.model[0][1] == CIRCLE
[INFO] [stdout] 558 |         && state.model[1][1] == CIRCLE
[INFO] [stdout] 559 |         && state.model[2][1] == CIRCLE
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/bin/tictactoe.rs:562:15
[INFO] [stdout]     |
[INFO] [stdout] 562 |       } else if (state.model[0][2] == CIRCLE
[INFO] [stdout]     |  _______________^
[INFO] [stdout] 563 | |         && state.model[1][2] == CIRCLE
[INFO] [stdout] 564 | |         && state.model[2][2] == CIRCLE)
[INFO] [stdout]     | |_______________________________________^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 562 |     } else if state.model[0][2] == CIRCLE
[INFO] [stdout] 563 |         && state.model[1][2] == CIRCLE
[INFO] [stdout] 564 |         && state.model[2][2] == CIRCLE
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/bin/tictactoe.rs:567:15
[INFO] [stdout]     |
[INFO] [stdout] 567 |       } else if (state.model[0][0] == CIRCLE
[INFO] [stdout]     |  _______________^
[INFO] [stdout] 568 | |         && state.model[1][1] == CIRCLE
[INFO] [stdout] 569 | |         && state.model[2][2] == CIRCLE)
[INFO] [stdout]     | |_______________________________________^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 567 |     } else if state.model[0][0] == CIRCLE
[INFO] [stdout] 568 |         && state.model[1][1] == CIRCLE
[INFO] [stdout] 569 |         && state.model[2][2] == CIRCLE
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/bin/tictactoe.rs:572:15
[INFO] [stdout]     |
[INFO] [stdout] 572 |       } else if (state.model[0][2] == CIRCLE
[INFO] [stdout]     |  _______________^
[INFO] [stdout] 573 | |         && state.model[1][1] == CIRCLE
[INFO] [stdout] 574 | |         && state.model[2][0] == CIRCLE)
[INFO] [stdout]     | |_______________________________________^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 572 |     } else if state.model[0][2] == CIRCLE
[INFO] [stdout] 573 |         && state.model[1][1] == CIRCLE
[INFO] [stdout] 574 |         && state.model[2][0] == CIRCLE
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/bin/tictactoe.rs:582:8
[INFO] [stdout]     |
[INFO] [stdout] 582 |     if (state.model[0][0] == CROSS && state.model[0][1] == CROSS && state.model[0][2] == CROSS) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/bin/tictactoe.rs:584:15
[INFO] [stdout]     |
[INFO] [stdout] 584 |       } else if (state.model[1][0] == CROSS
[INFO] [stdout]     |  _______________^
[INFO] [stdout] 585 | |         && state.model[1][1] == CROSS
[INFO] [stdout] 586 | |         && state.model[1][2] == CROSS)
[INFO] [stdout]     | |______________________________________^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 584 |     } else if state.model[1][0] == CROSS
[INFO] [stdout] 585 |         && state.model[1][1] == CROSS
[INFO] [stdout] 586 |         && state.model[1][2] == CROSS
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/bin/tictactoe.rs:589:15
[INFO] [stdout]     |
[INFO] [stdout] 589 |       } else if (state.model[2][0] == CROSS
[INFO] [stdout]     |  _______________^
[INFO] [stdout] 590 | |         && state.model[2][1] == CROSS
[INFO] [stdout] 591 | |         && state.model[2][2] == CROSS)
[INFO] [stdout]     | |______________________________________^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 589 |     } else if state.model[2][0] == CROSS
[INFO] [stdout] 590 |         && state.model[2][1] == CROSS
[INFO] [stdout] 591 |         && state.model[2][2] == CROSS
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/bin/tictactoe.rs:594:15
[INFO] [stdout]     |
[INFO] [stdout] 594 |       } else if (state.model[0][0] == CROSS
[INFO] [stdout]     |  _______________^
[INFO] [stdout] 595 | |         && state.model[1][0] == CROSS
[INFO] [stdout] 596 | |         && state.model[2][0] == CROSS)
[INFO] [stdout]     | |______________________________________^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 594 |     } else if state.model[0][0] == CROSS
[INFO] [stdout] 595 |         && state.model[1][0] == CROSS
[INFO] [stdout] 596 |         && state.model[2][0] == CROSS
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/bin/tictactoe.rs:599:15
[INFO] [stdout]     |
[INFO] [stdout] 599 |       } else if (state.model[0][1] == CROSS
[INFO] [stdout]     |  _______________^
[INFO] [stdout] 600 | |         && state.model[1][1] == CROSS
[INFO] [stdout] 601 | |         && state.model[2][1] == CROSS)
[INFO] [stdout]     | |______________________________________^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 599 |     } else if state.model[0][1] == CROSS
[INFO] [stdout] 600 |         && state.model[1][1] == CROSS
[INFO] [stdout] 601 |         && state.model[2][1] == CROSS
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/bin/tictactoe.rs:604:15
[INFO] [stdout]     |
[INFO] [stdout] 604 |       } else if (state.model[0][2] == CROSS
[INFO] [stdout]     |  _______________^
[INFO] [stdout] 605 | |         && state.model[1][2] == CROSS
[INFO] [stdout] 606 | |         && state.model[2][2] == CROSS)
[INFO] [stdout]     | |______________________________________^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 604 |     } else if state.model[0][2] == CROSS
[INFO] [stdout] 605 |         && state.model[1][2] == CROSS
[INFO] [stdout] 606 |         && state.model[2][2] == CROSS
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/bin/tictactoe.rs:609:15
[INFO] [stdout]     |
[INFO] [stdout] 609 |       } else if (state.model[0][0] == CROSS
[INFO] [stdout]     |  _______________^
[INFO] [stdout] 610 | |         && state.model[1][1] == CROSS
[INFO] [stdout] 611 | |         && state.model[2][2] == CROSS)
[INFO] [stdout]     | |______________________________________^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 609 |     } else if state.model[0][0] == CROSS
[INFO] [stdout] 610 |         && state.model[1][1] == CROSS
[INFO] [stdout] 611 |         && state.model[2][2] == CROSS
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/bin/tictactoe.rs:614:15
[INFO] [stdout]     |
[INFO] [stdout] 614 |       } else if (state.model[0][2] == CROSS
[INFO] [stdout]     |  _______________^
[INFO] [stdout] 615 | |         && state.model[1][1] == CROSS
[INFO] [stdout] 616 | |         && state.model[2][0] == CROSS)
[INFO] [stdout]     | |______________________________________^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 614 |     } else if state.model[0][2] == CROSS
[INFO] [stdout] 615 |         && state.model[1][1] == CROSS
[INFO] [stdout] 616 |         && state.model[2][0] == CROSS
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/bin/tictactoe.rs:626:16
[INFO] [stdout]     |
[INFO] [stdout] 626 |             if (state.model[i][j] != EMPTY){
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/bin/tictactoe.rs:632:8
[INFO] [stdout]     |
[INFO] [stdout] 632 |     if (count == 9){
[INFO] [stdout]     |        ^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to previous error; 7 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0433`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `engine2d`
[INFO] [stderr] 
[INFO] [stderr] To learn more, run the command again with --verbose.
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] error: aborting due to previous error; 27 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0433`.
[INFO] [stdout] 
[INFO] [stderr] error: build failed
[INFO] running `Command { std: "docker" "inspect" "71cbd49235fc53df1b0dcd5eb9ab669e0d53e94edd1a3302ba5dba4a554f662a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "71cbd49235fc53df1b0dcd5eb9ab669e0d53e94edd1a3302ba5dba4a554f662a", kill_on_drop: false }`
[INFO] [stdout] 71cbd49235fc53df1b0dcd5eb9ab669e0d53e94edd1a3302ba5dba4a554f662a
