[INFO] fetching crate neocogi 0.2.0...
[INFO] checking neocogi-0.2.0 against 1.95.0 for pr-155915
[INFO] extracting crate neocogi 0.2.0 into /workspace/builds/worker-0-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-0-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate neocogi 0.2.0 on toolchain 1.95.0
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.95.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.95.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded rs-ctypes v0.1.1
[INFO] [stderr]   Downloaded smallvec v1.8.0
[INFO] [stderr]   Downloaded redox_syscall v0.2.13
[INFO] [stderr]   Downloaded ab_glyph_rasterizer v0.1.5
[INFO] [stderr]   Downloaded rs-math3d v0.9.16
[INFO] [stderr]   Downloaded owned_ttf_parser v0.15.0
[INFO] [stderr]   Downloaded once_cell v1.12.0
[INFO] [stderr]   Downloaded getrandom v0.2.6
[INFO] [stderr]   Downloaded lock_api v0.4.7
[INFO] [stderr]   Downloaded atomic_refcell v0.1.8
[INFO] [stderr]   Downloaded emath v0.18.0
[INFO] [stderr]   Downloaded ab_glyph v0.2.15
[INFO] [stderr]   Downloaded parking_lot_core v0.9.3
[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 libc v0.2.126
[INFO] [stderr]   Downloaded epaint v0.18.1
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1.95.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 1a67f1938fab7e279da2e0bb45d6718cd9449ee65dd72d9b87395edd75697646
[INFO] running `Command { std: "docker" "start" "-a" "1a67f1938fab7e279da2e0bb45d6718cd9449ee65dd72d9b87395edd75697646", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "1a67f1938fab7e279da2e0bb45d6718cd9449ee65dd72d9b87395edd75697646", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "1a67f1938fab7e279da2e0bb45d6718cd9449ee65dd72d9b87395edd75697646", kill_on_drop: false }`
[INFO] [stdout] 1a67f1938fab7e279da2e0bb45d6718cd9449ee65dd72d9b87395edd75697646
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1.95.0" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 4c21f03c8ede273de5a39a25c53fa06575a60e576ffdd17e5e5a815278d94f41
[INFO] running `Command { std: "docker" "start" "-a" "4c21f03c8ede273de5a39a25c53fa06575a60e576ffdd17e5e5a815278d94f41", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.126
[INFO] [stderr]    Compiling log v0.4.17
[INFO] [stderr]    Compiling parking_lot_core v0.9.3
[INFO] [stderr]    Compiling cfg-if v1.0.0
[INFO] [stderr]     Checking smallvec v1.8.0
[INFO] [stderr]     Checking ttf-parser v0.15.1
[INFO] [stderr]    Compiling xml-rs v0.8.4
[INFO] [stderr]     Checking once_cell v1.12.0
[INFO] [stderr]     Checking ab_glyph_rasterizer v0.1.5
[INFO] [stderr]     Checking nohash-hasher v0.2.0
[INFO] [stderr]    Compiling rs-math3d v0.9.16
[INFO] [stderr]    Compiling lock_api v0.4.7
[INFO] [stderr]    Compiling ahash v0.7.6
[INFO] [stderr]     Checking emath v0.18.0
[INFO] [stderr]     Checking glfw v0.45.0
[INFO] [stderr]     Checking rs-ctypes v0.1.1
[INFO] [stderr]    Compiling gl_generator v0.14.0
[INFO] [stderr]     Checking getrandom v0.2.6
[INFO] [stderr]     Checking parking_lot v0.12.1
[INFO] [stderr]    Compiling neocogi v0.2.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Checking owned_ttf_parser v0.15.0
[INFO] [stderr]     Checking ab_glyph v0.2.15
[INFO] [stderr]     Checking epaint v0.18.1
[INFO] [stderr]     Checking 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-606915836128e1aa/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 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-606915836128e1aa/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: 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: `driver`
[INFO] [stdout]    --> src/renderer/gles3/readback.rs:224:13
[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: 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: `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: 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: `driver`
[INFO] [stdout]    --> src/renderer/gles3/readback.rs:224:13
[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: 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]      |                                                   ^ help: if this is intentional, prefix it with an underscore: `_x`
[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]      |                                                           ^ help: if this is intentional, prefix it with an underscore: `_y`
[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]      |                                                                   ^ help: if this is intentional, prefix it with an underscore: `_w`
[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]      |                                                                           ^ help: if this is intentional, prefix it with an underscore: `_h`
[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: `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: `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]      |                                                   ^ help: if this is intentional, prefix it with an underscore: `_x`
[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]      |                                                           ^ help: if this is intentional, prefix it with an underscore: `_y`
[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]      |                                                                   ^ help: if this is intentional, prefix it with an underscore: `_w`
[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]      |                                                                           ^ help: if this is intentional, prefix it with an underscore: `_h`
[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: 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: 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/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: 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: `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: 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] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 8.27s
[INFO] running `Command { std: "docker" "inspect" "4c21f03c8ede273de5a39a25c53fa06575a60e576ffdd17e5e5a815278d94f41", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "4c21f03c8ede273de5a39a25c53fa06575a60e576ffdd17e5e5a815278d94f41", kill_on_drop: false }`
[INFO] [stdout] 4c21f03c8ede273de5a39a25c53fa06575a60e576ffdd17e5e5a815278d94f41
