[INFO] cloning repository https://github.com/toasterrepairman/scrutinize
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/toasterrepairman/scrutinize" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftoasterrepairman%2Fscrutinize", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftoasterrepairman%2Fscrutinize'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] e4fc70fb1cd7ecb3e20319ee403f87b62ad298de
[INFO] checking toasterrepairman/scrutinize against master#ff647322379c48947c196639599067665ff9eb88 for pr-151539-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftoasterrepairman%2Fscrutinize" "/workspace/builds/worker-4-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/toasterrepairman/scrutinize
[INFO] finished tweaking git repo https://github.com/toasterrepairman/scrutinize
[INFO] tweaked toml for git repo https://github.com/toasterrepairman/scrutinize written to /workspace/builds/worker-4-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/toasterrepairman/scrutinize on toolchain ff647322379c48947c196639599067665ff9eb88
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+ff647322379c48947c196639599067665ff9eb88" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/toasterrepairman/scrutinize 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" "+ff647322379c48947c196639599067665ff9eb88" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded pango v0.20.12
[INFO] [stderr]   Downloaded version-compare v0.2.1
[INFO] [stderr]   Downloaded pango-sys v0.20.10
[INFO] [stderr]   Downloaded system-deps v7.0.7
[INFO] [stderr]   Downloaded libadwaita v0.7.2
[INFO] [stderr]   Downloaded graphene-sys v0.20.10
[INFO] [stderr]   Downloaded gdk-pixbuf-sys v0.20.10
[INFO] [stderr]   Downloaded cairo-sys-rs v0.20.10
[INFO] [stderr]   Downloaded glib-build-tools v0.20.0
[INFO] [stderr]   Downloaded gobject-sys v0.20.10
[INFO] [stderr]   Downloaded gtk4-macros v0.9.5
[INFO] [stderr]   Downloaded gdk-pixbuf v0.20.10
[INFO] [stderr]   Downloaded graphene-rs v0.20.10
[INFO] [stderr]   Downloaded target-lexicon v0.13.3
[INFO] [stderr]   Downloaded gsk4-sys v0.9.6
[INFO] [stderr]   Downloaded gsk4 v0.9.6
[INFO] [stderr]   Downloaded libadwaita-sys v0.7.2
[INFO] [stderr]   Downloaded toml v0.9.10+spec-1.1.0
[INFO] [stderr]   Downloaded cfg-expr v0.20.5
[INFO] [stderr]   Downloaded glib-macros v0.20.12
[INFO] [stderr]   Downloaded cairo-rs v0.20.12
[INFO] [stderr]   Downloaded gio-sys v0.20.10
[INFO] [stderr]   Downloaded gdk4-sys v0.9.6
[INFO] [stderr]   Downloaded glib-sys v0.20.10
[INFO] [stderr]   Downloaded gdk4 v0.9.6
[INFO] [stderr]   Downloaded gtk4-sys v0.9.6
[INFO] [stderr]   Downloaded gio v0.20.12
[INFO] [stderr]   Downloaded glib v0.20.12
[INFO] [stderr]   Downloaded gtk4 v0.9.7
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3a6becf2bc8dde7f3fa57ede90e4f284e72d296796fc446bbb1e2c7cc0530151" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 686932e6f711b8b8cedf2d04bef00efc528aaf8f1b0a29488cb216e484774c3b
[INFO] running `Command { std: "docker" "start" "686932e6f711b8b8cedf2d04bef00efc528aaf8f1b0a29488cb216e484774c3b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "686932e6f711b8b8cedf2d04bef00efc528aaf8f1b0a29488cb216e484774c3b" "/opt/rustwide/cargo-home/bin/cargo" "+ff647322379c48947c196639599067665ff9eb88" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "686932e6f711b8b8cedf2d04bef00efc528aaf8f1b0a29488cb216e484774c3b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-w" "/opt/rustwide/workdir" "--user" "0:0" "686932e6f711b8b8cedf2d04bef00efc528aaf8f1b0a29488cb216e484774c3b" "/opt/rustwide/cargo-home/bin/cargo" "+ff647322379c48947c196639599067665ff9eb88" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling winnow v0.7.14
[INFO] [stderr]    Compiling toml_datetime v0.7.5+spec-1.1.0
[INFO] [stderr]    Compiling target-lexicon v0.13.3
[INFO] [stderr]    Compiling smallvec v1.15.1
[INFO] [stderr]    Compiling serde_spanned v1.0.4
[INFO] [stderr]    Compiling version-compare v0.2.1
[INFO] [stderr]    Compiling libc v0.2.178
[INFO] [stderr]    Compiling proc-macro2 v1.0.103
[INFO] [stderr]    Compiling quote v1.0.42
[INFO] [stderr]    Compiling indexmap v2.12.1
[INFO] [stderr]     Checking futures-channel v0.3.31
[INFO] [stderr]    Compiling gio v0.20.12
[INFO] [stderr]    Compiling futures-core v0.3.31
[INFO] [stderr]    Compiling semver v1.0.27
[INFO] [stderr]    Compiling crossbeam-utils v0.8.21
[INFO] [stderr]    Compiling memoffset v0.9.1
[INFO] [stderr]    Compiling zerocopy v0.8.31
[INFO] [stderr]    Compiling rustc_version v0.4.1
[INFO] [stderr]     Checking concurrent-queue v2.5.0
[INFO] [stderr]     Checking event-listener v5.4.1
[INFO] [stderr]    Compiling field-offset v0.3.6
[INFO] [stderr]    Compiling cfg-expr v0.20.5
[INFO] [stderr]     Checking event-listener-strategy v0.5.4
[INFO] [stderr]     Checking async-channel v2.5.0
[INFO] [stderr]     Checking memmap2 v0.9.9
[INFO] [stderr]    Compiling syn v2.0.111
[INFO] [stderr]    Compiling toml_parser v1.0.6+spec-1.1.0
[INFO] [stderr]    Compiling toml v0.9.10+spec-1.1.0
[INFO] [stderr]    Compiling toml_edit v0.23.10+spec-1.0.0
[INFO] [stderr]    Compiling system-deps v7.0.7
[INFO] [stderr]    Compiling proc-macro-crate v3.4.0
[INFO] [stderr]    Compiling glib-sys v0.20.10
[INFO] [stderr]    Compiling gobject-sys v0.20.10
[INFO] [stderr]    Compiling gio-sys v0.20.10
[INFO] [stderr]    Compiling pango-sys v0.20.10
[INFO] [stderr]    Compiling cairo-sys-rs v0.20.10
[INFO] [stderr]    Compiling gdk-pixbuf-sys v0.20.10
[INFO] [stderr]    Compiling graphene-sys v0.20.10
[INFO] [stderr]    Compiling gdk4-sys v0.9.6
[INFO] [stderr]    Compiling gsk4-sys v0.9.6
[INFO] [stderr]    Compiling gtk4-sys v0.9.6
[INFO] [stderr]    Compiling libadwaita-sys v0.7.2
[INFO] [stderr]    Compiling futures-macro v0.3.31
[INFO] [stderr]    Compiling glib-macros v0.20.12
[INFO] [stderr]    Compiling zerocopy-derive v0.8.31
[INFO] [stderr]    Compiling gtk4-macros v0.9.5
[INFO] [stderr]     Checking futures-util v0.3.31
[INFO] [stderr]     Checking futures-executor v0.3.31
[INFO] [stderr]     Checking half v2.7.1
[INFO] [stderr]     Checking glib v0.20.12
[INFO] [stderr]     Checking cairo-rs v0.20.12
[INFO] [stderr]     Checking graphene-rs v0.20.10
[INFO] [stderr]     Checking pango v0.20.12
[INFO] [stderr]     Checking gdk-pixbuf v0.20.10
[INFO] [stderr]     Checking gdk4 v0.9.6
[INFO] [stderr]    Compiling glib-build-tools v0.20.0
[INFO] [stderr]    Compiling scrutinize v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Checking gsk4 v0.9.6
[INFO] [stderr]     Checking gtk4 v0.9.7
[INFO] [stderr]     Checking libadwaita v0.7.2
[INFO] [stdout] warning: unused imports: `SeekFrom` and `Seek`
[INFO] [stdout]     --> src/gguf_parser.rs:1682:23
[INFO] [stdout]      |
[INFO] [stdout] 1682 |         use std::io::{Seek, SeekFrom};
[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: `gtk::prelude::*`
[INFO] [stdout]  --> src/ui/window.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use gtk::prelude::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `adw::prelude::*`
[INFO] [stdout]  --> src/tokenizer.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use adw::prelude::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `gtk::prelude::*`
[INFO] [stdout]  --> src/tokenizer.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use gtk::prelude::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Filter`
[INFO] [stdout]  --> src/tokenizer.rs:4:32
[INFO] [stdout]   |
[INFO] [stdout] 4 | use gtk::{glib, Box as GtkBox, Filter, Orientation, ScrolledWindow, SearchEntry};
[INFO] [stdout]   |                                ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashSet`
[INFO] [stdout]  --> src/tokenizer.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::collections::HashSet;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `glib::translate::ToGlibPtr`
[INFO] [stdout]    --> src/tensor_viewer.rs:127:29
[INFO] [stdout]     |
[INFO] [stdout] 127 |                         use glib::translate::ToGlibPtr;
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `glib::translate::ToGlibPtr`
[INFO] [stdout]    --> src/tensor_viewer.rs:189:21
[INFO] [stdout]     |
[INFO] [stdout] 189 |                 use glib::translate::ToGlibPtr;
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `SeekFrom` and `Seek`
[INFO] [stdout]     --> src/gguf_parser.rs:1682:23
[INFO] [stdout]      |
[INFO] [stdout] 1682 |         use std::io::{Seek, SeekFrom};
[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: `gtk::prelude::*`
[INFO] [stdout]  --> src/ui/window.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use gtk::prelude::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `adw::prelude::*`
[INFO] [stdout]  --> src/tokenizer.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use adw::prelude::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `gtk::prelude::*`
[INFO] [stdout]  --> src/tokenizer.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use gtk::prelude::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Filter`
[INFO] [stdout]  --> src/tokenizer.rs:4:32
[INFO] [stdout]   |
[INFO] [stdout] 4 | use gtk::{glib, Box as GtkBox, Filter, Orientation, ScrolledWindow, SearchEntry};
[INFO] [stdout]   |                                ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashSet`
[INFO] [stdout]  --> src/tokenizer.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::collections::HashSet;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `glib::translate::ToGlibPtr`
[INFO] [stdout]    --> src/tensor_viewer.rs:127:29
[INFO] [stdout]     |
[INFO] [stdout] 127 |                         use glib::translate::ToGlibPtr;
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `glib::translate::ToGlibPtr`
[INFO] [stdout]    --> src/tensor_viewer.rs:189:21
[INFO] [stdout]     |
[INFO] [stdout] 189 |                 use glib::translate::ToGlibPtr;
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `chunks`
[INFO] [stdout]     --> src/gguf_parser.rs:1598:25
[INFO] [stdout]      |
[INFO] [stdout] 1598 |                     let chunks = data.chunks_exact(2);
[INFO] [stdout]      |                         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_chunks`
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `chunks`
[INFO] [stdout]     --> src/gguf_parser.rs:1598:25
[INFO] [stdout]      |
[INFO] [stdout] 1598 |                     let chunks = data.chunks_exact(2);
[INFO] [stdout]      |                         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_chunks`
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `moe_group`
[INFO] [stdout]    --> src/ui/window.rs:459:17
[INFO] [stdout]     |
[INFO] [stdout] 459 |             let moe_group = adw::PreferencesGroup::builder()
[INFO] [stdout]     |                 ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_moe_group`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `moe_group`
[INFO] [stdout]    --> src/ui/window.rs:459:17
[INFO] [stdout]     |
[INFO] [stdout] 459 |             let moe_group = adw::PreferencesGroup::builder()
[INFO] [stdout]     |                 ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_moe_group`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `file_path_for_bind`
[INFO] [stdout]    --> src/tensor_viewer.rs:150:13
[INFO] [stdout]     |
[INFO] [stdout] 150 |         let file_path_for_bind = Rc::clone(&file_path);
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_file_path_for_bind`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: irrefutable `if let` pattern
[INFO] [stdout]    --> src/tensor_viewer.rs:608:45
[INFO] [stdout]     |
[INFO] [stdout] 608 |                     let slice_elements = if let (h, w) = new_selection.slice_shape() {
[INFO] [stdout]     |                                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this pattern will always match, so the `if let` is useless
[INFO] [stdout]     = help: consider replacing the `if let` with a `let`
[INFO] [stdout]     = note: `#[warn(irrefutable_let_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `file_path_for_bind`
[INFO] [stdout]    --> src/tensor_viewer.rs:150:13
[INFO] [stdout]     |
[INFO] [stdout] 150 |         let file_path_for_bind = Rc::clone(&file_path);
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_file_path_for_bind`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `is_1d_tensor`
[INFO] [stdout]    --> src/tensor_viewer.rs:502:13
[INFO] [stdout]     |
[INFO] [stdout] 502 |         let is_1d_tensor = tensor.dimensions.len() == 1;
[INFO] [stdout]     |             ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_is_1d_tensor`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `stats_separator_weak`
[INFO] [stdout]    --> src/tensor_viewer.rs:548:13
[INFO] [stdout]     |
[INFO] [stdout] 548 |         let stats_separator_weak = stats_separator.downgrade();
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_stats_separator_weak`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `stats_label_weak`
[INFO] [stdout]    --> src/tensor_viewer.rs:549:13
[INFO] [stdout]     |
[INFO] [stdout] 549 |         let stats_label_weak = stats_label.downgrade();
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_stats_label_weak`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `stats_grid_weak`
[INFO] [stdout]    --> src/tensor_viewer.rs:550:13
[INFO] [stdout]     |
[INFO] [stdout] 550 |         let stats_grid_weak = stats_grid.downgrade();
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_stats_grid_weak`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: irrefutable `if let` pattern
[INFO] [stdout]    --> src/tensor_viewer.rs:608:45
[INFO] [stdout]     |
[INFO] [stdout] 608 |                     let slice_elements = if let (h, w) = new_selection.slice_shape() {
[INFO] [stdout]     |                                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this pattern will always match, so the `if let` is useless
[INFO] [stdout]     = help: consider replacing the `if let` with a `let`
[INFO] [stdout]     = note: `#[warn(irrefutable_let_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `height`
[INFO] [stdout]    --> src/tensor_viewer.rs:908:9
[INFO] [stdout]     |
[INFO] [stdout] 908 |     let height = height as f64;
[INFO] [stdout]     |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_height`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `is_1d_tensor`
[INFO] [stdout]    --> src/tensor_viewer.rs:502:13
[INFO] [stdout]     |
[INFO] [stdout] 502 |         let is_1d_tensor = tensor.dimensions.len() == 1;
[INFO] [stdout]     |             ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_is_1d_tensor`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `stats_separator_weak`
[INFO] [stdout]    --> src/tensor_viewer.rs:548:13
[INFO] [stdout]     |
[INFO] [stdout] 548 |         let stats_separator_weak = stats_separator.downgrade();
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_stats_separator_weak`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `stats_label_weak`
[INFO] [stdout]    --> src/tensor_viewer.rs:549:13
[INFO] [stdout]     |
[INFO] [stdout] 549 |         let stats_label_weak = stats_label.downgrade();
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_stats_label_weak`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `stats_grid_weak`
[INFO] [stdout]    --> src/tensor_viewer.rs:550:13
[INFO] [stdout]     |
[INFO] [stdout] 550 |         let stats_grid_weak = stats_grid.downgrade();
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_stats_grid_weak`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tooltip_label_clone`
[INFO] [stdout]    --> src/heatmap_widget.rs:107:13
[INFO] [stdout]     |
[INFO] [stdout] 107 |         let tooltip_label_clone = tooltip_label.clone();
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_tooltip_label_clone`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `height`
[INFO] [stdout]    --> src/tensor_viewer.rs:908:9
[INFO] [stdout]     |
[INFO] [stdout] 908 |     let height = height as f64;
[INFO] [stdout]     |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_height`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tooltip_label_clone`
[INFO] [stdout]    --> src/heatmap_widget.rs:107:13
[INFO] [stdout]     |
[INFO] [stdout] 107 |         let tooltip_label_clone = tooltip_label.clone();
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_tooltip_label_clone`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `legend_height`
[INFO] [stdout]     --> src/heatmap_widget.rs:1018:78
[INFO] [stdout]      |
[INFO] [stdout] 1018 | fn draw_colormap_legend(cr: &gtk::cairo::Context, width: f64, y_offset: f64, legend_height: f64, min_val: f32, max_val: f32) {
[INFO] [stdout]      |                                                                              ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_legend_height`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `margin`
[INFO] [stdout]     --> src/heatmap_widget.rs:1280:9
[INFO] [stdout]      |
[INFO] [stdout] 1280 |     let margin = 40.0;
[INFO] [stdout]      |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_margin`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `legend_height`
[INFO] [stdout]     --> src/heatmap_widget.rs:1018:78
[INFO] [stdout]      |
[INFO] [stdout] 1018 | fn draw_colormap_legend(cr: &gtk::cairo::Context, width: f64, y_offset: f64, legend_height: f64, min_val: f32, max_val: f32) {
[INFO] [stdout]      |                                                                              ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_legend_height`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]   --> src/tensor_slice.rs:55:26
[INFO] [stdout]    |
[INFO] [stdout] 55 |     pub fn smart_default(name: &str, shape: Vec<u64>) -> Self {
[INFO] [stdout]    |                          ^^^^ help: if this is intentional, prefix it with an underscore: `_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `margin`
[INFO] [stdout]     --> src/heatmap_widget.rs:1280:9
[INFO] [stdout]      |
[INFO] [stdout] 1280 |     let margin = 40.0;
[INFO] [stdout]      |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_margin`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]   --> src/tensor_slice.rs:55:26
[INFO] [stdout]    |
[INFO] [stdout] 55 |     pub fn smart_default(name: &str, shape: Vec<u64>) -> Self {
[INFO] [stdout]    |                          ^^^^ help: if this is intentional, prefix it with an underscore: `_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `GGUF_VERSION` is never used
[INFO] [stdout]  --> src/gguf_parser.rs:9:7
[INFO] [stdout]   |
[INFO] [stdout] 9 | const GGUF_VERSION: u32 = 3;
[INFO] [stdout]   |       ^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `version` is never read
[INFO] [stdout]   --> src/gguf_parser.rs:13:9
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub struct GGUFFile {
[INFO] [stdout]    |            -------- field in this struct
[INFO] [stdout] 13 |     pub version: u32,
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `GGUFFile` 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/gguf_parser.rs:28:11
[INFO] [stdout]    |
[INFO] [stdout] 28 |     UInt8(u8),
[INFO] [stdout]    |     ----- ^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `MetadataValue` 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] 28 -     UInt8(u8),
[INFO] [stdout] 28 +     UInt8(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/gguf_parser.rs:29:10
[INFO] [stdout]    |
[INFO] [stdout] 29 |     Int8(i8),
[INFO] [stdout]    |     ---- ^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `MetadataValue` 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] 29 -     Int8(i8),
[INFO] [stdout] 29 +     Int8(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/gguf_parser.rs:30:12
[INFO] [stdout]    |
[INFO] [stdout] 30 |     UInt16(u16),
[INFO] [stdout]    |     ------ ^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `MetadataValue` 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] 30 -     UInt16(u16),
[INFO] [stdout] 30 +     UInt16(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/gguf_parser.rs:31:11
[INFO] [stdout]    |
[INFO] [stdout] 31 |     Int16(i16),
[INFO] [stdout]    |     ----- ^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `MetadataValue` 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] 31 -     Int16(i16),
[INFO] [stdout] 31 +     Int16(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/gguf_parser.rs:33:11
[INFO] [stdout]    |
[INFO] [stdout] 33 |     Int32(i32),
[INFO] [stdout]    |     ----- ^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `MetadataValue` 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] 33 -     Int32(i32),
[INFO] [stdout] 33 +     Int32(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/gguf_parser.rs:35:10
[INFO] [stdout]    |
[INFO] [stdout] 35 |     Bool(bool),
[INFO] [stdout]    |     ---- ^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `MetadataValue` 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] 35 -     Bool(bool),
[INFO] [stdout] 35 +     Bool(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/gguf_parser.rs:39:11
[INFO] [stdout]    |
[INFO] [stdout] 39 |     Int64(i64),
[INFO] [stdout]    |     ----- ^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `MetadataValue` 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] 39 -     Int64(i64),
[INFO] [stdout] 39 +     Int64(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/gguf_parser.rs:40:13
[INFO] [stdout]    |
[INFO] [stdout] 40 |     Float64(f64),
[INFO] [stdout]    |     ------- ^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `MetadataValue` 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] 40 -     Float64(f64),
[INFO] [stdout] 40 +     Float64(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `get_mmap`, `read_tensor_data_optimized`, `get_tensor_info`, and `list_tensor_names` are never used
[INFO] [stdout]    --> src/gguf_parser.rs:260:12
[INFO] [stdout]     |
[INFO] [stdout] 164 | impl GGUFFile {
[INFO] [stdout]     | ------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 260 |     pub fn get_mmap(&self) -> Result<Arc<Mmap>, String> {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 272 |     pub fn read_tensor_data_optimized(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 296 |     pub fn get_tensor_info(&self, tensor_name: &str) -> Option<&TensorInfo> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 301 |     pub fn list_tensor_names(&self) -> Vec<&String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `keys` is never used
[INFO] [stdout]    --> src/gguf_parser.rs:424:12
[INFO] [stdout]     |
[INFO] [stdout] 385 | impl GGUFMetadata {
[INFO] [stdout]     | ----------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 424 |     pub fn keys(&self) -> impl Iterator<Item = &String> {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]     --> src/gguf_parser.rs:1014:12
[INFO] [stdout]      |
[INFO] [stdout]  952 | impl TensorInfo {
[INFO] [stdout]      | --------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 1014 |     pub fn get_block_size(&self) -> usize {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1021 |     pub fn read_tensor_data_optimized(
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1046 |     fn read_quantized_tensor_mmap(
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1107 |     fn read_quantized_slice_mmap(
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1165 |     fn dequantize_q5_0_simplified(&self, data: &[u8], count: usize) -> Result<Vec<f32>, String> {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1209 |     fn dequantize_q5_1_simplified(&self, data: &[u8], count: usize) -> Result<Vec<f32>, String> {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1253 |     fn read_entire_tensor_mmap(
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1325 |     fn read_slice_mmap(
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1353 |     fn read_slice_bulk_rows(
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1408 |     fn read_slice_element_by_element(
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1462 |     fn parse_tensor_bytes(
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1587 |     fn parse_single_element(&self, data: &[u8]) -> Result<f32, String> {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1907 |     pub fn read_tensor_data(
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `q4_0` is never used
[INFO] [stdout]    --> src/gguf_parser.rs:475:12
[INFO] [stdout]     |
[INFO] [stdout] 475 |     pub fn q4_0(data: &[u8], count: usize) -> Vec<f32> {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `q4_1` is never used
[INFO] [stdout]    --> src/gguf_parser.rs:523:12
[INFO] [stdout]     |
[INFO] [stdout] 523 |     pub fn q4_1(data: &[u8], count: usize) -> Vec<f32> {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `q8_0` is never used
[INFO] [stdout]    --> src/gguf_parser.rs:558:12
[INFO] [stdout]     |
[INFO] [stdout] 558 |     pub fn q8_0(data: &[u8], count: usize) -> Vec<f32> {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `q8_1` is never used
[INFO] [stdout]    --> src/gguf_parser.rs:590:12
[INFO] [stdout]     |
[INFO] [stdout] 590 |     pub fn q8_1(data: &[u8], count: usize) -> Vec<f32> {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `q2_k` is never used
[INFO] [stdout]    --> src/gguf_parser.rs:625:12
[INFO] [stdout]     |
[INFO] [stdout] 625 |     pub fn q2_k(data: &[u8], count: usize) -> Vec<f32> {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `q3_k` is never used
[INFO] [stdout]    --> src/gguf_parser.rs:666:12
[INFO] [stdout]     |
[INFO] [stdout] 666 |     pub fn q3_k(data: &[u8], count: usize) -> Vec<f32> {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `q4_k` is never used
[INFO] [stdout]    --> src/gguf_parser.rs:721:12
[INFO] [stdout]     |
[INFO] [stdout] 721 |     pub fn q4_k(data: &[u8], count: usize) -> Vec<f32> {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `q5_k` is never used
[INFO] [stdout]    --> src/gguf_parser.rs:756:12
[INFO] [stdout]     |
[INFO] [stdout] 756 |     pub fn q5_k(data: &[u8], count: usize) -> Vec<f32> {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `q6_k` is never used
[INFO] [stdout]    --> src/gguf_parser.rs:803:12
[INFO] [stdout]     |
[INFO] [stdout] 803 |     pub fn q6_k(data: &[u8], count: usize) -> Vec<f32> {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `q8_k` is never used
[INFO] [stdout]    --> src/gguf_parser.rs:840:12
[INFO] [stdout]     |
[INFO] [stdout] 840 |     pub fn q8_k(data: &[u8], count: usize) -> Vec<f32> {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `mxfp4` is never used
[INFO] [stdout]    --> src/gguf_parser.rs:877:12
[INFO] [stdout]     |
[INFO] [stdout] 877 |     pub fn mxfp4(data: &[u8], count: usize) -> Vec<f32> {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `mxfp4_to_f32` is never used
[INFO] [stdout]    --> src/gguf_parser.rs:916:8
[INFO] [stdout]     |
[INFO] [stdout] 916 |     fn mxfp4_to_f32(fp4_bits: u8) -> f32 {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `f16_to_f32` is never used
[INFO] [stdout]    --> src/gguf_parser.rs:941:12
[INFO] [stdout]     |
[INFO] [stdout] 941 |     pub fn f16_to_f32(data: &[u8], count: usize) -> Vec<f32> {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `header_bar`, `toolbar_view`, `view_stack`, and `view_switcher_bar` are never read
[INFO] [stdout]   --> src/ui/window.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub struct GGUFWindow {
[INFO] [stdout]    |            ---------- fields in this struct
[INFO] [stdout] 14 |     window: adw::ApplicationWindow,
[INFO] [stdout] 15 |     header_bar: adw::HeaderBar,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 16 |     toolbar_view: adw::ToolbarView,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 17 |     view_stack: adw::ViewStack,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 18 |     view_switcher_bar: adw::ViewSwitcherBar,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `GGUFWindow` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `search_entry`, `test_input`, `token_display`, and `summary_label` are never read
[INFO] [stdout]   --> src/tokenizer.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub struct TokenizerPage {
[INFO] [stdout]    |            ------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 19 |     search_entry: SearchEntry,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 20 |     test_input: gtk::TextView,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 21 |     token_display: TokenDisplay,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 22 |     summary_label: gtk::Label,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TokenizerPage` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `tokenize_simple` is never used
[INFO] [stdout]    --> src/tokenizer.rs:714:4
[INFO] [stdout]     |
[INFO] [stdout] 714 | fn tokenize_simple(text: &str, tokens: &[TokenData]) -> String {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `memory_regions` is never read
[INFO] [stdout]   --> src/tensor_viewer.rs:18:6
[INFO] [stdout]    |
[INFO] [stdout] 10 |  pub struct TensorPage {
[INFO] [stdout]    |             ---------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 18 |      memory_regions: Rc<RefCell<Vec<HoverRegion>>>,
[INFO] [stdout]    |      ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TensorPage` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `capacity_bytes` is never read
[INFO] [stdout]   --> src/tensor_viewer.rs:26:6
[INFO] [stdout]    |
[INFO] [stdout] 22 |  struct HoverRegion {
[INFO] [stdout]    |         ----------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 26 |      capacity_bytes: u64,
[INFO] [stdout]    |      ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `HoverRegion` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `calculate_adaptive_max_elements` is never used
[INFO] [stdout]   --> src/tensor_viewer.rs:35:4
[INFO] [stdout]    |
[INFO] [stdout] 35 | fn calculate_adaptive_max_elements(total_elements: usize) -> usize {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `read_tensor_data_optimized` is never used
[INFO] [stdout]    --> src/tensor_viewer.rs:320:14
[INFO] [stdout]     |
[INFO] [stdout]  65 | impl TensorPage {
[INFO] [stdout]     | --------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 320 |     async fn read_tensor_data_optimized(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `set_summary` is never used
[INFO] [stdout]    --> src/token_display.rs:333:12
[INFO] [stdout]     |
[INFO] [stdout]  19 | impl TokenDisplay {
[INFO] [stdout]     | ----------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 333 |     pub fn set_summary(&self, _token_count: usize, _char_count: usize) {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TensorStatistics` is never constructed
[INFO] [stdout]   --> src/heatmap_widget.rs:16:12
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub struct TensorStatistics {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `tooltip_label` is never read
[INFO] [stdout]   --> src/heatmap_widget.rs:32:5
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub struct HeatmapWidget {
[INFO] [stdout]    |            ------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 32 |     tooltip_label: gtk::Label,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `HeatmapWidget` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `get_statistics`, `clear`, `is_line_plot_mode`, `is_heatmap_mode`, and `is_histogram_mode` are never used
[INFO] [stdout]    --> src/heatmap_widget.rs:362:12
[INFO] [stdout]     |
[INFO] [stdout]  55 | impl HeatmapWidget {
[INFO] [stdout]     | ------------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 362 |     pub fn get_statistics(&self) -> Option<TensorStatistics> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 368 |     pub fn clear(&self) {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 416 |     pub fn is_line_plot_mode(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 421 |     pub fn is_heatmap_mode(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 425 |     pub fn is_histogram_mode(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `value_to_color` is never used
[INFO] [stdout]    --> src/heatmap_widget.rs:982:4
[INFO] [stdout]     |
[INFO] [stdout] 982 | fn value_to_color(value: f64) -> (f64, f64, f64) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `compute_statistics` is never used
[INFO] [stdout]     --> src/heatmap_widget.rs:1058:4
[INFO] [stdout]      |
[INFO] [stdout] 1058 | fn compute_statistics(values: &[f32]) -> TensorStatistics {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `tokenize` and `tokenize_limited` are never used
[INFO] [stdout]    --> src/optimized_tokenizer.rs:95:12
[INFO] [stdout]     |
[INFO] [stdout]  26 | impl TokenizerTrie {
[INFO] [stdout]     | ------------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  95 |     pub fn tokenize(&self, text: &str) -> Vec<(usize, usize, f32, u32)> {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 115 |     pub fn tokenize_limited(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `find_next_boundary` is never used
[INFO] [stdout]    --> src/optimized_tokenizer.rs:312:12
[INFO] [stdout]     |
[INFO] [stdout] 312 |     pub fn find_next_boundary(text: &[u8], start: usize) -> Option<usize> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_ascii` is never used
[INFO] [stdout]    --> src/optimized_tokenizer.rs:322:12
[INFO] [stdout]     |
[INFO] [stdout] 322 |     pub fn is_ascii(text: &[u8]) -> bool {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `count_whitespace` is never used
[INFO] [stdout]    --> src/optimized_tokenizer.rs:329:12
[INFO] [stdout]     |
[INFO] [stdout] 329 |     pub fn count_whitespace(text: &[u8]) -> usize {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `canvas`, `zoom_level`, `data_dimensions`, and `clear` are never used
[INFO] [stdout]    --> src/zoomable_view.rs:483:12
[INFO] [stdout]     |
[INFO] [stdout] 257 | impl ZoomableView {
[INFO] [stdout]     | ----------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 483 |     pub fn canvas(&self) -> &TensorCanvas {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 551 |     pub fn zoom_level(&self) -> f64 {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 555 |     pub fn data_dimensions(&self) -> (i32, i32) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 559 |     pub fn clear(&self) {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `GGUF_VERSION` is never used
[INFO] [stdout]  --> src/gguf_parser.rs:9:7
[INFO] [stdout]   |
[INFO] [stdout] 9 | const GGUF_VERSION: u32 = 3;
[INFO] [stdout]   |       ^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `version` is never read
[INFO] [stdout]   --> src/gguf_parser.rs:13:9
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub struct GGUFFile {
[INFO] [stdout]    |            -------- field in this struct
[INFO] [stdout] 13 |     pub version: u32,
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `GGUFFile` 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/gguf_parser.rs:28:11
[INFO] [stdout]    |
[INFO] [stdout] 28 |     UInt8(u8),
[INFO] [stdout]    |     ----- ^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `MetadataValue` 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] 28 -     UInt8(u8),
[INFO] [stdout] 28 +     UInt8(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/gguf_parser.rs:29:10
[INFO] [stdout]    |
[INFO] [stdout] 29 |     Int8(i8),
[INFO] [stdout]    |     ---- ^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `MetadataValue` 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] 29 -     Int8(i8),
[INFO] [stdout] 29 +     Int8(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/gguf_parser.rs:30:12
[INFO] [stdout]    |
[INFO] [stdout] 30 |     UInt16(u16),
[INFO] [stdout]    |     ------ ^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `MetadataValue` 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] 30 -     UInt16(u16),
[INFO] [stdout] 30 +     UInt16(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/gguf_parser.rs:31:11
[INFO] [stdout]    |
[INFO] [stdout] 31 |     Int16(i16),
[INFO] [stdout]    |     ----- ^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `MetadataValue` 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] 31 -     Int16(i16),
[INFO] [stdout] 31 +     Int16(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/gguf_parser.rs:33:11
[INFO] [stdout]    |
[INFO] [stdout] 33 |     Int32(i32),
[INFO] [stdout]    |     ----- ^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `MetadataValue` 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] 33 -     Int32(i32),
[INFO] [stdout] 33 +     Int32(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/gguf_parser.rs:35:10
[INFO] [stdout]    |
[INFO] [stdout] 35 |     Bool(bool),
[INFO] [stdout]    |     ---- ^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `MetadataValue` 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] 35 -     Bool(bool),
[INFO] [stdout] 35 +     Bool(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/gguf_parser.rs:39:11
[INFO] [stdout]    |
[INFO] [stdout] 39 |     Int64(i64),
[INFO] [stdout]    |     ----- ^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `MetadataValue` 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] 39 -     Int64(i64),
[INFO] [stdout] 39 +     Int64(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/gguf_parser.rs:40:13
[INFO] [stdout]    |
[INFO] [stdout] 40 |     Float64(f64),
[INFO] [stdout]    |     ------- ^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `MetadataValue` 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] 40 -     Float64(f64),
[INFO] [stdout] 40 +     Float64(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `get_mmap`, `read_tensor_data_optimized`, `get_tensor_info`, and `list_tensor_names` are never used
[INFO] [stdout]    --> src/gguf_parser.rs:260:12
[INFO] [stdout]     |
[INFO] [stdout] 164 | impl GGUFFile {
[INFO] [stdout]     | ------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 260 |     pub fn get_mmap(&self) -> Result<Arc<Mmap>, String> {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 272 |     pub fn read_tensor_data_optimized(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 296 |     pub fn get_tensor_info(&self, tensor_name: &str) -> Option<&TensorInfo> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 301 |     pub fn list_tensor_names(&self) -> Vec<&String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `keys` is never used
[INFO] [stdout]    --> src/gguf_parser.rs:424:12
[INFO] [stdout]     |
[INFO] [stdout] 385 | impl GGUFMetadata {
[INFO] [stdout]     | ----------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 424 |     pub fn keys(&self) -> impl Iterator<Item = &String> {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]     --> src/gguf_parser.rs:1014:12
[INFO] [stdout]      |
[INFO] [stdout]  952 | impl TensorInfo {
[INFO] [stdout]      | --------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 1014 |     pub fn get_block_size(&self) -> usize {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1021 |     pub fn read_tensor_data_optimized(
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1046 |     fn read_quantized_tensor_mmap(
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1107 |     fn read_quantized_slice_mmap(
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1165 |     fn dequantize_q5_0_simplified(&self, data: &[u8], count: usize) -> Result<Vec<f32>, String> {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1209 |     fn dequantize_q5_1_simplified(&self, data: &[u8], count: usize) -> Result<Vec<f32>, String> {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1253 |     fn read_entire_tensor_mmap(
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1325 |     fn read_slice_mmap(
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1353 |     fn read_slice_bulk_rows(
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1408 |     fn read_slice_element_by_element(
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1462 |     fn parse_tensor_bytes(
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1587 |     fn parse_single_element(&self, data: &[u8]) -> Result<f32, String> {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1907 |     pub fn read_tensor_data(
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `q4_0` is never used
[INFO] [stdout]    --> src/gguf_parser.rs:475:12
[INFO] [stdout]     |
[INFO] [stdout] 475 |     pub fn q4_0(data: &[u8], count: usize) -> Vec<f32> {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `q4_1` is never used
[INFO] [stdout]    --> src/gguf_parser.rs:523:12
[INFO] [stdout]     |
[INFO] [stdout] 523 |     pub fn q4_1(data: &[u8], count: usize) -> Vec<f32> {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `q8_0` is never used
[INFO] [stdout]    --> src/gguf_parser.rs:558:12
[INFO] [stdout]     |
[INFO] [stdout] 558 |     pub fn q8_0(data: &[u8], count: usize) -> Vec<f32> {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `q8_1` is never used
[INFO] [stdout]    --> src/gguf_parser.rs:590:12
[INFO] [stdout]     |
[INFO] [stdout] 590 |     pub fn q8_1(data: &[u8], count: usize) -> Vec<f32> {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `q2_k` is never used
[INFO] [stdout]    --> src/gguf_parser.rs:625:12
[INFO] [stdout]     |
[INFO] [stdout] 625 |     pub fn q2_k(data: &[u8], count: usize) -> Vec<f32> {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `q3_k` is never used
[INFO] [stdout]    --> src/gguf_parser.rs:666:12
[INFO] [stdout]     |
[INFO] [stdout] 666 |     pub fn q3_k(data: &[u8], count: usize) -> Vec<f32> {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `q4_k` is never used
[INFO] [stdout]    --> src/gguf_parser.rs:721:12
[INFO] [stdout]     |
[INFO] [stdout] 721 |     pub fn q4_k(data: &[u8], count: usize) -> Vec<f32> {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `q5_k` is never used
[INFO] [stdout]    --> src/gguf_parser.rs:756:12
[INFO] [stdout]     |
[INFO] [stdout] 756 |     pub fn q5_k(data: &[u8], count: usize) -> Vec<f32> {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `q6_k` is never used
[INFO] [stdout]    --> src/gguf_parser.rs:803:12
[INFO] [stdout]     |
[INFO] [stdout] 803 |     pub fn q6_k(data: &[u8], count: usize) -> Vec<f32> {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `q8_k` is never used
[INFO] [stdout]    --> src/gguf_parser.rs:840:12
[INFO] [stdout]     |
[INFO] [stdout] 840 |     pub fn q8_k(data: &[u8], count: usize) -> Vec<f32> {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `mxfp4` is never used
[INFO] [stdout]    --> src/gguf_parser.rs:877:12
[INFO] [stdout]     |
[INFO] [stdout] 877 |     pub fn mxfp4(data: &[u8], count: usize) -> Vec<f32> {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `mxfp4_to_f32` is never used
[INFO] [stdout]    --> src/gguf_parser.rs:916:8
[INFO] [stdout]     |
[INFO] [stdout] 916 |     fn mxfp4_to_f32(fp4_bits: u8) -> f32 {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `f16_to_f32` is never used
[INFO] [stdout]    --> src/gguf_parser.rs:941:12
[INFO] [stdout]     |
[INFO] [stdout] 941 |     pub fn f16_to_f32(data: &[u8], count: usize) -> Vec<f32> {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `header_bar`, `toolbar_view`, `view_stack`, and `view_switcher_bar` are never read
[INFO] [stdout]   --> src/ui/window.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub struct GGUFWindow {
[INFO] [stdout]    |            ---------- fields in this struct
[INFO] [stdout] 14 |     window: adw::ApplicationWindow,
[INFO] [stdout] 15 |     header_bar: adw::HeaderBar,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 16 |     toolbar_view: adw::ToolbarView,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 17 |     view_stack: adw::ViewStack,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 18 |     view_switcher_bar: adw::ViewSwitcherBar,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `GGUFWindow` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `search_entry`, `test_input`, `token_display`, and `summary_label` are never read
[INFO] [stdout]   --> src/tokenizer.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub struct TokenizerPage {
[INFO] [stdout]    |            ------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 19 |     search_entry: SearchEntry,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 20 |     test_input: gtk::TextView,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 21 |     token_display: TokenDisplay,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 22 |     summary_label: gtk::Label,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TokenizerPage` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `tokenize_simple` is never used
[INFO] [stdout]    --> src/tokenizer.rs:714:4
[INFO] [stdout]     |
[INFO] [stdout] 714 | fn tokenize_simple(text: &str, tokens: &[TokenData]) -> String {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `memory_regions` is never read
[INFO] [stdout]   --> src/tensor_viewer.rs:18:6
[INFO] [stdout]    |
[INFO] [stdout] 10 |  pub struct TensorPage {
[INFO] [stdout]    |             ---------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 18 |      memory_regions: Rc<RefCell<Vec<HoverRegion>>>,
[INFO] [stdout]    |      ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TensorPage` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `capacity_bytes` is never read
[INFO] [stdout]   --> src/tensor_viewer.rs:26:6
[INFO] [stdout]    |
[INFO] [stdout] 22 |  struct HoverRegion {
[INFO] [stdout]    |         ----------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 26 |      capacity_bytes: u64,
[INFO] [stdout]    |      ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `HoverRegion` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `calculate_adaptive_max_elements` is never used
[INFO] [stdout]   --> src/tensor_viewer.rs:35:4
[INFO] [stdout]    |
[INFO] [stdout] 35 | fn calculate_adaptive_max_elements(total_elements: usize) -> usize {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `read_tensor_data_optimized` is never used
[INFO] [stdout]    --> src/tensor_viewer.rs:320:14
[INFO] [stdout]     |
[INFO] [stdout]  65 | impl TensorPage {
[INFO] [stdout]     | --------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 320 |     async fn read_tensor_data_optimized(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `set_summary` is never used
[INFO] [stdout]    --> src/token_display.rs:333:12
[INFO] [stdout]     |
[INFO] [stdout]  19 | impl TokenDisplay {
[INFO] [stdout]     | ----------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 333 |     pub fn set_summary(&self, _token_count: usize, _char_count: usize) {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TensorStatistics` is never constructed
[INFO] [stdout]   --> src/heatmap_widget.rs:16:12
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub struct TensorStatistics {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `tooltip_label` is never read
[INFO] [stdout]   --> src/heatmap_widget.rs:32:5
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub struct HeatmapWidget {
[INFO] [stdout]    |            ------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 32 |     tooltip_label: gtk::Label,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `HeatmapWidget` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `get_statistics`, `clear`, `is_line_plot_mode`, `is_heatmap_mode`, and `is_histogram_mode` are never used
[INFO] [stdout]    --> src/heatmap_widget.rs:362:12
[INFO] [stdout]     |
[INFO] [stdout]  55 | impl HeatmapWidget {
[INFO] [stdout]     | ------------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 362 |     pub fn get_statistics(&self) -> Option<TensorStatistics> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 368 |     pub fn clear(&self) {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 416 |     pub fn is_line_plot_mode(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 421 |     pub fn is_heatmap_mode(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 425 |     pub fn is_histogram_mode(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `value_to_color` is never used
[INFO] [stdout]    --> src/heatmap_widget.rs:982:4
[INFO] [stdout]     |
[INFO] [stdout] 982 | fn value_to_color(value: f64) -> (f64, f64, f64) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `compute_statistics` is never used
[INFO] [stdout]     --> src/heatmap_widget.rs:1058:4
[INFO] [stdout]      |
[INFO] [stdout] 1058 | fn compute_statistics(values: &[f32]) -> TensorStatistics {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `find_next_boundary` is never used
[INFO] [stdout]    --> src/optimized_tokenizer.rs:312:12
[INFO] [stdout]     |
[INFO] [stdout] 312 |     pub fn find_next_boundary(text: &[u8], start: usize) -> Option<usize> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_ascii` is never used
[INFO] [stdout]    --> src/optimized_tokenizer.rs:322:12
[INFO] [stdout]     |
[INFO] [stdout] 322 |     pub fn is_ascii(text: &[u8]) -> bool {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `count_whitespace` is never used
[INFO] [stdout]    --> src/optimized_tokenizer.rs:329:12
[INFO] [stdout]     |
[INFO] [stdout] 329 |     pub fn count_whitespace(text: &[u8]) -> usize {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `canvas`, `zoom_level`, `data_dimensions`, and `clear` are never used
[INFO] [stdout]    --> src/zoomable_view.rs:483:12
[INFO] [stdout]     |
[INFO] [stdout] 257 | impl ZoomableView {
[INFO] [stdout]     | ----------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 483 |     pub fn canvas(&self) -> &TensorCanvas {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 551 |     pub fn zoom_level(&self) -> f64 {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 555 |     pub fn data_dimensions(&self) -> (i32, i32) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 559 |     pub fn clear(&self) {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 29s
[INFO] running `Command { std: "docker" "inspect" "686932e6f711b8b8cedf2d04bef00efc528aaf8f1b0a29488cb216e484774c3b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "686932e6f711b8b8cedf2d04bef00efc528aaf8f1b0a29488cb216e484774c3b", kill_on_drop: false }`
[INFO] [stdout] 686932e6f711b8b8cedf2d04bef00efc528aaf8f1b0a29488cb216e484774c3b
