[INFO] cloning repository https://github.com/dimitriye98/space3
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/dimitriye98/space3" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdimitriye98%2Fspace3", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdimitriye98%2Fspace3'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] f3cad7cf774dcc6fdd5d342dff7fe517ecf4bbb6
[INFO] checking dimitriye98/space3 against master#568f6a8641e391ffcdcdb03e79d0901731d8d399 for pr-117164-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdimitriye98%2Fspace3" "/workspace/builds/worker-5-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc1/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/dimitriye98/space3 on toolchain 568f6a8641e391ffcdcdb03e79d0901731d8d399
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+568f6a8641e391ffcdcdb03e79d0901731d8d399" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/dimitriye98/space3
[INFO] finished tweaking git repo https://github.com/dimitriye98/space3
[INFO] tweaked toml for git repo https://github.com/dimitriye98/space3 written to /workspace/builds/worker-5-tc1/source/Cargo.toml
[INFO] crate git repo https://github.com/dimitriye98/space3 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" "+568f6a8641e391ffcdcdb03e79d0901731d8d399" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded redox_syscall v0.1.54
[INFO] [stderr]   Downloaded libloading v0.5.1
[INFO] [stderr]   Downloaded wayland-scanner v0.20.12
[INFO] [stderr]   Downloaded backtrace v0.3.30
[INFO] [stderr]   Downloaded cc v1.0.37
[INFO] [stderr]   Downloaded wayland-sys v0.20.12
[INFO] [stderr]   Downloaded wayland-commons v0.20.12
[INFO] [stderr]   Downloaded time v0.1.42
[INFO] [stderr]   Downloaded remove_dir_all v0.5.1
[INFO] [stderr]   Downloaded quote v0.6.12
[INFO] [stderr]   Downloaded core-graphics v0.14.0
[INFO] [stderr]   Downloaded image v0.21.2
[INFO] [stderr]   Downloaded glium v0.22.0
[INFO] [stderr]   Downloaded smithay-client-toolkit v0.2.6
[INFO] [stderr]   Downloaded glutin v0.17.0
[INFO] [stderr]   Downloaded noise v0.4.1
[INFO] [stderr]   Downloaded libm v0.1.3
[INFO] [stderr]   Downloaded parking_lot v0.6.4
[INFO] [stderr]   Downloaded syn v0.15.34
[INFO] [stderr]   Downloaded wayland-protocols v0.20.12
[INFO] [stderr]   Downloaded gleam v0.6.17
[INFO] [stderr]   Downloaded winit v0.16.2
[INFO] [stderr]   Downloaded wayland-client v0.20.12
[INFO] [stderr]   Downloaded nix v0.11.0
[INFO] [stderr]   Downloaded parking_lot_core v0.3.1
[INFO] [stderr]   Downloaded cocoa v0.15.0
[INFO] [stderr]   Downloaded tempfile v3.0.8
[INFO] [stderr]   Downloaded rand v0.3.23
[INFO] [stderr]   Downloaded either v1.5.2
[INFO] [stderr]   Downloaded png v0.14.1
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+568f6a8641e391ffcdcdb03e79d0901731d8d399" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 0821e7f7ee32ac3fb8e0959fa85c44584cd11bc0a00506913dda11e99512f3f1
[INFO] running `Command { std: "docker" "start" "-a" "0821e7f7ee32ac3fb8e0959fa85c44584cd11bc0a00506913dda11e99512f3f1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "0821e7f7ee32ac3fb8e0959fa85c44584cd11bc0a00506913dda11e99512f3f1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "0821e7f7ee32ac3fb8e0959fa85c44584cd11bc0a00506913dda11e99512f3f1", kill_on_drop: false }`
[INFO] [stdout] 0821e7f7ee32ac3fb8e0959fa85c44584cd11bc0a00506913dda11e99512f3f1
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+568f6a8641e391ffcdcdb03e79d0901731d8d399" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] e18c9c440719d0a0c0a867ddc0fdfb03a80b0dd2ada4077028886a334c038d48
[INFO] running `Command { std: "docker" "start" "-a" "e18c9c440719d0a0c0a867ddc0fdfb03a80b0dd2ada4077028886a334c038d48", kill_on_drop: false }`
[INFO] [stderr]    Compiling autocfg v0.1.4
[INFO] [stderr]    Compiling libc v0.2.58
[INFO] [stderr]    Compiling bitflags v1.1.0
[INFO] [stderr]     Checking rand_core v0.4.0
[INFO] [stderr]     Checking lazy_static v1.3.0
[INFO] [stderr]    Compiling cc v1.0.37
[INFO] [stderr]     Checking cfg-if v0.1.9
[INFO] [stderr]     Checking scopeguard v0.3.3
[INFO] [stderr]    Compiling byteorder v1.3.1
[INFO] [stderr]    Compiling khronos_api v2.2.0
[INFO] [stderr]    Compiling semver-parser v0.7.0
[INFO] [stderr]     Checking rand_core v0.3.1
[INFO] [stderr]    Compiling arrayvec v0.4.10
[INFO] [stderr]    Compiling num-traits v0.2.8
[INFO] [stderr]    Compiling rand_pcg v0.1.2
[INFO] [stderr]    Compiling rand_chacha v0.1.1
[INFO] [stderr]    Compiling xml-rs v0.7.0
[INFO] [stderr]    Compiling rand v0.6.5
[INFO] [stderr]    Compiling semver v0.9.0
[INFO] [stderr]    Compiling rustc_version v0.2.3
[INFO] [stderr]    Compiling log v0.4.6
[INFO] [stderr]    Compiling libloading v0.5.1
[INFO] [stderr]     Checking rand_os v0.1.3
[INFO] [stderr]     Checking rand_xorshift v0.1.1
[INFO] [stderr]     Checking rand_hc v0.1.0
[INFO] [stderr]     Checking rand_isaac v0.1.1
[INFO] [stderr]     Checking rand_jitter v0.1.4
[INFO] [stderr]     Checking downcast-rs v1.0.4
[INFO] [stderr]     Checking nodrop v0.1.13
[INFO] [stderr]    Compiling proc-macro2 v0.4.30
[INFO] [stderr]    Compiling wayland-scanner v0.20.12
[INFO] [stderr]    Compiling gl_generator v0.9.0
[INFO] [stderr]    Compiling parking_lot_core v0.3.1
[INFO] [stderr]    Compiling num-integer v0.1.41
[INFO] [stderr]     Checking dlib v0.4.1
[INFO] [stderr]     Checking wayland-sys v0.20.12
[INFO] [stderr]     Checking crossbeam-utils v0.2.2
[INFO] [stderr]     Checking wayland-commons v0.20.12
[INFO] [stderr]    Compiling rayon-core v1.4.1
[INFO] [stderr]    Compiling unicode-xid v0.1.0
[INFO] [stderr]    Compiling wayland-client v0.20.12
[INFO] [stderr]    Compiling wayland-protocols v0.20.12
[INFO] [stderr]    Compiling pkg-config v0.3.14
[INFO] [stderr]    Compiling nix v0.11.0
[INFO] [stderr]     Checking stable_deref_trait v1.1.1
[INFO] [stderr]     Checking memoffset v0.2.1
[INFO] [stderr]     Checking owning_ref v0.4.0
[INFO] [stderr]     Checking crossbeam-epoch v0.3.1
[INFO] [stderr]     Checking rand v0.5.6
[INFO] [stderr]    Compiling syn v0.15.34
[INFO] [stderr]     Checking void v1.0.2
[INFO] [stderr]     Checking smallvec v0.6.9
[INFO] [stderr]    Compiling num-complex v0.2.1
[INFO] [stderr]     Checking remove_dir_all v0.5.1
[INFO] [stderr]     Checking either v1.5.2
[INFO] [stderr]    Compiling x11-dl v2.18.3
[INFO] [stderr]    Compiling quote v0.6.12
[INFO] [stderr]     Checking tempfile v3.0.8
[INFO] [stderr]     Checking crossbeam-deque v0.2.0
[INFO] [stderr]     Checking lock_api v0.1.5
[INFO] [stderr]    Compiling backtrace-sys v0.1.28
[INFO] [stderr]     Checking memmap v0.6.2
[INFO] [stderr]     Checking num_cpus v1.10.0
[INFO] [stderr]    Compiling num-iter v0.1.39
[INFO] [stderr]    Compiling typenum v1.10.0
[INFO] [stderr]     Checking adler32 v1.0.3
[INFO] [stderr]    Compiling rayon v1.0.3
[INFO] [stderr]     Checking rawpointer v0.1.0
[INFO] [stderr]    Compiling libm v0.1.3
[INFO] [stderr]    Compiling num-derive v0.2.5
[INFO] [stderr]     Checking parking_lot v0.6.4
[INFO] [stderr]    Compiling glutin v0.17.0
[INFO] [stderr]     Checking shared_library v0.1.9
[INFO] [stderr]    Compiling backtrace v0.3.30
[INFO] [stderr]    Compiling matrixmultiply v0.1.15
[INFO] [stderr]     Checking lzw v0.10.0
[INFO] [stderr]    Compiling num-rational v0.2.1
[INFO] [stderr]     Checking percent-encoding v1.0.1
[INFO] [stderr]     Checking osmesa-sys v0.1.2
[INFO] [stderr]     Checking inflate v0.4.5
[INFO] [stderr]     Checking deflate v0.7.19
[INFO] [stderr]    Compiling glium v0.22.0
[INFO] [stderr]     Checking approx v0.3.2
[INFO] [stderr]     Checking rand v0.4.6
[INFO] [stderr]     Checking color_quant v1.0.1
[INFO] [stderr]     Checking rustc-demangle v0.1.15
[INFO] [stderr]    Compiling ndarray v0.12.1
[INFO] [stderr]     Checking smithay-client-toolkit v0.2.6
[INFO] [stderr]     Checking gif v0.10.2
[INFO] [stderr]     Checking jpeg-decoder v0.1.15
[INFO] [stderr]     Checking png v0.14.1
[INFO] [stderr]     Checking rand v0.3.23
[INFO] [stderr]     Checking alga v0.9.1
[INFO] [stderr]     Checking generic-array v0.12.0
[INFO] [stderr]     Checking matrixmultiply v0.2.2
[INFO] [stderr]     Checking itertools v0.7.11
[INFO] [stderr]     Checking num-traits v0.1.43
[INFO] [stderr]     Checking fnv v1.0.6
[INFO] [stderr]     Checking scoped_threadpool v0.1.9
[INFO] [stderr]     Checking winit v0.16.2
[INFO] [stderr]     Checking noise v0.4.1
[INFO] [stderr]     Checking time v0.1.42
[INFO] [stderr]     Checking nalgebra v0.18.0
[INFO] [stderr]     Checking tiff v0.2.2
[INFO] [stderr]     Checking image v0.21.2
[INFO] [stderr]     Checking space3 v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused `#[macro_use]` import
[INFO] [stdout]  --> src/main.rs:4:1
[INFO] [stdout]   |
[INFO] [stdout] 4 | #[macro_use]
[INFO] [stdout]   | ^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ops::Deref`
[INFO] [stdout]  --> src/block.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::ops::Deref;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rand`
[INFO] [stdout]   --> src/block.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use rand;
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `noise`
[INFO] [stdout]   --> src/block.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use noise;
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rand::distributions::Standard`
[INFO] [stdout]   --> src/block.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use rand::distributions::Standard;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]   --> src/block.rs:45:18
[INFO] [stdout]    |
[INFO] [stdout] 45 |                         density += (noise);
[INFO] [stdout]    |                                    ^     ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 45 -                         density += (noise);
[INFO] [stdout] 45 +                         density += noise;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Matrix3`
[INFO] [stdout]    --> src/block.rs:270:10
[INFO] [stdout]     |
[INFO] [stdout] 270 | use na::{Matrix3, Matrix4};
[INFO] [stdout]     |          ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ops::Deref`
[INFO] [stdout]  --> src/engine.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::ops::Deref;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `#[macro_use]` import
[INFO] [stdout]  --> src/main.rs:4:1
[INFO] [stdout]   |
[INFO] [stdout] 4 | #[macro_use]
[INFO] [stdout]   | ^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cell::RefCell`
[INFO] [stdout]  --> src/engine.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::cell::RefCell;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `IndexBuffer`, `VertexBuffer`
[INFO] [stdout]  --> src/engine.rs:8:47
[INFO] [stdout]   |
[INFO] [stdout] 8 | use glium::{Program, Display, Frame, Surface, VertexBuffer, IndexBuffer};
[INFO] [stdout]   |                                               ^^^^^^^^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Window`
[INFO] [stdout]  --> src/engine.rs:9:21
[INFO] [stdout]   |
[INFO] [stdout] 9 | use glium::glutin::{Window, VirtualKeyCode};
[INFO] [stdout]   |                     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `glium::uniforms::Uniforms`
[INFO] [stdout]   --> src/engine.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use glium::uniforms::Uniforms;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `glium::draw_parameters::PolygonMode`
[INFO] [stdout]   --> src/engine.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use glium::draw_parameters::PolygonMode;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Matrix3`
[INFO] [stdout]   --> src/engine.rs:18:27
[INFO] [stdout]    |
[INFO] [stdout] 18 | use na::{Point3, Vector3, Matrix3, Matrix4, Perspective3, Rotation3};
[INFO] [stdout]    |                           ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Vertex`
[INFO] [stdout]   --> src/engine.rs:20:23
[INFO] [stdout]    |
[INFO] [stdout] 20 | use gl_util::{Camera, Vertex, SimpleCamera};
[INFO] [stdout]    |                       ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `CHUNK_SIZE`, `Chunk`
[INFO] [stdout]   --> src/engine.rs:21:30
[INFO] [stdout]    |
[INFO] [stdout] 21 | use block::{BlockRenderData, Chunk, CHUNK_SIZE, CuboidRegion};
[INFO] [stdout]    |                              ^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `LogicalPosition` is imported redundantly
[INFO] [stdout]    --> src/engine.rs:251:8
[INFO] [stdout]     |
[INFO] [stdout] 79  | use glium::glutin::dpi::{LogicalSize, LogicalPosition};
[INFO] [stdout]     |                                       --------------- the item `LogicalPosition` is already imported here
[INFO] [stdout] ...
[INFO] [stdout] 251 |             use glium::glutin::dpi::LogicalPosition;
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ops::Deref`
[INFO] [stdout]  --> src/block.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::ops::Deref;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rand`
[INFO] [stdout]   --> src/block.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use rand;
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `DrawService`
[INFO] [stdout]   --> src/main.rs:20:35
[INFO] [stdout]    |
[INFO] [stdout] 20 |     use engine::{Game, StatePlaying, DrawService};
[INFO] [stdout]    |                                      ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `noise`
[INFO] [stdout]   --> src/block.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use noise;
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rand::distributions::Standard`
[INFO] [stdout]   --> src/block.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use rand::distributions::Standard;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]   --> src/block.rs:45:18
[INFO] [stdout]    |
[INFO] [stdout] 45 |                         density += (noise);
[INFO] [stdout]    |                                    ^     ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 45 -                         density += (noise);
[INFO] [stdout] 45 +                         density += noise;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Matrix3`
[INFO] [stdout]    --> src/block.rs:270:10
[INFO] [stdout]     |
[INFO] [stdout] 270 | use na::{Matrix3, Matrix4};
[INFO] [stdout]     |          ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ops::Deref`
[INFO] [stdout]  --> src/engine.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::ops::Deref;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cell::RefCell`
[INFO] [stdout]  --> src/engine.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::cell::RefCell;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `IndexBuffer`, `VertexBuffer`
[INFO] [stdout]  --> src/engine.rs:8:47
[INFO] [stdout]   |
[INFO] [stdout] 8 | use glium::{Program, Display, Frame, Surface, VertexBuffer, IndexBuffer};
[INFO] [stdout]   |                                               ^^^^^^^^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Window`
[INFO] [stdout]  --> src/engine.rs:9:21
[INFO] [stdout]   |
[INFO] [stdout] 9 | use glium::glutin::{Window, VirtualKeyCode};
[INFO] [stdout]   |                     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `glium::uniforms::Uniforms`
[INFO] [stdout]   --> src/engine.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use glium::uniforms::Uniforms;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `glium::draw_parameters::PolygonMode`
[INFO] [stdout]   --> src/engine.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use glium::draw_parameters::PolygonMode;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Matrix3`
[INFO] [stdout]   --> src/engine.rs:18:27
[INFO] [stdout]    |
[INFO] [stdout] 18 | use na::{Point3, Vector3, Matrix3, Matrix4, Perspective3, Rotation3};
[INFO] [stdout]    |                           ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Vertex`
[INFO] [stdout]   --> src/engine.rs:20:23
[INFO] [stdout]    |
[INFO] [stdout] 20 | use gl_util::{Camera, Vertex, SimpleCamera};
[INFO] [stdout]    |                       ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `CHUNK_SIZE`, `Chunk`
[INFO] [stdout]   --> src/engine.rs:21:30
[INFO] [stdout]    |
[INFO] [stdout] 21 | use block::{BlockRenderData, Chunk, CHUNK_SIZE, CuboidRegion};
[INFO] [stdout]    |                              ^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `LogicalPosition` is imported redundantly
[INFO] [stdout]    --> src/engine.rs:251:8
[INFO] [stdout]     |
[INFO] [stdout] 79  | use glium::glutin::dpi::{LogicalSize, LogicalPosition};
[INFO] [stdout]     |                                       --------------- the item `LogicalPosition` is already imported here
[INFO] [stdout] ...
[INFO] [stdout] 251 |             use glium::glutin::dpi::LogicalPosition;
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `DrawService`
[INFO] [stdout]   --> src/main.rs:20:35
[INFO] [stdout]    |
[INFO] [stdout] 20 |     use engine::{Game, StatePlaying, DrawService};
[INFO] [stdout]    |                                      ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated trait `na::Real`: This has been renamed `RealField`.
[INFO] [stdout]  --> src/gl_util.rs:9:21
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub trait Camera<N: Real> {
[INFO] [stdout]   |                     ^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated trait `na::Real`: This has been renamed `RealField`.
[INFO] [stdout]   --> src/gl_util.rs:20:9
[INFO] [stdout]    |
[INFO] [stdout] 20 | use na::Real;
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated trait `na::Real`: This has been renamed `RealField`.
[INFO] [stdout]   --> src/gl_util.rs:21:10
[INFO] [stdout]    |
[INFO] [stdout] 21 | impl <N: Real> Camera<N> for SimpleCamera<N> {
[INFO] [stdout]    |          ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]   --> src/gl_util.rs:25:1
[INFO] [stdout]    |
[INFO] [stdout] 25 | implement_vertex!(Vertex, position, normal, color);
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `implement_vertex` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/engine.rs:24:13
[INFO] [stdout]    |
[INFO] [stdout] 24 |     state: Box<GameState>,
[INFO] [stdout]    |                ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 24 |     state: Box<dyn GameState>,
[INFO] [stdout]    |                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated trait `na::Real`: This has been renamed `RealField`.
[INFO] [stdout]  --> src/gl_util.rs:9:21
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub trait Camera<N: Real> {
[INFO] [stdout]   |                     ^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/engine.rs:191:18
[INFO] [stdout]     |
[INFO] [stdout] 191 |     ChangeState(Box<GameState>),
[INFO] [stdout]     |                     ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 191 |     ChangeState(Box<dyn GameState>),
[INFO] [stdout]     |                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated trait `na::Real`: This has been renamed `RealField`.
[INFO] [stdout]   --> src/gl_util.rs:20:9
[INFO] [stdout]    |
[INFO] [stdout] 20 | use na::Real;
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated trait `na::Real`: This has been renamed `RealField`.
[INFO] [stdout]   --> src/gl_util.rs:21:10
[INFO] [stdout]    |
[INFO] [stdout] 21 | impl <N: Real> Camera<N> for SimpleCamera<N> {
[INFO] [stdout]    |          ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]   --> src/gl_util.rs:25:1
[INFO] [stdout]    |
[INFO] [stdout] 25 | implement_vertex!(Vertex, position, normal, color);
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `implement_vertex` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/engine.rs:35:30
[INFO] [stdout]    |
[INFO] [stdout] 35 |     pub fn new(start_state: Box<GameState>, display: Display, ev_loop: EventsLoop, shaders: Program)
[INFO] [stdout]    |                                 ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 35 |     pub fn new(start_state: Box<dyn GameState>, display: Display, ev_loop: EventsLoop, shaders: Program)
[INFO] [stdout]    |                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/engine.rs:50:38
[INFO] [stdout]    |
[INFO] [stdout] 50 |     fn swap_state(&mut self, state: Box<GameState>) -> Box<GameState> {
[INFO] [stdout]    |                                         ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 50 |     fn swap_state(&mut self, state: Box<dyn GameState>) -> Box<GameState> {
[INFO] [stdout]    |                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/engine.rs:50:57
[INFO] [stdout]    |
[INFO] [stdout] 50 |     fn swap_state(&mut self, state: Box<GameState>) -> Box<GameState> {
[INFO] [stdout]    |                                                            ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 50 |     fn swap_state(&mut self, state: Box<GameState>) -> Box<dyn GameState> {
[INFO] [stdout]    |                                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/engine.rs:24:13
[INFO] [stdout]    |
[INFO] [stdout] 24 |     state: Box<GameState>,
[INFO] [stdout]    |                ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 24 |     state: Box<dyn GameState>,
[INFO] [stdout]    |                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/engine.rs:191:18
[INFO] [stdout]     |
[INFO] [stdout] 191 |     ChangeState(Box<GameState>),
[INFO] [stdout]     |                     ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 191 |     ChangeState(Box<dyn GameState>),
[INFO] [stdout]     |                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/engine.rs:35:30
[INFO] [stdout]    |
[INFO] [stdout] 35 |     pub fn new(start_state: Box<GameState>, display: Display, ev_loop: EventsLoop, shaders: Program)
[INFO] [stdout]    |                                 ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 35 |     pub fn new(start_state: Box<dyn GameState>, display: Display, ev_loop: EventsLoop, shaders: Program)
[INFO] [stdout]    |                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/engine.rs:50:38
[INFO] [stdout]    |
[INFO] [stdout] 50 |     fn swap_state(&mut self, state: Box<GameState>) -> Box<GameState> {
[INFO] [stdout]    |                                         ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 50 |     fn swap_state(&mut self, state: Box<dyn GameState>) -> Box<GameState> {
[INFO] [stdout]    |                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/engine.rs:50:57
[INFO] [stdout]    |
[INFO] [stdout] 50 |     fn swap_state(&mut self, state: Box<GameState>) -> Box<GameState> {
[INFO] [stdout]    |                                                            ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 50 |     fn swap_state(&mut self, state: Box<GameState>) -> Box<dyn GameState> {
[INFO] [stdout]    |                                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `to_vec3` is never used
[INFO] [stdout]    --> src/block.rs:157:5
[INFO] [stdout]     |
[INFO] [stdout] 142 | impl NormalDirection {
[INFO] [stdout]     | -------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 157 |     fn to_vec3(&self) -> Vector3<f32> {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `update_perspective` is never used
[INFO] [stdout]    --> src/engine.rs:151:9
[INFO] [stdout]     |
[INFO] [stdout] 123 | impl DrawService {
[INFO] [stdout]     | ---------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 151 |     pub fn update_perspective(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `ChangeState` is never constructed
[INFO] [stdout]    --> src/engine.rs:191:2
[INFO] [stdout]     |
[INFO] [stdout] 188 | pub enum UpdateResult {
[INFO] [stdout]     |          ------------ variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 191 |     ChangeState(Box<GameState>),
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `world` is never read
[INFO] [stdout]    --> src/engine.rs:203:2
[INFO] [stdout]     |
[INFO] [stdout] 202 | pub struct StatePlaying {
[INFO] [stdout]     |            ------------ field in this struct
[INFO] [stdout] 203 |     world: World,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: this method call resolves to `<&[T; N] as IntoIterator>::into_iter` (due to backwards compatibility), but will resolve to <[T; N] as IntoIterator>::into_iter in Rust 2021
[INFO] [stdout]    --> src/block.rs:293:78
[INFO] [stdout]     |
[INFO] [stdout] 293 |         for up_dir in [ND::Up, ND::Down, ND::Left, ND::Right, ND::Front, ND::Back].into_iter() {
[INFO] [stdout]     |                                                                                    ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/IntoIterator-for-arrays.html>
[INFO] [stdout]     = note: `#[warn(array_into_iter)]` on by default
[INFO] [stdout] help: use `.iter()` instead of `.into_iter()` to avoid ambiguity
[INFO] [stdout]     |
[INFO] [stdout] 293 |         for up_dir in [ND::Up, ND::Down, ND::Left, ND::Right, ND::Front, ND::Back].iter() {
[INFO] [stdout]     |                                                                                    ~~~~
[INFO] [stdout] help: or remove `.into_iter()` to iterate by value
[INFO] [stdout]     |
[INFO] [stdout] 293 -         for up_dir in [ND::Up, ND::Down, ND::Left, ND::Right, ND::Front, ND::Back].into_iter() {
[INFO] [stdout] 293 +         for up_dir in [ND::Up, ND::Down, ND::Left, ND::Right, ND::Front, ND::Back] {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `std::mem::replace` that must be used
[INFO] [stdout]   --> src/engine.rs:94:3
[INFO] [stdout]    |
[INFO] [stdout] 94 |         replace(&mut self.events, new_events);
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 94 |         let _ = replace(&mut self.events, new_events);
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/engine.rs:106:3
[INFO] [stdout]     |
[INFO] [stdout] 106 |         self.display.gl_window().set_cursor_position(pos);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 106 |         let _ = self.display.gl_window().set_cursor_position(pos);
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/engine.rs:119:3
[INFO] [stdout]     |
[INFO] [stdout] 119 |         self.frame.set_finish();
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 119 |         let _ = self.frame.set_finish();
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/engine.rs:157:3
[INFO] [stdout]     |
[INFO] [stdout] 157 |         self.frame.set_finish();
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 157 |         let _ = self.frame.set_finish();
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `input:` in this pattern is redundant
[INFO] [stdout]    --> src/engine.rs:260:7
[INFO] [stdout]     |
[INFO] [stdout] 260 |                         input: input,
[INFO] [stdout]     |                         ^^^^^^^^^^^^ help: use shorthand field pattern: `input`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(non_shorthand_field_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `state:` in this pattern is redundant
[INFO] [stdout]    --> src/engine.rs:267:7
[INFO] [stdout]     |
[INFO] [stdout] 267 |                         state: state,
[INFO] [stdout]     |                         ^^^^^^^^^^^^ help: use shorthand field pattern: `state`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 38 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `to_vec3` is never used
[INFO] [stdout]    --> src/block.rs:157:5
[INFO] [stdout]     |
[INFO] [stdout] 142 | impl NormalDirection {
[INFO] [stdout]     | -------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 157 |     fn to_vec3(&self) -> Vector3<f32> {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `update_perspective` is never used
[INFO] [stdout]    --> src/engine.rs:151:9
[INFO] [stdout]     |
[INFO] [stdout] 123 | impl DrawService {
[INFO] [stdout]     | ---------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 151 |     pub fn update_perspective(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `ChangeState` is never constructed
[INFO] [stdout]    --> src/engine.rs:191:2
[INFO] [stdout]     |
[INFO] [stdout] 188 | pub enum UpdateResult {
[INFO] [stdout]     |          ------------ variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 191 |     ChangeState(Box<GameState>),
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `world` is never read
[INFO] [stdout]    --> src/engine.rs:203:2
[INFO] [stdout]     |
[INFO] [stdout] 202 | pub struct StatePlaying {
[INFO] [stdout]     |            ------------ field in this struct
[INFO] [stdout] 203 |     world: World,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: this method call resolves to `<&[T; N] as IntoIterator>::into_iter` (due to backwards compatibility), but will resolve to <[T; N] as IntoIterator>::into_iter in Rust 2021
[INFO] [stdout]    --> src/block.rs:293:78
[INFO] [stdout]     |
[INFO] [stdout] 293 |         for up_dir in [ND::Up, ND::Down, ND::Left, ND::Right, ND::Front, ND::Back].into_iter() {
[INFO] [stdout]     |                                                                                    ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/IntoIterator-for-arrays.html>
[INFO] [stdout]     = note: `#[warn(array_into_iter)]` on by default
[INFO] [stdout] help: use `.iter()` instead of `.into_iter()` to avoid ambiguity
[INFO] [stdout]     |
[INFO] [stdout] 293 |         for up_dir in [ND::Up, ND::Down, ND::Left, ND::Right, ND::Front, ND::Back].iter() {
[INFO] [stdout]     |                                                                                    ~~~~
[INFO] [stdout] help: or remove `.into_iter()` to iterate by value
[INFO] [stdout]     |
[INFO] [stdout] 293 -         for up_dir in [ND::Up, ND::Down, ND::Left, ND::Right, ND::Front, ND::Back].into_iter() {
[INFO] [stdout] 293 +         for up_dir in [ND::Up, ND::Down, ND::Left, ND::Right, ND::Front, ND::Back] {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `std::mem::replace` that must be used
[INFO] [stdout]   --> src/engine.rs:94:3
[INFO] [stdout]    |
[INFO] [stdout] 94 |         replace(&mut self.events, new_events);
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 94 |         let _ = replace(&mut self.events, new_events);
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/engine.rs:106:3
[INFO] [stdout]     |
[INFO] [stdout] 106 |         self.display.gl_window().set_cursor_position(pos);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 106 |         let _ = self.display.gl_window().set_cursor_position(pos);
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/engine.rs:119:3
[INFO] [stdout]     |
[INFO] [stdout] 119 |         self.frame.set_finish();
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 119 |         let _ = self.frame.set_finish();
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/engine.rs:157:3
[INFO] [stdout]     |
[INFO] [stdout] 157 |         self.frame.set_finish();
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 157 |         let _ = self.frame.set_finish();
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `input:` in this pattern is redundant
[INFO] [stdout]    --> src/engine.rs:260:7
[INFO] [stdout]     |
[INFO] [stdout] 260 |                         input: input,
[INFO] [stdout]     |                         ^^^^^^^^^^^^ help: use shorthand field pattern: `input`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(non_shorthand_field_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `state:` in this pattern is redundant
[INFO] [stdout]    --> src/engine.rs:267:7
[INFO] [stdout]     |
[INFO] [stdout] 267 |                         state: state,
[INFO] [stdout]     |                         ^^^^^^^^^^^^ help: use shorthand field pattern: `state`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 38 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished dev [unoptimized + debuginfo] target(s) in 59.50s
[INFO] running `Command { std: "docker" "inspect" "e18c9c440719d0a0c0a867ddc0fdfb03a80b0dd2ada4077028886a334c038d48", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "e18c9c440719d0a0c0a867ddc0fdfb03a80b0dd2ada4077028886a334c038d48", kill_on_drop: false }`
[INFO] [stdout] e18c9c440719d0a0c0a867ddc0fdfb03a80b0dd2ada4077028886a334c038d48
