[INFO] cloning repository https://github.com/maeln/peglrs-pyqt-editor
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/maeln/peglrs-pyqt-editor" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmaeln%2Fpeglrs-pyqt-editor", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmaeln%2Fpeglrs-pyqt-editor'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 48f9d9ef6360c1b6b69327d2cd1ecf8a6da2098b
[INFO] checking maeln/peglrs-pyqt-editor against try#163937523761cc0def32f1ba9ed63fdf65ad3478 for pr-156749
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmaeln%2Fpeglrs-pyqt-editor" "/workspace/builds/worker-5-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/maeln/peglrs-pyqt-editor
[INFO] finished tweaking git repo https://github.com/maeln/peglrs-pyqt-editor
[INFO] tweaked toml for git repo https://github.com/maeln/peglrs-pyqt-editor written to /workspace/builds/worker-5-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/maeln/peglrs-pyqt-editor on toolchain 163937523761cc0def32f1ba9ed63fdf65ad3478
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+163937523761cc0def32f1ba9ed63fdf65ad3478" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/maeln/peglrs-pyqt-editor 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" "+163937523761cc0def32f1ba9ed63fdf65ad3478" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,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" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3e793bdf10248eb2ddbd6b0faebed8155c11b4589982e2893733958d93e8d540" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 0a3136621eca030f34d2eeb3ab35dd102212441b7d0805481286c376f16df396
[INFO] running `Command { std: "docker" "start" "0a3136621eca030f34d2eeb3ab35dd102212441b7d0805481286c376f16df396", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "0a3136621eca030f34d2eeb3ab35dd102212441b7d0805481286c376f16df396" "/opt/rustwide/cargo-home/bin/cargo" "+163937523761cc0def32f1ba9ed63fdf65ad3478" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "0a3136621eca030f34d2eeb3ab35dd102212441b7d0805481286c376f16df396", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-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" "-w" "/opt/rustwide/workdir" "--user" "0:0" "0a3136621eca030f34d2eeb3ab35dd102212441b7d0805481286c376f16df396" "/opt/rustwide/cargo-home/bin/cargo" "+163937523761cc0def32f1ba9ed63fdf65ad3478" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.50
[INFO] [stderr]    Compiling cc v1.0.31
[INFO] [stderr]    Compiling cfg-if v0.1.7
[INFO] [stderr]    Compiling proc-macro2 v0.4.27
[INFO] [stderr]     Checking approx v0.3.2
[INFO] [stderr]     Checking ordered-float v1.0.2
[INFO] [stderr]     Checking stb_truetype v0.2.6
[INFO] [stderr]    Compiling nix v0.13.0
[INFO] [stderr]    Compiling cgmath v0.17.0
[INFO] [stderr]    Compiling log v0.4.6
[INFO] [stderr]     Checking rusttype v0.7.5
[INFO] [stderr]    Compiling gl_generator v0.10.0
[INFO] [stderr]     Checking rand_os v0.1.3
[INFO] [stderr]     Checking nix v0.12.0
[INFO] [stderr]     Checking x11-dl v2.18.3
[INFO] [stderr]     Checking memmap v0.7.0
[INFO] [stderr]     Checking shared_library v0.1.9
[INFO] [stderr]     Checking rand v0.6.5
[INFO] [stderr]     Checking andrew v0.2.0
[INFO] [stderr]     Checking osmesa-sys v0.1.2
[INFO] [stderr]    Compiling quote v0.6.11
[INFO] [stderr]    Compiling gl v0.11.0
[INFO] [stderr]    Compiling glutin_egl_sys v0.1.2
[INFO] [stderr]    Compiling glutin_glx_sys v0.1.2
[INFO] [stderr]    Compiling wayland-scanner v0.21.11
[INFO] [stderr]    Compiling libloading v0.5.0
[INFO] [stderr]    Compiling gl_loader v0.0.4
[INFO] [stderr]     Checking dlib v0.4.1
[INFO] [stderr]     Checking parking_lot_core v0.4.0
[INFO] [stderr]     Checking wayland-sys v0.21.11
[INFO] [stderr]     Checking parking_lot v0.7.1
[INFO] [stderr]     Checking wayland-commons v0.21.11
[INFO] [stderr]    Compiling wayland-client v0.21.11
[INFO] [stderr]    Compiling wayland-protocols v0.21.11
[INFO] [stderr]     Checking peglrs v0.1.0 (/opt/rustwide/workdir/peglrs)
[INFO] [stdout] warning: unused imports: `Deg` and `perspective`
[INFO] [stdout]  --> peglrs/src/camera/mod.rs:2:14
[INFO] [stdout]   |
[INFO] [stdout] 2 | use cgmath::{perspective, Deg, Matrix4, Point3, Vector3};
[INFO] [stdout]   |              ^^^^^^^^^^^  ^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `RGBA_8B` should have an upper camel case name
[INFO] [stdout]  --> peglrs/src/frame/fbo.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 |     RGBA_8B,
[INFO] [stdout]   |     ^^^^^^^ help: convert the identifier to upper camel case: `Rgba8b`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(non_camel_case_types)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `RGBA_16F` should have an upper camel case name
[INFO] [stdout]  --> peglrs/src/frame/fbo.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 |     RGBA_16F,
[INFO] [stdout]   |     ^^^^^^^^ help: convert the identifier to upper camel case: `Rgba16f`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `DEPTH24_STENCIL8` should have an upper camel case name
[INFO] [stdout]  --> peglrs/src/frame/fbo.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 |     DEPTH24_STENCIL8,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `Depth24Stencil8`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AtomicBool` and `Ordering`
[INFO] [stdout]  --> peglrs/src/shaders/shader_loader.rs:9:25
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::sync::atomic::{AtomicBool, Ordering};
[INFO] [stdout]   |                         ^^^^^^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]   --> peglrs/src/lib.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use std::sync::Arc;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Program` and `Shader`
[INFO] [stdout]   --> peglrs/src/lib.rs:17:15
[INFO] [stdout]    |
[INFO] [stdout] 17 | use shaders::{Program, Shader};
[INFO] [stdout]    |               ^^^^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Deg` and `perspective`
[INFO] [stdout]  --> peglrs/src/camera/mod.rs:2:14
[INFO] [stdout]   |
[INFO] [stdout] 2 | use cgmath::{perspective, Deg, Matrix4, Point3, Vector3};
[INFO] [stdout]   |              ^^^^^^^^^^^  ^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `RGBA_8B` should have an upper camel case name
[INFO] [stdout]  --> peglrs/src/frame/fbo.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 |     RGBA_8B,
[INFO] [stdout]   |     ^^^^^^^ help: convert the identifier to upper camel case: `Rgba8b`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(non_camel_case_types)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `RGBA_16F` should have an upper camel case name
[INFO] [stdout]  --> peglrs/src/frame/fbo.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 |     RGBA_16F,
[INFO] [stdout]   |     ^^^^^^^^ help: convert the identifier to upper camel case: `Rgba16f`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `DEPTH24_STENCIL8` should have an upper camel case name
[INFO] [stdout]  --> peglrs/src/frame/fbo.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 |     DEPTH24_STENCIL8,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `Depth24Stencil8`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AtomicBool` and `Ordering`
[INFO] [stdout]  --> peglrs/src/shaders/shader_loader.rs:9:25
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::sync::atomic::{AtomicBool, Ordering};
[INFO] [stdout]   |                         ^^^^^^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]   --> peglrs/src/lib.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use std::sync::Arc;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Program` and `Shader`
[INFO] [stdout]   --> peglrs/src/lib.rs:17:15
[INFO] [stdout]    |
[INFO] [stdout] 17 | use shaders::{Program, Shader};
[INFO] [stdout]    |               ^^^^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `id`
[INFO] [stdout]   --> peglrs/src/shaders/shader_loader.rs:82:14
[INFO] [stdout]    |
[INFO] [stdout] 82 |         for (id, program) in program_borrow.iter() {
[INFO] [stdout]    |              ^^ help: if this is intentional, prefix it with an underscore: `_id`
[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]    --> peglrs/src/shaders/shader_loader.rs:135:13
[INFO] [stdout]     |
[INFO] [stdout] 135 |         let mut db = self.db.lock().unwrap();
[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: `location`
[INFO] [stdout]    --> peglrs/src/shaders/shader_loader.rs:338:25
[INFO] [stdout]     |
[INFO] [stdout] 338 |                     let location = gl::GetUniformLocation(addr, uniform_cstr.as_ptr());
[INFO] [stdout]     |                         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_location`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `id`
[INFO] [stdout]   --> peglrs/src/shaders/shader_loader.rs:82:14
[INFO] [stdout]    |
[INFO] [stdout] 82 |         for (id, program) in program_borrow.iter() {
[INFO] [stdout]    |              ^^ help: if this is intentional, prefix it with an underscore: `_id`
[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]    --> peglrs/src/shaders/shader_loader.rs:135:13
[INFO] [stdout]     |
[INFO] [stdout] 135 |         let mut db = self.db.lock().unwrap();
[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: `location`
[INFO] [stdout]    --> peglrs/src/shaders/shader_loader.rs:338:25
[INFO] [stdout]     |
[INFO] [stdout] 338 |                     let location = gl::GetUniformLocation(addr, uniform_cstr.as_ptr());
[INFO] [stdout]     |                         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_location`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]   --> peglrs/src/shaders/mod.rs:68:9
[INFO] [stdout]    |
[INFO] [stdout] 68 |         _ => None,
[INFO] [stdout]    |         ^ no value can reach this
[INFO] [stdout]    |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]   --> peglrs/src/shaders/mod.rs:68:9
[INFO] [stdout]    |
[INFO] [stdout] 64 |         ShaderType::VERTEX => Some(gl::VERTEX_SHADER),
[INFO] [stdout]    |         ------------------ matches some of the same values
[INFO] [stdout] 65 |         ShaderType::FRAGMENT => Some(gl::FRAGMENT_SHADER),
[INFO] [stdout]    |         -------------------- matches some of the same values
[INFO] [stdout] 66 |         ShaderType::GEOMETRY => Some(gl::GEOMETRY_SHADER),
[INFO] [stdout]    |         -------------------- matches some of the same values
[INFO] [stdout] 67 |         ShaderType::COMPUTE => Some(gl::COMPUTE_SHADER),
[INFO] [stdout]    |         ------------------- matches some of the same values
[INFO] [stdout] 68 |         _ => None,
[INFO] [stdout]    |         ^ collectively making this unreachable
[INFO] [stdout]    = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> peglrs/src/lib.rs:104:9
[INFO] [stdout]     |
[INFO] [stdout] 104 |     let mut model = Matrix4::<f32>::identity();
[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]    --> peglrs/src/lib.rs:105:9
[INFO] [stdout]     |
[INFO] [stdout] 105 |     let mut projection: Matrix4<f32> =
[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]    --> peglrs/src/lib.rs:108:9
[INFO] [stdout]     |
[INFO] [stdout] 108 |     let mut cam = Camera::new(
[INFO] [stdout]     |         ----^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `time`
[INFO] [stdout]    --> peglrs/src/lib.rs:143:21
[INFO] [stdout]     |
[INFO] [stdout] 143 | pub fn display_loop(time: f64, fbo: u32) {
[INFO] [stdout]     |                     ^^^^ help: if this is intentional, prefix it with an underscore: `_time`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Frame` is never used
[INFO] [stdout]  --> peglrs/src/frame/mod.rs:5:11
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub trait Frame {
[INFO] [stdout]   |           ^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `ColorAttachment` is never used
[INFO] [stdout]  --> peglrs/src/frame/fbo.rs:2:10
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub enum ColorAttachment {
[INFO] [stdout]   |          ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `DepthStencilAttachment` is never used
[INFO] [stdout]  --> peglrs/src/frame/fbo.rs:8:10
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub enum DepthStencilAttachment {
[INFO] [stdout]   |          ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Framebuffer` is never constructed
[INFO] [stdout]   --> peglrs/src/frame/fbo.rs:13:12
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub struct Framebuffer {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `make_color_attachment` is never used
[INFO] [stdout]   --> peglrs/src/frame/fbo.rs:21:8
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub fn make_color_attachment(attachment_type: &ColorAttachment, width: i32, height: i32) -> u32 {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `make_depth_stencil_attachment` is never used
[INFO] [stdout]   --> peglrs/src/frame/fbo.rs:74:8
[INFO] [stdout]    |
[INFO] [stdout] 74 | pub fn make_depth_stencil_attachment(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `new`, `new_ldr`, and `new_hdr` are never used
[INFO] [stdout]    --> peglrs/src/frame/fbo.rs:110:12
[INFO] [stdout]     |
[INFO] [stdout] 109 | impl Framebuffer {
[INFO] [stdout]     | ---------------- associated functions in this implementation
[INFO] [stdout] 110 |     pub fn new(
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 148 |     pub fn new_ldr(width: i32, height: i32) -> Framebuffer {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 157 |     pub fn new_hdr(width: i32, height: i32) -> Framebuffer {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DrawableObject` is never constructed
[INFO] [stdout]  --> peglrs/src/scene/mod.rs:7:8
[INFO] [stdout]   |
[INFO] [stdout] 7 | struct DrawableObject {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `draw` is never used
[INFO] [stdout]   --> peglrs/src/scene/mod.rs:13:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | impl DrawableObject {
[INFO] [stdout]    | ------------------- associated function in this implementation
[INFO] [stdout] 13 |     pub fn draw() {}
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static variable `m_scene` should have an upper case name
[INFO] [stdout]   --> peglrs/src/lib.rs:34:12
[INFO] [stdout]    |
[INFO] [stdout] 34 | static mut m_scene: Option<Scene> = None;
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_upper_case_globals)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] help: convert the identifier to upper case
[INFO] [stdout]    |
[INFO] [stdout] 34 - static mut m_scene: Option<Scene> = None;
[INFO] [stdout] 34 + static mut M_SCENE: Option<Scene> = None;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]   --> peglrs/src/lib.rs:44:30
[INFO] [stdout]    |
[INFO] [stdout] 44 |         if let Some(scene) = &mut m_scene {
[INFO] [stdout]    |                              ^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]    = note: `#[warn(static_mut_refs)]` (part of `#[warn(rust_2024_compatibility)]`) on by default
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]    |
[INFO] [stdout] 44 |         if let Some(scene) = &raw mut m_scene {
[INFO] [stdout]    |                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> peglrs/src/lib.rs:129:30
[INFO] [stdout]     |
[INFO] [stdout] 129 |         if let Some(scene) = &mut m_scene {
[INFO] [stdout]     |                              ^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 129 |         if let Some(scene) = &raw mut m_scene {
[INFO] [stdout]     |                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> peglrs/src/lib.rs:145:30
[INFO] [stdout]     |
[INFO] [stdout] 145 |         if let Some(scene) = &mut m_scene {
[INFO] [stdout]     |                              ^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 145 |         if let Some(scene) = &raw mut m_scene {
[INFO] [stdout]     |                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]   --> peglrs/src/shaders/mod.rs:68:9
[INFO] [stdout]    |
[INFO] [stdout] 68 |         _ => None,
[INFO] [stdout]    |         ^ no value can reach this
[INFO] [stdout]    |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]   --> peglrs/src/shaders/mod.rs:68:9
[INFO] [stdout]    |
[INFO] [stdout] 64 |         ShaderType::VERTEX => Some(gl::VERTEX_SHADER),
[INFO] [stdout]    |         ------------------ matches some of the same values
[INFO] [stdout] 65 |         ShaderType::FRAGMENT => Some(gl::FRAGMENT_SHADER),
[INFO] [stdout]    |         -------------------- matches some of the same values
[INFO] [stdout] 66 |         ShaderType::GEOMETRY => Some(gl::GEOMETRY_SHADER),
[INFO] [stdout]    |         -------------------- matches some of the same values
[INFO] [stdout] 67 |         ShaderType::COMPUTE => Some(gl::COMPUTE_SHADER),
[INFO] [stdout]    |         ------------------- matches some of the same values
[INFO] [stdout] 68 |         _ => None,
[INFO] [stdout]    |         ^ collectively making this unreachable
[INFO] [stdout]    = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> peglrs/src/lib.rs:104:9
[INFO] [stdout]     |
[INFO] [stdout] 104 |     let mut model = Matrix4::<f32>::identity();
[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]    --> peglrs/src/lib.rs:105:9
[INFO] [stdout]     |
[INFO] [stdout] 105 |     let mut projection: Matrix4<f32> =
[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]    --> peglrs/src/lib.rs:108:9
[INFO] [stdout]     |
[INFO] [stdout] 108 |     let mut cam = Camera::new(
[INFO] [stdout]     |         ----^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `time`
[INFO] [stdout]    --> peglrs/src/lib.rs:143:21
[INFO] [stdout]     |
[INFO] [stdout] 143 | pub fn display_loop(time: f64, fbo: u32) {
[INFO] [stdout]     |                     ^^^^ help: if this is intentional, prefix it with an underscore: `_time`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Frame` is never used
[INFO] [stdout]  --> peglrs/src/frame/mod.rs:5:11
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub trait Frame {
[INFO] [stdout]   |           ^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `ColorAttachment` is never used
[INFO] [stdout]  --> peglrs/src/frame/fbo.rs:2:10
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub enum ColorAttachment {
[INFO] [stdout]   |          ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `DepthStencilAttachment` is never used
[INFO] [stdout]  --> peglrs/src/frame/fbo.rs:8:10
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub enum DepthStencilAttachment {
[INFO] [stdout]   |          ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Framebuffer` is never constructed
[INFO] [stdout]   --> peglrs/src/frame/fbo.rs:13:12
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub struct Framebuffer {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `make_color_attachment` is never used
[INFO] [stdout]   --> peglrs/src/frame/fbo.rs:21:8
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub fn make_color_attachment(attachment_type: &ColorAttachment, width: i32, height: i32) -> u32 {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `make_depth_stencil_attachment` is never used
[INFO] [stdout]   --> peglrs/src/frame/fbo.rs:74:8
[INFO] [stdout]    |
[INFO] [stdout] 74 | pub fn make_depth_stencil_attachment(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `new`, `new_ldr`, and `new_hdr` are never used
[INFO] [stdout]    --> peglrs/src/frame/fbo.rs:110:12
[INFO] [stdout]     |
[INFO] [stdout] 109 | impl Framebuffer {
[INFO] [stdout]     | ---------------- associated functions in this implementation
[INFO] [stdout] 110 |     pub fn new(
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 148 |     pub fn new_ldr(width: i32, height: i32) -> Framebuffer {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 157 |     pub fn new_hdr(width: i32, height: i32) -> Framebuffer {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DrawableObject` is never constructed
[INFO] [stdout]  --> peglrs/src/scene/mod.rs:7:8
[INFO] [stdout]   |
[INFO] [stdout] 7 | struct DrawableObject {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `draw` is never used
[INFO] [stdout]   --> peglrs/src/scene/mod.rs:13:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | impl DrawableObject {
[INFO] [stdout]    | ------------------- associated function in this implementation
[INFO] [stdout] 13 |     pub fn draw() {}
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static variable `m_scene` should have an upper case name
[INFO] [stdout]   --> peglrs/src/lib.rs:34:12
[INFO] [stdout]    |
[INFO] [stdout] 34 | static mut m_scene: Option<Scene> = None;
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_upper_case_globals)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] help: convert the identifier to upper case
[INFO] [stdout]    |
[INFO] [stdout] 34 - static mut m_scene: Option<Scene> = None;
[INFO] [stdout] 34 + static mut M_SCENE: Option<Scene> = None;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]   --> peglrs/src/lib.rs:44:30
[INFO] [stdout]    |
[INFO] [stdout] 44 |         if let Some(scene) = &mut m_scene {
[INFO] [stdout]    |                              ^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]    = note: `#[warn(static_mut_refs)]` (part of `#[warn(rust_2024_compatibility)]`) on by default
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]    |
[INFO] [stdout] 44 |         if let Some(scene) = &raw mut m_scene {
[INFO] [stdout]    |                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> peglrs/src/lib.rs:129:30
[INFO] [stdout]     |
[INFO] [stdout] 129 |         if let Some(scene) = &mut m_scene {
[INFO] [stdout]     |                              ^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 129 |         if let Some(scene) = &raw mut m_scene {
[INFO] [stdout]     |                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> peglrs/src/lib.rs:145:30
[INFO] [stdout]     |
[INFO] [stdout] 145 |         if let Some(scene) = &mut m_scene {
[INFO] [stdout]     |                              ^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 145 |         if let Some(scene) = &raw mut m_scene {
[INFO] [stdout]     |                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking smithay-client-toolkit v0.4.5
[INFO] [stderr]     Checking winit v0.19.0
[INFO] [stderr]     Checking glutin v0.20.0
[INFO] [stderr]     Checking glutin_backend v0.1.0 (/opt/rustwide/workdir/glutin_backend)
[INFO] [stdout] warning: unused import: `Duration`
[INFO] [stdout]  --> glutin_backend/src/main.rs:5:17
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::time::{Duration, Instant};
[INFO] [stdout]   |                 ^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> glutin_backend/src/main.rs:30:9
[INFO] [stdout]    |
[INFO] [stdout] 30 |     let mut time = Instant::now();
[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: variable does not need to be mutable
[INFO] [stdout]   --> glutin_backend/src/main.rs:33:9
[INFO] [stdout]    |
[INFO] [stdout] 33 |     let mut mouse_next: (f64, f64) = (0.0, 0.0);
[INFO] [stdout]    |         ----^^^^^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `mouse_next`
[INFO] [stdout]   --> glutin_backend/src/main.rs:33:9
[INFO] [stdout]    |
[INFO] [stdout] 33 |     let mut mouse_next: (f64, f64) = (0.0, 0.0);
[INFO] [stdout]    |         ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_mouse_next`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Duration`
[INFO] [stdout]  --> glutin_backend/src/main.rs:5:17
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::time::{Duration, Instant};
[INFO] [stdout]   |                 ^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> glutin_backend/src/main.rs:30:9
[INFO] [stdout]    |
[INFO] [stdout] 30 |     let mut time = Instant::now();
[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: variable does not need to be mutable
[INFO] [stdout]   --> glutin_backend/src/main.rs:33:9
[INFO] [stdout]    |
[INFO] [stdout] 33 |     let mut mouse_next: (f64, f64) = (0.0, 0.0);
[INFO] [stdout]    |         ----^^^^^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `mouse_next`
[INFO] [stdout]   --> glutin_backend/src/main.rs:33:9
[INFO] [stdout]    |
[INFO] [stdout] 33 |     let mut mouse_next: (f64, f64) = (0.0, 0.0);
[INFO] [stdout]    |         ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_mouse_next`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 54.49s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: winit v0.19.0
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 4`
[INFO] running `Command { std: "docker" "inspect" "0a3136621eca030f34d2eeb3ab35dd102212441b7d0805481286c376f16df396", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "0a3136621eca030f34d2eeb3ab35dd102212441b7d0805481286c376f16df396", kill_on_drop: false }`
[INFO] [stdout] 0a3136621eca030f34d2eeb3ab35dd102212441b7d0805481286c376f16df396
