[INFO] cloning repository https://github.com/andreasterrius/Alexyt
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/andreasterrius/Alexyt" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fandreasterrius%2FAlexyt", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fandreasterrius%2FAlexyt'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 7c74289ab6c50403b5b70a5beeef7adaddf28969
[INFO] documenting andreasterrius/Alexyt against 1.75.0 for beta-1.76-rustdoc-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fandreasterrius%2FAlexyt" "/workspace/builds/worker-4-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc1/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/andreasterrius/Alexyt on toolchain 1.75.0
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.75.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/andreasterrius/Alexyt
[INFO] finished tweaking git repo https://github.com/andreasterrius/Alexyt
[INFO] tweaked toml for git repo https://github.com/andreasterrius/Alexyt written to /workspace/builds/worker-4-tc1/source/Cargo.toml
[INFO] crate git repo https://github.com/andreasterrius/Alexyt 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" "+1.75.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: virtual workspace defaulting to `resolver = "1"` despite one or more workspace members being on edition 2021 which implies `resolver = "2"`
[INFO] [stderr] note: to keep the current resolver, specify `workspace.resolver = "1"` in the workspace root's manifest
[INFO] [stderr] note: to use the edition 2021 resolver, specify `workspace.resolver = "2"` in the workspace root's manifest
[INFO] [stderr] note: for more details see https://doc.rust-lang.org/cargo/reference/resolver.html#resolver-versions
[INFO] [stderr] warning: /workspace/builds/worker-4-tc1/source/crates/ale_data/Cargo.toml: unused manifest key: dependencies.traitcast_core.use_inventory
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]     Updating git repository `https://github.com/bjz/glfw-rs.git`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded arrayvec v0.6.1
[INFO] [stderr]   Downloaded rapier3d v0.8.0
[INFO] [stderr]   Downloaded jpeg-decoder v0.2.5
[INFO] [stderr]   Downloaded glfw-sys v4.0.0+3.3.5
[INFO] [stderr]   Downloaded nalgebra v0.26.2
[INFO] [stderr]   Downloaded traitcast_core v0.2.0
[INFO] [stderr]   Downloaded hdrldr v0.1.2
[INFO] [stderr]   Downloaded parry3d v0.4.2
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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" "+1.75.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 1af75699315c58e7ad4e04973751e771a6df3e84229ef875d15c0cad58de5c27
[INFO] running `Command { std: "docker" "start" "-a" "1af75699315c58e7ad4e04973751e771a6df3e84229ef875d15c0cad58de5c27", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "1af75699315c58e7ad4e04973751e771a6df3e84229ef875d15c0cad58de5c27", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "1af75699315c58e7ad4e04973751e771a6df3e84229ef875d15c0cad58de5c27", kill_on_drop: false }`
[INFO] [stdout] 1af75699315c58e7ad4e04973751e771a6df3e84229ef875d15c0cad58de5c27
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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=warn" "-e" "RUSTDOCFLAGS=--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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+1.75.0" "doc" "--frozen" "--no-deps" "--document-private-items" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 8be60a6c3aa8193382acb5660072b9228aa7d22d26e4853069c900eb96c7fd2e
[INFO] running `Command { std: "docker" "start" "-a" "8be60a6c3aa8193382acb5660072b9228aa7d22d26e4853069c900eb96c7fd2e", kill_on_drop: false }`
[INFO] [stderr] warning: virtual workspace defaulting to `resolver = "1"` despite one or more workspace members being on edition 2021 which implies `resolver = "2"`
[INFO] [stderr] note: to keep the current resolver, specify `workspace.resolver = "1"` in the workspace root's manifest
[INFO] [stderr] note: to use the edition 2021 resolver, specify `workspace.resolver = "2"` in the workspace root's manifest
[INFO] [stderr] note: for more details see https://doc.rust-lang.org/cargo/reference/resolver.html#resolver-versions
[INFO] [stderr] warning: /opt/rustwide/workdir/crates/ale_data/Cargo.toml: unused manifest key: dependencies.traitcast_core.use_inventory
[INFO] [stderr]    Compiling libc v0.2.125
[INFO] [stderr]    Compiling num-traits v0.2.14
[INFO] [stderr]    Compiling proc-macro2 v1.0.39
[INFO] [stderr]    Compiling autocfg v0.1.8
[INFO] [stderr]    Compiling unicode-ident v1.0.1
[INFO] [stderr]    Compiling syn v1.0.96
[INFO] [stderr]    Compiling crossbeam-utils v0.8.8
[INFO] [stderr]    Compiling memoffset v0.6.5
[INFO] [stderr]    Compiling rand_chacha v0.1.1
[INFO] [stderr]    Compiling rand_pcg v0.1.2
[INFO] [stderr]    Compiling rand v0.6.5
[INFO] [stderr]    Compiling num-integer v0.1.45
[INFO] [stderr]    Compiling crossbeam-epoch v0.9.8
[INFO] [stderr]    Compiling cgmath v0.17.0
[INFO] [stderr]     Checking bytemuck v1.9.1
[INFO] [stderr]     Checking adler32 v1.2.0
[INFO] [stderr]    Compiling rayon-core v1.9.2
[INFO] [stderr]     Checking crossbeam-channel v0.5.6
[INFO] [stderr]    Compiling num-rational v0.3.2
[INFO] [stderr]    Compiling quote v1.0.18
[INFO] [stderr]    Compiling crc32fast v1.3.2
[INFO] [stderr]     Checking rand_os v0.1.3
[INFO] [stderr]     Checking num_cpus v1.13.1
[INFO] [stderr]     Checking approx v0.3.2
[INFO] [stderr]     Checking crossbeam-deque v0.8.1
[INFO] [stderr]    Compiling rayon v1.5.2
[INFO] [stderr]    Compiling log v0.4.17
[INFO] [stderr]     Checking either v1.6.1
[INFO] [stderr]     Checking getrandom v0.2.6
[INFO] [stderr]    Compiling indexmap v1.9.1
[INFO] [stderr]    Compiling lock_api v0.4.7
[INFO] [stderr]     Checking smallvec v1.8.0
[INFO] [stderr]    Compiling num-iter v0.1.43
[INFO] [stderr]     Checking itoa v1.0.1
[INFO] [stderr]    Compiling futures-core v0.3.21
[INFO] [stderr]     Checking anymap v0.12.1
[INFO] [stderr]    Compiling serde v1.0.137
[INFO] [stderr]     Checking traitcast_core v0.2.0
[INFO] [stderr]     Checking miniz_oxide v0.5.1
[INFO] [stderr]     Checking approx v0.5.1
[INFO] [stderr]    Compiling serde_json v1.0.80
[INFO] [stderr]    Compiling serde_derive v1.0.137
[INFO] [stderr]     Checking color_quant v1.1.0
[INFO] [stderr]     Checking snowflake v1.3.0
[INFO] [stderr]     Checking spin v0.9.3
[INFO] [stderr]     Checking deflate v0.8.6
[INFO] [stderr]     Checking nanorand v0.7.0
[INFO] [stderr]     Checking deflate v1.0.0
[INFO] [stderr]     Checking miniz_oxide v0.3.7
[INFO] [stderr]    Compiling num-rational v0.4.0
[INFO] [stderr]     Checking ryu v1.0.9
[INFO] [stderr]    Compiling inflections v1.1.1
[INFO] [stderr]     Checking futures-sink v0.3.21
[INFO] [stderr]    Compiling khronos_api v3.1.0
[INFO] [stderr]     Checking weezl v0.1.6
[INFO] [stderr]     Checking png v0.16.8
[INFO] [stderr]     Checking flate2 v1.0.23
[INFO] [stderr]     Checking ale_data v0.1.0 (/opt/rustwide/workdir/crates/ale_data)
[INFO] [stderr]     Checking threadpool v1.8.1
[INFO] [stdout] warning: unused import: `std::borrow::Borrow`
[INFO] [stdout]  --> crates/ale_data/src/alevec.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::borrow::Borrow;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Formatter`
[INFO] [stdout]  --> crates/ale_data/src/alevec.rs:3:23
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::fmt::{Debug, Formatter};
[INFO] [stdout]   |                       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking inflate v0.4.5
[INFO] [stdout] warning: 2 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking ale_input v0.1.0 (/opt/rustwide/workdir/crates/ale_input)
[INFO] [stderr]     Checking jpeg-decoder v0.1.22
[INFO] [stderr]     Checking ttf-parser v0.6.2
[INFO] [stderr]     Checking ale_math v0.1.0 (/opt/rustwide/workdir/crates/ale_math)
[INFO] [stderr]     Checking lebe v0.5.1
[INFO] [stderr]     Checking bit_field v0.10.1
[INFO] [stderr]     Checking half v1.8.2
[INFO] [stderr]     Checking image v0.23.14
[INFO] [stderr]     Checking gif v0.11.3
[INFO] [stderr]     Checking png v0.17.5
[INFO] [stderr]     Checking ab_glyph_rasterizer v0.1.5
[INFO] [stderr]    Compiling xml-rs v0.8.4
[INFO] [stderr]     Checking scoped_threadpool v0.1.9
[INFO] [stderr]     Checking jpeg-decoder v0.2.5
[INFO] [stderr]     Checking hdrldr v0.1.2
[INFO] [stderr]     Checking ale_variable v0.1.0 (/opt/rustwide/workdir/crates/ale_variable)
[INFO] [stdout] warning: unused imports: `Hash`, `Hasher`
[INFO] [stdout]  --> crates/ale_variable/src/lib.rs:3:17
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::hash::{Hash, Hasher};
[INFO] [stdout]   |                 ^^^^  ^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n`
[INFO] [stdout]   --> crates/ale_variable/src/lib.rs:34:23
[INFO] [stdout]    |
[INFO] [stdout] 34 |       Variable::F32_1(n, v) => v.to_string(),
[INFO] [stdout]    |                       ^ help: if this is intentional, prefix it with an underscore: `_n`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n`
[INFO] [stdout]   --> crates/ale_variable/src/lib.rs:35:23
[INFO] [stdout]    |
[INFO] [stdout] 35 |       Variable::F32_3(n, v) => format!("({}, {}, {})", v.x, v.y, v.z),
[INFO] [stdout]    |                       ^ help: if this is intentional, prefix it with an underscore: `_n`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n`
[INFO] [stdout]   --> crates/ale_variable/src/lib.rs:36:23
[INFO] [stdout]    |
[INFO] [stdout] 36 |       Variable::F32_4(n, v) => format!("({}, {}, {}, {})", v.x, v.y, v.z, v.w),
[INFO] [stdout]    |                       ^ help: if this is intentional, prefix it with an underscore: `_n`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n`
[INFO] [stdout]   --> crates/ale_variable/src/lib.rs:37:22
[INFO] [stdout]    |
[INFO] [stdout] 37 |       Variable::Bool(n, v) => v.to_string(),
[INFO] [stdout]    |                      ^ help: if this is intentional, prefix it with an underscore: `_n`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n`
[INFO] [stdout]   --> crates/ale_variable/src/lib.rs:39:25
[INFO] [stdout]    |
[INFO] [stdout] 39 |       Variable::F32_4_4(n, v) => format!("{:?}", v),
[INFO] [stdout]    |                         ^ help: if this is intentional, prefix it with an underscore: `_n`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking owned_ttf_parser v0.6.0
[INFO] [stdout] warning: 6 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking ale_camera v0.1.0 (/opt/rustwide/workdir/crates/ale_camera)
[INFO] [stdout] warning: unused import: `Point3`
[INFO] [stdout]  --> crates/ale_camera/src/lib.rs:4:74
[INFO] [stdout]   |
[INFO] [stdout] 4 | use ale_math::{ale_quaternion_look_at, ortho, perspective, Deg, Matrix4, Point3, Quaternion, Vector2, Vector3};
[INFO] [stdout]   |                                                                          ^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]  --> crates/ale_camera/src/lib.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::sync::Arc;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking rusttype v0.9.2
[INFO] [stdout] warning: unused variable: `abs_x`
[INFO] [stdout]   --> crates/ale_camera/src/flycamera.rs:89:40
[INFO] [stdout]    |
[INFO] [stdout] 89 |       Input::MouseMotion{rel_x, rel_y, abs_x, abs_y} => {
[INFO] [stdout]    |                                        ^^^^^ help: try ignoring the field: `abs_x: _`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `abs_y`
[INFO] [stdout]   --> crates/ale_camera/src/flycamera.rs:89:47
[INFO] [stdout]    |
[INFO] [stdout] 89 |       Input::MouseMotion{rel_x, rel_y, abs_x, abs_y} => {
[INFO] [stdout]    |                                               ^^^^^ help: try ignoring the field: `abs_y: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 4 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking ale_console v0.1.0 (/opt/rustwide/workdir/crates/ale_console)
[INFO] [stderr]    Compiling cc v1.0.73
[INFO] [stdout] warning: unused variable: `scancode`
[INFO] [stdout]   --> crates/ale_console/src/lib.rs:58:21
[INFO] [stdout]    |
[INFO] [stdout] 58 |     Input::Key(key, scancode, action, modifier) => {
[INFO] [stdout]    |                     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_scancode`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `modifier`
[INFO] [stdout]   --> crates/ale_console/src/lib.rs:58:39
[INFO] [stdout]    |
[INFO] [stdout] 58 |     Input::Key(key, scancode, action, modifier) => {
[INFO] [stdout]    |                                       ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_modifier`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]    --> crates/ale_console/src/lib.rs:164:25
[INFO] [stdout]     |
[INFO] [stdout] 164 |         Variable::F32_1(key, v) => {
[INFO] [stdout]     |                         ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]    --> crates/ale_console/src/lib.rs:171:25
[INFO] [stdout]     |
[INFO] [stdout] 171 |         Variable::F32_3(key, ref mut v) => {
[INFO] [stdout]     |                         ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]    --> crates/ale_console/src/lib.rs:180:25
[INFO] [stdout]     |
[INFO] [stdout] 180 |         Variable::F32_4(key, ref mut v) => {
[INFO] [stdout]     |                         ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]    --> crates/ale_console/src/lib.rs:190:24
[INFO] [stdout]     |
[INFO] [stdout] 190 |         Variable::Bool(key, ref mut v) => {
[INFO] [stdout]     |                        ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `err`
[INFO] [stdout]    --> crates/ale_console/src/lib.rs:221:11
[INFO] [stdout]     |
[INFO] [stdout] 221 |       Err(err) => return Err(ArgumentsFailToParse(words[0].to_owned(), words[i].to_owned())),
[INFO] [stdout]     |           ^^^ help: if this is intentional, prefix it with an underscore: `_err`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 7 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking cty v0.2.2
[INFO] [stderr]     Checking safe_arch v0.5.2
[INFO] [stderr]     Checking raw-window-handle v0.4.3
[INFO] [stderr]    Compiling typenum v1.15.0
[INFO] [stderr]     Checking num-complex v0.3.1
[INFO] [stderr]     Checking tiff v0.7.2
[INFO] [stderr]    Compiling gl_generator v0.14.0
[INFO] [stderr]    Compiling cmake v0.1.48
[INFO] [stderr]     Checking wide v0.6.5
[INFO] [stderr]     Checking approx v0.4.0
[INFO] [stderr]    Compiling crossbeam-queue v0.3.5
[INFO] [stderr]     Checking rawpointer v0.2.1
[INFO] [stderr]    Compiling glfw-sys v4.0.0+3.3.5
[INFO] [stderr]    Compiling paste v1.0.7
[INFO] [stderr]    Compiling gl v0.14.0
[INFO] [stderr]     Checking matrixmultiply v0.3.2
[INFO] [stderr]    Compiling anyhow v1.0.59
[INFO] [stderr]     Checking num_threads v0.1.6
[INFO] [stderr]    Compiling time-macros v0.2.4
[INFO] [stderr]     Checking termcolor v1.1.3
[INFO] [stderr]     Checking downcast-rs v1.2.0
[INFO] [stderr]     Checking slab v0.4.6
[INFO] [stderr]     Checking rustc-hash v1.1.0
[INFO] [stderr]     Checking crossbeam v0.8.1
[INFO] [stderr]     Checking rand_core v0.6.3
[INFO] [stderr]     Checking simba v0.4.0
[INFO] [stderr]     Checking instant v0.1.12
[INFO] [stderr]     Checking bit-vec v0.6.3
[INFO] [stderr]     Checking arrayvec v0.6.1
[INFO] [stderr]     Checking ppv-lite86 v0.2.16
[INFO] [stderr]  Documenting ale_console v0.1.0 (/opt/rustwide/workdir/crates/ale_console)
[INFO] [stderr]    Compiling pin-project-internal v1.0.10
[INFO] [stderr]    Compiling gltf-derive v1.0.0
[INFO] [stderr]    Compiling thiserror-impl v1.0.31
[INFO] [stderr]    Compiling num-derive v0.3.3
[INFO] [stderr]     Checking time v0.3.11
[INFO] [stderr]     Checking simplelog v0.12.0
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking pin-project v1.0.10
[INFO] [stderr]     Checking flume v0.10.12
[INFO] [stderr]     Checking thiserror v1.0.31
[INFO] [stderr]    Compiling enumn v0.1.6
[INFO] [stderr]  Documenting ale_camera v0.1.0 (/opt/rustwide/workdir/crates/ale_camera)
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]     Checking exr v1.4.2
[INFO] [stderr]  Documenting ale_variable v0.1.0 (/opt/rustwide/workdir/crates/ale_variable)
[INFO] [stderr]  Documenting ale_math v0.1.0 (/opt/rustwide/workdir/crates/ale_math)
[INFO] [stderr]  Documenting ale_data v0.1.0 (/opt/rustwide/workdir/crates/ale_data)
[INFO] [stderr]  Documenting ale_input v0.1.0 (/opt/rustwide/workdir/crates/ale_input)
[INFO] [stderr]     Checking glfw v0.45.0 (https://github.com/bjz/glfw-rs.git#3e7598e1)
[INFO] [stderr]     Checking gltf-json v1.0.0
[INFO] [stderr]     Checking image v0.24.2
[INFO] [stderr]     Checking nalgebra v0.26.2
[INFO] [stderr]     Checking gltf v1.0.0
[INFO] [stderr]     Checking ale_resources v0.1.0 (/opt/rustwide/workdir/crates/ale_resources)
[INFO] [stderr]  Documenting ale_resources v0.1.0 (/opt/rustwide/workdir/crates/ale_resources)
[INFO] [stdout] warning: unused import: `crate::gltf`
[INFO] [stdout]  --> crates/ale_resources/src/gltf.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::gltf;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ale_data::alevec::Key`
[INFO] [stdout]  --> crates/ale_resources/src/mesh.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use ale_data::alevec::Key;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Zero`
[INFO] [stdout]  --> crates/ale_resources/src/mesh.rs:5:62
[INFO] [stdout]   |
[INFO] [stdout] 5 | use ale_math::{Array, InnerSpace, Matrix4, Vector2, Vector3, Zero};
[INFO] [stdout]   |                                                              ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Stash`
[INFO] [stdout]   --> crates/ale_resources/src/mesh.rs:10:26
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::stash::{Load, Stash};
[INFO] [stdout]    |                          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]    --> crates/ale_resources/src/mesh/sdf.rs:235:14
[INFO] [stdout]     |
[INFO] [stdout] 235 |   let size = (max - min);
[INFO] [stdout]     |              ^         ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 235 -   let size = (max - min);
[INFO] [stdout] 235 +   let size = max - min;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `flip_vertical_in_place`, `flip_vertical`
[INFO] [stdout]  --> crates/ale_resources/src/texture.rs:3:23
[INFO] [stdout]   |
[INFO] [stdout] 3 | use image::imageops::{flip_vertical, flip_vertical_in_place};
[INFO] [stdout]   |                       ^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Path`
[INFO] [stdout]  --> crates/ale_resources/src/shader.rs:1:17
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::path::{Path, PathBuf};
[INFO] [stdout]   |                 ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::any::TypeId`
[INFO] [stdout]  --> crates/ale_resources/src/resources.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::any::TypeId;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ale_data::alevec::AleVec`
[INFO] [stdout]  --> crates/ale_resources/src/resources.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use ale_data::alevec::AleVec;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Shader`
[INFO] [stdout]  --> crates/ale_resources/src/resources.rs:8:21
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::shader::{Shader, ShaderStash};
[INFO] [stdout]   |                     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]    --> crates/ale_resources/src/mesh/sdf.rs:235:14
[INFO] [stdout]     |
[INFO] [stdout] 235 |   let size = (max - min);
[INFO] [stdout]     |              ^         ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 235 -   let size = (max - min);
[INFO] [stdout] 235 +   let size = max - min;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `matrix`
[INFO] [stdout]   --> crates/ale_resources/src/gltf.rs:20:42
[INFO] [stdout]    |
[INFO] [stdout] 20 |       ::gltf::scene::Transform::Matrix { matrix } => {
[INFO] [stdout]    |                                          ^^^^^^ help: try ignoring the field: `matrix: _`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> crates/ale_resources/src/mesh/sdf.rs:48:7
[INFO] [stdout]    |
[INFO] [stdout] 48 |   let mut det = a00 * a11 - a01 * a01;
[INFO] [stdout]    |       ----^^^
[INFO] [stdout]    |       |
[INFO] [stdout]    |       help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> crates/ale_resources/src/mesh/sdf.rs:127:9
[INFO] [stdout]     |
[INFO] [stdout] 127 |     let mut tmp0;
[INFO] [stdout]     |         ----^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> crates/ale_resources/src/mesh/sdf.rs:128:9
[INFO] [stdout]     |
[INFO] [stdout] 128 |     let mut tmp1;
[INFO] [stdout]     |         ----^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> crates/ale_resources/src/mesh/sdf.rs:129:9
[INFO] [stdout]     |
[INFO] [stdout] 129 |     let mut numer;
[INFO] [stdout]     |         ----^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> crates/ale_resources/src/mesh/sdf.rs:130:9
[INFO] [stdout]     |
[INFO] [stdout] 130 |     let mut denom;
[INFO] [stdout]     |         ----^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `inner_start_time`
[INFO] [stdout]    --> crates/ale_resources/src/mesh/sdf.rs:243:9
[INFO] [stdout]     |
[INFO] [stdout] 243 |     let inner_start_time = Instant::now();
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_inner_start_time`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `err`
[INFO] [stdout]   --> crates/ale_resources/src/shader.rs:95:11
[INFO] [stdout]    |
[INFO] [stdout] 95 |       Err(err) => None,
[INFO] [stdout]    |           ^^^ help: if this is intentional, prefix it with an underscore: `_err`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `VERTEX` is never used
[INFO] [stdout]   --> crates/ale_resources/src/mesh.rs:15:7
[INFO] [stdout]    |
[INFO] [stdout] 15 | const VERTEX: &str = "position";
[INFO] [stdout]    |       ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NORMAL` is never used
[INFO] [stdout]   --> crates/ale_resources/src/mesh.rs:16:7
[INFO] [stdout]    |
[INFO] [stdout] 16 | const NORMAL: &str = "normal";
[INFO] [stdout]    |       ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `UV` is never used
[INFO] [stdout]   --> crates/ale_resources/src/mesh.rs:17:7
[INFO] [stdout]    |
[INFO] [stdout] 17 | const UV: &str = "uv";
[INFO] [stdout]    |       ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BARYCENTRIC` is never used
[INFO] [stdout]   --> crates/ale_resources/src/mesh.rs:18:7
[INFO] [stdout]    |
[INFO] [stdout] 18 | const BARYCENTRIC: &str = "barycentric";
[INFO] [stdout]    |       ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `normal` and `uv` are never read
[INFO] [stdout]   --> crates/ale_resources/src/mesh.rs:37:3
[INFO] [stdout]    |
[INFO] [stdout] 35 | pub struct Tri {
[INFO] [stdout]    |            --- fields in this struct
[INFO] [stdout] 36 |   position: [Vector3<f32>; 3],
[INFO] [stdout] 37 |   normal: [Vector3<f32>; 3],
[INFO] [stdout]    |   ^^^^^^
[INFO] [stdout] 38 |   tri_normal: Vector3<f32>,
[INFO] [stdout] 39 |   uv: [Vector2<f32>; 3],
[INFO] [stdout]    |   ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `dot2` is never used
[INFO] [stdout]   --> crates/ale_resources/src/mesh/sdf.rs:30:4
[INFO] [stdout]    |
[INFO] [stdout] 30 | fn dot2(a: Vector3<f32>) -> f32 {
[INFO] [stdout]    |    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `cross` is never used
[INFO] [stdout]   --> crates/ale_resources/src/mesh/sdf.rs:34:4
[INFO] [stdout]    |
[INFO] [stdout] 34 | fn cross(a: Vector3<f32>, b: Vector3<f32>) -> Vector3<f32> {
[INFO] [stdout]    |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> crates/ale_resources/src/font.rs:63:7
[INFO] [stdout]    |
[INFO] [stdout] 63 |       font_file.read_to_end(&mut font_data);
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 63 |       let _ = font_file.read_to_end(&mut font_data);
[INFO] [stdout]    |       +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 26 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking ale_opengl v0.1.0 (/opt/rustwide/workdir/crates/ale_opengl)
[INFO] [stderr]  Documenting ale_raymarch v0.1.0 (/opt/rustwide/workdir/crates/ale_raymarch)
[INFO] [stderr]  Documenting ale_opengl v0.1.0 (/opt/rustwide/workdir/crates/ale_opengl)
[INFO] [stdout] warning: unused import: `GLsizeiptr`
[INFO] [stdout]  --> crates/ale_opengl/src/debug/line.rs:6:26
[INFO] [stdout]   |
[INFO] [stdout] 6 | use gl::types::{GLfloat, GLsizeiptr};
[INFO] [stdout]   |                          ^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]    --> crates/ale_opengl/src/old/sky.rs:264:15
[INFO] [stdout]     |
[INFO] [stdout] 264 |     let d_i = (i as f64 * dx);
[INFO] [stdout]     |               ^             ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 264 -     let d_i = (i as f64 * dx);
[INFO] [stdout] 264 +     let d_i = i as f64 * dx;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]    --> crates/ale_opengl/src/old/sky.rs:264:15
[INFO] [stdout]     |
[INFO] [stdout] 264 |     let d_i = (i as f64 * dx);
[INFO] [stdout]     |               ^             ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 264 -     let d_i = (i as f64 * dx);
[INFO] [stdout] 264 +     let d_i = i as f64 * dx;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::raw`
[INFO] [stdout]   --> crates/ale_opengl/src/renderer/sprite.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use crate::raw;
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::raw::print_error`
[INFO] [stdout]   --> crates/ale_opengl/src/renderer/sprite.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use crate::raw::print_error;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::raw`
[INFO] [stdout]   --> crates/ale_opengl/src/renderer/text.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use crate::raw;
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `TextureId`
[INFO] [stdout]  --> crates/ale_opengl/src/texture.rs:4:39
[INFO] [stdout]   |
[INFO] [stdout] 4 | use ale_resources::texture::{Texture, TextureId};
[INFO] [stdout]   |                                       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> crates/ale_opengl/src/texture.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]   --> crates/ale_raymarch/src/lib.rs:39:20
[INFO] [stdout]    |
[INFO] [stdout] 39 |   let right_step = (camera.right_dir() / x as f32 * aspect_ratio);
[INFO] [stdout]    |                    ^                                            ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 39 -   let right_step = (camera.right_dir() / x as f32 * aspect_ratio);
[INFO] [stdout] 39 +   let right_step = camera.right_dir() / x as f32 * aspect_ratio;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Array`
[INFO] [stdout]  --> crates/ale_opengl/src/wire.rs:4:16
[INFO] [stdout]   |
[INFO] [stdout] 4 | use ale_math::{Array, Matrix, Transform};
[INFO] [stdout]   |                ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> crates/ale_opengl/src/debug/line.rs:150:7
[INFO] [stdout]     |
[INFO] [stdout] 150 |   let mut draw_size = BUFFER_SIZE as u32;
[INFO] [stdout]     |       ----^^^^^^^^^
[INFO] [stdout]     |       |
[INFO] [stdout]     |       help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> crates/ale_opengl/src/debug/line.rs:191:7
[INFO] [stdout]     |
[INFO] [stdout] 191 |   let mut draw_size = BUFFER_SIZE as u32;
[INFO] [stdout]     |       ----^^^^^^^^^
[INFO] [stdout]     |       |
[INFO] [stdout]     |       help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> crates/ale_opengl/src/old/opengl.rs:452:9
[INFO] [stdout]     |
[INFO] [stdout] 452 |         _ => {}
[INFO] [stdout]     |         ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `k_sun_solid_angle`
[INFO] [stdout]   --> crates/ale_opengl/src/old/sky.rs:44:9
[INFO] [stdout]    |
[INFO] [stdout] 44 |     let k_sun_solid_angle = k_pi * k_sun_angular_radius * k_sun_angular_radius;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_k_sun_solid_angle`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `k_length_unit_in_meters`
[INFO] [stdout]   --> crates/ale_opengl/src/old/sky.rs:45:9
[INFO] [stdout]    |
[INFO] [stdout] 45 |     let k_length_unit_in_meters = 1000.0;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_k_length_unit_in_meters`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `k_bottom_radius`
[INFO] [stdout]   --> crates/ale_opengl/src/old/sky.rs:67:9
[INFO] [stdout]    |
[INFO] [stdout] 67 |     let k_bottom_radius = 6360000.0;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_k_bottom_radius`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `k_top_radius`
[INFO] [stdout]   --> crates/ale_opengl/src/old/sky.rs:68:9
[INFO] [stdout]    |
[INFO] [stdout] 68 |     let k_top_radius = 6420000.0;
[INFO] [stdout]    |         ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_k_top_radius`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `k_mie_phase_function_g`
[INFO] [stdout]   --> crates/ale_opengl/src/old/sky.rs:75:9
[INFO] [stdout]    |
[INFO] [stdout] 75 |     let k_mie_phase_function_g = 0.8;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_k_mie_phase_function_g`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `max_sun_zenith_angle`
[INFO] [stdout]   --> crates/ale_opengl/src/old/sky.rs:78:9
[INFO] [stdout]    |
[INFO] [stdout] 78 |     let max_sun_zenith_angle = if use_half_precision { 102.0 } else { 180.0 } / 180.0 * k_pi;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_max_sun_zenith_angle`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rayleigh_layer`
[INFO] [stdout]   --> crates/ale_opengl/src/old/sky.rs:79:9
[INFO] [stdout]    |
[INFO] [stdout] 79 |     let rayleigh_layer = DensityProfileLayer {
[INFO] [stdout]    |         ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_rayleigh_layer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `mie_layer`
[INFO] [stdout]   --> crates/ale_opengl/src/old/sky.rs:87:9
[INFO] [stdout]    |
[INFO] [stdout] 87 |     let mie_layer = DensityProfileLayer {
[INFO] [stdout]    |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_mie_layer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> crates/ale_opengl/src/old/sky.rs:37:9
[INFO] [stdout]    |
[INFO] [stdout] 37 |     let mut use_half_precision = true;
[INFO] [stdout]    |         ----^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `opengl_raymarch_context`
[INFO] [stdout]   --> crates/ale_opengl/src/raymarch.rs:27:35
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub fn ale_opengl_raymarch_render(opengl_raymarch_context: &OpenGLRaymarchContext) {}
[INFO] [stdout]    |                                   ^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_opengl_raymarch_context`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rbo`
[INFO] [stdout]   --> crates/ale_opengl/src/render_frame.rs:20:15
[INFO] [stdout]    |
[INFO] [stdout] 20 |     let (fbo, rbo, texture) = create_framebuffer_texcolor_rbodepth(screen_size.x, screen_size.y).unwrap();
[INFO] [stdout]    |               ^^^ help: if this is intentional, prefix it with an underscore: `_rbo`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `r`
[INFO] [stdout]   --> crates/ale_opengl/src/texture.rs:57:12
[INFO] [stdout]    |
[INFO] [stdout] 57 |       let (r, g, b, a) = color.get_rgba();
[INFO] [stdout]    |            ^ help: if this is intentional, prefix it with an underscore: `_r`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `g`
[INFO] [stdout]   --> crates/ale_opengl/src/texture.rs:57:15
[INFO] [stdout]    |
[INFO] [stdout] 57 |       let (r, g, b, a) = color.get_rgba();
[INFO] [stdout]    |               ^ help: if this is intentional, prefix it with an underscore: `_g`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `b`
[INFO] [stdout]   --> crates/ale_opengl/src/texture.rs:57:18
[INFO] [stdout]    |
[INFO] [stdout] 57 |       let (r, g, b, a) = color.get_rgba();
[INFO] [stdout]    |                  ^ help: if this is intentional, prefix it with an underscore: `_b`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `a`
[INFO] [stdout]   --> crates/ale_opengl/src/texture.rs:57:21
[INFO] [stdout]    |
[INFO] [stdout] 57 |       let (r, g, b, a) = color.get_rgba();
[INFO] [stdout]    |                     ^ help: if this is intentional, prefix it with an underscore: `_a`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> crates/ale_opengl/src/wire.rs:68:12
[INFO] [stdout]    |
[INFO] [stdout] 68 |       for (mut transform, mesh) in meshes {
[INFO] [stdout]    |            ----^^^^^^^^^
[INFO] [stdout]    |            |
[INFO] [stdout]    |            help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]   --> crates/ale_opengl/src/renderer/text.rs:74:9
[INFO] [stdout]    |
[INFO] [stdout] 74 |         unsafe { OpenGLTexture::new(&font_texture.texture).unwrap() }
[INFO] [stdout]    |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_unsafe)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `line_draw_size` and `point_draw_size` are never read
[INFO] [stdout]   --> crates/ale_opengl/src/debug/line.rs:25:3
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub struct OpenGLDebugContext {
[INFO] [stdout]    |            ------------------ fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 25 |   line_draw_size: u32,
[INFO] [stdout]    |   ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 29 |   point_draw_size: u32,
[INFO] [stdout]    |   ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AtmosphereParameters` is never constructed
[INFO] [stdout]  --> crates/ale_opengl/src/old/sky.rs:7:8
[INFO] [stdout]   |
[INFO] [stdout] 7 | struct AtmosphereParameters {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BrunetonSky` is never constructed
[INFO] [stdout]   --> crates/ale_opengl/src/old/sky.rs:32:8
[INFO] [stdout]    |
[INFO] [stdout] 32 | struct BrunetonSky {}
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `new` and `create_texture` are never used
[INFO] [stdout]    --> crates/ale_opengl/src/old/sky.rs:35:10
[INFO] [stdout]     |
[INFO] [stdout] 34  | impl BrunetonSky {
[INFO] [stdout]     | ---------------- associated functions in this implementation
[INFO] [stdout] 35  |   pub fn new() -> BrunetonSky {
[INFO] [stdout]     |          ^^^
[INFO] [stdout] ...
[INFO] [stdout] 144 |   pub fn create_texture() {}
[INFO] [stdout]     |          ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DensityProfileLayer` is never constructed
[INFO] [stdout]    --> crates/ale_opengl/src/old/sky.rs:147:8
[INFO] [stdout]     |
[INFO] [stdout] 147 | struct DensityProfileLayer {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DensityProfile` is never constructed
[INFO] [stdout]    --> crates/ale_opengl/src/old/sky.rs:155:8
[INFO] [stdout]     |
[INFO] [stdout] 155 | struct DensityProfile {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Model` is never constructed
[INFO] [stdout]    --> crates/ale_opengl/src/old/sky.rs:159:8
[INFO] [stdout]     |
[INFO] [stdout] 159 | struct Model {
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `clamp` is never used
[INFO] [stdout]    --> crates/ale_opengl/src/old/sky.rs:186:4
[INFO] [stdout]     |
[INFO] [stdout] 186 | fn clamp(val: f64, min: f64, max: f64) -> f64 {
[INFO] [stdout]     |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `clamp_cosine` is never used
[INFO] [stdout]    --> crates/ale_opengl/src/old/sky.rs:196:4
[INFO] [stdout]     |
[INFO] [stdout] 196 | fn clamp_cosine(mu: f64) -> f64 {
[INFO] [stdout]     |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `clamp_distance` is never used
[INFO] [stdout]    --> crates/ale_opengl/src/old/sky.rs:200:4
[INFO] [stdout]     |
[INFO] [stdout] 200 | fn clamp_distance(d: f64) -> f64 {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `clamp_radius` is never used
[INFO] [stdout]    --> crates/ale_opengl/src/old/sky.rs:204:4
[INFO] [stdout]     |
[INFO] [stdout] 204 | fn clamp_radius(atmosphere: &AtmosphereParameters, r: f64) -> f64 {
[INFO] [stdout]     |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `safe_sqrt` is never used
[INFO] [stdout]    --> crates/ale_opengl/src/old/sky.rs:208:4
[INFO] [stdout]     |
[INFO] [stdout] 208 | fn safe_sqrt(a: f64) -> f64 {
[INFO] [stdout]     |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `exp` is never used
[INFO] [stdout]    --> crates/ale_opengl/src/old/sky.rs:212:4
[INFO] [stdout]     |
[INFO] [stdout] 212 | fn exp(a: Vector3<f64>) -> Vector3<f64> {
[INFO] [stdout]     |    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `distance_to_top_atmosphere_boundary` is never used
[INFO] [stdout]    --> crates/ale_opengl/src/old/sky.rs:216:4
[INFO] [stdout]     |
[INFO] [stdout] 216 | fn distance_to_top_atmosphere_boundary(atmosphere: &AtmosphereParameters, r: f64, mu: f64) -> f64 {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `distance_to_bottom_atmosphere_boundary` is never used
[INFO] [stdout]    --> crates/ale_opengl/src/old/sky.rs:223:4
[INFO] [stdout]     |
[INFO] [stdout] 223 | fn distance_to_bottom_atmosphere_boundary(atmosphere: &AtmosphereParameters, r: f64, mu: f64) -> f64 {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `ray_intersect_ground` is never used
[INFO] [stdout]    --> crates/ale_opengl/src/old/sky.rs:230:4
[INFO] [stdout]     |
[INFO] [stdout] 230 | fn ray_intersect_ground(atmosphere: &AtmosphereParameters, r: f64, mu: f64) -> bool {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_layer_density` is never used
[INFO] [stdout]    --> crates/ale_opengl/src/old/sky.rs:236:4
[INFO] [stdout]     |
[INFO] [stdout] 236 | fn get_layer_density(layer: &DensityProfileLayer, altitude: f64) -> f64 {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_profile_density` is never used
[INFO] [stdout]    --> crates/ale_opengl/src/old/sky.rs:242:4
[INFO] [stdout]     |
[INFO] [stdout] 242 | fn get_profile_density(profile: &DensityProfile, altitude: f64) -> f64 {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `compute_optical_length_to_top_atmosphere_boundary` is never used
[INFO] [stdout]    --> crates/ale_opengl/src/old/sky.rs:250:4
[INFO] [stdout]     |
[INFO] [stdout] 250 | fn compute_optical_length_to_top_atmosphere_boundary(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `compute_transmittance_to_top_atmosphere_boundary` is never used
[INFO] [stdout]    --> crates/ale_opengl/src/old/sky.rs:281:4
[INFO] [stdout]     |
[INFO] [stdout] 281 | fn compute_transmittance_to_top_atmosphere_boundary(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_texture_coord_from_unit_range` is never used
[INFO] [stdout]    --> crates/ale_opengl/src/old/sky.rs:299:4
[INFO] [stdout]     |
[INFO] [stdout] 299 | fn get_texture_coord_from_unit_range(x: f64, texture_size: i64) -> f64 {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_unit_range_from_texture_coord` is never used
[INFO] [stdout]    --> crates/ale_opengl/src/old/sky.rs:303:4
[INFO] [stdout]     |
[INFO] [stdout] 303 | fn get_unit_range_from_texture_coord(u: f64, texture_size: i64) -> f64 {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `raymarch_shader` and `plane_mesh` are never read
[INFO] [stdout]  --> crates/ale_opengl/src/raymarch.rs:7:3
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct OpenGLRaymarchContext {
[INFO] [stdout]   |            --------------------- fields in this struct
[INFO] [stdout] 7 |   raymarch_shader: OpenGLShader,
[INFO] [stdout]   |   ^^^^^^^^^^^^^^^
[INFO] [stdout] 8 |
[INFO] [stdout] 9 |   plane_mesh: OpenGLMesh,
[INFO] [stdout]   |   ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `renderbuffer` is never read
[INFO] [stdout]  --> crates/ale_opengl/src/renderer/renderframe.rs:4:3
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub struct Viewport {
[INFO] [stdout]   |            -------- field in this struct
[INFO] [stdout] 4 |   renderbuffer: OpenGLRenderbufferId,
[INFO] [stdout]   |   ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `framebuffer` is never read
[INFO] [stdout]   --> crates/ale_opengl/src/renderer/renderframe.rs:12:3
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub struct RenderFrame {
[INFO] [stdout]    |            ----------- field in this struct
[INFO] [stdout] 12 |   framebuffer: OpenGLFramebufferId,
[INFO] [stdout]    |   ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `rect` is never read
[INFO] [stdout]  --> crates/ale_opengl/src/viewport.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub struct Viewport {
[INFO] [stdout]   |            -------- field in this struct
[INFO] [stdout] 4 |     rect : Rect
[INFO] [stdout]   |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: getting the inner pointer of a temporary `CString`
[INFO] [stdout]   --> crates/ale_opengl/src/raw.rs:66:85
[INFO] [stdout]    |
[INFO] [stdout] 66 |   let location = gl::GetUniformLocation(shader, CString::new(name.clone()).unwrap().as_ptr() as *const i8);
[INFO] [stdout]    |                                                 ----------------------------------- ^^^^^^ this pointer will be invalid
[INFO] [stdout]    |                                                 |
[INFO] [stdout]    |                                                 this `CString` is deallocated at the end of the statement, bind it to a variable to extend its lifetime
[INFO] [stdout]    |
[INFO] [stdout]    = note: pointers do not have a lifetime; when calling `as_ptr` the `CString` will be deallocated at the end of the statement because nothing is referencing it as far as the type system is concerned
[INFO] [stdout]    = help: for more information, see https://doc.rust-lang.org/reference/destructors.html
[INFO] [stdout]    = note: `#[warn(temporary_cstring_as_ptr)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]   --> crates/ale_opengl/src/raw.rs:66:66
[INFO] [stdout]    |
[INFO] [stdout] 66 |   let location = gl::GetUniformLocation(shader, CString::new(name.clone()).unwrap().as_ptr() as *const i8);
[INFO] [stdout]    |                                                                  ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]    |
[INFO] [stdout]    = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout]    = note: `#[warn(noop_method_call)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: getting the inner pointer of a temporary `CString`
[INFO] [stdout]   --> crates/ale_opengl/src/raw.rs:71:85
[INFO] [stdout]    |
[INFO] [stdout] 71 |   let location = gl::GetUniformLocation(shader, CString::new(name.clone()).unwrap().as_ptr() as *const i8);
[INFO] [stdout]    |                                                 ----------------------------------- ^^^^^^ this pointer will be invalid
[INFO] [stdout]    |                                                 |
[INFO] [stdout]    |                                                 this `CString` is deallocated at the end of the statement, bind it to a variable to extend its lifetime
[INFO] [stdout]    |
[INFO] [stdout]    = note: pointers do not have a lifetime; when calling `as_ptr` the `CString` will be deallocated at the end of the statement because nothing is referencing it as far as the type system is concerned
[INFO] [stdout]    = help: for more information, see https://doc.rust-lang.org/reference/destructors.html
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]   --> crates/ale_opengl/src/raw.rs:71:66
[INFO] [stdout]    |
[INFO] [stdout] 71 |   let location = gl::GetUniformLocation(shader, CString::new(name.clone()).unwrap().as_ptr() as *const i8);
[INFO] [stdout]    |                                                                  ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]    |
[INFO] [stdout]    = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: getting the inner pointer of a temporary `CString`
[INFO] [stdout]   --> crates/ale_opengl/src/raw.rs:76:85
[INFO] [stdout]    |
[INFO] [stdout] 76 |   let location = gl::GetUniformLocation(shader, CString::new(name.clone()).unwrap().as_ptr() as *const i8);
[INFO] [stdout]    |                                                 ----------------------------------- ^^^^^^ this pointer will be invalid
[INFO] [stdout]    |                                                 |
[INFO] [stdout]    |                                                 this `CString` is deallocated at the end of the statement, bind it to a variable to extend its lifetime
[INFO] [stdout]    |
[INFO] [stdout]    = note: pointers do not have a lifetime; when calling `as_ptr` the `CString` will be deallocated at the end of the statement because nothing is referencing it as far as the type system is concerned
[INFO] [stdout]    = help: for more information, see https://doc.rust-lang.org/reference/destructors.html
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]   --> crates/ale_opengl/src/raw.rs:76:66
[INFO] [stdout]    |
[INFO] [stdout] 76 |   let location = gl::GetUniformLocation(shader, CString::new(name.clone()).unwrap().as_ptr() as *const i8);
[INFO] [stdout]    |                                                                  ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]    |
[INFO] [stdout]    = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: getting the inner pointer of a temporary `CString`
[INFO] [stdout]   --> crates/ale_opengl/src/raw.rs:81:85
[INFO] [stdout]    |
[INFO] [stdout] 81 |   let location = gl::GetUniformLocation(shader, CString::new(name.clone()).unwrap().as_ptr() as *const i8);
[INFO] [stdout]    |                                                 ----------------------------------- ^^^^^^ this pointer will be invalid
[INFO] [stdout]    |                                                 |
[INFO] [stdout]    |                                                 this `CString` is deallocated at the end of the statement, bind it to a variable to extend its lifetime
[INFO] [stdout]    |
[INFO] [stdout]    = note: pointers do not have a lifetime; when calling `as_ptr` the `CString` will be deallocated at the end of the statement because nothing is referencing it as far as the type system is concerned
[INFO] [stdout]    = help: for more information, see https://doc.rust-lang.org/reference/destructors.html
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]   --> crates/ale_opengl/src/raw.rs:81:66
[INFO] [stdout]    |
[INFO] [stdout] 81 |   let location = gl::GetUniformLocation(shader, CString::new(name.clone()).unwrap().as_ptr() as *const i8);
[INFO] [stdout]    |                                                                  ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]    |
[INFO] [stdout]    = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: getting the inner pointer of a temporary `CString`
[INFO] [stdout]   --> crates/ale_opengl/src/raw.rs:87:64
[INFO] [stdout]    |
[INFO] [stdout] 87 |     gl::GetUniformLocation(shader, CString::new(name).unwrap().as_ptr()),
[INFO] [stdout]    |                                    --------------------------- ^^^^^^ this pointer will be invalid
[INFO] [stdout]    |                                    |
[INFO] [stdout]    |                                    this `CString` is deallocated at the end of the statement, bind it to a variable to extend its lifetime
[INFO] [stdout]    |
[INFO] [stdout]    = note: pointers do not have a lifetime; when calling `as_ptr` the `CString` will be deallocated at the end of the statement because nothing is referencing it as far as the type system is concerned
[INFO] [stdout]    = help: for more information, see https://doc.rust-lang.org/reference/destructors.html
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 63 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking ale_ui v0.1.0 (/opt/rustwide/workdir/crates/ale_ui)
[INFO] [stderr]     Checking ale_world v0.1.0 (/opt/rustwide/workdir/crates/ale_world)
[INFO] [stderr]  Documenting ale_ui v0.1.0 (/opt/rustwide/workdir/crates/ale_ui)
[INFO] [stderr]  Documenting ale_world v0.1.0 (/opt/rustwide/workdir/crates/ale_world)
[INFO] [stdout] warning: unused import: `std::any::TypeId`
[INFO] [stdout]  --> crates/ale_world/src/components.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::any::TypeId;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> crates/ale_world/src/components.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ale_camera::CameraRenderInfo`
[INFO] [stdout]  --> crates/ale_world/src/components.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use ale_camera::CameraRenderInfo;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ale_opengl::renderer`
[INFO] [stdout]  --> crates/ale_world/src/components.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use ale_opengl::renderer;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ale_data::alevec::Key`
[INFO] [stdout]  --> crates/ale_world/src/components.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use ale_data::alevec::Key;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::components`
[INFO] [stdout]  --> crates/ale_world/src/visitor.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::components;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::marker::PhantomData`
[INFO] [stdout]  --> crates/ale_world/src/event/stream.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::marker::PhantomData;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::thread`
[INFO] [stdout]  --> crates/ale_world/src/event/stream.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::thread;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ale_math::rect::Rect`
[INFO] [stdout]  --> crates/ale_ui/src/element.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use ale_math::rect::Rect;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ale_math::rect::Rect`
[INFO] [stdout]  --> crates/ale_ui/src/button.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use ale_math::rect::Rect;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Matrix4`
[INFO] [stdout]  --> crates/ale_ui/src/button.rs:4:16
[INFO] [stdout]   |
[INFO] [stdout] 4 | use ale_math::{Matrix4, Vector2};
[INFO] [stdout]   |                ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ale_opengl::renderer::sprite::SpriteRenderer`
[INFO] [stdout]  --> crates/ale_ui/src/button.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use ale_opengl::renderer::sprite::SpriteRenderer;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> crates/ale_ui/src/layout.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> crates/ale_world/src/world.rs:52:27
[INFO] [stdout]    |
[INFO] [stdout] 52 |   pub fn spawn(&mut self, mut spawn_cmd: SpawnCommand) {
[INFO] [stdout]    |                           ----^^^^^^^^^
[INFO] [stdout]    |                           |
[INFO] [stdout]    |                           help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `data`, `gen`, and `target_entity` are never read
[INFO] [stdout]   --> crates/ale_world/src/event/stream.rs:32:3
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub struct Holder<T: Sync> {
[INFO] [stdout]    |            ------ fields in this struct
[INFO] [stdout] 32 |   data: Option<T>,
[INFO] [stdout]    |   ^^^^
[INFO] [stdout] 33 |   gen: usize,
[INFO] [stdout]    |   ^^^
[INFO] [stdout] 34 |   target_entity: HashSet<Id<Entity>>,
[INFO] [stdout]    |   ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `event_buffer`, `curr`, `gen`, and `reader_entity_id` are never read
[INFO] [stdout]   --> crates/ale_world/src/event/stream.rs:90:3
[INFO] [stdout]    |
[INFO] [stdout] 89 | pub struct EventStreamReader<T: Sync> {
[INFO] [stdout]    |            ----------------- fields in this struct
[INFO] [stdout] 90 |   event_buffer: *const EventStreamBuffer<T>,
[INFO] [stdout]    |   ^^^^^^^^^^^^
[INFO] [stdout] 91 |   curr: usize,
[INFO] [stdout]    |   ^^^^
[INFO] [stdout] 92 |   gen: usize,
[INFO] [stdout]    |   ^^^
[INFO] [stdout] 93 |   reader_entity_id: Id<Entity>,
[INFO] [stdout]    |   ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `try_read` and `increment_index` are never used
[INFO] [stdout]    --> crates/ale_world/src/event/stream.rs:111:6
[INFO] [stdout]     |
[INFO] [stdout] 96  | impl<T: Sync> EventStreamReader<T> {
[INFO] [stdout]     | ---------------------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 111 |   fn try_read(&mut self) -> Option<&T> {
[INFO] [stdout]     |      ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 146 |   fn increment_index(&mut self) {
[INFO] [stdout]     |      ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `txt`
[INFO] [stdout]   --> crates/ale_ui/src/element.rs:76:23
[INFO] [stdout]    |
[INFO] [stdout] 76 |         Element::Text(txt) => {}
[INFO] [stdout]    |                       ^^^ help: if this is intentional, prefix it with an underscore: `_txt`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `empty`
[INFO] [stdout]   --> crates/ale_ui/src/element.rs:77:24
[INFO] [stdout]    |
[INFO] [stdout] 77 |         Element::Empty(empty) => {}
[INFO] [stdout]    |                        ^^^^^ help: if this is intentional, prefix it with an underscore: `_empty`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `empty`
[INFO] [stdout]   --> crates/ale_ui/src/element.rs:98:24
[INFO] [stdout]    |
[INFO] [stdout] 98 |         Element::Empty(empty) => {
[INFO] [stdout]    |                        ^^^^^ help: if this is intentional, prefix it with an underscore: `_empty`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rel_x`
[INFO] [stdout]   --> crates/ale_ui/src/button.rs:57:9
[INFO] [stdout]    |
[INFO] [stdout] 57 |         rel_x,
[INFO] [stdout]    |         ^^^^^ help: try ignoring the field: `rel_x: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rel_y`
[INFO] [stdout]   --> crates/ale_ui/src/button.rs:58:9
[INFO] [stdout]    |
[INFO] [stdout] 58 |         rel_y,
[INFO] [stdout]    |         ^^^^^ help: try ignoring the field: `rel_y: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `modifier`
[INFO] [stdout]   --> crates/ale_ui/src/button.rs:70:40
[INFO] [stdout]    |
[INFO] [stdout] 70 |       Input::MouseButton(mbtn, action, modifier) => {
[INFO] [stdout]    |                                        ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_modifier`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> crates/ale_ui/src/layout.rs:12:46
[INFO] [stdout]    |
[INFO] [stdout] 12 |   pub fn arrange(&mut self, parent: &Layout, mut childs: Vec<&mut Layout>) -> Result<(), LayoutError> {
[INFO] [stdout]    |                                              ----^^^^^^
[INFO] [stdout]    |                                              |
[INFO] [stdout]    |                                              help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `is_disable` is never read
[INFO] [stdout]   --> crates/ale_ui/src/button.rs:18:3
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub struct Button {
[INFO] [stdout]    |            ------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 18 |   is_disable: bool,
[INFO] [stdout]    |   ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> crates/ale_ui/src/element.rs:52:5
[INFO] [stdout]    |
[INFO] [stdout] 52 |     self.refresh_layout();
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 52 |     let _ = self.refresh_layout();
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 12 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]  Documenting ale_opengl_fxaa v0.1.0 (/opt/rustwide/workdir/crates/ale_opengl_fxaa)
[INFO] [stdout] warning: 14 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking ale_window v0.1.0 (/opt/rustwide/workdir/crates/ale_window)
[INFO] [stdout] warning: 1 warning emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ale_ui::panels::Panels`
[INFO] [stdout]  --> crates/ale_window/src/backend.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use ale_ui::panels::Panels;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `glfw::ffi::GLFWcharfun`
[INFO] [stdout]  --> crates/ale_window/src/backend.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use glfw::ffi::GLFWcharfun;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> crates/ale_window/src/backend.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `TargetMonitor`
[INFO] [stdout]  --> crates/ale_window/src/window.rs:1:38
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::display::{DisplaySetting, TargetMonitor};
[INFO] [stdout]   |                                      ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ale_math::rect::Rect`
[INFO] [stdout]  --> crates/ale_window/src/window.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use ale_math::rect::Rect;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Zero`
[INFO] [stdout]  --> crates/ale_window/src/window.rs:8:25
[INFO] [stdout]   |
[INFO] [stdout] 8 | use ale_math::{Vector2, Zero};
[INFO] [stdout]   |                         ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Arc`, `RwLock`
[INFO] [stdout]   --> crates/ale_window/src/window.rs:12:17
[INFO] [stdout]    |
[INFO] [stdout] 12 | use std::sync::{Arc, RwLock};
[INFO] [stdout]    |                 ^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> crates/ale_window/src/backend.rs:20:9
[INFO] [stdout]    |
[INFO] [stdout] 20 |     let mut windows = Windows {
[INFO] [stdout]    |         ----^^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]  Documenting ale_window v0.1.0 (/opt/rustwide/workdir/crates/ale_window)
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> crates/ale_window/src/backend.rs:58:14
[INFO] [stdout]    |
[INFO] [stdout] 58 |         let (mut glfw_window, glfw_events) = self
[INFO] [stdout]    |              ----^^^^^^^^^^^
[INFO] [stdout]    |              |
[INFO] [stdout]    |              help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> crates/ale_window/src/backend.rs:71:14
[INFO] [stdout]    |
[INFO] [stdout] 71 |         let (mut glfw_window, glfw_events) = shared_window
[INFO] [stdout]    |              ----^^^^^^^^^^^
[INFO] [stdout]    |              |
[INFO] [stdout]    |              help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> crates/ale_window/src/backend.rs:107:13
[INFO] [stdout]     |
[INFO] [stdout] 107 |         let mut shared_window = self.windows.get_mut(shared_key).
[INFO] [stdout]     |             ----^^^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `panel`
[INFO] [stdout]    --> crates/ale_window/src/window.rs:129:34
[INFO] [stdout]     |
[INFO] [stdout] 129 |   pub fn remove_panel(&mut self, panel: alevec::Key<Panel>) {
[INFO] [stdout]     |                                  ^^^^^ help: if this is intentional, prefix it with an underscore: `_panel`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 12 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking ale_render v0.1.0 (/opt/rustwide/workdir/crates/ale_render)
[INFO] [stdout] warning: unused import: `crate::target::RenderTarget`
[INFO] [stdout]  --> crates/ale_render/src/component.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::target::RenderTarget;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ale_data::alevec::Key`
[INFO] [stdout]  --> crates/ale_render/src/component.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use ale_data::alevec::Key;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> crates/ale_render/src/component.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 3 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking ale_app v0.1.0 (/opt/rustwide/workdir/crates/ale_app)
[INFO] [stdout] warning: unused import: `thiserror::Error`
[INFO] [stdout]  --> crates/ale_app/src/lib.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use thiserror::Error;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `RenderResources`, `SimpleRenderTasks`
[INFO] [stdout]  --> crates/ale_app/src/lib.rs:8:31
[INFO] [stdout]   |
[INFO] [stdout] 8 | use ale_opengl::old::opengl::{RenderResources, SimpleRenderTasks};
[INFO] [stdout]   |                               ^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `info`
[INFO] [stdout]   --> crates/ale_app/src/lib.rs:15:11
[INFO] [stdout]    |
[INFO] [stdout] 15 | use log::{info, LevelFilter};
[INFO] [stdout]    |           ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `SimpleLogger`
[INFO] [stdout]   --> crates/ale_app/src/lib.rs:16:54
[INFO] [stdout]    |
[INFO] [stdout] 16 | use simplelog::{ColorChoice, CombinedLogger, Config, SimpleLogger, TerminalMode, TermLogger, WriteLogger};
[INFO] [stdout]    |                                                      ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ale_opengl::viewport::Viewport`
[INFO] [stdout]   --> crates/ale_app/src/lib.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | use ale_opengl::viewport::Viewport;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ale_ui::element`
[INFO] [stdout]   --> crates/ale_app/src/lib.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | use ale_ui::element;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ale_window::backend`
[INFO] [stdout]   --> crates/ale_app/src/lib.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | use ale_window::backend;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ale_world::world`
[INFO] [stdout]   --> crates/ale_app/src/lib.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 | use ale_world::world;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ale_world::world::World`
[INFO] [stdout]   --> crates/ale_app/src/lib.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 22 | use ale_world::world::World;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fmt::Display`
[INFO] [stdout]  --> crates/ale_app/src/app.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::fmt::Display;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ale_math::color::Color`
[INFO] [stdout]  --> crates/ale_app/src/app.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use ale_math::color::Color;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ale_math::Vector2`
[INFO] [stdout]  --> crates/ale_app/src/app.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use ale_math::Vector2;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ale_opengl_clear_render_color`
[INFO] [stdout]  --> crates/ale_app/src/app.rs:8:53
[INFO] [stdout]   |
[INFO] [stdout] 8 |   ale_opengl_blend_enable, ale_opengl_clear_render, ale_opengl_clear_render_color, ale_opengl_depth_test_enable,
[INFO] [stdout]   |                                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ale_render::target::RenderTargetType`
[INFO] [stdout]   --> crates/ale_app/src/app.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use ale_render::target::RenderTargetType;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ale_window::window::Window`
[INFO] [stdout]   --> crates/ale_app/src/app.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use ale_window::window::Window;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ale_data::alevec`
[INFO] [stdout]  --> crates/ale_app/src/engine.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use ale_data::alevec;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `log::info`
[INFO] [stdout]  --> crates/ale_app/src/engine.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use log::info;
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> crates/ale_app/src/engine.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ale_data::alevec::AleVec`
[INFO] [stdout]  --> crates/ale_app/src/engine.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use ale_data::alevec::AleVec;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ale_data::indexmap::Id`
[INFO] [stdout]  --> crates/ale_app/src/engine.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use ale_data::indexmap::Id;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ale_math::rect::Rect`
[INFO] [stdout]  --> crates/ale_app/src/engine.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use ale_math::rect::Rect;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Vector2`, `Zero`
[INFO] [stdout]  --> crates/ale_app/src/engine.rs:9:16
[INFO] [stdout]   |
[INFO] [stdout] 9 | use ale_math::{Vector2, Zero};
[INFO] [stdout]   |                ^^^^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `TargetMonitor`
[INFO] [stdout]   --> crates/ale_app/src/engine.rs:16:43
[INFO] [stdout]    |
[INFO] [stdout] 16 | use ale_window::display::{DisplaySetting, TargetMonitor};
[INFO] [stdout]    |                                           ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> crates/ale_app/src/app.rs:48:9
[INFO] [stdout]    |
[INFO] [stdout] 48 |     let mut display_setting = self.genesis.window();
[INFO] [stdout]    |         ----^^^^^^^^^^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> crates/ale_app/src/app.rs:115:9
[INFO] [stdout]     |
[INFO] [stdout] 115 |     let mut window = match engine.windows.iter_mut().next() {
[INFO] [stdout]     |         ----^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> crates/ale_app/src/lib.rs:42:34
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub fn ale_app_run<S, T: App<S>>(mut app: T, display_info: DisplaySetting) {
[INFO] [stdout]    |                                  ----^^^
[INFO] [stdout]    |                                  |
[INFO] [stdout]    |                                  help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> crates/ale_app/src/lib.rs:58:7
[INFO] [stdout]    |
[INFO] [stdout] 58 |   let mut window_key = windows.add(display_info);
[INFO] [stdout]    |       ----^^^^^^^^^^
[INFO] [stdout]    |       |
[INFO] [stdout]    |       help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 1 warning emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 27 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]  Documenting tetris v0.1.0 (/opt/rustwide/workdir/examples/tetris)
[INFO] [stderr]  Documenting ale_app v0.1.0 (/opt/rustwide/workdir/crates/ale_app)
[INFO] [stdout] warning: 1 warning emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]  Documenting ale_render v0.1.0 (/opt/rustwide/workdir/crates/ale_render)
[INFO] [stderr]     Checking parry3d v0.4.2
[INFO] [stderr]     Checking rapier3d v0.8.0
[INFO] [stderr]     Checking ale_physics v0.1.0 (/opt/rustwide/workdir/crates/ale_physics)
[INFO] [stderr]  Documenting ale_physics v0.1.0 (/opt/rustwide/workdir/crates/ale_physics)
[INFO] [stdout] warning: unused import: `RigidBody`
[INFO] [stdout]  --> crates/ale_physics/src/lib.rs:3:48
[INFO] [stdout]   |
[INFO] [stdout] 3 |   BodyStatus, IntegrationParameters, JointSet, RigidBody, RigidBodyBuilder, RigidBodyHandle, RigidBodySet,
[INFO] [stdout]   |                                                ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `SharedShape`
[INFO] [stdout]  --> crates/ale_physics/src/lib.rs:6:59
[INFO] [stdout]   |
[INFO] [stdout] 6 | use rapier3d::geometry::{ColliderBuilder, ColliderHandle, SharedShape};
[INFO] [stdout]   |                                                           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Euler`, `InnerSpace`
[INFO] [stdout]   --> crates/ale_physics/src/lib.rs:10:16
[INFO] [stdout]    |
[INFO] [stdout] 10 | use ale_math::{Euler, InnerSpace};
[INFO] [stdout]    |                ^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 3 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]  Documenting pong v0.1.0 (/opt/rustwide/workdir/examples/pong)
[INFO] [stderr]     Finished dev [unoptimized + debuginfo] target(s) in 35.66s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: nalgebra v0.26.2
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 1`
[INFO] [stderr]    Generated /opt/rustwide/target/doc/ale_app/index.html
[INFO] [stderr]    Generated /opt/rustwide/target/doc/ale_camera/index.html
[INFO] [stderr]    Generated /opt/rustwide/target/doc/ale_console/index.html
[INFO] [stderr]    Generated /opt/rustwide/target/doc/ale_data/index.html
[INFO] [stderr]    Generated /opt/rustwide/target/doc/ale_input/index.html
[INFO] [stderr]    Generated /opt/rustwide/target/doc/ale_math/index.html
[INFO] [stderr]    Generated /opt/rustwide/target/doc/ale_opengl/index.html
[INFO] [stderr]    Generated /opt/rustwide/target/doc/ale_opengl_fxaa/index.html
[INFO] [stderr]    Generated /opt/rustwide/target/doc/ale_physics/index.html
[INFO] [stderr]    Generated /opt/rustwide/target/doc/ale_raymarch/index.html
[INFO] [stderr]    Generated /opt/rustwide/target/doc/ale_render/index.html
[INFO] [stderr]    Generated /opt/rustwide/target/doc/ale_resources/index.html
[INFO] [stderr]    Generated /opt/rustwide/target/doc/ale_ui/index.html
[INFO] [stderr]    Generated /opt/rustwide/target/doc/ale_variable/index.html
[INFO] [stderr]    Generated /opt/rustwide/target/doc/ale_window/index.html
[INFO] [stderr]    Generated /opt/rustwide/target/doc/ale_world/index.html
[INFO] [stderr]    Generated /opt/rustwide/target/doc/pong/index.html
[INFO] [stderr]    Generated /opt/rustwide/target/doc/tetris/index.html
[INFO] running `Command { std: "docker" "inspect" "8be60a6c3aa8193382acb5660072b9228aa7d22d26e4853069c900eb96c7fd2e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "8be60a6c3aa8193382acb5660072b9228aa7d22d26e4853069c900eb96c7fd2e", kill_on_drop: false }`
[INFO] [stdout] 8be60a6c3aa8193382acb5660072b9228aa7d22d26e4853069c900eb96c7fd2e
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "RUSTC_BOOTSTRAP=1" "-e" "DOCS_RS=1" "-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" "+1.75.0" "rustdoc" "--lib" "-Zrustdoc-map" "-Z" "unstable-options" "--config" "build.rustdocflags=[\"-Z\", \"unstable-options\", \"--document-private-items\"]" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] e0fde01208340292d6018d7bb6ebea4a6b39e62a98cfd65b8efca0055f45c3f3
[INFO] running `Command { std: "docker" "start" "-a" "e0fde01208340292d6018d7bb6ebea4a6b39e62a98cfd65b8efca0055f45c3f3", kill_on_drop: false }`
[INFO] [stderr] warning: virtual workspace defaulting to `resolver = "1"` despite one or more workspace members being on edition 2021 which implies `resolver = "2"`
[INFO] [stderr] note: to keep the current resolver, specify `workspace.resolver = "1"` in the workspace root's manifest
[INFO] [stderr] note: to use the edition 2021 resolver, specify `workspace.resolver = "2"` in the workspace root's manifest
[INFO] [stderr] note: for more details see https://doc.rust-lang.org/cargo/reference/resolver.html#resolver-versions
[INFO] [stderr] warning: /opt/rustwide/workdir/crates/ale_data/Cargo.toml: unused manifest key: dependencies.traitcast_core.use_inventory
[INFO] [stderr] error: manifest path `/opt/rustwide/workdir/Cargo.toml` is a virtual manifest, but this command requires running against an actual package in this workspace
[INFO] running `Command { std: "docker" "inspect" "e0fde01208340292d6018d7bb6ebea4a6b39e62a98cfd65b8efca0055f45c3f3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "e0fde01208340292d6018d7bb6ebea4a6b39e62a98cfd65b8efca0055f45c3f3", kill_on_drop: false }`
[INFO] [stdout] e0fde01208340292d6018d7bb6ebea4a6b39e62a98cfd65b8efca0055f45c3f3
[INFO] documenting andreasterrius/Alexyt against beta-2023-12-22 for beta-1.76-rustdoc-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fandreasterrius%2FAlexyt" "/workspace/builds/worker-4-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc2/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/andreasterrius/Alexyt on toolchain beta-2023-12-22
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2023-12-22" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/andreasterrius/Alexyt
[INFO] finished tweaking git repo https://github.com/andreasterrius/Alexyt
[INFO] tweaked toml for git repo https://github.com/andreasterrius/Alexyt written to /workspace/builds/worker-4-tc2/source/Cargo.toml
[INFO] crate git repo https://github.com/andreasterrius/Alexyt 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" "+beta-2023-12-22" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: virtual workspace defaulting to `resolver = "1"` despite one or more workspace members being on edition 2021 which implies `resolver = "2"`
[INFO] [stderr] note: to keep the current resolver, specify `workspace.resolver = "1"` in the workspace root's manifest
[INFO] [stderr] note: to use the edition 2021 resolver, specify `workspace.resolver = "2"` in the workspace root's manifest
[INFO] [stderr] note: for more details see https://doc.rust-lang.org/cargo/reference/resolver.html#resolver-versions
[INFO] [stderr] warning: /workspace/builds/worker-4-tc2/source/crates/ale_data/Cargo.toml: unused manifest key: dependencies.traitcast_core.use_inventory
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2023-12-22" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] fdd2f966046073f24e5e9500e4f12356be256b83b12159f432bd9ecf849ca72c
[INFO] running `Command { std: "docker" "start" "-a" "fdd2f966046073f24e5e9500e4f12356be256b83b12159f432bd9ecf849ca72c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "fdd2f966046073f24e5e9500e4f12356be256b83b12159f432bd9ecf849ca72c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "fdd2f966046073f24e5e9500e4f12356be256b83b12159f432bd9ecf849ca72c", kill_on_drop: false }`
[INFO] [stdout] fdd2f966046073f24e5e9500e4f12356be256b83b12159f432bd9ecf849ca72c
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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=warn" "-e" "RUSTDOCFLAGS=--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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2023-12-22" "doc" "--frozen" "--no-deps" "--document-private-items" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 0878ef96105a5b0a1b9fed1e86561c290904e554e39dc1006e9d6de6a6a5ec3f
[INFO] running `Command { std: "docker" "start" "-a" "0878ef96105a5b0a1b9fed1e86561c290904e554e39dc1006e9d6de6a6a5ec3f", kill_on_drop: false }`
[INFO] [stderr] warning: virtual workspace defaulting to `resolver = "1"` despite one or more workspace members being on edition 2021 which implies `resolver = "2"`
[INFO] [stderr] note: to keep the current resolver, specify `workspace.resolver = "1"` in the workspace root's manifest
[INFO] [stderr] note: to use the edition 2021 resolver, specify `workspace.resolver = "2"` in the workspace root's manifest
[INFO] [stderr] note: for more details see https://doc.rust-lang.org/cargo/reference/resolver.html#resolver-versions
[INFO] [stderr] warning: /opt/rustwide/workdir/crates/ale_data/Cargo.toml: unused manifest key: dependencies.traitcast_core.use_inventory
[INFO] [stderr]    Compiling libc v0.2.125
[INFO] [stderr]    Compiling num-traits v0.2.14
[INFO] [stderr]    Compiling proc-macro2 v1.0.39
[INFO] [stderr]    Compiling autocfg v0.1.8
[INFO] [stderr]    Compiling unicode-ident v1.0.1
[INFO] [stderr]    Compiling syn v1.0.96
[INFO] [stderr]    Compiling crossbeam-utils v0.8.8
[INFO] [stderr]    Compiling num-integer v0.1.45
[INFO] [stderr]    Compiling rand_chacha v0.1.1
[INFO] [stderr]    Compiling rand_pcg v0.1.2
[INFO] [stderr]    Compiling rand v0.6.5
[INFO] [stderr]    Compiling memoffset v0.6.5
[INFO] [stderr]     Checking crossbeam-channel v0.5.6
[INFO] [stderr]    Compiling crossbeam-epoch v0.9.8
[INFO] [stderr]    Compiling cgmath v0.17.0
[INFO] [stderr]     Checking bytemuck v1.9.1
[INFO] [stderr]    Compiling rayon-core v1.9.2
[INFO] [stderr]     Checking rand_os v0.1.3
[INFO] [stderr]     Checking num_cpus v1.13.1
[INFO] [stderr]    Compiling quote v1.0.18
[INFO] [stderr]     Checking adler32 v1.2.0
[INFO] [stderr]    Compiling num-rational v0.3.2
[INFO] [stderr]    Compiling crc32fast v1.3.2
[INFO] [stderr]    Compiling rayon v1.5.2
[INFO] [stderr]     Checking crossbeam-deque v0.8.1
[INFO] [stderr]     Checking approx v0.3.2
[INFO] [stderr]     Checking either v1.6.1
[INFO] [stderr]    Compiling log v0.4.17
[INFO] [stderr]     Checking getrandom v0.2.6
[INFO] [stderr]    Compiling lock_api v0.4.7
[INFO] [stderr]    Compiling indexmap v1.9.1
[INFO] [stderr]     Checking smallvec v1.8.0
[INFO] [stderr]    Compiling num-iter v0.1.43
[INFO] [stderr]    Compiling serde v1.0.137
[INFO] [stderr]     Checking anymap v0.12.1
[INFO] [stderr]     Checking itoa v1.0.1
[INFO] [stderr]    Compiling futures-core v0.3.21
[INFO] [stderr]     Checking miniz_oxide v0.5.1
[INFO] [stderr]     Checking traitcast_core v0.2.0
[INFO] [stderr]     Checking approx v0.5.1
[INFO] [stderr]    Compiling serde_derive v1.0.137
[INFO] [stderr]     Checking color_quant v1.1.0
[INFO] [stderr]    Compiling serde_json v1.0.80
[INFO] [stderr]     Checking snowflake v1.3.0
[INFO] [stderr]     Checking spin v0.9.3
[INFO] [stderr]     Checking deflate v0.8.6
[INFO] [stderr]     Checking nanorand v0.7.0
[INFO] [stderr]     Checking miniz_oxide v0.3.7
[INFO] [stderr]     Checking deflate v1.0.0
[INFO] [stderr]    Compiling num-rational v0.4.0
[INFO] [stderr]    Compiling khronos_api v3.1.0
[INFO] [stderr]     Checking weezl v0.1.6
[INFO] [stderr]    Compiling inflections v1.1.1
[INFO] [stderr]     Checking futures-sink v0.3.21
[INFO] [stderr]     Checking ryu v1.0.9
[INFO] [stderr]     Checking png v0.16.8
[INFO] [stderr]     Checking ale_math v0.1.0 (/opt/rustwide/workdir/crates/ale_math)
[INFO] [stderr]     Checking ale_data v0.1.0 (/opt/rustwide/workdir/crates/ale_data)
[INFO] [stderr]     Checking flate2 v1.0.23
[INFO] [stdout] warning: unused import: `std::borrow::Borrow`
[INFO] [stdout]  --> crates/ale_data/src/alevec.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::borrow::Borrow;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Formatter`
[INFO] [stdout]  --> crates/ale_data/src/alevec.rs:3:23
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::fmt::{Debug, Formatter};
[INFO] [stdout]   |                       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking inflate v0.4.5
[INFO] [stderr]     Checking threadpool v1.8.1
[INFO] [stdout] warning: 2 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking ale_input v0.1.0 (/opt/rustwide/workdir/crates/ale_input)
[INFO] [stderr]     Checking lebe v0.5.1
[INFO] [stderr]     Checking half v1.8.2
[INFO] [stderr]     Checking ttf-parser v0.6.2
[INFO] [stderr]     Checking jpeg-decoder v0.1.22
[INFO] [stderr]     Checking bit_field v0.10.1
[INFO] [stderr]     Checking jpeg-decoder v0.2.5
[INFO] [stderr]     Checking png v0.17.5
[INFO] [stderr]     Checking gif v0.11.3
[INFO] [stderr]     Checking image v0.23.14
[INFO] [stderr]     Checking ab_glyph_rasterizer v0.1.5
[INFO] [stderr]     Checking scoped_threadpool v0.1.9
[INFO] [stderr]    Compiling xml-rs v0.8.4
[INFO] [stderr]     Checking tiff v0.7.2
[INFO] [stderr]     Checking hdrldr v0.1.2
[INFO] [stderr]     Checking owned_ttf_parser v0.6.0
[INFO] [stderr]     Checking ale_variable v0.1.0 (/opt/rustwide/workdir/crates/ale_variable)
[INFO] [stdout] warning: unused imports: `Hash`, `Hasher`
[INFO] [stdout]  --> crates/ale_variable/src/lib.rs:3:17
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::hash::{Hash, Hasher};
[INFO] [stdout]   |                 ^^^^  ^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n`
[INFO] [stdout]   --> crates/ale_variable/src/lib.rs:34:23
[INFO] [stdout]    |
[INFO] [stdout] 34 |       Variable::F32_1(n, v) => v.to_string(),
[INFO] [stdout]    |                       ^ help: if this is intentional, prefix it with an underscore: `_n`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n`
[INFO] [stdout]   --> crates/ale_variable/src/lib.rs:35:23
[INFO] [stdout]    |
[INFO] [stdout] 35 |       Variable::F32_3(n, v) => format!("({}, {}, {})", v.x, v.y, v.z),
[INFO] [stdout]    |                       ^ help: if this is intentional, prefix it with an underscore: `_n`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n`
[INFO] [stdout]   --> crates/ale_variable/src/lib.rs:36:23
[INFO] [stdout]    |
[INFO] [stdout] 36 |       Variable::F32_4(n, v) => format!("({}, {}, {}, {})", v.x, v.y, v.z, v.w),
[INFO] [stdout]    |                       ^ help: if this is intentional, prefix it with an underscore: `_n`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n`
[INFO] [stdout]   --> crates/ale_variable/src/lib.rs:37:22
[INFO] [stdout]    |
[INFO] [stdout] 37 |       Variable::Bool(n, v) => v.to_string(),
[INFO] [stdout]    |                      ^ help: if this is intentional, prefix it with an underscore: `_n`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n`
[INFO] [stdout]   --> crates/ale_variable/src/lib.rs:39:25
[INFO] [stdout]    |
[INFO] [stdout] 39 |       Variable::F32_4_4(n, v) => format!("{:?}", v),
[INFO] [stdout]    |                         ^ help: if this is intentional, prefix it with an underscore: `_n`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking rusttype v0.9.2
[INFO] [stdout] warning: 6 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking ale_camera v0.1.0 (/opt/rustwide/workdir/crates/ale_camera)
[INFO] [stderr]     Checking ale_console v0.1.0 (/opt/rustwide/workdir/crates/ale_console)
[INFO] [stdout] warning: unused import: `Point3`
[INFO] [stdout]  --> crates/ale_camera/src/lib.rs:4:74
[INFO] [stdout]   |
[INFO] [stdout] 4 | use ale_math::{ale_quaternion_look_at, ortho, perspective, Deg, Matrix4, Point3, Quaternion, Vector2, Vector3};
[INFO] [stdout]   |                                                                          ^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]  --> crates/ale_camera/src/lib.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::sync::Arc;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `scancode`
[INFO] [stdout]   --> crates/ale_console/src/lib.rs:58:21
[INFO] [stdout]    |
[INFO] [stdout] 58 |     Input::Key(key, scancode, action, modifier) => {
[INFO] [stdout]    |                     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_scancode`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `modifier`
[INFO] [stdout]   --> crates/ale_console/src/lib.rs:58:39
[INFO] [stdout]    |
[INFO] [stdout] 58 |     Input::Key(key, scancode, action, modifier) => {
[INFO] [stdout]    |                                       ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_modifier`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]    --> crates/ale_console/src/lib.rs:164:25
[INFO] [stdout]     |
[INFO] [stdout] 164 |         Variable::F32_1(key, v) => {
[INFO] [stdout]     |                         ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]    --> crates/ale_console/src/lib.rs:171:25
[INFO] [stdout]     |
[INFO] [stdout] 171 |         Variable::F32_3(key, ref mut v) => {
[INFO] [stdout]     |                         ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]    --> crates/ale_console/src/lib.rs:180:25
[INFO] [stdout]     |
[INFO] [stdout] 180 |         Variable::F32_4(key, ref mut v) => {
[INFO] [stdout]     |                         ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]    --> crates/ale_console/src/lib.rs:190:24
[INFO] [stdout]     |
[INFO] [stdout] 190 |         Variable::Bool(key, ref mut v) => {
[INFO] [stdout]     |                        ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `err`
[INFO] [stdout]    --> crates/ale_console/src/lib.rs:221:11
[INFO] [stdout]     |
[INFO] [stdout] 221 |       Err(err) => return Err(ArgumentsFailToParse(words[0].to_owned(), words[i].to_owned())),
[INFO] [stdout]     |           ^^^ help: if this is intentional, prefix it with an underscore: `_err`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `abs_x`
[INFO] [stdout]   --> crates/ale_camera/src/flycamera.rs:89:40
[INFO] [stdout]    |
[INFO] [stdout] 89 |       Input::MouseMotion{rel_x, rel_y, abs_x, abs_y} => {
[INFO] [stdout]    |                                        ^^^^^ help: try ignoring the field: `abs_x: _`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 7 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling cc v1.0.73
[INFO] [stdout] warning: unused variable: `abs_y`
[INFO] [stdout]   --> crates/ale_camera/src/flycamera.rs:89:47
[INFO] [stdout]    |
[INFO] [stdout] 89 |       Input::MouseMotion{rel_x, rel_y, abs_x, abs_y} => {
[INFO] [stdout]    |                                               ^^^^^ help: try ignoring the field: `abs_y: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 4 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking cty v0.2.2
[INFO] [stderr]     Checking safe_arch v0.5.2
[INFO] [stderr]     Checking raw-window-handle v0.4.3
[INFO] [stderr]    Compiling gl_generator v0.14.0
[INFO] [stderr]    Compiling typenum v1.15.0
[INFO] [stderr]     Checking wide v0.6.5
[INFO] [stderr]    Compiling cmake v0.1.48
[INFO] [stderr]     Checking approx v0.4.0
[INFO] [stderr]     Checking num-complex v0.3.1
[INFO] [stderr]    Compiling paste v1.0.7
[INFO] [stderr]    Compiling gl v0.14.0
[INFO] [stderr]    Compiling crossbeam-queue v0.3.5
[INFO] [stderr]     Checking rawpointer v0.2.1
[INFO] [stderr]     Checking matrixmultiply v0.3.2
[INFO] [stderr]    Compiling glfw-sys v4.0.0+3.3.5
[INFO] [stderr]    Compiling time-macros v0.2.4
[INFO] [stderr]    Compiling anyhow v1.0.59
[INFO] [stderr]     Checking num_threads v0.1.6
[INFO] [stderr]     Checking simba v0.4.0
[INFO] [stderr]     Checking downcast-rs v1.2.0
[INFO] [stderr]     Checking slab v0.4.6
[INFO] [stderr]    Compiling pin-project-internal v1.0.10
[INFO] [stderr]    Compiling gltf-derive v1.0.0
[INFO] [stderr]    Compiling thiserror-impl v1.0.31
[INFO] [stderr]    Compiling num-derive v0.3.3
[INFO] [stderr]     Checking time v0.3.11
[INFO] [stderr]     Checking thiserror v1.0.31
[INFO] [stderr]     Checking rustc-hash v1.1.0
[INFO] [stderr]     Checking pin-project v1.0.10
[INFO] [stderr]     Checking termcolor v1.1.3
[INFO] [stderr]     Checking flume v0.10.12
[INFO] [stderr]     Checking crossbeam v0.8.1
[INFO] [stderr]     Checking simplelog v0.12.0
[INFO] [stderr]     Checking rand_core v0.6.3
[INFO] [stderr]     Checking instant v0.1.12
[INFO] [stderr]     Checking ppv-lite86 v0.2.16
[INFO] [stderr]     Checking exr v1.4.2
[INFO] [stderr]     Checking arrayvec v0.6.1
[INFO] [stderr]     Checking bit-vec v0.6.3
[INFO] [stderr]     Checking glfw v0.45.0 (https://github.com/bjz/glfw-rs.git#3e7598e1)
[INFO] [stderr]    Compiling enumn v0.1.6
[INFO] [stderr]  Documenting ale_console v0.1.0 (/opt/rustwide/workdir/crates/ale_console)
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]  Documenting ale_camera v0.1.0 (/opt/rustwide/workdir/crates/ale_camera)
[INFO] [stderr]  Documenting ale_variable v0.1.0 (/opt/rustwide/workdir/crates/ale_variable)
[INFO] [stderr]  Documenting ale_math v0.1.0 (/opt/rustwide/workdir/crates/ale_math)
[INFO] [stderr]  Documenting ale_data v0.1.0 (/opt/rustwide/workdir/crates/ale_data)
[INFO] [stderr]  Documenting ale_input v0.1.0 (/opt/rustwide/workdir/crates/ale_input)
[INFO] [stderr]     Checking image v0.24.2
[INFO] [stderr]     Checking gltf-json v1.0.0
[INFO] [stderr]     Checking nalgebra v0.26.2
[INFO] [stderr]     Checking gltf v1.0.0
[INFO] [stderr]     Checking ale_resources v0.1.0 (/opt/rustwide/workdir/crates/ale_resources)
[INFO] [stderr]  Documenting ale_resources v0.1.0 (/opt/rustwide/workdir/crates/ale_resources)
[INFO] [stdout] warning: unused import: `crate::gltf`
[INFO] [stdout]  --> crates/ale_resources/src/gltf.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::gltf;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ale_data::alevec::Key`
[INFO] [stdout]  --> crates/ale_resources/src/mesh.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use ale_data::alevec::Key;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Zero`
[INFO] [stdout]  --> crates/ale_resources/src/mesh.rs:5:62
[INFO] [stdout]   |
[INFO] [stdout] 5 | use ale_math::{Array, InnerSpace, Matrix4, Vector2, Vector3, Zero};
[INFO] [stdout]   |                                                              ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Stash`
[INFO] [stdout]   --> crates/ale_resources/src/mesh.rs:10:26
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::stash::{Load, Stash};
[INFO] [stdout]    |                          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]    --> crates/ale_resources/src/mesh/sdf.rs:235:14
[INFO] [stdout]     |
[INFO] [stdout] 235 |   let size = (max - min);
[INFO] [stdout]     |              ^         ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 235 -   let size = (max - min);
[INFO] [stdout] 235 +   let size = max - min;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]    --> crates/ale_resources/src/mesh/sdf.rs:235:14
[INFO] [stdout]     |
[INFO] [stdout] 235 |   let size = (max - min);
[INFO] [stdout]     |              ^         ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 235 -   let size = (max - min);
[INFO] [stdout] 235 +   let size = max - min;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `flip_vertical_in_place`, `flip_vertical`
[INFO] [stdout]  --> crates/ale_resources/src/texture.rs:3:23
[INFO] [stdout]   |
[INFO] [stdout] 3 | use image::imageops::{flip_vertical, flip_vertical_in_place};
[INFO] [stdout]   |                       ^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Path`
[INFO] [stdout]  --> crates/ale_resources/src/shader.rs:1:17
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::path::{Path, PathBuf};
[INFO] [stdout]   |                 ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::any::TypeId`
[INFO] [stdout]  --> crates/ale_resources/src/resources.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::any::TypeId;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ale_data::alevec::AleVec`
[INFO] [stdout]  --> crates/ale_resources/src/resources.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use ale_data::alevec::AleVec;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Shader`
[INFO] [stdout]  --> crates/ale_resources/src/resources.rs:8:21
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::shader::{Shader, ShaderStash};
[INFO] [stdout]   |                     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `matrix`
[INFO] [stdout]   --> crates/ale_resources/src/gltf.rs:20:42
[INFO] [stdout]    |
[INFO] [stdout] 20 |       ::gltf::scene::Transform::Matrix { matrix } => {
[INFO] [stdout]    |                                          ^^^^^^ help: try ignoring the field: `matrix: _`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> crates/ale_resources/src/mesh/sdf.rs:48:7
[INFO] [stdout]    |
[INFO] [stdout] 48 |   let mut det = a00 * a11 - a01 * a01;
[INFO] [stdout]    |       ----^^^
[INFO] [stdout]    |       |
[INFO] [stdout]    |       help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> crates/ale_resources/src/mesh/sdf.rs:127:9
[INFO] [stdout]     |
[INFO] [stdout] 127 |     let mut tmp0;
[INFO] [stdout]     |         ----^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> crates/ale_resources/src/mesh/sdf.rs:128:9
[INFO] [stdout]     |
[INFO] [stdout] 128 |     let mut tmp1;
[INFO] [stdout]     |         ----^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> crates/ale_resources/src/mesh/sdf.rs:129:9
[INFO] [stdout]     |
[INFO] [stdout] 129 |     let mut numer;
[INFO] [stdout]     |         ----^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> crates/ale_resources/src/mesh/sdf.rs:130:9
[INFO] [stdout]     |
[INFO] [stdout] 130 |     let mut denom;
[INFO] [stdout]     |         ----^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `inner_start_time`
[INFO] [stdout]    --> crates/ale_resources/src/mesh/sdf.rs:243:9
[INFO] [stdout]     |
[INFO] [stdout] 243 |     let inner_start_time = Instant::now();
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_inner_start_time`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `err`
[INFO] [stdout]   --> crates/ale_resources/src/shader.rs:95:11
[INFO] [stdout]    |
[INFO] [stdout] 95 |       Err(err) => None,
[INFO] [stdout]    |           ^^^ help: if this is intentional, prefix it with an underscore: `_err`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `VERTEX` is never used
[INFO] [stdout]   --> crates/ale_resources/src/mesh.rs:15:7
[INFO] [stdout]    |
[INFO] [stdout] 15 | const VERTEX: &str = "position";
[INFO] [stdout]    |       ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NORMAL` is never used
[INFO] [stdout]   --> crates/ale_resources/src/mesh.rs:16:7
[INFO] [stdout]    |
[INFO] [stdout] 16 | const NORMAL: &str = "normal";
[INFO] [stdout]    |       ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `UV` is never used
[INFO] [stdout]   --> crates/ale_resources/src/mesh.rs:17:7
[INFO] [stdout]    |
[INFO] [stdout] 17 | const UV: &str = "uv";
[INFO] [stdout]    |       ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BARYCENTRIC` is never used
[INFO] [stdout]   --> crates/ale_resources/src/mesh.rs:18:7
[INFO] [stdout]    |
[INFO] [stdout] 18 | const BARYCENTRIC: &str = "barycentric";
[INFO] [stdout]    |       ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `normal` and `uv` are never read
[INFO] [stdout]   --> crates/ale_resources/src/mesh.rs:37:3
[INFO] [stdout]    |
[INFO] [stdout] 35 | pub struct Tri {
[INFO] [stdout]    |            --- fields in this struct
[INFO] [stdout] 36 |   position: [Vector3<f32>; 3],
[INFO] [stdout] 37 |   normal: [Vector3<f32>; 3],
[INFO] [stdout]    |   ^^^^^^
[INFO] [stdout] 38 |   tri_normal: Vector3<f32>,
[INFO] [stdout] 39 |   uv: [Vector2<f32>; 3],
[INFO] [stdout]    |   ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `dot2` is never used
[INFO] [stdout]   --> crates/ale_resources/src/mesh/sdf.rs:30:4
[INFO] [stdout]    |
[INFO] [stdout] 30 | fn dot2(a: Vector3<f32>) -> f32 {
[INFO] [stdout]    |    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `cross` is never used
[INFO] [stdout]   --> crates/ale_resources/src/mesh/sdf.rs:34:4
[INFO] [stdout]    |
[INFO] [stdout] 34 | fn cross(a: Vector3<f32>, b: Vector3<f32>) -> Vector3<f32> {
[INFO] [stdout]    |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> crates/ale_resources/src/font.rs:63:7
[INFO] [stdout]    |
[INFO] [stdout] 63 |       font_file.read_to_end(&mut font_data);
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 63 |       let _ = font_file.read_to_end(&mut font_data);
[INFO] [stdout]    |       +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 26 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking ale_opengl v0.1.0 (/opt/rustwide/workdir/crates/ale_opengl)
[INFO] [stderr]  Documenting ale_opengl v0.1.0 (/opt/rustwide/workdir/crates/ale_opengl)
[INFO] [stderr]  Documenting ale_raymarch v0.1.0 (/opt/rustwide/workdir/crates/ale_raymarch)
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]   --> crates/ale_raymarch/src/lib.rs:39:20
[INFO] [stdout]    |
[INFO] [stdout] 39 |   let right_step = (camera.right_dir() / x as f32 * aspect_ratio);
[INFO] [stdout]    |                    ^                                            ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 39 -   let right_step = (camera.right_dir() / x as f32 * aspect_ratio);
[INFO] [stdout] 39 +   let right_step = camera.right_dir() / x as f32 * aspect_ratio;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `GLsizeiptr`
[INFO] [stdout]  --> crates/ale_opengl/src/debug/line.rs:6:26
[INFO] [stdout]   |
[INFO] [stdout] 6 | use gl::types::{GLfloat, GLsizeiptr};
[INFO] [stdout]   |                          ^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]    --> crates/ale_opengl/src/old/sky.rs:264:15
[INFO] [stdout]     |
[INFO] [stdout] 264 |     let d_i = (i as f64 * dx);
[INFO] [stdout]     |               ^             ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 264 -     let d_i = (i as f64 * dx);
[INFO] [stdout] 264 +     let d_i = i as f64 * dx;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]    --> crates/ale_opengl/src/old/sky.rs:264:15
[INFO] [stdout]     |
[INFO] [stdout] 264 |     let d_i = (i as f64 * dx);
[INFO] [stdout]     |               ^             ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 264 -     let d_i = (i as f64 * dx);
[INFO] [stdout] 264 +     let d_i = i as f64 * dx;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::raw`
[INFO] [stdout]   --> crates/ale_opengl/src/renderer/sprite.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use crate::raw;
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::raw::print_error`
[INFO] [stdout]   --> crates/ale_opengl/src/renderer/sprite.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use crate::raw::print_error;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::raw`
[INFO] [stdout]   --> crates/ale_opengl/src/renderer/text.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use crate::raw;
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `TextureId`
[INFO] [stdout]  --> crates/ale_opengl/src/texture.rs:4:39
[INFO] [stdout]   |
[INFO] [stdout] 4 | use ale_resources::texture::{Texture, TextureId};
[INFO] [stdout]   |                                       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> crates/ale_opengl/src/texture.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Array`
[INFO] [stdout]  --> crates/ale_opengl/src/wire.rs:4:16
[INFO] [stdout]   |
[INFO] [stdout] 4 | use ale_math::{Array, Matrix, Transform};
[INFO] [stdout]   |                ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> crates/ale_opengl/src/debug/line.rs:150:7
[INFO] [stdout]     |
[INFO] [stdout] 150 |   let mut draw_size = BUFFER_SIZE as u32;
[INFO] [stdout]     |       ----^^^^^^^^^
[INFO] [stdout]     |       |
[INFO] [stdout]     |       help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> crates/ale_opengl/src/debug/line.rs:191:7
[INFO] [stdout]     |
[INFO] [stdout] 191 |   let mut draw_size = BUFFER_SIZE as u32;
[INFO] [stdout]     |       ----^^^^^^^^^
[INFO] [stdout]     |       |
[INFO] [stdout]     |       help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> crates/ale_opengl/src/old/opengl.rs:452:9
[INFO] [stdout]     |
[INFO] [stdout] 452 |         _ => {}
[INFO] [stdout]     |         ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `k_sun_solid_angle`
[INFO] [stdout]   --> crates/ale_opengl/src/old/sky.rs:44:9
[INFO] [stdout]    |
[INFO] [stdout] 44 |     let k_sun_solid_angle = k_pi * k_sun_angular_radius * k_sun_angular_radius;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_k_sun_solid_angle`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `k_length_unit_in_meters`
[INFO] [stdout]   --> crates/ale_opengl/src/old/sky.rs:45:9
[INFO] [stdout]    |
[INFO] [stdout] 45 |     let k_length_unit_in_meters = 1000.0;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_k_length_unit_in_meters`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `k_bottom_radius`
[INFO] [stdout]   --> crates/ale_opengl/src/old/sky.rs:67:9
[INFO] [stdout]    |
[INFO] [stdout] 67 |     let k_bottom_radius = 6360000.0;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_k_bottom_radius`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `k_top_radius`
[INFO] [stdout]   --> crates/ale_opengl/src/old/sky.rs:68:9
[INFO] [stdout]    |
[INFO] [stdout] 68 |     let k_top_radius = 6420000.0;
[INFO] [stdout]    |         ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_k_top_radius`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `k_mie_phase_function_g`
[INFO] [stdout]   --> crates/ale_opengl/src/old/sky.rs:75:9
[INFO] [stdout]    |
[INFO] [stdout] 75 |     let k_mie_phase_function_g = 0.8;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_k_mie_phase_function_g`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `max_sun_zenith_angle`
[INFO] [stdout]   --> crates/ale_opengl/src/old/sky.rs:78:9
[INFO] [stdout]    |
[INFO] [stdout] 78 |     let max_sun_zenith_angle = if use_half_precision { 102.0 } else { 180.0 } / 180.0 * k_pi;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_max_sun_zenith_angle`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rayleigh_layer`
[INFO] [stdout]   --> crates/ale_opengl/src/old/sky.rs:79:9
[INFO] [stdout]    |
[INFO] [stdout] 79 |     let rayleigh_layer = DensityProfileLayer {
[INFO] [stdout]    |         ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_rayleigh_layer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `mie_layer`
[INFO] [stdout]   --> crates/ale_opengl/src/old/sky.rs:87:9
[INFO] [stdout]    |
[INFO] [stdout] 87 |     let mie_layer = DensityProfileLayer {
[INFO] [stdout]    |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_mie_layer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> crates/ale_opengl/src/old/sky.rs:37:9
[INFO] [stdout]    |
[INFO] [stdout] 37 |     let mut use_half_precision = true;
[INFO] [stdout]    |         ----^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `opengl_raymarch_context`
[INFO] [stdout]   --> crates/ale_opengl/src/raymarch.rs:27:35
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub fn ale_opengl_raymarch_render(opengl_raymarch_context: &OpenGLRaymarchContext) {}
[INFO] [stdout]    |                                   ^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_opengl_raymarch_context`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rbo`
[INFO] [stdout]   --> crates/ale_opengl/src/render_frame.rs:20:15
[INFO] [stdout]    |
[INFO] [stdout] 20 |     let (fbo, rbo, texture) = create_framebuffer_texcolor_rbodepth(screen_size.x, screen_size.y).unwrap();
[INFO] [stdout]    |               ^^^ help: if this is intentional, prefix it with an underscore: `_rbo`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `r`
[INFO] [stdout]   --> crates/ale_opengl/src/texture.rs:57:12
[INFO] [stdout]    |
[INFO] [stdout] 57 |       let (r, g, b, a) = color.get_rgba();
[INFO] [stdout]    |            ^ help: if this is intentional, prefix it with an underscore: `_r`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `g`
[INFO] [stdout]   --> crates/ale_opengl/src/texture.rs:57:15
[INFO] [stdout]    |
[INFO] [stdout] 57 |       let (r, g, b, a) = color.get_rgba();
[INFO] [stdout]    |               ^ help: if this is intentional, prefix it with an underscore: `_g`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `b`
[INFO] [stdout]   --> crates/ale_opengl/src/texture.rs:57:18
[INFO] [stdout]    |
[INFO] [stdout] 57 |       let (r, g, b, a) = color.get_rgba();
[INFO] [stdout]    |                  ^ help: if this is intentional, prefix it with an underscore: `_b`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `a`
[INFO] [stdout]   --> crates/ale_opengl/src/texture.rs:57:21
[INFO] [stdout]    |
[INFO] [stdout] 57 |       let (r, g, b, a) = color.get_rgba();
[INFO] [stdout]    |                     ^ help: if this is intentional, prefix it with an underscore: `_a`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> crates/ale_opengl/src/wire.rs:68:12
[INFO] [stdout]    |
[INFO] [stdout] 68 |       for (mut transform, mesh) in meshes {
[INFO] [stdout]    |            ----^^^^^^^^^
[INFO] [stdout]    |            |
[INFO] [stdout]    |            help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]   --> crates/ale_opengl/src/renderer/text.rs:74:9
[INFO] [stdout]    |
[INFO] [stdout] 74 |         unsafe { OpenGLTexture::new(&font_texture.texture).unwrap() }
[INFO] [stdout]    |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_unsafe)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `line_draw_size` and `point_draw_size` are never read
[INFO] [stdout]   --> crates/ale_opengl/src/debug/line.rs:25:3
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub struct OpenGLDebugContext {
[INFO] [stdout]    |            ------------------ fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 25 |   line_draw_size: u32,
[INFO] [stdout]    |   ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 29 |   point_draw_size: u32,
[INFO] [stdout]    |   ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AtmosphereParameters` is never constructed
[INFO] [stdout]  --> crates/ale_opengl/src/old/sky.rs:7:8
[INFO] [stdout]   |
[INFO] [stdout] 7 | struct AtmosphereParameters {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BrunetonSky` is never constructed
[INFO] [stdout]   --> crates/ale_opengl/src/old/sky.rs:32:8
[INFO] [stdout]    |
[INFO] [stdout] 32 | struct BrunetonSky {}
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `new` and `create_texture` are never used
[INFO] [stdout]    --> crates/ale_opengl/src/old/sky.rs:35:10
[INFO] [stdout]     |
[INFO] [stdout] 34  | impl BrunetonSky {
[INFO] [stdout]     | ---------------- associated functions in this implementation
[INFO] [stdout] 35  |   pub fn new() -> BrunetonSky {
[INFO] [stdout]     |          ^^^
[INFO] [stdout] ...
[INFO] [stdout] 144 |   pub fn create_texture() {}
[INFO] [stdout]     |          ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DensityProfileLayer` is never constructed
[INFO] [stdout]    --> crates/ale_opengl/src/old/sky.rs:147:8
[INFO] [stdout]     |
[INFO] [stdout] 147 | struct DensityProfileLayer {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DensityProfile` is never constructed
[INFO] [stdout]    --> crates/ale_opengl/src/old/sky.rs:155:8
[INFO] [stdout]     |
[INFO] [stdout] 155 | struct DensityProfile {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Model` is never constructed
[INFO] [stdout]    --> crates/ale_opengl/src/old/sky.rs:159:8
[INFO] [stdout]     |
[INFO] [stdout] 159 | struct Model {
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `clamp` is never used
[INFO] [stdout]    --> crates/ale_opengl/src/old/sky.rs:186:4
[INFO] [stdout]     |
[INFO] [stdout] 186 | fn clamp(val: f64, min: f64, max: f64) -> f64 {
[INFO] [stdout]     |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `clamp_cosine` is never used
[INFO] [stdout]    --> crates/ale_opengl/src/old/sky.rs:196:4
[INFO] [stdout]     |
[INFO] [stdout] 196 | fn clamp_cosine(mu: f64) -> f64 {
[INFO] [stdout]     |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `clamp_distance` is never used
[INFO] [stdout]    --> crates/ale_opengl/src/old/sky.rs:200:4
[INFO] [stdout]     |
[INFO] [stdout] 200 | fn clamp_distance(d: f64) -> f64 {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `clamp_radius` is never used
[INFO] [stdout]    --> crates/ale_opengl/src/old/sky.rs:204:4
[INFO] [stdout]     |
[INFO] [stdout] 204 | fn clamp_radius(atmosphere: &AtmosphereParameters, r: f64) -> f64 {
[INFO] [stdout]     |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `safe_sqrt` is never used
[INFO] [stdout]    --> crates/ale_opengl/src/old/sky.rs:208:4
[INFO] [stdout]     |
[INFO] [stdout] 208 | fn safe_sqrt(a: f64) -> f64 {
[INFO] [stdout]     |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `exp` is never used
[INFO] [stdout]    --> crates/ale_opengl/src/old/sky.rs:212:4
[INFO] [stdout]     |
[INFO] [stdout] 212 | fn exp(a: Vector3<f64>) -> Vector3<f64> {
[INFO] [stdout]     |    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `distance_to_top_atmosphere_boundary` is never used
[INFO] [stdout]    --> crates/ale_opengl/src/old/sky.rs:216:4
[INFO] [stdout]     |
[INFO] [stdout] 216 | fn distance_to_top_atmosphere_boundary(atmosphere: &AtmosphereParameters, r: f64, mu: f64) -> f64 {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `distance_to_bottom_atmosphere_boundary` is never used
[INFO] [stdout]    --> crates/ale_opengl/src/old/sky.rs:223:4
[INFO] [stdout]     |
[INFO] [stdout] 223 | fn distance_to_bottom_atmosphere_boundary(atmosphere: &AtmosphereParameters, r: f64, mu: f64) -> f64 {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `ray_intersect_ground` is never used
[INFO] [stdout]    --> crates/ale_opengl/src/old/sky.rs:230:4
[INFO] [stdout]     |
[INFO] [stdout] 230 | fn ray_intersect_ground(atmosphere: &AtmosphereParameters, r: f64, mu: f64) -> bool {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_layer_density` is never used
[INFO] [stdout]    --> crates/ale_opengl/src/old/sky.rs:236:4
[INFO] [stdout]     |
[INFO] [stdout] 236 | fn get_layer_density(layer: &DensityProfileLayer, altitude: f64) -> f64 {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_profile_density` is never used
[INFO] [stdout]    --> crates/ale_opengl/src/old/sky.rs:242:4
[INFO] [stdout]     |
[INFO] [stdout] 242 | fn get_profile_density(profile: &DensityProfile, altitude: f64) -> f64 {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `compute_optical_length_to_top_atmosphere_boundary` is never used
[INFO] [stdout]    --> crates/ale_opengl/src/old/sky.rs:250:4
[INFO] [stdout]     |
[INFO] [stdout] 250 | fn compute_optical_length_to_top_atmosphere_boundary(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `compute_transmittance_to_top_atmosphere_boundary` is never used
[INFO] [stdout]    --> crates/ale_opengl/src/old/sky.rs:281:4
[INFO] [stdout]     |
[INFO] [stdout] 281 | fn compute_transmittance_to_top_atmosphere_boundary(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_texture_coord_from_unit_range` is never used
[INFO] [stdout]    --> crates/ale_opengl/src/old/sky.rs:299:4
[INFO] [stdout]     |
[INFO] [stdout] 299 | fn get_texture_coord_from_unit_range(x: f64, texture_size: i64) -> f64 {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_unit_range_from_texture_coord` is never used
[INFO] [stdout]    --> crates/ale_opengl/src/old/sky.rs:303:4
[INFO] [stdout]     |
[INFO] [stdout] 303 | fn get_unit_range_from_texture_coord(u: f64, texture_size: i64) -> f64 {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `raymarch_shader` and `plane_mesh` are never read
[INFO] [stdout]  --> crates/ale_opengl/src/raymarch.rs:7:3
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct OpenGLRaymarchContext {
[INFO] [stdout]   |            --------------------- fields in this struct
[INFO] [stdout] 7 |   raymarch_shader: OpenGLShader,
[INFO] [stdout]   |   ^^^^^^^^^^^^^^^
[INFO] [stdout] 8 |
[INFO] [stdout] 9 |   plane_mesh: OpenGLMesh,
[INFO] [stdout]   |   ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `renderbuffer` is never read
[INFO] [stdout]  --> crates/ale_opengl/src/renderer/renderframe.rs:4:3
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub struct Viewport {
[INFO] [stdout]   |            -------- field in this struct
[INFO] [stdout] 4 |   renderbuffer: OpenGLRenderbufferId,
[INFO] [stdout]   |   ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `framebuffer` is never read
[INFO] [stdout]   --> crates/ale_opengl/src/renderer/renderframe.rs:12:3
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub struct RenderFrame {
[INFO] [stdout]    |            ----------- field in this struct
[INFO] [stdout] 12 |   framebuffer: OpenGLFramebufferId,
[INFO] [stdout]    |   ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `rect` is never read
[INFO] [stdout]  --> crates/ale_opengl/src/viewport.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub struct Viewport {
[INFO] [stdout]   |            -------- field in this struct
[INFO] [stdout] 4 |     rect : Rect
[INFO] [stdout]   |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: getting the inner pointer of a temporary `CString`
[INFO] [stdout]   --> crates/ale_opengl/src/raw.rs:66:85
[INFO] [stdout]    |
[INFO] [stdout] 66 |   let location = gl::GetUniformLocation(shader, CString::new(name.clone()).unwrap().as_ptr() as *const i8);
[INFO] [stdout]    |                                                 ----------------------------------- ^^^^^^ this pointer will be invalid
[INFO] [stdout]    |                                                 |
[INFO] [stdout]    |                                                 this `CString` is deallocated at the end of the statement, bind it to a variable to extend its lifetime
[INFO] [stdout]    |
[INFO] [stdout]    = note: pointers do not have a lifetime; when calling `as_ptr` the `CString` will be deallocated at the end of the statement because nothing is referencing it as far as the type system is concerned
[INFO] [stdout]    = help: for more information, see https://doc.rust-lang.org/reference/destructors.html
[INFO] [stdout]    = note: `#[warn(temporary_cstring_as_ptr)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]   --> crates/ale_opengl/src/raw.rs:66:66
[INFO] [stdout]    |
[INFO] [stdout] 66 |   let location = gl::GetUniformLocation(shader, CString::new(name.clone()).unwrap().as_ptr() as *const i8);
[INFO] [stdout]    |                                                                  ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]    |
[INFO] [stdout]    = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout]    = note: `#[warn(noop_method_call)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: getting the inner pointer of a temporary `CString`
[INFO] [stdout]   --> crates/ale_opengl/src/raw.rs:71:85
[INFO] [stdout]    |
[INFO] [stdout] 71 |   let location = gl::GetUniformLocation(shader, CString::new(name.clone()).unwrap().as_ptr() as *const i8);
[INFO] [stdout]    |                                                 ----------------------------------- ^^^^^^ this pointer will be invalid
[INFO] [stdout]    |                                                 |
[INFO] [stdout]    |                                                 this `CString` is deallocated at the end of the statement, bind it to a variable to extend its lifetime
[INFO] [stdout]    |
[INFO] [stdout]    = note: pointers do not have a lifetime; when calling `as_ptr` the `CString` will be deallocated at the end of the statement because nothing is referencing it as far as the type system is concerned
[INFO] [stdout]    = help: for more information, see https://doc.rust-lang.org/reference/destructors.html
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]   --> crates/ale_opengl/src/raw.rs:71:66
[INFO] [stdout]    |
[INFO] [stdout] 71 |   let location = gl::GetUniformLocation(shader, CString::new(name.clone()).unwrap().as_ptr() as *const i8);
[INFO] [stdout]    |                                                                  ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]    |
[INFO] [stdout]    = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: getting the inner pointer of a temporary `CString`
[INFO] [stdout]   --> crates/ale_opengl/src/raw.rs:76:85
[INFO] [stdout]    |
[INFO] [stdout] 76 |   let location = gl::GetUniformLocation(shader, CString::new(name.clone()).unwrap().as_ptr() as *const i8);
[INFO] [stdout]    |                                                 ----------------------------------- ^^^^^^ this pointer will be invalid
[INFO] [stdout]    |                                                 |
[INFO] [stdout]    |                                                 this `CString` is deallocated at the end of the statement, bind it to a variable to extend its lifetime
[INFO] [stdout]    |
[INFO] [stdout]    = note: pointers do not have a lifetime; when calling `as_ptr` the `CString` will be deallocated at the end of the statement because nothing is referencing it as far as the type system is concerned
[INFO] [stdout]    = help: for more information, see https://doc.rust-lang.org/reference/destructors.html
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]   --> crates/ale_opengl/src/raw.rs:76:66
[INFO] [stdout]    |
[INFO] [stdout] 76 |   let location = gl::GetUniformLocation(shader, CString::new(name.clone()).unwrap().as_ptr() as *const i8);
[INFO] [stdout]    |                                                                  ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]    |
[INFO] [stdout]    = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: getting the inner pointer of a temporary `CString`
[INFO] [stdout]   --> crates/ale_opengl/src/raw.rs:81:85
[INFO] [stdout]    |
[INFO] [stdout] 81 |   let location = gl::GetUniformLocation(shader, CString::new(name.clone()).unwrap().as_ptr() as *const i8);
[INFO] [stdout]    |                                                 ----------------------------------- ^^^^^^ this pointer will be invalid
[INFO] [stdout]    |                                                 |
[INFO] [stdout]    |                                                 this `CString` is deallocated at the end of the statement, bind it to a variable to extend its lifetime
[INFO] [stdout]    |
[INFO] [stdout]    = note: pointers do not have a lifetime; when calling `as_ptr` the `CString` will be deallocated at the end of the statement because nothing is referencing it as far as the type system is concerned
[INFO] [stdout]    = help: for more information, see https://doc.rust-lang.org/reference/destructors.html
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]   --> crates/ale_opengl/src/raw.rs:81:66
[INFO] [stdout]    |
[INFO] [stdout] 81 |   let location = gl::GetUniformLocation(shader, CString::new(name.clone()).unwrap().as_ptr() as *const i8);
[INFO] [stdout]    |                                                                  ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]    |
[INFO] [stdout]    = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: getting the inner pointer of a temporary `CString`
[INFO] [stdout]   --> crates/ale_opengl/src/raw.rs:87:64
[INFO] [stdout]    |
[INFO] [stdout] 87 |     gl::GetUniformLocation(shader, CString::new(name).unwrap().as_ptr()),
[INFO] [stdout]    |                                    --------------------------- ^^^^^^ this pointer will be invalid
[INFO] [stdout]    |                                    |
[INFO] [stdout]    |                                    this `CString` is deallocated at the end of the statement, bind it to a variable to extend its lifetime
[INFO] [stdout]    |
[INFO] [stdout]    = note: pointers do not have a lifetime; when calling `as_ptr` the `CString` will be deallocated at the end of the statement because nothing is referencing it as far as the type system is concerned
[INFO] [stdout]    = help: for more information, see https://doc.rust-lang.org/reference/destructors.html
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 63 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking ale_ui v0.1.0 (/opt/rustwide/workdir/crates/ale_ui)
[INFO] [stderr]     Checking ale_world v0.1.0 (/opt/rustwide/workdir/crates/ale_world)
[INFO] [stderr]  Documenting ale_opengl_fxaa v0.1.0 (/opt/rustwide/workdir/crates/ale_opengl_fxaa)
[INFO] [stderr]  Documenting ale_ui v0.1.0 (/opt/rustwide/workdir/crates/ale_ui)
[INFO] [stdout] warning: unused import: `std::any::TypeId`
[INFO] [stdout]  --> crates/ale_world/src/components.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::any::TypeId;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> crates/ale_world/src/components.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ale_camera::CameraRenderInfo`
[INFO] [stdout]  --> crates/ale_world/src/components.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use ale_camera::CameraRenderInfo;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ale_opengl::renderer`
[INFO] [stdout]  --> crates/ale_world/src/components.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use ale_opengl::renderer;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ale_data::alevec::Key`
[INFO] [stdout]  --> crates/ale_world/src/components.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use ale_data::alevec::Key;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::components`
[INFO] [stdout]  --> crates/ale_world/src/visitor.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::components;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::marker::PhantomData`
[INFO] [stdout]  --> crates/ale_world/src/event/stream.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::marker::PhantomData;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::thread`
[INFO] [stdout]  --> crates/ale_world/src/event/stream.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::thread;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ale_math::rect::Rect`
[INFO] [stdout]  --> crates/ale_ui/src/element.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use ale_math::rect::Rect;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ale_math::rect::Rect`
[INFO] [stdout]  --> crates/ale_ui/src/button.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use ale_math::rect::Rect;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Matrix4`
[INFO] [stdout]  --> crates/ale_ui/src/button.rs:4:16
[INFO] [stdout]   |
[INFO] [stdout] 4 | use ale_math::{Matrix4, Vector2};
[INFO] [stdout]   |                ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ale_opengl::renderer::sprite::SpriteRenderer`
[INFO] [stdout]  --> crates/ale_ui/src/button.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use ale_opengl::renderer::sprite::SpriteRenderer;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> crates/ale_ui/src/layout.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> crates/ale_world/src/world.rs:52:27
[INFO] [stdout]    |
[INFO] [stdout] 52 |   pub fn spawn(&mut self, mut spawn_cmd: SpawnCommand) {
[INFO] [stdout]    |                           ----^^^^^^^^^
[INFO] [stdout]    |                           |
[INFO] [stdout]    |                           help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `data`, `gen`, and `target_entity` are never read
[INFO] [stdout]   --> crates/ale_world/src/event/stream.rs:32:3
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub struct Holder<T: Sync> {
[INFO] [stdout]    |            ------ fields in this struct
[INFO] [stdout] 32 |   data: Option<T>,
[INFO] [stdout]    |   ^^^^
[INFO] [stdout] 33 |   gen: usize,
[INFO] [stdout]    |   ^^^
[INFO] [stdout] 34 |   target_entity: HashSet<Id<Entity>>,
[INFO] [stdout]    |   ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `event_buffer`, `curr`, `gen`, and `reader_entity_id` are never read
[INFO] [stdout]   --> crates/ale_world/src/event/stream.rs:90:3
[INFO] [stdout]    |
[INFO] [stdout] 89 | pub struct EventStreamReader<T: Sync> {
[INFO] [stdout]    |            ----------------- fields in this struct
[INFO] [stdout] 90 |   event_buffer: *const EventStreamBuffer<T>,
[INFO] [stdout]    |   ^^^^^^^^^^^^
[INFO] [stdout] 91 |   curr: usize,
[INFO] [stdout]    |   ^^^^
[INFO] [stdout] 92 |   gen: usize,
[INFO] [stdout]    |   ^^^
[INFO] [stdout] 93 |   reader_entity_id: Id<Entity>,
[INFO] [stdout]    |   ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `try_read` and `increment_index` are never used
[INFO] [stdout]    --> crates/ale_world/src/event/stream.rs:111:6
[INFO] [stdout]     |
[INFO] [stdout] 96  | impl<T: Sync> EventStreamReader<T> {
[INFO] [stdout]     | ---------------------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 111 |   fn try_read(&mut self) -> Option<&T> {
[INFO] [stdout]     |      ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 146 |   fn increment_index(&mut self) {
[INFO] [stdout]     |      ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `txt`
[INFO] [stdout]   --> crates/ale_ui/src/element.rs:76:23
[INFO] [stdout]    |
[INFO] [stdout] 76 |         Element::Text(txt) => {}
[INFO] [stdout]    |                       ^^^ help: if this is intentional, prefix it with an underscore: `_txt`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `empty`
[INFO] [stdout]   --> crates/ale_ui/src/element.rs:77:24
[INFO] [stdout]    |
[INFO] [stdout] 77 |         Element::Empty(empty) => {}
[INFO] [stdout]    |                        ^^^^^ help: if this is intentional, prefix it with an underscore: `_empty`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `empty`
[INFO] [stdout]   --> crates/ale_ui/src/element.rs:98:24
[INFO] [stdout]    |
[INFO] [stdout] 98 |         Element::Empty(empty) => {
[INFO] [stdout]    |                        ^^^^^ help: if this is intentional, prefix it with an underscore: `_empty`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rel_x`
[INFO] [stdout]   --> crates/ale_ui/src/button.rs:57:9
[INFO] [stdout]    |
[INFO] [stdout] 57 |         rel_x,
[INFO] [stdout]    |         ^^^^^ help: try ignoring the field: `rel_x: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rel_y`
[INFO] [stdout]   --> crates/ale_ui/src/button.rs:58:9
[INFO] [stdout]    |
[INFO] [stdout] 58 |         rel_y,
[INFO] [stdout]    |         ^^^^^ help: try ignoring the field: `rel_y: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `modifier`
[INFO] [stdout]   --> crates/ale_ui/src/button.rs:70:40
[INFO] [stdout]    |
[INFO] [stdout] 70 |       Input::MouseButton(mbtn, action, modifier) => {
[INFO] [stdout]    |                                        ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_modifier`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> crates/ale_ui/src/layout.rs:12:46
[INFO] [stdout]    |
[INFO] [stdout] 12 |   pub fn arrange(&mut self, parent: &Layout, mut childs: Vec<&mut Layout>) -> Result<(), LayoutError> {
[INFO] [stdout]    |                                              ----^^^^^^
[INFO] [stdout]    |                                              |
[INFO] [stdout]    |                                              help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `is_disable` is never read
[INFO] [stdout]   --> crates/ale_ui/src/button.rs:18:3
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub struct Button {
[INFO] [stdout]    |            ------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 18 |   is_disable: bool,
[INFO] [stdout]    |   ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 12 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> crates/ale_ui/src/element.rs:52:5
[INFO] [stdout]    |
[INFO] [stdout] 52 |     self.refresh_layout();
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 52 |     let _ = self.refresh_layout();
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]  Documenting ale_world v0.1.0 (/opt/rustwide/workdir/crates/ale_world)
[INFO] [stdout] warning: 14 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking ale_window v0.1.0 (/opt/rustwide/workdir/crates/ale_window)
[INFO] [stdout] warning: 1 warning emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ale_ui::panels::Panels`
[INFO] [stdout]  --> crates/ale_window/src/backend.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use ale_ui::panels::Panels;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `glfw::ffi::GLFWcharfun`
[INFO] [stdout]  --> crates/ale_window/src/backend.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use glfw::ffi::GLFWcharfun;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> crates/ale_window/src/backend.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `TargetMonitor`
[INFO] [stdout]  --> crates/ale_window/src/window.rs:1:38
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::display::{DisplaySetting, TargetMonitor};
[INFO] [stdout]   |                                      ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ale_math::rect::Rect`
[INFO] [stdout]  --> crates/ale_window/src/window.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use ale_math::rect::Rect;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Zero`
[INFO] [stdout]  --> crates/ale_window/src/window.rs:8:25
[INFO] [stdout]   |
[INFO] [stdout] 8 | use ale_math::{Vector2, Zero};
[INFO] [stdout]   |                         ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Arc`, `RwLock`
[INFO] [stdout]   --> crates/ale_window/src/window.rs:12:17
[INFO] [stdout]    |
[INFO] [stdout] 12 | use std::sync::{Arc, RwLock};
[INFO] [stdout]    |                 ^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]  Documenting ale_window v0.1.0 (/opt/rustwide/workdir/crates/ale_window)
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> crates/ale_window/src/backend.rs:20:9
[INFO] [stdout]    |
[INFO] [stdout] 20 |     let mut windows = Windows {
[INFO] [stdout]    |         ----^^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> crates/ale_window/src/backend.rs:58:14
[INFO] [stdout]    |
[INFO] [stdout] 58 |         let (mut glfw_window, glfw_events) = self
[INFO] [stdout]    |              ----^^^^^^^^^^^
[INFO] [stdout]    |              |
[INFO] [stdout]    |              help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> crates/ale_window/src/backend.rs:71:14
[INFO] [stdout]    |
[INFO] [stdout] 71 |         let (mut glfw_window, glfw_events) = shared_window
[INFO] [stdout]    |              ----^^^^^^^^^^^
[INFO] [stdout]    |              |
[INFO] [stdout]    |              help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> crates/ale_window/src/backend.rs:107:13
[INFO] [stdout]     |
[INFO] [stdout] 107 |         let mut shared_window = self.windows.get_mut(shared_key).
[INFO] [stdout]     |             ----^^^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `panel`
[INFO] [stdout]    --> crates/ale_window/src/window.rs:129:34
[INFO] [stdout]     |
[INFO] [stdout] 129 |   pub fn remove_panel(&mut self, panel: alevec::Key<Panel>) {
[INFO] [stdout]     |                                  ^^^^^ help: if this is intentional, prefix it with an underscore: `_panel`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 12 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking ale_render v0.1.0 (/opt/rustwide/workdir/crates/ale_render)
[INFO] [stdout] warning: unused import: `crate::target::RenderTarget`
[INFO] [stdout]  --> crates/ale_render/src/component.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::target::RenderTarget;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ale_data::alevec::Key`
[INFO] [stdout]  --> crates/ale_render/src/component.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use ale_data::alevec::Key;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> crates/ale_render/src/component.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 3 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking ale_app v0.1.0 (/opt/rustwide/workdir/crates/ale_app)
[INFO] [stdout] warning: unused import: `thiserror::Error`
[INFO] [stdout]  --> crates/ale_app/src/lib.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use thiserror::Error;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `RenderResources`, `SimpleRenderTasks`
[INFO] [stdout]  --> crates/ale_app/src/lib.rs:8:31
[INFO] [stdout]   |
[INFO] [stdout] 8 | use ale_opengl::old::opengl::{RenderResources, SimpleRenderTasks};
[INFO] [stdout]   |                               ^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `info`
[INFO] [stdout]   --> crates/ale_app/src/lib.rs:15:11
[INFO] [stdout]    |
[INFO] [stdout] 15 | use log::{info, LevelFilter};
[INFO] [stdout]    |           ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `SimpleLogger`
[INFO] [stdout]   --> crates/ale_app/src/lib.rs:16:54
[INFO] [stdout]    |
[INFO] [stdout] 16 | use simplelog::{ColorChoice, CombinedLogger, Config, SimpleLogger, TerminalMode, TermLogger, WriteLogger};
[INFO] [stdout]    |                                                      ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ale_opengl::viewport::Viewport`
[INFO] [stdout]   --> crates/ale_app/src/lib.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | use ale_opengl::viewport::Viewport;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ale_ui::element`
[INFO] [stdout]   --> crates/ale_app/src/lib.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | use ale_ui::element;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ale_window::backend`
[INFO] [stdout]   --> crates/ale_app/src/lib.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | use ale_window::backend;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ale_world::world`
[INFO] [stdout]   --> crates/ale_app/src/lib.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 | use ale_world::world;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ale_world::world::World`
[INFO] [stdout]   --> crates/ale_app/src/lib.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 22 | use ale_world::world::World;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fmt::Display`
[INFO] [stdout]  --> crates/ale_app/src/app.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::fmt::Display;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ale_math::color::Color`
[INFO] [stdout]  --> crates/ale_app/src/app.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use ale_math::color::Color;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ale_math::Vector2`
[INFO] [stdout]  --> crates/ale_app/src/app.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use ale_math::Vector2;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ale_opengl_clear_render_color`
[INFO] [stdout]  --> crates/ale_app/src/app.rs:8:53
[INFO] [stdout]   |
[INFO] [stdout] 8 |   ale_opengl_blend_enable, ale_opengl_clear_render, ale_opengl_clear_render_color, ale_opengl_depth_test_enable,
[INFO] [stdout]   |                                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ale_render::target::RenderTargetType`
[INFO] [stdout]   --> crates/ale_app/src/app.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use ale_render::target::RenderTargetType;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ale_window::window::Window`
[INFO] [stdout]   --> crates/ale_app/src/app.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use ale_window::window::Window;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ale_data::alevec`
[INFO] [stdout]  --> crates/ale_app/src/engine.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use ale_data::alevec;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `log::info`
[INFO] [stdout]  --> crates/ale_app/src/engine.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use log::info;
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> crates/ale_app/src/engine.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ale_data::alevec::AleVec`
[INFO] [stdout]  --> crates/ale_app/src/engine.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use ale_data::alevec::AleVec;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ale_data::indexmap::Id`
[INFO] [stdout]  --> crates/ale_app/src/engine.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use ale_data::indexmap::Id;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ale_math::rect::Rect`
[INFO] [stdout]  --> crates/ale_app/src/engine.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use ale_math::rect::Rect;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Vector2`, `Zero`
[INFO] [stdout]  --> crates/ale_app/src/engine.rs:9:16
[INFO] [stdout]   |
[INFO] [stdout] 9 | use ale_math::{Vector2, Zero};
[INFO] [stdout]   |                ^^^^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `TargetMonitor`
[INFO] [stdout]   --> crates/ale_app/src/engine.rs:16:43
[INFO] [stdout]    |
[INFO] [stdout] 16 | use ale_window::display::{DisplaySetting, TargetMonitor};
[INFO] [stdout]    |                                           ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 1 warning emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> crates/ale_app/src/app.rs:48:9
[INFO] [stdout]    |
[INFO] [stdout] 48 |     let mut display_setting = self.genesis.window();
[INFO] [stdout]    |         ----^^^^^^^^^^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> crates/ale_app/src/app.rs:115:9
[INFO] [stdout]     |
[INFO] [stdout] 115 |     let mut window = match engine.windows.iter_mut().next() {
[INFO] [stdout]     |         ----^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> crates/ale_app/src/lib.rs:42:34
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub fn ale_app_run<S, T: App<S>>(mut app: T, display_info: DisplaySetting) {
[INFO] [stdout]    |                                  ----^^^
[INFO] [stdout]    |                                  |
[INFO] [stdout]    |                                  help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> crates/ale_app/src/lib.rs:58:7
[INFO] [stdout]    |
[INFO] [stdout] 58 |   let mut window_key = windows.add(display_info);
[INFO] [stdout]    |       ----^^^^^^^^^^
[INFO] [stdout]    |       |
[INFO] [stdout]    |       help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]  Documenting ale_app v0.1.0 (/opt/rustwide/workdir/crates/ale_app)
[INFO] [stdout] warning: 27 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]  Documenting tetris v0.1.0 (/opt/rustwide/workdir/examples/tetris)
[INFO] [stderr]  Documenting ale_render v0.1.0 (/opt/rustwide/workdir/crates/ale_render)
[INFO] [stdout] warning: 1 warning emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking parry3d v0.4.2
[INFO] [stderr]     Checking rapier3d v0.8.0
[INFO] [stderr]     Checking ale_physics v0.1.0 (/opt/rustwide/workdir/crates/ale_physics)
[INFO] [stderr]  Documenting ale_physics v0.1.0 (/opt/rustwide/workdir/crates/ale_physics)
[INFO] [stdout] warning: unused import: `RigidBody`
[INFO] [stdout]  --> crates/ale_physics/src/lib.rs:3:48
[INFO] [stdout]   |
[INFO] [stdout] 3 |   BodyStatus, IntegrationParameters, JointSet, RigidBody, RigidBodyBuilder, RigidBodyHandle, RigidBodySet,
[INFO] [stdout]   |                                                ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `SharedShape`
[INFO] [stdout]  --> crates/ale_physics/src/lib.rs:6:59
[INFO] [stdout]   |
[INFO] [stdout] 6 | use rapier3d::geometry::{ColliderBuilder, ColliderHandle, SharedShape};
[INFO] [stdout]   |                                                           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Euler`, `InnerSpace`
[INFO] [stdout]   --> crates/ale_physics/src/lib.rs:10:16
[INFO] [stdout]    |
[INFO] [stdout] 10 | use ale_math::{Euler, InnerSpace};
[INFO] [stdout]    |                ^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 3 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]  Documenting pong v0.1.0 (/opt/rustwide/workdir/examples/pong)
[INFO] [stderr]     Finished dev [unoptimized + debuginfo] target(s) in 22.52s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: nalgebra v0.26.2
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 1`
[INFO] [stderr]    Generated /opt/rustwide/target/doc/ale_app/index.html
[INFO] [stderr]    Generated /opt/rustwide/target/doc/ale_camera/index.html
[INFO] [stderr]    Generated /opt/rustwide/target/doc/ale_console/index.html
[INFO] [stderr]    Generated /opt/rustwide/target/doc/ale_data/index.html
[INFO] [stderr]    Generated /opt/rustwide/target/doc/ale_input/index.html
[INFO] [stderr]    Generated /opt/rustwide/target/doc/ale_math/index.html
[INFO] [stderr]    Generated /opt/rustwide/target/doc/ale_opengl/index.html
[INFO] [stderr]    Generated /opt/rustwide/target/doc/ale_opengl_fxaa/index.html
[INFO] [stderr]    Generated /opt/rustwide/target/doc/ale_physics/index.html
[INFO] [stderr]    Generated /opt/rustwide/target/doc/ale_raymarch/index.html
[INFO] [stderr]    Generated /opt/rustwide/target/doc/ale_render/index.html
[INFO] [stderr]    Generated /opt/rustwide/target/doc/ale_resources/index.html
[INFO] [stderr]    Generated /opt/rustwide/target/doc/ale_ui/index.html
[INFO] [stderr]    Generated /opt/rustwide/target/doc/ale_variable/index.html
[INFO] [stderr]    Generated /opt/rustwide/target/doc/ale_window/index.html
[INFO] [stderr]    Generated /opt/rustwide/target/doc/ale_world/index.html
[INFO] [stderr]    Generated /opt/rustwide/target/doc/pong/index.html
[INFO] [stderr]    Generated /opt/rustwide/target/doc/tetris/index.html
[INFO] running `Command { std: "docker" "inspect" "0878ef96105a5b0a1b9fed1e86561c290904e554e39dc1006e9d6de6a6a5ec3f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "0878ef96105a5b0a1b9fed1e86561c290904e554e39dc1006e9d6de6a6a5ec3f", kill_on_drop: false }`
[INFO] [stdout] 0878ef96105a5b0a1b9fed1e86561c290904e554e39dc1006e9d6de6a6a5ec3f
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "RUSTC_BOOTSTRAP=1" "-e" "DOCS_RS=1" "-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" "+beta-2023-12-22" "rustdoc" "--lib" "-Zrustdoc-map" "-Z" "unstable-options" "--config" "build.rustdocflags=[\"-Z\", \"unstable-options\", \"--document-private-items\"]" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] d6f4f18fd2e7a0db318c321bd7c119f0fc562a549c6bd563323845c08eeeadd2
[INFO] running `Command { std: "docker" "start" "-a" "d6f4f18fd2e7a0db318c321bd7c119f0fc562a549c6bd563323845c08eeeadd2", kill_on_drop: false }`
[INFO] [stderr] warning: virtual workspace defaulting to `resolver = "1"` despite one or more workspace members being on edition 2021 which implies `resolver = "2"`
[INFO] [stderr] note: to keep the current resolver, specify `workspace.resolver = "1"` in the workspace root's manifest
[INFO] [stderr] note: to use the edition 2021 resolver, specify `workspace.resolver = "2"` in the workspace root's manifest
[INFO] [stderr] note: for more details see https://doc.rust-lang.org/cargo/reference/resolver.html#resolver-versions
[INFO] [stderr] warning: /opt/rustwide/workdir/crates/ale_data/Cargo.toml: unused manifest key: dependencies.traitcast_core.use_inventory
[INFO] [stderr] error: manifest path `/opt/rustwide/workdir/Cargo.toml` is a virtual manifest, but this command requires running against an actual package in this workspace
[INFO] running `Command { std: "docker" "inspect" "d6f4f18fd2e7a0db318c321bd7c119f0fc562a549c6bd563323845c08eeeadd2", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "d6f4f18fd2e7a0db318c321bd7c119f0fc562a549c6bd563323845c08eeeadd2", kill_on_drop: false }`
[INFO] [stdout] d6f4f18fd2e7a0db318c321bd7c119f0fc562a549c6bd563323845c08eeeadd2
