[INFO] cloning repository https://github.com/ShieldedLabs/visualizer_zcash
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/ShieldedLabs/visualizer_zcash" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FShieldedLabs%2Fvisualizer_zcash", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FShieldedLabs%2Fvisualizer_zcash'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 4a7581e0405ffcb9f4ba317a9d0d3a0bfb04f483
[INFO] checking ShieldedLabs/visualizer_zcash against master#377656d3dd3f9c23a9c8713e163f4365a5261a84 for pr-146470-4
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FShieldedLabs%2Fvisualizer_zcash" "/workspace/builds/worker-2-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/ShieldedLabs/visualizer_zcash
[INFO] finished tweaking git repo https://github.com/ShieldedLabs/visualizer_zcash
[INFO] tweaked toml for git repo https://github.com/ShieldedLabs/visualizer_zcash written to /workspace/builds/worker-2-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/ShieldedLabs/visualizer_zcash on toolchain 377656d3dd3f9c23a9c8713e163f4365a5261a84
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+377656d3dd3f9c23a9c8713e163f4365a5261a84" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/ShieldedLabs/visualizer_zcash 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" "+377656d3dd3f9c23a9c8713e163f4365a5261a84" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded twox-hash v2.1.2
[INFO] [stderr]   Downloaded tiny-xlib v0.2.4
[INFO] [stderr]   Downloaded yazi v0.2.1
[INFO] [stderr]   Downloaded softbuffer v0.4.6
[INFO] [stderr]   Downloaded extended v0.1.0
[INFO] [stderr]   Downloaded font-types v0.10.0
[INFO] [stderr]   Downloaded symphonia v0.5.5
[INFO] [stderr]   Downloaded ctor-lite v0.1.0
[INFO] [stderr]   Downloaded symphonia-codec-pcm v0.5.5
[INFO] [stderr]   Downloaded drm-fourcc v2.2.0
[INFO] [stderr]   Downloaded drm-sys v0.7.0
[INFO] [stderr]   Downloaded drm-ffi v0.8.0
[INFO] [stderr]   Downloaded objc2-core-audio-types v0.3.2
[INFO] [stderr]   Downloaded symphonia-bundle-flac v0.5.5
[INFO] [stderr]   Downloaded coreaudio-rs v0.13.0
[INFO] [stderr]   Downloaded unicode-properties v0.1.4
[INFO] [stderr]   Downloaded symphonia-bundle-mp3 v0.5.5
[INFO] [stderr]   Downloaded alsa v0.9.1
[INFO] [stderr]   Downloaded symphonia-core v0.5.5
[INFO] [stderr]   Downloaded cpal v0.16.0
[INFO] [stderr]   Downloaded symphonia-format-isomp4 v0.5.5
[INFO] [stderr]   Downloaded rodio v0.21.1
[INFO] [stderr]   Downloaded drm v0.12.0
[INFO] [stderr]   Downloaded objc2-audio-toolbox v0.3.2
[INFO] [stderr]   Downloaded objc2-core-audio v0.3.2
[INFO] [stderr]   Downloaded swash v0.2.6
[INFO] [stderr]   Downloaded symphonia-codec-aac v0.5.5
[INFO] [stderr]   Downloaded symphonia-codec-vorbis v0.5.5
[INFO] [stderr]   Downloaded skrifa v0.37.0
[INFO] [stderr]   Downloaded symphonia-format-ogg v0.5.5
[INFO] [stderr]   Downloaded symphonia-metadata v0.5.5
[INFO] [stderr]   Downloaded symphonia-utils-xiph v0.5.5
[INFO] [stderr]   Downloaded read-fonts v0.35.0
[INFO] [stderr]   Downloaded symphonia-format-riff v0.5.5
[INFO] [stderr]   Downloaded core-graphics v0.24.0
[INFO] [stderr]   Downloaded zeno v0.3.3
[INFO] [stderr]   Downloaded linux-raw-sys v0.6.5
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+377656d3dd3f9c23a9c8713e163f4365a5261a84" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 687bc655710aa49a98bb6f385a95c04b3859aa3804a026e0cd6b82569a9af5f5
[INFO] running `Command { std: "docker" "start" "-a" "687bc655710aa49a98bb6f385a95c04b3859aa3804a026e0cd6b82569a9af5f5", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "687bc655710aa49a98bb6f385a95c04b3859aa3804a026e0cd6b82569a9af5f5", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "687bc655710aa49a98bb6f385a95c04b3859aa3804a026e0cd6b82569a9af5f5", kill_on_drop: false }`
[INFO] [stdout] 687bc655710aa49a98bb6f385a95c04b3859aa3804a026e0cd6b82569a9af5f5
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+377656d3dd3f9c23a9c8713e163f4365a5261a84" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] e9c9f6e15501bf4a0a7e0cae908fab61fca113210cf5e57bad26e6e56cdec2a0
[INFO] running `Command { std: "docker" "start" "-a" "e9c9f6e15501bf4a0a7e0cae908fab61fca113210cf5e57bad26e6e56cdec2a0", kill_on_drop: false }`
[INFO] [stderr]     Checking cfg-if v1.0.4
[INFO] [stderr]    Compiling proc-macro2 v1.0.103
[INFO] [stderr]    Compiling unicode-ident v1.0.20
[INFO] [stderr]    Compiling quote v1.0.41
[INFO] [stderr]     Checking log v0.4.28
[INFO] [stderr]     Checking bitflags v2.10.0
[INFO] [stderr]    Compiling pkg-config v0.3.32
[INFO] [stderr]    Compiling libc v0.2.177
[INFO] [stderr]    Compiling rustix v1.1.2
[INFO] [stderr]     Checking libloading v0.8.9
[INFO] [stderr]     Checking linux-raw-sys v0.11.0
[INFO] [stderr]     Checking once_cell v1.21.3
[INFO] [stderr]     Checking arrayvec v0.7.6
[INFO] [stderr]     Checking smallvec v1.15.1
[INFO] [stderr]    Compiling shlex v1.3.0
[INFO] [stderr]    Compiling find-msvc-tools v0.1.4
[INFO] [stderr]     Checking dlib v0.5.2
[INFO] [stderr]     Checking bitflags v1.3.2
[INFO] [stderr]     Checking lazy_static v1.5.0
[INFO] [stderr]     Checking downcast-rs v1.2.1
[INFO] [stderr]    Compiling memchr v2.7.6
[INFO] [stderr]     Checking scoped-tls v1.0.1
[INFO] [stderr]    Compiling cc v1.2.43
[INFO] [stderr]    Compiling autocfg v1.5.0
[INFO] [stderr]    Compiling wayland-client v0.31.11
[INFO] [stderr]    Compiling wayland-sys v0.31.7
[INFO] [stderr]     Checking encoding_rs v0.8.35
[INFO] [stderr]    Compiling syn v2.0.108
[INFO] [stderr]    Compiling quick-xml v0.37.5
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling rustix v0.38.44
[INFO] [stderr]     Checking linux-raw-sys v0.4.15
[INFO] [stderr]    Compiling libm v0.2.15
[INFO] [stderr]    Compiling wayland-scanner v0.31.7
[INFO] [stderr]    Compiling getrandom v0.3.4
[INFO] [stderr]    Compiling zerocopy v0.8.27
[INFO] [stderr]    Compiling thiserror v1.0.69
[INFO] [stderr]    Compiling wayland-backend v0.3.11
[INFO] [stderr]    Compiling cfg_aliases v0.2.1
[INFO] [stderr]     Checking simd-adler32 v0.3.7
[INFO] [stderr]    Compiling crc32fast v1.5.0
[INFO] [stderr]    Compiling alsa-sys v0.3.1
[INFO] [stderr]     Checking adler2 v2.0.1
[INFO] [stderr]     Checking slab v0.4.11
[INFO] [stderr]     Checking as-raw-xcb-connection v1.0.1
[INFO] [stderr]    Compiling drm-sys v0.7.0
[INFO] [stderr]     Checking miniz_oxide v0.8.9
[INFO] [stderr]     Checking memmap2 v0.9.9
[INFO] [stderr]     Checking linux-raw-sys v0.6.5
[INFO] [stderr]     Checking strict-num v0.1.1
[INFO] [stderr]     Checking arrayref v0.3.9
[INFO] [stderr]     Checking xkeysym v0.2.1
[INFO] [stderr]    Compiling drm-fourcc v2.2.0
[INFO] [stderr]     Checking core_maths v0.1.1
[INFO] [stderr]    Compiling smithay-client-toolkit v0.19.2
[INFO] [stderr]    Compiling version_check v0.9.5
[INFO] [stderr]     Checking ttf-parser v0.25.1
[INFO] [stderr]     Checking pin-project-lite v0.2.16
[INFO] [stderr]     Checking x11rb-protocol v0.13.2
[INFO] [stderr]     Checking cursor-icon v1.2.0
[INFO] [stderr]     Checking tracing-core v0.1.34
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[INFO] [stderr]     Checking xcursor v0.3.10
[INFO] [stderr]     Checking ppv-lite86 v0.2.21
[INFO] [stderr]     Checking tracing v0.1.41
[INFO] [stderr]    Compiling ahash v0.8.12
[INFO] [stderr]     Checking flate2 v1.1.5
[INFO] [stderr]     Checking fdeflate v0.3.7
[INFO] [stderr]     Checking rand_core v0.9.3
[INFO] [stderr]    Compiling bytemuck_derive v1.10.2
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]     Checking pxfm v0.1.25
[INFO] [stderr]     Checking num-integer v0.1.46
[INFO] [stderr]    Compiling x11-dl v2.21.0
[INFO] [stderr]    Compiling tiny-xlib v0.2.4
[INFO] [stderr]     Checking polling v3.11.0
[INFO] [stderr]     Checking gethostname v1.1.0
[INFO] [stderr]    Compiling cpal v0.16.0
[INFO] [stderr]     Checking scopeguard v1.2.0
[INFO] [stderr]     Checking extended v0.1.0
[INFO] [stderr]     Checking ab_glyph_rasterizer v0.1.10
[INFO] [stderr]     Checking lock_api v0.4.14
[INFO] [stderr]     Checking drm-ffi v0.8.0
[INFO] [stderr]     Checking calloop v0.13.0
[INFO] [stderr]     Checking owned_ttf_parser v0.25.1
[INFO] [stderr]     Checking ab_glyph v0.2.32
[INFO] [stderr]     Checking num-bigint v0.4.6
[INFO] [stderr]     Checking alsa v0.9.1
[INFO] [stderr]     Checking wayland-csd-frame v0.3.0
[INFO] [stderr]     Checking bytemuck v1.24.0
[INFO] [stderr]     Checking rand_chacha v0.9.0
[INFO] [stderr]     Checking png v0.18.0
[INFO] [stderr]     Checking symphonia-core v0.5.5
[INFO] [stderr]     Checking tiny-skia-path v0.11.4
[INFO] [stderr]     Checking font-types v0.10.0
[INFO] [stderr]     Checking tiny-skia v0.11.4
[INFO] [stderr]     Checking moxcms v0.7.9
[INFO] [stderr]    Compiling softbuffer v0.4.6
[INFO] [stderr]    Compiling winit v0.30.12
[INFO] [stderr]     Checking read-fonts v0.35.0
[INFO] [stderr]     Checking wayland-protocols v0.32.9
[INFO] [stderr]     Checking calloop-wayland-source v0.3.0
[INFO] [stderr]     Checking wayland-cursor v0.31.11
[INFO] [stderr]     Checking percent-encoding v2.3.2
[INFO] [stderr]     Checking raw-window-handle v0.6.2
[INFO] [stderr]     Checking symphonia-metadata v0.5.5
[INFO] [stderr]     Checking symphonia-codec-pcm v0.5.5
[INFO] [stderr]     Checking symphonia-codec-aac v0.5.5
[INFO] [stderr]     Checking dasp_sample v0.11.0
[INFO] [stderr]     Checking symphonia-utils-xiph v0.5.5
[INFO] [stderr]     Checking symphonia-codec-vorbis v0.5.5
[INFO] [stderr]     Checking symphonia-bundle-flac v0.5.5
[INFO] [stderr]     Checking symphonia-format-ogg v0.5.5
[INFO] [stderr]     Checking symphonia-format-isomp4 v0.5.5
[INFO] [stderr]     Checking symphonia-bundle-mp3 v0.5.5
[INFO] [stderr]     Checking symphonia-format-riff v0.5.5
[INFO] [stderr]     Checking ctor-lite v0.1.0
[INFO] [stderr]     Checking byteorder-lite v0.1.0
[INFO] [stderr]     Checking parking_lot v0.12.5
[INFO] [stderr]     Checking num-rational v0.4.2
[INFO] [stderr]     Checking drm v0.12.0
[INFO] [stderr]     Checking symphonia v0.5.5
[INFO] [stderr]     Checking rand v0.9.2
[INFO] [stderr]     Checking xkbcommon-dl v0.4.2
[INFO] [stderr]     Checking zeno v0.3.3
[INFO] [stderr]     Checking unicode-script v0.5.7
[INFO] [stderr]     Checking fastrand v2.3.0
[INFO] [stderr]     Checking yazi v0.2.1
[INFO] [stderr]     Checking unicode-ccc v0.4.0
[INFO] [stderr]     Checking unicode-properties v0.1.4
[INFO] [stderr]     Checking dpi v0.1.2
[INFO] [stderr]     Checking unicode-bidi-mirroring v0.4.0
[INFO] [stderr]     Checking smol_str v0.2.2
[INFO] [stderr]     Checking rustybuzz v0.20.1
[INFO] [stderr]     Checking twox-hash v2.1.2
[INFO] [stderr]     Checking rodio v0.21.1
[INFO] [stderr]     Checking num_cpus v1.17.0
[INFO] [stderr]     Checking image v0.25.8
[INFO] [stderr]     Checking skrifa v0.37.0
[INFO] [stderr]     Checking wayland-protocols-wlr v0.3.9
[INFO] [stderr]     Checking wayland-protocols-plasma v0.3.9
[INFO] [stderr]     Checking sctk-adwaita v0.10.1
[INFO] [stderr]     Checking x11rb v0.13.2
[INFO] [stderr]     Checking swash v0.2.6
[INFO] [stderr]     Checking arboard v3.6.1
[INFO] [stderr]     Checking visualizer_zcash v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `twox_hash::XxHash3_64`
[INFO] [stdout]  --> src/viz_gui.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use twox_hash::XxHash3_64;
[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: `MaybeUninit`, `slice_from_raw_parts`, and `transmute`
[INFO] [stdout]   --> src/lib.rs:11:87
[INFO] [stdout]    |
[INFO] [stdout] 11 | ...int::spin_loop, mem::{swap, transmute, MaybeUninit}, ptr::{copy_nonoverlapping, slice_from_raw_parts}, rc::Rc, sync::{atomic::{At...
[INFO] [stdout]    |                                ^^^^^^^^^  ^^^^^^^^^^^                              ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `text`
[INFO] [stdout]   --> src/lib.rs:16:34
[INFO] [stdout]    |
[INFO] [stdout] 16 | use swash::{scale::ScaleContext, text, FontRef};
[INFO] [stdout]    |                                  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `twox_hash::XxHash3_64`
[INFO] [stdout]  --> src/viz_gui.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use twox_hash::XxHash3_64;
[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: `MaybeUninit`, `slice_from_raw_parts`, and `transmute`
[INFO] [stdout]   --> src/lib.rs:11:87
[INFO] [stdout]    |
[INFO] [stdout] 11 | ...int::spin_loop, mem::{swap, transmute, MaybeUninit}, ptr::{copy_nonoverlapping, slice_from_raw_parts}, rc::Rc, sync::{atomic::{At...
[INFO] [stdout]    |                                ^^^^^^^^^  ^^^^^^^^^^^                              ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `text`
[INFO] [stdout]   --> src/lib.rs:16:34
[INFO] [stdout]    |
[INFO] [stdout] 16 | use swash::{scale::ScaleContext, text, FontRef};
[INFO] [stdout]    |                                  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::*`
[INFO] [stdout]     --> src/lib.rs:1742:9
[INFO] [stdout]      |
[INFO] [stdout] 1742 |     use super::*;
[INFO] [stdout]      |         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `winit::event_loop::EventLoop::<T>::run`: use `EventLoop::run_app` instead
[INFO] [stdout]    --> src/lib.rs:892:16
[INFO] [stdout]     |
[INFO] [stdout] 892 |     event_loop.run(move |event, elwt: &winit::event_loop::ActiveEventLoop| {
[INFO] [stdout]     |                ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]    --> src/ui.rs:106:96
[INFO] [stdout]     |
[INFO] [stdout] 106 | ...ackground(ui: &mut Context, data: &mut SomeDataToKeepAround) -> bool {
[INFO] [stdout]     |                                ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `event`
[INFO] [stdout]    --> src/ui.rs:205:13
[INFO] [stdout]     |
[INFO] [stdout] 205 |         let event = ui.textbox("0.00000 cTAZ");
[INFO] [stdout]     |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_event`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x_tol`
[INFO] [stdout]    --> src/ui.rs:610:63
[INFO] [stdout]     |
[INFO] [stdout] 610 |             Size::PercentOfParent { amount: x_pct, tolerance: x_tol } => {
[INFO] [stdout]     |                                                               ^^^^^ help: if this is intentional, prefix it with an underscore: `_x_tol`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x_tol`
[INFO] [stdout]    --> src/ui.rs:617:46
[INFO] [stdout]     |
[INFO] [stdout] 617 |             Size::SumOfChildren { tolerance: x_tol } => {
[INFO] [stdout]     |                                              ^^^^^ help: if this is intentional, prefix it with an underscore: `_x_tol`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `y_tol`
[INFO] [stdout]    --> src/ui.rs:632:63
[INFO] [stdout]     |
[INFO] [stdout] 632 |             Size::PercentOfParent { amount: y_pct, tolerance: y_tol } => {
[INFO] [stdout]     |                                                               ^^^^^ help: if this is intentional, prefix it with an underscore: `_y_tol`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `y_tol`
[INFO] [stdout]    --> src/ui.rs:639:46
[INFO] [stdout]     |
[INFO] [stdout] 639 |             Size::SumOfChildren { tolerance: y_tol } => {
[INFO] [stdout]     |                                              ^^^^^ help: if this is intentional, prefix it with an underscore: `_y_tol`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `winit::event_loop::EventLoop::<T>::run`: use `EventLoop::run_app` instead
[INFO] [stdout]    --> src/lib.rs:892:16
[INFO] [stdout]     |
[INFO] [stdout] 892 |     event_loop.run(move |event, elwt: &winit::event_loop::ActiveEventLoop| {
[INFO] [stdout]     |                ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/viz_gui.rs:162:9
[INFO] [stdout]     |
[INFO] [stdout] 162 |     let mut viz_state = VizState {
[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]    --> src/viz_gui.rs:462:17
[INFO] [stdout]     |
[INFO] [stdout] 462 | fn split_vector(mut x: f32, mut y: f32) -> (f32, f32, f32) {
[INFO] [stdout]     |                 ----^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/viz_gui.rs:462:29
[INFO] [stdout]     |
[INFO] [stdout] 462 | fn split_vector(mut x: f32, mut y: f32) -> (f32, f32, f32) {
[INFO] [stdout]     |                             ----^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `thread_count`
[INFO] [stdout]   --> src/lib.rs:41:13
[INFO] [stdout]    |
[INFO] [stdout] 41 |         let thread_count = (*p_thread_context).thread_count;
[INFO] [stdout]    |             ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_thread_count`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]    --> src/ui.rs:106:96
[INFO] [stdout]     |
[INFO] [stdout] 106 | ...ackground(ui: &mut Context, data: &mut SomeDataToKeepAround) -> bool {
[INFO] [stdout]     |                                ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `event`
[INFO] [stdout]    --> src/ui.rs:205:13
[INFO] [stdout]     |
[INFO] [stdout] 205 |         let event = ui.textbox("0.00000 cTAZ");
[INFO] [stdout]     |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_event`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `thread_count`
[INFO] [stdout]   --> src/lib.rs:94:13
[INFO] [stdout]    |
[INFO] [stdout] 94 |         let thread_count = (*p_thread_context).thread_count;
[INFO] [stdout]    |             ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_thread_count`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x_tol`
[INFO] [stdout]    --> src/ui.rs:610:63
[INFO] [stdout]     |
[INFO] [stdout] 610 |             Size::PercentOfParent { amount: x_pct, tolerance: x_tol } => {
[INFO] [stdout]     |                                                               ^^^^^ help: if this is intentional, prefix it with an underscore: `_x_tol`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x_tol`
[INFO] [stdout]    --> src/ui.rs:617:46
[INFO] [stdout]     |
[INFO] [stdout] 617 |             Size::SumOfChildren { tolerance: x_tol } => {
[INFO] [stdout]     |                                              ^^^^^ help: if this is intentional, prefix it with an underscore: `_x_tol`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `y_tol`
[INFO] [stdout]    --> src/ui.rs:632:63
[INFO] [stdout]     |
[INFO] [stdout] 632 |             Size::PercentOfParent { amount: y_pct, tolerance: y_tol } => {
[INFO] [stdout]     |                                                               ^^^^^ help: if this is intentional, prefix it with an underscore: `_y_tol`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `y_tol`
[INFO] [stdout]    --> src/ui.rs:639:46
[INFO] [stdout]     |
[INFO] [stdout] 639 |             Size::SumOfChildren { tolerance: y_tol } => {
[INFO] [stdout]     |                                              ^^^^^ help: if this is intentional, prefix it with an underscore: `_y_tol`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x1`
[INFO] [stdout]    --> src/lib.rs:442:31
[INFO] [stdout]     |
[INFO] [stdout] 442 |     pub fn set_scissor(&self, x1: isize, y1: isize, x2: isize, y2: isize) {
[INFO] [stdout]     |                               ^^ help: if this is intentional, prefix it with an underscore: `_x1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `y1`
[INFO] [stdout]    --> src/lib.rs:442:42
[INFO] [stdout]     |
[INFO] [stdout] 442 |     pub fn set_scissor(&self, x1: isize, y1: isize, x2: isize, y2: isize) {
[INFO] [stdout]     |                                          ^^ help: if this is intentional, prefix it with an underscore: `_y1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x2`
[INFO] [stdout]    --> src/lib.rs:442:53
[INFO] [stdout]     |
[INFO] [stdout] 442 |     pub fn set_scissor(&self, x1: isize, y1: isize, x2: isize, y2: isize) {
[INFO] [stdout]     |                                                     ^^ help: if this is intentional, prefix it with an underscore: `_x2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `y2`
[INFO] [stdout]    --> src/lib.rs:442:64
[INFO] [stdout]     |
[INFO] [stdout] 442 |     pub fn set_scissor(&self, x1: isize, y1: isize, x2: isize, y2: isize) {
[INFO] [stdout]     |                                                                ^^ help: if this is intentional, prefix it with an underscore: `_y2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/viz_gui.rs:162:9
[INFO] [stdout]     |
[INFO] [stdout] 162 |     let mut viz_state = VizState {
[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: unnecessary `unsafe` block
[INFO] [stdout]     --> src/lib.rs:1193:53
[INFO] [stdout]      |
[INFO] [stdout]  990 | ...                   unsafe {
[INFO] [stdout]      |                       ------ because it's nested under this `unsafe` block
[INFO] [stdout] ...
[INFO] [stdout] 1193 | ...                               unsafe {
[INFO] [stdout]      |                                   ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unused_unsafe)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]     --> src/lib.rs:1530:49
[INFO] [stdout]      |
[INFO] [stdout]  990 | ...                   unsafe {
[INFO] [stdout]      |                       ------ because it's nested under this `unsafe` block
[INFO] [stdout] ...
[INFO] [stdout] 1530 | ...                           unsafe {
[INFO] [stdout]      |                               ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/viz_gui.rs:462:17
[INFO] [stdout]     |
[INFO] [stdout] 462 | fn split_vector(mut x: f32, mut y: f32) -> (f32, f32, f32) {
[INFO] [stdout]     |                 ----^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/viz_gui.rs:462:29
[INFO] [stdout]     |
[INFO] [stdout] 462 | fn split_vector(mut x: f32, mut y: f32) -> (f32, f32, f32) {
[INFO] [stdout]     |                             ----^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `thread_count`
[INFO] [stdout]   --> src/lib.rs:41:13
[INFO] [stdout]    |
[INFO] [stdout] 41 |         let thread_count = (*p_thread_context).thread_count;
[INFO] [stdout]    |             ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_thread_count`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `thread_count`
[INFO] [stdout]   --> src/lib.rs:94:13
[INFO] [stdout]    |
[INFO] [stdout] 94 |         let thread_count = (*p_thread_context).thread_count;
[INFO] [stdout]    |             ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_thread_count`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x1`
[INFO] [stdout]    --> src/lib.rs:442:31
[INFO] [stdout]     |
[INFO] [stdout] 442 |     pub fn set_scissor(&self, x1: isize, y1: isize, x2: isize, y2: isize) {
[INFO] [stdout]     |                               ^^ help: if this is intentional, prefix it with an underscore: `_x1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `y1`
[INFO] [stdout]    --> src/lib.rs:442:42
[INFO] [stdout]     |
[INFO] [stdout] 442 |     pub fn set_scissor(&self, x1: isize, y1: isize, x2: isize, y2: isize) {
[INFO] [stdout]     |                                          ^^ help: if this is intentional, prefix it with an underscore: `_y1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x2`
[INFO] [stdout]    --> src/lib.rs:442:53
[INFO] [stdout]     |
[INFO] [stdout] 442 |     pub fn set_scissor(&self, x1: isize, y1: isize, x2: isize, y2: isize) {
[INFO] [stdout]     |                                                     ^^ help: if this is intentional, prefix it with an underscore: `_x2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `y2`
[INFO] [stdout]    --> src/lib.rs:442:64
[INFO] [stdout]     |
[INFO] [stdout] 442 |     pub fn set_scissor(&self, x1: isize, y1: isize, x2: isize, y2: isize) {
[INFO] [stdout]     |                                                                ^^ help: if this is intentional, prefix it with an underscore: `_y2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/lib.rs:1520:49
[INFO] [stdout]      |
[INFO] [stdout] 1520 | ...                   let mut ups = EndOfFrameBlitCtx {
[INFO] [stdout]      |                           ----^^^
[INFO] [stdout]      |                           |
[INFO] [stdout]      |                           help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/lib.rs:887:9
[INFO] [stdout]     |
[INFO] [stdout] 887 |     let mut t: f64 = 0.0;
[INFO] [stdout]     |         ----^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `thread_id`
[INFO] [stdout]     --> src/lib.rs:1529:46
[INFO] [stdout]      |
[INFO] [stdout] 1529 | ...                   |thread_id: usize, work_id: usize, work_count: usize, user_pointer: usize| {
[INFO] [stdout]      |                        ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_thread_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `thread_id`
[INFO] [stdout]     --> src/lib.rs:1192:50
[INFO] [stdout]      |
[INFO] [stdout] 1192 | ...                   |thread_id: usize, work_id: usize, work_count: usize, user_pointer: usize| {
[INFO] [stdout]      |                        ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_thread_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `intra_row_mask`
[INFO] [stdout]     --> src/lib.rs:1196:61
[INFO] [stdout]      |
[INFO] [stdout] 1196 | ...                   let intra_row_mask = ctx.render_target_stride.wrapping_sub(1);
[INFO] [stdout]      |                           ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_intra_row_mask`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `debug_pixel`
[INFO] [stdout]     --> src/lib.rs:1209:61
[INFO] [stdout]      |
[INFO] [stdout] 1209 | ...                   let debug_pixel = (*(*ctx.draw_ctx).debug_pixel_inspector).unwrap_or((usize::MAX, usize::MAX));
[INFO] [stdout]      |                           ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_debug_pixel`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `softbuffer_context`
[INFO] [stdout]    --> src/lib.rs:911:25
[INFO] [stdout]     |
[INFO] [stdout] 911 |                     let softbuffer_context = softbuffer_context.as_mut().unwrap();
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_softbuffer_context`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `device_id`
[INFO] [stdout]    --> src/lib.rs:921:74
[INFO] [stdout]     |
[INFO] [stdout] 921 | ...                   winit::event::WindowEvent::CursorMoved { device_id, position } => {
[INFO] [stdout]     |                                                                ^^^^^^^^^ help: try ignoring the field: `device_id: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `device_id`
[INFO] [stdout]    --> src/lib.rs:925:75
[INFO] [stdout]     |
[INFO] [stdout] 925 | ...                   winit::event::WindowEvent::PinchGesture { device_id, delta, phase } => {
[INFO] [stdout]     |                                                                 ^^^^^^^^^ help: try ignoring the field: `device_id: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `phase`
[INFO] [stdout]    --> src/lib.rs:925:93
[INFO] [stdout]     |
[INFO] [stdout] 925 | ...                   winit::event::WindowEvent::PinchGesture { device_id, delta, phase } => {
[INFO] [stdout]     |                                                                                   ^^^^^ help: try ignoring the field: `phase: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `device_id`
[INFO] [stdout]    --> src/lib.rs:928:73
[INFO] [stdout]     |
[INFO] [stdout] 928 | ...                   winit::event::WindowEvent::MouseWheel { device_id, delta, phase } => {
[INFO] [stdout]     |                                                               ^^^^^^^^^ help: try ignoring the field: `device_id: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `phase`
[INFO] [stdout]    --> src/lib.rs:928:91
[INFO] [stdout]     |
[INFO] [stdout] 928 | ...                   winit::event::WindowEvent::MouseWheel { device_id, delta, phase } => {
[INFO] [stdout]     |                                                                                 ^^^^^ help: try ignoring the field: `phase: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]    --> src/lib.rs:944:87
[INFO] [stdout]     |
[INFO] [stdout] 944 | ...                   winit::event::MouseScrollDelta::LineDelta(x, y) => {
[INFO] [stdout]     |                                                                 ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `device_id`
[INFO] [stdout]    --> src/lib.rs:954:73
[INFO] [stdout]     |
[INFO] [stdout] 954 | ...                   winit::event::WindowEvent::MouseInput { device_id, state, button } => {
[INFO] [stdout]     |                                                               ^^^^^^^^^ help: try ignoring the field: `device_id: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `device_id`
[INFO] [stdout]    --> src/lib.rs:959:76
[INFO] [stdout]     |
[INFO] [stdout] 959 | ...                   winit::event::WindowEvent::KeyboardInput { device_id, event, is_synthetic } => {
[INFO] [stdout]     |                                                                  ^^^^^^^^^ help: try ignoring the field: `device_id: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `is_synthetic`
[INFO] [stdout]    --> src/lib.rs:959:94
[INFO] [stdout]     |
[INFO] [stdout] 959 | ...                   winit::event::WindowEvent::KeyboardInput { device_id, event, is_synthetic } => {
[INFO] [stdout]     |                                                                                    ^^^^^^^^^^^^ help: try ignoring the field: `is_synthetic: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `frame_pace_us`
[INFO] [stdout]     --> src/lib.rs:1667:49
[INFO] [stdout]      |
[INFO] [stdout] 1667 | ...                   let frame_pace_us = last_call_to_present_instant.elapsed().as_micros() as u64;
[INFO] [stdout]      |                           ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_frame_pace_us`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value captured by `prev_frame_time_single_threaded_us` is never read
[INFO] [stdout]     --> src/lib.rs:1171:45
[INFO] [stdout]      |
[INFO] [stdout] 1171 | ...                   prev_frame_time_single_threaded_us = begin_frame_instant.elapsed().as_micros() as usize;
[INFO] [stdout]      |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = help: did you mean to capture by reference instead?
[INFO] [stdout]      = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value captured by `prev_frame_time_us` is never read
[INFO] [stdout]     --> src/lib.rs:1511:45
[INFO] [stdout]      |
[INFO] [stdout] 1511 | ...                   prev_frame_time_us = begin_frame_instant.elapsed().as_micros() as usize;
[INFO] [stdout]      |                       ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = help: did you mean to capture by reference instead?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `t`
[INFO] [stdout]    --> src/lib.rs:887:9
[INFO] [stdout]     |
[INFO] [stdout] 887 |     let mut t: f64 = 0.0;
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `R`
[INFO] [stdout]     |
[INFO] [stdout] 887 -     let mut t: f64 = 0.0;
[INFO] [stdout] 887 +     let loop_curve::R: f64 = 0.0;
[INFO] [stdout]     |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]     |
[INFO] [stdout] 887 -     let mut t: f64 = 0.0;
[INFO] [stdout] 887 +     let _t: f64 = 0.0;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `RENDER_TILE_INTRA_MASK` is never used
[INFO] [stdout]   --> src/lib.rs:20:7
[INFO] [stdout]    |
[INFO] [stdout] 20 | const RENDER_TILE_INTRA_MASK: usize = RENDER_TILE_SIZE.wrapping_sub(1);
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `key_released` and `mouse_released` are never used
[INFO] [stdout]    --> src/lib.rs:575:8
[INFO] [stdout]     |
[INFO] [stdout] 550 | impl InputCtx {
[INFO] [stdout]     | ------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 575 |     fn key_released(&self, key: winit::keyboard::KeyCode) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 617 |     fn mouse_released(&self, button: winit::event::MouseButton) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `linear_to_srgb_one_channel_float` is never used
[INFO] [stdout]     --> src/lib.rs:1781:4
[INFO] [stdout]      |
[INFO] [stdout] 1781 | fn linear_to_srgb_one_channel_float(linear: f32) -> f32 {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `srgb_to_linear_one_channel_float` is never used
[INFO] [stdout]     --> src/lib.rs:1789:4
[INFO] [stdout]      |
[INFO] [stdout] 1789 | fn srgb_to_linear_one_channel_float(srgb: f32) -> f32 {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]     --> src/lib.rs:1193:53
[INFO] [stdout]      |
[INFO] [stdout]  990 | ...                   unsafe {
[INFO] [stdout]      |                       ------ because it's nested under this `unsafe` block
[INFO] [stdout] ...
[INFO] [stdout] 1193 | ...                               unsafe {
[INFO] [stdout]      |                                   ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unused_unsafe)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]     --> src/lib.rs:1530:49
[INFO] [stdout]      |
[INFO] [stdout]  990 | ...                   unsafe {
[INFO] [stdout]      |                       ------ because it's nested under this `unsafe` block
[INFO] [stdout] ...
[INFO] [stdout] 1530 | ...                           unsafe {
[INFO] [stdout]      |                               ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `messages` and `can_send_messages` are never read
[INFO] [stdout]    --> src/ui.rs:102:9
[INFO] [stdout]     |
[INFO] [stdout] 101 | pub struct SomeDataToKeepAround {
[INFO] [stdout]     |            -------------------- fields in this struct
[INFO] [stdout] 102 |     pub messages:          Vec<String>,
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout] 103 |     pub can_send_messages: bool,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `SomeDataToKeepAround` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `container`, `checkbox`, `checkbox_ex`, `newline`, `push_style`, and `pop_style` are never used
[INFO] [stdout]    --> src/ui.rs:276:12
[INFO] [stdout]     |
[INFO] [stdout] 265 | impl Context {
[INFO] [stdout]     | ------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 276 |     pub fn container(&mut self, rect: Rect) -> WidgetId {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 330 |     pub fn checkbox(&mut self, label: &str) -> bool {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 335 |     pub fn checkbox_ex(&mut self, label: &str, flags: Flags) -> WidgetEvents {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 360 |     pub fn newline(&mut self) {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 373 |     pub fn push_style(&mut self, style: Style) {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 378 |     pub fn pop_style(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `SumOfChildren` is never constructed
[INFO] [stdout]    --> src/ui.rs:947:5
[INFO] [stdout]     |
[INFO] [stdout] 938 | enum Size {
[INFO] [stdout]     |      ---- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 947 |     SumOfChildren {
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Size` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `slider_value`, `slider_value_min`, and `slider_value_max` are never read
[INFO] [stdout]    --> src/ui.rs:974:5
[INFO] [stdout]     |
[INFO] [stdout] 953 | struct Widget {
[INFO] [stdout]     |        ------ fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 974 |     slider_value:     f32,
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout] 975 |     slider_value_min: f32,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 976 |     slider_value_max: f32,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Widget` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `drag_delta`, `released`, and `resizing` are never read
[INFO] [stdout]    --> src/ui.rs:984:5
[INFO] [stdout]     |
[INFO] [stdout] 982 | pub struct WidgetEvents {
[INFO] [stdout]     |            ------------ fields in this struct
[INFO] [stdout] 983 |     mouse:      (isize, isize),
[INFO] [stdout] 984 |     drag_delta: (isize, isize),
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 990 |     released: bool,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] 991 |     resizing: bool,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `WidgetEvents` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]     --> src/ui.rs:1004:10
[INFO] [stdout]      |
[INFO] [stdout] 1004 |     Text(Font, isize, isize, Color, String),
[INFO] [stdout]      |     ---- ^^^^
[INFO] [stdout]      |     |
[INFO] [stdout]      |     field in this variant
[INFO] [stdout]      |
[INFO] [stdout]      = note: `DrawCommand` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]      |
[INFO] [stdout] 1004 -     Text(Font, isize, isize, Color, String),
[INFO] [stdout] 1004 +     Text((), isize, isize, Color, String),
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Scissor` is never constructed
[INFO] [stdout]     --> src/ui.rs:1000:5
[INFO] [stdout]      |
[INFO] [stdout]  999 | pub enum DrawCommand {
[INFO] [stdout]      |          ----------- variant in this enum
[INFO] [stdout] 1000 |     Scissor(Rect),
[INFO] [stdout]      |     ^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `DrawCommand` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]     --> src/ui.rs:1008:17
[INFO] [stdout]      |
[INFO] [stdout] 1008 | pub struct Font(u64);
[INFO] [stdout]      |            ---- ^^^
[INFO] [stdout]      |            |
[INFO] [stdout]      |            field in this struct
[INFO] [stdout]      |
[INFO] [stdout]      = help: consider removing this field
[INFO] [stdout]      = note: `Font` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `ZERO`, `cut_from_top`, `cut_from_bottom`, `outset`, `prepare`, and `intersect` are never used
[INFO] [stdout]     --> src/ui.rs:1021:15
[INFO] [stdout]      |
[INFO] [stdout] 1020 | impl Rect {
[INFO] [stdout]      | --------- associated items in this implementation
[INFO] [stdout] 1021 |     pub const ZERO: Self = Self { x1: 0f32, y1: 0f32, x2: 0f32, y2: 0f32 };
[INFO] [stdout]      |               ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1052 |     pub fn cut_from_top(&mut self, a: f32) -> Self {
[INFO] [stdout]      |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1058 |     pub fn cut_from_bottom(&mut self, a: f32) -> Self {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1068 |     pub fn outset(&self, amount: f32) -> Self {
[INFO] [stdout]      |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1072 |     pub fn prepare(&mut self, from: CutFrom) -> Cut {
[INFO] [stdout]      |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1076 |     pub fn intersect(&self, other: Self) -> Self {
[INFO] [stdout]      |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Cut` is never constructed
[INFO] [stdout]     --> src/ui.rs:1086:12
[INFO] [stdout]      |
[INFO] [stdout] 1086 | pub struct Cut {
[INFO] [stdout]      |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `CutFrom` is never used
[INFO] [stdout]     --> src/ui.rs:1092:10
[INFO] [stdout]      |
[INFO] [stdout] 1092 | pub enum CutFrom {
[INFO] [stdout]      |          ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `make` is never used
[INFO] [stdout]     --> src/ui.rs:1100:12
[INFO] [stdout]      |
[INFO] [stdout] 1099 | impl Cut {
[INFO] [stdout]      | -------- method in this implementation
[INFO] [stdout] 1100 |     pub fn make(&self, amount: f32) -> Rect {
[INFO] [stdout]      |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `DEBUG_GREEN`, `DEBUG_BLUE`, `DEBUG_YELLOW`, `DEBUG_CYAN`, and `rgba` are never used
[INFO] [stdout]     --> src/ui.rs:1120:15
[INFO] [stdout]      |
[INFO] [stdout] 1118 | impl Color {
[INFO] [stdout]      | ---------- associated items in this implementation
[INFO] [stdout] 1119 |     pub const DEBUG_RED:     Self = Self { r: 1.0, g: 0.0, b: 0.0, a: 1.0 };
[INFO] [stdout] 1120 |     pub const DEBUG_GREEN:   Self = Self { r: 0.0, g: 1.0, b: 0.0, a: 1.0 };
[INFO] [stdout]      |               ^^^^^^^^^^^
[INFO] [stdout] 1121 |     pub const DEBUG_BLUE:    Self = Self { r: 0.0, g: 0.0, b: 1.0, a: 1.0 };
[INFO] [stdout]      |               ^^^^^^^^^^
[INFO] [stdout] 1122 |     pub const DEBUG_YELLOW:  Self = Self { r: 1.0, g: 1.0, b: 0.0, a: 1.0 };
[INFO] [stdout]      |               ^^^^^^^^^^^^
[INFO] [stdout] 1123 |     pub const DEBUG_MAGENTA: Self = Self { r: 1.0, g: 0.0, b: 1.0, a: 1.0 };
[INFO] [stdout] 1124 |     pub const DEBUG_CYAN:    Self = Self { r: 0.0, g: 1.0, b: 1.0, a: 1.0 };
[INFO] [stdout]      |               ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1130 |     pub fn rgba(r: f32, g: f32, b: f32, a: f32) -> Self {
[INFO] [stdout]      |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `accent` and `highlight` are never read
[INFO] [stdout]     --> src/ui.rs:1166:9
[INFO] [stdout]      |
[INFO] [stdout] 1163 | pub struct Style {
[INFO] [stdout]      |            ----- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 1166 |     pub accent:     Color,
[INFO] [stdout]      |         ^^^^^^
[INFO] [stdout] 1167 |     pub border:     Color,
[INFO] [stdout] 1168 |     pub highlight:  Color,
[INFO] [stdout]      |         ^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Style` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `peek_mut` are never used
[INFO] [stdout]     --> src/ui.rs:1197:8
[INFO] [stdout]      |
[INFO] [stdout] 1196 | impl<T> Stack<T> {
[INFO] [stdout]      | ---------------- associated items in this implementation
[INFO] [stdout] 1197 |     fn new() -> Self {
[INFO] [stdout]      |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 1219 |     fn peek_mut(&mut self) -> &mut T {
[INFO] [stdout]      |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `rtype` is never read
[INFO] [stdout]   --> src/viz_gui.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub struct RequestToZebra {
[INFO] [stdout]    |            -------------- field in this struct
[INFO] [stdout] 12 |     rtype: u8,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `split_vector` is never used
[INFO] [stdout]    --> src/viz_gui.rs:462:4
[INFO] [stdout]     |
[INFO] [stdout] 462 | fn split_vector(mut x: f32, mut y: f32) -> (f32, f32, f32) {
[INFO] [stdout]     |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `r` should have an upper case name
[INFO] [stdout]    --> src/lib.rs:716:11
[INFO] [stdout]     |
[INFO] [stdout] 716 |     const r: f64 = 3.0; // rolling circle radius
[INFO] [stdout]     |           ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(non_upper_case_globals)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] help: convert the identifier to upper case
[INFO] [stdout]     |
[INFO] [stdout] 716 -     const r: f64 = 3.0; // rolling circle radius
[INFO] [stdout] 716 +     const R: f64 = 3.0; // rolling circle radius
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `d` should have an upper case name
[INFO] [stdout]    --> src/lib.rs:717:11
[INFO] [stdout]     |
[INFO] [stdout] 717 |     const d: f64 = 4.0; // pen offset from the rolling circle center
[INFO] [stdout]     |           ^
[INFO] [stdout]     |
[INFO] [stdout] help: convert the identifier to upper case
[INFO] [stdout]     |
[INFO] [stdout] 717 -     const d: f64 = 4.0; // pen offset from the rolling circle center
[INFO] [stdout] 717 +     const D: f64 = 4.0; // pen offset from the rolling circle center
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/lib.rs:1520:49
[INFO] [stdout]      |
[INFO] [stdout] 1520 | ...                   let mut ups = EndOfFrameBlitCtx {
[INFO] [stdout]      |                           ----^^^
[INFO] [stdout]      |                           |
[INFO] [stdout]      |                           help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/lib.rs:887:9
[INFO] [stdout]     |
[INFO] [stdout] 887 |     let mut t: f64 = 0.0;
[INFO] [stdout]     |         ----^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `thread_id`
[INFO] [stdout]     --> src/lib.rs:1529:46
[INFO] [stdout]      |
[INFO] [stdout] 1529 | ...                   |thread_id: usize, work_id: usize, work_count: usize, user_pointer: usize| {
[INFO] [stdout]      |                        ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_thread_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `thread_id`
[INFO] [stdout]     --> src/lib.rs:1192:50
[INFO] [stdout]      |
[INFO] [stdout] 1192 | ...                   |thread_id: usize, work_id: usize, work_count: usize, user_pointer: usize| {
[INFO] [stdout]      |                        ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_thread_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `intra_row_mask`
[INFO] [stdout]     --> src/lib.rs:1196:61
[INFO] [stdout]      |
[INFO] [stdout] 1196 | ...                   let intra_row_mask = ctx.render_target_stride.wrapping_sub(1);
[INFO] [stdout]      |                           ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_intra_row_mask`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `debug_pixel`
[INFO] [stdout]     --> src/lib.rs:1209:61
[INFO] [stdout]      |
[INFO] [stdout] 1209 | ...                   let debug_pixel = (*(*ctx.draw_ctx).debug_pixel_inspector).unwrap_or((usize::MAX, usize::MAX));
[INFO] [stdout]      |                           ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_debug_pixel`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `softbuffer_context`
[INFO] [stdout]    --> src/lib.rs:911:25
[INFO] [stdout]     |
[INFO] [stdout] 911 |                     let softbuffer_context = softbuffer_context.as_mut().unwrap();
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_softbuffer_context`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `device_id`
[INFO] [stdout]    --> src/lib.rs:921:74
[INFO] [stdout]     |
[INFO] [stdout] 921 | ...                   winit::event::WindowEvent::CursorMoved { device_id, position } => {
[INFO] [stdout]     |                                                                ^^^^^^^^^ help: try ignoring the field: `device_id: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `device_id`
[INFO] [stdout]    --> src/lib.rs:925:75
[INFO] [stdout]     |
[INFO] [stdout] 925 | ...                   winit::event::WindowEvent::PinchGesture { device_id, delta, phase } => {
[INFO] [stdout]     |                                                                 ^^^^^^^^^ help: try ignoring the field: `device_id: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `phase`
[INFO] [stdout]    --> src/lib.rs:925:93
[INFO] [stdout]     |
[INFO] [stdout] 925 | ...                   winit::event::WindowEvent::PinchGesture { device_id, delta, phase } => {
[INFO] [stdout]     |                                                                                   ^^^^^ help: try ignoring the field: `phase: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `device_id`
[INFO] [stdout]    --> src/lib.rs:928:73
[INFO] [stdout]     |
[INFO] [stdout] 928 | ...                   winit::event::WindowEvent::MouseWheel { device_id, delta, phase } => {
[INFO] [stdout]     |                                                               ^^^^^^^^^ help: try ignoring the field: `device_id: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `phase`
[INFO] [stdout]    --> src/lib.rs:928:91
[INFO] [stdout]     |
[INFO] [stdout] 928 | ...                   winit::event::WindowEvent::MouseWheel { device_id, delta, phase } => {
[INFO] [stdout]     |                                                                                 ^^^^^ help: try ignoring the field: `phase: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]    --> src/lib.rs:944:87
[INFO] [stdout]     |
[INFO] [stdout] 944 | ...                   winit::event::MouseScrollDelta::LineDelta(x, y) => {
[INFO] [stdout]     |                                                                 ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `device_id`
[INFO] [stdout]    --> src/lib.rs:954:73
[INFO] [stdout]     |
[INFO] [stdout] 954 | ...                   winit::event::WindowEvent::MouseInput { device_id, state, button } => {
[INFO] [stdout]     |                                                               ^^^^^^^^^ help: try ignoring the field: `device_id: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `device_id`
[INFO] [stdout]    --> src/lib.rs:959:76
[INFO] [stdout]     |
[INFO] [stdout] 959 | ...                   winit::event::WindowEvent::KeyboardInput { device_id, event, is_synthetic } => {
[INFO] [stdout]     |                                                                  ^^^^^^^^^ help: try ignoring the field: `device_id: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `is_synthetic`
[INFO] [stdout]    --> src/lib.rs:959:94
[INFO] [stdout]     |
[INFO] [stdout] 959 | ...                   winit::event::WindowEvent::KeyboardInput { device_id, event, is_synthetic } => {
[INFO] [stdout]     |                                                                                    ^^^^^^^^^^^^ help: try ignoring the field: `is_synthetic: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `frame_pace_us`
[INFO] [stdout]     --> src/lib.rs:1667:49
[INFO] [stdout]      |
[INFO] [stdout] 1667 | ...                   let frame_pace_us = last_call_to_present_instant.elapsed().as_micros() as u64;
[INFO] [stdout]      |                           ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_frame_pace_us`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value captured by `prev_frame_time_single_threaded_us` is never read
[INFO] [stdout]     --> src/lib.rs:1171:45
[INFO] [stdout]      |
[INFO] [stdout] 1171 | ...                   prev_frame_time_single_threaded_us = begin_frame_instant.elapsed().as_micros() as usize;
[INFO] [stdout]      |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = help: did you mean to capture by reference instead?
[INFO] [stdout]      = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value captured by `prev_frame_time_us` is never read
[INFO] [stdout]     --> src/lib.rs:1511:45
[INFO] [stdout]      |
[INFO] [stdout] 1511 | ...                   prev_frame_time_us = begin_frame_instant.elapsed().as_micros() as usize;
[INFO] [stdout]      |                       ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = help: did you mean to capture by reference instead?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `t`
[INFO] [stdout]    --> src/lib.rs:887:9
[INFO] [stdout]     |
[INFO] [stdout] 887 |     let mut t: f64 = 0.0;
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `R`
[INFO] [stdout]     |
[INFO] [stdout] 887 -     let mut t: f64 = 0.0;
[INFO] [stdout] 887 +     let loop_curve::R: f64 = 0.0;
[INFO] [stdout]     |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]     |
[INFO] [stdout] 887 -     let mut t: f64 = 0.0;
[INFO] [stdout] 887 +     let _t: f64 = 0.0;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `RENDER_TILE_INTRA_MASK` is never used
[INFO] [stdout]   --> src/lib.rs:20:7
[INFO] [stdout]    |
[INFO] [stdout] 20 | const RENDER_TILE_INTRA_MASK: usize = RENDER_TILE_SIZE.wrapping_sub(1);
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `key_released` and `mouse_released` are never used
[INFO] [stdout]    --> src/lib.rs:575:8
[INFO] [stdout]     |
[INFO] [stdout] 550 | impl InputCtx {
[INFO] [stdout]     | ------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 575 |     fn key_released(&self, key: winit::keyboard::KeyCode) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 617 |     fn mouse_released(&self, button: winit::event::MouseButton) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `linear_to_srgb_one_channel_float` is never used
[INFO] [stdout]     --> src/lib.rs:1781:4
[INFO] [stdout]      |
[INFO] [stdout] 1781 | fn linear_to_srgb_one_channel_float(linear: f32) -> f32 {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `srgb_to_linear_one_channel_float` is never used
[INFO] [stdout]     --> src/lib.rs:1789:4
[INFO] [stdout]      |
[INFO] [stdout] 1789 | fn srgb_to_linear_one_channel_float(srgb: f32) -> f32 {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `messages` and `can_send_messages` are never read
[INFO] [stdout]    --> src/ui.rs:102:9
[INFO] [stdout]     |
[INFO] [stdout] 101 | pub struct SomeDataToKeepAround {
[INFO] [stdout]     |            -------------------- fields in this struct
[INFO] [stdout] 102 |     pub messages:          Vec<String>,
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout] 103 |     pub can_send_messages: bool,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `SomeDataToKeepAround` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `container`, `checkbox`, `checkbox_ex`, `newline`, `push_style`, and `pop_style` are never used
[INFO] [stdout]    --> src/ui.rs:276:12
[INFO] [stdout]     |
[INFO] [stdout] 265 | impl Context {
[INFO] [stdout]     | ------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 276 |     pub fn container(&mut self, rect: Rect) -> WidgetId {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 330 |     pub fn checkbox(&mut self, label: &str) -> bool {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 335 |     pub fn checkbox_ex(&mut self, label: &str, flags: Flags) -> WidgetEvents {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 360 |     pub fn newline(&mut self) {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 373 |     pub fn push_style(&mut self, style: Style) {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 378 |     pub fn pop_style(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `SumOfChildren` is never constructed
[INFO] [stdout]    --> src/ui.rs:947:5
[INFO] [stdout]     |
[INFO] [stdout] 938 | enum Size {
[INFO] [stdout]     |      ---- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 947 |     SumOfChildren {
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Size` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `slider_value`, `slider_value_min`, and `slider_value_max` are never read
[INFO] [stdout]    --> src/ui.rs:974:5
[INFO] [stdout]     |
[INFO] [stdout] 953 | struct Widget {
[INFO] [stdout]     |        ------ fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 974 |     slider_value:     f32,
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout] 975 |     slider_value_min: f32,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 976 |     slider_value_max: f32,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Widget` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `drag_delta`, `released`, and `resizing` are never read
[INFO] [stdout]    --> src/ui.rs:984:5
[INFO] [stdout]     |
[INFO] [stdout] 982 | pub struct WidgetEvents {
[INFO] [stdout]     |            ------------ fields in this struct
[INFO] [stdout] 983 |     mouse:      (isize, isize),
[INFO] [stdout] 984 |     drag_delta: (isize, isize),
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 990 |     released: bool,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] 991 |     resizing: bool,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `WidgetEvents` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]     --> src/ui.rs:1004:10
[INFO] [stdout]      |
[INFO] [stdout] 1004 |     Text(Font, isize, isize, Color, String),
[INFO] [stdout]      |     ---- ^^^^
[INFO] [stdout]      |     |
[INFO] [stdout]      |     field in this variant
[INFO] [stdout]      |
[INFO] [stdout]      = note: `DrawCommand` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]      |
[INFO] [stdout] 1004 -     Text(Font, isize, isize, Color, String),
[INFO] [stdout] 1004 +     Text((), isize, isize, Color, String),
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Scissor` is never constructed
[INFO] [stdout]     --> src/ui.rs:1000:5
[INFO] [stdout]      |
[INFO] [stdout]  999 | pub enum DrawCommand {
[INFO] [stdout]      |          ----------- variant in this enum
[INFO] [stdout] 1000 |     Scissor(Rect),
[INFO] [stdout]      |     ^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `DrawCommand` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]     --> src/ui.rs:1008:17
[INFO] [stdout]      |
[INFO] [stdout] 1008 | pub struct Font(u64);
[INFO] [stdout]      |            ---- ^^^
[INFO] [stdout]      |            |
[INFO] [stdout]      |            field in this struct
[INFO] [stdout]      |
[INFO] [stdout]      = help: consider removing this field
[INFO] [stdout]      = note: `Font` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `ZERO`, `cut_from_top`, `cut_from_bottom`, `outset`, `prepare`, and `intersect` are never used
[INFO] [stdout]     --> src/ui.rs:1021:15
[INFO] [stdout]      |
[INFO] [stdout] 1020 | impl Rect {
[INFO] [stdout]      | --------- associated items in this implementation
[INFO] [stdout] 1021 |     pub const ZERO: Self = Self { x1: 0f32, y1: 0f32, x2: 0f32, y2: 0f32 };
[INFO] [stdout]      |               ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1052 |     pub fn cut_from_top(&mut self, a: f32) -> Self {
[INFO] [stdout]      |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1058 |     pub fn cut_from_bottom(&mut self, a: f32) -> Self {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1068 |     pub fn outset(&self, amount: f32) -> Self {
[INFO] [stdout]      |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1072 |     pub fn prepare(&mut self, from: CutFrom) -> Cut {
[INFO] [stdout]      |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1076 |     pub fn intersect(&self, other: Self) -> Self {
[INFO] [stdout]      |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Cut` is never constructed
[INFO] [stdout]     --> src/ui.rs:1086:12
[INFO] [stdout]      |
[INFO] [stdout] 1086 | pub struct Cut {
[INFO] [stdout]      |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `CutFrom` is never used
[INFO] [stdout]     --> src/ui.rs:1092:10
[INFO] [stdout]      |
[INFO] [stdout] 1092 | pub enum CutFrom {
[INFO] [stdout]      |          ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `make` is never used
[INFO] [stdout]     --> src/ui.rs:1100:12
[INFO] [stdout]      |
[INFO] [stdout] 1099 | impl Cut {
[INFO] [stdout]      | -------- method in this implementation
[INFO] [stdout] 1100 |     pub fn make(&self, amount: f32) -> Rect {
[INFO] [stdout]      |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `DEBUG_GREEN`, `DEBUG_BLUE`, `DEBUG_YELLOW`, `DEBUG_CYAN`, and `rgba` are never used
[INFO] [stdout]     --> src/ui.rs:1120:15
[INFO] [stdout]      |
[INFO] [stdout] 1118 | impl Color {
[INFO] [stdout]      | ---------- associated items in this implementation
[INFO] [stdout] 1119 |     pub const DEBUG_RED:     Self = Self { r: 1.0, g: 0.0, b: 0.0, a: 1.0 };
[INFO] [stdout] 1120 |     pub const DEBUG_GREEN:   Self = Self { r: 0.0, g: 1.0, b: 0.0, a: 1.0 };
[INFO] [stdout]      |               ^^^^^^^^^^^
[INFO] [stdout] 1121 |     pub const DEBUG_BLUE:    Self = Self { r: 0.0, g: 0.0, b: 1.0, a: 1.0 };
[INFO] [stdout]      |               ^^^^^^^^^^
[INFO] [stdout] 1122 |     pub const DEBUG_YELLOW:  Self = Self { r: 1.0, g: 1.0, b: 0.0, a: 1.0 };
[INFO] [stdout]      |               ^^^^^^^^^^^^
[INFO] [stdout] 1123 |     pub const DEBUG_MAGENTA: Self = Self { r: 1.0, g: 0.0, b: 1.0, a: 1.0 };
[INFO] [stdout] 1124 |     pub const DEBUG_CYAN:    Self = Self { r: 0.0, g: 1.0, b: 1.0, a: 1.0 };
[INFO] [stdout]      |               ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1130 |     pub fn rgba(r: f32, g: f32, b: f32, a: f32) -> Self {
[INFO] [stdout]      |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `accent` and `highlight` are never read
[INFO] [stdout]     --> src/ui.rs:1166:9
[INFO] [stdout]      |
[INFO] [stdout] 1163 | pub struct Style {
[INFO] [stdout]      |            ----- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 1166 |     pub accent:     Color,
[INFO] [stdout]      |         ^^^^^^
[INFO] [stdout] 1167 |     pub border:     Color,
[INFO] [stdout] 1168 |     pub highlight:  Color,
[INFO] [stdout]      |         ^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Style` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `peek_mut` are never used
[INFO] [stdout]     --> src/ui.rs:1197:8
[INFO] [stdout]      |
[INFO] [stdout] 1196 | impl<T> Stack<T> {
[INFO] [stdout]      | ---------------- associated items in this implementation
[INFO] [stdout] 1197 |     fn new() -> Self {
[INFO] [stdout]      |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 1219 |     fn peek_mut(&mut self) -> &mut T {
[INFO] [stdout]      |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `rtype` is never read
[INFO] [stdout]   --> src/viz_gui.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub struct RequestToZebra {
[INFO] [stdout]    |            -------------- field in this struct
[INFO] [stdout] 12 |     rtype: u8,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `split_vector` is never used
[INFO] [stdout]    --> src/viz_gui.rs:462:4
[INFO] [stdout]     |
[INFO] [stdout] 462 | fn split_vector(mut x: f32, mut y: f32) -> (f32, f32, f32) {
[INFO] [stdout]     |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `r` should have an upper case name
[INFO] [stdout]    --> src/lib.rs:716:11
[INFO] [stdout]     |
[INFO] [stdout] 716 |     const r: f64 = 3.0; // rolling circle radius
[INFO] [stdout]     |           ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(non_upper_case_globals)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] help: convert the identifier to upper case
[INFO] [stdout]     |
[INFO] [stdout] 716 -     const r: f64 = 3.0; // rolling circle radius
[INFO] [stdout] 716 +     const R: f64 = 3.0; // rolling circle radius
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `d` should have an upper case name
[INFO] [stdout]    --> src/lib.rs:717:11
[INFO] [stdout]     |
[INFO] [stdout] 717 |     const d: f64 = 4.0; // pen offset from the rolling circle center
[INFO] [stdout]     |           ^
[INFO] [stdout]     |
[INFO] [stdout] help: convert the identifier to upper case
[INFO] [stdout]     |
[INFO] [stdout] 717 -     const d: f64 = 4.0; // pen offset from the rolling circle center
[INFO] [stdout] 717 +     const D: f64 = 4.0; // pen offset from the rolling circle center
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 44s
[INFO] running `Command { std: "docker" "inspect" "e9c9f6e15501bf4a0a7e0cae908fab61fca113210cf5e57bad26e6e56cdec2a0", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "e9c9f6e15501bf4a0a7e0cae908fab61fca113210cf5e57bad26e6e56cdec2a0", kill_on_drop: false }`
[INFO] [stdout] e9c9f6e15501bf4a0a7e0cae908fab61fca113210cf5e57bad26e6e56cdec2a0
