[INFO] fetching crate neocogi 0.2.0...
[INFO] testing neocogi-0.2.0 against 1.91.0 for beta-1.92-2
[INFO] extracting crate neocogi 0.2.0 into /workspace/builds/worker-4-tc1/source
[INFO] started tweaking crates.io crate neocogi 0.2.0
[INFO] finished tweaking crates.io crate neocogi 0.2.0
[INFO] tweaked toml for crates.io crate neocogi 0.2.0 written to /workspace/builds/worker-4-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate neocogi 0.2.0 on toolchain 1.91.0
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.91.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate neocogi 0.2.0 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.91.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded once_cell v1.12.0
[INFO] [stderr]   Downloaded atomic_refcell v0.1.8
[INFO] [stderr]   Downloaded getrandom v0.2.6
[INFO] [stderr]   Downloaded emath v0.18.0
[INFO] [stderr]   Downloaded rs-ctypes v0.1.1
[INFO] [stderr]   Downloaded ab_glyph_rasterizer v0.1.5
[INFO] [stderr]   Downloaded owned_ttf_parser v0.15.0
[INFO] [stderr]   Downloaded ab_glyph v0.2.15
[INFO] [stderr]   Downloaded glfw v0.45.0
[INFO] [stderr]   Downloaded egui v0.18.1
[INFO] [stderr]   Downloaded ttf-parser v0.15.1
[INFO] [stderr]   Downloaded epaint v0.18.1
[INFO] [stderr]   Downloaded rs-math3d v0.9.16
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+1.91.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] d5e4856f64a1b3ee0d13976d3ee4c783abf577f22fece3a8290ee8506901b510
[INFO] running `Command { std: "docker" "start" "-a" "d5e4856f64a1b3ee0d13976d3ee4c783abf577f22fece3a8290ee8506901b510", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "d5e4856f64a1b3ee0d13976d3ee4c783abf577f22fece3a8290ee8506901b510", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "d5e4856f64a1b3ee0d13976d3ee4c783abf577f22fece3a8290ee8506901b510", kill_on_drop: false }`
[INFO] [stdout] d5e4856f64a1b3ee0d13976d3ee4c783abf577f22fece3a8290ee8506901b510
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+1.91.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] b34bc80dc1972f36b8813d6c86bfd06d4cf3006440ceb8211d813ae9ae246e3b
[INFO] running `Command { std: "docker" "start" "-a" "b34bc80dc1972f36b8813d6c86bfd06d4cf3006440ceb8211d813ae9ae246e3b", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.126
[INFO] [stderr]    Compiling version_check v0.9.4
[INFO] [stderr]    Compiling log v0.4.17
[INFO] [stderr]    Compiling khronos_api v3.1.0
[INFO] [stderr]    Compiling parking_lot_core v0.9.3
[INFO] [stderr]    Compiling scopeguard v1.1.0
[INFO] [stderr]    Compiling smallvec v1.8.0
[INFO] [stderr]    Compiling ttf-parser v0.15.1
[INFO] [stderr]    Compiling ab_glyph_rasterizer v0.1.5
[INFO] [stderr]    Compiling once_cell v1.12.0
[INFO] [stderr]    Compiling xml-rs v0.8.4
[INFO] [stderr]    Compiling rs-math3d v0.9.16
[INFO] [stderr]    Compiling nohash-hasher v0.2.0
[INFO] [stderr]    Compiling emath v0.18.0
[INFO] [stderr]    Compiling cty v0.2.2
[INFO] [stderr]    Compiling lock_api v0.4.7
[INFO] [stderr]    Compiling raw-window-handle v0.4.3
[INFO] [stderr]    Compiling rs-ctypes v0.1.1
[INFO] [stderr]    Compiling glfw v0.45.0
[INFO] [stderr]    Compiling ahash v0.7.6
[INFO] [stderr]    Compiling gl_generator v0.14.0
[INFO] [stderr]    Compiling getrandom v0.2.6
[INFO] [stderr]    Compiling parking_lot v0.12.1
[INFO] [stderr]    Compiling neocogi v0.2.0 (/opt/rustwide/workdir)
[INFO] [stderr]    Compiling owned_ttf_parser v0.15.0
[INFO] [stderr]    Compiling ab_glyph v0.2.15
[INFO] [stderr]    Compiling epaint v0.18.1
[INFO] [stderr]    Compiling egui v0.18.1
[INFO] [stdout] warning: unused import: `rs_ctypes::*`
[INFO] [stdout]   --> src/renderer/common.rs:30:5
[INFO] [stdout]    |
[INFO] [stdout] 30 | use rs_ctypes::*;
[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 imports: `DerefMut` and `Deref`
[INFO] [stdout]   --> src/renderer/common.rs:34:17
[INFO] [stdout]    |
[INFO] [stdout] 34 | use core::ops::{Deref, DerefMut};
[INFO] [stdout]    |                 ^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io::Read`
[INFO] [stdout]   --> src/renderer/gles3/readback.rs:37:5
[INFO] [stdout]    |
[INFO] [stdout] 37 | use std::io::Read;
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::readback::*`
[INFO] [stdout]   --> src/renderer/gles3/renderer.rs:34:5
[INFO] [stdout]    |
[INFO] [stdout] 34 | use super::readback::*;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::any::Any`
[INFO] [stdout]   --> src/renderer/gles3/renderer.rs:36:5
[INFO] [stdout]    |
[INFO] [stdout] 36 | use std::any::Any;
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rs_ctypes::*`
[INFO] [stdout]   --> src/renderer/utils.rs:31:5
[INFO] [stdout]    |
[INFO] [stdout] 31 | use rs_ctypes::*;
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::mem`
[INFO] [stdout]  --> /opt/rustwide/target/debug/build/neocogi-5603287463da834a/out/bindings.rs:3:21
[INFO] [stdout]   |
[INFO] [stdout] 3 |             pub use std::mem;
[INFO] [stdout]   |                     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rs_ctypes::*`
[INFO] [stdout]   --> src/ui/painter.rs:65:5
[INFO] [stdout]    |
[INFO] [stdout] 65 | use rs_ctypes::*;
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/ui/painter.rs:279:13
[INFO] [stdout]     |
[INFO] [stdout] 279 |             /// Pending upload (will be emptied later).
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 280 |             pixels: pclone,
[INFO] [stdout]     |             -------------- rustdoc does not generate documentation for expression fields
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout]     = note: `#[warn(unused_doc_comments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/ui/painter.rs:282:13
[INFO] [stdout]     |
[INFO] [stdout] 282 |             /// Lazily uploaded
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 283 |             texture: Some(tex),
[INFO] [stdout]     |             ------------------ rustdoc does not generate documentation for expression fields
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/ui/painter.rs:285:13
[INFO] [stdout]     |
[INFO] [stdout] 285 | /             /// For user textures there is a choice between
[INFO] [stdout] 286 | |             /// Linear (default) and Nearest.
[INFO] [stdout]     | |_____________________________________________^
[INFO] [stdout] 287 |               filtering: true,
[INFO] [stdout]     |               --------------- rustdoc does not generate documentation for expression fields
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/ui/painter.rs:289:13
[INFO] [stdout]     |
[INFO] [stdout] 289 | /             /// User textures can be modified and this flag
[INFO] [stdout] 290 | |             /// is used to indicate if pixel data for the
[INFO] [stdout] 291 | |             /// texture has been updated.
[INFO] [stdout]     | |_________________________________________^
[INFO] [stdout] 292 |               dirty: false,
[INFO] [stdout]     |               ------------ rustdoc does not generate documentation for expression fields
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/ui/painter.rs:342:13
[INFO] [stdout]     |
[INFO] [stdout] 342 |             /// Pending upload (will be emptied later).
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 343 |             pixels: tex.pixels.clone(),
[INFO] [stdout]     |             -------------------------- rustdoc does not generate documentation for expression fields
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/ui/painter.rs:345:13
[INFO] [stdout]     |
[INFO] [stdout] 345 |             /// Lazily uploaded
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 346 |             texture: Some(ptex),
[INFO] [stdout]     |             ------------------- rustdoc does not generate documentation for expression fields
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/ui/painter.rs:348:13
[INFO] [stdout]     |
[INFO] [stdout] 348 | /             /// For user textures there is a choice between
[INFO] [stdout] 349 | |             /// Linear (default) and Nearest.
[INFO] [stdout]     | |_____________________________________________^
[INFO] [stdout] 350 |               filtering: true,
[INFO] [stdout]     |               --------------- rustdoc does not generate documentation for expression fields
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/ui/painter.rs:352:13
[INFO] [stdout]     |
[INFO] [stdout] 352 | /             /// User textures can be modified and this flag
[INFO] [stdout] 353 | |             /// is used to indicate if pixel data for the
[INFO] [stdout] 354 | |             /// texture has been updated.
[INFO] [stdout]     | |_________________________________________^
[INFO] [stdout] 355 |               dirty: false,
[INFO] [stdout]     |               ------------ rustdoc does not generate documentation for expression fields
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]    --> src/ui/painter.rs:458:17
[INFO] [stdout]     |
[INFO] [stdout] 458 |                 (clip_max_x - clip_min_x),
[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] 458 -                 (clip_max_x - clip_min_x),
[INFO] [stdout] 458 +                 clip_max_x - clip_min_x,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]    --> src/ui/painter.rs:459:17
[INFO] [stdout]     |
[INFO] [stdout] 459 |                 (clip_max_y - clip_min_y));
[INFO] [stdout]     |                 ^                       ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 459 -                 (clip_max_y - clip_min_y));
[INFO] [stdout] 459 +                 clip_max_y - clip_min_y);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `clipboard`
[INFO] [stdout]   --> src/ui/input.rs:64:11
[INFO] [stdout]    |
[INFO] [stdout] 64 | #[cfg(not(feature = "clipboard"))]
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected values for `feature` are: `default`, `egui`, `glfw`, `renderer`, `scene`, `ui`, and `with-fonts`
[INFO] [stdout]    = help: consider adding `clipboard` as a feature in `Cargo.toml`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::*`
[INFO] [stdout]   --> src/ui/pointer.rs:30:5
[INFO] [stdout]    |
[INFO] [stdout] 30 | use crate::*;
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::borrow::Borrow`
[INFO] [stdout]  --> src/scene/view3d.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::borrow::Borrow;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::renderer::*`
[INFO] [stdout]   --> src/scene/view3d.rs:36:5
[INFO] [stdout]    |
[INFO] [stdout] 36 | use crate::renderer::*;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ffi::c_void`
[INFO] [stdout]   --> src/scene/utility_mesh.rs:33:5
[INFO] [stdout]    |
[INFO] [stdout] 33 | use std::ffi::c_void;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/renderer/common.rs:776:13
[INFO] [stdout]     |
[INFO] [stdout] 775 |             SamplerType::Sampler2D(PixelChannel { size, wrap: _ }, _) => size,
[INFO] [stdout]     |             --------------------------------------------------------- matches all the relevant values
[INFO] [stdout] 776 |             _ => panic!("no width!")
[INFO] [stdout]     |             ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/renderer/common.rs:783:13
[INFO] [stdout]     |
[INFO] [stdout] 782 |             SamplerType::Sampler2D(_, PixelChannel { size, wrap: _ }) => size,
[INFO] [stdout]     |             --------------------------------------------------------- matches all the relevant values
[INFO] [stdout] 783 |             _ => panic!("no height!")
[INFO] [stdout]     |             ^ no value can reach this
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `driver`
[INFO] [stdout]    --> src/renderer/gles3/readback.rs:224:17
[INFO] [stdout]     |
[INFO] [stdout] 224 |         let mut driver          = lock.as_mut().unwrap();
[INFO] [stdout]     |                 ^^^^^^ help: if this is intentional, prefix it with an underscore: `_driver`
[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/renderer/gles3/readback.rs:224:13
[INFO] [stdout]     |
[INFO] [stdout] 224 |         let mut driver          = lock.as_mut().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: `me`
[INFO] [stdout]    --> src/renderer/gles3/renderer.rs:525:55
[INFO] [stdout]     |
[INFO] [stdout] 525 |         let me : DriverPtrInternal = Arc::new_cyclic(|me| { 
[INFO] [stdout]     |                                                       ^^ help: if this is intentional, prefix it with an underscore: `_me`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sl`
[INFO] [stdout]    --> src/renderer/gles3/renderer.rs:659:25
[INFO] [stdout]     |
[INFO] [stdout] 659 |                     let sl = std::slice::from_raw_parts(ptr2, len);
[INFO] [stdout]     |                         ^^ help: if this is intentional, prefix it with an underscore: `_sl`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `surface`
[INFO] [stdout]     --> src/renderer/gles3/renderer.rs:1385:29
[INFO] [stdout]      |
[INFO] [stdout] 1385 |     fn read_back(&mut self, surface: &TexturePtr, x: u32, y: u32, w: u32, h: u32) -> Option<ReadbackPayload> {
[INFO] [stdout]      |                             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_surface`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]     --> src/renderer/gles3/renderer.rs:1385:51
[INFO] [stdout]      |
[INFO] [stdout] 1385 |     fn read_back(&mut self, surface: &TexturePtr, x: u32, y: u32, w: u32, h: u32) -> Option<ReadbackPayload> {
[INFO] [stdout]      |                                                   ^
[INFO] [stdout]      |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]      |
[INFO] [stdout] 1385 |     fn read_back(&mut self, surface: &TexturePtr, _x: u32, y: u32, w: u32, h: u32) -> Option<ReadbackPayload> {
[INFO] [stdout]      |                                                   +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `ZERO`
[INFO] [stdout]      |
[INFO] [stdout] 1385 -     fn read_back(&mut self, surface: &TexturePtr, x: u32, y: u32, w: u32, h: u32) -> Option<ReadbackPayload> {
[INFO] [stdout] 1385 +     fn read_back(&mut self, surface: &TexturePtr, renderer::gl::ZERO: u32, y: u32, w: u32, h: u32) -> Option<ReadbackPayload> {
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `y`
[INFO] [stdout]     --> src/renderer/gles3/renderer.rs:1385:59
[INFO] [stdout]      |
[INFO] [stdout] 1385 |     fn read_back(&mut self, surface: &TexturePtr, x: u32, y: u32, w: u32, h: u32) -> Option<ReadbackPayload> {
[INFO] [stdout]      |                                                           ^
[INFO] [stdout]      |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]      |
[INFO] [stdout] 1385 |     fn read_back(&mut self, surface: &TexturePtr, x: u32, _y: u32, w: u32, h: u32) -> Option<ReadbackPayload> {
[INFO] [stdout]      |                                                           +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `ZERO`
[INFO] [stdout]      |
[INFO] [stdout] 1385 -     fn read_back(&mut self, surface: &TexturePtr, x: u32, y: u32, w: u32, h: u32) -> Option<ReadbackPayload> {
[INFO] [stdout] 1385 +     fn read_back(&mut self, surface: &TexturePtr, x: u32, renderer::gl::ZERO: u32, w: u32, h: u32) -> Option<ReadbackPayload> {
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `w`
[INFO] [stdout]     --> src/renderer/gles3/renderer.rs:1385:67
[INFO] [stdout]      |
[INFO] [stdout] 1385 |     fn read_back(&mut self, surface: &TexturePtr, x: u32, y: u32, w: u32, h: u32) -> Option<ReadbackPayload> {
[INFO] [stdout]      |                                                                   ^
[INFO] [stdout]      |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]      |
[INFO] [stdout] 1385 |     fn read_back(&mut self, surface: &TexturePtr, x: u32, y: u32, _w: u32, h: u32) -> Option<ReadbackPayload> {
[INFO] [stdout]      |                                                                   +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `ZERO`
[INFO] [stdout]      |
[INFO] [stdout] 1385 -     fn read_back(&mut self, surface: &TexturePtr, x: u32, y: u32, w: u32, h: u32) -> Option<ReadbackPayload> {
[INFO] [stdout] 1385 +     fn read_back(&mut self, surface: &TexturePtr, x: u32, y: u32, renderer::gl::ZERO: u32, h: u32) -> Option<ReadbackPayload> {
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `h`
[INFO] [stdout]     --> src/renderer/gles3/renderer.rs:1385:75
[INFO] [stdout]      |
[INFO] [stdout] 1385 |     fn read_back(&mut self, surface: &TexturePtr, x: u32, y: u32, w: u32, h: u32) -> Option<ReadbackPayload> {
[INFO] [stdout]      |                                                                           ^
[INFO] [stdout]      |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]      |
[INFO] [stdout] 1385 |     fn read_back(&mut self, surface: &TexturePtr, x: u32, y: u32, w: u32, _h: u32) -> Option<ReadbackPayload> {
[INFO] [stdout]      |                                                                           +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `ZERO`
[INFO] [stdout]      |
[INFO] [stdout] 1385 -     fn read_back(&mut self, surface: &TexturePtr, x: u32, y: u32, w: u32, h: u32) -> Option<ReadbackPayload> {
[INFO] [stdout] 1385 +     fn read_back(&mut self, surface: &TexturePtr, x: u32, y: u32, w: u32, renderer::gl::ZERO: u32) -> Option<ReadbackPayload> {
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `window`
[INFO] [stdout]    --> src/ui/painter.rs:156:9
[INFO] [stdout]     |
[INFO] [stdout] 156 |         window: &mut glfw::Window,
[INFO] [stdout]     |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_window`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cam_dir`
[INFO] [stdout]    --> src/scene/camera.rs:185:13
[INFO] [stdout]     |
[INFO] [stdout] 185 |         let cam_dir     = Vec3f::normalize(&(self.target - cam_pos));
[INFO] [stdout]     |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_cam_dir`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `commands` is never used
[INFO] [stdout]     --> src/renderer/common.rs:1097:20
[INFO] [stdout]      |
[INFO] [stdout] 1055 | impl Pass {
[INFO] [stdout]      | --------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 1097 |     pub (crate) fn commands(&self) -> &Vec<RenderPassCommand> {
[INFO] [stdout]      |                    ^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `render` and `surface_class` are never used
[INFO] [stdout]    --> src/renderer/gles3/readback.rs:222:8
[INFO] [stdout]     |
[INFO] [stdout] 116 | impl ReadbackDriver {
[INFO] [stdout]     | ------------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 222 |     fn render(&mut self, pass: &mut Pass, tex: TexturePtr, orig_surface_type: OrigSurfaceType) {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 247 |     fn surface_class(surface: &TexturePtr) -> OrigSurfaceClass {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `GLProgram` is never constructed
[INFO] [stdout]   --> src/renderer/gles3/renderer.rs:63:12
[INFO] [stdout]    |
[INFO] [stdout] 63 | pub struct GLProgram {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `GLUniformBlock` is never used
[INFO] [stdout]   --> src/renderer/gles3/renderer.rs:73:7
[INFO] [stdout]    |
[INFO] [stdout] 73 | trait GLUniformBlock {
[INFO] [stdout]    |       ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `gl_pixel_size` is never used
[INFO] [stdout]    --> src/renderer/gles3/renderer.rs:272:8
[INFO] [stdout]     |
[INFO] [stdout] 268 | trait GLPixelFormat {
[INFO] [stdout]     |       ------------- method in this trait
[INFO] [stdout] ...
[INFO] [stdout] 272 |     fn gl_pixel_size(&self) -> usize;
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `pixel_uniforms` is never read
[INFO] [stdout]    --> src/renderer/gles3/renderer.rs:381:5
[INFO] [stdout]     |
[INFO] [stdout] 373 | struct GLShader {
[INFO] [stdout]     |        -------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 381 |     pixel_uniforms      : Vec<(String, GLuint)>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `rc` is never read
[INFO] [stdout]    --> src/renderer/gles3/renderer.rs:507:5
[INFO] [stdout]     |
[INFO] [stdout] 499 | pub(crate) struct Gles3Driver {
[INFO] [stdout]     |                   ----------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 507 |     rc              : AtomicIsize,
[INFO] [stdout]     |     ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `filtering` is never read
[INFO] [stdout]   --> src/ui/painter.rs:98:5
[INFO] [stdout]    |
[INFO] [stdout] 87 | struct PaintTexture {
[INFO] [stdout]    |        ------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 98 |     filtering: bool,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `PaintTexture` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `clear` is never used
[INFO] [stdout]   --> src/ui/clipboard.rs:73:8
[INFO] [stdout]    |
[INFO] [stdout] 69 | pub trait ClipboardProvider: Sized {
[INFO] [stdout]    |           ----------------- method in this trait
[INFO] [stdout] ...
[INFO] [stdout] 73 |     fn clear(&mut self) -> Result<()>;
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `position`, `rotation`, and `scale` are never read
[INFO] [stdout]   --> src/scene/mod.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub struct Node {
[INFO] [stdout]    |            ---- fields in this struct
[INFO] [stdout] 12 |     position    : Vec3f,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 13 |     rotation    : Quatf,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 14 |     scale       : Vec3f,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `fov` is never read
[INFO] [stdout]   --> src/scene/view3d.rs:47:5
[INFO] [stdout]    |
[INFO] [stdout] 45 | pub struct View3D {
[INFO] [stdout]    |            ------ field in this struct
[INFO] [stdout] 46 |     camera              : Camera,
[INFO] [stdout] 47 |     fov                 : f32,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Uniforms` is never constructed
[INFO] [stdout]   --> src/scene/utility_mesh.rs:69:14
[INFO] [stdout]    |
[INFO] [stdout] 69 |     uniforms Uniforms {
[INFO] [stdout]    |              ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `$crate::render_data` which comes from the expansion of the macro `render_data` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 11.40s
[INFO] running `Command { std: "docker" "inspect" "b34bc80dc1972f36b8813d6c86bfd06d4cf3006440ceb8211d813ae9ae246e3b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "b34bc80dc1972f36b8813d6c86bfd06d4cf3006440ceb8211d813ae9ae246e3b", kill_on_drop: false }`
[INFO] [stdout] b34bc80dc1972f36b8813d6c86bfd06d4cf3006440ceb8211d813ae9ae246e3b
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+1.91.0" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 8c32f2588b7d5beb3608860a03418b97b7bef4552597e5efc3765824dd0aa9f9
[INFO] running `Command { std: "docker" "start" "-a" "8c32f2588b7d5beb3608860a03418b97b7bef4552597e5efc3765824dd0aa9f9", kill_on_drop: false }`
[INFO] [stdout] warning: unused import: `rs_ctypes::*`
[INFO] [stdout]   --> src/renderer/common.rs:30:5
[INFO] [stdout]    |
[INFO] [stdout] 30 | use rs_ctypes::*;
[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 imports: `DerefMut` and `Deref`
[INFO] [stdout]   --> src/renderer/common.rs:34:17
[INFO] [stdout]    |
[INFO] [stdout] 34 | use core::ops::{Deref, DerefMut};
[INFO] [stdout]    |                 ^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io::Read`
[INFO] [stdout]   --> src/renderer/gles3/readback.rs:37:5
[INFO] [stdout]    |
[INFO] [stdout] 37 | use std::io::Read;
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::readback::*`
[INFO] [stdout]   --> src/renderer/gles3/renderer.rs:34:5
[INFO] [stdout]    |
[INFO] [stdout] 34 | use super::readback::*;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::any::Any`
[INFO] [stdout]   --> src/renderer/gles3/renderer.rs:36:5
[INFO] [stdout]    |
[INFO] [stdout] 36 | use std::any::Any;
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rs_ctypes::*`
[INFO] [stdout]   --> src/renderer/utils.rs:31:5
[INFO] [stdout]    |
[INFO] [stdout] 31 | use rs_ctypes::*;
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::mem`
[INFO] [stdout]  --> /opt/rustwide/target/debug/build/neocogi-5603287463da834a/out/bindings.rs:3:21
[INFO] [stdout]   |
[INFO] [stdout] 3 |             pub use std::mem;
[INFO] [stdout]   |                     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rs_ctypes::*`
[INFO] [stdout]   --> src/ui/painter.rs:65:5
[INFO] [stdout]    |
[INFO] [stdout] 65 | use rs_ctypes::*;
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/ui/painter.rs:279:13
[INFO] [stdout]     |
[INFO] [stdout] 279 |             /// Pending upload (will be emptied later).
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 280 |             pixels: pclone,
[INFO] [stdout]     |             -------------- rustdoc does not generate documentation for expression fields
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout]     = note: `#[warn(unused_doc_comments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/ui/painter.rs:282:13
[INFO] [stdout]     |
[INFO] [stdout] 282 |             /// Lazily uploaded
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 283 |             texture: Some(tex),
[INFO] [stdout]     |             ------------------ rustdoc does not generate documentation for expression fields
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/ui/painter.rs:285:13
[INFO] [stdout]     |
[INFO] [stdout] 285 | /             /// For user textures there is a choice between
[INFO] [stdout] 286 | |             /// Linear (default) and Nearest.
[INFO] [stdout]     | |_____________________________________________^
[INFO] [stdout] 287 |               filtering: true,
[INFO] [stdout]     |               --------------- rustdoc does not generate documentation for expression fields
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/ui/painter.rs:289:13
[INFO] [stdout]     |
[INFO] [stdout] 289 | /             /// User textures can be modified and this flag
[INFO] [stdout] 290 | |             /// is used to indicate if pixel data for the
[INFO] [stdout] 291 | |             /// texture has been updated.
[INFO] [stdout]     | |_________________________________________^
[INFO] [stdout] 292 |               dirty: false,
[INFO] [stdout]     |               ------------ rustdoc does not generate documentation for expression fields
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/ui/painter.rs:342:13
[INFO] [stdout]     |
[INFO] [stdout] 342 |             /// Pending upload (will be emptied later).
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 343 |             pixels: tex.pixels.clone(),
[INFO] [stdout]     |             -------------------------- rustdoc does not generate documentation for expression fields
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/ui/painter.rs:345:13
[INFO] [stdout]     |
[INFO] [stdout] 345 |             /// Lazily uploaded
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 346 |             texture: Some(ptex),
[INFO] [stdout]     |             ------------------- rustdoc does not generate documentation for expression fields
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/ui/painter.rs:348:13
[INFO] [stdout]     |
[INFO] [stdout] 348 | /             /// For user textures there is a choice between
[INFO] [stdout] 349 | |             /// Linear (default) and Nearest.
[INFO] [stdout]     | |_____________________________________________^
[INFO] [stdout] 350 |               filtering: true,
[INFO] [stdout]     |               --------------- rustdoc does not generate documentation for expression fields
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/ui/painter.rs:352:13
[INFO] [stdout]     |
[INFO] [stdout] 352 | /             /// User textures can be modified and this flag
[INFO] [stdout] 353 | |             /// is used to indicate if pixel data for the
[INFO] [stdout] 354 | |             /// texture has been updated.
[INFO] [stdout]     | |_________________________________________^
[INFO] [stdout] 355 |               dirty: false,
[INFO] [stdout]     |               ------------ rustdoc does not generate documentation for expression fields
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]    --> src/ui/painter.rs:458:17
[INFO] [stdout]     |
[INFO] [stdout] 458 |                 (clip_max_x - clip_min_x),
[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] 458 -                 (clip_max_x - clip_min_x),
[INFO] [stdout] 458 +                 clip_max_x - clip_min_x,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]    --> src/ui/painter.rs:459:17
[INFO] [stdout]     |
[INFO] [stdout] 459 |                 (clip_max_y - clip_min_y));
[INFO] [stdout]     |                 ^                       ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 459 -                 (clip_max_y - clip_min_y));
[INFO] [stdout] 459 +                 clip_max_y - clip_min_y);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `clipboard`
[INFO] [stdout]   --> src/ui/input.rs:64:11
[INFO] [stdout]    |
[INFO] [stdout] 64 | #[cfg(not(feature = "clipboard"))]
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected values for `feature` are: `default`, `egui`, `glfw`, `renderer`, `scene`, `ui`, and `with-fonts`
[INFO] [stdout]    = help: consider adding `clipboard` as a feature in `Cargo.toml`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::*`
[INFO] [stdout]   --> src/ui/pointer.rs:30:5
[INFO] [stdout]    |
[INFO] [stdout] 30 | use crate::*;
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::borrow::Borrow`
[INFO] [stdout]  --> src/scene/view3d.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::borrow::Borrow;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::renderer::*`
[INFO] [stdout]   --> src/scene/view3d.rs:36:5
[INFO] [stdout]    |
[INFO] [stdout] 36 | use crate::renderer::*;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ffi::c_void`
[INFO] [stdout]   --> src/scene/utility_mesh.rs:33:5
[INFO] [stdout]    |
[INFO] [stdout] 33 | use std::ffi::c_void;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/renderer/common.rs:776:13
[INFO] [stdout]     |
[INFO] [stdout] 775 |             SamplerType::Sampler2D(PixelChannel { size, wrap: _ }, _) => size,
[INFO] [stdout]     |             --------------------------------------------------------- matches all the relevant values
[INFO] [stdout] 776 |             _ => panic!("no width!")
[INFO] [stdout]     |             ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/renderer/common.rs:783:13
[INFO] [stdout]     |
[INFO] [stdout] 782 |             SamplerType::Sampler2D(_, PixelChannel { size, wrap: _ }) => size,
[INFO] [stdout]     |             --------------------------------------------------------- matches all the relevant values
[INFO] [stdout] 783 |             _ => panic!("no height!")
[INFO] [stdout]     |             ^ no value can reach this
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `driver`
[INFO] [stdout]    --> src/renderer/gles3/readback.rs:224:17
[INFO] [stdout]     |
[INFO] [stdout] 224 |         let mut driver          = lock.as_mut().unwrap();
[INFO] [stdout]     |                 ^^^^^^ help: if this is intentional, prefix it with an underscore: `_driver`
[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/renderer/gles3/readback.rs:224:13
[INFO] [stdout]     |
[INFO] [stdout] 224 |         let mut driver          = lock.as_mut().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: `me`
[INFO] [stdout]    --> src/renderer/gles3/renderer.rs:525:55
[INFO] [stdout]     |
[INFO] [stdout] 525 |         let me : DriverPtrInternal = Arc::new_cyclic(|me| { 
[INFO] [stdout]     |                                                       ^^ help: if this is intentional, prefix it with an underscore: `_me`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sl`
[INFO] [stdout]    --> src/renderer/gles3/renderer.rs:659:25
[INFO] [stdout]     |
[INFO] [stdout] 659 |                     let sl = std::slice::from_raw_parts(ptr2, len);
[INFO] [stdout]     |                         ^^ help: if this is intentional, prefix it with an underscore: `_sl`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `surface`
[INFO] [stdout]     --> src/renderer/gles3/renderer.rs:1385:29
[INFO] [stdout]      |
[INFO] [stdout] 1385 |     fn read_back(&mut self, surface: &TexturePtr, x: u32, y: u32, w: u32, h: u32) -> Option<ReadbackPayload> {
[INFO] [stdout]      |                             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_surface`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]     --> src/renderer/gles3/renderer.rs:1385:51
[INFO] [stdout]      |
[INFO] [stdout] 1385 |     fn read_back(&mut self, surface: &TexturePtr, x: u32, y: u32, w: u32, h: u32) -> Option<ReadbackPayload> {
[INFO] [stdout]      |                                                   ^
[INFO] [stdout]      |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]      |
[INFO] [stdout] 1385 |     fn read_back(&mut self, surface: &TexturePtr, _x: u32, y: u32, w: u32, h: u32) -> Option<ReadbackPayload> {
[INFO] [stdout]      |                                                   +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `ZERO`
[INFO] [stdout]      |
[INFO] [stdout] 1385 -     fn read_back(&mut self, surface: &TexturePtr, x: u32, y: u32, w: u32, h: u32) -> Option<ReadbackPayload> {
[INFO] [stdout] 1385 +     fn read_back(&mut self, surface: &TexturePtr, renderer::gl::ZERO: u32, y: u32, w: u32, h: u32) -> Option<ReadbackPayload> {
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `y`
[INFO] [stdout]     --> src/renderer/gles3/renderer.rs:1385:59
[INFO] [stdout]      |
[INFO] [stdout] 1385 |     fn read_back(&mut self, surface: &TexturePtr, x: u32, y: u32, w: u32, h: u32) -> Option<ReadbackPayload> {
[INFO] [stdout]      |                                                           ^
[INFO] [stdout]      |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]      |
[INFO] [stdout] 1385 |     fn read_back(&mut self, surface: &TexturePtr, x: u32, _y: u32, w: u32, h: u32) -> Option<ReadbackPayload> {
[INFO] [stdout]      |                                                           +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `ZERO`
[INFO] [stdout]      |
[INFO] [stdout] 1385 -     fn read_back(&mut self, surface: &TexturePtr, x: u32, y: u32, w: u32, h: u32) -> Option<ReadbackPayload> {
[INFO] [stdout] 1385 +     fn read_back(&mut self, surface: &TexturePtr, x: u32, renderer::gl::ZERO: u32, w: u32, h: u32) -> Option<ReadbackPayload> {
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `w`
[INFO] [stdout]     --> src/renderer/gles3/renderer.rs:1385:67
[INFO] [stdout]      |
[INFO] [stdout] 1385 |     fn read_back(&mut self, surface: &TexturePtr, x: u32, y: u32, w: u32, h: u32) -> Option<ReadbackPayload> {
[INFO] [stdout]      |                                                                   ^
[INFO] [stdout]      |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]      |
[INFO] [stdout] 1385 |     fn read_back(&mut self, surface: &TexturePtr, x: u32, y: u32, _w: u32, h: u32) -> Option<ReadbackPayload> {
[INFO] [stdout]      |                                                                   +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `ZERO`
[INFO] [stdout]      |
[INFO] [stdout] 1385 -     fn read_back(&mut self, surface: &TexturePtr, x: u32, y: u32, w: u32, h: u32) -> Option<ReadbackPayload> {
[INFO] [stdout] 1385 +     fn read_back(&mut self, surface: &TexturePtr, x: u32, y: u32, renderer::gl::ZERO: u32, h: u32) -> Option<ReadbackPayload> {
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling neocogi v0.2.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused variable: `h`
[INFO] [stdout]     --> src/renderer/gles3/renderer.rs:1385:75
[INFO] [stdout]      |
[INFO] [stdout] 1385 |     fn read_back(&mut self, surface: &TexturePtr, x: u32, y: u32, w: u32, h: u32) -> Option<ReadbackPayload> {
[INFO] [stdout]      |                                                                           ^
[INFO] [stdout]      |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]      |
[INFO] [stdout] 1385 |     fn read_back(&mut self, surface: &TexturePtr, x: u32, y: u32, w: u32, _h: u32) -> Option<ReadbackPayload> {
[INFO] [stdout]      |                                                                           +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `ZERO`
[INFO] [stdout]      |
[INFO] [stdout] 1385 -     fn read_back(&mut self, surface: &TexturePtr, x: u32, y: u32, w: u32, h: u32) -> Option<ReadbackPayload> {
[INFO] [stdout] 1385 +     fn read_back(&mut self, surface: &TexturePtr, x: u32, y: u32, w: u32, renderer::gl::ZERO: u32) -> Option<ReadbackPayload> {
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `window`
[INFO] [stdout]    --> src/ui/painter.rs:156:9
[INFO] [stdout]     |
[INFO] [stdout] 156 |         window: &mut glfw::Window,
[INFO] [stdout]     |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_window`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cam_dir`
[INFO] [stdout]    --> src/scene/camera.rs:185:13
[INFO] [stdout]     |
[INFO] [stdout] 185 |         let cam_dir     = Vec3f::normalize(&(self.target - cam_pos));
[INFO] [stdout]     |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_cam_dir`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `commands` is never used
[INFO] [stdout]     --> src/renderer/common.rs:1097:20
[INFO] [stdout]      |
[INFO] [stdout] 1055 | impl Pass {
[INFO] [stdout]      | --------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 1097 |     pub (crate) fn commands(&self) -> &Vec<RenderPassCommand> {
[INFO] [stdout]      |                    ^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `render` and `surface_class` are never used
[INFO] [stdout]    --> src/renderer/gles3/readback.rs:222:8
[INFO] [stdout]     |
[INFO] [stdout] 116 | impl ReadbackDriver {
[INFO] [stdout]     | ------------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 222 |     fn render(&mut self, pass: &mut Pass, tex: TexturePtr, orig_surface_type: OrigSurfaceType) {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 247 |     fn surface_class(surface: &TexturePtr) -> OrigSurfaceClass {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `GLProgram` is never constructed
[INFO] [stdout]   --> src/renderer/gles3/renderer.rs:63:12
[INFO] [stdout]    |
[INFO] [stdout] 63 | pub struct GLProgram {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `GLUniformBlock` is never used
[INFO] [stdout]   --> src/renderer/gles3/renderer.rs:73:7
[INFO] [stdout]    |
[INFO] [stdout] 73 | trait GLUniformBlock {
[INFO] [stdout]    |       ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `gl_pixel_size` is never used
[INFO] [stdout]    --> src/renderer/gles3/renderer.rs:272:8
[INFO] [stdout]     |
[INFO] [stdout] 268 | trait GLPixelFormat {
[INFO] [stdout]     |       ------------- method in this trait
[INFO] [stdout] ...
[INFO] [stdout] 272 |     fn gl_pixel_size(&self) -> usize;
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `pixel_uniforms` is never read
[INFO] [stdout]    --> src/renderer/gles3/renderer.rs:381:5
[INFO] [stdout]     |
[INFO] [stdout] 373 | struct GLShader {
[INFO] [stdout]     |        -------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 381 |     pixel_uniforms      : Vec<(String, GLuint)>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `rc` is never read
[INFO] [stdout]    --> src/renderer/gles3/renderer.rs:507:5
[INFO] [stdout]     |
[INFO] [stdout] 499 | pub(crate) struct Gles3Driver {
[INFO] [stdout]     |                   ----------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 507 |     rc              : AtomicIsize,
[INFO] [stdout]     |     ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `filtering` is never read
[INFO] [stdout]   --> src/ui/painter.rs:98:5
[INFO] [stdout]    |
[INFO] [stdout] 87 | struct PaintTexture {
[INFO] [stdout]    |        ------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 98 |     filtering: bool,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `PaintTexture` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `clear` is never used
[INFO] [stdout]   --> src/ui/clipboard.rs:73:8
[INFO] [stdout]    |
[INFO] [stdout] 69 | pub trait ClipboardProvider: Sized {
[INFO] [stdout]    |           ----------------- method in this trait
[INFO] [stdout] ...
[INFO] [stdout] 73 |     fn clear(&mut self) -> Result<()>;
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `position`, `rotation`, and `scale` are never read
[INFO] [stdout]   --> src/scene/mod.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub struct Node {
[INFO] [stdout]    |            ---- fields in this struct
[INFO] [stdout] 12 |     position    : Vec3f,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 13 |     rotation    : Quatf,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 14 |     scale       : Vec3f,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `fov` is never read
[INFO] [stdout]   --> src/scene/view3d.rs:47:5
[INFO] [stdout]    |
[INFO] [stdout] 45 | pub struct View3D {
[INFO] [stdout]    |            ------ field in this struct
[INFO] [stdout] 46 |     camera              : Camera,
[INFO] [stdout] 47 |     fov                 : f32,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Uniforms` is never constructed
[INFO] [stdout]   --> src/scene/utility_mesh.rs:69:14
[INFO] [stdout]    |
[INFO] [stdout] 69 |     uniforms Uniforms {
[INFO] [stdout]    |              ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `$crate::render_data` which comes from the expansion of the macro `render_data` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Action` and `Key`
[INFO] [stdout]   --> examples/grid.rs:33:21
[INFO] [stdout]    |
[INFO] [stdout] 33 | use neocogi::glfw::{Action, Context, Key};
[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: `rs_ctypes::*`
[INFO] [stdout]   --> src/renderer/common.rs:30:5
[INFO] [stdout]    |
[INFO] [stdout] 30 | use rs_ctypes::*;
[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 imports: `DerefMut` and `Deref`
[INFO] [stdout]   --> src/renderer/common.rs:34:17
[INFO] [stdout]    |
[INFO] [stdout] 34 | use core::ops::{Deref, DerefMut};
[INFO] [stdout]    |                 ^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io::Read`
[INFO] [stdout]   --> src/renderer/gles3/readback.rs:37:5
[INFO] [stdout]    |
[INFO] [stdout] 37 | use std::io::Read;
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::readback::*`
[INFO] [stdout]   --> src/renderer/gles3/renderer.rs:34:5
[INFO] [stdout]    |
[INFO] [stdout] 34 | use super::readback::*;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::any::Any`
[INFO] [stdout]   --> src/renderer/gles3/renderer.rs:36:5
[INFO] [stdout]    |
[INFO] [stdout] 36 | use std::any::Any;
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rs_ctypes::*`
[INFO] [stdout]   --> src/renderer/utils.rs:31:5
[INFO] [stdout]    |
[INFO] [stdout] 31 | use rs_ctypes::*;
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::mem`
[INFO] [stdout]  --> /opt/rustwide/target/debug/build/neocogi-5603287463da834a/out/bindings.rs:3:21
[INFO] [stdout]   |
[INFO] [stdout] 3 |             pub use std::mem;
[INFO] [stdout]   |                     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rs_ctypes::*`
[INFO] [stdout]   --> src/ui/painter.rs:65:5
[INFO] [stdout]    |
[INFO] [stdout] 65 | use rs_ctypes::*;
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/ui/painter.rs:279:13
[INFO] [stdout]     |
[INFO] [stdout] 279 |             /// Pending upload (will be emptied later).
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 280 |             pixels: pclone,
[INFO] [stdout]     |             -------------- rustdoc does not generate documentation for expression fields
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout]     = note: `#[warn(unused_doc_comments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/ui/painter.rs:282:13
[INFO] [stdout]     |
[INFO] [stdout] 282 |             /// Lazily uploaded
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 283 |             texture: Some(tex),
[INFO] [stdout]     |             ------------------ rustdoc does not generate documentation for expression fields
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/ui/painter.rs:285:13
[INFO] [stdout]     |
[INFO] [stdout] 285 | /             /// For user textures there is a choice between
[INFO] [stdout] 286 | |             /// Linear (default) and Nearest.
[INFO] [stdout]     | |_____________________________________________^
[INFO] [stdout] 287 |               filtering: true,
[INFO] [stdout]     |               --------------- rustdoc does not generate documentation for expression fields
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/ui/painter.rs:289:13
[INFO] [stdout]     |
[INFO] [stdout] 289 | /             /// User textures can be modified and this flag
[INFO] [stdout] 290 | |             /// is used to indicate if pixel data for the
[INFO] [stdout] 291 | |             /// texture has been updated.
[INFO] [stdout]     | |_________________________________________^
[INFO] [stdout] 292 |               dirty: false,
[INFO] [stdout]     |               ------------ rustdoc does not generate documentation for expression fields
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/ui/painter.rs:342:13
[INFO] [stdout]     |
[INFO] [stdout] 342 |             /// Pending upload (will be emptied later).
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 343 |             pixels: tex.pixels.clone(),
[INFO] [stdout]     |             -------------------------- rustdoc does not generate documentation for expression fields
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/ui/painter.rs:345:13
[INFO] [stdout]     |
[INFO] [stdout] 345 |             /// Lazily uploaded
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 346 |             texture: Some(ptex),
[INFO] [stdout]     |             ------------------- rustdoc does not generate documentation for expression fields
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/ui/painter.rs:348:13
[INFO] [stdout]     |
[INFO] [stdout] 348 | /             /// For user textures there is a choice between
[INFO] [stdout] 349 | |             /// Linear (default) and Nearest.
[INFO] [stdout]     | |_____________________________________________^
[INFO] [stdout] 350 |               filtering: true,
[INFO] [stdout]     |               --------------- rustdoc does not generate documentation for expression fields
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/ui/painter.rs:352:13
[INFO] [stdout]     |
[INFO] [stdout] 352 | /             /// User textures can be modified and this flag
[INFO] [stdout] 353 | |             /// is used to indicate if pixel data for the
[INFO] [stdout] 354 | |             /// texture has been updated.
[INFO] [stdout]     | |_________________________________________^
[INFO] [stdout] 355 |               dirty: false,
[INFO] [stdout]     |               ------------ rustdoc does not generate documentation for expression fields
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]    --> src/ui/painter.rs:458:17
[INFO] [stdout]     |
[INFO] [stdout] 458 |                 (clip_max_x - clip_min_x),
[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] 458 -                 (clip_max_x - clip_min_x),
[INFO] [stdout] 458 +                 clip_max_x - clip_min_x,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]    --> src/ui/painter.rs:459:17
[INFO] [stdout]     |
[INFO] [stdout] 459 |                 (clip_max_y - clip_min_y));
[INFO] [stdout]     |                 ^                       ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 459 -                 (clip_max_y - clip_min_y));
[INFO] [stdout] 459 +                 clip_max_y - clip_min_y);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `clipboard`
[INFO] [stdout]   --> src/ui/input.rs:64:11
[INFO] [stdout]    |
[INFO] [stdout] 64 | #[cfg(not(feature = "clipboard"))]
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected values for `feature` are: `default`, `egui`, `glfw`, `renderer`, `scene`, `ui`, and `with-fonts`
[INFO] [stdout]    = help: consider adding `clipboard` as a feature in `Cargo.toml`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::*`
[INFO] [stdout]   --> src/ui/pointer.rs:30:5
[INFO] [stdout]    |
[INFO] [stdout] 30 | use crate::*;
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::borrow::Borrow`
[INFO] [stdout]  --> src/scene/view3d.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::borrow::Borrow;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::renderer::*`
[INFO] [stdout]   --> src/scene/view3d.rs:36:5
[INFO] [stdout]    |
[INFO] [stdout] 36 | use crate::renderer::*;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ffi::c_void`
[INFO] [stdout]   --> src/scene/utility_mesh.rs:33:5
[INFO] [stdout]    |
[INFO] [stdout] 33 | use std::ffi::c_void;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Action` and `Key`
[INFO] [stdout]   --> examples/triangle.rs:33:21
[INFO] [stdout]    |
[INFO] [stdout] 33 | use neocogi::glfw::{Action, Context, Key};
[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 imports: `Action` and `Key`
[INFO] [stdout]   --> examples/egui.rs:33:21
[INFO] [stdout]    |
[INFO] [stdout] 33 | use neocogi::glfw::{Action, Context, Key};
[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]   --> examples/grid.rs:77:9
[INFO] [stdout]    |
[INFO] [stdout] 77 |     let mut egui_ctx = egui::Context::default();
[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 import: `neocogi::egui::widgets`
[INFO] [stdout]   --> examples/egui.rs:41:5
[INFO] [stdout]    |
[INFO] [stdout] 41 | use neocogi::egui::widgets::*;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> examples/egui.rs:72:9
[INFO] [stdout]    |
[INFO] [stdout] 72 |     let mut egui_ctx = egui::Context::default();
[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: unreachable pattern
[INFO] [stdout]    --> src/renderer/common.rs:776:13
[INFO] [stdout]     |
[INFO] [stdout] 775 |             SamplerType::Sampler2D(PixelChannel { size, wrap: _ }, _) => size,
[INFO] [stdout]     |             --------------------------------------------------------- matches all the relevant values
[INFO] [stdout] 776 |             _ => panic!("no width!")
[INFO] [stdout]     |             ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/renderer/common.rs:783:13
[INFO] [stdout]     |
[INFO] [stdout] 782 |             SamplerType::Sampler2D(_, PixelChannel { size, wrap: _ }) => size,
[INFO] [stdout]     |             --------------------------------------------------------- matches all the relevant values
[INFO] [stdout] 783 |             _ => panic!("no height!")
[INFO] [stdout]     |             ^ no value can reach this
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `driver`
[INFO] [stdout]    --> src/renderer/gles3/readback.rs:224:17
[INFO] [stdout]     |
[INFO] [stdout] 224 |         let mut driver          = lock.as_mut().unwrap();
[INFO] [stdout]     |                 ^^^^^^ help: if this is intentional, prefix it with an underscore: `_driver`
[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/renderer/gles3/readback.rs:224:13
[INFO] [stdout]     |
[INFO] [stdout] 224 |         let mut driver          = lock.as_mut().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: `me`
[INFO] [stdout]    --> src/renderer/gles3/renderer.rs:525:55
[INFO] [stdout]     |
[INFO] [stdout] 525 |         let me : DriverPtrInternal = Arc::new_cyclic(|me| { 
[INFO] [stdout]     |                                                       ^^ help: if this is intentional, prefix it with an underscore: `_me`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sl`
[INFO] [stdout]    --> src/renderer/gles3/renderer.rs:659:25
[INFO] [stdout]     |
[INFO] [stdout] 659 |                     let sl = std::slice::from_raw_parts(ptr2, len);
[INFO] [stdout]     |                         ^^ help: if this is intentional, prefix it with an underscore: `_sl`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `surface`
[INFO] [stdout]     --> src/renderer/gles3/renderer.rs:1385:29
[INFO] [stdout]      |
[INFO] [stdout] 1385 |     fn read_back(&mut self, surface: &TexturePtr, x: u32, y: u32, w: u32, h: u32) -> Option<ReadbackPayload> {
[INFO] [stdout]      |                             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_surface`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]     --> src/renderer/gles3/renderer.rs:1385:51
[INFO] [stdout]      |
[INFO] [stdout] 1385 |     fn read_back(&mut self, surface: &TexturePtr, x: u32, y: u32, w: u32, h: u32) -> Option<ReadbackPayload> {
[INFO] [stdout]      |                                                   ^
[INFO] [stdout]      |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]      |
[INFO] [stdout] 1385 |     fn read_back(&mut self, surface: &TexturePtr, _x: u32, y: u32, w: u32, h: u32) -> Option<ReadbackPayload> {
[INFO] [stdout]      |                                                   +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `ZERO`
[INFO] [stdout]      |
[INFO] [stdout] 1385 -     fn read_back(&mut self, surface: &TexturePtr, x: u32, y: u32, w: u32, h: u32) -> Option<ReadbackPayload> {
[INFO] [stdout] 1385 +     fn read_back(&mut self, surface: &TexturePtr, renderer::gl::ZERO: u32, y: u32, w: u32, h: u32) -> Option<ReadbackPayload> {
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `y`
[INFO] [stdout]     --> src/renderer/gles3/renderer.rs:1385:59
[INFO] [stdout]      |
[INFO] [stdout] 1385 |     fn read_back(&mut self, surface: &TexturePtr, x: u32, y: u32, w: u32, h: u32) -> Option<ReadbackPayload> {
[INFO] [stdout]      |                                                           ^
[INFO] [stdout]      |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]      |
[INFO] [stdout] 1385 |     fn read_back(&mut self, surface: &TexturePtr, x: u32, _y: u32, w: u32, h: u32) -> Option<ReadbackPayload> {
[INFO] [stdout]      |                                                           +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `ZERO`
[INFO] [stdout]      |
[INFO] [stdout] 1385 -     fn read_back(&mut self, surface: &TexturePtr, x: u32, y: u32, w: u32, h: u32) -> Option<ReadbackPayload> {
[INFO] [stdout] 1385 +     fn read_back(&mut self, surface: &TexturePtr, x: u32, renderer::gl::ZERO: u32, w: u32, h: u32) -> Option<ReadbackPayload> {
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `w`
[INFO] [stdout]     --> src/renderer/gles3/renderer.rs:1385:67
[INFO] [stdout]      |
[INFO] [stdout] 1385 |     fn read_back(&mut self, surface: &TexturePtr, x: u32, y: u32, w: u32, h: u32) -> Option<ReadbackPayload> {
[INFO] [stdout]      |                                                                   ^
[INFO] [stdout]      |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]      |
[INFO] [stdout] 1385 |     fn read_back(&mut self, surface: &TexturePtr, x: u32, y: u32, _w: u32, h: u32) -> Option<ReadbackPayload> {
[INFO] [stdout]      |                                                                   +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `ZERO`
[INFO] [stdout]      |
[INFO] [stdout] 1385 -     fn read_back(&mut self, surface: &TexturePtr, x: u32, y: u32, w: u32, h: u32) -> Option<ReadbackPayload> {
[INFO] [stdout] 1385 +     fn read_back(&mut self, surface: &TexturePtr, x: u32, y: u32, renderer::gl::ZERO: u32, h: u32) -> Option<ReadbackPayload> {
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `h`
[INFO] [stdout]     --> src/renderer/gles3/renderer.rs:1385:75
[INFO] [stdout]      |
[INFO] [stdout] 1385 |     fn read_back(&mut self, surface: &TexturePtr, x: u32, y: u32, w: u32, h: u32) -> Option<ReadbackPayload> {
[INFO] [stdout]      |                                                                           ^
[INFO] [stdout]      |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]      |
[INFO] [stdout] 1385 |     fn read_back(&mut self, surface: &TexturePtr, x: u32, y: u32, w: u32, _h: u32) -> Option<ReadbackPayload> {
[INFO] [stdout]      |                                                                           +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `ZERO`
[INFO] [stdout]      |
[INFO] [stdout] 1385 -     fn read_back(&mut self, surface: &TexturePtr, x: u32, y: u32, w: u32, h: u32) -> Option<ReadbackPayload> {
[INFO] [stdout] 1385 +     fn read_back(&mut self, surface: &TexturePtr, x: u32, y: u32, w: u32, renderer::gl::ZERO: u32) -> Option<ReadbackPayload> {
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `window`
[INFO] [stdout]    --> src/ui/painter.rs:156:9
[INFO] [stdout]     |
[INFO] [stdout] 156 |         window: &mut glfw::Window,
[INFO] [stdout]     |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_window`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: linking with `cc` failed: exit status: 1
[INFO] [stdout]   |
[INFO] [stdout]   = note:  "cc" "-m64" "/tmp/rustcAlKb6K/symbols.o" "<2 object files omitted>" "-Wl,--as-needed" "-Wl,-Bstatic" "/opt/rustwide/target/debug/deps/{libneocogi-05eeec796993105e,libegui-2e9c4475a72115d4,libepaint-b3b0f152c3ce797e,libnohash_hasher-ed1914249fb3f096,libab_glyph-f307691fabdd4673,libowned_ttf_parser-4d8a09fb5d184ce6,libttf_parser-48abf501cfa13a48,libab_glyph_rasterizer-27202ff832e268ba,libahash-e1e727e423d949f0,libgetrandom-54944dc9fa1ec0e7,libonce_cell-68133eded2b29c21,libparking_lot-c4dd9da0e420476f,libparking_lot_core-414ad71bc3b2c105,liblibc-0055188c344241fd,libcfg_if-6a7eff3bb9b3cc11,libsmallvec-3c1dc8c0d3b06eaf,liblock_api-b27271b93d1cd28f,libscopeguard-47bb29cb00f6f525,libemath-edd1fed74e05f2ca,librs_math3d-92b347195738a631,librs_ctypes-0f925e70286b2073,libglfw-28ebb2836f857d07,libraw_window_handle-15c3b54dcb2bbde1,libcty-5d7ae21cd97338e3,libbitflags-a56917bef97924b7}.rlib" "<sysroot>/lib/rustlib/x86_64-unknown-linux-gnu/lib/{libstd-*,libpanic_unwind-*,libobject-*,libmemchr-*,libaddr2line-*,libgimli-*,libcfg_if-*,librustc_demangle-*,libstd_detect-*,libhashbrown-*,librustc_std_workspace_alloc-*,libminiz_oxide-*,libadler2-*,libunwind-*,liblibc-*,librustc_std_workspace_core-*,liballoc-*,libcore-*,libcompiler_builtins-*}.rlib" "-Wl,-Bdynamic" "-lglfw" "-lc" "-lGLESv2" "-lm" "-lglfw" "-lX11" "-lgcc_s" "-lutil" "-lrt" "-lpthread" "-lm" "-ldl" "-lc" "-L" "/tmp/rustcAlKb6K/raw-dylibs" "-B<sysroot>/lib/rustlib/x86_64-unknown-linux-gnu/bin/gcc-ld" "-fuse-ld=lld" "-Wl,--eh-frame-hdr" "-Wl,-z,noexecstack" "-L" "<sysroot>/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-o" "/opt/rustwide/target/debug/examples/grid-cb02930ff1e37481" "-Wl,--gc-sections" "-pie" "-Wl,-z,relro,-z,now" "-nodefaultlibs"
[INFO] [stdout]   = note: some arguments are omitted. use `--verbose` to show all linker arguments
[INFO] [stdout]   = note: rust-lld: error: unable to find library -lglfw
[INFO] [stdout]           rust-lld: error: unable to find library -lglfw
[INFO] [stdout]           collect2: error: ld returned 1 exit status
[INFO] [stdout]           
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `neocogi` (example "grid") due to 1 previous error; 2 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] warning: unused variable: `cam_dir`
[INFO] [stdout]    --> src/scene/camera.rs:185:13
[INFO] [stdout]     |
[INFO] [stdout] 185 |         let cam_dir     = Vec3f::normalize(&(self.target - cam_pos));
[INFO] [stdout]     |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_cam_dir`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: linking with `cc` failed: exit status: 1
[INFO] [stdout]   |
[INFO] [stdout]   = note:  "cc" "-m64" "/tmp/rustc77iQZ0/symbols.o" "<2 object files omitted>" "-Wl,--as-needed" "-Wl,-Bstatic" "/opt/rustwide/target/debug/deps/{libneocogi-05eeec796993105e,libegui-2e9c4475a72115d4,libepaint-b3b0f152c3ce797e,libnohash_hasher-ed1914249fb3f096,libab_glyph-f307691fabdd4673,libowned_ttf_parser-4d8a09fb5d184ce6,libttf_parser-48abf501cfa13a48,libab_glyph_rasterizer-27202ff832e268ba,libahash-e1e727e423d949f0,libgetrandom-54944dc9fa1ec0e7,libonce_cell-68133eded2b29c21,libparking_lot-c4dd9da0e420476f,libparking_lot_core-414ad71bc3b2c105,liblibc-0055188c344241fd,libcfg_if-6a7eff3bb9b3cc11,libsmallvec-3c1dc8c0d3b06eaf,liblock_api-b27271b93d1cd28f,libscopeguard-47bb29cb00f6f525,libemath-edd1fed74e05f2ca,librs_math3d-92b347195738a631,librs_ctypes-0f925e70286b2073,libglfw-28ebb2836f857d07,libraw_window_handle-15c3b54dcb2bbde1,libcty-5d7ae21cd97338e3,libbitflags-a56917bef97924b7}.rlib" "<sysroot>/lib/rustlib/x86_64-unknown-linux-gnu/lib/{libstd-*,libpanic_unwind-*,libobject-*,libmemchr-*,libaddr2line-*,libgimli-*,libcfg_if-*,librustc_demangle-*,libstd_detect-*,libhashbrown-*,librustc_std_workspace_alloc-*,libminiz_oxide-*,libadler2-*,libunwind-*,liblibc-*,librustc_std_workspace_core-*,liballoc-*,libcore-*,libcompiler_builtins-*}.rlib" "-Wl,-Bdynamic" "-lglfw" "-lc" "-lGLESv2" "-lm" "-lglfw" "-lX11" "-lgcc_s" "-lutil" "-lrt" "-lpthread" "-lm" "-ldl" "-lc" "-L" "/tmp/rustc77iQZ0/raw-dylibs" "-B<sysroot>/lib/rustlib/x86_64-unknown-linux-gnu/bin/gcc-ld" "-fuse-ld=lld" "-Wl,--eh-frame-hdr" "-Wl,-z,noexecstack" "-L" "<sysroot>/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-o" "/opt/rustwide/target/debug/examples/triangle-89b2cf6fd3fdabd7" "-Wl,--gc-sections" "-pie" "-Wl,-z,relro,-z,now" "-nodefaultlibs"
[INFO] [stdout]   = note: some arguments are omitted. use `--verbose` to show all linker arguments
[INFO] [stdout]   = note: rust-lld: error: unable to find library -lglfw
[INFO] [stdout]           rust-lld: error: unable to find library -lglfw
[INFO] [stdout]           collect2: error: ld returned 1 exit status
[INFO] [stdout]           
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `neocogi` (example "triangle") due to 1 previous error; 1 warning emitted
[INFO] [stdout] error: linking with `cc` failed: exit status: 1
[INFO] [stdout]   |
[INFO] [stdout]   = note:  "cc" "-m64" "/tmp/rustcPcmRLy/symbols.o" "<2 object files omitted>" "-Wl,--as-needed" "-Wl,-Bstatic" "/opt/rustwide/target/debug/deps/{libneocogi-05eeec796993105e,libegui-2e9c4475a72115d4,libepaint-b3b0f152c3ce797e,libnohash_hasher-ed1914249fb3f096,libab_glyph-f307691fabdd4673,libowned_ttf_parser-4d8a09fb5d184ce6,libttf_parser-48abf501cfa13a48,libab_glyph_rasterizer-27202ff832e268ba,libahash-e1e727e423d949f0,libgetrandom-54944dc9fa1ec0e7,libonce_cell-68133eded2b29c21,libparking_lot-c4dd9da0e420476f,libparking_lot_core-414ad71bc3b2c105,liblibc-0055188c344241fd,libcfg_if-6a7eff3bb9b3cc11,libsmallvec-3c1dc8c0d3b06eaf,liblock_api-b27271b93d1cd28f,libscopeguard-47bb29cb00f6f525,libemath-edd1fed74e05f2ca,librs_math3d-92b347195738a631,librs_ctypes-0f925e70286b2073,libglfw-28ebb2836f857d07,libraw_window_handle-15c3b54dcb2bbde1,libcty-5d7ae21cd97338e3,libbitflags-a56917bef97924b7}.rlib" "<sysroot>/lib/rustlib/x86_64-unknown-linux-gnu/lib/{libstd-*,libpanic_unwind-*,libobject-*,libmemchr-*,libaddr2line-*,libgimli-*,libcfg_if-*,librustc_demangle-*,libstd_detect-*,libhashbrown-*,librustc_std_workspace_alloc-*,libminiz_oxide-*,libadler2-*,libunwind-*,liblibc-*,librustc_std_workspace_core-*,liballoc-*,libcore-*,libcompiler_builtins-*}.rlib" "-Wl,-Bdynamic" "-lglfw" "-lc" "-lGLESv2" "-lm" "-lglfw" "-lX11" "-lgcc_s" "-lutil" "-lrt" "-lpthread" "-lm" "-ldl" "-lc" "-L" "/tmp/rustcPcmRLy/raw-dylibs" "-B<sysroot>/lib/rustlib/x86_64-unknown-linux-gnu/bin/gcc-ld" "-fuse-ld=lld" "-Wl,--eh-frame-hdr" "-Wl,-z,noexecstack" "-L" "<sysroot>/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-o" "/opt/rustwide/target/debug/examples/egui-b05ed6989c87c74d" "-Wl,--gc-sections" "-pie" "-Wl,-z,relro,-z,now" "-nodefaultlibs"
[INFO] [stdout]   = note: some arguments are omitted. use `--verbose` to show all linker arguments
[INFO] [stdout]   = note: rust-lld: error: unable to find library -lglfw
[INFO] [stdout]           rust-lld: error: unable to find library -lglfw
[INFO] [stdout]           collect2: error: ld returned 1 exit status
[INFO] [stdout]           
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `commands` is never used
[INFO] [stdout]     --> src/renderer/common.rs:1097:20
[INFO] [stdout]      |
[INFO] [stdout] 1055 | impl Pass {
[INFO] [stdout]      | --------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 1097 |     pub (crate) fn commands(&self) -> &Vec<RenderPassCommand> {
[INFO] [stdout]      |                    ^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `render` and `surface_class` are never used
[INFO] [stdout]    --> src/renderer/gles3/readback.rs:222:8
[INFO] [stdout]     |
[INFO] [stdout] 116 | impl ReadbackDriver {
[INFO] [stdout]     | ------------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 222 |     fn render(&mut self, pass: &mut Pass, tex: TexturePtr, orig_surface_type: OrigSurfaceType) {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 247 |     fn surface_class(surface: &TexturePtr) -> OrigSurfaceClass {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `GLProgram` is never constructed
[INFO] [stdout]   --> src/renderer/gles3/renderer.rs:63:12
[INFO] [stdout]    |
[INFO] [stdout] 63 | pub struct GLProgram {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `GLUniformBlock` is never used
[INFO] [stdout]   --> src/renderer/gles3/renderer.rs:73:7
[INFO] [stdout]    |
[INFO] [stdout] 73 | trait GLUniformBlock {
[INFO] [stdout]    |       ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `gl_pixel_size` is never used
[INFO] [stdout]    --> src/renderer/gles3/renderer.rs:272:8
[INFO] [stdout]     |
[INFO] [stdout] 268 | trait GLPixelFormat {
[INFO] [stdout]     |       ------------- method in this trait
[INFO] [stdout] ...
[INFO] [stdout] 272 |     fn gl_pixel_size(&self) -> usize;
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `pixel_uniforms` is never read
[INFO] [stdout]    --> src/renderer/gles3/renderer.rs:381:5
[INFO] [stdout]     |
[INFO] [stdout] 373 | struct GLShader {
[INFO] [stdout]     |        -------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 381 |     pixel_uniforms      : Vec<(String, GLuint)>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `rc` is never read
[INFO] [stdout]    --> src/renderer/gles3/renderer.rs:507:5
[INFO] [stdout]     |
[INFO] [stdout] 499 | pub(crate) struct Gles3Driver {
[INFO] [stdout]     |                   ----------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 507 |     rc              : AtomicIsize,
[INFO] [stdout]     |     ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `filtering` is never read
[INFO] [stdout]   --> src/ui/painter.rs:98:5
[INFO] [stdout]    |
[INFO] [stdout] 87 | struct PaintTexture {
[INFO] [stdout]    |        ------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 98 |     filtering: bool,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `PaintTexture` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `clear` is never used
[INFO] [stdout]   --> src/ui/clipboard.rs:73:8
[INFO] [stdout]    |
[INFO] [stdout] 69 | pub trait ClipboardProvider: Sized {
[INFO] [stdout]    |           ----------------- method in this trait
[INFO] [stdout] ...
[INFO] [stdout] 73 |     fn clear(&mut self) -> Result<()>;
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `position`, `rotation`, and `scale` are never read
[INFO] [stdout]   --> src/scene/mod.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub struct Node {
[INFO] [stdout]    |            ---- fields in this struct
[INFO] [stdout] 12 |     position    : Vec3f,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 13 |     rotation    : Quatf,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 14 |     scale       : Vec3f,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `fov` is never read
[INFO] [stdout]   --> src/scene/view3d.rs:47:5
[INFO] [stdout]    |
[INFO] [stdout] 45 | pub struct View3D {
[INFO] [stdout]    |            ------ field in this struct
[INFO] [stdout] 46 |     camera              : Camera,
[INFO] [stdout] 47 |     fov                 : f32,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Uniforms` is never constructed
[INFO] [stdout]   --> src/scene/utility_mesh.rs:69:14
[INFO] [stdout]    |
[INFO] [stdout] 69 |     uniforms Uniforms {
[INFO] [stdout]    |              ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `$crate::render_data` which comes from the expansion of the macro `render_data` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `neocogi` (example "egui") due to 1 previous error; 3 warnings emitted
[INFO] [stdout] error: linking with `cc` failed: exit status: 1
[INFO] [stdout]   |
[INFO] [stdout]   = note:  "cc" "-m64" "/tmp/rustcBF6iPh/symbols.o" "<2 object files omitted>" "-Wl,--as-needed" "-Wl,-Bdynamic" "-lglfw" "-lc" "-lGLESv2" "-Wl,-Bstatic" "<sysroot>/lib/rustlib/x86_64-unknown-linux-gnu/lib/{libtest-*,libgetopts-*,librustc_std_workspace_std-*}.rlib" "/opt/rustwide/target/debug/deps/{libegui-2e9c4475a72115d4,libepaint-b3b0f152c3ce797e,libnohash_hasher-ed1914249fb3f096,libab_glyph-f307691fabdd4673,libowned_ttf_parser-4d8a09fb5d184ce6,libttf_parser-48abf501cfa13a48,libab_glyph_rasterizer-27202ff832e268ba,libahash-e1e727e423d949f0,libgetrandom-54944dc9fa1ec0e7,libonce_cell-68133eded2b29c21,libparking_lot-c4dd9da0e420476f,libparking_lot_core-414ad71bc3b2c105,liblibc-0055188c344241fd,libcfg_if-6a7eff3bb9b3cc11,libsmallvec-3c1dc8c0d3b06eaf,liblock_api-b27271b93d1cd28f,libscopeguard-47bb29cb00f6f525,libemath-edd1fed74e05f2ca,librs_math3d-92b347195738a631,librs_ctypes-0f925e70286b2073,libglfw-28ebb2836f857d07,libraw_window_handle-15c3b54dcb2bbde1,libcty-5d7ae21cd97338e3,libbitflags-a56917bef97924b7}.rlib" "<sysroot>/lib/rustlib/x86_64-unknown-linux-gnu/lib/{libstd-*,libpanic_unwind-*,libobject-*,libmemchr-*,libaddr2line-*,libgimli-*,libcfg_if-*,librustc_demangle-*,libstd_detect-*,libhashbrown-*,librustc_std_workspace_alloc-*,libminiz_oxide-*,libadler2-*,libunwind-*,liblibc-*,librustc_std_workspace_core-*,liballoc-*,libcore-*,libcompiler_builtins-*}.rlib" "-Wl,-Bdynamic" "-lm" "-lglfw" "-lX11" "-lgcc_s" "-lutil" "-lrt" "-lpthread" "-lm" "-ldl" "-lc" "-L" "/tmp/rustcBF6iPh/raw-dylibs" "-B<sysroot>/lib/rustlib/x86_64-unknown-linux-gnu/bin/gcc-ld" "-fuse-ld=lld" "-Wl,--eh-frame-hdr" "-Wl,-z,noexecstack" "-L" "<sysroot>/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-o" "/opt/rustwide/target/debug/deps/neocogi-a4b320929edc49e7" "-Wl,--gc-sections" "-pie" "-Wl,-z,relro,-z,now" "-nodefaultlibs"
[INFO] [stdout]   = note: some arguments are omitted. use `--verbose` to show all linker arguments
[INFO] [stdout]   = note: rust-lld: error: unable to find library -lglfw
[INFO] [stdout]           rust-lld: error: unable to find library -lglfw
[INFO] [stdout]           collect2: error: ld returned 1 exit status
[INFO] [stdout]           
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `neocogi` (lib test) due to 1 previous error; 48 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "8c32f2588b7d5beb3608860a03418b97b7bef4552597e5efc3765824dd0aa9f9", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "8c32f2588b7d5beb3608860a03418b97b7bef4552597e5efc3765824dd0aa9f9", kill_on_drop: false }`
[INFO] [stdout] 8c32f2588b7d5beb3608860a03418b97b7bef4552597e5efc3765824dd0aa9f9
