[INFO] cloning repository https://github.com/Skizzme/RustUI
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Skizzme/RustUI" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FSkizzme%2FRustUI", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FSkizzme%2FRustUI'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 523edc5d5fd1c90b96facfe7db00a01e5be953a6
[INFO] checking Skizzme/RustUI against try#fa4dd1f19bfeb3fd235dc7f1406c42404436bef5 for pr-145108-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FSkizzme%2FRustUI" "/workspace/builds/worker-0-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/Skizzme/RustUI
[INFO] finished tweaking git repo https://github.com/Skizzme/RustUI
[INFO] tweaked toml for git repo https://github.com/Skizzme/RustUI written to /workspace/builds/worker-0-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/Skizzme/RustUI on toolchain fa4dd1f19bfeb3fd235dc7f1406c42404436bef5
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+fa4dd1f19bfeb3fd235dc7f1406c42404436bef5" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/Skizzme/RustUI 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" "+fa4dd1f19bfeb3fd235dc7f1406c42404436bef5" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded include_dir v0.7.4
[INFO] [stderr]   Downloaded rand_core v0.9.0-alpha.2
[INFO] [stderr]   Downloaded include_dir_macros v0.7.4
[INFO] [stderr]   Downloaded redox_syscall v0.5.7
[INFO] [stderr]   Downloaded maybe-rayon v0.1.1
[INFO] [stderr]   Downloaded proc-macro2 v1.0.81
[INFO] [stderr]   Downloaded bit_field v0.10.2
[INFO] [stderr]   Downloaded rand v0.9.0-alpha.2
[INFO] [stderr]   Downloaded profiling v1.0.15
[INFO] [stderr]   Downloaded lebe v0.5.2
[INFO] [stderr]   Downloaded avif-serialize v0.8.2
[INFO] [stderr]   Downloaded cmake v0.1.50
[INFO] [stderr]   Downloaded wasm-bindgen-backend v0.2.92
[INFO] [stderr]   Downloaded objc2-encode v4.0.3
[INFO] [stderr]   Downloaded bytemuck v1.15.0
[INFO] [stderr]   Downloaded xml-rs v0.8.20
[INFO] [stderr]   Downloaded flume v0.11.0
[INFO] [stderr]   Downloaded freetype-rs v0.36.0
[INFO] [stderr]   Downloaded png v0.17.13
[INFO] [stderr]   Downloaded libfuzzer-sys v0.4.7
[INFO] [stderr]   Downloaded glfw v0.59.0
[INFO] [stderr]   Downloaded wasm-bindgen v0.2.92
[INFO] [stderr]   Downloaded winnow v0.6.8
[INFO] [stderr]   Downloaded toml_edit v0.22.12
[INFO] [stderr]   Downloaded exr v1.72.0
[INFO] [stderr]   Downloaded image v0.25.5
[INFO] [stderr]   Downloaded syn v2.0.60
[INFO] [stderr]   Downloaded cc v1.2.9
[INFO] [stderr]   Downloaded serde_derive v1.0.200
[INFO] [stderr]   Downloaded half v2.4.1
[INFO] [stderr]   Downloaded gif v0.13.1
[INFO] [stderr]   Downloaded image-webp v0.2.1
[INFO] [stderr]   Downloaded serde v1.0.200
[INFO] [stderr]   Downloaded toml v0.8.12
[INFO] [stderr]   Downloaded flate2 v1.0.30
[INFO] [stderr]   Downloaded zune-jpeg v0.4.14
[INFO] [stderr]   Downloaded imgref v1.10.1
[INFO] [stderr]   Downloaded anyhow v1.0.83
[INFO] [stderr]   Downloaded av1-grain v0.2.3
[INFO] [stderr]   Downloaded bitstream-io v2.2.0
[INFO] [stderr]   Downloaded target-lexicon v0.12.14
[INFO] [stderr]   Downloaded cfg-expr v0.15.8
[INFO] [stderr]   Downloaded crc32fast v1.4.0
[INFO] [stderr]   Downloaded weezl v0.1.8
[INFO] [stderr]   Downloaded raw-window-handle v0.6.1
[INFO] [stderr]   Downloaded fdeflate v0.3.4
[INFO] [stderr]   Downloaded built v0.7.2
[INFO] [stderr]   Downloaded paste v1.0.14
[INFO] [stderr]   Downloaded thiserror v1.0.59
[INFO] [stderr]   Downloaded rgb v0.8.50
[INFO] [stderr]   Downloaded libc v0.2.154
[INFO] [stderr]   Downloaded quick-error v2.0.1
[INFO] [stderr]   Downloaded arbitrary v1.3.2
[INFO] [stderr]   Downloaded version-compare v0.2.0
[INFO] [stderr]   Downloaded jpeg-decoder v0.3.1
[INFO] [stderr]   Downloaded glfw-sys v5.0.0+3.3.9
[INFO] [stderr]   Downloaded system-deps v6.2.2
[INFO] [stderr]   Downloaded wasm-bindgen-macro-support v0.2.92
[INFO] [stderr]   Downloaded zune-core v0.4.12
[INFO] [stderr]   Downloaded loop9 v0.1.5
[INFO] [stderr]   Downloaded interpolate_name v0.2.4
[INFO] [stderr]   Downloaded profiling-procmacros v1.0.15
[INFO] [stderr]   Downloaded aligned-vec v0.5.0
[INFO] [stderr]   Downloaded wasm-bindgen-macro v0.2.92
[INFO] [stderr]   Downloaded ravif v0.11.11
[INFO] [stderr]   Downloaded arg_enum_proc_macro v0.3.4
[INFO] [stderr]   Downloaded jobserver v0.1.31
[INFO] [stderr]   Downloaded simd_helpers v0.1.0
[INFO] [stderr]   Downloaded thiserror-impl v1.0.59
[INFO] [stderr]   Downloaded v_frame v0.3.8
[INFO] [stderr]   Downloaded wasm-bindgen-shared v0.2.92
[INFO] [stderr]   Downloaded noop_proc_macro v0.3.0
[INFO] [stderr]   Downloaded rand_chacha v0.9.0-alpha.2
[INFO] [stderr]   Downloaded rav1e v0.7.1
[INFO] [stderr]   Downloaded freetype-sys v0.20.1
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:61361fe0aef631f17e9d025a70c5a647956f8c671dd02950a60ad3f5cc5526d7" "/opt/rustwide/cargo-home/bin/cargo" "+fa4dd1f19bfeb3fd235dc7f1406c42404436bef5" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 9136d9fc945e9b2974b11361372b40230b311c2cc8116a8b12eb552c63f47e84
[INFO] running `Command { std: "docker" "start" "-a" "9136d9fc945e9b2974b11361372b40230b311c2cc8116a8b12eb552c63f47e84", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "9136d9fc945e9b2974b11361372b40230b311c2cc8116a8b12eb552c63f47e84", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "9136d9fc945e9b2974b11361372b40230b311c2cc8116a8b12eb552c63f47e84", kill_on_drop: false }`
[INFO] [stdout] 9136d9fc945e9b2974b11361372b40230b311c2cc8116a8b12eb552c63f47e84
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:61361fe0aef631f17e9d025a70c5a647956f8c671dd02950a60ad3f5cc5526d7" "/opt/rustwide/cargo-home/bin/cargo" "+fa4dd1f19bfeb3fd235dc7f1406c42404436bef5" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 8cfc02d358980347bc4b96f534036ff7d82c391b83f799251747c36b15e2f047
[INFO] running `Command { std: "docker" "start" "-a" "8cfc02d358980347bc4b96f534036ff7d82c391b83f799251747c36b15e2f047", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.81
[INFO] [stderr]    Compiling libc v0.2.154
[INFO] [stderr]    Compiling crossbeam-utils v0.8.19
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling khronos_api v3.1.0
[INFO] [stderr]     Checking simd-adler32 v0.3.7
[INFO] [stderr]    Compiling rayon-core v1.12.1
[INFO] [stderr]    Compiling num-bigint v0.4.4
[INFO] [stderr]    Compiling lock_api v0.4.12
[INFO] [stderr]    Compiling num-rational v0.4.1
[INFO] [stderr]    Compiling crc32fast v1.4.0
[INFO] [stderr]    Compiling anyhow v1.0.83
[INFO] [stderr]     Checking adler v1.0.2
[INFO] [stderr]    Compiling cc v1.2.9
[INFO] [stderr]     Checking either v1.11.0
[INFO] [stderr]    Compiling built v0.7.2
[INFO] [stderr]     Checking memchr v2.7.2
[INFO] [stderr]     Checking miniz_oxide v0.7.2
[INFO] [stderr]     Checking log v0.4.21
[INFO] [stderr]     Checking minimal-lexical v0.2.1
[INFO] [stderr]     Checking arrayvec v0.7.6
[INFO] [stderr]    Compiling paste v1.0.14
[INFO] [stderr]    Compiling thiserror v1.0.59
[INFO] [stderr]     Checking aligned-vec v0.5.0
[INFO] [stderr]    Compiling rav1e v0.7.1
[INFO] [stderr]    Compiling quote v1.0.36
[INFO] [stderr]    Compiling xml-rs v0.8.20
[INFO] [stderr]    Compiling pkg-config v0.3.30
[INFO] [stderr]     Checking smallvec v1.13.2
[INFO] [stderr]     Checking spin v0.9.8
[INFO] [stderr]     Checking itertools v0.12.1
[INFO] [stderr]    Compiling syn v2.0.60
[INFO] [stderr]     Checking crossbeam-epoch v0.9.18
[INFO] [stderr]     Checking flate2 v1.0.30
[INFO] [stderr]     Checking bitstream-io v2.2.0
[INFO] [stderr]    Compiling noop_proc_macro v0.3.0
[INFO] [stderr]     Checking nom v7.1.3
[INFO] [stderr]    Compiling simd_helpers v0.1.0
[INFO] [stderr]     Checking weezl v0.1.8
[INFO] [stderr]     Checking new_debug_unreachable v1.0.6
[INFO] [stderr]     Checking crossbeam-deque v0.8.5
[INFO] [stderr]     Checking quick-error v2.0.1
[INFO] [stderr]     Checking imgref v1.10.1
[INFO] [stderr]     Checking getrandom v0.2.15
[INFO] [stderr]     Checking bitflags v1.3.2
[INFO] [stderr]     Checking zerocopy v0.7.35
[INFO] [stderr]     Checking loop9 v0.1.5
[INFO] [stderr]     Checking flume v0.11.0
[INFO] [stderr]     Checking num-integer v0.1.46
[INFO] [stderr]     Checking v_frame v0.3.8
[INFO] [stderr]    Compiling cmake v0.1.50
[INFO] [stderr]     Checking avif-serialize v0.8.2
[INFO] [stderr]     Checking zune-inflate v0.2.54
[INFO] [stderr]     Checking fdeflate v0.3.4
[INFO] [stderr]     Checking half v2.4.1
[INFO] [stderr]     Checking rand_core v0.9.0-alpha.2
[INFO] [stderr]     Checking byteorder-lite v0.1.0
[INFO] [stderr]    Compiling gl_generator v0.14.0
[INFO] [stderr]     Checking lebe v0.5.2
[INFO] [stderr]    Compiling winapi v0.3.9
[INFO] [stderr]     Checking color_quant v1.1.0
[INFO] [stderr]     Checking rgb v0.8.50
[INFO] [stderr]     Checking bytemuck v1.15.0
[INFO] [stderr]     Checking zune-core v0.4.12
[INFO] [stderr]     Checking jpeg-decoder v0.3.1
[INFO] [stderr]     Checking rayon v1.10.0
[INFO] [stderr]     Checking bit_field v0.10.2
[INFO] [stderr]     Checking png v0.17.13
[INFO] [stderr]     Checking zune-jpeg v0.4.14
[INFO] [stderr]     Checking rand_chacha v0.9.0-alpha.2
[INFO] [stderr]    Compiling freetype-sys v0.20.1
[INFO] [stderr]     Checking exr v1.72.0
[INFO] [stderr]     Checking image-webp v0.2.1
[INFO] [stderr]    Compiling glfw-sys v5.0.0+3.3.9
[INFO] [stderr]     Checking qoi v0.4.1
[INFO] [stderr]     Checking gif v0.13.1
[INFO] [stderr]     Checking parking_lot_core v0.9.10
[INFO] [stderr]    Compiling include_dir_macros v0.7.4
[INFO] [stderr]     Checking tiff v0.9.1
[INFO] [stderr]    Compiling gl v0.14.0
[INFO] [stderr]     Checking raw-window-handle v0.6.1
[INFO] [stderr]     Checking bitflags v2.5.0
[INFO] [stderr]     Checking parking_lot v0.12.3
[INFO] [stderr]     Checking rand v0.9.0-alpha.2
[INFO] [stderr]     Checking freetype-rs v0.36.0
[INFO] [stderr]     Checking include_dir v0.7.4
[INFO] [stderr]     Checking av1-grain v0.2.3
[INFO] [stderr]     Checking maybe-rayon v0.1.1
[INFO] [stderr]     Checking glfw v0.59.0
[INFO] [stderr]    Compiling thiserror-impl v1.0.59
[INFO] [stderr]    Compiling profiling-procmacros v1.0.15
[INFO] [stderr]    Compiling arg_enum_proc_macro v0.3.4
[INFO] [stderr]    Compiling num-derive v0.4.2
[INFO] [stderr]     Checking profiling v1.0.15
[INFO] [stderr]     Checking ravif v0.11.11
[INFO] [stderr]     Checking image v0.25.5
[INFO] [stderr]     Checking ferrum v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused imports: `DEBUG_OUTPUT`, `DrawArraysInstanced`, and `QUADS`
[INFO] [stdout]  --> src/components/render/renderer/shapes.rs:2:10
[INFO] [stdout]   |
[INFO] [stdout] 2 | use gl::{DrawArraysInstanced, ARRAY_BUFFER, DEBUG_OUTPUT, FALSE, FLOAT, QUADS};
[INFO] [stdout]   |          ^^^^^^^^^^^^^^^^^^^                ^^^^^^^^^^^^                ^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ToColor`
[INFO] [stdout]  --> src/components/render/renderer/shapes.rs:7:58
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::components::render::color::{Color, To4Colors, ToColor};
[INFO] [stdout]   |                                                          ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `CULL_FACE`, `DEPTH_TEST`, `Disable`, and `Enable`
[INFO] [stdout]   --> src/components/render/renderer/shapes.rs:13:29
[INFO] [stdout]    |
[INFO] [stdout] 13 | use crate::gl_binds::gl11::{Disable, DrawElements, Enable, CULL_FACE, DEPTH_TEST, TRIANGLES, UNSIGNED_INT};
[INFO] [stdout]    |                             ^^^^^^^                ^^^^^^  ^^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `GLsizei`
[INFO] [stdout]   --> src/components/render/renderer/shapes.rs:14:36
[INFO] [stdout]    |
[INFO] [stdout] 14 | use crate::gl_binds::gl11::types::{GLsizei, GLuint};
[INFO] [stdout]    |                                    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Begin`, `BindVertexArray`, `End`, `FRAMEBUFFER_SRGB`, and `Vertex2f`
[INFO] [stdout]   --> src/components/render/renderer/shapes.rs:16:29
[INFO] [stdout]    |
[INFO] [stdout] 16 | use crate::gl_binds::gl30::{Begin, BindVertexArray, End, Vertex2f, FRAMEBUFFER_SRGB};
[INFO] [stdout]    |                             ^^^^^  ^^^^^^^^^^^^^^^  ^^^  ^^^^^^^^  ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::gl_binds::gl41::DrawElementsInstanced`
[INFO] [stdout]   --> src/components/render/renderer/shapes.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | use crate::gl_binds::gl41::DrawElementsInstanced;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Color`
[INFO] [stdout]  --> src/components/render/renderer/mod.rs:8:40
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::components::render::color::{Color, ToColor};
[INFO] [stdout]   |                                        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Blend`
[INFO] [stdout]   --> src/components/render/renderer/mod.rs:10:47
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::components::render::stack::State::{Blend, Texture2D};
[INFO] [stdout]    |                                               ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::components::spatial::vec2::Vec2`
[INFO] [stdout]   --> src/components/render/renderer/mod.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use crate::components::spatial::vec2::Vec2;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Duration`
[INFO] [stdout]   --> src/components/render/font/mod.rs:11:17
[INFO] [stdout]    |
[INFO] [stdout] 11 | use std::time::{Duration, Instant};
[INFO] [stdout]    |                 ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Not`
[INFO] [stdout]  --> src/components/render/color.rs:2:21
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::ops::{Mul, Not};
[INFO] [stdout]   |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::components::framework::layer::Layer`
[INFO] [stdout]  --> src/components/render/stack.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::components::framework::layer::Layer;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::time::Instant`
[INFO] [stdout]  --> src/components/wrapper/framebuffer.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::time::Instant;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::components::wrapper::shader::Shader`
[INFO] [stdout]  --> src/components/wrapper/framebuffer.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::components::wrapper::shader::Shader;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]    --> src/components/context.rs:140:1
[INFO] [stdout]     |
[INFO] [stdout] 140 | ;
[INFO] [stdout]     | ^ help: remove this semicolon
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(redundant_semicolons)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `gl::Finish`
[INFO] [stdout]  --> src/components/framework/mod.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use gl::Finish;
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::components::context::context`
[INFO] [stdout]  --> src/components/framework/mod.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::components::context::context;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::components::spatial::vec2::Vec2`
[INFO] [stdout]   --> src/components/framework/mod.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::components::spatial::vec2::Vec2;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::components::wrapper::shader::Shader`
[INFO] [stdout]   --> src/components/framework/mod.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use crate::components::wrapper::shader::Shader;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::components::wrapper::texture::Texture`
[INFO] [stdout]   --> src/components/framework/mod.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use crate::components::wrapper::texture::Texture;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::gl_binds::gl11::RGBA`
[INFO] [stdout]   --> src/components/framework/mod.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use crate::gl_binds::gl11::RGBA;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ActiveTexture`, `BLEND`, `BindTexture`, `Disable`, `Enable`, `TEXTURE0`, `TEXTURE1`, `TEXTURE2`, and `TEXTURE_2D`
[INFO] [stdout]   --> src/components/framework/mod.rs:16:29
[INFO] [stdout]    |
[INFO] [stdout] 16 | ...::{ActiveTexture, BindFramebuffer, BindTexture, Disable, Enable, BLEND, FRAMEBUFFER, TEXTURE0, TEXTURE1, TEXTURE2, TEXTURE_2D};
[INFO] [stdout]    |       ^^^^^^^^^^^^^                   ^^^^^^^^^^^  ^^^^^^^  ^^^^^^  ^^^^^               ^^^^^^^^  ^^^^^^^^  ^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::components::framework::layer::Layer`
[INFO] [stdout]  --> src/components/framework/event.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::components::framework::layer::Layer;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fmt::Debug`
[INFO] [stdout]  --> src/components/framework/element/mod.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::fmt::Debug;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Hash` and `Hasher`
[INFO] [stdout]  --> src/components/framework/element/mod.rs:2:17
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::hash::{Hash, Hasher};
[INFO] [stdout]   |                 ^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::components::render::color::ToColor`
[INFO] [stdout]   --> src/components/framework/element/mod.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use crate::components::render::color::ToColor;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Debug` and `Formatter`
[INFO] [stdout]  --> src/components/framework/layer.rs:2:16
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::fmt::{Debug, Formatter};
[INFO] [stdout]   |                ^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::components::render::color::ToColor`
[INFO] [stdout]  --> src/components/framework/layer.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::components::render::color::ToColor;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::components::render::stack::State::Texture2D`
[INFO] [stdout]  --> src/components/framework/layer.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::components::render::stack::State::Texture2D;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::gl_binds::gl30::BindVertexArray`
[INFO] [stdout]   --> src/components/framework/layer.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | use crate::gl_binds::gl30::BindVertexArray;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> src/components/framework/animation.rs:59:24
[INFO] [stdout]    |
[INFO] [stdout] 59 |                     if (x == 1.) {
[INFO] [stdout]    |                        ^       ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 59 -                     if (x == 1.) {
[INFO] [stdout] 59 +                     if x == 1.  {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> src/components/framework/animation.rs:71:24
[INFO] [stdout]    |
[INFO] [stdout] 71 |                     if (x == 1.) {
[INFO] [stdout]    |                        ^       ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 71 -                     if (x == 1.) {
[INFO] [stdout] 71 +                     if x == 1.  {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ops::Add`
[INFO] [stdout]  --> src/components/editor/mod.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::ops::Add;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::time::Instant`
[INFO] [stdout]  --> src/components/editor/mod.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::time::Instant;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rand::Rng`
[INFO] [stdout]  --> src/components/editor/mod.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use rand::Rng;
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::components::framework::element::ui_traits::UIHandler`
[INFO] [stdout]   --> src/components/editor/mod.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use crate::components::framework::element::ui_traits::UIHandler;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::components::render::color::ToColor`
[INFO] [stdout]   --> src/components/editor/mod.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use crate::components::render::color::ToColor;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Duration`
[INFO] [stdout]  --> src/components/editor/textbox.rs:3:17
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::time::{Duration, Instant};
[INFO] [stdout]   |                 ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Enable` and `Finish`
[INFO] [stdout]   --> src/components/editor/textbox.rs:21:29
[INFO] [stdout]    |
[INFO] [stdout] 21 | use crate::gl_binds::gl11::{Enable, Finish};
[INFO] [stdout]    |                             ^^^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::gl_binds::gl30::FRAMEBUFFER_SRGB`
[INFO] [stdout]   --> src/components/editor/textbox.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 22 | use crate::gl_binds::gl30::FRAMEBUFFER_SRGB;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]    --> src/components/editor/textbox.rs:149:117
[INFO] [stdout]     |
[INFO] [stdout] 149 |         let screen_line = ((screen_pos.y() - self.scroll.1.borrow().value() + offset.y()) / fr_height) as usize - 1;;
[INFO] [stdout]     |                                                                                                                     ^ help: remove this semicolon
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::time::Instant`
[INFO] [stdout]  --> src/components/editor/chunk.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::time::Instant;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]   --> src/components/editor/chunk.rs:91:28
[INFO] [stdout]    |
[INFO] [stdout] 91 |             let x_offset = (start.x - self.start.x);
[INFO] [stdout]    |                            ^                      ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 91 -             let x_offset = (start.x - self.start.x);
[INFO] [stdout] 91 +             let x_offset = start.x - self.start.x ;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]   --> src/components/editor/chunk.rs:96:32
[INFO] [stdout]    |
[INFO] [stdout] 96 |                 let y_offset = (start.y - self.start.y);
[INFO] [stdout]    |                                ^                      ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 96 -                 let y_offset = (start.y - self.start.y);
[INFO] [stdout] 96 +                 let y_offset = start.y - self.start.y ;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around index expression
[INFO] [stdout]    --> src/components/editor/mod.rs:331:39
[INFO] [stdout]     |
[INFO] [stdout] 331 |             let ci = &self.chunk_info[(changed_chunks[0].max(1)-1)];
[INFO] [stdout]     |                                       ^                          ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 331 -             let ci = &self.chunk_info[(changed_chunks[0].max(1)-1)];
[INFO] [stdout] 331 +             let ci = &self.chunk_info[changed_chunks[0].max(1)-1 ];
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/components/spatial/vec4.rs:139:19
[INFO] [stdout]     |
[INFO] [stdout] 139 |         } else if (self.bottom() < y) {
[INFO] [stdout]     |                   ^                 ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 139 -         } else if (self.bottom() < y) {
[INFO] [stdout] 139 +         } else if self.bottom() < y  {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::hash::Hash`
[INFO] [stdout]  --> src/components/spatial/vec2.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::hash::Hash;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `DEBUG_OUTPUT`, `DrawArraysInstanced`, and `QUADS`
[INFO] [stdout]  --> src/components/render/renderer/shapes.rs:2:10
[INFO] [stdout]   |
[INFO] [stdout] 2 | use gl::{DrawArraysInstanced, ARRAY_BUFFER, DEBUG_OUTPUT, FALSE, FLOAT, QUADS};
[INFO] [stdout]   |          ^^^^^^^^^^^^^^^^^^^                ^^^^^^^^^^^^                ^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ToColor`
[INFO] [stdout]  --> src/components/render/renderer/shapes.rs:7:58
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::components::render::color::{Color, To4Colors, ToColor};
[INFO] [stdout]   |                                                          ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `CULL_FACE`, `DEPTH_TEST`, `Disable`, and `Enable`
[INFO] [stdout]   --> src/components/render/renderer/shapes.rs:13:29
[INFO] [stdout]    |
[INFO] [stdout] 13 | use crate::gl_binds::gl11::{Disable, DrawElements, Enable, CULL_FACE, DEPTH_TEST, TRIANGLES, UNSIGNED_INT};
[INFO] [stdout]    |                             ^^^^^^^                ^^^^^^  ^^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `GLsizei`
[INFO] [stdout]   --> src/components/render/renderer/shapes.rs:14:36
[INFO] [stdout]    |
[INFO] [stdout] 14 | use crate::gl_binds::gl11::types::{GLsizei, GLuint};
[INFO] [stdout]    |                                    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Begin`, `BindVertexArray`, `End`, `FRAMEBUFFER_SRGB`, and `Vertex2f`
[INFO] [stdout]   --> src/components/render/renderer/shapes.rs:16:29
[INFO] [stdout]    |
[INFO] [stdout] 16 | use crate::gl_binds::gl30::{Begin, BindVertexArray, End, Vertex2f, FRAMEBUFFER_SRGB};
[INFO] [stdout]    |                             ^^^^^  ^^^^^^^^^^^^^^^  ^^^  ^^^^^^^^  ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::gl_binds::gl41::DrawElementsInstanced`
[INFO] [stdout]   --> src/components/render/renderer/shapes.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | use crate::gl_binds::gl41::DrawElementsInstanced;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Color`
[INFO] [stdout]  --> src/components/render/renderer/mod.rs:8:40
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::components::render::color::{Color, ToColor};
[INFO] [stdout]   |                                        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Blend`
[INFO] [stdout]   --> src/components/render/renderer/mod.rs:10:47
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::components::render::stack::State::{Blend, Texture2D};
[INFO] [stdout]    |                                               ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::components::spatial::vec2::Vec2`
[INFO] [stdout]   --> src/components/render/renderer/mod.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use crate::components::spatial::vec2::Vec2;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Duration`
[INFO] [stdout]   --> src/components/render/font/mod.rs:11:17
[INFO] [stdout]    |
[INFO] [stdout] 11 | use std::time::{Duration, Instant};
[INFO] [stdout]    |                 ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Not`
[INFO] [stdout]  --> src/components/render/color.rs:2:21
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::ops::{Mul, Not};
[INFO] [stdout]   |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::components::framework::layer::Layer`
[INFO] [stdout]  --> src/components/render/stack.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::components::framework::layer::Layer;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::time::Instant`
[INFO] [stdout]  --> src/components/wrapper/framebuffer.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::time::Instant;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::components::wrapper::shader::Shader`
[INFO] [stdout]  --> src/components/wrapper/framebuffer.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::components::wrapper::shader::Shader;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]    --> src/components/context.rs:140:1
[INFO] [stdout]     |
[INFO] [stdout] 140 | ;
[INFO] [stdout]     | ^ help: remove this semicolon
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(redundant_semicolons)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `gl::Finish`
[INFO] [stdout]  --> src/components/framework/mod.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use gl::Finish;
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::components::context::context`
[INFO] [stdout]  --> src/components/framework/mod.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::components::context::context;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::components::spatial::vec2::Vec2`
[INFO] [stdout]   --> src/components/framework/mod.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::components::spatial::vec2::Vec2;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::components::wrapper::shader::Shader`
[INFO] [stdout]   --> src/components/framework/mod.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use crate::components::wrapper::shader::Shader;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::components::wrapper::texture::Texture`
[INFO] [stdout]   --> src/components/framework/mod.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use crate::components::wrapper::texture::Texture;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::gl_binds::gl11::RGBA`
[INFO] [stdout]   --> src/components/framework/mod.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use crate::gl_binds::gl11::RGBA;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ActiveTexture`, `BLEND`, `BindTexture`, `Disable`, `Enable`, `TEXTURE0`, `TEXTURE1`, `TEXTURE2`, and `TEXTURE_2D`
[INFO] [stdout]   --> src/components/framework/mod.rs:16:29
[INFO] [stdout]    |
[INFO] [stdout] 16 | ...::{ActiveTexture, BindFramebuffer, BindTexture, Disable, Enable, BLEND, FRAMEBUFFER, TEXTURE0, TEXTURE1, TEXTURE2, TEXTURE_2D};
[INFO] [stdout]    |       ^^^^^^^^^^^^^                   ^^^^^^^^^^^  ^^^^^^^  ^^^^^^  ^^^^^               ^^^^^^^^  ^^^^^^^^  ^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::components::framework::layer::Layer`
[INFO] [stdout]  --> src/components/framework/event.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::components::framework::layer::Layer;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fmt::Debug`
[INFO] [stdout]  --> src/components/framework/element/mod.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::fmt::Debug;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Hash` and `Hasher`
[INFO] [stdout]  --> src/components/framework/element/mod.rs:2:17
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::hash::{Hash, Hasher};
[INFO] [stdout]   |                 ^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::components::render::color::ToColor`
[INFO] [stdout]   --> src/components/framework/element/mod.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use crate::components::render::color::ToColor;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fmt::Debug`
[INFO] [stdout]  --> src/components/framework/element/comp_element.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::fmt::Debug;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Debug` and `Formatter`
[INFO] [stdout]  --> src/components/framework/layer.rs:2:16
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::fmt::{Debug, Formatter};
[INFO] [stdout]   |                ^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::components::render::color::ToColor`
[INFO] [stdout]  --> src/components/framework/layer.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::components::render::color::ToColor;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::components::render::stack::State::Texture2D`
[INFO] [stdout]  --> src/components/framework/layer.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::components::render::stack::State::Texture2D;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::gl_binds::gl30::BindVertexArray`
[INFO] [stdout]   --> src/components/framework/layer.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | use crate::gl_binds::gl30::BindVertexArray;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> src/components/framework/animation.rs:59:24
[INFO] [stdout]    |
[INFO] [stdout] 59 |                     if (x == 1.) {
[INFO] [stdout]    |                        ^       ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 59 -                     if (x == 1.) {
[INFO] [stdout] 59 +                     if x == 1.  {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> src/components/framework/animation.rs:71:24
[INFO] [stdout]    |
[INFO] [stdout] 71 |                     if (x == 1.) {
[INFO] [stdout]    |                        ^       ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 71 -                     if (x == 1.) {
[INFO] [stdout] 71 +                     if x == 1.  {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ops::Add`
[INFO] [stdout]  --> src/components/editor/mod.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::ops::Add;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::time::Instant`
[INFO] [stdout]  --> src/components/editor/mod.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::time::Instant;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rand::Rng`
[INFO] [stdout]  --> src/components/editor/mod.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use rand::Rng;
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::components::framework::element::ui_traits::UIHandler`
[INFO] [stdout]   --> src/components/editor/mod.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use crate::components::framework::element::ui_traits::UIHandler;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::components::render::color::ToColor`
[INFO] [stdout]   --> src/components/editor/mod.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use crate::components::render::color::ToColor;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Duration`
[INFO] [stdout]  --> src/components/editor/textbox.rs:3:17
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::time::{Duration, Instant};
[INFO] [stdout]   |                 ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Enable` and `Finish`
[INFO] [stdout]   --> src/components/editor/textbox.rs:21:29
[INFO] [stdout]    |
[INFO] [stdout] 21 | use crate::gl_binds::gl11::{Enable, Finish};
[INFO] [stdout]    |                             ^^^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::gl_binds::gl30::FRAMEBUFFER_SRGB`
[INFO] [stdout]   --> src/components/editor/textbox.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 22 | use crate::gl_binds::gl30::FRAMEBUFFER_SRGB;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]    --> src/components/editor/textbox.rs:149:117
[INFO] [stdout]     |
[INFO] [stdout] 149 |         let screen_line = ((screen_pos.y() - self.scroll.1.borrow().value() + offset.y()) / fr_height) as usize - 1;;
[INFO] [stdout]     |                                                                                                                     ^ help: remove this semicolon
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::time::Instant`
[INFO] [stdout]  --> src/components/editor/chunk.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::time::Instant;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]   --> src/components/editor/chunk.rs:91:28
[INFO] [stdout]    |
[INFO] [stdout] 91 |             let x_offset = (start.x - self.start.x);
[INFO] [stdout]    |                            ^                      ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 91 -             let x_offset = (start.x - self.start.x);
[INFO] [stdout] 91 +             let x_offset = start.x - self.start.x ;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]   --> src/components/editor/chunk.rs:96:32
[INFO] [stdout]    |
[INFO] [stdout] 96 |                 let y_offset = (start.y - self.start.y);
[INFO] [stdout]    |                                ^                      ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 96 -                 let y_offset = (start.y - self.start.y);
[INFO] [stdout] 96 +                 let y_offset = start.y - self.start.y ;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around index expression
[INFO] [stdout]    --> src/components/editor/mod.rs:331:39
[INFO] [stdout]     |
[INFO] [stdout] 331 |             let ci = &self.chunk_info[(changed_chunks[0].max(1)-1)];
[INFO] [stdout]     |                                       ^                          ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 331 -             let ci = &self.chunk_info[(changed_chunks[0].max(1)-1)];
[INFO] [stdout] 331 +             let ci = &self.chunk_info[changed_chunks[0].max(1)-1 ];
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Num`
[INFO] [stdout]  --> src/components/spatial/vec4.rs:2:18
[INFO] [stdout]   |
[INFO] [stdout] 2 | use num_traits::{Num, NumCast};
[INFO] [stdout]   |                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/components/spatial/vec4.rs:139:19
[INFO] [stdout]     |
[INFO] [stdout] 139 |         } else if (self.bottom() < y) {
[INFO] [stdout]     |                   ^                 ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 139 -         } else if (self.bottom() < y) {
[INFO] [stdout] 139 +         } else if self.bottom() < y  {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::hash::Hash`
[INFO] [stdout]  --> src/components/spatial/vec2.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::hash::Hash;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/components/render/font/mod.rs:260:34
[INFO] [stdout]     |
[INFO] [stdout] 260 |                         advance: glyph.advance().x >> 6,
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^ expected `i32`, found `i64`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/components/render/font/mod.rs:261:36
[INFO] [stdout]     |
[INFO] [stdout] 261 |                         bearing_x: glyph.metrics().horiBearingX >> 6,
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `i32`, found `i64`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/components/render/font/mod.rs:260:34
[INFO] [stdout]     |
[INFO] [stdout] 260 |                         advance: glyph.advance().x >> 6,
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^ expected `i32`, found `i64`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/components/render/font/mod.rs:261:36
[INFO] [stdout]     |
[INFO] [stdout] 261 |                         bearing_x: glyph.metrics().horiBearingX >> 6,
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `i32`, found `i64`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ToPrimitive`
[INFO] [stdout]  --> src/components/spatial/vec2.rs:5:32
[INFO] [stdout]   |
[INFO] [stdout] 5 | use num_traits::{Num, NumCast, ToPrimitive};
[INFO] [stdout]   |                                ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Num`
[INFO] [stdout]  --> src/components/spatial/vec4.rs:2:18
[INFO] [stdout]   |
[INFO] [stdout] 2 | use num_traits::{Num, NumCast};
[INFO] [stdout]   |                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fmt::Debug`
[INFO] [stdout]  --> src/components/framework/element/comp_element.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::fmt::Debug;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ToPrimitive`
[INFO] [stdout]  --> src/components/spatial/vec2.rs:5:32
[INFO] [stdout]   |
[INFO] [stdout] 5 | use num_traits::{Num, NumCast, ToPrimitive};
[INFO] [stdout]   |                                ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `st`
[INFO] [stdout]   --> src/components/render/font/manager.rs:24:13
[INFO] [stdout]    |
[INFO] [stdout] 24 |         let st = Instant::now();
[INFO] [stdout]    |             ^^ help: if this is intentional, prefix it with an underscore: `_st`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/components/render/font/mod.rs:389:24
[INFO] [stdout]     |
[INFO] [stdout] 389 |     pub unsafe fn load(mut all_bytes: Vec<u8>) -> Self {
[INFO] [stdout]     |                        ----^^^^^^^^^
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `st`
[INFO] [stdout]    --> src/components/render/font/mod.rs:390:13
[INFO] [stdout]     |
[INFO] [stdout] 390 |         let st = Instant::now();
[INFO] [stdout]     |             ^^ help: if this is intentional, prefix it with an underscore: `_st`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `atlas_width` is assigned to, but never used
[INFO] [stdout]    --> src/components/render/font/mod.rs:412:13
[INFO] [stdout]     |
[INFO] [stdout] 412 |         let mut atlas_width = 0f32;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using `_atlas_width` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/components/render/font/mod.rs:417:13
[INFO] [stdout]     |
[INFO] [stdout] 417 |         for i in 0..glyph_count {
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `atlas_width` is never read
[INFO] [stdout]    --> src/components/render/font/mod.rs:458:13
[INFO] [stdout]     |
[INFO] [stdout] 458 |             atlas_width += width;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/components/render/font/mod.rs:670:25
[INFO] [stdout]     |
[INFO] [stdout] 670 |                     let mut dim = dims.get_mut(i).unwrap();
[INFO] [stdout]     |                         ----^^^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `st`
[INFO] [stdout]    --> src/components/render/font/mod.rs:477:13
[INFO] [stdout]     |
[INFO] [stdout] 477 |         let st = Instant::now();
[INFO] [stdout]     |             ^^ help: if this is intentional, prefix it with an underscore: `_st`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `c_w`
[INFO] [stdout]    --> src/components/render/font/mod.rs:604:34
[INFO] [stdout]     |
[INFO] [stdout] 604 | ...                   let (c_w, _c_h, c_a, should_render) = if char == '\t' {
[INFO] [stdout]     |                            ^^^ help: if this is intentional, prefix it with an underscore: `_c_w`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `e` is assigned to, but never used
[INFO] [stdout]    --> src/components/render/font/mod.rs:667:17
[INFO] [stdout]     |
[INFO] [stdout] 667 |             let mut e = 0;
[INFO] [stdout]     |                 ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using `_e` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `et`
[INFO] [stdout]    --> src/components/render/font/mod.rs:682:17
[INFO] [stdout]     |
[INFO] [stdout] 682 |             let et = Instant::now();
[INFO] [stdout]     |                 ^^ help: if this is intentional, prefix it with an underscore: `_et`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `st`
[INFO] [stdout]    --> src/components/render/font/mod.rs:687:17
[INFO] [stdout]     |
[INFO] [stdout] 687 |             let st = Instant::now();
[INFO] [stdout]     |                 ^^ help: if this is intentional, prefix it with an underscore: `_st`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `len`
[INFO] [stdout]    --> src/components/render/font/mod.rs:693:18
[INFO] [stdout]     |
[INFO] [stdout] 693 |             let (len, cap) = (dims.len(), dims.capacity());
[INFO] [stdout]     |                  ^^^ help: if this is intentional, prefix it with an underscore: `_len`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cap`
[INFO] [stdout]    --> src/components/render/font/mod.rs:693:23
[INFO] [stdout]     |
[INFO] [stdout] 693 |             let (len, cap) = (dims.len(), dims.capacity());
[INFO] [stdout]     |                       ^^^ help: if this is intentional, prefix it with an underscore: `_cap`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `e` is never read
[INFO] [stdout]    --> src/components/render/font/mod.rs:677:21
[INFO] [stdout]     |
[INFO] [stdout] 677 |                     e += 1;
[INFO] [stdout]     |                     ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `window`
[INFO] [stdout]   --> src/components/render/mask.rs:22:13
[INFO] [stdout]    |
[INFO] [stdout] 22 |         let window = context().window();
[INFO] [stdout]    |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_window`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `code`
[INFO] [stdout]    --> src/components/context.rs:243:47
[INFO] [stdout]     |
[INFO] [stdout] 243 |                         WindowEvent::Key(key, code, action, mods) => {
[INFO] [stdout]     |                                               ^^^^ help: if this is intentional, prefix it with an underscore: `_code`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `parent_fb_2` is assigned to, but never used
[INFO] [stdout]    --> src/components/context.rs:303:14
[INFO] [stdout]     |
[INFO] [stdout] 303 |         let (mut parent_fb_2, mut parent_tex_2) = (0, 0);
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using `_parent_fb_2` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `parent_fb_2` is never read
[INFO] [stdout]    --> src/components/context.rs:307:14
[INFO] [stdout]     |
[INFO] [stdout] 307 |             (parent_fb_2, parent_tex_2) = blur_fb.bind();
[INFO] [stdout]     |              ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `parent_tex_2` is never read
[INFO] [stdout]    --> src/components/context.rs:303:31
[INFO] [stdout]     |
[INFO] [stdout] 303 |         let (mut parent_fb_2, mut parent_tex_2) = (0, 0);
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/components/framework/element/comp_element.rs:144:13
[INFO] [stdout]     |
[INFO] [stdout] 144 |         let mut new_elements = Rc::new(RefCell::new(HashMap::new()));
[INFO] [stdout]     |             ----^^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/components/framework/element/comp_element.rs:145:13
[INFO] [stdout]     |
[INFO] [stdout] 145 |         let mut elements = Rc::new(RefCell::new(std::mem::take(&mut self.elements)));
[INFO] [stdout]     |             ----^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `id`
[INFO] [stdout]    --> src/components/framework/element/comp_element.rs:206:14
[INFO] [stdout]     |
[INFO] [stdout] 206 |         for (id, el) in &mut self.elements {
[INFO] [stdout]     |              ^^ help: if this is intentional, prefix it with an underscore: `_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `et`
[INFO] [stdout]    --> src/components/framework/element/comp_element.rs:209:13
[INFO] [stdout]     |
[INFO] [stdout] 209 |         let et = st.elapsed();
[INFO] [stdout]     |             ^^ help: if this is intentional, prefix it with an underscore: `_et`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `vao`
[INFO] [stdout]   --> src/components/framework/layer.rs:62:27
[INFO] [stdout]    |
[INFO] [stdout] 62 |         let (fb_id, grid, vao, grid_mask) = self.framebuffers.get_mut(pass).unwrap();
[INFO] [stdout]    |                           ^^^ help: if this is intentional, prefix it with an underscore: `_vao`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `grid_mask`
[INFO] [stdout]   --> src/components/framework/layer.rs:62:32
[INFO] [stdout]    |
[INFO] [stdout] 62 |         let (fb_id, grid, vao, grid_mask) = self.framebuffers.get_mut(pass).unwrap();
[INFO] [stdout]    |                                ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_grid_mask`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/components/framework/layer.rs:95:13
[INFO] [stdout]    |
[INFO] [stdout] 95 |         let mut t_indices: Vec<u32> = Vec::with_capacity(grid.len() * grid.first().unwrap().len());
[INFO] [stdout]    |             ----^^^^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `grid_len_x`
[INFO] [stdout]   --> src/components/framework/layer.rs:84:64
[INFO] [stdout]    |
[INFO] [stdout] 84 |     pub unsafe fn build_grid_vao(&mut self, pass: &RenderPass, grid_len_x: usize, grid_len_y: usize) {
[INFO] [stdout]    |                                                                ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_grid_len_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `grid_len_y`
[INFO] [stdout]   --> src/components/framework/layer.rs:84:83
[INFO] [stdout]    |
[INFO] [stdout] 84 |     pub unsafe fn build_grid_vao(&mut self, pass: &RenderPass, grid_len_x: usize, grid_len_y: usize) {
[INFO] [stdout]    |                                                                                   ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_grid_len_y`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rendered`
[INFO] [stdout]   --> src/components/framework/layer.rs:85:32
[INFO] [stdout]    |
[INFO] [stdout] 85 |         let (fb_id, grid, vao, rendered) = self.framebuffers.get_mut(pass).unwrap();
[INFO] [stdout]    |                                ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_rendered`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `grid_res_x`
[INFO] [stdout]   --> src/components/framework/layer.rs:88:13
[INFO] [stdout]    |
[INFO] [stdout] 88 |         let grid_res_x = fb_res.x as f32 / grid.first().unwrap().len() as f32;
[INFO] [stdout]    |             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_grid_res_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `grid_res_y`
[INFO] [stdout]   --> src/components/framework/layer.rs:89:13
[INFO] [stdout]    |
[INFO] [stdout] 89 |         let grid_res_y = fb_res.y as f32 / grid.len() as f32;
[INFO] [stdout]    |             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_grid_res_y`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `clear`
[INFO] [stdout]    --> src/components/framework/layer.rs:114:98
[INFO] [stdout]     |
[INFO] [stdout] 114 |     pub unsafe fn copy_bind_rects(&mut self, pass: &RenderPass, target_fb: u32, target_tex: u32, clear: bool) {
[INFO] [stdout]     |                                                                                                  ^^^^^ help: if this is intentional, prefix it with an underscore: `_clear`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/components/framework/state.rs:137:17
[INFO] [stdout]     |
[INFO] [stdout] 137 |         for (_, mut sub) in &mut self.sub_registries {
[INFO] [stdout]     |                 ----^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `parent_fb` is never read
[INFO] [stdout]    --> src/components/framework/mod.rs:175:26
[INFO] [stdout]     |
[INFO] [stdout] 175 |                     let (mut parent_fb, mut parent_tex) = (0, 0);
[INFO] [stdout]     |                          ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `parent_tex` is never read
[INFO] [stdout]    --> src/components/framework/mod.rs:175:41
[INFO] [stdout]     |
[INFO] [stdout] 175 |                     let (mut parent_fb, mut parent_tex) = (0, 0);
[INFO] [stdout]     |                                         ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `font`
[INFO] [stdout]   --> src/components/editor/textbox.rs:64:16
[INFO] [stdout]    |
[INFO] [stdout] 64 |     pub fn new(font: impl ToString, text: &String) -> Self {
[INFO] [stdout]    |                ^^^^ help: if this is intentional, prefix it with an underscore: `_font`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/components/editor/textbox.rs:143:13
[INFO] [stdout]     |
[INFO] [stdout] 143 |         let mut offset = self.offset();
[INFO] [stdout]     |             ----^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e_chunk`
[INFO] [stdout]    --> src/components/editor/textbox.rs:154:17
[INFO] [stdout]     |
[INFO] [stdout] 154 |             let e_chunk = &self.editor.chunks[i];
[INFO] [stdout]     |                 ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_e_chunk`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/components/editor/textbox.rs:205:14
[INFO] [stdout]     |
[INFO] [stdout] 205 |         let (mut end_index, end_chunk) = self.editor.pos_index(*pos);
[INFO] [stdout]     |              ----^^^^^^^^^
[INFO] [stdout]     |              |
[INFO] [stdout]     |              help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/components/editor/textbox.rs:215:13
[INFO] [stdout]     |
[INFO] [stdout] 215 |         let mut char_pos = if pos.x == 0 {
[INFO] [stdout]     |             ----^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/components/editor/textbox.rs:250:25
[INFO] [stdout]     |
[INFO] [stdout] 250 |                     for i in 0..self.editor.cursors.len() {
[INFO] [stdout]     |                         ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `drawn`
[INFO] [stdout]    --> src/components/editor/textbox.rs:341:59
[INFO] [stdout]     |
[INFO] [stdout] 341 |                 let (_, mut start_index, mut start_chunk, drawn) = self.cursor_bounds(&cursor.pos, &scroll, fr_height);
[INFO] [stdout]     |                                                           ^^^^^ help: if this is intentional, prefix it with an underscore: `_drawn`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `start_pos` is assigned to, but never used
[INFO] [stdout]    --> src/components/editor/textbox.rs:359:21
[INFO] [stdout]     |
[INFO] [stdout] 359 |                 let mut start_pos = {
[INFO] [stdout]     |                     ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using `_start_pos` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `local_start`
[INFO] [stdout]    --> src/components/editor/textbox.rs:374:30
[INFO] [stdout]     |
[INFO] [stdout] 374 |                         let (local_start, local_end) = (start - i_chunk.ind_start, end - i_chunk.ind_start);
[INFO] [stdout]     |                              ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_local_start`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `local_end`
[INFO] [stdout]    --> src/components/editor/textbox.rs:374:43
[INFO] [stdout]     |
[INFO] [stdout] 374 |                         let (local_start, local_end) = (start - i_chunk.ind_start, end - i_chunk.ind_start);
[INFO] [stdout]     |                                           ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_local_end`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `button`
[INFO] [stdout]    --> src/components/editor/textbox.rs:531:31
[INFO] [stdout]     |
[INFO] [stdout] 531 |             Event::MouseClick(button, action) => {
[INFO] [stdout]     |                               ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: you might have meant to pattern match on the similarly named variant `Button1`
[INFO] [stdout]     |
[INFO] [stdout] 531 -             Event::MouseClick(button, action) => {
[INFO] [stdout] 531 +             Event::MouseClick(glfw::MouseButtonLeft, action) => {
[INFO] [stdout]     |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]     |
[INFO] [stdout] 531 |             Event::MouseClick(_button, action) => {
[INFO] [stdout]     |                               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `d`
[INFO] [stdout]    --> src/components/editor/textbox.rs:545:13
[INFO] [stdout]     |
[INFO] [stdout] 545 |         let d = st.elapsed();
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_d`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `start_pos` is never read
[INFO] [stdout]    --> src/components/editor/textbox.rs:391:37
[INFO] [stdout]     |
[INFO] [stdout] 391 | ...                   start_pos = end_pos;
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `start_pos` is never read
[INFO] [stdout]    --> src/components/editor/textbox.rs:389:37
[INFO] [stdout]     |
[INFO] [stdout] 389 | ...                   start_pos = 0.0;
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `end_pos` is never read
[INFO] [stdout]    --> src/components/editor/textbox.rs:365:35
[INFO] [stdout]     |
[INFO] [stdout] 365 |                 let mut end_pos = self.render_chunks[start_chunk].text.char_positions()[0][0];
[INFO] [stdout]     |                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `render_pass`
[INFO] [stdout]    --> src/components/editor/textbox.rs:559:40
[INFO] [stdout]     |
[INFO] [stdout] 559 |     unsafe fn should_render(&mut self, render_pass: &RenderPass) -> bool {
[INFO] [stdout]     |                                        ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_render_pass`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/components/editor/chunk.rs:118:13
[INFO] [stdout]     |
[INFO] [stdout] 118 |         let mut c = Chunk {
[INFO] [stdout]     |             ----^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `i` is assigned to, but never used
[INFO] [stdout]    --> src/components/editor/mod.rs:125:17
[INFO] [stdout]     |
[INFO] [stdout] 125 |             let mut i = 0;
[INFO] [stdout]     |                 ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using `_i` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `w`
[INFO] [stdout]    --> src/components/editor/mod.rs:139:21
[INFO] [stdout]     |
[INFO] [stdout] 139 |                 let w = ind_end - ind_start;
[INFO] [stdout]     |                     ^ help: if this is intentional, prefix it with an underscore: `_w`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `i` is never read
[INFO] [stdout]    --> src/components/editor/mod.rs:153:17
[INFO] [stdout]     |
[INFO] [stdout] 153 |                 i += 1;
[INFO] [stdout]     |                 ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `new_line`
[INFO] [stdout]    --> src/components/editor/mod.rs:171:44
[INFO] [stdout]     |
[INFO] [stdout] 171 |                 for (line_start, line_end, new_line) in &ci.lines {
[INFO] [stdout]     |                                            ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_new_line`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `char_index` is never read
[INFO] [stdout]    --> src/components/editor/mod.rs:164:30
[INFO] [stdout]     |
[INFO] [stdout] 164 |         let mut char_index = 0;
[INFO] [stdout]     |                              ^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/components/editor/mod.rs:274:17
[INFO] [stdout]     |
[INFO] [stdout] 274 |             let mut tmp = mem::take(&mut self.chunks[chunk].str);
[INFO] [stdout]     |                 ----^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `st`
[INFO] [stdout]   --> src/components/render/font/manager.rs:24:13
[INFO] [stdout]    |
[INFO] [stdout] 24 |         let st = Instant::now();
[INFO] [stdout]    |             ^^ help: if this is intentional, prefix it with an underscore: `_st`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0308`.
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/components/render/font/mod.rs:389:24
[INFO] [stdout]     |
[INFO] [stdout] 389 |     pub unsafe fn load(mut all_bytes: Vec<u8>) -> Self {
[INFO] [stdout]     |                        ----^^^^^^^^^
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `st`
[INFO] [stdout]    --> src/components/render/font/mod.rs:390:13
[INFO] [stdout]     |
[INFO] [stdout] 390 |         let st = Instant::now();
[INFO] [stdout]     |             ^^ help: if this is intentional, prefix it with an underscore: `_st`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `atlas_width` is assigned to, but never used
[INFO] [stdout]    --> src/components/render/font/mod.rs:412:13
[INFO] [stdout]     |
[INFO] [stdout] 412 |         let mut atlas_width = 0f32;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using `_atlas_width` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/components/render/font/mod.rs:417:13
[INFO] [stdout]     |
[INFO] [stdout] 417 |         for i in 0..glyph_count {
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `atlas_width` is never read
[INFO] [stdout]    --> src/components/render/font/mod.rs:458:13
[INFO] [stdout]     |
[INFO] [stdout] 458 |             atlas_width += width;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/components/render/font/mod.rs:670:25
[INFO] [stdout]     |
[INFO] [stdout] 670 |                     let mut dim = dims.get_mut(i).unwrap();
[INFO] [stdout]     |                         ----^^^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `st`
[INFO] [stdout]    --> src/components/render/font/mod.rs:477:13
[INFO] [stdout]     |
[INFO] [stdout] 477 |         let st = Instant::now();
[INFO] [stdout]     |             ^^ help: if this is intentional, prefix it with an underscore: `_st`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `c_w`
[INFO] [stdout]    --> src/components/render/font/mod.rs:604:34
[INFO] [stdout]     |
[INFO] [stdout] 604 | ...                   let (c_w, _c_h, c_a, should_render) = if char == '\t' {
[INFO] [stdout]     |                            ^^^ help: if this is intentional, prefix it with an underscore: `_c_w`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `e` is assigned to, but never used
[INFO] [stdout]    --> src/components/render/font/mod.rs:667:17
[INFO] [stdout]     |
[INFO] [stdout] 667 |             let mut e = 0;
[INFO] [stdout]     |                 ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using `_e` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `et`
[INFO] [stdout]    --> src/components/render/font/mod.rs:682:17
[INFO] [stdout]     |
[INFO] [stdout] 682 |             let et = Instant::now();
[INFO] [stdout]     |                 ^^ help: if this is intentional, prefix it with an underscore: `_et`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `st`
[INFO] [stdout]    --> src/components/render/font/mod.rs:687:17
[INFO] [stdout]     |
[INFO] [stdout] 687 |             let st = Instant::now();
[INFO] [stdout]     |                 ^^ help: if this is intentional, prefix it with an underscore: `_st`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `len`
[INFO] [stdout]    --> src/components/render/font/mod.rs:693:18
[INFO] [stdout]     |
[INFO] [stdout] 693 |             let (len, cap) = (dims.len(), dims.capacity());
[INFO] [stdout]     |                  ^^^ help: if this is intentional, prefix it with an underscore: `_len`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cap`
[INFO] [stdout]    --> src/components/render/font/mod.rs:693:23
[INFO] [stdout]     |
[INFO] [stdout] 693 |             let (len, cap) = (dims.len(), dims.capacity());
[INFO] [stdout]     |                       ^^^ help: if this is intentional, prefix it with an underscore: `_cap`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `e` is never read
[INFO] [stdout]    --> src/components/render/font/mod.rs:677:21
[INFO] [stdout]     |
[INFO] [stdout] 677 |                     e += 1;
[INFO] [stdout]     |                     ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `window`
[INFO] [stdout]   --> src/components/render/mask.rs:22:13
[INFO] [stdout]    |
[INFO] [stdout] 22 |         let window = context().window();
[INFO] [stdout]    |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_window`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `ferrum` (lib) due to 2 previous errors; 109 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] warning: unused variable: `code`
[INFO] [stdout]    --> src/components/context.rs:243:47
[INFO] [stdout]     |
[INFO] [stdout] 243 |                         WindowEvent::Key(key, code, action, mods) => {
[INFO] [stdout]     |                                               ^^^^ help: if this is intentional, prefix it with an underscore: `_code`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `parent_fb_2` is assigned to, but never used
[INFO] [stdout]    --> src/components/context.rs:303:14
[INFO] [stdout]     |
[INFO] [stdout] 303 |         let (mut parent_fb_2, mut parent_tex_2) = (0, 0);
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using `_parent_fb_2` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `parent_fb_2` is never read
[INFO] [stdout]    --> src/components/context.rs:307:14
[INFO] [stdout]     |
[INFO] [stdout] 307 |             (parent_fb_2, parent_tex_2) = blur_fb.bind();
[INFO] [stdout]     |              ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `parent_tex_2` is never read
[INFO] [stdout]    --> src/components/context.rs:303:31
[INFO] [stdout]     |
[INFO] [stdout] 303 |         let (mut parent_fb_2, mut parent_tex_2) = (0, 0);
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/components/framework/element/comp_element.rs:144:13
[INFO] [stdout]     |
[INFO] [stdout] 144 |         let mut new_elements = Rc::new(RefCell::new(HashMap::new()));
[INFO] [stdout]     |             ----^^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/components/framework/element/comp_element.rs:145:13
[INFO] [stdout]     |
[INFO] [stdout] 145 |         let mut elements = Rc::new(RefCell::new(std::mem::take(&mut self.elements)));
[INFO] [stdout]     |             ----^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `id`
[INFO] [stdout]    --> src/components/framework/element/comp_element.rs:206:14
[INFO] [stdout]     |
[INFO] [stdout] 206 |         for (id, el) in &mut self.elements {
[INFO] [stdout]     |              ^^ help: if this is intentional, prefix it with an underscore: `_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `et`
[INFO] [stdout]    --> src/components/framework/element/comp_element.rs:209:13
[INFO] [stdout]     |
[INFO] [stdout] 209 |         let et = st.elapsed();
[INFO] [stdout]     |             ^^ help: if this is intentional, prefix it with an underscore: `_et`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `vao`
[INFO] [stdout]   --> src/components/framework/layer.rs:62:27
[INFO] [stdout]    |
[INFO] [stdout] 62 |         let (fb_id, grid, vao, grid_mask) = self.framebuffers.get_mut(pass).unwrap();
[INFO] [stdout]    |                           ^^^ help: if this is intentional, prefix it with an underscore: `_vao`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `grid_mask`
[INFO] [stdout]   --> src/components/framework/layer.rs:62:32
[INFO] [stdout]    |
[INFO] [stdout] 62 |         let (fb_id, grid, vao, grid_mask) = self.framebuffers.get_mut(pass).unwrap();
[INFO] [stdout]    |                                ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_grid_mask`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/components/framework/layer.rs:95:13
[INFO] [stdout]    |
[INFO] [stdout] 95 |         let mut t_indices: Vec<u32> = Vec::with_capacity(grid.len() * grid.first().unwrap().len());
[INFO] [stdout]    |             ----^^^^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `grid_len_x`
[INFO] [stdout]   --> src/components/framework/layer.rs:84:64
[INFO] [stdout]    |
[INFO] [stdout] 84 |     pub unsafe fn build_grid_vao(&mut self, pass: &RenderPass, grid_len_x: usize, grid_len_y: usize) {
[INFO] [stdout]    |                                                                ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_grid_len_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `grid_len_y`
[INFO] [stdout]   --> src/components/framework/layer.rs:84:83
[INFO] [stdout]    |
[INFO] [stdout] 84 |     pub unsafe fn build_grid_vao(&mut self, pass: &RenderPass, grid_len_x: usize, grid_len_y: usize) {
[INFO] [stdout]    |                                                                                   ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_grid_len_y`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rendered`
[INFO] [stdout]   --> src/components/framework/layer.rs:85:32
[INFO] [stdout]    |
[INFO] [stdout] 85 |         let (fb_id, grid, vao, rendered) = self.framebuffers.get_mut(pass).unwrap();
[INFO] [stdout]    |                                ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_rendered`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `grid_res_x`
[INFO] [stdout]   --> src/components/framework/layer.rs:88:13
[INFO] [stdout]    |
[INFO] [stdout] 88 |         let grid_res_x = fb_res.x as f32 / grid.first().unwrap().len() as f32;
[INFO] [stdout]    |             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_grid_res_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `grid_res_y`
[INFO] [stdout]   --> src/components/framework/layer.rs:89:13
[INFO] [stdout]    |
[INFO] [stdout] 89 |         let grid_res_y = fb_res.y as f32 / grid.len() as f32;
[INFO] [stdout]    |             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_grid_res_y`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `clear`
[INFO] [stdout]    --> src/components/framework/layer.rs:114:98
[INFO] [stdout]     |
[INFO] [stdout] 114 |     pub unsafe fn copy_bind_rects(&mut self, pass: &RenderPass, target_fb: u32, target_tex: u32, clear: bool) {
[INFO] [stdout]     |                                                                                                  ^^^^^ help: if this is intentional, prefix it with an underscore: `_clear`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/components/framework/state.rs:137:17
[INFO] [stdout]     |
[INFO] [stdout] 137 |         for (_, mut sub) in &mut self.sub_registries {
[INFO] [stdout]     |                 ----^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `parent_fb` is never read
[INFO] [stdout]    --> src/components/framework/mod.rs:175:26
[INFO] [stdout]     |
[INFO] [stdout] 175 |                     let (mut parent_fb, mut parent_tex) = (0, 0);
[INFO] [stdout]     |                          ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `parent_tex` is never read
[INFO] [stdout]    --> src/components/framework/mod.rs:175:41
[INFO] [stdout]     |
[INFO] [stdout] 175 |                     let (mut parent_fb, mut parent_tex) = (0, 0);
[INFO] [stdout]     |                                         ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `font`
[INFO] [stdout]   --> src/components/editor/textbox.rs:64:16
[INFO] [stdout]    |
[INFO] [stdout] 64 |     pub fn new(font: impl ToString, text: &String) -> Self {
[INFO] [stdout]    |                ^^^^ help: if this is intentional, prefix it with an underscore: `_font`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/components/editor/textbox.rs:143:13
[INFO] [stdout]     |
[INFO] [stdout] 143 |         let mut offset = self.offset();
[INFO] [stdout]     |             ----^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e_chunk`
[INFO] [stdout]    --> src/components/editor/textbox.rs:154:17
[INFO] [stdout]     |
[INFO] [stdout] 154 |             let e_chunk = &self.editor.chunks[i];
[INFO] [stdout]     |                 ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_e_chunk`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/components/editor/textbox.rs:205:14
[INFO] [stdout]     |
[INFO] [stdout] 205 |         let (mut end_index, end_chunk) = self.editor.pos_index(*pos);
[INFO] [stdout]     |              ----^^^^^^^^^
[INFO] [stdout]     |              |
[INFO] [stdout]     |              help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/components/editor/textbox.rs:215:13
[INFO] [stdout]     |
[INFO] [stdout] 215 |         let mut char_pos = if pos.x == 0 {
[INFO] [stdout]     |             ----^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/components/editor/textbox.rs:250:25
[INFO] [stdout]     |
[INFO] [stdout] 250 |                     for i in 0..self.editor.cursors.len() {
[INFO] [stdout]     |                         ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `drawn`
[INFO] [stdout]    --> src/components/editor/textbox.rs:341:59
[INFO] [stdout]     |
[INFO] [stdout] 341 |                 let (_, mut start_index, mut start_chunk, drawn) = self.cursor_bounds(&cursor.pos, &scroll, fr_height);
[INFO] [stdout]     |                                                           ^^^^^ help: if this is intentional, prefix it with an underscore: `_drawn`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `start_pos` is assigned to, but never used
[INFO] [stdout]    --> src/components/editor/textbox.rs:359:21
[INFO] [stdout]     |
[INFO] [stdout] 359 |                 let mut start_pos = {
[INFO] [stdout]     |                     ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using `_start_pos` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `local_start`
[INFO] [stdout]    --> src/components/editor/textbox.rs:374:30
[INFO] [stdout]     |
[INFO] [stdout] 374 |                         let (local_start, local_end) = (start - i_chunk.ind_start, end - i_chunk.ind_start);
[INFO] [stdout]     |                              ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_local_start`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `local_end`
[INFO] [stdout]    --> src/components/editor/textbox.rs:374:43
[INFO] [stdout]     |
[INFO] [stdout] 374 |                         let (local_start, local_end) = (start - i_chunk.ind_start, end - i_chunk.ind_start);
[INFO] [stdout]     |                                           ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_local_end`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `button`
[INFO] [stdout]    --> src/components/editor/textbox.rs:531:31
[INFO] [stdout]     |
[INFO] [stdout] 531 |             Event::MouseClick(button, action) => {
[INFO] [stdout]     |                               ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: you might have meant to pattern match on the similarly named variant `Button1`
[INFO] [stdout]     |
[INFO] [stdout] 531 -             Event::MouseClick(button, action) => {
[INFO] [stdout] 531 +             Event::MouseClick(glfw::MouseButtonLeft, action) => {
[INFO] [stdout]     |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]     |
[INFO] [stdout] 531 |             Event::MouseClick(_button, action) => {
[INFO] [stdout]     |                               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `d`
[INFO] [stdout]    --> src/components/editor/textbox.rs:545:13
[INFO] [stdout]     |
[INFO] [stdout] 545 |         let d = st.elapsed();
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_d`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `start_pos` is never read
[INFO] [stdout]    --> src/components/editor/textbox.rs:391:37
[INFO] [stdout]     |
[INFO] [stdout] 391 | ...                   start_pos = end_pos;
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `start_pos` is never read
[INFO] [stdout]    --> src/components/editor/textbox.rs:389:37
[INFO] [stdout]     |
[INFO] [stdout] 389 | ...                   start_pos = 0.0;
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `end_pos` is never read
[INFO] [stdout]    --> src/components/editor/textbox.rs:365:35
[INFO] [stdout]     |
[INFO] [stdout] 365 |                 let mut end_pos = self.render_chunks[start_chunk].text.char_positions()[0][0];
[INFO] [stdout]     |                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `render_pass`
[INFO] [stdout]    --> src/components/editor/textbox.rs:559:40
[INFO] [stdout]     |
[INFO] [stdout] 559 |     unsafe fn should_render(&mut self, render_pass: &RenderPass) -> bool {
[INFO] [stdout]     |                                        ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_render_pass`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/components/editor/chunk.rs:118:13
[INFO] [stdout]     |
[INFO] [stdout] 118 |         let mut c = Chunk {
[INFO] [stdout]     |             ----^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `i` is assigned to, but never used
[INFO] [stdout]    --> src/components/editor/mod.rs:125:17
[INFO] [stdout]     |
[INFO] [stdout] 125 |             let mut i = 0;
[INFO] [stdout]     |                 ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using `_i` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `w`
[INFO] [stdout]    --> src/components/editor/mod.rs:139:21
[INFO] [stdout]     |
[INFO] [stdout] 139 |                 let w = ind_end - ind_start;
[INFO] [stdout]     |                     ^ help: if this is intentional, prefix it with an underscore: `_w`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `i` is never read
[INFO] [stdout]    --> src/components/editor/mod.rs:153:17
[INFO] [stdout]     |
[INFO] [stdout] 153 |                 i += 1;
[INFO] [stdout]     |                 ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `new_line`
[INFO] [stdout]    --> src/components/editor/mod.rs:171:44
[INFO] [stdout]     |
[INFO] [stdout] 171 |                 for (line_start, line_end, new_line) in &ci.lines {
[INFO] [stdout]     |                                            ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_new_line`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `char_index` is never read
[INFO] [stdout]    --> src/components/editor/mod.rs:164:30
[INFO] [stdout]     |
[INFO] [stdout] 164 |         let mut char_index = 0;
[INFO] [stdout]     |                              ^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/components/editor/mod.rs:274:17
[INFO] [stdout]     |
[INFO] [stdout] 274 |             let mut tmp = mem::take(&mut self.chunks[chunk].str);
[INFO] [stdout]     |                 ----^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0308`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `ferrum` (lib test) due to 2 previous errors; 109 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "8cfc02d358980347bc4b96f534036ff7d82c391b83f799251747c36b15e2f047", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "8cfc02d358980347bc4b96f534036ff7d82c391b83f799251747c36b15e2f047", kill_on_drop: false }`
[INFO] [stdout] 8cfc02d358980347bc4b96f534036ff7d82c391b83f799251747c36b15e2f047
