[INFO] fetching crate cortiq-engine 0.8.19...
[INFO] checking cortiq-engine-0.8.19 against a5689b034ad287112f709693384a37f1377eb9cc for pr-129249-3
[INFO] extracting crate cortiq-engine 0.8.19 into /workspace/builds/worker-4-tc2/source
[INFO] started tweaking crates.io crate cortiq-engine 0.8.19
[INFO] removed 0 missing examples
[INFO] removed 0 missing tests
[INFO] finished tweaking crates.io crate cortiq-engine 0.8.19
[INFO] tweaked toml for crates.io crate cortiq-engine 0.8.19 written to /workspace/builds/worker-4-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate cortiq-engine 0.8.19 on toolchain a5689b034ad287112f709693384a37f1377eb9cc
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+a5689b034ad287112f709693384a37f1377eb9cc" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate cortiq-engine 0.8.19 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" "+a5689b034ad287112f709693384a37f1377eb9cc" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: `package.homepage` is redundant with `package.repository`
[INFO] [stderr]    --> Cargo.toml:238:12
[INFO] [stderr]     |
[INFO] [stderr] 238 | homepage = "https://github.com/infosave2007/cmf"
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 243 | repository = "https://github.com/infosave2007/cmf"
[INFO] [stderr]     |              -------------------------------------
[INFO] [stderr]     |
[INFO] [stderr]     = note: `cargo::redundant_homepage` is set to `warn` by default
[INFO] [stderr] help: consider removing `package.homepage`
[INFO] [stderr] warning: `cortiq-engine` (manifest) generated 1 warning
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:77db811e55d90add9212f6832c23229e3de5f1c1f9905e8cb07319ea15df73ac" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] b3e669c9724dacbd8b40541f0e55b0101018f0ab4dbd6c4eda6bd92fa8aeef7f
[INFO] running `Command { std: "docker" "start" "b3e669c9724dacbd8b40541f0e55b0101018f0ab4dbd6c4eda6bd92fa8aeef7f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "b3e669c9724dacbd8b40541f0e55b0101018f0ab4dbd6c4eda6bd92fa8aeef7f", 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" "b3e669c9724dacbd8b40541f0e55b0101018f0ab4dbd6c4eda6bd92fa8aeef7f" "/opt/rustwide/cargo-home/bin/cargo" "+a5689b034ad287112f709693384a37f1377eb9cc" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "b3e669c9724dacbd8b40541f0e55b0101018f0ab4dbd6c4eda6bd92fa8aeef7f", 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" "b3e669c9724dacbd8b40541f0e55b0101018f0ab4dbd6c4eda6bd92fa8aeef7f" "/opt/rustwide/cargo-home/bin/cargo" "+a5689b034ad287112f709693384a37f1377eb9cc" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr] warning: `package.homepage` is redundant with `package.repository`
[INFO] [stderr]    --> Cargo.toml:238:12
[INFO] [stderr]     |
[INFO] [stderr] 238 | homepage = "https://github.com/infosave2007/cmf"
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 243 | repository = "https://github.com/infosave2007/cmf"
[INFO] [stderr]     |              -------------------------------------
[INFO] [stderr]     |
[INFO] [stderr]     = note: `cargo::redundant_homepage` is set to `warn` by default
[INFO] [stderr] help: consider removing `package.homepage`
[INFO] [stderr] warning: `cortiq-engine` (manifest) generated 1 warning
[INFO] [stderr]     Checking memchr v2.8.0
[INFO] [stderr]     Checking smallvec v1.15.1
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling cc v1.2.61
[INFO] [stderr]     Checking simd-adler32 v0.3.9
[INFO] [stderr]     Checking hashbrown v0.17.0
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]     Checking rustls-pki-types v1.15.0
[INFO] [stderr]     Checking getrandom v0.2.17
[INFO] [stderr]     Checking log v0.4.29
[INFO] [stderr]     Checking regex-syntax v0.8.10
[INFO] [stderr]    Compiling rustls v0.23.41
[INFO] [stderr]     Checking percent-encoding v2.3.2
[INFO] [stderr]     Checking tinyvec v1.11.0
[INFO] [stderr]    Compiling matrixmultiply v0.3.11
[INFO] [stderr]     Checking form_urlencoded v1.2.2
[INFO] [stderr]     Checking pxfm v0.1.30
[INFO] [stderr]     Checking weezl v0.1.12
[INFO] [stderr]     Checking zune-core v0.5.3
[INFO] [stderr]     Checking strength_reduce v0.2.4
[INFO] [stderr]     Checking parking_lot_core v0.9.12
[INFO] [stderr]     Checking miniz_oxide v0.8.9
[INFO] [stderr]     Checking fdeflate v0.3.7
[INFO] [stderr]     Checking memo-map v0.3.3
[INFO] [stderr]     Checking bit-vec v0.8.0
[INFO] [stderr]     Checking webpki-roots v1.0.8
[INFO] [stderr]     Checking bitflags v2.11.1
[INFO] [stderr]    Compiling anyhow v1.0.102
[INFO] [stderr]     Checking gif v0.14.2
[INFO] [stderr]     Checking parking_lot v0.12.5
[INFO] [stderr]     Checking webpki-roots v0.26.11
[INFO] [stderr]     Checking zune-jpeg v0.5.15
[INFO] [stderr]     Checking unicode-normalization v0.1.25
[INFO] [stderr]     Checking mio v1.2.0
[INFO] [stderr]     Checking socket2 v0.6.3
[INFO] [stderr]     Checking memmap2 v0.9.10
[INFO] [stderr]     Checking bit-set v0.8.0
[INFO] [stderr]     Checking aho-corasick v1.1.4
[INFO] [stderr]     Checking flate2 v1.1.9
[INFO] [stderr]     Checking indexmap v2.14.0
[INFO] [stderr]     Checking tracing-log v0.2.0
[INFO] [stderr]     Checking png v0.18.1
[INFO] [stderr]    Compiling ring v0.17.14
[INFO] [stderr]     Checking num-integer v0.1.47
[INFO] [stderr]     Checking num-complex v0.4.6
[INFO] [stderr]     Checking primal-check v0.3.4
[INFO] [stderr]     Checking transpose v0.2.3
[INFO] [stderr]     Checking rustfft v6.4.1
[INFO] [stderr]     Checking regex-automata v0.4.14
[INFO] [stderr]     Checking moxcms v0.8.1
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]    Compiling zerovec-derive v0.11.3
[INFO] [stderr]    Compiling displaydoc v0.2.6
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling tracing-attributes v0.1.31
[INFO] [stderr]    Compiling bytemuck_derive v1.10.2
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]    Compiling tokio-macros v2.7.0
[INFO] [stderr]    Compiling zerofrom-derive v0.1.7
[INFO] [stderr]    Compiling yoke-derive v0.8.2
[INFO] [stderr]     Checking matchers v0.2.0
[INFO] [stderr]     Checking fancy-regex v0.14.0
[INFO] [stderr]     Checking rustls-webpki v0.103.13
[INFO] [stderr]     Checking tokio v1.52.2
[INFO] [stderr]     Checking zerofrom v0.1.8
[INFO] [stderr]     Checking tracing v0.1.44
[INFO] [stderr]     Checking yoke v0.8.3
[INFO] [stderr]     Checking zerovec v0.11.6
[INFO] [stderr]     Checking zerotrie v0.2.4
[INFO] [stderr]     Checking thiserror v2.0.18
[INFO] [stderr]     Checking bytemuck v1.25.0
[INFO] [stderr]     Checking tinystr v0.8.3
[INFO] [stderr]     Checking potential_utf v0.1.5
[INFO] [stderr]     Checking icu_collections v2.2.0
[INFO] [stderr]     Checking icu_locale_core v2.2.0
[INFO] [stderr]     Checking image v0.25.10
[INFO] [stderr]     Checking icu_provider v2.2.0
[INFO] [stderr]     Checking icu_properties v2.2.0
[INFO] [stderr]     Checking icu_normalizer v2.2.0
[INFO] [stderr]     Checking bincode v1.3.3
[INFO] [stderr]     Checking minijinja v2.21.0
[INFO] [stderr]     Checking tracing-serde v0.2.0
[INFO] [stderr]     Checking tracing-subscriber v0.3.23
[INFO] [stderr]     Checking idna_adapter v1.2.2
[INFO] [stderr]     Checking cortiq-core v0.8.19
[INFO] [stderr]     Checking idna v1.1.0
[INFO] [stderr]     Checking url v2.5.8
[INFO] [stderr]     Checking ureq v2.12.1
[INFO] [stderr]     Checking minijinja-contrib v2.21.0
[INFO] [stderr]     Checking cortiq-engine v0.8.19 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/attention.rs:70:1
[INFO] [stdout]    |
[INFO] [stdout] 70 | /// RoPE with an optional post-processing scale on both cos and sin (YaRN).
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stdout]    |
[INFO] [stdout]    = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout]    = note: `#[warn(unused_doc_comments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]     --> src/dsv4.rs:5910:1
[INFO] [stdout]      |
[INFO] [stdout] 5910 | / /// `CMF_DSV4_DUMP=<path>` appends one JSON line per token: the embedding, the
[INFO] [stdout] 5911 | | /// hyper-connection state after every layer, the folded-and-normed head input
[INFO] [stdout] 5912 | | /// and the logits. It exists to be diffed against the reference forward on
[INFO] [stdout] 5913 | | /// the same weights — the numerical parity this port has never had, which at
[INFO] [stdout] 5914 | | /// toy scale is a few thousand floats and entirely tractable.
[INFO] [stdout]      | |_-------------------------------------------------------------^
[INFO] [stdout]      |   |
[INFO] [stdout]      |   rustdoc does not generate documentation for macro invocations
[INFO] [stdout]      |
[INFO] [stdout]      = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]    --> src/dsv41_vision.rs:382:20
[INFO] [stdout]     |
[INFO] [stdout] 382 |     f32::from_bits((bits.wrapping_add(round) & 0xffff_0000))
[INFO] [stdout]     |                    ^                                      ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 382 -     f32::from_bits((bits.wrapping_add(round) & 0xffff_0000))
[INFO] [stdout] 382 +     f32::from_bits(bits.wrapping_add(round) & 0xffff_0000)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `gelu_tanh`
[INFO] [stdout]   --> src/ltxte.rs:25:38
[INFO] [stdout]    |
[INFO] [stdout] 25 | use crate::ltxdit::{Attn, Lin, Rope, gelu_tanh, rms_plain, rows};
[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: `TensorDtype`
[INFO] [stdout]   --> src/qwen4_exp.rs:13:77
[INFO] [stdout]    |
[INFO] [stdout] 13 | use cortiq_core::{CmfError, CmfModel, LayerType, ModelArch, Qwen4ExpConfig, TensorDtype};
[INFO] [stdout]    |                                                                             ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `cortiq_core::TensorDtype`
[INFO] [stdout]   --> src/qwen_image_vision.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use cortiq_core::TensorDtype;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/vae3d.rs:160:1
[INFO] [stdout]     |
[INFO] [stdout] 160 | /// RMSNorm with NO affine — the decoder's q/k norms are weightless.
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stdout]     |
[INFO] [stdout]     = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/attention.rs:70:1
[INFO] [stdout]    |
[INFO] [stdout] 70 | /// RoPE with an optional post-processing scale on both cos and sin (YaRN).
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stdout]    |
[INFO] [stdout]    = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout]    = note: `#[warn(unused_doc_comments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]     --> src/dsv4.rs:5910:1
[INFO] [stdout]      |
[INFO] [stdout] 5910 | / /// `CMF_DSV4_DUMP=<path>` appends one JSON line per token: the embedding, the
[INFO] [stdout] 5911 | | /// hyper-connection state after every layer, the folded-and-normed head input
[INFO] [stdout] 5912 | | /// and the logits. It exists to be diffed against the reference forward on
[INFO] [stdout] 5913 | | /// the same weights — the numerical parity this port has never had, which at
[INFO] [stdout] 5914 | | /// toy scale is a few thousand floats and entirely tractable.
[INFO] [stdout]      | |_-------------------------------------------------------------^
[INFO] [stdout]      |   |
[INFO] [stdout]      |   rustdoc does not generate documentation for macro invocations
[INFO] [stdout]      |
[INFO] [stdout]      = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]    --> src/dsv41_vision.rs:382:20
[INFO] [stdout]     |
[INFO] [stdout] 382 |     f32::from_bits((bits.wrapping_add(round) & 0xffff_0000))
[INFO] [stdout]     |                    ^                                      ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 382 -     f32::from_bits((bits.wrapping_add(round) & 0xffff_0000))
[INFO] [stdout] 382 +     f32::from_bits(bits.wrapping_add(round) & 0xffff_0000)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `gelu_tanh`
[INFO] [stdout]   --> src/ltxte.rs:25:38
[INFO] [stdout]    |
[INFO] [stdout] 25 | use crate::ltxdit::{Attn, Lin, Rope, gelu_tanh, rms_plain, rows};
[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: `TensorDtype`
[INFO] [stdout]   --> src/qwen4_exp.rs:13:77
[INFO] [stdout]    |
[INFO] [stdout] 13 | use cortiq_core::{CmfError, CmfModel, LayerType, ModelArch, Qwen4ExpConfig, TensorDtype};
[INFO] [stdout]    |                                                                             ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `cortiq_core::TensorDtype`
[INFO] [stdout]   --> src/qwen_image_vision.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use cortiq_core::TensorDtype;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/vae3d.rs:160:1
[INFO] [stdout]     |
[INFO] [stdout] 160 | /// RMSNorm with NO affine — the decoder's q/k norms are weightless.
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stdout]     |
[INFO] [stdout]     = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused attribute
[INFO] [stdout]   --> src/inference.rs:12:1
[INFO] [stdout]    |
[INFO] [stdout] 12 | #[inline]
[INFO] [stdout]    | ^^^^^^^^^ help: remove this attribute
[INFO] [stdout]    |
[INFO] [stdout] note: attribute also specified here
[INFO] [stdout]   --> src/inference.rs:7:1
[INFO] [stdout]    |
[INFO] [stdout]  7 | #[inline(always)]
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]    = note: `#[warn(unused_attributes)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused attribute
[INFO] [stdout]   --> src/inference.rs:12:1
[INFO] [stdout]    |
[INFO] [stdout] 12 | #[inline]
[INFO] [stdout]    | ^^^^^^^^^ help: remove this attribute
[INFO] [stdout]    |
[INFO] [stdout] note: attribute also specified here
[INFO] [stdout]   --> src/inference.rs:7:1
[INFO] [stdout]    |
[INFO] [stdout]  7 | #[inline(always)]
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]    = note: `#[warn(unused_attributes)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `on_gpu`
[INFO] [stdout]     --> src/dsv4.rs:1509:9
[INFO] [stdout]      |
[INFO] [stdout] 1509 |     let on_gpu = gpu_attn_enabled() && !(split_config && past_chain);
[INFO] [stdout]      |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_on_gpu`
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `hc_dev`
[INFO] [stdout]     --> src/dsv4.rs:7577:9
[INFO] [stdout]      |
[INFO] [stdout] 7577 |     let hc_dev = false;
[INFO] [stdout]      |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_hc_dev`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n_layers`
[INFO] [stdout]     --> src/dsv41.rs:2527:5
[INFO] [stdout]      |
[INFO] [stdout] 2527 |     n_layers: usize,
[INFO] [stdout]      |     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_n_layers`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `state`
[INFO] [stdout]     --> src/dsv41.rs:2528:5
[INFO] [stdout]      |
[INFO] [stdout] 2528 |     state: &mut Dsv41State,
[INFO] [stdout]      |     ^^^^^ help: if this is intentional, prefix it with an underscore: `_state`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `stop` is never read
[INFO] [stdout]     --> src/dsv41_encoding.rs:1260:32
[INFO] [stdout]      |
[INFO] [stdout] 1260 |     let (mut index, reasoning, mut stop) = if mode == ThinkingMode::Thinking {
[INFO] [stdout]      |                                ^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 1287 |         stop = matched;
[INFO] [stdout]      |         ---- `stop` is overwritten here before the previous value is read
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `stop` is never read
[INFO] [stdout]     --> src/dsv41_encoding.rs:1287:9
[INFO] [stdout]      |
[INFO] [stdout] 1287 |         stop = matched;
[INFO] [stdout]      |         ^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `p`
[INFO] [stdout]    --> src/dsv41_vision.rs:401:9
[INFO] [stdout]     |
[INFO] [stdout] 401 |     let p = config.vision_patch_size as u32;
[INFO] [stdout]     |         ^ help: if this is intentional, prefix it with an underscore: `_p`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/fcd.rs:1454:13
[INFO] [stdout]      |
[INFO] [stdout] 1454 |         let mut fused = false;
[INFO] [stdout]      |             ----^^^^^
[INFO] [stdout]      |             |
[INFO] [stdout]      |             help: remove this `mut`
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ffn_planes_to_host`
[INFO] [stdout]     --> src/fcd.rs:1407:9
[INFO] [stdout]      |
[INFO] [stdout] 1407 |         ffn_planes_to_host: bool,
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ffn_planes_to_host`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `want_attn_acts`
[INFO] [stdout]     --> src/fcd.rs:1563:9
[INFO] [stdout]      |
[INFO] [stdout] 1563 |         want_attn_acts: bool,
[INFO] [stdout]      |         ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_want_attn_acts`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bias_cat`
[INFO] [stdout]     --> src/fcd.rs:1575:13
[INFO] [stdout]      |
[INFO] [stdout] 1575 |             bias_cat,
[INFO] [stdout]      |             ^^^^^^^^ help: try ignoring the field: `bias_cat: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rotary_dim`
[INFO] [stdout]     --> src/fcd.rs:1610:14
[INFO] [stdout]      |
[INFO] [stdout] 1610 |         let (rotary_dim, inv_freq) = self.layer_rope(*local_rope);
[INFO] [stdout]      |              ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_rotary_dim`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `inv_freq`
[INFO] [stdout]     --> src/fcd.rs:1610:26
[INFO] [stdout]      |
[INFO] [stdout] 1610 |         let (rotary_dim, inv_freq) = self.layer_rope(*local_rope);
[INFO] [stdout]      |                          ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_inv_freq`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/fcd.rs:2047:13
[INFO] [stdout]      |
[INFO] [stdout] 2047 |         let mut bwd_fused = false;
[INFO] [stdout]      |             ----^^^^^^^^^
[INFO] [stdout]      |             |
[INFO] [stdout]      |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `w`
[INFO] [stdout]   --> src/f32_backend.rs:80:22
[INFO] [stdout]    |
[INFO] [stdout] 80 | pub(crate) fn matvec(w: &[f32], x: &[f32], y: &mut [f32]) -> bool {
[INFO] [stdout]    |                      ^ help: if this is intentional, prefix it with an underscore: `_w`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]   --> src/f32_backend.rs:80:33
[INFO] [stdout]    |
[INFO] [stdout] 80 | pub(crate) fn matvec(w: &[f32], x: &[f32], y: &mut [f32]) -> bool {
[INFO] [stdout]    |                                 ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `y`
[INFO] [stdout]   --> src/f32_backend.rs:80:44
[INFO] [stdout]    |
[INFO] [stdout] 80 | pub(crate) fn matvec(w: &[f32], x: &[f32], y: &mut [f32]) -> bool {
[INFO] [stdout]    |                                            ^ help: if this is intentional, prefix it with an underscore: `_y`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `w`
[INFO] [stdout]    --> src/f32_backend.rs:127:5
[INFO] [stdout]     |
[INFO] [stdout] 127 |     w: &[f32],
[INFO] [stdout]     |     ^ help: if this is intentional, prefix it with an underscore: `_w`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]    --> src/f32_backend.rs:128:5
[INFO] [stdout]     |
[INFO] [stdout] 128 |     x: &[f32],
[INFO] [stdout]     |     ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `batch`
[INFO] [stdout]    --> src/f32_backend.rs:129:5
[INFO] [stdout]     |
[INFO] [stdout] 129 |     batch: usize,
[INFO] [stdout]     |     ^^^^^ help: if this is intentional, prefix it with an underscore: `_batch`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rows`
[INFO] [stdout]    --> src/f32_backend.rs:130:5
[INFO] [stdout]     |
[INFO] [stdout] 130 |     rows: usize,
[INFO] [stdout]     |     ^^^^ help: if this is intentional, prefix it with an underscore: `_rows`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cols`
[INFO] [stdout]    --> src/f32_backend.rs:131:5
[INFO] [stdout]     |
[INFO] [stdout] 131 |     cols: usize,
[INFO] [stdout]     |     ^^^^ help: if this is intentional, prefix it with an underscore: `_cols`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `y`
[INFO] [stdout]    --> src/f32_backend.rs:132:5
[INFO] [stdout]     |
[INFO] [stdout] 132 |     y: &mut [f32],
[INFO] [stdout]     |     ^ help: if this is intentional, prefix it with an underscore: `_y`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `model`
[INFO] [stdout]    --> src/gpu.rs:408:5
[INFO] [stdout]     |
[INFO] [stdout] 408 |     model: &Arc<CmfModel>,
[INFO] [stdout]     |     ^^^^^ help: if this is intentional, prefix it with an underscore: `_model`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `num_layers`
[INFO] [stdout]    --> src/gpu.rs:409:5
[INFO] [stdout]     |
[INFO] [stdout] 409 |     num_layers: usize,
[INFO] [stdout]     |     ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_num_layers`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `physical_layers`
[INFO] [stdout]    --> src/gpu.rs:410:5
[INFO] [stdout]     |
[INFO] [stdout] 410 |     physical_layers: usize,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_physical_layers`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `model`
[INFO] [stdout]     --> src/gpu.rs:1461:5
[INFO] [stdout]      |
[INFO] [stdout] 1461 |     model: &Arc<CmfModel>,
[INFO] [stdout]      |     ^^^^^ help: if this is intentional, prefix it with an underscore: `_model`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `idx`
[INFO] [stdout]     --> src/gpu.rs:1462:5
[INFO] [stdout]      |
[INFO] [stdout] 1462 |     idx: usize,
[INFO] [stdout]      |     ^^^ help: if this is intentional, prefix it with an underscore: `_idx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `row_scale`
[INFO] [stdout]     --> src/gpu.rs:1463:5
[INFO] [stdout]      |
[INFO] [stdout] 1463 |     row_scale: &[f32],
[INFO] [stdout]      |     ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_row_scale`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pre`
[INFO] [stdout]     --> src/gpu.rs:1464:5
[INFO] [stdout]      |
[INFO] [stdout] 1464 |     pre: &[f32],
[INFO] [stdout]      |     ^^^ help: if this is intentional, prefix it with an underscore: `_pre`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `b`
[INFO] [stdout]     --> src/gpu.rs:1465:5
[INFO] [stdout]      |
[INFO] [stdout] 1465 |     b: usize,
[INFO] [stdout]      |     ^ help: if this is intentional, prefix it with an underscore: `_b`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rows`
[INFO] [stdout]     --> src/gpu.rs:1466:5
[INFO] [stdout]      |
[INFO] [stdout] 1466 |     rows: usize,
[INFO] [stdout]      |     ^^^^ help: if this is intentional, prefix it with an underscore: `_rows`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cols`
[INFO] [stdout]     --> src/gpu.rs:1467:5
[INFO] [stdout]      |
[INFO] [stdout] 1467 |     cols: usize,
[INFO] [stdout]      |     ^^^^ help: if this is intentional, prefix it with an underscore: `_cols`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `out`
[INFO] [stdout]     --> src/gpu.rs:1468:5
[INFO] [stdout]      |
[INFO] [stdout] 1468 |     out: &mut [f32],
[INFO] [stdout]      |     ^^^ help: if this is intentional, prefix it with an underscore: `_out`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `model`
[INFO] [stdout]     --> src/gpu.rs:1506:5
[INFO] [stdout]      |
[INFO] [stdout] 1506 |     model: &Arc<CmfModel>,
[INFO] [stdout]      |     ^^^^^ help: if this is intentional, prefix it with an underscore: `_model`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `kv_id`
[INFO] [stdout]     --> src/gpu.rs:1507:5
[INFO] [stdout]      |
[INFO] [stdout] 1507 |     kv_id: u64,
[INFO] [stdout]      |     ^^^^^ help: if this is intentional, prefix it with an underscore: `_kv_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `layer`
[INFO] [stdout]     --> src/gpu.rs:1508:5
[INFO] [stdout]      |
[INFO] [stdout] 1508 |     layer: usize,
[INFO] [stdout]      |     ^^^^^ help: if this is intentional, prefix it with an underscore: `_layer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `normed`
[INFO] [stdout]     --> src/gpu.rs:1509:5
[INFO] [stdout]      |
[INFO] [stdout] 1509 |     normed: &[f32],
[INFO] [stdout]      |     ^^^^^^ help: if this is intentional, prefix it with an underscore: `_normed`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `wq_idx`
[INFO] [stdout]     --> src/gpu.rs:1510:5
[INFO] [stdout]      |
[INFO] [stdout] 1510 |     wq_idx: usize,
[INFO] [stdout]      |     ^^^^^^ help: if this is intentional, prefix it with an underscore: `_wq_idx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `wk_idx`
[INFO] [stdout]     --> src/gpu.rs:1511:5
[INFO] [stdout]      |
[INFO] [stdout] 1511 |     wk_idx: usize,
[INFO] [stdout]      |     ^^^^^^ help: if this is intentional, prefix it with an underscore: `_wk_idx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `wv_idx`
[INFO] [stdout]     --> src/gpu.rs:1512:5
[INFO] [stdout]      |
[INFO] [stdout] 1512 |     wv_idx: usize,
[INFO] [stdout]      |     ^^^^^^ help: if this is intentional, prefix it with an underscore: `_wv_idx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `wo_idx`
[INFO] [stdout]     --> src/gpu.rs:1513:5
[INFO] [stdout]      |
[INFO] [stdout] 1513 |     wo_idx: usize,
[INFO] [stdout]      |     ^^^^^^ help: if this is intentional, prefix it with an underscore: `_wo_idx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `q_norm`
[INFO] [stdout]     --> src/gpu.rs:1514:5
[INFO] [stdout]      |
[INFO] [stdout] 1514 |     q_norm: Option<&[f32]>,
[INFO] [stdout]      |     ^^^^^^ help: if this is intentional, prefix it with an underscore: `_q_norm`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `k_norm`
[INFO] [stdout]     --> src/gpu.rs:1515:5
[INFO] [stdout]      |
[INFO] [stdout] 1515 |     k_norm: Option<&[f32]>,
[INFO] [stdout]      |     ^^^^^^ help: if this is intentional, prefix it with an underscore: `_k_norm`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `late_qk_norm`
[INFO] [stdout]     --> src/gpu.rs:1516:5
[INFO] [stdout]      |
[INFO] [stdout] 1516 |     late_qk_norm: bool,
[INFO] [stdout]      |     ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_late_qk_norm`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `invf`
[INFO] [stdout]     --> src/gpu.rs:1517:5
[INFO] [stdout]      |
[INFO] [stdout] 1517 |     invf: &[f32],
[INFO] [stdout]      |     ^^^^ help: if this is intentional, prefix it with an underscore: `_invf`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `nh`
[INFO] [stdout]     --> src/gpu.rs:1518:5
[INFO] [stdout]      |
[INFO] [stdout] 1518 |     nh: usize,
[INFO] [stdout]      |     ^^ help: if this is intentional, prefix it with an underscore: `_nh`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `nkv`
[INFO] [stdout]     --> src/gpu.rs:1519:5
[INFO] [stdout]      |
[INFO] [stdout] 1519 |     nkv: usize,
[INFO] [stdout]      |     ^^^ help: if this is intentional, prefix it with an underscore: `_nkv`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `hd`
[INFO] [stdout]     --> src/gpu.rs:1520:5
[INFO] [stdout]      |
[INFO] [stdout] 1520 |     hd: usize,
[INFO] [stdout]      |     ^^ help: if this is intentional, prefix it with an underscore: `_hd`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rd`
[INFO] [stdout]     --> src/gpu.rs:1521:5
[INFO] [stdout]      |
[INFO] [stdout] 1521 |     rd: usize,
[INFO] [stdout]      |     ^^ help: if this is intentional, prefix it with an underscore: `_rd`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `hidden`
[INFO] [stdout]     --> src/gpu.rs:1522:5
[INFO] [stdout]      |
[INFO] [stdout] 1522 |     hidden: usize,
[INFO] [stdout]      |     ^^^^^^ help: if this is intentional, prefix it with an underscore: `_hidden`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pos`
[INFO] [stdout]     --> src/gpu.rs:1523:5
[INFO] [stdout]      |
[INFO] [stdout] 1523 |     pos: usize,
[INFO] [stdout]      |     ^^^ help: if this is intentional, prefix it with an underscore: `_pos`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cap`
[INFO] [stdout]     --> src/gpu.rs:1524:5
[INFO] [stdout]      |
[INFO] [stdout] 1524 |     cap: usize,
[INFO] [stdout]      |     ^^^ help: if this is intentional, prefix it with an underscore: `_cap`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `gemma`
[INFO] [stdout]     --> src/gpu.rs:1525:5
[INFO] [stdout]      |
[INFO] [stdout] 1525 |     gemma: bool,
[INFO] [stdout]      |     ^^^^^ help: if this is intentional, prefix it with an underscore: `_gemma`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `eps`
[INFO] [stdout]     --> src/gpu.rs:1526:5
[INFO] [stdout]      |
[INFO] [stdout] 1526 |     eps: f32,
[INFO] [stdout]      |     ^^^ help: if this is intentional, prefix it with an underscore: `_eps`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cpu_k`
[INFO] [stdout]     --> src/gpu.rs:1527:5
[INFO] [stdout]      |
[INFO] [stdout] 1527 |     cpu_k: &[Vec<f32>],
[INFO] [stdout]      |     ^^^^^ help: if this is intentional, prefix it with an underscore: `_cpu_k`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cpu_v`
[INFO] [stdout]     --> src/gpu.rs:1528:5
[INFO] [stdout]      |
[INFO] [stdout] 1528 |     cpu_v: &[Vec<f32>],
[INFO] [stdout]      |     ^^^^^ help: if this is intentional, prefix it with an underscore: `_cpu_v`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `out`
[INFO] [stdout]     --> src/gpu.rs:1529:5
[INFO] [stdout]      |
[INFO] [stdout] 1529 |     out: &mut [f32],
[INFO] [stdout]      |     ^^^ help: if this is intentional, prefix it with an underscore: `_out`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `model`
[INFO] [stdout]     --> src/gpu.rs:1801:5
[INFO] [stdout]      |
[INFO] [stdout] 1801 |     model: &Arc<CmfModel>,
[INFO] [stdout]      |     ^^^^^ help: if this is intentional, prefix it with an underscore: `_model`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `kv_id`
[INFO] [stdout]     --> src/gpu.rs:1802:5
[INFO] [stdout]      |
[INFO] [stdout] 1802 |     kv_id: u64,
[INFO] [stdout]      |     ^^^^^ help: if this is intentional, prefix it with an underscore: `_kv_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `layers`
[INFO] [stdout]     --> src/gpu.rs:1803:5
[INFO] [stdout]      |
[INFO] [stdout] 1803 |     layers: &[GraphLayer],
[INFO] [stdout]      |     ^^^^^^ help: if this is intentional, prefix it with an underscore: `_layers`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `o1`
[INFO] [stdout]     --> src/gpu.rs:1806:5
[INFO] [stdout]      |
[INFO] [stdout] 1806 |     o1: &[Option<Vec<crate::nystrom::O1DeviceView<'_>>>],
[INFO] [stdout]      |     ^^ help: if this is intentional, prefix it with an underscore: `_o1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `o1_epoch`
[INFO] [stdout]     --> src/gpu.rs:1807:5
[INFO] [stdout]      |
[INFO] [stdout] 1807 |     o1_epoch: u64,
[INFO] [stdout]      |     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_o1_epoch`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `invf`
[INFO] [stdout]     --> src/gpu.rs:1808:5
[INFO] [stdout]      |
[INFO] [stdout] 1808 |     invf: &[f32],
[INFO] [stdout]      |     ^^^^ help: if this is intentional, prefix it with an underscore: `_invf`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `h`
[INFO] [stdout]     --> src/gpu.rs:1809:5
[INFO] [stdout]      |
[INFO] [stdout] 1809 |     h: &mut [f32],
[INFO] [stdout]      |     ^ help: if this is intentional, prefix it with an underscore: `_h`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `nh`
[INFO] [stdout]     --> src/gpu.rs:1810:5
[INFO] [stdout]      |
[INFO] [stdout] 1810 |     nh: usize,
[INFO] [stdout]      |     ^^ help: if this is intentional, prefix it with an underscore: `_nh`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `nkv`
[INFO] [stdout]     --> src/gpu.rs:1811:5
[INFO] [stdout]      |
[INFO] [stdout] 1811 |     nkv: usize,
[INFO] [stdout]      |     ^^^ help: if this is intentional, prefix it with an underscore: `_nkv`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `hd`
[INFO] [stdout]     --> src/gpu.rs:1812:5
[INFO] [stdout]      |
[INFO] [stdout] 1812 |     hd: usize,
[INFO] [stdout]      |     ^^ help: if this is intentional, prefix it with an underscore: `_hd`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rd`
[INFO] [stdout]     --> src/gpu.rs:1814:5
[INFO] [stdout]      |
[INFO] [stdout] 1814 |     rd: usize,
[INFO] [stdout]      |     ^^ help: if this is intentional, prefix it with an underscore: `_rd`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `hidden`
[INFO] [stdout]     --> src/gpu.rs:1815:5
[INFO] [stdout]      |
[INFO] [stdout] 1815 |     hidden: usize,
[INFO] [stdout]      |     ^^^^^^ help: if this is intentional, prefix it with an underscore: `_hidden`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `inter`
[INFO] [stdout]     --> src/gpu.rs:1816:5
[INFO] [stdout]      |
[INFO] [stdout] 1816 |     inter: usize,
[INFO] [stdout]      |     ^^^^^ help: if this is intentional, prefix it with an underscore: `_inter`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `position`
[INFO] [stdout]     --> src/gpu.rs:1817:5
[INFO] [stdout]      |
[INFO] [stdout] 1817 |     position: usize,
[INFO] [stdout]      |     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_position`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cap`
[INFO] [stdout]     --> src/gpu.rs:1818:5
[INFO] [stdout]      |
[INFO] [stdout] 1818 |     cap: usize,
[INFO] [stdout]      |     ^^^ help: if this is intentional, prefix it with an underscore: `_cap`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `gemma`
[INFO] [stdout]     --> src/gpu.rs:1819:5
[INFO] [stdout]      |
[INFO] [stdout] 1819 |     gemma: bool,
[INFO] [stdout]      |     ^^^^^ help: if this is intentional, prefix it with an underscore: `_gemma`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `eps`
[INFO] [stdout]     --> src/gpu.rs:1820:5
[INFO] [stdout]      |
[INFO] [stdout] 1820 |     eps: f32,
[INFO] [stdout]      |     ^^^ help: if this is intentional, prefix it with an underscore: `_eps`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `steps`
[INFO] [stdout]     --> src/gpu.rs:1825:5
[INFO] [stdout]      |
[INFO] [stdout] 1825 |     steps: usize,
[INFO] [stdout]      |     ^^^^^ help: if this is intentional, prefix it with an underscore: `_steps`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `embed`
[INFO] [stdout]     --> src/gpu.rs:1826:5
[INFO] [stdout]      |
[INFO] [stdout] 1826 |     embed: Option<(&GraphW, usize, f32)>,
[INFO] [stdout]      |     ^^^^^ help: if this is intentional, prefix it with an underscore: `_embed`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ids_out`
[INFO] [stdout]     --> src/gpu.rs:1827:5
[INFO] [stdout]      |
[INFO] [stdout] 1827 |     ids_out: Option<&mut Vec<u32>>,
[INFO] [stdout]      |     ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ids_out`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `model`
[INFO] [stdout]     --> src/gpu.rs:2026:5
[INFO] [stdout]      |
[INFO] [stdout] 2026 |     model: &Arc<CmfModel>,
[INFO] [stdout]      |     ^^^^^ help: if this is intentional, prefix it with an underscore: `_model`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `kv_id`
[INFO] [stdout]     --> src/gpu.rs:2027:5
[INFO] [stdout]      |
[INFO] [stdout] 2027 |     kv_id: u64,
[INFO] [stdout]      |     ^^^^^ help: if this is intentional, prefix it with an underscore: `_kv_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `layer_base`
[INFO] [stdout]     --> src/gpu.rs:2028:5
[INFO] [stdout]      |
[INFO] [stdout] 2028 |     layer_base: usize,
[INFO] [stdout]      |     ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_layer_base`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `layers`
[INFO] [stdout]     --> src/gpu.rs:2029:5
[INFO] [stdout]      |
[INFO] [stdout] 2029 |     layers: &[GraphLayer],
[INFO] [stdout]      |     ^^^^^^ help: if this is intentional, prefix it with an underscore: `_layers`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `invf`
[INFO] [stdout]     --> src/gpu.rs:2030:5
[INFO] [stdout]      |
[INFO] [stdout] 2030 |     invf: &[f32],
[INFO] [stdout]      |     ^^^^ help: if this is intentional, prefix it with an underscore: `_invf`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `h`
[INFO] [stdout]     --> src/gpu.rs:2031:5
[INFO] [stdout]      |
[INFO] [stdout] 2031 |     h: &mut [f32],
[INFO] [stdout]      |     ^ help: if this is intentional, prefix it with an underscore: `_h`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `nh`
[INFO] [stdout]     --> src/gpu.rs:2032:5
[INFO] [stdout]      |
[INFO] [stdout] 2032 |     nh: usize,
[INFO] [stdout]      |     ^^ help: if this is intentional, prefix it with an underscore: `_nh`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `nkv`
[INFO] [stdout]     --> src/gpu.rs:2033:5
[INFO] [stdout]      |
[INFO] [stdout] 2033 |     nkv: usize,
[INFO] [stdout]      |     ^^^ help: if this is intentional, prefix it with an underscore: `_nkv`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `hd`
[INFO] [stdout]     --> src/gpu.rs:2034:5
[INFO] [stdout]      |
[INFO] [stdout] 2034 |     hd: usize,
[INFO] [stdout]      |     ^^ help: if this is intentional, prefix it with an underscore: `_hd`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rd`
[INFO] [stdout]     --> src/gpu.rs:2035:5
[INFO] [stdout]      |
[INFO] [stdout] 2035 |     rd: usize,
[INFO] [stdout]      |     ^^ help: if this is intentional, prefix it with an underscore: `_rd`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `hidden`
[INFO] [stdout]     --> src/gpu.rs:2036:5
[INFO] [stdout]      |
[INFO] [stdout] 2036 |     hidden: usize,
[INFO] [stdout]      |     ^^^^^^ help: if this is intentional, prefix it with an underscore: `_hidden`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `inter`
[INFO] [stdout]     --> src/gpu.rs:2037:5
[INFO] [stdout]      |
[INFO] [stdout] 2037 |     inter: usize,
[INFO] [stdout]      |     ^^^^^ help: if this is intentional, prefix it with an underscore: `_inter`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `positions`
[INFO] [stdout]     --> src/gpu.rs:2038:5
[INFO] [stdout]      |
[INFO] [stdout] 2038 |     positions: &[usize],
[INFO] [stdout]      |     ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_positions`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cap`
[INFO] [stdout]     --> src/gpu.rs:2039:5
[INFO] [stdout]      |
[INFO] [stdout] 2039 |     cap: usize,
[INFO] [stdout]      |     ^^^ help: if this is intentional, prefix it with an underscore: `_cap`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `gemma`
[INFO] [stdout]     --> src/gpu.rs:2040:5
[INFO] [stdout]      |
[INFO] [stdout] 2040 |     gemma: bool,
[INFO] [stdout]      |     ^^^^^ help: if this is intentional, prefix it with an underscore: `_gemma`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `eps`
[INFO] [stdout]     --> src/gpu.rs:2041:5
[INFO] [stdout]      |
[INFO] [stdout] 2041 |     eps: f32,
[INFO] [stdout]      |     ^^^ help: if this is intentional, prefix it with an underscore: `_eps`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `attn_scale`
[INFO] [stdout]     --> src/gpu.rs:2042:5
[INFO] [stdout]      |
[INFO] [stdout] 2042 |     attn_scale: f32,
[INFO] [stdout]      |     ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_attn_scale`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `k`
[INFO] [stdout]     --> src/gpu.rs:2043:5
[INFO] [stdout]      |
[INFO] [stdout] 2043 |     k: usize,
[INFO] [stdout]      |     ^ help: if this is intentional, prefix it with an underscore: `_k`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `kv_id`
[INFO] [stdout]     --> src/gpu.rs:2091:28
[INFO] [stdout]      |
[INFO] [stdout] 2091 | pub fn graph_kv_set_stored(kv_id: u64, layer: usize, stored: usize) -> bool {
[INFO] [stdout]      |                            ^^^^^ help: if this is intentional, prefix it with an underscore: `_kv_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `layer`
[INFO] [stdout]     --> src/gpu.rs:2091:40
[INFO] [stdout]      |
[INFO] [stdout] 2091 | pub fn graph_kv_set_stored(kv_id: u64, layer: usize, stored: usize) -> bool {
[INFO] [stdout]      |                                        ^^^^^ help: if this is intentional, prefix it with an underscore: `_layer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `stored`
[INFO] [stdout]     --> src/gpu.rs:2091:54
[INFO] [stdout]      |
[INFO] [stdout] 2091 | pub fn graph_kv_set_stored(kv_id: u64, layer: usize, stored: usize) -> bool {
[INFO] [stdout]      |                                                      ^^^^^^ help: if this is intentional, prefix it with an underscore: `_stored`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `model`
[INFO] [stdout]     --> src/gpu.rs:2174:5
[INFO] [stdout]      |
[INFO] [stdout] 2174 |     model: &Arc<CmfModel>,
[INFO] [stdout]      |     ^^^^^ help: if this is intentional, prefix it with an underscore: `_model`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `idx`
[INFO] [stdout]     --> src/gpu.rs:2175:5
[INFO] [stdout]      |
[INFO] [stdout] 2175 |     idx: usize,
[INFO] [stdout]      |     ^^^ help: if this is intentional, prefix it with an underscore: `_idx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `xs`
[INFO] [stdout]     --> src/gpu.rs:2176:5
[INFO] [stdout]      |
[INFO] [stdout] 2176 |     xs: &[f32],
[INFO] [stdout]      |     ^^ help: if this is intentional, prefix it with an underscore: `_xs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rows`
[INFO] [stdout]     --> src/gpu.rs:2177:5
[INFO] [stdout]      |
[INFO] [stdout] 2177 |     rows: usize,
[INFO] [stdout]      |     ^^^^ help: if this is intentional, prefix it with an underscore: `_rows`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cols`
[INFO] [stdout]     --> src/gpu.rs:2178:5
[INFO] [stdout]      |
[INFO] [stdout] 2178 |     cols: usize,
[INFO] [stdout]      |     ^^^^ help: if this is intentional, prefix it with an underscore: `_cols`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `out`
[INFO] [stdout]     --> src/gpu.rs:2179:5
[INFO] [stdout]      |
[INFO] [stdout] 2179 |     out: &mut [f32],
[INFO] [stdout]      |     ^^^ help: if this is intentional, prefix it with an underscore: `_out`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `model`
[INFO] [stdout]     --> src/gpu.rs:2219:5
[INFO] [stdout]      |
[INFO] [stdout] 2219 |     model: &Arc<CmfModel>,
[INFO] [stdout]      |     ^^^^^ help: if this is intentional, prefix it with an underscore: `_model`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `idx`
[INFO] [stdout]     --> src/gpu.rs:2220:5
[INFO] [stdout]      |
[INFO] [stdout] 2220 |     idx: usize,
[INFO] [stdout]      |     ^^^ help: if this is intentional, prefix it with an underscore: `_idx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `xs`
[INFO] [stdout]     --> src/gpu.rs:2221:5
[INFO] [stdout]      |
[INFO] [stdout] 2221 |     xs: &[f32],
[INFO] [stdout]      |     ^^ help: if this is intentional, prefix it with an underscore: `_xs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `b`
[INFO] [stdout]     --> src/gpu.rs:2222:5
[INFO] [stdout]      |
[INFO] [stdout] 2222 |     b: usize,
[INFO] [stdout]      |     ^ help: if this is intentional, prefix it with an underscore: `_b`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rows`
[INFO] [stdout]     --> src/gpu.rs:2223:5
[INFO] [stdout]      |
[INFO] [stdout] 2223 |     rows: usize,
[INFO] [stdout]      |     ^^^^ help: if this is intentional, prefix it with an underscore: `_rows`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cols`
[INFO] [stdout]     --> src/gpu.rs:2224:5
[INFO] [stdout]      |
[INFO] [stdout] 2224 |     cols: usize,
[INFO] [stdout]      |     ^^^^ help: if this is intentional, prefix it with an underscore: `_cols`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `out`
[INFO] [stdout]     --> src/gpu.rs:2225:5
[INFO] [stdout]      |
[INFO] [stdout] 2225 |     out: &mut [f32],
[INFO] [stdout]      |     ^^^ help: if this is intentional, prefix it with an underscore: `_out`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `model`
[INFO] [stdout]     --> src/gpu.rs:2251:5
[INFO] [stdout]      |
[INFO] [stdout] 2251 |     model: &Arc<CmfModel>,
[INFO] [stdout]      |     ^^^^^ help: if this is intentional, prefix it with an underscore: `_model`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `idx`
[INFO] [stdout]     --> src/gpu.rs:2252:5
[INFO] [stdout]      |
[INFO] [stdout] 2252 |     idx: usize,
[INFO] [stdout]      |     ^^^ help: if this is intentional, prefix it with an underscore: `_idx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `xs`
[INFO] [stdout]     --> src/gpu.rs:2253:5
[INFO] [stdout]      |
[INFO] [stdout] 2253 |     xs: &[f32],
[INFO] [stdout]      |     ^^ help: if this is intentional, prefix it with an underscore: `_xs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `b`
[INFO] [stdout]     --> src/gpu.rs:2254:5
[INFO] [stdout]      |
[INFO] [stdout] 2254 |     b: usize,
[INFO] [stdout]      |     ^ help: if this is intentional, prefix it with an underscore: `_b`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rows`
[INFO] [stdout]     --> src/gpu.rs:2255:5
[INFO] [stdout]      |
[INFO] [stdout] 2255 |     rows: usize,
[INFO] [stdout]      |     ^^^^ help: if this is intentional, prefix it with an underscore: `_rows`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cols`
[INFO] [stdout]     --> src/gpu.rs:2256:5
[INFO] [stdout]      |
[INFO] [stdout] 2256 |     cols: usize,
[INFO] [stdout]      |     ^^^^ help: if this is intentional, prefix it with an underscore: `_cols`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `out`
[INFO] [stdout]     --> src/gpu.rs:2257:5
[INFO] [stdout]      |
[INFO] [stdout] 2257 |     out: &mut [f32],
[INFO] [stdout]      |     ^^^ help: if this is intentional, prefix it with an underscore: `_out`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `model`
[INFO] [stdout]     --> src/gpu.rs:2697:5
[INFO] [stdout]      |
[INFO] [stdout] 2697 |     model: &Arc<CmfModel>,
[INFO] [stdout]      |     ^^^^^ help: if this is intentional, prefix it with an underscore: `_model`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `w1`
[INFO] [stdout]     --> src/gpu.rs:2698:5
[INFO] [stdout]      |
[INFO] [stdout] 2698 |     w1: usize,
[INFO] [stdout]      |     ^^ help: if this is intentional, prefix it with an underscore: `_w1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `w3`
[INFO] [stdout]     --> src/gpu.rs:2699:5
[INFO] [stdout]      |
[INFO] [stdout] 2699 |     w3: usize,
[INFO] [stdout]      |     ^^ help: if this is intentional, prefix it with an underscore: `_w3`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `w2`
[INFO] [stdout]     --> src/gpu.rs:2700:5
[INFO] [stdout]      |
[INFO] [stdout] 2700 |     w2: usize,
[INFO] [stdout]      |     ^^ help: if this is intentional, prefix it with an underscore: `_w2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `xs`
[INFO] [stdout]     --> src/gpu.rs:2701:5
[INFO] [stdout]      |
[INFO] [stdout] 2701 |     xs: &[f32],
[INFO] [stdout]      |     ^^ help: if this is intentional, prefix it with an underscore: `_xs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `b`
[INFO] [stdout]     --> src/gpu.rs:2702:5
[INFO] [stdout]      |
[INFO] [stdout] 2702 |     b: usize,
[INFO] [stdout]      |     ^ help: if this is intentional, prefix it with an underscore: `_b`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `hidden`
[INFO] [stdout]     --> src/gpu.rs:2703:5
[INFO] [stdout]      |
[INFO] [stdout] 2703 |     hidden: usize,
[INFO] [stdout]      |     ^^^^^^ help: if this is intentional, prefix it with an underscore: `_hidden`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `inter`
[INFO] [stdout]     --> src/gpu.rs:2704:5
[INFO] [stdout]      |
[INFO] [stdout] 2704 |     inter: usize,
[INFO] [stdout]      |     ^^^^^ help: if this is intentional, prefix it with an underscore: `_inter`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `out`
[INFO] [stdout]     --> src/gpu.rs:2705:5
[INFO] [stdout]      |
[INFO] [stdout] 2705 |     out: &mut [f32],
[INFO] [stdout]      |     ^^^ help: if this is intentional, prefix it with an underscore: `_out`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `model`
[INFO] [stdout]     --> src/gpu.rs:2822:5
[INFO] [stdout]      |
[INFO] [stdout] 2822 |     model: &Arc<CmfModel>,
[INFO] [stdout]      |     ^^^^^ help: if this is intentional, prefix it with an underscore: `_model`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `w1`
[INFO] [stdout]     --> src/gpu.rs:2823:5
[INFO] [stdout]      |
[INFO] [stdout] 2823 |     w1: usize,
[INFO] [stdout]      |     ^^ help: if this is intentional, prefix it with an underscore: `_w1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `w3`
[INFO] [stdout]     --> src/gpu.rs:2824:5
[INFO] [stdout]      |
[INFO] [stdout] 2824 |     w3: usize,
[INFO] [stdout]      |     ^^ help: if this is intentional, prefix it with an underscore: `_w3`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `w2`
[INFO] [stdout]     --> src/gpu.rs:2825:5
[INFO] [stdout]      |
[INFO] [stdout] 2825 |     w2: usize,
[INFO] [stdout]      |     ^^ help: if this is intentional, prefix it with an underscore: `_w2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `xs`
[INFO] [stdout]     --> src/gpu.rs:2826:5
[INFO] [stdout]      |
[INFO] [stdout] 2826 |     xs: &[f32],
[INFO] [stdout]      |     ^^ help: if this is intentional, prefix it with an underscore: `_xs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `b`
[INFO] [stdout]     --> src/gpu.rs:2827:5
[INFO] [stdout]      |
[INFO] [stdout] 2827 |     b: usize,
[INFO] [stdout]      |     ^ help: if this is intentional, prefix it with an underscore: `_b`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `hidden`
[INFO] [stdout]     --> src/gpu.rs:2828:5
[INFO] [stdout]      |
[INFO] [stdout] 2828 |     hidden: usize,
[INFO] [stdout]      |     ^^^^^^ help: if this is intentional, prefix it with an underscore: `_hidden`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `inter`
[INFO] [stdout]     --> src/gpu.rs:2829:5
[INFO] [stdout]      |
[INFO] [stdout] 2829 |     inter: usize,
[INFO] [stdout]      |     ^^^^^ help: if this is intentional, prefix it with an underscore: `_inter`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `out`
[INFO] [stdout]     --> src/gpu.rs:2830:5
[INFO] [stdout]      |
[INFO] [stdout] 2830 |     out: &mut [f32],
[INFO] [stdout]      |     ^^^ help: if this is intentional, prefix it with an underscore: `_out`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `model`
[INFO] [stdout]     --> src/gpu.rs:3197:5
[INFO] [stdout]      |
[INFO] [stdout] 3197 |     model: &Arc<CmfModel>,
[INFO] [stdout]      |     ^^^^^ help: if this is intentional, prefix it with an underscore: `_model`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `a`
[INFO] [stdout]     --> src/gpu.rs:3198:5
[INFO] [stdout]      |
[INFO] [stdout] 3198 |     a: &DitBlockArgs,
[INFO] [stdout]      |     ^ help: if this is intentional, prefix it with an underscore: `_a`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `segs`
[INFO] [stdout]     --> src/gpu.rs:3199:5
[INFO] [stdout]      |
[INFO] [stdout] 3199 |     segs: &[usize],
[INFO] [stdout]      |     ^^^^ help: if this is intentional, prefix it with an underscore: `_segs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]     --> src/gpu.rs:3200:5
[INFO] [stdout]      |
[INFO] [stdout] 3200 |     x: &mut [f32],
[INFO] [stdout]      |     ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `model`
[INFO] [stdout]     --> src/gpu.rs:3345:5
[INFO] [stdout]      |
[INFO] [stdout] 3345 |     model: &Arc<CmfModel>,
[INFO] [stdout]      |     ^^^^^ help: if this is intentional, prefix it with an underscore: `_model`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `qkv_idx`
[INFO] [stdout]     --> src/gpu.rs:3346:5
[INFO] [stdout]      |
[INFO] [stdout] 3346 |     qkv_idx: usize,
[INFO] [stdout]      |     ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_qkv_idx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `out_idx`
[INFO] [stdout]     --> src/gpu.rs:3347:5
[INFO] [stdout]      |
[INFO] [stdout] 3347 |     out_idx: usize,
[INFO] [stdout]      |     ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_out_idx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `xn`
[INFO] [stdout]     --> src/gpu.rs:3348:5
[INFO] [stdout]      |
[INFO] [stdout] 3348 |     xn: &[f32],
[INFO] [stdout]      |     ^^ help: if this is intentional, prefix it with an underscore: `_xn`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n`
[INFO] [stdout]     --> src/gpu.rs:3349:5
[INFO] [stdout]      |
[INFO] [stdout] 3349 |     n: usize,
[INFO] [stdout]      |     ^ help: if this is intentional, prefix it with an underscore: `_n`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `hidden`
[INFO] [stdout]     --> src/gpu.rs:3350:5
[INFO] [stdout]      |
[INFO] [stdout] 3350 |     hidden: usize,
[INFO] [stdout]      |     ^^^^^^ help: if this is intentional, prefix it with an underscore: `_hidden`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `nh`
[INFO] [stdout]     --> src/gpu.rs:3351:5
[INFO] [stdout]      |
[INFO] [stdout] 3351 |     nh: usize,
[INFO] [stdout]      |     ^^ help: if this is intentional, prefix it with an underscore: `_nh`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `hd`
[INFO] [stdout]     --> src/gpu.rs:3352:5
[INFO] [stdout]      |
[INFO] [stdout] 3352 |     hd: usize,
[INFO] [stdout]      |     ^^ help: if this is intentional, prefix it with an underscore: `_hd`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `scale`
[INFO] [stdout]     --> src/gpu.rs:3353:5
[INFO] [stdout]      |
[INFO] [stdout] 3353 |     scale: f32,
[INFO] [stdout]      |     ^^^^^ help: if this is intentional, prefix it with an underscore: `_scale`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `nr`
[INFO] [stdout]     --> src/gpu.rs:3354:5
[INFO] [stdout]      |
[INFO] [stdout] 3354 |     nr: (&[f32], &[f32], &[f32], f32),
[INFO] [stdout]      |     ^^ help: if this is intentional, prefix it with an underscore: `_nr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `proj`
[INFO] [stdout]     --> src/gpu.rs:3355:5
[INFO] [stdout]      |
[INFO] [stdout] 3355 |     proj: &mut [f32],
[INFO] [stdout]      |     ^^^^ help: if this is intentional, prefix it with an underscore: `_proj`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `model`
[INFO] [stdout]     --> src/gpu.rs:3370:5
[INFO] [stdout]      |
[INFO] [stdout] 3370 |     model: &Arc<CmfModel>,
[INFO] [stdout]      |     ^^^^^ help: if this is intentional, prefix it with an underscore: `_model`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `qkv_idx`
[INFO] [stdout]     --> src/gpu.rs:3371:5
[INFO] [stdout]      |
[INFO] [stdout] 3371 |     qkv_idx: usize,
[INFO] [stdout]      |     ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_qkv_idx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `out_idx`
[INFO] [stdout]     --> src/gpu.rs:3372:5
[INFO] [stdout]      |
[INFO] [stdout] 3372 |     out_idx: usize,
[INFO] [stdout]      |     ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_out_idx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `xn`
[INFO] [stdout]     --> src/gpu.rs:3373:5
[INFO] [stdout]      |
[INFO] [stdout] 3373 |     xn: &[f32],
[INFO] [stdout]      |     ^^ help: if this is intentional, prefix it with an underscore: `_xn`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n`
[INFO] [stdout]     --> src/gpu.rs:3374:5
[INFO] [stdout]      |
[INFO] [stdout] 3374 |     n: usize,
[INFO] [stdout]      |     ^ help: if this is intentional, prefix it with an underscore: `_n`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dim`
[INFO] [stdout]     --> src/gpu.rs:3375:5
[INFO] [stdout]      |
[INFO] [stdout] 3375 |     dim: usize,
[INFO] [stdout]      |     ^^^ help: if this is intentional, prefix it with an underscore: `_dim`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `nh`
[INFO] [stdout]     --> src/gpu.rs:3376:5
[INFO] [stdout]      |
[INFO] [stdout] 3376 |     nh: usize,
[INFO] [stdout]      |     ^^ help: if this is intentional, prefix it with an underscore: `_nh`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `hd`
[INFO] [stdout]     --> src/gpu.rs:3377:5
[INFO] [stdout]      |
[INFO] [stdout] 3377 |     hd: usize,
[INFO] [stdout]      |     ^^ help: if this is intentional, prefix it with an underscore: `_hd`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `scale`
[INFO] [stdout]     --> src/gpu.rs:3378:5
[INFO] [stdout]      |
[INFO] [stdout] 3378 |     scale: f32,
[INFO] [stdout]      |     ^^^^^ help: if this is intentional, prefix it with an underscore: `_scale`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `angles`
[INFO] [stdout]     --> src/gpu.rs:3379:5
[INFO] [stdout]      |
[INFO] [stdout] 3379 |     angles: &[f32],
[INFO] [stdout]      |     ^^^^^^ help: if this is intentional, prefix it with an underscore: `_angles`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `eps`
[INFO] [stdout]     --> src/gpu.rs:3380:5
[INFO] [stdout]      |
[INFO] [stdout] 3380 |     eps: f32,
[INFO] [stdout]      |     ^^^ help: if this is intentional, prefix it with an underscore: `_eps`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `qkv_bias`
[INFO] [stdout]     --> src/gpu.rs:3381:5
[INFO] [stdout]      |
[INFO] [stdout] 3381 |     qkv_bias: &[f32],
[INFO] [stdout]      |     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_qkv_bias`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `proj`
[INFO] [stdout]     --> src/gpu.rs:3382:5
[INFO] [stdout]      |
[INFO] [stdout] 3382 |     proj: &mut [f32],
[INFO] [stdout]      |     ^^^^ help: if this is intentional, prefix it with an underscore: `_proj`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `qkv`
[INFO] [stdout]     --> src/gpu.rs:3410:5
[INFO] [stdout]      |
[INFO] [stdout] 3410 |     qkv: &[f32],
[INFO] [stdout]      |     ^^^ help: if this is intentional, prefix it with an underscore: `_qkv`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `nh`
[INFO] [stdout]     --> src/gpu.rs:3411:5
[INFO] [stdout]      |
[INFO] [stdout] 3411 |     nh: usize,
[INFO] [stdout]      |     ^^ help: if this is intentional, prefix it with an underscore: `_nh`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n`
[INFO] [stdout]     --> src/gpu.rs:3412:5
[INFO] [stdout]      |
[INFO] [stdout] 3412 |     n: usize,
[INFO] [stdout]      |     ^ help: if this is intentional, prefix it with an underscore: `_n`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `hd`
[INFO] [stdout]     --> src/gpu.rs:3413:5
[INFO] [stdout]      |
[INFO] [stdout] 3413 |     hd: usize,
[INFO] [stdout]      |     ^^ help: if this is intentional, prefix it with an underscore: `_hd`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `scale`
[INFO] [stdout]     --> src/gpu.rs:3414:5
[INFO] [stdout]      |
[INFO] [stdout] 3414 |     scale: f32,
[INFO] [stdout]      |     ^^^^^ help: if this is intentional, prefix it with an underscore: `_scale`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `angles`
[INFO] [stdout]     --> src/gpu.rs:3415:5
[INFO] [stdout]      |
[INFO] [stdout] 3415 |     angles: &[f32],
[INFO] [stdout]      |     ^^^^^^ help: if this is intentional, prefix it with an underscore: `_angles`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `eps`
[INFO] [stdout]     --> src/gpu.rs:3416:5
[INFO] [stdout]      |
[INFO] [stdout] 3416 |     eps: f32,
[INFO] [stdout]      |     ^^^ help: if this is intentional, prefix it with an underscore: `_eps`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `out`
[INFO] [stdout]     --> src/gpu.rs:3417:5
[INFO] [stdout]      |
[INFO] [stdout] 3417 |     out: &mut [f32],
[INFO] [stdout]      |     ^^^ help: if this is intentional, prefix it with an underscore: `_out`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `layout`
[INFO] [stdout]     --> src/gpu.rs:3418:5
[INFO] [stdout]      |
[INFO] [stdout] 3418 |     layout: u32,
[INFO] [stdout]      |     ^^^^^^ help: if this is intentional, prefix it with an underscore: `_layout`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `qkv`
[INFO] [stdout]     --> src/gpu.rs:3432:5
[INFO] [stdout]      |
[INFO] [stdout] 3432 |     qkv: &[f32],
[INFO] [stdout]      |     ^^^ help: if this is intentional, prefix it with an underscore: `_qkv`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `nh`
[INFO] [stdout]     --> src/gpu.rs:3433:5
[INFO] [stdout]      |
[INFO] [stdout] 3433 |     nh: usize,
[INFO] [stdout]      |     ^^ help: if this is intentional, prefix it with an underscore: `_nh`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n`
[INFO] [stdout]     --> src/gpu.rs:3434:5
[INFO] [stdout]      |
[INFO] [stdout] 3434 |     n: usize,
[INFO] [stdout]      |     ^ help: if this is intentional, prefix it with an underscore: `_n`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `hd`
[INFO] [stdout]     --> src/gpu.rs:3435:5
[INFO] [stdout]      |
[INFO] [stdout] 3435 |     hd: usize,
[INFO] [stdout]      |     ^^ help: if this is intentional, prefix it with an underscore: `_hd`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `layout`
[INFO] [stdout]     --> src/gpu.rs:3436:5
[INFO] [stdout]      |
[INFO] [stdout] 3436 |     layout: u32,
[INFO] [stdout]      |     ^^^^^^ help: if this is intentional, prefix it with an underscore: `_layout`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `norm`
[INFO] [stdout]     --> src/gpu.rs:3437:5
[INFO] [stdout]      |
[INFO] [stdout] 3437 |     norm: Option<(&[f32], f32)>,
[INFO] [stdout]      |     ^^^^ help: if this is intentional, prefix it with an underscore: `_norm`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `out_q`
[INFO] [stdout]     --> src/gpu.rs:3438:5
[INFO] [stdout]      |
[INFO] [stdout] 3438 |     out_q: &mut [f32],
[INFO] [stdout]      |     ^^^^^ help: if this is intentional, prefix it with an underscore: `_out_q`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]     --> src/gpu.rs:3456:5
[INFO] [stdout]      |
[INFO] [stdout] 3456 |     x: &[f32],
[INFO] [stdout]      |     ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `w`
[INFO] [stdout]     --> src/gpu.rs:3457:5
[INFO] [stdout]      |
[INFO] [stdout] 3457 |     w: &[f32],
[INFO] [stdout]      |     ^ help: if this is intentional, prefix it with an underscore: `_w`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `y`
[INFO] [stdout]     --> src/gpu.rs:3458:5
[INFO] [stdout]      |
[INFO] [stdout] 3458 |     y: &mut [f32],
[INFO] [stdout]      |     ^ help: if this is intentional, prefix it with an underscore: `_y`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n`
[INFO] [stdout]     --> src/gpu.rs:3459:5
[INFO] [stdout]      |
[INFO] [stdout] 3459 |     n: usize,
[INFO] [stdout]      |     ^ help: if this is intentional, prefix it with an underscore: `_n`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `k`
[INFO] [stdout]     --> src/gpu.rs:3460:5
[INFO] [stdout]      |
[INFO] [stdout] 3460 |     k: usize,
[INFO] [stdout]      |     ^ help: if this is intentional, prefix it with an underscore: `_k`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `m`
[INFO] [stdout]     --> src/gpu.rs:3461:5
[INFO] [stdout]      |
[INFO] [stdout] 3461 |     m: usize,
[INFO] [stdout]      |     ^ help: if this is intentional, prefix it with an underscore: `_m`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]     --> src/gpu.rs:3471:20
[INFO] [stdout]      |
[INFO] [stdout] 3471 | pub fn gemm_nt_f32(x: &[f32], w: &[f32], y: &mut [f32], n: usize, k: usize, m: usize) -> bool {
[INFO] [stdout]      |                    ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `w`
[INFO] [stdout]     --> src/gpu.rs:3471:31
[INFO] [stdout]      |
[INFO] [stdout] 3471 | pub fn gemm_nt_f32(x: &[f32], w: &[f32], y: &mut [f32], n: usize, k: usize, m: usize) -> bool {
[INFO] [stdout]      |                               ^ help: if this is intentional, prefix it with an underscore: `_w`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `y`
[INFO] [stdout]     --> src/gpu.rs:3471:42
[INFO] [stdout]      |
[INFO] [stdout] 3471 | pub fn gemm_nt_f32(x: &[f32], w: &[f32], y: &mut [f32], n: usize, k: usize, m: usize) -> bool {
[INFO] [stdout]      |                                          ^ help: if this is intentional, prefix it with an underscore: `_y`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n`
[INFO] [stdout]     --> src/gpu.rs:3471:57
[INFO] [stdout]      |
[INFO] [stdout] 3471 | pub fn gemm_nt_f32(x: &[f32], w: &[f32], y: &mut [f32], n: usize, k: usize, m: usize) -> bool {
[INFO] [stdout]      |                                                         ^ help: if this is intentional, prefix it with an underscore: `_n`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `k`
[INFO] [stdout]     --> src/gpu.rs:3471:67
[INFO] [stdout]      |
[INFO] [stdout] 3471 | pub fn gemm_nt_f32(x: &[f32], w: &[f32], y: &mut [f32], n: usize, k: usize, m: usize) -> bool {
[INFO] [stdout]      |                                                                   ^ help: if this is intentional, prefix it with an underscore: `_k`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `m`
[INFO] [stdout]     --> src/gpu.rs:3471:77
[INFO] [stdout]      |
[INFO] [stdout] 3471 | pub fn gemm_nt_f32(x: &[f32], w: &[f32], y: &mut [f32], n: usize, k: usize, m: usize) -> bool {
[INFO] [stdout]      |                                                                             ^ help: if this is intentional, prefix it with an underscore: `_m`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `model`
[INFO] [stdout]     --> src/gpu.rs:3484:5
[INFO] [stdout]      |
[INFO] [stdout] 3484 |     model: &std::sync::Arc<CmfModel>,
[INFO] [stdout]      |     ^^^^^ help: if this is intentional, prefix it with an underscore: `_model`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `idx_in`
[INFO] [stdout]     --> src/gpu.rs:3485:5
[INFO] [stdout]      |
[INFO] [stdout] 3485 |     idx_in: usize,
[INFO] [stdout]      |     ^^^^^^ help: if this is intentional, prefix it with an underscore: `_idx_in`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `idx_out`
[INFO] [stdout]     --> src/gpu.rs:3486:5
[INFO] [stdout]      |
[INFO] [stdout] 3486 |     idx_out: usize,
[INFO] [stdout]      |     ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_idx_out`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `h`
[INFO] [stdout]     --> src/gpu.rs:3487:5
[INFO] [stdout]      |
[INFO] [stdout] 3487 |     h: &[f32],
[INFO] [stdout]      |     ^ help: if this is intentional, prefix it with an underscore: `_h`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bias_in`
[INFO] [stdout]     --> src/gpu.rs:3488:5
[INFO] [stdout]      |
[INFO] [stdout] 3488 |     bias_in: &[f32],
[INFO] [stdout]      |     ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_bias_in`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n`
[INFO] [stdout]     --> src/gpu.rs:3489:5
[INFO] [stdout]      |
[INFO] [stdout] 3489 |     n: usize,
[INFO] [stdout]      |     ^ help: if this is intentional, prefix it with an underscore: `_n`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `hs`
[INFO] [stdout]     --> src/gpu.rs:3490:5
[INFO] [stdout]      |
[INFO] [stdout] 3490 |     hs: usize,
[INFO] [stdout]      |     ^^ help: if this is intentional, prefix it with an underscore: `_hs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `inter`
[INFO] [stdout]     --> src/gpu.rs:3491:5
[INFO] [stdout]      |
[INFO] [stdout] 3491 |     inter: usize,
[INFO] [stdout]      |     ^^^^^ help: if this is intentional, prefix it with an underscore: `_inter`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `out`
[INFO] [stdout]     --> src/gpu.rs:3492:5
[INFO] [stdout]      |
[INFO] [stdout] 3492 |     out: &mut [f32],
[INFO] [stdout]      |     ^^^ help: if this is intentional, prefix it with an underscore: `_out`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]     --> src/gpu.rs:3509:5
[INFO] [stdout]      |
[INFO] [stdout] 3509 |     x: &[f32],
[INFO] [stdout]      |     ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `w`
[INFO] [stdout]     --> src/gpu.rs:3510:5
[INFO] [stdout]      |
[INFO] [stdout] 3510 |     w: &[f32],
[INFO] [stdout]      |     ^ help: if this is intentional, prefix it with an underscore: `_w`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ic`
[INFO] [stdout]     --> src/gpu.rs:3511:5
[INFO] [stdout]      |
[INFO] [stdout] 3511 |     ic: usize,
[INFO] [stdout]      |     ^^ help: if this is intentional, prefix it with an underscore: `_ic`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `oc`
[INFO] [stdout]     --> src/gpu.rs:3512:5
[INFO] [stdout]      |
[INFO] [stdout] 3512 |     oc: usize,
[INFO] [stdout]      |     ^^ help: if this is intentional, prefix it with an underscore: `_oc`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n`
[INFO] [stdout]     --> src/gpu.rs:3513:5
[INFO] [stdout]      |
[INFO] [stdout] 3513 |     n: usize,
[INFO] [stdout]      |     ^ help: if this is intentional, prefix it with an underscore: `_n`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `k`
[INFO] [stdout]     --> src/gpu.rs:3514:5
[INFO] [stdout]      |
[INFO] [stdout] 3514 |     k: usize,
[INFO] [stdout]      |     ^ help: if this is intentional, prefix it with an underscore: `_k`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pad`
[INFO] [stdout]     --> src/gpu.rs:3515:5
[INFO] [stdout]      |
[INFO] [stdout] 3515 |     pad: usize,
[INFO] [stdout]      |     ^^^ help: if this is intentional, prefix it with an underscore: `_pad`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dil`
[INFO] [stdout]     --> src/gpu.rs:3516:5
[INFO] [stdout]      |
[INFO] [stdout] 3516 |     dil: usize,
[INFO] [stdout]      |     ^^^ help: if this is intentional, prefix it with an underscore: `_dil`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `out_n`
[INFO] [stdout]     --> src/gpu.rs:3517:5
[INFO] [stdout]      |
[INFO] [stdout] 3517 |     out_n: usize,
[INFO] [stdout]      |     ^^^^^ help: if this is intentional, prefix it with an underscore: `_out_n`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `yt`
[INFO] [stdout]     --> src/gpu.rs:3518:5
[INFO] [stdout]      |
[INFO] [stdout] 3518 |     yt: &mut [f32],
[INFO] [stdout]      |     ^^ help: if this is intentional, prefix it with an underscore: `_yt`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `w`
[INFO] [stdout]     --> src/gpu.rs:3533:5
[INFO] [stdout]      |
[INFO] [stdout] 3533 |     w: &[f32],
[INFO] [stdout]      |     ^ help: if this is intentional, prefix it with an underscore: `_w`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bias`
[INFO] [stdout]     --> src/gpu.rs:3534:5
[INFO] [stdout]      |
[INFO] [stdout] 3534 |     bias: Option<&[f32]>,
[INFO] [stdout]      |     ^^^^ help: if this is intentional, prefix it with an underscore: `_bias`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]     --> src/gpu.rs:3535:5
[INFO] [stdout]      |
[INFO] [stdout] 3535 |     x: &[f32],
[INFO] [stdout]      |     ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ic`
[INFO] [stdout]     --> src/gpu.rs:3536:5
[INFO] [stdout]      |
[INFO] [stdout] 3536 |     ic: usize,
[INFO] [stdout]      |     ^^ help: if this is intentional, prefix it with an underscore: `_ic`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `oc`
[INFO] [stdout]     --> src/gpu.rs:3537:5
[INFO] [stdout]      |
[INFO] [stdout] 3537 |     oc: usize,
[INFO] [stdout]      |     ^^ help: if this is intentional, prefix it with an underscore: `_oc`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `h`
[INFO] [stdout]     --> src/gpu.rs:3538:5
[INFO] [stdout]      |
[INFO] [stdout] 3538 |     h: usize,
[INFO] [stdout]      |     ^ help: if this is intentional, prefix it with an underscore: `_h`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `wi`
[INFO] [stdout]     --> src/gpu.rs:3539:5
[INFO] [stdout]      |
[INFO] [stdout] 3539 |     wi: usize,
[INFO] [stdout]      |     ^^ help: if this is intentional, prefix it with an underscore: `_wi`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `k`
[INFO] [stdout]     --> src/gpu.rs:3540:5
[INFO] [stdout]      |
[INFO] [stdout] 3540 |     k: usize,
[INFO] [stdout]      |     ^ help: if this is intentional, prefix it with an underscore: `_k`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `out`
[INFO] [stdout]     --> src/gpu.rs:3541:5
[INFO] [stdout]      |
[INFO] [stdout] 3541 |     out: &mut [f32],
[INFO] [stdout]      |     ^^^ help: if this is intentional, prefix it with an underscore: `_out`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `qkv`
[INFO] [stdout]     --> src/gpu.rs:3552:5
[INFO] [stdout]      |
[INFO] [stdout] 3552 |     qkv: &[f32],
[INFO] [stdout]      |     ^^^ help: if this is intentional, prefix it with an underscore: `_qkv`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `nh`
[INFO] [stdout]     --> src/gpu.rs:3553:5
[INFO] [stdout]      |
[INFO] [stdout] 3553 |     nh: usize,
[INFO] [stdout]      |     ^^ help: if this is intentional, prefix it with an underscore: `_nh`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n`
[INFO] [stdout]     --> src/gpu.rs:3554:5
[INFO] [stdout]      |
[INFO] [stdout] 3554 |     n: usize,
[INFO] [stdout]      |     ^ help: if this is intentional, prefix it with an underscore: `_n`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `hd`
[INFO] [stdout]     --> src/gpu.rs:3555:5
[INFO] [stdout]      |
[INFO] [stdout] 3555 |     hd: usize,
[INFO] [stdout]      |     ^^ help: if this is intentional, prefix it with an underscore: `_hd`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `scale`
[INFO] [stdout]     --> src/gpu.rs:3556:5
[INFO] [stdout]      |
[INFO] [stdout] 3556 |     scale: f32,
[INFO] [stdout]      |     ^^^^^ help: if this is intentional, prefix it with an underscore: `_scale`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `nr`
[INFO] [stdout]     --> src/gpu.rs:3559:5
[INFO] [stdout]      |
[INFO] [stdout] 3559 |     nr: Option<(&[f32], &[f32], &[f32], f32)>,
[INFO] [stdout]      |     ^^ help: if this is intentional, prefix it with an underscore: `_nr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `out`
[INFO] [stdout]     --> src/gpu.rs:3560:5
[INFO] [stdout]      |
[INFO] [stdout] 3560 |     out: &mut [f32],
[INFO] [stdout]      |     ^^^ help: if this is intentional, prefix it with an underscore: `_out`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `qh`
[INFO] [stdout]     --> src/gpu.rs:3593:5
[INFO] [stdout]      |
[INFO] [stdout] 3593 |     qh: &[f32],
[INFO] [stdout]      |     ^^ help: if this is intentional, prefix it with an underscore: `_qh`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `kh`
[INFO] [stdout]     --> src/gpu.rs:3594:5
[INFO] [stdout]      |
[INFO] [stdout] 3594 |     kh: &[f32],
[INFO] [stdout]      |     ^^ help: if this is intentional, prefix it with an underscore: `_kh`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `vh`
[INFO] [stdout]     --> src/gpu.rs:3595:5
[INFO] [stdout]      |
[INFO] [stdout] 3595 |     vh: &[f32],
[INFO] [stdout]      |     ^^ help: if this is intentional, prefix it with an underscore: `_vh`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `nh`
[INFO] [stdout]     --> src/gpu.rs:3596:5
[INFO] [stdout]      |
[INFO] [stdout] 3596 |     nh: usize,
[INFO] [stdout]      |     ^^ help: if this is intentional, prefix it with an underscore: `_nh`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `nkv`
[INFO] [stdout]     --> src/gpu.rs:3597:5
[INFO] [stdout]      |
[INFO] [stdout] 3597 |     nkv: usize,
[INFO] [stdout]      |     ^^^ help: if this is intentional, prefix it with an underscore: `_nkv`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n`
[INFO] [stdout]     --> src/gpu.rs:3598:5
[INFO] [stdout]      |
[INFO] [stdout] 3598 |     n: usize,
[INFO] [stdout]      |     ^ help: if this is intentional, prefix it with an underscore: `_n`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `hd`
[INFO] [stdout]     --> src/gpu.rs:3599:5
[INFO] [stdout]      |
[INFO] [stdout] 3599 |     hd: usize,
[INFO] [stdout]      |     ^^ help: if this is intentional, prefix it with an underscore: `_hd`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `scale`
[INFO] [stdout]     --> src/gpu.rs:3600:5
[INFO] [stdout]      |
[INFO] [stdout] 3600 |     scale: f32,
[INFO] [stdout]      |     ^^^^^ help: if this is intentional, prefix it with an underscore: `_scale`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `out`
[INFO] [stdout]     --> src/gpu.rs:3601:5
[INFO] [stdout]      |
[INFO] [stdout] 3601 |     out: &mut [f32],
[INFO] [stdout]      |     ^^^ help: if this is intentional, prefix it with an underscore: `_out`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `model`
[INFO] [stdout]     --> src/gpu.rs:3640:5
[INFO] [stdout]      |
[INFO] [stdout] 3640 |     model: &Arc<CmfModel>,
[INFO] [stdout]      |     ^^^^^ help: if this is intentional, prefix it with an underscore: `_model`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `idx`
[INFO] [stdout]     --> src/gpu.rs:3641:5
[INFO] [stdout]      |
[INFO] [stdout] 3641 |     idx: usize,
[INFO] [stdout]      |     ^^^ help: if this is intentional, prefix it with an underscore: `_idx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `xs`
[INFO] [stdout]     --> src/gpu.rs:3642:5
[INFO] [stdout]      |
[INFO] [stdout] 3642 |     xs: &[f32],
[INFO] [stdout]      |     ^^ help: if this is intentional, prefix it with an underscore: `_xs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `b`
[INFO] [stdout]     --> src/gpu.rs:3643:5
[INFO] [stdout]      |
[INFO] [stdout] 3643 |     b: usize,
[INFO] [stdout]      |     ^ help: if this is intentional, prefix it with an underscore: `_b`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rows`
[INFO] [stdout]     --> src/gpu.rs:3644:5
[INFO] [stdout]      |
[INFO] [stdout] 3644 |     rows: usize,
[INFO] [stdout]      |     ^^^^ help: if this is intentional, prefix it with an underscore: `_rows`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cols`
[INFO] [stdout]     --> src/gpu.rs:3645:5
[INFO] [stdout]      |
[INFO] [stdout] 3645 |     cols: usize,
[INFO] [stdout]      |     ^^^^ help: if this is intentional, prefix it with an underscore: `_cols`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `out`
[INFO] [stdout]     --> src/gpu.rs:3646:5
[INFO] [stdout]      |
[INFO] [stdout] 3646 |     out: &mut [f32],
[INFO] [stdout]      |     ^^^ help: if this is intentional, prefix it with an underscore: `_out`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `model`
[INFO] [stdout]     --> src/gpu.rs:3661:5
[INFO] [stdout]      |
[INFO] [stdout] 3661 |     model: &Arc<CmfModel>,
[INFO] [stdout]      |     ^^^^^ help: if this is intentional, prefix it with an underscore: `_model`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `idx`
[INFO] [stdout]     --> src/gpu.rs:3662:5
[INFO] [stdout]      |
[INFO] [stdout] 3662 |     idx: usize,
[INFO] [stdout]      |     ^^^ help: if this is intentional, prefix it with an underscore: `_idx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `xs`
[INFO] [stdout]     --> src/gpu.rs:3663:5
[INFO] [stdout]      |
[INFO] [stdout] 3663 |     xs: &[f32],
[INFO] [stdout]      |     ^^ help: if this is intentional, prefix it with an underscore: `_xs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `b`
[INFO] [stdout]     --> src/gpu.rs:3664:5
[INFO] [stdout]      |
[INFO] [stdout] 3664 |     b: usize,
[INFO] [stdout]      |     ^ help: if this is intentional, prefix it with an underscore: `_b`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rows`
[INFO] [stdout]     --> src/gpu.rs:3665:5
[INFO] [stdout]      |
[INFO] [stdout] 3665 |     rows: usize,
[INFO] [stdout]      |     ^^^^ help: if this is intentional, prefix it with an underscore: `_rows`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cols`
[INFO] [stdout]     --> src/gpu.rs:3666:5
[INFO] [stdout]      |
[INFO] [stdout] 3666 |     cols: usize,
[INFO] [stdout]      |     ^^^^ help: if this is intentional, prefix it with an underscore: `_cols`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `out`
[INFO] [stdout]     --> src/gpu.rs:3667:5
[INFO] [stdout]      |
[INFO] [stdout] 3667 |     out: &mut [f32],
[INFO] [stdout]      |     ^^^ help: if this is intentional, prefix it with an underscore: `_out`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `model`
[INFO] [stdout]     --> src/gpu.rs:3681:5
[INFO] [stdout]      |
[INFO] [stdout] 3681 |     model: &Arc<CmfModel>,
[INFO] [stdout]      |     ^^^^^ help: if this is intentional, prefix it with an underscore: `_model`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `idx`
[INFO] [stdout]     --> src/gpu.rs:3682:5
[INFO] [stdout]      |
[INFO] [stdout] 3682 |     idx: usize,
[INFO] [stdout]      |     ^^^ help: if this is intentional, prefix it with an underscore: `_idx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `xs`
[INFO] [stdout]     --> src/gpu.rs:3683:5
[INFO] [stdout]      |
[INFO] [stdout] 3683 |     xs: &[f32],
[INFO] [stdout]      |     ^^ help: if this is intentional, prefix it with an underscore: `_xs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rows`
[INFO] [stdout]     --> src/gpu.rs:3684:5
[INFO] [stdout]      |
[INFO] [stdout] 3684 |     rows: usize,
[INFO] [stdout]      |     ^^^^ help: if this is intentional, prefix it with an underscore: `_rows`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cols`
[INFO] [stdout]     --> src/gpu.rs:3685:5
[INFO] [stdout]      |
[INFO] [stdout] 3685 |     cols: usize,
[INFO] [stdout]      |     ^^^^ help: if this is intentional, prefix it with an underscore: `_cols`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `out`
[INFO] [stdout]     --> src/gpu.rs:3686:5
[INFO] [stdout]      |
[INFO] [stdout] 3686 |     out: &mut [f32],
[INFO] [stdout]      |     ^^^ help: if this is intentional, prefix it with an underscore: `_out`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `model`
[INFO] [stdout]     --> src/gpu.rs:3702:5
[INFO] [stdout]      |
[INFO] [stdout] 3702 |     model: &Arc<CmfModel>,
[INFO] [stdout]      |     ^^^^^ help: if this is intentional, prefix it with an underscore: `_model`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `idx`
[INFO] [stdout]     --> src/gpu.rs:3703:5
[INFO] [stdout]      |
[INFO] [stdout] 3703 |     idx: usize,
[INFO] [stdout]      |     ^^^ help: if this is intentional, prefix it with an underscore: `_idx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `xs`
[INFO] [stdout]     --> src/gpu.rs:3704:5
[INFO] [stdout]      |
[INFO] [stdout] 3704 |     xs: &[f32],
[INFO] [stdout]      |     ^^ help: if this is intentional, prefix it with an underscore: `_xs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rows`
[INFO] [stdout]     --> src/gpu.rs:3705:5
[INFO] [stdout]      |
[INFO] [stdout] 3705 |     rows: usize,
[INFO] [stdout]      |     ^^^^ help: if this is intentional, prefix it with an underscore: `_rows`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cols`
[INFO] [stdout]     --> src/gpu.rs:3706:5
[INFO] [stdout]      |
[INFO] [stdout] 3706 |     cols: usize,
[INFO] [stdout]      |     ^^^^ help: if this is intentional, prefix it with an underscore: `_cols`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `out`
[INFO] [stdout]     --> src/gpu.rs:3707:5
[INFO] [stdout]      |
[INFO] [stdout] 3707 |     out: &mut [f32],
[INFO] [stdout]      |     ^^^ help: if this is intentional, prefix it with an underscore: `_out`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `model`
[INFO] [stdout]     --> src/gpu.rs:3724:5
[INFO] [stdout]      |
[INFO] [stdout] 3724 |     model: &Arc<CmfModel>,
[INFO] [stdout]      |     ^^^^^ help: if this is intentional, prefix it with an underscore: `_model`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `idx`
[INFO] [stdout]     --> src/gpu.rs:3725:5
[INFO] [stdout]      |
[INFO] [stdout] 3725 |     idx: usize,
[INFO] [stdout]      |     ^^^ help: if this is intentional, prefix it with an underscore: `_idx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `xs`
[INFO] [stdout]     --> src/gpu.rs:3726:5
[INFO] [stdout]      |
[INFO] [stdout] 3726 |     xs: &[f32],
[INFO] [stdout]      |     ^^ help: if this is intentional, prefix it with an underscore: `_xs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rows`
[INFO] [stdout]     --> src/gpu.rs:3727:5
[INFO] [stdout]      |
[INFO] [stdout] 3727 |     rows: usize,
[INFO] [stdout]      |     ^^^^ help: if this is intentional, prefix it with an underscore: `_rows`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cols`
[INFO] [stdout]     --> src/gpu.rs:3728:5
[INFO] [stdout]      |
[INFO] [stdout] 3728 |     cols: usize,
[INFO] [stdout]      |     ^^^^ help: if this is intentional, prefix it with an underscore: `_cols`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `out`
[INFO] [stdout]     --> src/gpu.rs:3729:5
[INFO] [stdout]      |
[INFO] [stdout] 3729 |     out: &mut [f32],
[INFO] [stdout]      |     ^^^ help: if this is intentional, prefix it with an underscore: `_out`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `model`
[INFO] [stdout]     --> src/gpu.rs:3747:5
[INFO] [stdout]      |
[INFO] [stdout] 3747 |     model: &Arc<CmfModel>,
[INFO] [stdout]      |     ^^^^^ help: if this is intentional, prefix it with an underscore: `_model`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `idx`
[INFO] [stdout]     --> src/gpu.rs:3748:5
[INFO] [stdout]      |
[INFO] [stdout] 3748 |     idx: usize,
[INFO] [stdout]      |     ^^^ help: if this is intentional, prefix it with an underscore: `_idx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `xs`
[INFO] [stdout]     --> src/gpu.rs:3749:5
[INFO] [stdout]      |
[INFO] [stdout] 3749 |     xs: &[f32],
[INFO] [stdout]      |     ^^ help: if this is intentional, prefix it with an underscore: `_xs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rows`
[INFO] [stdout]     --> src/gpu.rs:3750:5
[INFO] [stdout]      |
[INFO] [stdout] 3750 |     rows: usize,
[INFO] [stdout]      |     ^^^^ help: if this is intentional, prefix it with an underscore: `_rows`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cols`
[INFO] [stdout]     --> src/gpu.rs:3751:5
[INFO] [stdout]      |
[INFO] [stdout] 3751 |     cols: usize,
[INFO] [stdout]      |     ^^^^ help: if this is intentional, prefix it with an underscore: `_cols`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `out`
[INFO] [stdout]     --> src/gpu.rs:3752:5
[INFO] [stdout]      |
[INFO] [stdout] 3752 |     out: &mut [f32],
[INFO] [stdout]      |     ^^^ help: if this is intentional, prefix it with an underscore: `_out`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `model`
[INFO] [stdout]     --> src/gpu.rs:3763:5
[INFO] [stdout]      |
[INFO] [stdout] 3763 |     model: &Arc<CmfModel>,
[INFO] [stdout]      |     ^^^^^ help: if this is intentional, prefix it with an underscore: `_model`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `idx`
[INFO] [stdout]     --> src/gpu.rs:3764:5
[INFO] [stdout]      |
[INFO] [stdout] 3764 |     idx: usize,
[INFO] [stdout]      |     ^^^ help: if this is intentional, prefix it with an underscore: `_idx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `xs`
[INFO] [stdout]     --> src/gpu.rs:3765:5
[INFO] [stdout]      |
[INFO] [stdout] 3765 |     xs: &[f32],
[INFO] [stdout]      |     ^^ help: if this is intentional, prefix it with an underscore: `_xs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `b`
[INFO] [stdout]     --> src/gpu.rs:3766:5
[INFO] [stdout]      |
[INFO] [stdout] 3766 |     b: usize,
[INFO] [stdout]      |     ^ help: if this is intentional, prefix it with an underscore: `_b`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rows`
[INFO] [stdout]     --> src/gpu.rs:3767:5
[INFO] [stdout]      |
[INFO] [stdout] 3767 |     rows: usize,
[INFO] [stdout]      |     ^^^^ help: if this is intentional, prefix it with an underscore: `_rows`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cols`
[INFO] [stdout]     --> src/gpu.rs:3768:5
[INFO] [stdout]      |
[INFO] [stdout] 3768 |     cols: usize,
[INFO] [stdout]      |     ^^^^ help: if this is intentional, prefix it with an underscore: `_cols`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `out`
[INFO] [stdout]     --> src/gpu.rs:3769:5
[INFO] [stdout]      |
[INFO] [stdout] 3769 |     out: &mut [f32],
[INFO] [stdout]      |     ^^^ help: if this is intentional, prefix it with an underscore: `_out`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/gpu.rs:4153:9
[INFO] [stdout]      |
[INFO] [stdout] 4153 |     let mut total = 0u64;
[INFO] [stdout]      |         ----^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `npos`
[INFO] [stdout]     --> src/ltxaudio.rs:1218:13
[INFO] [stdout]      |
[INFO] [stdout] 1218 |         let npos = out.n();
[INFO] [stdout]      |             ^^^^ help: if this is intentional, prefix it with an underscore: `_npos`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sh`
[INFO] [stdout]    --> src/ltxenc.rs:190:18
[INFO] [stdout]     |
[INFO] [stdout] 190 |         let (sf, sh, sw) = self.stride;
[INFO] [stdout]     |                  ^^ help: if this is intentional, prefix it with an underscore: `_sh`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sw`
[INFO] [stdout]    --> src/ltxenc.rs:190:22
[INFO] [stdout]     |
[INFO] [stdout] 190 |         let (sf, sh, sw) = self.stride;
[INFO] [stdout]     |                      ^^ help: if this is intentional, prefix it with an underscore: `_sw`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/mmh3.rs:873:25
[INFO] [stdout]     |
[INFO] [stdout] 873 |                     let mut take = |suffix: &str, p: &Proj| -> Result<Option<LoraBranch>, String> {
[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/pipeline.rs:4669:13
[INFO] [stdout]      |
[INFO] [stdout] 4669 |         let mut dsv4_spec_bad = 0usize;
[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/pipeline.rs:4670:13
[INFO] [stdout]      |
[INFO] [stdout] 4670 |         let mut dsv4_spec_retry_at = 0usize;
[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/pipeline.rs:5501:13
[INFO] [stdout]      |
[INFO] [stdout] 5501 |         let mut spec_walls: Vec<f32> = Vec::new();
[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/pipeline.rs:5504:13
[INFO] [stdout]      |
[INFO] [stdout] 5504 |         let mut spec_round_end: Option<std::time::Instant> = None;
[INFO] [stdout]      |             ----^^^^^^^^^^^^^^
[INFO] [stdout]      |             |
[INFO] [stdout]      |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dsv4_spec_bad`
[INFO] [stdout]     --> src/pipeline.rs:4669:13
[INFO] [stdout]      |
[INFO] [stdout] 4669 |         let mut dsv4_spec_bad = 0usize;
[INFO] [stdout]      |             ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_dsv4_spec_bad`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dsv4_spec_retry_at`
[INFO] [stdout]     --> src/pipeline.rs:4670:13
[INFO] [stdout]      |
[INFO] [stdout] 4670 |         let mut dsv4_spec_retry_at = 0usize;
[INFO] [stdout]      |             ^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_dsv4_spec_retry_at`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `spec_watchdog_off` is assigned to, but never used
[INFO] [stdout]     --> src/pipeline.rs:5498:13
[INFO] [stdout]      |
[INFO] [stdout] 5498 |         let mut spec_watchdog_off = false;
[INFO] [stdout]      |             ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: consider using `_spec_watchdog_off` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `spec_walls`
[INFO] [stdout]     --> src/pipeline.rs:5501:13
[INFO] [stdout]      |
[INFO] [stdout] 5501 |         let mut spec_walls: Vec<f32> = Vec::new();
[INFO] [stdout]      |             ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_spec_walls`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `spec_round_end`
[INFO] [stdout]     --> src/pipeline.rs:5504:13
[INFO] [stdout]      |
[INFO] [stdout] 5504 |         let mut spec_round_end: Option<std::time::Instant> = None;
[INFO] [stdout]      |             ^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_spec_round_end`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `spec_watchdog_off` is never read
[INFO] [stdout]     --> src/pipeline.rs:5696:17
[INFO] [stdout]      |
[INFO] [stdout] 5696 | /                 spec_watchdog_off = matches!(
[INFO] [stdout] 5697 | |                     spec_trial,
[INFO] [stdout] 5698 | |                     SpecTrial::Plain { .. } | SpecTrial::Decided { spec: false, .. }
[INFO] [stdout] 5699 | |                 );
[INFO] [stdout]      | |_________________^
[INFO] [stdout]      |
[INFO] [stdout]      = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `on_gpu`
[INFO] [stdout]     --> src/dsv4.rs:1509:9
[INFO] [stdout]      |
[INFO] [stdout] 1509 |     let on_gpu = gpu_attn_enabled() && !(split_config && past_chain);
[INFO] [stdout]      |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_on_gpu`
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `hc_dev`
[INFO] [stdout]     --> src/dsv4.rs:7577:9
[INFO] [stdout]      |
[INFO] [stdout] 7577 |     let hc_dev = false;
[INFO] [stdout]      |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_hc_dev`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n_layers`
[INFO] [stdout]     --> src/dsv41.rs:2527:5
[INFO] [stdout]      |
[INFO] [stdout] 2527 |     n_layers: usize,
[INFO] [stdout]      |     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_n_layers`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `state`
[INFO] [stdout]     --> src/dsv41.rs:2528:5
[INFO] [stdout]      |
[INFO] [stdout] 2528 |     state: &mut Dsv41State,
[INFO] [stdout]      |     ^^^^^ help: if this is intentional, prefix it with an underscore: `_state`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `stop` is never read
[INFO] [stdout]     --> src/dsv41_encoding.rs:1260:32
[INFO] [stdout]      |
[INFO] [stdout] 1260 |     let (mut index, reasoning, mut stop) = if mode == ThinkingMode::Thinking {
[INFO] [stdout]      |                                ^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 1287 |         stop = matched;
[INFO] [stdout]      |         ---- `stop` is overwritten here before the previous value is read
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `stop` is never read
[INFO] [stdout]     --> src/dsv41_encoding.rs:1287:9
[INFO] [stdout]      |
[INFO] [stdout] 1287 |         stop = matched;
[INFO] [stdout]      |         ^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]     --> src/qtensor.rs:5152:5
[INFO] [stdout]      |
[INFO] [stdout] 5152 |     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: unused variable: `p`
[INFO] [stdout]    --> src/dsv41_vision.rs:401:9
[INFO] [stdout]     |
[INFO] [stdout] 401 |     let p = config.vision_patch_size as u32;
[INFO] [stdout]     |         ^ help: if this is intentional, prefix it with an underscore: `_p`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]     --> src/qtensor.rs:9823:5
[INFO] [stdout]      |
[INFO] [stdout] 9823 |     unsafe {
[INFO] [stdout]      |     ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `hidden`
[INFO] [stdout]     --> src/qwen_image.rs:1188:5
[INFO] [stdout]      |
[INFO] [stdout] 1188 |     hidden: usize,
[INFO] [stdout]      |     ^^^^^^ help: if this is intentional, prefix it with an underscore: `_hidden`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/qwen_image.rs:1428:9
[INFO] [stdout]      |
[INFO] [stdout] 1428 |     let mut append = |ids: [i64; 3], cos: &mut Vec<f32>, sin: &mut Vec<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/fcd.rs:1454:13
[INFO] [stdout]      |
[INFO] [stdout] 1454 |         let mut fused = false;
[INFO] [stdout]      |             ----^^^^^
[INFO] [stdout]      |             |
[INFO] [stdout]      |             help: remove this `mut`
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ffn_planes_to_host`
[INFO] [stdout]     --> src/fcd.rs:1407:9
[INFO] [stdout]      |
[INFO] [stdout] 1407 |         ffn_planes_to_host: bool,
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ffn_planes_to_host`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `want_attn_acts`
[INFO] [stdout]     --> src/fcd.rs:1563:9
[INFO] [stdout]      |
[INFO] [stdout] 1563 |         want_attn_acts: bool,
[INFO] [stdout]      |         ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_want_attn_acts`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bias_cat`
[INFO] [stdout]     --> src/fcd.rs:1575:13
[INFO] [stdout]      |
[INFO] [stdout] 1575 |             bias_cat,
[INFO] [stdout]      |             ^^^^^^^^ help: try ignoring the field: `bias_cat: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rotary_dim`
[INFO] [stdout]     --> src/fcd.rs:1610:14
[INFO] [stdout]      |
[INFO] [stdout] 1610 |         let (rotary_dim, inv_freq) = self.layer_rope(*local_rope);
[INFO] [stdout]      |              ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_rotary_dim`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `inv_freq`
[INFO] [stdout]     --> src/fcd.rs:1610:26
[INFO] [stdout]      |
[INFO] [stdout] 1610 |         let (rotary_dim, inv_freq) = self.layer_rope(*local_rope);
[INFO] [stdout]      |                          ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_inv_freq`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/fcd.rs:2047:13
[INFO] [stdout]      |
[INFO] [stdout] 2047 |         let mut bwd_fused = false;
[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/qwen_image_encoder.rs:299:9
[INFO] [stdout]     |
[INFO] [stdout] 299 |     let mut out = if let Some(values) = values {
[INFO] [stdout]     |         ----^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `w`
[INFO] [stdout]   --> src/f32_backend.rs:80:22
[INFO] [stdout]    |
[INFO] [stdout] 80 | pub(crate) fn matvec(w: &[f32], x: &[f32], y: &mut [f32]) -> bool {
[INFO] [stdout]    |                      ^ help: if this is intentional, prefix it with an underscore: `_w`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]   --> src/f32_backend.rs:80:33
[INFO] [stdout]    |
[INFO] [stdout] 80 | pub(crate) fn matvec(w: &[f32], x: &[f32], y: &mut [f32]) -> bool {
[INFO] [stdout]    |                                 ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `y`
[INFO] [stdout]   --> src/f32_backend.rs:80:44
[INFO] [stdout]    |
[INFO] [stdout] 80 | pub(crate) fn matvec(w: &[f32], x: &[f32], y: &mut [f32]) -> bool {
[INFO] [stdout]    |                                            ^ help: if this is intentional, prefix it with an underscore: `_y`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `w`
[INFO] [stdout]    --> src/f32_backend.rs:127:5
[INFO] [stdout]     |
[INFO] [stdout] 127 |     w: &[f32],
[INFO] [stdout]     |     ^ help: if this is intentional, prefix it with an underscore: `_w`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]    --> src/f32_backend.rs:128:5
[INFO] [stdout]     |
[INFO] [stdout] 128 |     x: &[f32],
[INFO] [stdout]     |     ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `batch`
[INFO] [stdout]    --> src/f32_backend.rs:129:5
[INFO] [stdout]     |
[INFO] [stdout] 129 |     batch: usize,
[INFO] [stdout]     |     ^^^^^ help: if this is intentional, prefix it with an underscore: `_batch`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rows`
[INFO] [stdout]    --> src/f32_backend.rs:130:5
[INFO] [stdout]     |
[INFO] [stdout] 130 |     rows: usize,
[INFO] [stdout]     |     ^^^^ help: if this is intentional, prefix it with an underscore: `_rows`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cols`
[INFO] [stdout]    --> src/f32_backend.rs:131:5
[INFO] [stdout]     |
[INFO] [stdout] 131 |     cols: usize,
[INFO] [stdout]     |     ^^^^ help: if this is intentional, prefix it with an underscore: `_cols`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `y`
[INFO] [stdout]    --> src/f32_backend.rs:132:5
[INFO] [stdout]     |
[INFO] [stdout] 132 |     y: &mut [f32],
[INFO] [stdout]     |     ^ help: if this is intentional, prefix it with an underscore: `_y`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `model`
[INFO] [stdout]    --> src/gpu.rs:408:5
[INFO] [stdout]     |
[INFO] [stdout] 408 |     model: &Arc<CmfModel>,
[INFO] [stdout]     |     ^^^^^ help: if this is intentional, prefix it with an underscore: `_model`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `num_layers`
[INFO] [stdout]    --> src/gpu.rs:409:5
[INFO] [stdout]     |
[INFO] [stdout] 409 |     num_layers: usize,
[INFO] [stdout]     |     ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_num_layers`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `physical_layers`
[INFO] [stdout]    --> src/gpu.rs:410:5
[INFO] [stdout]     |
[INFO] [stdout] 410 |     physical_layers: usize,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_physical_layers`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `model`
[INFO] [stdout]     --> src/gpu.rs:1461:5
[INFO] [stdout]      |
[INFO] [stdout] 1461 |     model: &Arc<CmfModel>,
[INFO] [stdout]      |     ^^^^^ help: if this is intentional, prefix it with an underscore: `_model`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `idx`
[INFO] [stdout]     --> src/gpu.rs:1462:5
[INFO] [stdout]      |
[INFO] [stdout] 1462 |     idx: usize,
[INFO] [stdout]      |     ^^^ help: if this is intentional, prefix it with an underscore: `_idx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `row_scale`
[INFO] [stdout]     --> src/gpu.rs:1463:5
[INFO] [stdout]      |
[INFO] [stdout] 1463 |     row_scale: &[f32],
[INFO] [stdout]      |     ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_row_scale`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pre`
[INFO] [stdout]     --> src/gpu.rs:1464:5
[INFO] [stdout]      |
[INFO] [stdout] 1464 |     pre: &[f32],
[INFO] [stdout]      |     ^^^ help: if this is intentional, prefix it with an underscore: `_pre`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `b`
[INFO] [stdout]     --> src/gpu.rs:1465:5
[INFO] [stdout]      |
[INFO] [stdout] 1465 |     b: usize,
[INFO] [stdout]      |     ^ help: if this is intentional, prefix it with an underscore: `_b`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rows`
[INFO] [stdout]     --> src/gpu.rs:1466:5
[INFO] [stdout]      |
[INFO] [stdout] 1466 |     rows: usize,
[INFO] [stdout]      |     ^^^^ help: if this is intentional, prefix it with an underscore: `_rows`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cols`
[INFO] [stdout]     --> src/gpu.rs:1467:5
[INFO] [stdout]      |
[INFO] [stdout] 1467 |     cols: usize,
[INFO] [stdout]      |     ^^^^ help: if this is intentional, prefix it with an underscore: `_cols`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `out`
[INFO] [stdout]     --> src/gpu.rs:1468:5
[INFO] [stdout]      |
[INFO] [stdout] 1468 |     out: &mut [f32],
[INFO] [stdout]      |     ^^^ help: if this is intentional, prefix it with an underscore: `_out`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `model`
[INFO] [stdout]     --> src/gpu.rs:1506:5
[INFO] [stdout]      |
[INFO] [stdout] 1506 |     model: &Arc<CmfModel>,
[INFO] [stdout]      |     ^^^^^ help: if this is intentional, prefix it with an underscore: `_model`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `kv_id`
[INFO] [stdout]     --> src/gpu.rs:1507:5
[INFO] [stdout]      |
[INFO] [stdout] 1507 |     kv_id: u64,
[INFO] [stdout]      |     ^^^^^ help: if this is intentional, prefix it with an underscore: `_kv_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `layer`
[INFO] [stdout]     --> src/gpu.rs:1508:5
[INFO] [stdout]      |
[INFO] [stdout] 1508 |     layer: usize,
[INFO] [stdout]      |     ^^^^^ help: if this is intentional, prefix it with an underscore: `_layer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `normed`
[INFO] [stdout]     --> src/gpu.rs:1509:5
[INFO] [stdout]      |
[INFO] [stdout] 1509 |     normed: &[f32],
[INFO] [stdout]      |     ^^^^^^ help: if this is intentional, prefix it with an underscore: `_normed`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `wq_idx`
[INFO] [stdout]     --> src/gpu.rs:1510:5
[INFO] [stdout]      |
[INFO] [stdout] 1510 |     wq_idx: usize,
[INFO] [stdout]      |     ^^^^^^ help: if this is intentional, prefix it with an underscore: `_wq_idx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `wk_idx`
[INFO] [stdout]     --> src/gpu.rs:1511:5
[INFO] [stdout]      |
[INFO] [stdout] 1511 |     wk_idx: usize,
[INFO] [stdout]      |     ^^^^^^ help: if this is intentional, prefix it with an underscore: `_wk_idx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `wv_idx`
[INFO] [stdout]     --> src/gpu.rs:1512:5
[INFO] [stdout]      |
[INFO] [stdout] 1512 |     wv_idx: usize,
[INFO] [stdout]      |     ^^^^^^ help: if this is intentional, prefix it with an underscore: `_wv_idx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `wo_idx`
[INFO] [stdout]     --> src/gpu.rs:1513:5
[INFO] [stdout]      |
[INFO] [stdout] 1513 |     wo_idx: usize,
[INFO] [stdout]      |     ^^^^^^ help: if this is intentional, prefix it with an underscore: `_wo_idx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `q_norm`
[INFO] [stdout]     --> src/gpu.rs:1514:5
[INFO] [stdout]      |
[INFO] [stdout] 1514 |     q_norm: Option<&[f32]>,
[INFO] [stdout]      |     ^^^^^^ help: if this is intentional, prefix it with an underscore: `_q_norm`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `k_norm`
[INFO] [stdout]     --> src/gpu.rs:1515:5
[INFO] [stdout]      |
[INFO] [stdout] 1515 |     k_norm: Option<&[f32]>,
[INFO] [stdout]      |     ^^^^^^ help: if this is intentional, prefix it with an underscore: `_k_norm`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `late_qk_norm`
[INFO] [stdout]     --> src/gpu.rs:1516:5
[INFO] [stdout]      |
[INFO] [stdout] 1516 |     late_qk_norm: bool,
[INFO] [stdout]      |     ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_late_qk_norm`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `invf`
[INFO] [stdout]     --> src/gpu.rs:1517:5
[INFO] [stdout]      |
[INFO] [stdout] 1517 |     invf: &[f32],
[INFO] [stdout]      |     ^^^^ help: if this is intentional, prefix it with an underscore: `_invf`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `nh`
[INFO] [stdout]     --> src/gpu.rs:1518:5
[INFO] [stdout]      |
[INFO] [stdout] 1518 |     nh: usize,
[INFO] [stdout]      |     ^^ help: if this is intentional, prefix it with an underscore: `_nh`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `nkv`
[INFO] [stdout]     --> src/gpu.rs:1519:5
[INFO] [stdout]      |
[INFO] [stdout] 1519 |     nkv: usize,
[INFO] [stdout]      |     ^^^ help: if this is intentional, prefix it with an underscore: `_nkv`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `hd`
[INFO] [stdout]     --> src/gpu.rs:1520:5
[INFO] [stdout]      |
[INFO] [stdout] 1520 |     hd: usize,
[INFO] [stdout]      |     ^^ help: if this is intentional, prefix it with an underscore: `_hd`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rd`
[INFO] [stdout]     --> src/gpu.rs:1521:5
[INFO] [stdout]      |
[INFO] [stdout] 1521 |     rd: usize,
[INFO] [stdout]      |     ^^ help: if this is intentional, prefix it with an underscore: `_rd`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `hidden`
[INFO] [stdout]     --> src/gpu.rs:1522:5
[INFO] [stdout]      |
[INFO] [stdout] 1522 |     hidden: usize,
[INFO] [stdout]      |     ^^^^^^ help: if this is intentional, prefix it with an underscore: `_hidden`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pos`
[INFO] [stdout]     --> src/gpu.rs:1523:5
[INFO] [stdout]      |
[INFO] [stdout] 1523 |     pos: usize,
[INFO] [stdout]      |     ^^^ help: if this is intentional, prefix it with an underscore: `_pos`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cap`
[INFO] [stdout]     --> src/gpu.rs:1524:5
[INFO] [stdout]      |
[INFO] [stdout] 1524 |     cap: usize,
[INFO] [stdout]      |     ^^^ help: if this is intentional, prefix it with an underscore: `_cap`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `gemma`
[INFO] [stdout]     --> src/gpu.rs:1525:5
[INFO] [stdout]      |
[INFO] [stdout] 1525 |     gemma: bool,
[INFO] [stdout]      |     ^^^^^ help: if this is intentional, prefix it with an underscore: `_gemma`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `eps`
[INFO] [stdout]     --> src/gpu.rs:1526:5
[INFO] [stdout]      |
[INFO] [stdout] 1526 |     eps: f32,
[INFO] [stdout]      |     ^^^ help: if this is intentional, prefix it with an underscore: `_eps`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cpu_k`
[INFO] [stdout]     --> src/gpu.rs:1527:5
[INFO] [stdout]      |
[INFO] [stdout] 1527 |     cpu_k: &[Vec<f32>],
[INFO] [stdout]      |     ^^^^^ help: if this is intentional, prefix it with an underscore: `_cpu_k`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cpu_v`
[INFO] [stdout]     --> src/gpu.rs:1528:5
[INFO] [stdout]      |
[INFO] [stdout] 1528 |     cpu_v: &[Vec<f32>],
[INFO] [stdout]      |     ^^^^^ help: if this is intentional, prefix it with an underscore: `_cpu_v`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `out`
[INFO] [stdout]     --> src/gpu.rs:1529:5
[INFO] [stdout]      |
[INFO] [stdout] 1529 |     out: &mut [f32],
[INFO] [stdout]      |     ^^^ help: if this is intentional, prefix it with an underscore: `_out`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `model`
[INFO] [stdout]     --> src/gpu.rs:1801:5
[INFO] [stdout]      |
[INFO] [stdout] 1801 |     model: &Arc<CmfModel>,
[INFO] [stdout]      |     ^^^^^ help: if this is intentional, prefix it with an underscore: `_model`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `kv_id`
[INFO] [stdout]     --> src/gpu.rs:1802:5
[INFO] [stdout]      |
[INFO] [stdout] 1802 |     kv_id: u64,
[INFO] [stdout]      |     ^^^^^ help: if this is intentional, prefix it with an underscore: `_kv_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `layers`
[INFO] [stdout]     --> src/gpu.rs:1803:5
[INFO] [stdout]      |
[INFO] [stdout] 1803 |     layers: &[GraphLayer],
[INFO] [stdout]      |     ^^^^^^ help: if this is intentional, prefix it with an underscore: `_layers`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `o1`
[INFO] [stdout]     --> src/gpu.rs:1806:5
[INFO] [stdout]      |
[INFO] [stdout] 1806 |     o1: &[Option<Vec<crate::nystrom::O1DeviceView<'_>>>],
[INFO] [stdout]      |     ^^ help: if this is intentional, prefix it with an underscore: `_o1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `o1_epoch`
[INFO] [stdout]     --> src/gpu.rs:1807:5
[INFO] [stdout]      |
[INFO] [stdout] 1807 |     o1_epoch: u64,
[INFO] [stdout]      |     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_o1_epoch`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `invf`
[INFO] [stdout]     --> src/gpu.rs:1808:5
[INFO] [stdout]      |
[INFO] [stdout] 1808 |     invf: &[f32],
[INFO] [stdout]      |     ^^^^ help: if this is intentional, prefix it with an underscore: `_invf`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `h`
[INFO] [stdout]     --> src/gpu.rs:1809:5
[INFO] [stdout]      |
[INFO] [stdout] 1809 |     h: &mut [f32],
[INFO] [stdout]      |     ^ help: if this is intentional, prefix it with an underscore: `_h`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `nh`
[INFO] [stdout]     --> src/gpu.rs:1810:5
[INFO] [stdout]      |
[INFO] [stdout] 1810 |     nh: usize,
[INFO] [stdout]      |     ^^ help: if this is intentional, prefix it with an underscore: `_nh`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `nkv`
[INFO] [stdout]     --> src/gpu.rs:1811:5
[INFO] [stdout]      |
[INFO] [stdout] 1811 |     nkv: usize,
[INFO] [stdout]      |     ^^^ help: if this is intentional, prefix it with an underscore: `_nkv`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `hd`
[INFO] [stdout]     --> src/gpu.rs:1812:5
[INFO] [stdout]      |
[INFO] [stdout] 1812 |     hd: usize,
[INFO] [stdout]      |     ^^ help: if this is intentional, prefix it with an underscore: `_hd`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rd`
[INFO] [stdout]     --> src/gpu.rs:1814:5
[INFO] [stdout]      |
[INFO] [stdout] 1814 |     rd: usize,
[INFO] [stdout]      |     ^^ help: if this is intentional, prefix it with an underscore: `_rd`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `hidden`
[INFO] [stdout]     --> src/gpu.rs:1815:5
[INFO] [stdout]      |
[INFO] [stdout] 1815 |     hidden: usize,
[INFO] [stdout]      |     ^^^^^^ help: if this is intentional, prefix it with an underscore: `_hidden`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `inter`
[INFO] [stdout]     --> src/gpu.rs:1816:5
[INFO] [stdout]      |
[INFO] [stdout] 1816 |     inter: usize,
[INFO] [stdout]      |     ^^^^^ help: if this is intentional, prefix it with an underscore: `_inter`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `position`
[INFO] [stdout]     --> src/gpu.rs:1817:5
[INFO] [stdout]      |
[INFO] [stdout] 1817 |     position: usize,
[INFO] [stdout]      |     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_position`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cap`
[INFO] [stdout]     --> src/gpu.rs:1818:5
[INFO] [stdout]      |
[INFO] [stdout] 1818 |     cap: usize,
[INFO] [stdout]      |     ^^^ help: if this is intentional, prefix it with an underscore: `_cap`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `gemma`
[INFO] [stdout]     --> src/gpu.rs:1819:5
[INFO] [stdout]      |
[INFO] [stdout] 1819 |     gemma: bool,
[INFO] [stdout]      |     ^^^^^ help: if this is intentional, prefix it with an underscore: `_gemma`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `eps`
[INFO] [stdout]     --> src/gpu.rs:1820:5
[INFO] [stdout]      |
[INFO] [stdout] 1820 |     eps: f32,
[INFO] [stdout]      |     ^^^ help: if this is intentional, prefix it with an underscore: `_eps`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `steps`
[INFO] [stdout]     --> src/gpu.rs:1825:5
[INFO] [stdout]      |
[INFO] [stdout] 1825 |     steps: usize,
[INFO] [stdout]      |     ^^^^^ help: if this is intentional, prefix it with an underscore: `_steps`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `embed`
[INFO] [stdout]     --> src/gpu.rs:1826:5
[INFO] [stdout]      |
[INFO] [stdout] 1826 |     embed: Option<(&GraphW, usize, f32)>,
[INFO] [stdout]      |     ^^^^^ help: if this is intentional, prefix it with an underscore: `_embed`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ids_out`
[INFO] [stdout]     --> src/gpu.rs:1827:5
[INFO] [stdout]      |
[INFO] [stdout] 1827 |     ids_out: Option<&mut Vec<u32>>,
[INFO] [stdout]      |     ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ids_out`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `model`
[INFO] [stdout]     --> src/gpu.rs:2026:5
[INFO] [stdout]      |
[INFO] [stdout] 2026 |     model: &Arc<CmfModel>,
[INFO] [stdout]      |     ^^^^^ help: if this is intentional, prefix it with an underscore: `_model`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `kv_id`
[INFO] [stdout]     --> src/gpu.rs:2027:5
[INFO] [stdout]      |
[INFO] [stdout] 2027 |     kv_id: u64,
[INFO] [stdout]      |     ^^^^^ help: if this is intentional, prefix it with an underscore: `_kv_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `layer_base`
[INFO] [stdout]     --> src/gpu.rs:2028:5
[INFO] [stdout]      |
[INFO] [stdout] 2028 |     layer_base: usize,
[INFO] [stdout]      |     ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_layer_base`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `layers`
[INFO] [stdout]     --> src/gpu.rs:2029:5
[INFO] [stdout]      |
[INFO] [stdout] 2029 |     layers: &[GraphLayer],
[INFO] [stdout]      |     ^^^^^^ help: if this is intentional, prefix it with an underscore: `_layers`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `invf`
[INFO] [stdout]     --> src/gpu.rs:2030:5
[INFO] [stdout]      |
[INFO] [stdout] 2030 |     invf: &[f32],
[INFO] [stdout]      |     ^^^^ help: if this is intentional, prefix it with an underscore: `_invf`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `h`
[INFO] [stdout]     --> src/gpu.rs:2031:5
[INFO] [stdout]      |
[INFO] [stdout] 2031 |     h: &mut [f32],
[INFO] [stdout]      |     ^ help: if this is intentional, prefix it with an underscore: `_h`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `nh`
[INFO] [stdout]     --> src/gpu.rs:2032:5
[INFO] [stdout]      |
[INFO] [stdout] 2032 |     nh: usize,
[INFO] [stdout]      |     ^^ help: if this is intentional, prefix it with an underscore: `_nh`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `nkv`
[INFO] [stdout]     --> src/gpu.rs:2033:5
[INFO] [stdout]      |
[INFO] [stdout] 2033 |     nkv: usize,
[INFO] [stdout]      |     ^^^ help: if this is intentional, prefix it with an underscore: `_nkv`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `hd`
[INFO] [stdout]     --> src/gpu.rs:2034:5
[INFO] [stdout]      |
[INFO] [stdout] 2034 |     hd: usize,
[INFO] [stdout]      |     ^^ help: if this is intentional, prefix it with an underscore: `_hd`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rd`
[INFO] [stdout]     --> src/gpu.rs:2035:5
[INFO] [stdout]      |
[INFO] [stdout] 2035 |     rd: usize,
[INFO] [stdout]      |     ^^ help: if this is intentional, prefix it with an underscore: `_rd`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `hidden`
[INFO] [stdout]     --> src/gpu.rs:2036:5
[INFO] [stdout]      |
[INFO] [stdout] 2036 |     hidden: usize,
[INFO] [stdout]      |     ^^^^^^ help: if this is intentional, prefix it with an underscore: `_hidden`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `inter`
[INFO] [stdout]     --> src/gpu.rs:2037:5
[INFO] [stdout]      |
[INFO] [stdout] 2037 |     inter: usize,
[INFO] [stdout]      |     ^^^^^ help: if this is intentional, prefix it with an underscore: `_inter`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `positions`
[INFO] [stdout]     --> src/gpu.rs:2038:5
[INFO] [stdout]      |
[INFO] [stdout] 2038 |     positions: &[usize],
[INFO] [stdout]      |     ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_positions`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cap`
[INFO] [stdout]     --> src/gpu.rs:2039:5
[INFO] [stdout]      |
[INFO] [stdout] 2039 |     cap: usize,
[INFO] [stdout]      |     ^^^ help: if this is intentional, prefix it with an underscore: `_cap`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `gemma`
[INFO] [stdout]     --> src/gpu.rs:2040:5
[INFO] [stdout]      |
[INFO] [stdout] 2040 |     gemma: bool,
[INFO] [stdout]      |     ^^^^^ help: if this is intentional, prefix it with an underscore: `_gemma`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `eps`
[INFO] [stdout]     --> src/gpu.rs:2041:5
[INFO] [stdout]      |
[INFO] [stdout] 2041 |     eps: f32,
[INFO] [stdout]      |     ^^^ help: if this is intentional, prefix it with an underscore: `_eps`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `attn_scale`
[INFO] [stdout]     --> src/gpu.rs:2042:5
[INFO] [stdout]      |
[INFO] [stdout] 2042 |     attn_scale: f32,
[INFO] [stdout]      |     ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_attn_scale`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `k`
[INFO] [stdout]     --> src/gpu.rs:2043:5
[INFO] [stdout]      |
[INFO] [stdout] 2043 |     k: usize,
[INFO] [stdout]      |     ^ help: if this is intentional, prefix it with an underscore: `_k`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `kv_id`
[INFO] [stdout]     --> src/gpu.rs:2091:28
[INFO] [stdout]      |
[INFO] [stdout] 2091 | pub fn graph_kv_set_stored(kv_id: u64, layer: usize, stored: usize) -> bool {
[INFO] [stdout]      |                            ^^^^^ help: if this is intentional, prefix it with an underscore: `_kv_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `layer`
[INFO] [stdout]     --> src/gpu.rs:2091:40
[INFO] [stdout]      |
[INFO] [stdout] 2091 | pub fn graph_kv_set_stored(kv_id: u64, layer: usize, stored: usize) -> bool {
[INFO] [stdout]      |                                        ^^^^^ help: if this is intentional, prefix it with an underscore: `_layer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `stored`
[INFO] [stdout]     --> src/gpu.rs:2091:54
[INFO] [stdout]      |
[INFO] [stdout] 2091 | pub fn graph_kv_set_stored(kv_id: u64, layer: usize, stored: usize) -> bool {
[INFO] [stdout]      |                                                      ^^^^^^ help: if this is intentional, prefix it with an underscore: `_stored`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `model`
[INFO] [stdout]     --> src/gpu.rs:2174:5
[INFO] [stdout]      |
[INFO] [stdout] 2174 |     model: &Arc<CmfModel>,
[INFO] [stdout]      |     ^^^^^ help: if this is intentional, prefix it with an underscore: `_model`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `idx`
[INFO] [stdout]     --> src/gpu.rs:2175:5
[INFO] [stdout]      |
[INFO] [stdout] 2175 |     idx: usize,
[INFO] [stdout]      |     ^^^ help: if this is intentional, prefix it with an underscore: `_idx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `xs`
[INFO] [stdout]     --> src/gpu.rs:2176:5
[INFO] [stdout]      |
[INFO] [stdout] 2176 |     xs: &[f32],
[INFO] [stdout]      |     ^^ help: if this is intentional, prefix it with an underscore: `_xs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rows`
[INFO] [stdout]     --> src/gpu.rs:2177:5
[INFO] [stdout]      |
[INFO] [stdout] 2177 |     rows: usize,
[INFO] [stdout]      |     ^^^^ help: if this is intentional, prefix it with an underscore: `_rows`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cols`
[INFO] [stdout]     --> src/gpu.rs:2178:5
[INFO] [stdout]      |
[INFO] [stdout] 2178 |     cols: usize,
[INFO] [stdout]      |     ^^^^ help: if this is intentional, prefix it with an underscore: `_cols`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `out`
[INFO] [stdout]     --> src/gpu.rs:2179:5
[INFO] [stdout]      |
[INFO] [stdout] 2179 |     out: &mut [f32],
[INFO] [stdout]      |     ^^^ help: if this is intentional, prefix it with an underscore: `_out`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `model`
[INFO] [stdout]     --> src/gpu.rs:2219:5
[INFO] [stdout]      |
[INFO] [stdout] 2219 |     model: &Arc<CmfModel>,
[INFO] [stdout]      |     ^^^^^ help: if this is intentional, prefix it with an underscore: `_model`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `idx`
[INFO] [stdout]     --> src/gpu.rs:2220:5
[INFO] [stdout]      |
[INFO] [stdout] 2220 |     idx: usize,
[INFO] [stdout]      |     ^^^ help: if this is intentional, prefix it with an underscore: `_idx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `xs`
[INFO] [stdout]     --> src/gpu.rs:2221:5
[INFO] [stdout]      |
[INFO] [stdout] 2221 |     xs: &[f32],
[INFO] [stdout]      |     ^^ help: if this is intentional, prefix it with an underscore: `_xs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `b`
[INFO] [stdout]     --> src/gpu.rs:2222:5
[INFO] [stdout]      |
[INFO] [stdout] 2222 |     b: usize,
[INFO] [stdout]      |     ^ help: if this is intentional, prefix it with an underscore: `_b`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rows`
[INFO] [stdout]     --> src/gpu.rs:2223:5
[INFO] [stdout]      |
[INFO] [stdout] 2223 |     rows: usize,
[INFO] [stdout]      |     ^^^^ help: if this is intentional, prefix it with an underscore: `_rows`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cols`
[INFO] [stdout]     --> src/gpu.rs:2224:5
[INFO] [stdout]      |
[INFO] [stdout] 2224 |     cols: usize,
[INFO] [stdout]      |     ^^^^ help: if this is intentional, prefix it with an underscore: `_cols`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `out`
[INFO] [stdout]     --> src/gpu.rs:2225:5
[INFO] [stdout]      |
[INFO] [stdout] 2225 |     out: &mut [f32],
[INFO] [stdout]      |     ^^^ help: if this is intentional, prefix it with an underscore: `_out`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `model`
[INFO] [stdout]     --> src/gpu.rs:2251:5
[INFO] [stdout]      |
[INFO] [stdout] 2251 |     model: &Arc<CmfModel>,
[INFO] [stdout]      |     ^^^^^ help: if this is intentional, prefix it with an underscore: `_model`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `idx`
[INFO] [stdout]     --> src/gpu.rs:2252:5
[INFO] [stdout]      |
[INFO] [stdout] 2252 |     idx: usize,
[INFO] [stdout]      |     ^^^ help: if this is intentional, prefix it with an underscore: `_idx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `xs`
[INFO] [stdout]     --> src/gpu.rs:2253:5
[INFO] [stdout]      |
[INFO] [stdout] 2253 |     xs: &[f32],
[INFO] [stdout]      |     ^^ help: if this is intentional, prefix it with an underscore: `_xs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `b`
[INFO] [stdout]     --> src/gpu.rs:2254:5
[INFO] [stdout]      |
[INFO] [stdout] 2254 |     b: usize,
[INFO] [stdout]      |     ^ help: if this is intentional, prefix it with an underscore: `_b`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rows`
[INFO] [stdout]     --> src/gpu.rs:2255:5
[INFO] [stdout]      |
[INFO] [stdout] 2255 |     rows: usize,
[INFO] [stdout]      |     ^^^^ help: if this is intentional, prefix it with an underscore: `_rows`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cols`
[INFO] [stdout]     --> src/gpu.rs:2256:5
[INFO] [stdout]      |
[INFO] [stdout] 2256 |     cols: usize,
[INFO] [stdout]      |     ^^^^ help: if this is intentional, prefix it with an underscore: `_cols`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `out`
[INFO] [stdout]     --> src/gpu.rs:2257:5
[INFO] [stdout]      |
[INFO] [stdout] 2257 |     out: &mut [f32],
[INFO] [stdout]      |     ^^^ help: if this is intentional, prefix it with an underscore: `_out`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `model`
[INFO] [stdout]     --> src/gpu.rs:2697:5
[INFO] [stdout]      |
[INFO] [stdout] 2697 |     model: &Arc<CmfModel>,
[INFO] [stdout]      |     ^^^^^ help: if this is intentional, prefix it with an underscore: `_model`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `w1`
[INFO] [stdout]     --> src/gpu.rs:2698:5
[INFO] [stdout]      |
[INFO] [stdout] 2698 |     w1: usize,
[INFO] [stdout]      |     ^^ help: if this is intentional, prefix it with an underscore: `_w1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `w3`
[INFO] [stdout]     --> src/gpu.rs:2699:5
[INFO] [stdout]      |
[INFO] [stdout] 2699 |     w3: usize,
[INFO] [stdout]      |     ^^ help: if this is intentional, prefix it with an underscore: `_w3`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `w2`
[INFO] [stdout]     --> src/gpu.rs:2700:5
[INFO] [stdout]      |
[INFO] [stdout] 2700 |     w2: usize,
[INFO] [stdout]      |     ^^ help: if this is intentional, prefix it with an underscore: `_w2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `xs`
[INFO] [stdout]     --> src/gpu.rs:2701:5
[INFO] [stdout]      |
[INFO] [stdout] 2701 |     xs: &[f32],
[INFO] [stdout]      |     ^^ help: if this is intentional, prefix it with an underscore: `_xs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `b`
[INFO] [stdout]     --> src/gpu.rs:2702:5
[INFO] [stdout]      |
[INFO] [stdout] 2702 |     b: usize,
[INFO] [stdout]      |     ^ help: if this is intentional, prefix it with an underscore: `_b`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `hidden`
[INFO] [stdout]     --> src/gpu.rs:2703:5
[INFO] [stdout]      |
[INFO] [stdout] 2703 |     hidden: usize,
[INFO] [stdout]      |     ^^^^^^ help: if this is intentional, prefix it with an underscore: `_hidden`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `inter`
[INFO] [stdout]     --> src/gpu.rs:2704:5
[INFO] [stdout]      |
[INFO] [stdout] 2704 |     inter: usize,
[INFO] [stdout]      |     ^^^^^ help: if this is intentional, prefix it with an underscore: `_inter`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `out`
[INFO] [stdout]     --> src/gpu.rs:2705:5
[INFO] [stdout]      |
[INFO] [stdout] 2705 |     out: &mut [f32],
[INFO] [stdout]      |     ^^^ help: if this is intentional, prefix it with an underscore: `_out`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `model`
[INFO] [stdout]     --> src/gpu.rs:2822:5
[INFO] [stdout]      |
[INFO] [stdout] 2822 |     model: &Arc<CmfModel>,
[INFO] [stdout]      |     ^^^^^ help: if this is intentional, prefix it with an underscore: `_model`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `w1`
[INFO] [stdout]     --> src/gpu.rs:2823:5
[INFO] [stdout]      |
[INFO] [stdout] 2823 |     w1: usize,
[INFO] [stdout]      |     ^^ help: if this is intentional, prefix it with an underscore: `_w1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `w3`
[INFO] [stdout]     --> src/gpu.rs:2824:5
[INFO] [stdout]      |
[INFO] [stdout] 2824 |     w3: usize,
[INFO] [stdout]      |     ^^ help: if this is intentional, prefix it with an underscore: `_w3`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `w2`
[INFO] [stdout]     --> src/gpu.rs:2825:5
[INFO] [stdout]      |
[INFO] [stdout] 2825 |     w2: usize,
[INFO] [stdout]      |     ^^ help: if this is intentional, prefix it with an underscore: `_w2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `xs`
[INFO] [stdout]     --> src/gpu.rs:2826:5
[INFO] [stdout]      |
[INFO] [stdout] 2826 |     xs: &[f32],
[INFO] [stdout]      |     ^^ help: if this is intentional, prefix it with an underscore: `_xs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `b`
[INFO] [stdout]     --> src/gpu.rs:2827:5
[INFO] [stdout]      |
[INFO] [stdout] 2827 |     b: usize,
[INFO] [stdout]      |     ^ help: if this is intentional, prefix it with an underscore: `_b`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `hidden`
[INFO] [stdout]     --> src/gpu.rs:2828:5
[INFO] [stdout]      |
[INFO] [stdout] 2828 |     hidden: usize,
[INFO] [stdout]      |     ^^^^^^ help: if this is intentional, prefix it with an underscore: `_hidden`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `inter`
[INFO] [stdout]     --> src/gpu.rs:2829:5
[INFO] [stdout]      |
[INFO] [stdout] 2829 |     inter: usize,
[INFO] [stdout]      |     ^^^^^ help: if this is intentional, prefix it with an underscore: `_inter`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `out`
[INFO] [stdout]     --> src/gpu.rs:2830:5
[INFO] [stdout]      |
[INFO] [stdout] 2830 |     out: &mut [f32],
[INFO] [stdout]      |     ^^^ help: if this is intentional, prefix it with an underscore: `_out`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `model`
[INFO] [stdout]     --> src/gpu.rs:3197:5
[INFO] [stdout]      |
[INFO] [stdout] 3197 |     model: &Arc<CmfModel>,
[INFO] [stdout]      |     ^^^^^ help: if this is intentional, prefix it with an underscore: `_model`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `a`
[INFO] [stdout]     --> src/gpu.rs:3198:5
[INFO] [stdout]      |
[INFO] [stdout] 3198 |     a: &DitBlockArgs,
[INFO] [stdout]      |     ^ help: if this is intentional, prefix it with an underscore: `_a`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `segs`
[INFO] [stdout]     --> src/gpu.rs:3199:5
[INFO] [stdout]      |
[INFO] [stdout] 3199 |     segs: &[usize],
[INFO] [stdout]      |     ^^^^ help: if this is intentional, prefix it with an underscore: `_segs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]     --> src/gpu.rs:3200:5
[INFO] [stdout]      |
[INFO] [stdout] 3200 |     x: &mut [f32],
[INFO] [stdout]      |     ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `model`
[INFO] [stdout]     --> src/gpu.rs:3345:5
[INFO] [stdout]      |
[INFO] [stdout] 3345 |     model: &Arc<CmfModel>,
[INFO] [stdout]      |     ^^^^^ help: if this is intentional, prefix it with an underscore: `_model`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `qkv_idx`
[INFO] [stdout]     --> src/gpu.rs:3346:5
[INFO] [stdout]      |
[INFO] [stdout] 3346 |     qkv_idx: usize,
[INFO] [stdout]      |     ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_qkv_idx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `out_idx`
[INFO] [stdout]     --> src/gpu.rs:3347:5
[INFO] [stdout]      |
[INFO] [stdout] 3347 |     out_idx: usize,
[INFO] [stdout]      |     ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_out_idx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `xn`
[INFO] [stdout]     --> src/gpu.rs:3348:5
[INFO] [stdout]      |
[INFO] [stdout] 3348 |     xn: &[f32],
[INFO] [stdout]      |     ^^ help: if this is intentional, prefix it with an underscore: `_xn`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n`
[INFO] [stdout]     --> src/gpu.rs:3349:5
[INFO] [stdout]      |
[INFO] [stdout] 3349 |     n: usize,
[INFO] [stdout]      |     ^ help: if this is intentional, prefix it with an underscore: `_n`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `hidden`
[INFO] [stdout]     --> src/gpu.rs:3350:5
[INFO] [stdout]      |
[INFO] [stdout] 3350 |     hidden: usize,
[INFO] [stdout]      |     ^^^^^^ help: if this is intentional, prefix it with an underscore: `_hidden`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `nh`
[INFO] [stdout]     --> src/gpu.rs:3351:5
[INFO] [stdout]      |
[INFO] [stdout] 3351 |     nh: usize,
[INFO] [stdout]      |     ^^ help: if this is intentional, prefix it with an underscore: `_nh`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `hd`
[INFO] [stdout]     --> src/gpu.rs:3352:5
[INFO] [stdout]      |
[INFO] [stdout] 3352 |     hd: usize,
[INFO] [stdout]      |     ^^ help: if this is intentional, prefix it with an underscore: `_hd`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `scale`
[INFO] [stdout]     --> src/gpu.rs:3353:5
[INFO] [stdout]      |
[INFO] [stdout] 3353 |     scale: f32,
[INFO] [stdout]      |     ^^^^^ help: if this is intentional, prefix it with an underscore: `_scale`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `nr`
[INFO] [stdout]     --> src/gpu.rs:3354:5
[INFO] [stdout]      |
[INFO] [stdout] 3354 |     nr: (&[f32], &[f32], &[f32], f32),
[INFO] [stdout]      |     ^^ help: if this is intentional, prefix it with an underscore: `_nr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `proj`
[INFO] [stdout]     --> src/gpu.rs:3355:5
[INFO] [stdout]      |
[INFO] [stdout] 3355 |     proj: &mut [f32],
[INFO] [stdout]      |     ^^^^ help: if this is intentional, prefix it with an underscore: `_proj`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `model`
[INFO] [stdout]     --> src/gpu.rs:3370:5
[INFO] [stdout]      |
[INFO] [stdout] 3370 |     model: &Arc<CmfModel>,
[INFO] [stdout]      |     ^^^^^ help: if this is intentional, prefix it with an underscore: `_model`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `qkv_idx`
[INFO] [stdout]     --> src/gpu.rs:3371:5
[INFO] [stdout]      |
[INFO] [stdout] 3371 |     qkv_idx: usize,
[INFO] [stdout]      |     ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_qkv_idx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `out_idx`
[INFO] [stdout]     --> src/gpu.rs:3372:5
[INFO] [stdout]      |
[INFO] [stdout] 3372 |     out_idx: usize,
[INFO] [stdout]      |     ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_out_idx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `xn`
[INFO] [stdout]     --> src/gpu.rs:3373:5
[INFO] [stdout]      |
[INFO] [stdout] 3373 |     xn: &[f32],
[INFO] [stdout]      |     ^^ help: if this is intentional, prefix it with an underscore: `_xn`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n`
[INFO] [stdout]     --> src/gpu.rs:3374:5
[INFO] [stdout]      |
[INFO] [stdout] 3374 |     n: usize,
[INFO] [stdout]      |     ^ help: if this is intentional, prefix it with an underscore: `_n`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dim`
[INFO] [stdout]     --> src/gpu.rs:3375:5
[INFO] [stdout]      |
[INFO] [stdout] 3375 |     dim: usize,
[INFO] [stdout]      |     ^^^ help: if this is intentional, prefix it with an underscore: `_dim`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `nh`
[INFO] [stdout]     --> src/gpu.rs:3376:5
[INFO] [stdout]      |
[INFO] [stdout] 3376 |     nh: usize,
[INFO] [stdout]      |     ^^ help: if this is intentional, prefix it with an underscore: `_nh`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `hd`
[INFO] [stdout]     --> src/gpu.rs:3377:5
[INFO] [stdout]      |
[INFO] [stdout] 3377 |     hd: usize,
[INFO] [stdout]      |     ^^ help: if this is intentional, prefix it with an underscore: `_hd`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `scale`
[INFO] [stdout]     --> src/gpu.rs:3378:5
[INFO] [stdout]      |
[INFO] [stdout] 3378 |     scale: f32,
[INFO] [stdout]      |     ^^^^^ help: if this is intentional, prefix it with an underscore: `_scale`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `angles`
[INFO] [stdout]     --> src/gpu.rs:3379:5
[INFO] [stdout]      |
[INFO] [stdout] 3379 |     angles: &[f32],
[INFO] [stdout]      |     ^^^^^^ help: if this is intentional, prefix it with an underscore: `_angles`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `eps`
[INFO] [stdout]     --> src/gpu.rs:3380:5
[INFO] [stdout]      |
[INFO] [stdout] 3380 |     eps: f32,
[INFO] [stdout]      |     ^^^ help: if this is intentional, prefix it with an underscore: `_eps`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `qkv_bias`
[INFO] [stdout]     --> src/gpu.rs:3381:5
[INFO] [stdout]      |
[INFO] [stdout] 3381 |     qkv_bias: &[f32],
[INFO] [stdout]      |     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_qkv_bias`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `proj`
[INFO] [stdout]     --> src/gpu.rs:3382:5
[INFO] [stdout]      |
[INFO] [stdout] 3382 |     proj: &mut [f32],
[INFO] [stdout]      |     ^^^^ help: if this is intentional, prefix it with an underscore: `_proj`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `qkv`
[INFO] [stdout]     --> src/gpu.rs:3410:5
[INFO] [stdout]      |
[INFO] [stdout] 3410 |     qkv: &[f32],
[INFO] [stdout]      |     ^^^ help: if this is intentional, prefix it with an underscore: `_qkv`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `nh`
[INFO] [stdout]     --> src/gpu.rs:3411:5
[INFO] [stdout]      |
[INFO] [stdout] 3411 |     nh: usize,
[INFO] [stdout]      |     ^^ help: if this is intentional, prefix it with an underscore: `_nh`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n`
[INFO] [stdout]     --> src/gpu.rs:3412:5
[INFO] [stdout]      |
[INFO] [stdout] 3412 |     n: usize,
[INFO] [stdout]      |     ^ help: if this is intentional, prefix it with an underscore: `_n`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `hd`
[INFO] [stdout]     --> src/gpu.rs:3413:5
[INFO] [stdout]      |
[INFO] [stdout] 3413 |     hd: usize,
[INFO] [stdout]      |     ^^ help: if this is intentional, prefix it with an underscore: `_hd`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `scale`
[INFO] [stdout]     --> src/gpu.rs:3414:5
[INFO] [stdout]      |
[INFO] [stdout] 3414 |     scale: f32,
[INFO] [stdout]      |     ^^^^^ help: if this is intentional, prefix it with an underscore: `_scale`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `angles`
[INFO] [stdout]     --> src/gpu.rs:3415:5
[INFO] [stdout]      |
[INFO] [stdout] 3415 |     angles: &[f32],
[INFO] [stdout]      |     ^^^^^^ help: if this is intentional, prefix it with an underscore: `_angles`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `eps`
[INFO] [stdout]     --> src/gpu.rs:3416:5
[INFO] [stdout]      |
[INFO] [stdout] 3416 |     eps: f32,
[INFO] [stdout]      |     ^^^ help: if this is intentional, prefix it with an underscore: `_eps`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `out`
[INFO] [stdout]     --> src/gpu.rs:3417:5
[INFO] [stdout]      |
[INFO] [stdout] 3417 |     out: &mut [f32],
[INFO] [stdout]      |     ^^^ help: if this is intentional, prefix it with an underscore: `_out`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `layout`
[INFO] [stdout]     --> src/gpu.rs:3418:5
[INFO] [stdout]      |
[INFO] [stdout] 3418 |     layout: u32,
[INFO] [stdout]      |     ^^^^^^ help: if this is intentional, prefix it with an underscore: `_layout`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `qkv`
[INFO] [stdout]     --> src/gpu.rs:3432:5
[INFO] [stdout]      |
[INFO] [stdout] 3432 |     qkv: &[f32],
[INFO] [stdout]      |     ^^^ help: if this is intentional, prefix it with an underscore: `_qkv`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `nh`
[INFO] [stdout]     --> src/gpu.rs:3433:5
[INFO] [stdout]      |
[INFO] [stdout] 3433 |     nh: usize,
[INFO] [stdout]      |     ^^ help: if this is intentional, prefix it with an underscore: `_nh`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n`
[INFO] [stdout]     --> src/gpu.rs:3434:5
[INFO] [stdout]      |
[INFO] [stdout] 3434 |     n: usize,
[INFO] [stdout]      |     ^ help: if this is intentional, prefix it with an underscore: `_n`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `hd`
[INFO] [stdout]     --> src/gpu.rs:3435:5
[INFO] [stdout]      |
[INFO] [stdout] 3435 |     hd: usize,
[INFO] [stdout]      |     ^^ help: if this is intentional, prefix it with an underscore: `_hd`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `layout`
[INFO] [stdout]     --> src/gpu.rs:3436:5
[INFO] [stdout]      |
[INFO] [stdout] 3436 |     layout: u32,
[INFO] [stdout]      |     ^^^^^^ help: if this is intentional, prefix it with an underscore: `_layout`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `norm`
[INFO] [stdout]     --> src/gpu.rs:3437:5
[INFO] [stdout]      |
[INFO] [stdout] 3437 |     norm: Option<(&[f32], f32)>,
[INFO] [stdout]      |     ^^^^ help: if this is intentional, prefix it with an underscore: `_norm`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `in_channels`
[INFO] [stdout]    --> src/qwen_image_vision.rs:460:13
[INFO] [stdout]     |
[INFO] [stdout] 460 |         let in_channels = cfg_usize_default(cfg, "in_channels", 3);
[INFO] [stdout]     |             ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_in_channels`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `out_q`
[INFO] [stdout]     --> src/gpu.rs:3438:5
[INFO] [stdout]      |
[INFO] [stdout] 3438 |     out_q: &mut [f32],
[INFO] [stdout]      |     ^^^^^ help: if this is intentional, prefix it with an underscore: `_out_q`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]     --> src/gpu.rs:3456:5
[INFO] [stdout]      |
[INFO] [stdout] 3456 |     x: &[f32],
[INFO] [stdout]      |     ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `w`
[INFO] [stdout]     --> src/gpu.rs:3457:5
[INFO] [stdout]      |
[INFO] [stdout] 3457 |     w: &[f32],
[INFO] [stdout]      |     ^ help: if this is intentional, prefix it with an underscore: `_w`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `y`
[INFO] [stdout]     --> src/gpu.rs:3458:5
[INFO] [stdout]      |
[INFO] [stdout] 3458 |     y: &mut [f32],
[INFO] [stdout]      |     ^ help: if this is intentional, prefix it with an underscore: `_y`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n`
[INFO] [stdout]     --> src/gpu.rs:3459:5
[INFO] [stdout]      |
[INFO] [stdout] 3459 |     n: usize,
[INFO] [stdout]      |     ^ help: if this is intentional, prefix it with an underscore: `_n`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `k`
[INFO] [stdout]     --> src/gpu.rs:3460:5
[INFO] [stdout]      |
[INFO] [stdout] 3460 |     k: usize,
[INFO] [stdout]      |     ^ help: if this is intentional, prefix it with an underscore: `_k`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `m`
[INFO] [stdout]     --> src/gpu.rs:3461:5
[INFO] [stdout]      |
[INFO] [stdout] 3461 |     m: usize,
[INFO] [stdout]      |     ^ help: if this is intentional, prefix it with an underscore: `_m`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]     --> src/gpu.rs:3471:20
[INFO] [stdout]      |
[INFO] [stdout] 3471 | pub fn gemm_nt_f32(x: &[f32], w: &[f32], y: &mut [f32], n: usize, k: usize, m: usize) -> bool {
[INFO] [stdout]      |                    ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `w`
[INFO] [stdout]     --> src/gpu.rs:3471:31
[INFO] [stdout]      |
[INFO] [stdout] 3471 | pub fn gemm_nt_f32(x: &[f32], w: &[f32], y: &mut [f32], n: usize, k: usize, m: usize) -> bool {
[INFO] [stdout]      |                               ^ help: if this is intentional, prefix it with an underscore: `_w`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `y`
[INFO] [stdout]     --> src/gpu.rs:3471:42
[INFO] [stdout]      |
[INFO] [stdout] 3471 | pub fn gemm_nt_f32(x: &[f32], w: &[f32], y: &mut [f32], n: usize, k: usize, m: usize) -> bool {
[INFO] [stdout]      |                                          ^ help: if this is intentional, prefix it with an underscore: `_y`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n`
[INFO] [stdout]     --> src/gpu.rs:3471:57
[INFO] [stdout]      |
[INFO] [stdout] 3471 | pub fn gemm_nt_f32(x: &[f32], w: &[f32], y: &mut [f32], n: usize, k: usize, m: usize) -> bool {
[INFO] [stdout]      |                                                         ^ help: if this is intentional, prefix it with an underscore: `_n`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `k`
[INFO] [stdout]     --> src/gpu.rs:3471:67
[INFO] [stdout]      |
[INFO] [stdout] 3471 | pub fn gemm_nt_f32(x: &[f32], w: &[f32], y: &mut [f32], n: usize, k: usize, m: usize) -> bool {
[INFO] [stdout]      |                                                                   ^ help: if this is intentional, prefix it with an underscore: `_k`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `m`
[INFO] [stdout]     --> src/gpu.rs:3471:77
[INFO] [stdout]      |
[INFO] [stdout] 3471 | pub fn gemm_nt_f32(x: &[f32], w: &[f32], y: &mut [f32], n: usize, k: usize, m: usize) -> bool {
[INFO] [stdout]      |                                                                             ^ help: if this is intentional, prefix it with an underscore: `_m`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `model`
[INFO] [stdout]     --> src/gpu.rs:3484:5
[INFO] [stdout]      |
[INFO] [stdout] 3484 |     model: &std::sync::Arc<CmfModel>,
[INFO] [stdout]      |     ^^^^^ help: if this is intentional, prefix it with an underscore: `_model`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `idx_in`
[INFO] [stdout]     --> src/gpu.rs:3485:5
[INFO] [stdout]      |
[INFO] [stdout] 3485 |     idx_in: usize,
[INFO] [stdout]      |     ^^^^^^ help: if this is intentional, prefix it with an underscore: `_idx_in`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `idx_out`
[INFO] [stdout]     --> src/gpu.rs:3486:5
[INFO] [stdout]      |
[INFO] [stdout] 3486 |     idx_out: usize,
[INFO] [stdout]      |     ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_idx_out`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `h`
[INFO] [stdout]     --> src/gpu.rs:3487:5
[INFO] [stdout]      |
[INFO] [stdout] 3487 |     h: &[f32],
[INFO] [stdout]      |     ^ help: if this is intentional, prefix it with an underscore: `_h`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bias_in`
[INFO] [stdout]     --> src/gpu.rs:3488:5
[INFO] [stdout]      |
[INFO] [stdout] 3488 |     bias_in: &[f32],
[INFO] [stdout]      |     ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_bias_in`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n`
[INFO] [stdout]     --> src/gpu.rs:3489:5
[INFO] [stdout]      |
[INFO] [stdout] 3489 |     n: usize,
[INFO] [stdout]      |     ^ help: if this is intentional, prefix it with an underscore: `_n`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `hs`
[INFO] [stdout]     --> src/gpu.rs:3490:5
[INFO] [stdout]      |
[INFO] [stdout] 3490 |     hs: usize,
[INFO] [stdout]      |     ^^ help: if this is intentional, prefix it with an underscore: `_hs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `inter`
[INFO] [stdout]     --> src/gpu.rs:3491:5
[INFO] [stdout]      |
[INFO] [stdout] 3491 |     inter: usize,
[INFO] [stdout]      |     ^^^^^ help: if this is intentional, prefix it with an underscore: `_inter`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `out`
[INFO] [stdout]     --> src/gpu.rs:3492:5
[INFO] [stdout]      |
[INFO] [stdout] 3492 |     out: &mut [f32],
[INFO] [stdout]      |     ^^^ help: if this is intentional, prefix it with an underscore: `_out`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]     --> src/gpu.rs:3509:5
[INFO] [stdout]      |
[INFO] [stdout] 3509 |     x: &[f32],
[INFO] [stdout]      |     ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `w`
[INFO] [stdout]     --> src/gpu.rs:3510:5
[INFO] [stdout]      |
[INFO] [stdout] 3510 |     w: &[f32],
[INFO] [stdout]      |     ^ help: if this is intentional, prefix it with an underscore: `_w`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ic`
[INFO] [stdout]     --> src/gpu.rs:3511:5
[INFO] [stdout]      |
[INFO] [stdout] 3511 |     ic: usize,
[INFO] [stdout]      |     ^^ help: if this is intentional, prefix it with an underscore: `_ic`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `oc`
[INFO] [stdout]     --> src/gpu.rs:3512:5
[INFO] [stdout]      |
[INFO] [stdout] 3512 |     oc: usize,
[INFO] [stdout]      |     ^^ help: if this is intentional, prefix it with an underscore: `_oc`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n`
[INFO] [stdout]     --> src/gpu.rs:3513:5
[INFO] [stdout]      |
[INFO] [stdout] 3513 |     n: usize,
[INFO] [stdout]      |     ^ help: if this is intentional, prefix it with an underscore: `_n`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `k`
[INFO] [stdout]     --> src/gpu.rs:3514:5
[INFO] [stdout]      |
[INFO] [stdout] 3514 |     k: usize,
[INFO] [stdout]      |     ^ help: if this is intentional, prefix it with an underscore: `_k`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pad`
[INFO] [stdout]     --> src/gpu.rs:3515:5
[INFO] [stdout]      |
[INFO] [stdout] 3515 |     pad: usize,
[INFO] [stdout]      |     ^^^ help: if this is intentional, prefix it with an underscore: `_pad`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dil`
[INFO] [stdout]     --> src/gpu.rs:3516:5
[INFO] [stdout]      |
[INFO] [stdout] 3516 |     dil: usize,
[INFO] [stdout]      |     ^^^ help: if this is intentional, prefix it with an underscore: `_dil`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `out_n`
[INFO] [stdout]     --> src/gpu.rs:3517:5
[INFO] [stdout]      |
[INFO] [stdout] 3517 |     out_n: usize,
[INFO] [stdout]      |     ^^^^^ help: if this is intentional, prefix it with an underscore: `_out_n`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `yt`
[INFO] [stdout]     --> src/gpu.rs:3518:5
[INFO] [stdout]      |
[INFO] [stdout] 3518 |     yt: &mut [f32],
[INFO] [stdout]      |     ^^ help: if this is intentional, prefix it with an underscore: `_yt`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `w`
[INFO] [stdout]     --> src/gpu.rs:3533:5
[INFO] [stdout]      |
[INFO] [stdout] 3533 |     w: &[f32],
[INFO] [stdout]      |     ^ help: if this is intentional, prefix it with an underscore: `_w`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bias`
[INFO] [stdout]     --> src/gpu.rs:3534:5
[INFO] [stdout]      |
[INFO] [stdout] 3534 |     bias: Option<&[f32]>,
[INFO] [stdout]      |     ^^^^ help: if this is intentional, prefix it with an underscore: `_bias`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]     --> src/gpu.rs:3535:5
[INFO] [stdout]      |
[INFO] [stdout] 3535 |     x: &[f32],
[INFO] [stdout]      |     ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ic`
[INFO] [stdout]     --> src/gpu.rs:3536:5
[INFO] [stdout]      |
[INFO] [stdout] 3536 |     ic: usize,
[INFO] [stdout]      |     ^^ help: if this is intentional, prefix it with an underscore: `_ic`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `oc`
[INFO] [stdout]     --> src/gpu.rs:3537:5
[INFO] [stdout]      |
[INFO] [stdout] 3537 |     oc: usize,
[INFO] [stdout]      |     ^^ help: if this is intentional, prefix it with an underscore: `_oc`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `h`
[INFO] [stdout]     --> src/gpu.rs:3538:5
[INFO] [stdout]      |
[INFO] [stdout] 3538 |     h: usize,
[INFO] [stdout]      |     ^ help: if this is intentional, prefix it with an underscore: `_h`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `wi`
[INFO] [stdout]     --> src/gpu.rs:3539:5
[INFO] [stdout]      |
[INFO] [stdout] 3539 |     wi: usize,
[INFO] [stdout]      |     ^^ help: if this is intentional, prefix it with an underscore: `_wi`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `k`
[INFO] [stdout]     --> src/gpu.rs:3540:5
[INFO] [stdout]      |
[INFO] [stdout] 3540 |     k: usize,
[INFO] [stdout]      |     ^ help: if this is intentional, prefix it with an underscore: `_k`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `out`
[INFO] [stdout]     --> src/gpu.rs:3541:5
[INFO] [stdout]      |
[INFO] [stdout] 3541 |     out: &mut [f32],
[INFO] [stdout]      |     ^^^ help: if this is intentional, prefix it with an underscore: `_out`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `qkv`
[INFO] [stdout]     --> src/gpu.rs:3552:5
[INFO] [stdout]      |
[INFO] [stdout] 3552 |     qkv: &[f32],
[INFO] [stdout]      |     ^^^ help: if this is intentional, prefix it with an underscore: `_qkv`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `nh`
[INFO] [stdout]     --> src/gpu.rs:3553:5
[INFO] [stdout]      |
[INFO] [stdout] 3553 |     nh: usize,
[INFO] [stdout]      |     ^^ help: if this is intentional, prefix it with an underscore: `_nh`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n`
[INFO] [stdout]     --> src/gpu.rs:3554:5
[INFO] [stdout]      |
[INFO] [stdout] 3554 |     n: usize,
[INFO] [stdout]      |     ^ help: if this is intentional, prefix it with an underscore: `_n`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `hd`
[INFO] [stdout]     --> src/gpu.rs:3555:5
[INFO] [stdout]      |
[INFO] [stdout] 3555 |     hd: usize,
[INFO] [stdout]      |     ^^ help: if this is intentional, prefix it with an underscore: `_hd`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `scale`
[INFO] [stdout]     --> src/gpu.rs:3556:5
[INFO] [stdout]      |
[INFO] [stdout] 3556 |     scale: f32,
[INFO] [stdout]      |     ^^^^^ help: if this is intentional, prefix it with an underscore: `_scale`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `nr`
[INFO] [stdout]     --> src/gpu.rs:3559:5
[INFO] [stdout]      |
[INFO] [stdout] 3559 |     nr: Option<(&[f32], &[f32], &[f32], f32)>,
[INFO] [stdout]      |     ^^ help: if this is intentional, prefix it with an underscore: `_nr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `out`
[INFO] [stdout]     --> src/gpu.rs:3560:5
[INFO] [stdout]      |
[INFO] [stdout] 3560 |     out: &mut [f32],
[INFO] [stdout]      |     ^^^ help: if this is intentional, prefix it with an underscore: `_out`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `qh`
[INFO] [stdout]     --> src/gpu.rs:3593:5
[INFO] [stdout]      |
[INFO] [stdout] 3593 |     qh: &[f32],
[INFO] [stdout]      |     ^^ help: if this is intentional, prefix it with an underscore: `_qh`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `kh`
[INFO] [stdout]     --> src/gpu.rs:3594:5
[INFO] [stdout]      |
[INFO] [stdout] 3594 |     kh: &[f32],
[INFO] [stdout]      |     ^^ help: if this is intentional, prefix it with an underscore: `_kh`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `vh`
[INFO] [stdout]     --> src/gpu.rs:3595:5
[INFO] [stdout]      |
[INFO] [stdout] 3595 |     vh: &[f32],
[INFO] [stdout]      |     ^^ help: if this is intentional, prefix it with an underscore: `_vh`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `nh`
[INFO] [stdout]     --> src/gpu.rs:3596:5
[INFO] [stdout]      |
[INFO] [stdout] 3596 |     nh: usize,
[INFO] [stdout]      |     ^^ help: if this is intentional, prefix it with an underscore: `_nh`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `nkv`
[INFO] [stdout]     --> src/gpu.rs:3597:5
[INFO] [stdout]      |
[INFO] [stdout] 3597 |     nkv: usize,
[INFO] [stdout]      |     ^^^ help: if this is intentional, prefix it with an underscore: `_nkv`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n`
[INFO] [stdout]     --> src/gpu.rs:3598:5
[INFO] [stdout]      |
[INFO] [stdout] 3598 |     n: usize,
[INFO] [stdout]      |     ^ help: if this is intentional, prefix it with an underscore: `_n`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `hd`
[INFO] [stdout]     --> src/gpu.rs:3599:5
[INFO] [stdout]      |
[INFO] [stdout] 3599 |     hd: usize,
[INFO] [stdout]      |     ^^ help: if this is intentional, prefix it with an underscore: `_hd`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `scale`
[INFO] [stdout]     --> src/gpu.rs:3600:5
[INFO] [stdout]      |
[INFO] [stdout] 3600 |     scale: f32,
[INFO] [stdout]      |     ^^^^^ help: if this is intentional, prefix it with an underscore: `_scale`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `out`
[INFO] [stdout]     --> src/gpu.rs:3601:5
[INFO] [stdout]      |
[INFO] [stdout] 3601 |     out: &mut [f32],
[INFO] [stdout]      |     ^^^ help: if this is intentional, prefix it with an underscore: `_out`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `model`
[INFO] [stdout]     --> src/gpu.rs:3640:5
[INFO] [stdout]      |
[INFO] [stdout] 3640 |     model: &Arc<CmfModel>,
[INFO] [stdout]      |     ^^^^^ help: if this is intentional, prefix it with an underscore: `_model`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `idx`
[INFO] [stdout]     --> src/gpu.rs:3641:5
[INFO] [stdout]      |
[INFO] [stdout] 3641 |     idx: usize,
[INFO] [stdout]      |     ^^^ help: if this is intentional, prefix it with an underscore: `_idx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `xs`
[INFO] [stdout]     --> src/gpu.rs:3642:5
[INFO] [stdout]      |
[INFO] [stdout] 3642 |     xs: &[f32],
[INFO] [stdout]      |     ^^ help: if this is intentional, prefix it with an underscore: `_xs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `b`
[INFO] [stdout]     --> src/gpu.rs:3643:5
[INFO] [stdout]      |
[INFO] [stdout] 3643 |     b: usize,
[INFO] [stdout]      |     ^ help: if this is intentional, prefix it with an underscore: `_b`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rows`
[INFO] [stdout]     --> src/gpu.rs:3644:5
[INFO] [stdout]      |
[INFO] [stdout] 3644 |     rows: usize,
[INFO] [stdout]      |     ^^^^ help: if this is intentional, prefix it with an underscore: `_rows`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cols`
[INFO] [stdout]     --> src/gpu.rs:3645:5
[INFO] [stdout]      |
[INFO] [stdout] 3645 |     cols: usize,
[INFO] [stdout]      |     ^^^^ help: if this is intentional, prefix it with an underscore: `_cols`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `out`
[INFO] [stdout]     --> src/gpu.rs:3646:5
[INFO] [stdout]      |
[INFO] [stdout] 3646 |     out: &mut [f32],
[INFO] [stdout]      |     ^^^ help: if this is intentional, prefix it with an underscore: `_out`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `model`
[INFO] [stdout]     --> src/gpu.rs:3661:5
[INFO] [stdout]      |
[INFO] [stdout] 3661 |     model: &Arc<CmfModel>,
[INFO] [stdout]      |     ^^^^^ help: if this is intentional, prefix it with an underscore: `_model`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `idx`
[INFO] [stdout]     --> src/gpu.rs:3662:5
[INFO] [stdout]      |
[INFO] [stdout] 3662 |     idx: usize,
[INFO] [stdout]      |     ^^^ help: if this is intentional, prefix it with an underscore: `_idx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `xs`
[INFO] [stdout]     --> src/gpu.rs:3663:5
[INFO] [stdout]      |
[INFO] [stdout] 3663 |     xs: &[f32],
[INFO] [stdout]      |     ^^ help: if this is intentional, prefix it with an underscore: `_xs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `b`
[INFO] [stdout]     --> src/gpu.rs:3664:5
[INFO] [stdout]      |
[INFO] [stdout] 3664 |     b: usize,
[INFO] [stdout]      |     ^ help: if this is intentional, prefix it with an underscore: `_b`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rows`
[INFO] [stdout]     --> src/gpu.rs:3665:5
[INFO] [stdout]      |
[INFO] [stdout] 3665 |     rows: usize,
[INFO] [stdout]      |     ^^^^ help: if this is intentional, prefix it with an underscore: `_rows`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cols`
[INFO] [stdout]     --> src/gpu.rs:3666:5
[INFO] [stdout]      |
[INFO] [stdout] 3666 |     cols: usize,
[INFO] [stdout]      |     ^^^^ help: if this is intentional, prefix it with an underscore: `_cols`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `out`
[INFO] [stdout]     --> src/gpu.rs:3667:5
[INFO] [stdout]      |
[INFO] [stdout] 3667 |     out: &mut [f32],
[INFO] [stdout]      |     ^^^ help: if this is intentional, prefix it with an underscore: `_out`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `model`
[INFO] [stdout]     --> src/gpu.rs:3681:5
[INFO] [stdout]      |
[INFO] [stdout] 3681 |     model: &Arc<CmfModel>,
[INFO] [stdout]      |     ^^^^^ help: if this is intentional, prefix it with an underscore: `_model`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `idx`
[INFO] [stdout]     --> src/gpu.rs:3682:5
[INFO] [stdout]      |
[INFO] [stdout] 3682 |     idx: usize,
[INFO] [stdout]      |     ^^^ help: if this is intentional, prefix it with an underscore: `_idx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `xs`
[INFO] [stdout]     --> src/gpu.rs:3683:5
[INFO] [stdout]      |
[INFO] [stdout] 3683 |     xs: &[f32],
[INFO] [stdout]      |     ^^ help: if this is intentional, prefix it with an underscore: `_xs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rows`
[INFO] [stdout]     --> src/gpu.rs:3684:5
[INFO] [stdout]      |
[INFO] [stdout] 3684 |     rows: usize,
[INFO] [stdout]      |     ^^^^ help: if this is intentional, prefix it with an underscore: `_rows`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cols`
[INFO] [stdout]     --> src/gpu.rs:3685:5
[INFO] [stdout]      |
[INFO] [stdout] 3685 |     cols: usize,
[INFO] [stdout]      |     ^^^^ help: if this is intentional, prefix it with an underscore: `_cols`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `out`
[INFO] [stdout]     --> src/gpu.rs:3686:5
[INFO] [stdout]      |
[INFO] [stdout] 3686 |     out: &mut [f32],
[INFO] [stdout]      |     ^^^ help: if this is intentional, prefix it with an underscore: `_out`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `model`
[INFO] [stdout]     --> src/gpu.rs:3702:5
[INFO] [stdout]      |
[INFO] [stdout] 3702 |     model: &Arc<CmfModel>,
[INFO] [stdout]      |     ^^^^^ help: if this is intentional, prefix it with an underscore: `_model`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `idx`
[INFO] [stdout]     --> src/gpu.rs:3703:5
[INFO] [stdout]      |
[INFO] [stdout] 3703 |     idx: usize,
[INFO] [stdout]      |     ^^^ help: if this is intentional, prefix it with an underscore: `_idx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `xs`
[INFO] [stdout]     --> src/gpu.rs:3704:5
[INFO] [stdout]      |
[INFO] [stdout] 3704 |     xs: &[f32],
[INFO] [stdout]      |     ^^ help: if this is intentional, prefix it with an underscore: `_xs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rows`
[INFO] [stdout]     --> src/gpu.rs:3705:5
[INFO] [stdout]      |
[INFO] [stdout] 3705 |     rows: usize,
[INFO] [stdout]      |     ^^^^ help: if this is intentional, prefix it with an underscore: `_rows`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cols`
[INFO] [stdout]     --> src/gpu.rs:3706:5
[INFO] [stdout]      |
[INFO] [stdout] 3706 |     cols: usize,
[INFO] [stdout]      |     ^^^^ help: if this is intentional, prefix it with an underscore: `_cols`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `out`
[INFO] [stdout]     --> src/gpu.rs:3707:5
[INFO] [stdout]      |
[INFO] [stdout] 3707 |     out: &mut [f32],
[INFO] [stdout]      |     ^^^ help: if this is intentional, prefix it with an underscore: `_out`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `model`
[INFO] [stdout]     --> src/gpu.rs:3724:5
[INFO] [stdout]      |
[INFO] [stdout] 3724 |     model: &Arc<CmfModel>,
[INFO] [stdout]      |     ^^^^^ help: if this is intentional, prefix it with an underscore: `_model`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `idx`
[INFO] [stdout]     --> src/gpu.rs:3725:5
[INFO] [stdout]      |
[INFO] [stdout] 3725 |     idx: usize,
[INFO] [stdout]      |     ^^^ help: if this is intentional, prefix it with an underscore: `_idx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `xs`
[INFO] [stdout]     --> src/gpu.rs:3726:5
[INFO] [stdout]      |
[INFO] [stdout] 3726 |     xs: &[f32],
[INFO] [stdout]      |     ^^ help: if this is intentional, prefix it with an underscore: `_xs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rows`
[INFO] [stdout]     --> src/gpu.rs:3727:5
[INFO] [stdout]      |
[INFO] [stdout] 3727 |     rows: usize,
[INFO] [stdout]      |     ^^^^ help: if this is intentional, prefix it with an underscore: `_rows`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cols`
[INFO] [stdout]     --> src/gpu.rs:3728:5
[INFO] [stdout]      |
[INFO] [stdout] 3728 |     cols: usize,
[INFO] [stdout]      |     ^^^^ help: if this is intentional, prefix it with an underscore: `_cols`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `out`
[INFO] [stdout]     --> src/gpu.rs:3729:5
[INFO] [stdout]      |
[INFO] [stdout] 3729 |     out: &mut [f32],
[INFO] [stdout]      |     ^^^ help: if this is intentional, prefix it with an underscore: `_out`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `model`
[INFO] [stdout]     --> src/gpu.rs:3747:5
[INFO] [stdout]      |
[INFO] [stdout] 3747 |     model: &Arc<CmfModel>,
[INFO] [stdout]      |     ^^^^^ help: if this is intentional, prefix it with an underscore: `_model`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `idx`
[INFO] [stdout]     --> src/gpu.rs:3748:5
[INFO] [stdout]      |
[INFO] [stdout] 3748 |     idx: usize,
[INFO] [stdout]      |     ^^^ help: if this is intentional, prefix it with an underscore: `_idx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `xs`
[INFO] [stdout]     --> src/gpu.rs:3749:5
[INFO] [stdout]      |
[INFO] [stdout] 3749 |     xs: &[f32],
[INFO] [stdout]      |     ^^ help: if this is intentional, prefix it with an underscore: `_xs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rows`
[INFO] [stdout]     --> src/gpu.rs:3750:5
[INFO] [stdout]      |
[INFO] [stdout] 3750 |     rows: usize,
[INFO] [stdout]      |     ^^^^ help: if this is intentional, prefix it with an underscore: `_rows`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cols`
[INFO] [stdout]     --> src/gpu.rs:3751:5
[INFO] [stdout]      |
[INFO] [stdout] 3751 |     cols: usize,
[INFO] [stdout]      |     ^^^^ help: if this is intentional, prefix it with an underscore: `_cols`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `out`
[INFO] [stdout]     --> src/gpu.rs:3752:5
[INFO] [stdout]      |
[INFO] [stdout] 3752 |     out: &mut [f32],
[INFO] [stdout]      |     ^^^ help: if this is intentional, prefix it with an underscore: `_out`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `model`
[INFO] [stdout]     --> src/gpu.rs:3763:5
[INFO] [stdout]      |
[INFO] [stdout] 3763 |     model: &Arc<CmfModel>,
[INFO] [stdout]      |     ^^^^^ help: if this is intentional, prefix it with an underscore: `_model`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `idx`
[INFO] [stdout]     --> src/gpu.rs:3764:5
[INFO] [stdout]      |
[INFO] [stdout] 3764 |     idx: usize,
[INFO] [stdout]      |     ^^^ help: if this is intentional, prefix it with an underscore: `_idx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `xs`
[INFO] [stdout]     --> src/gpu.rs:3765:5
[INFO] [stdout]      |
[INFO] [stdout] 3765 |     xs: &[f32],
[INFO] [stdout]      |     ^^ help: if this is intentional, prefix it with an underscore: `_xs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `b`
[INFO] [stdout]     --> src/gpu.rs:3766:5
[INFO] [stdout]      |
[INFO] [stdout] 3766 |     b: usize,
[INFO] [stdout]      |     ^ help: if this is intentional, prefix it with an underscore: `_b`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rows`
[INFO] [stdout]     --> src/gpu.rs:3767:5
[INFO] [stdout]      |
[INFO] [stdout] 3767 |     rows: usize,
[INFO] [stdout]      |     ^^^^ help: if this is intentional, prefix it with an underscore: `_rows`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cols`
[INFO] [stdout]     --> src/gpu.rs:3768:5
[INFO] [stdout]      |
[INFO] [stdout] 3768 |     cols: usize,
[INFO] [stdout]      |     ^^^^ help: if this is intentional, prefix it with an underscore: `_cols`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `out`
[INFO] [stdout]     --> src/gpu.rs:3769:5
[INFO] [stdout]      |
[INFO] [stdout] 3769 |     out: &mut [f32],
[INFO] [stdout]      |     ^^^ help: if this is intentional, prefix it with an underscore: `_out`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/gpu.rs:4153:9
[INFO] [stdout]      |
[INFO] [stdout] 4153 |     let mut total = 0u64;
[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/skillbake.rs:1175:17
[INFO] [stdout]      |
[INFO] [stdout] 1175 |             let mut device_done = false;
[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/skillbake.rs:1437:13
[INFO] [stdout]      |
[INFO] [stdout] 1437 |         let mut done = false;
[INFO] [stdout]      |             ----^^^^
[INFO] [stdout]      |             |
[INFO] [stdout]      |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/zimage.rs:522:29
[INFO] [stdout]     |
[INFO] [stdout] 522 | ...                   xp.add(i * k + kb),
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/zimage.rs:497:5
[INFO] [stdout]     |
[INFO] [stdout] 497 | /     unsafe fn tile(
[INFO] [stdout] 498 | |         x: &[f32],
[INFO] [stdout] 499 | |         w: &[f32],
[INFO] [stdout] 500 | |         y: *mut f32,
[INFO] [stdout] ...   |
[INFO] [stdout] 506 | |         j1: usize,
[INFO] [stdout] 507 | |     ) {
[INFO] [stdout]     | |_____^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: `#[warn(unsafe_op_in_unsafe_fn)]` (part of `#[warn(rust_2024_compatibility)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/zimage.rs:523:29
[INFO] [stdout]     |
[INFO] [stdout] 523 | ...                   xp.add((i + 1) * k + kb),
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/zimage.rs:524:29
[INFO] [stdout]     |
[INFO] [stdout] 524 | ...                   xp.add((i + 2) * k + kb),
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/zimage.rs:527:29
[INFO] [stdout]     |
[INFO] [stdout] 527 | ...                   wp.add(j * k + kb),
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/zimage.rs:528:29
[INFO] [stdout]     |
[INFO] [stdout] 528 | ...                   wp.add((j + 1) * k + kb),
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/zimage.rs:529:29
[INFO] [stdout]     |
[INFO] [stdout] 529 | ...                   wp.add((j + 2) * k + kb),
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/zimage.rs:534:38
[INFO] [stdout]     |
[INFO] [stdout] 534 | ...                   let b0 = _mm256_loadu_ps(w0.add(kk));
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/zimage.rs:534:54
[INFO] [stdout]     |
[INFO] [stdout] 534 | ...                   let b0 = _mm256_loadu_ps(w0.add(kk));
[INFO] [stdout]     |                                                ^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/zimage.rs:535:38
[INFO] [stdout]     |
[INFO] [stdout] 535 | ...                   let b1 = _mm256_loadu_ps(w1.add(kk));
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/zimage.rs:535:54
[INFO] [stdout]     |
[INFO] [stdout] 535 | ...                   let b1 = _mm256_loadu_ps(w1.add(kk));
[INFO] [stdout]     |                                                ^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/zimage.rs:536:38
[INFO] [stdout]     |
[INFO] [stdout] 536 | ...                   let b2 = _mm256_loadu_ps(w2.add(kk));
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/zimage.rs:536:54
[INFO] [stdout]     |
[INFO] [stdout] 536 | ...                   let b2 = _mm256_loadu_ps(w2.add(kk));
[INFO] [stdout]     |                                                ^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/zimage.rs:537:38
[INFO] [stdout]     |
[INFO] [stdout] 537 | ...                   let r0 = _mm256_loadu_ps(x0.add(kk));
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/zimage.rs:537:54
[INFO] [stdout]     |
[INFO] [stdout] 537 | ...                   let r0 = _mm256_loadu_ps(x0.add(kk));
[INFO] [stdout]     |                                                ^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/zimage.rs:541:38
[INFO] [stdout]     |
[INFO] [stdout] 541 | ...                   let r1 = _mm256_loadu_ps(x1.add(kk));
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/zimage.rs:541:54
[INFO] [stdout]     |
[INFO] [stdout] 541 | ...                   let r1 = _mm256_loadu_ps(x1.add(kk));
[INFO] [stdout]     |                                                ^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/zimage.rs:545:38
[INFO] [stdout]     |
[INFO] [stdout] 545 | ...                   let r2 = _mm256_loadu_ps(x2.add(kk));
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/zimage.rs:545:54
[INFO] [stdout]     |
[INFO] [stdout] 545 | ...                   let r2 = _mm256_loadu_ps(x2.add(kk));
[INFO] [stdout]     |                                                ^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block
[INFO] [stdout]    --> src/zimage.rs:553:33
[INFO] [stdout]     |
[INFO] [stdout] 553 | ...                   *y.add((i + r) * ldy + j + c) += hsum(a[r * 3 + c]);
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ dereference of raw pointer
[INFO] [stdout]     |
[INFO] [stdout]     = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::mut_ptr::<impl *mut T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/zimage.rs:553:34
[INFO] [stdout]     |
[INFO] [stdout] 553 | ...                   *y.add((i + r) * ldy + j + c) += hsum(a[r * 3 + c]);
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `zimage::host_gemm::hsum` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/zimage.rs:553:66
[INFO] [stdout]     |
[INFO] [stdout] 553 | ...                   *y.add((i + r) * ldy + j + c) += hsum(a[r * 3 + c]);
[INFO] [stdout]     |                                                        ^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/zimage.rs:559:49
[INFO] [stdout]     |
[INFO] [stdout] 559 | ...                   let (xr, wr) = (xp.add((i + r) * k + kb), wp.add((j + c) * k + kb));
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/zimage.rs:559:75
[INFO] [stdout]     |
[INFO] [stdout] 559 | ...                   let (xr, wr) = (xp.add((i + r) * k + kb), wp.add((j + c) * k + kb));
[INFO] [stdout]     |                                                                 ^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/zimage.rs:564:41
[INFO] [stdout]     |
[INFO] [stdout] 564 | ...                   _mm256_loadu_ps(xr.add(kk)),
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/zimage.rs:564:57
[INFO] [stdout]     |
[INFO] [stdout] 564 | ...                   _mm256_loadu_ps(xr.add(kk)),
[INFO] [stdout]     |                                       ^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/zimage.rs:565:41
[INFO] [stdout]     |
[INFO] [stdout] 565 | ...                   _mm256_loadu_ps(wr.add(kk)),
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/zimage.rs:565:57
[INFO] [stdout]     |
[INFO] [stdout] 565 | ...                   _mm256_loadu_ps(wr.add(kk)),
[INFO] [stdout]     |                                       ^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block
[INFO] [stdout]    --> src/zimage.rs:570:33
[INFO] [stdout]     |
[INFO] [stdout] 570 | ...                   *y.add((i + r) * ldy + j + c) += hsum(acc);
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ dereference of raw pointer
[INFO] [stdout]     |
[INFO] [stdout]     = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::mut_ptr::<impl *mut T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/zimage.rs:570:34
[INFO] [stdout]     |
[INFO] [stdout] 570 | ...                   *y.add((i + r) * ldy + j + c) += hsum(acc);
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `zimage::host_gemm::hsum` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/zimage.rs:570:66
[INFO] [stdout]     |
[INFO] [stdout] 570 | ...                   *y.add((i + r) * ldy + j + c) += hsum(acc);
[INFO] [stdout]     |                                                        ^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `npos`
[INFO] [stdout]     --> src/ltxaudio.rs:1218:13
[INFO] [stdout]      |
[INFO] [stdout] 1218 |         let npos = out.n();
[INFO] [stdout]      |             ^^^^ help: if this is intentional, prefix it with an underscore: `_npos`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `finish_projection_debug` is never used
[INFO] [stdout]    --> src/attention.rs:945:15
[INFO] [stdout]     |
[INFO] [stdout] 945 | pub(crate) fn finish_projection_debug(
[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 `q4tp_mapped` and `matvec_rows` are never used
[INFO] [stdout]    --> src/dit.rs:61:19
[INFO] [stdout]     |
[INFO] [stdout]  37 | impl Proj {
[INFO] [stdout]     | --------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  61 |     pub(crate) fn q4tp_mapped(&self) -> Option<(&Arc<CmfModel>, usize)> {
[INFO] [stdout]     |                   ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 111 |     pub(crate) fn matvec_rows(&self, xs: &[f32], b: usize, out: &mut [f32], pool: Option<&Pool>) {
[INFO] [stdout]     |                   ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `gpu_block` is never used
[INFO] [stdout]    --> src/dit.rs:727:8
[INFO] [stdout]     |
[INFO] [stdout] 391 | impl NextDit {
[INFO] [stdout]     | ------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 727 |     fn gpu_block(
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `host_cpu_moe` is never used
[INFO] [stdout]     --> src/dsv4.rs:3108:4
[INFO] [stdout]      |
[INFO] [stdout] 3108 | fn host_cpu_moe() -> bool {
[INFO] [stdout]      |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `chain_enabled` is never used
[INFO] [stdout]     --> src/dsv4.rs:3113:4
[INFO] [stdout]      |
[INFO] [stdout] 3113 | fn chain_enabled() -> bool {
[INFO] [stdout]      |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `cold_step_block` is never used
[INFO] [stdout]     --> src/dsv4.rs:5544:4
[INFO] [stdout]      |
[INFO] [stdout] 5544 | fn cold_step_block(
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `dspark_wants` is never used
[INFO] [stdout]     --> src/dsv4.rs:9181:4
[INFO] [stdout]      |
[INFO] [stdout] 9181 | fn dspark_wants(li: usize) -> bool {
[INFO] [stdout]      |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `gpu_expert_ids` and `gpu_shared_ids` are never read
[INFO] [stdout]    --> src/dsv41.rs:863:5
[INFO] [stdout]     |
[INFO] [stdout] 835 | pub struct Dsv41Layer {
[INFO] [stdout]     |            ---------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 863 |     gpu_expert_ids: Vec<(usize, usize, usize)>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^
[INFO] [stdout] 864 |     gpu_shared_ids: Option<(usize, usize, usize)>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `note_gpu_moe` is never used
[INFO] [stdout]   --> src/dsv41.rs:83:12
[INFO] [stdout]    |
[INFO] [stdout] 83 |     pub fn note_gpu_moe() {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `note_cold` is never used
[INFO] [stdout]   --> src/dsv41.rs:97:12
[INFO] [stdout]    |
[INFO] [stdout] 97 |     pub fn note_cold(count: usize) {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `note_gpu_attn` is never used
[INFO] [stdout]    --> src/dsv41.rs:103:12
[INFO] [stdout]     |
[INFO] [stdout] 103 |     pub fn note_gpu_attn() {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `note_gpu_attn_fallback` is never used
[INFO] [stdout]    --> src/dsv41.rs:109:12
[INFO] [stdout]     |
[INFO] [stdout] 109 |     pub fn note_gpu_attn_fallback() {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MAX_GAP` is never used
[INFO] [stdout]   --> src/expert_store.rs:56:7
[INFO] [stdout]    |
[INFO] [stdout] 56 | const MAX_GAP: usize = 64 << 10;
[INFO] [stdout]    |       ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `abs` and `len` are never read
[INFO] [stdout]   --> src/expert_store.rs:60:9
[INFO] [stdout]    |
[INFO] [stdout] 59 | pub(crate) struct Part {
[INFO] [stdout]    |                   ---- fields in this struct
[INFO] [stdout] 60 |     pub abs: u64,
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 61 |     pub len: usize,
[INFO] [stdout]    |         ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Part` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `parts` is never read
[INFO] [stdout]   --> src/expert_store.rs:67:9
[INFO] [stdout]    |
[INFO] [stdout] 66 | pub(crate) struct ExpertLoc {
[INFO] [stdout]    |                   --------- field in this struct
[INFO] [stdout] 67 |     pub parts: [Part; 3],
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ExpertLoc` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `total`, `span`, and `contiguous` are never used
[INFO] [stdout]   --> src/expert_store.rs:71:8
[INFO] [stdout]    |
[INFO] [stdout] 70 | impl ExpertLoc {
[INFO] [stdout]    | -------------- methods in this implementation
[INFO] [stdout] 71 |     fn total(&self) -> usize {
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 74 |     fn span(&self) -> (u64, u64) {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 85 |     fn contiguous(&self) -> bool {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `slot_bytes_for` is never used
[INFO] [stdout]   --> src/expert_store.rs:95:4
[INFO] [stdout]    |
[INFO] [stdout] 95 | fn slot_bytes_for(max_total: usize) -> usize {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AlignedBuf` is never constructed
[INFO] [stdout]    --> src/expert_store.rs:100:8
[INFO] [stdout]     |
[INFO] [stdout] 100 | struct AlignedBuf {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `empty`, `ensure`, and `free` are never used
[INFO] [stdout]    --> src/expert_store.rs:106:14
[INFO] [stdout]     |
[INFO] [stdout] 105 | impl AlignedBuf {
[INFO] [stdout]     | --------------- associated items in this implementation
[INFO] [stdout] 106 |     const fn empty() -> Self {
[INFO] [stdout]     |              ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 112 |     fn ensure(&mut self, n: usize) -> &mut [u8] {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 125 |     fn free(&mut self) {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Mmap`, `Pread`, and `Direct` are never constructed
[INFO] [stdout]    --> src/expert_store.rs:149:5
[INFO] [stdout]     |
[INFO] [stdout] 147 | pub(crate) enum IoMode {
[INFO] [stdout]     |                 ------ variants in this enum
[INFO] [stdout] 148 |     /// copy out of the memory map (page faults on a miss)
[INFO] [stdout] 149 |     Mmap,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 150 |     /// one positioned read per expert through the page cache
[INFO] [stdout] 151 |     Pread,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 152 |     /// page cache when it has the bytes, else O_DIRECT (Linux)
[INFO] [stdout] 153 |     Direct,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `IoMode` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `pread_full` is never used
[INFO] [stdout]    --> src/expert_store.rs:157:4
[INFO] [stdout]     |
[INFO] [stdout] 157 | fn pread_full(f: &std::fs::File, buf: &mut [u8], off: u64) -> std::io::Result<usize> {
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `pread_cached` is never used
[INFO] [stdout]    --> src/expert_store.rs:177:4
[INFO] [stdout]     |
[INFO] [stdout] 177 | fn pread_cached(f: &std::fs::File, buf: &mut [u8], off: u64) -> Result<usize, ()> {
[INFO] [stdout]     |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `model`, `mode`, `file`, `direct`, `direct_broken`, and `nowait_ok` are never read
[INFO] [stdout]    --> src/expert_store.rs:213:5
[INFO] [stdout]     |
[INFO] [stdout] 212 | pub(crate) struct FileReader {
[INFO] [stdout]     |                   ---------- fields in this struct
[INFO] [stdout] 213 |     model: Arc<CmfModel>,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 214 |     mode: IoMode,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 215 |     file: Option<std::fs::File>,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 216 |     #[cfg(target_os = "linux")]
[INFO] [stdout] 217 |     direct: Option<std::fs::File>,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 218 |     /// O_DIRECT failed once (filesystem without support): buffered from then on
[INFO] [stdout] 219 |     direct_broken: AtomicBool,
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 222 |     nowait_ok: AtomicBool,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `open`, `mode`, `read`, `read_span`, `resident`, and `read_mmap` are never used
[INFO] [stdout]    --> src/expert_store.rs:226:19
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl FileReader {
[INFO] [stdout]     | --------------- associated items in this implementation
[INFO] [stdout] 226 |     pub(crate) fn open(model: &Arc<CmfModel>) -> Self {
[INFO] [stdout]     |                   ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 258 |     pub(crate) fn mode(&self) -> IoMode {
[INFO] [stdout]     |                   ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 265 |     fn read(&self, loc: &ExpertLoc, buf: &mut [u8]) -> Option<(Ranges, bool)> {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 307 |     fn read_span(&self, s: u64, e: u64, s_al: u64, buf: &mut [u8]) -> Option<bool> {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 359 |     fn resident(&self, s: u64, len: usize) -> bool {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 375 |     fn read_mmap(&self, loc: &ExpertLoc, buf: &mut [u8]) -> Option<Ranges> {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]    --> src/expert_store.rs:397:5
[INFO] [stdout]     |
[INFO] [stdout] 395 | struct Meta {
[INFO] [stdout]     |        ---- fields in this struct
[INFO] [stdout] 396 |     /// key → slot, for slots whose bytes are complete
[INFO] [stdout] 397 |     slot_of: Vec<u32>,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] 398 |     /// slot → key (u32::MAX = free)
[INFO] [stdout] 399 |     key_of: Vec<u32>,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 400 |     valid: Vec<bool>,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 401 |     pins: Vec<u32>,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 402 |     last: Vec<u64>,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 403 |     ranges: Vec<Ranges>,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 404 |     /// per key: the VRAM arena holds it (its copy here is redundant)
[INFO] [stdout] 405 |     in_vram: Vec<bool>,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] 406 |     free: Vec<u32>,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 407 |     clock: u64,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 408 |     cursor: usize,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 409 |     /// slots ever handed out (the high-water mark of allocated segments)
[INFO] [stdout] 410 |     touched: usize,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `cap` and `meta` are never read
[INFO] [stdout]    --> src/expert_store.rs:415:5
[INFO] [stdout]     |
[INFO] [stdout] 413 | pub(crate) struct RamTier {
[INFO] [stdout]     |                   ------- fields in this struct
[INFO] [stdout] 414 |     slot_bytes: usize,
[INFO] [stdout] 415 |     cap: usize,
[INFO] [stdout]     |     ^^^
[INFO] [stdout] ...
[INFO] [stdout] 418 |     meta: Mutex<Meta>,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/expert_store.rs:422:8
[INFO] [stdout]     |
[INFO] [stdout] 421 | impl RamTier {
[INFO] [stdout]     | ------------ associated items in this implementation
[INFO] [stdout] 422 |     fn new(n_keys: usize, cap: usize, slot_bytes: usize) -> Self {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 447 |     fn slot_ptr(&self, slot: usize) -> Option<*mut u8> {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 465 |     fn lookup_pin(&self, key: usize) -> Option<(usize, Ranges)> {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 478 |     fn unpin(&self, slot: usize) {
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 486 |     fn reserve(&self, key: usize, evict_cold: bool) -> Option<usize> {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 510 |     fn pick_victim(m: &mut Meta, cap: usize, evict_cold: bool) -> Option<usize> {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 536 |     fn commit(&self, slot: usize, key: usize, ranges: Option<Ranges>) {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 558 |     fn holds(&self, key: usize) -> bool {
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 564 |     fn usage(&self) -> (usize, usize, usize) {
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `ram_hits`, `file_reads`, `cache_hits`, `file_bytes`, `file_ns`, and `bg_loads` are never read
[INFO] [stdout]    --> src/expert_store.rs:596:9
[INFO] [stdout]     |
[INFO] [stdout] 595 | pub(crate) struct StoreStats {
[INFO] [stdout]     |                   ---------- fields in this struct
[INFO] [stdout] 596 |     pub ram_hits: AtomicU64,
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout] 597 |     pub file_reads: AtomicU64,
[INFO] [stdout]     |         ^^^^^^^^^^
[INFO] [stdout] 598 |     pub cache_hits: AtomicU64,
[INFO] [stdout]     |         ^^^^^^^^^^
[INFO] [stdout] 599 |     pub file_bytes: AtomicU64,
[INFO] [stdout]     |         ^^^^^^^^^^
[INFO] [stdout] 600 |     pub file_ns: AtomicU64,
[INFO] [stdout]     |         ^^^^^^^
[INFO] [stdout] 601 |     pub bg_loads: AtomicU64,
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `urgent` and `warm` are never read
[INFO] [stdout]    --> src/expert_store.rs:606:5
[INFO] [stdout]     |
[INFO] [stdout] 604 | struct Background {
[INFO] [stdout]     |        ---------- fields in this struct
[INFO] [stdout] 605 |     /// experts the arena just evicted: wanted back soon
[INFO] [stdout] 606 |     urgent: VecDeque<u32>,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 607 |     /// warm-up order (profile ranking, then the rest)
[INFO] [stdout] 608 |     warm: VecDeque<u32>,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]    --> src/expert_store.rs:613:5
[INFO] [stdout]     |
[INFO] [stdout] 612 | pub(crate) struct ExpertStore {
[INFO] [stdout]     |                   ----------- fields in this struct
[INFO] [stdout] 613 |     reader: FileReader,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 614 |     locs: Vec<Option<ExpertLoc>>,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 615 |     n_experts: usize,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] 616 |     slot_bytes: usize,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] 617 |     tier: Option<RamTier>,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 618 |     pub stats: StoreStats,
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 622 |     fg_reads: AtomicU64,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] 623 |     /// page-cache mode: release / prefetch file pages as the arena moves
[INFO] [stdout] 624 |     hints: bool,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 625 |     file: Option<std::fs::File>,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Foreground` is never constructed
[INFO] [stdout]    --> src/expert_store.rs:629:8
[INFO] [stdout]     |
[INFO] [stdout] 629 | struct Foreground<'a>(&'a AtomicU64);
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `enter` is never used
[INFO] [stdout]    --> src/expert_store.rs:632:8
[INFO] [stdout]     |
[INFO] [stdout] 631 | impl<'a> Foreground<'a> {
[INFO] [stdout]     | ----------------------- associated function in this implementation
[INFO] [stdout] 632 |     fn enter(c: &'a AtomicU64) -> Self {
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `host_available_bytes` is never used
[INFO] [stdout]    --> src/expert_store.rs:647:15
[INFO] [stdout]     |
[INFO] [stdout] 647 | pub(crate) fn host_available_bytes() -> Option<u64> {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]     --> src/expert_store.rs:705:19
[INFO] [stdout]      |
[INFO] [stdout]  701 | impl ExpertStore {
[INFO] [stdout]      | ---------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  705 |     pub(crate) fn new(
[INFO] [stdout]      |                   ^^^
[INFO] [stdout] ...
[INFO] [stdout]  778 |     pub(crate) fn io_mode(&self) -> IoMode {
[INFO] [stdout]      |                   ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  782 |     pub(crate) fn tier_capacity(&self) -> usize {
[INFO] [stdout]      |                   ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  786 |     fn key(&self, layer: usize, expert: usize) -> usize {
[INFO] [stdout]      |        ^^^
[INFO] [stdout] ...
[INFO] [stdout]  793 |     pub(crate) fn with_expert<R>(
[INFO] [stdout]      |                   ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  844 |     fn with_mapped<R>(&self, loc: &ExpertLoc, f: impl FnOnce([&[u8]; 3]) -> R) -> Option<R> {
[INFO] [stdout]      |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  867 |     pub(crate) fn prefetch(&self, layer: usize, experts: &[usize]) {
[INFO] [stdout]      |                   ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  879 |     fn read_file(&self, loc: &ExpertLoc, buf: &mut [u8]) -> Option<Ranges> {
[INFO] [stdout]      |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  896 |     pub(crate) fn note_vram(&self, layer: usize, expert: usize, resident: bool) {
[INFO] [stdout]      |                   ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  925 |     fn advise(&self, loc: &ExpertLoc, in_vram: bool) {
[INFO] [stdout]      |        ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  951 |     pub(crate) fn start_background(self: &Arc<Self>, order: Vec<(usize, usize)>) {
[INFO] [stdout]      |                   ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  975 |     fn loader(me: std::sync::Weak<Self>) {
[INFO] [stdout]      |        ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1050 |     pub(crate) fn report(&self) -> String {
[INFO] [stdout]      |                   ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `split` is never used
[INFO] [stdout]     --> src/expert_store.rs:1081:4
[INFO] [stdout]      |
[INFO] [stdout] 1081 | fn split<'a>(buf: &'a [u8], r: &Ranges) -> [&'a [u8]; 3] {
[INFO] [stdout]      |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `willneed_on` is never used
[INFO] [stdout]     --> src/expert_store.rs:1087:4
[INFO] [stdout]      |
[INFO] [stdout] 1087 | fn willneed_on() -> bool {
[INFO] [stdout]      |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `will_need` is never used
[INFO] [stdout]     --> src/expert_store.rs:1094:4
[INFO] [stdout]      |
[INFO] [stdout] 1094 | fn will_need(bytes: &[u8], loc: &ExpertLoc) {
[INFO] [stdout]      |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `advise_random` is never used
[INFO] [stdout]     --> src/expert_store.rs:1116:15
[INFO] [stdout]      |
[INFO] [stdout] 1116 | pub(crate) fn advise_random(model: &CmfModel, pred: impl Fn(&str) -> bool) -> usize {
[INFO] [stdout]      |               ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `rope_tab` is never read
[INFO] [stdout]    --> src/fcd.rs:369:5
[INFO] [stdout]     |
[INFO] [stdout] 331 | pub struct FcdModel {
[INFO] [stdout]     |            -------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 369 |     rope_tab: std::sync::Mutex<Option<((usize, bool), std::sync::Arc<Vec<f32>>)>>,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `probe_note_cold` is never used
[INFO] [stdout]    --> src/gpu.rs:383:15
[INFO] [stdout]     |
[INFO] [stdout] 383 | pub(crate) fn probe_note_cold() {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `mimo_attention_scratch_enabled` is never used
[INFO] [stdout]     --> src/gpu.rs:1970:15
[INFO] [stdout]      |
[INFO] [stdout] 1970 | pub(crate) fn mimo_attention_scratch_enabled() -> bool {
[INFO] [stdout]      |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `fp_bytes` is never used
[INFO] [stdout]     --> src/gpu.rs:3990:15
[INFO] [stdout]      |
[INFO] [stdout] 3990 | pub(crate) fn fp_bytes(data: &[u8]) -> u64 {
[INFO] [stdout]      |               ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `fp_f32` is never used
[INFO] [stdout]     --> src/gpu.rs:4017:15
[INFO] [stdout]      |
[INFO] [stdout] 4017 | pub(crate) fn fp_f32(data: &[f32]) -> u64 {
[INFO] [stdout]      |               ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `has_lora`, `add_lora`, and `add_bias` are never used
[INFO] [stdout]    --> src/ltxdit.rs:195:19
[INFO] [stdout]     |
[INFO] [stdout] 161 | impl Lin {
[INFO] [stdout]     | -------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 195 |     pub(crate) fn has_lora(&self) -> bool {
[INFO] [stdout]     |                   ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 199 |     pub(crate) fn add_lora(&self, out: &mut [f32], x: &[f32], n: usize, pool: Option<&Pool>) {
[INFO] [stdout]     |                   ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 214 |     pub(crate) fn add_bias(&self, out: &mut [f32], n: usize, pool: Option<&Pool>) {
[INFO] [stdout]     |                   ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `id` is never read
[INFO] [stdout]   --> src/ltxlora.rs:40:5
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub struct LoraBranch {
[INFO] [stdout]    |            ---------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 40 |     id: usize,
[INFO] [stdout]    |     ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `mapped_bytes` is never read
[INFO] [stdout]    --> src/ltxte.rs:124:5
[INFO] [stdout]     |
[INFO] [stdout] 122 | pub struct LtxTextEncoder {
[INFO] [stdout]     |            -------------- field in this struct
[INFO] [stdout] 123 |     embed: QTensor,
[INFO] [stdout] 124 |     mapped_bytes: u64,
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `spec_q`, `spec_p`, `spec_res`, `spec_qs`, `spec_ps`, and `spec_ress` are never read
[INFO] [stdout]    --> src/pipeline.rs:253:5
[INFO] [stdout]     |
[INFO] [stdout]  54 | pub struct Pipeline {
[INFO] [stdout]     |            -------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 253 |     spec_q: Vec<Vec<f32>>,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 254 |     spec_p: Vec<f32>,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 255 |     spec_res: Vec<f32>,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] 256 |     /// The same three for the sparse chain (top-k configs).
[INFO] [stdout] 257 |     spec_qs: Vec<sampler::Sparse>,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] 258 |     spec_ps: sampler::Sparse,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] 259 |     spec_ress: sampler::Sparse,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `t0`, `gen0`, and `rounds` are never read
[INFO] [stdout]    --> src/pipeline.rs:956:9
[INFO] [stdout]     |
[INFO] [stdout] 955 |     Spec {
[INFO] [stdout]     |     ---- fields in this variant
[INFO] [stdout] 956 |         t0: std::time::Instant,
[INFO] [stdout]     |         ^^
[INFO] [stdout] 957 |         gen0: usize,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout] 958 |         rounds: usize,
[INFO] [stdout]     |         ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `SpecTrial` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Plain` is never constructed
[INFO] [stdout]    --> src/pipeline.rs:960:5
[INFO] [stdout]     |
[INFO] [stdout] 954 | enum SpecTrial {
[INFO] [stdout]     |      --------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 960 |     Plain {
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `SpecTrial` 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 `spec_time_level` is never used
[INFO] [stdout]    --> src/pipeline.rs:973:15
[INFO] [stdout]     |
[INFO] [stdout] 973 | pub(crate) fn spec_time_level() -> u8 {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SpecStampLog` is never constructed
[INFO] [stdout]    --> src/pipeline.rs:986:8
[INFO] [stdout]     |
[INFO] [stdout] 986 | struct SpecStampLog {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `SPEC_STAMPS` is never used
[INFO] [stdout]    --> src/pipeline.rs:991:8
[INFO] [stdout]     |
[INFO] [stdout] 991 | static SPEC_STAMPS: std::sync::Mutex<Option<SpecStampLog>> = std::sync::Mutex::new(None);
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `spec_stamp` is never used
[INFO] [stdout]    --> src/pipeline.rs:993:15
[INFO] [stdout]     |
[INFO] [stdout] 993 | pub(crate) fn spec_stamp(name: &'static str) {
[INFO] [stdout]     |               ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `spec_stamps_begin` is never used
[INFO] [stdout]     --> src/pipeline.rs:1007:4
[INFO] [stdout]      |
[INFO] [stdout] 1007 | fn spec_stamps_begin() {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `spec_stamps_take` is never used
[INFO] [stdout]     --> src/pipeline.rs:1019:4
[INFO] [stdout]      |
[INFO] [stdout] 1019 | fn spec_stamps_take() -> Vec<(&'static str, f32)> {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `spec_stamps_format` is never used
[INFO] [stdout]     --> src/pipeline.rs:1030:4
[INFO] [stdout]      |
[INFO] [stdout] 1030 | fn spec_stamps_format(items: &[(&'static str, f32)]) -> String {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `round` is never used
[INFO] [stdout]     --> src/pipeline.rs:1091:8
[INFO] [stdout]      |
[INFO] [stdout] 1090 | impl SpecMon {
[INFO] [stdout]      | ------------ method in this implementation
[INFO] [stdout] 1091 |     fn round(&mut self, dt_ms: f64, produced: usize) {
[INFO] [stdout]      |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `spec_trial_round`, `MTP_LAYER_BASE`, `graph_gdn_layer_count`, `mtp_block_input`, `draft_head_rows`, and `mtp_chain_on` are never used
[INFO] [stdout]      --> src/pipeline.rs:6456:8
[INFO] [stdout]       |
[INFO] [stdout]  1546 | impl Pipeline {
[INFO] [stdout]       | ------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  6456 |     fn spec_trial_round(trial: SpecTrial, mon: &mut SpecMon, generated: usize) -> SpecTrial {
[INFO] [stdout]       |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  6550 |     const MTP_LAYER_BASE: usize = 0;
[INFO] [stdout]       |           ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  6588 |     fn graph_gdn_layer_count(&self) -> usize {
[INFO] [stdout]       |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  6601 |     fn mtp_block_input(&mut self, m: &MtpModule, hidden: &[f32], next_token: u32) -> Vec<f32> {
[INFO] [stdout]       |        ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 13241 |     fn draft_head_rows(&self, head_rows: usize) -> usize {
[INFO] [stdout]       |        ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 13475 |     fn mtp_chain_on() -> bool {
[INFO] [stdout]       |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `accum_outer` is never used
[INFO] [stdout]      --> src/pipeline.rs:17989:4
[INFO] [stdout]       |
[INFO] [stdout] 17989 | fn accum_outer(
[INFO] [stdout]       |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `dequant_dense_f32` is never used
[INFO] [stdout]      --> src/pipeline.rs:18960:4
[INFO] [stdout]       |
[INFO] [stdout] 18960 | fn dequant_dense_f32(d: &DenseFfn) -> (Vec<f32>, Vec<f32>, Vec<f32>) {
[INFO] [stdout]       |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `logits` is never read
[INFO] [stdout]      --> src/pipeline.rs:19171:9
[INFO] [stdout]       |
[INFO] [stdout] 19167 | pub(crate) struct MoeRoute {
[INFO] [stdout]       |                   -------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 19171 |     pub logits: Vec<f32>,
[INFO] [stdout]       |         ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `moe_cold_experts_cpu` is never used
[INFO] [stdout]      --> src/pipeline.rs:19466:15
[INFO] [stdout]       |
[INFO] [stdout] 19466 | pub(crate) fn moe_cold_experts_cpu(
[INFO] [stdout]       |               ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `moe_cold_experts_rows_cpu` is never used
[INFO] [stdout]      --> src/pipeline.rs:19502:15
[INFO] [stdout]       |
[INFO] [stdout] 19502 | pub(crate) fn moe_cold_experts_rows_cpu(
[INFO] [stdout]       |               ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `f32_parts`, `q1_parts`, `q8_row_parts`, and `q8_2f_parts` are never used
[INFO] [stdout]    --> src/qtensor.rs:371:19
[INFO] [stdout]     |
[INFO] [stdout] 180 | impl QTensor {
[INFO] [stdout]     | ------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 371 |     pub(crate) fn f32_parts(&self) -> Option<(&[f32], usize, usize)> {
[INFO] [stdout]     |                   ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 384 |     pub(crate) fn q1_parts(&self) -> Option<(usize, usize, usize)> {
[INFO] [stdout]     |                   ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 479 |     pub(crate) fn q8_row_parts(&self) -> Option<(usize, usize, usize, &[f32])> {
[INFO] [stdout]     |                   ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 499 |     pub(crate) fn q8_2f_parts(&self) -> Option<(usize, usize, usize, &[f32], &[f32])> {
[INFO] [stdout]     |                   ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SIGN5_I8` is never used
[INFO] [stdout]     --> src/qtensor.rs:7670:7
[INFO] [stdout]      |
[INFO] [stdout] 7670 | const SIGN5_I8: [[i8; 5]; 256] = {
[INFO] [stdout]      |       ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `expert_ids`, `shared_ids`, and `idx` are never read
[INFO] [stdout]   --> src/qwen4_exp.rs:90:5
[INFO] [stdout]    |
[INFO] [stdout] 81 | pub struct Layer {
[INFO] [stdout]    |            ----- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 90 |     expert_ids: Vec<(usize, usize, usize)>,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 94 |     shared_ids: Option<(usize, usize, usize)>,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 95 |     idx: Option<LayerIdx>,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `lm_head_idx`, `embed_idx`, and `skeleton_idxs` are never read
[INFO] [stdout]    --> src/qwen4_exp.rs:102:5
[INFO] [stdout]     |
[INFO] [stdout]  98 | pub struct Globals {
[INFO] [stdout]     |            ------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 102 |     lm_head_idx: Option<usize>,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] 103 |     /// The embedding table, re-read on the card by the MTP draft chain.
[INFO] [stdout] 104 |     embed_idx: Option<usize>,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 107 |     skeleton_idxs: Vec<usize>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `gpu_pool`, `picks_prev`, `device_off`, `verify_window`, `window_logits`, and `mtp_tried` are never read
[INFO] [stdout]    --> src/qwen4_exp.rs:152:5
[INFO] [stdout]     |
[INFO] [stdout] 148 | pub struct State {
[INFO] [stdout]     |            ----- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 152 |     gpu_pool: Option<QwenGpuPool>,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 161 |     picks_prev: Vec<Vec<usize>>,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] 162 |     /// The device path refused once (setup or mid-token); stay on the host.
[INFO] [stdout] 163 |     device_off: bool,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 173 |     verify_window: bool,
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout] 174 |     window_logits: Vec<Vec<f32>>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 177 |     mtp_tried: bool,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `FILL_NS` is never used
[INFO] [stdout]    --> src/qwen4_exp.rs:183:19
[INFO] [stdout]     |
[INFO] [stdout] 183 | pub(crate) static FILL_NS: std::sync::atomic::AtomicU64 = std::sync::atomic::AtomicU64::new(0);
[INFO] [stdout]     |                   ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `FILL_N` is never used
[INFO] [stdout]    --> src/qwen4_exp.rs:184:19
[INFO] [stdout]     |
[INFO] [stdout] 184 | pub(crate) static FILL_N: std::sync::atomic::AtomicU64 = std::sync::atomic::AtomicU64::new(0);
[INFO] [stdout]     |                   ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `FILLS_WALL_NS` is never used
[INFO] [stdout]    --> src/qwen4_exp.rs:186:19
[INFO] [stdout]     |
[INFO] [stdout] 186 | pub(crate) static FILLS_WALL_NS: std::sync::atomic::AtomicU64 =
[INFO] [stdout]     |                   ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `fill_trace` is never used
[INFO] [stdout]    --> src/qwen4_exp.rs:202:4
[INFO] [stdout]     |
[INFO] [stdout] 202 | fn fill_trace() -> bool {
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]    --> src/qwen4_exp.rs:210:16
[INFO] [stdout]     |
[INFO] [stdout] 207 | pub(crate) struct QwenGpuPool {
[INFO] [stdout]     |                   ----------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 210 |     pub(crate) hold_layers: [Option<usize>; 2],
[INFO] [stdout]     |                ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 214 |     staging_base: usize,
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout] 215 |     staging: usize,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 226 |     admit_pool: Option<Arc<Pool>>,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 229 |     pub(crate) store: Option<Arc<crate::expert_store::ExpertStore>>,
[INFO] [stdout]     |                ^^^^^
[INFO] [stdout] 230 |     pub(crate) segment_slots: usize,
[INFO] [stdout]     |                ^^^^^^^^^^^^^
[INFO] [stdout] 231 |     floor: usize,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 232 |     n_experts: usize,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] 233 |     fetch_quota: usize,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] 234 |     fetch_min_seen: u16,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^
[INFO] [stdout] 235 |     fetch_max_env: &'static str,
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout] 236 |     fetch_min_env: &'static str,
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout] 237 |     owner: Vec<Option<(usize, usize)>>,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 241 |     slot_for: Vec<u32>,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] 242 |     shared_slot: Vec<u32>,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] 243 |     seen: Vec<u16>,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 244 |     seen_epoch: Vec<u32>,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 247 |     free: Vec<usize>,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 248 |     occupancy: Vec<usize>,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] 249 |     last: Vec<u64>,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 250 |     clock: u64,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `bounded_pool_pct` is never used
[INFO] [stdout]    --> src/qwen4_exp.rs:393:4
[INFO] [stdout]     |
[INFO] [stdout] 393 | fn bounded_pool_pct(raw: Option<&str>, default: usize, min: usize, max: usize) -> usize {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `bounded_pool_slots` is never used
[INFO] [stdout]    --> src/qwen4_exp.rs:399:4
[INFO] [stdout]     |
[INFO] [stdout] 399 | fn bounded_pool_slots(raw: Option<&str>, safe: usize, cap_override: bool) -> usize {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `active_layer_floor` is never used
[INFO] [stdout]    --> src/qwen4_exp.rs:414:4
[INFO] [stdout]     |
[INFO] [stdout] 414 | fn active_layer_floor(capacity: usize, active_layers: usize) -> usize {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `ple_frame_rows` is never used
[INFO] [stdout]     --> src/qwen4_exp.rs:2399:4
[INFO] [stdout]      |
[INFO] [stdout] 2399 | fn ple_frame_rows(
[INFO] [stdout]      |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `mapped_device_gemm` is never used
[INFO] [stdout]    --> src/qwen_image_ops.rs:132:19
[INFO] [stdout]     |
[INFO] [stdout]  50 | impl Linear {
[INFO] [stdout]     | ----------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 132 |     pub(crate) fn mapped_device_gemm(&self) -> Option<(&Arc<CmfModel>, usize)> {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `num_cpus` is never used
[INFO] [stdout]    --> src/runtime.rs:308:4
[INFO] [stdout]     |
[INFO] [stdout] 308 | fn num_cpus() -> usize {
[INFO] [stdout]     |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `apply_top_k` is never used
[INFO] [stdout]     --> src/sampler.rs:1202:4
[INFO] [stdout]      |
[INFO] [stdout] 1202 | fn apply_top_k(probs: &mut [f32], k: usize, sel: &mut Vec<f32>) {
[INFO] [stdout]      |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `chunk` is never used
[INFO] [stdout]    --> src/skillbake.rs:824:8
[INFO] [stdout]     |
[INFO] [stdout] 697 | impl Pass<'_> {
[INFO] [stdout]     | ------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 824 |     fn chunk(
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `chatml_fallback` is never used
[INFO] [stdout]     --> src/tokenizer.rs:1239:8
[INFO] [stdout]      |
[INFO] [stdout]  310 | impl Tokenizer {
[INFO] [stdout]      | -------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 1239 |     fn chatml_fallback(&self, messages: &[(String, String)]) -> Vec<u32> {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sh`
[INFO] [stdout]    --> src/ltxenc.rs:190:18
[INFO] [stdout]     |
[INFO] [stdout] 190 |         let (sf, sh, sw) = self.stride;
[INFO] [stdout]     |                  ^^ help: if this is intentional, prefix it with an underscore: `_sh`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sw`
[INFO] [stdout]    --> src/ltxenc.rs:190:22
[INFO] [stdout]     |
[INFO] [stdout] 190 |         let (sf, sh, sw) = self.stride;
[INFO] [stdout]     |                      ^^ help: if this is intentional, prefix it with an underscore: `_sw`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0133`.
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/mmh3.rs:873:25
[INFO] [stdout]     |
[INFO] [stdout] 873 |                     let mut take = |suffix: &str, p: &Proj| -> Result<Option<LoraBranch>, String> {
[INFO] [stdout]     |                         ----^^^^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `gpu_serial` is never used
[INFO] [stdout]   --> tests/gpu_q4tp.rs:29:4
[INFO] [stdout]    |
[INFO] [stdout] 29 | fn gpu_serial() -> std::sync::MutexGuard<'static, ()> {
[INFO] [stdout]    |    ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `synth` is never used
[INFO] [stdout]   --> tests/gpu_q4tp.rs:36:4
[INFO] [stdout]    |
[INFO] [stdout] 36 | fn synth(rows: usize, cols: usize) -> Vec<u8> {
[INFO] [stdout]    |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `tiny_model` is never used
[INFO] [stdout]   --> tests/gpu_q4tp.rs:63:4
[INFO] [stdout]    |
[INFO] [stdout] 63 | fn tiny_model(
[INFO] [stdout]    |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `check` is never used
[INFO] [stdout]    --> tests/gpu_q4tp.rs:127:4
[INFO] [stdout]     |
[INFO] [stdout] 127 | fn check(
[INFO] [stdout]     |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `check_mm` is never used
[INFO] [stdout]    --> tests/gpu_q4tp.rs:457:4
[INFO] [stdout]     |
[INFO] [stdout] 457 | fn check_mm(
[INFO] [stdout]     |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `check_mm_b` is never used
[INFO] [stdout]    --> tests/gpu_q4tp.rs:468:4
[INFO] [stdout]     |
[INFO] [stdout] 468 | fn check_mm_b(
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> tests/zimage_parity.rs:22:9
[INFO] [stdout]    |
[INFO] [stdout] 22 |     I64(Vec<usize>, Vec<i64>),
[INFO] [stdout]    |     --- ^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[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] 22 -     I64(Vec<usize>, Vec<i64>),
[INFO] [stdout] 22 +     I64((), Vec<i64>),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `0` and `1` are never read
[INFO] [stdout]   --> tests/zimage_parity.rs:23:8
[INFO] [stdout]    |
[INFO] [stdout] 23 |     U8(Vec<usize>, Vec<u8>),
[INFO] [stdout]    |     -- ^^^^^^^^^^  ^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     fields in this variant
[INFO] [stdout]    |
[INFO] [stdout] help: consider changing the fields to be of unit type to suppress this warning while preserving the field numbering, or remove the fields
[INFO] [stdout]    |
[INFO] [stdout] 23 -     U8(Vec<usize>, Vec<u8>),
[INFO] [stdout] 23 +     U8((), ()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `attention_values` is never used
[INFO] [stdout]    --> examples/qwen_image_denoiser_speed_fixture.rs:477:4
[INFO] [stdout]     |
[INFO] [stdout] 477 | fn attention_values(len: usize, seed: usize) -> Vec<f32> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/pipeline.rs:4669:13
[INFO] [stdout]      |
[INFO] [stdout] 4669 |         let mut dsv4_spec_bad = 0usize;
[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/pipeline.rs:4670:13
[INFO] [stdout]      |
[INFO] [stdout] 4670 |         let mut dsv4_spec_retry_at = 0usize;
[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/pipeline.rs:5501:13
[INFO] [stdout]      |
[INFO] [stdout] 5501 |         let mut spec_walls: Vec<f32> = Vec::new();
[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/pipeline.rs:5504:13
[INFO] [stdout]      |
[INFO] [stdout] 5504 |         let mut spec_round_end: Option<std::time::Instant> = None;
[INFO] [stdout]      |             ----^^^^^^^^^^^^^^
[INFO] [stdout]      |             |
[INFO] [stdout]      |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dsv4_spec_bad`
[INFO] [stdout]     --> src/pipeline.rs:4669:13
[INFO] [stdout]      |
[INFO] [stdout] 4669 |         let mut dsv4_spec_bad = 0usize;
[INFO] [stdout]      |             ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_dsv4_spec_bad`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dsv4_spec_retry_at`
[INFO] [stdout]     --> src/pipeline.rs:4670:13
[INFO] [stdout]      |
[INFO] [stdout] 4670 |         let mut dsv4_spec_retry_at = 0usize;
[INFO] [stdout]      |             ^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_dsv4_spec_retry_at`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `spec_watchdog_off` is assigned to, but never used
[INFO] [stdout]     --> src/pipeline.rs:5498:13
[INFO] [stdout]      |
[INFO] [stdout] 5498 |         let mut spec_watchdog_off = false;
[INFO] [stdout]      |             ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: consider using `_spec_watchdog_off` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `spec_walls`
[INFO] [stdout]     --> src/pipeline.rs:5501:13
[INFO] [stdout]      |
[INFO] [stdout] 5501 |         let mut spec_walls: Vec<f32> = Vec::new();
[INFO] [stdout]      |             ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_spec_walls`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `spec_round_end`
[INFO] [stdout]     --> src/pipeline.rs:5504:13
[INFO] [stdout]      |
[INFO] [stdout] 5504 |         let mut spec_round_end: Option<std::time::Instant> = None;
[INFO] [stdout]      |             ^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_spec_round_end`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `spec_watchdog_off` is never read
[INFO] [stdout]     --> src/pipeline.rs:5696:17
[INFO] [stdout]      |
[INFO] [stdout] 5696 | /                 spec_watchdog_off = matches!(
[INFO] [stdout] 5697 | |                     spec_trial,
[INFO] [stdout] 5698 | |                     SpecTrial::Plain { .. } | SpecTrial::Decided { spec: false, .. }
[INFO] [stdout] 5699 | |                 );
[INFO] [stdout]      | |_________________^
[INFO] [stdout]      |
[INFO] [stdout]      = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]     --> src/qtensor.rs:5152:5
[INFO] [stdout]      |
[INFO] [stdout] 5152 |     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/qtensor.rs:9823:5
[INFO] [stdout]      |
[INFO] [stdout] 9823 |     unsafe {
[INFO] [stdout]      |     ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `hidden`
[INFO] [stdout]     --> src/qwen_image.rs:1188:5
[INFO] [stdout]      |
[INFO] [stdout] 1188 |     hidden: usize,
[INFO] [stdout]      |     ^^^^^^ help: if this is intentional, prefix it with an underscore: `_hidden`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/qwen_image.rs:1428:9
[INFO] [stdout]      |
[INFO] [stdout] 1428 |     let mut append = |ids: [i64; 3], cos: &mut Vec<f32>, sin: &mut Vec<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/qwen_image_encoder.rs:299:9
[INFO] [stdout]     |
[INFO] [stdout] 299 |     let mut out = if let Some(values) = values {
[INFO] [stdout]     |         ----^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `in_channels`
[INFO] [stdout]    --> src/qwen_image_vision.rs:460:13
[INFO] [stdout]     |
[INFO] [stdout] 460 |         let in_channels = cfg_usize_default(cfg, "in_channels", 3);
[INFO] [stdout]     |             ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_in_channels`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/skillbake.rs:1175:17
[INFO] [stdout]      |
[INFO] [stdout] 1175 |             let mut device_done = false;
[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/skillbake.rs:1437:13
[INFO] [stdout]      |
[INFO] [stdout] 1437 |         let mut done = false;
[INFO] [stdout]      |             ----^^^^
[INFO] [stdout]      |             |
[INFO] [stdout]      |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/zimage.rs:522:29
[INFO] [stdout]     |
[INFO] [stdout] 522 | ...                   xp.add(i * k + kb),
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/zimage.rs:497:5
[INFO] [stdout]     |
[INFO] [stdout] 497 | /     unsafe fn tile(
[INFO] [stdout] 498 | |         x: &[f32],
[INFO] [stdout] 499 | |         w: &[f32],
[INFO] [stdout] 500 | |         y: *mut f32,
[INFO] [stdout] ...   |
[INFO] [stdout] 506 | |         j1: usize,
[INFO] [stdout] 507 | |     ) {
[INFO] [stdout]     | |_____^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: `#[warn(unsafe_op_in_unsafe_fn)]` (part of `#[warn(rust_2024_compatibility)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/zimage.rs:523:29
[INFO] [stdout]     |
[INFO] [stdout] 523 | ...                   xp.add((i + 1) * k + kb),
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/zimage.rs:524:29
[INFO] [stdout]     |
[INFO] [stdout] 524 | ...                   xp.add((i + 2) * k + kb),
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/zimage.rs:527:29
[INFO] [stdout]     |
[INFO] [stdout] 527 | ...                   wp.add(j * k + kb),
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/zimage.rs:528:29
[INFO] [stdout]     |
[INFO] [stdout] 528 | ...                   wp.add((j + 1) * k + kb),
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/zimage.rs:529:29
[INFO] [stdout]     |
[INFO] [stdout] 529 | ...                   wp.add((j + 2) * k + kb),
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/zimage.rs:534:38
[INFO] [stdout]     |
[INFO] [stdout] 534 | ...                   let b0 = _mm256_loadu_ps(w0.add(kk));
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/zimage.rs:534:54
[INFO] [stdout]     |
[INFO] [stdout] 534 | ...                   let b0 = _mm256_loadu_ps(w0.add(kk));
[INFO] [stdout]     |                                                ^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/zimage.rs:535:38
[INFO] [stdout]     |
[INFO] [stdout] 535 | ...                   let b1 = _mm256_loadu_ps(w1.add(kk));
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/zimage.rs:535:54
[INFO] [stdout]     |
[INFO] [stdout] 535 | ...                   let b1 = _mm256_loadu_ps(w1.add(kk));
[INFO] [stdout]     |                                                ^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/zimage.rs:536:38
[INFO] [stdout]     |
[INFO] [stdout] 536 | ...                   let b2 = _mm256_loadu_ps(w2.add(kk));
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/zimage.rs:536:54
[INFO] [stdout]     |
[INFO] [stdout] 536 | ...                   let b2 = _mm256_loadu_ps(w2.add(kk));
[INFO] [stdout]     |                                                ^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/zimage.rs:537:38
[INFO] [stdout]     |
[INFO] [stdout] 537 | ...                   let r0 = _mm256_loadu_ps(x0.add(kk));
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/zimage.rs:537:54
[INFO] [stdout]     |
[INFO] [stdout] 537 | ...                   let r0 = _mm256_loadu_ps(x0.add(kk));
[INFO] [stdout]     |                                                ^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/zimage.rs:541:38
[INFO] [stdout]     |
[INFO] [stdout] 541 | ...                   let r1 = _mm256_loadu_ps(x1.add(kk));
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/zimage.rs:541:54
[INFO] [stdout]     |
[INFO] [stdout] 541 | ...                   let r1 = _mm256_loadu_ps(x1.add(kk));
[INFO] [stdout]     |                                                ^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/zimage.rs:545:38
[INFO] [stdout]     |
[INFO] [stdout] 545 | ...                   let r2 = _mm256_loadu_ps(x2.add(kk));
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/zimage.rs:545:54
[INFO] [stdout]     |
[INFO] [stdout] 545 | ...                   let r2 = _mm256_loadu_ps(x2.add(kk));
[INFO] [stdout]     |                                                ^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block
[INFO] [stdout]    --> src/zimage.rs:553:33
[INFO] [stdout]     |
[INFO] [stdout] 553 | ...                   *y.add((i + r) * ldy + j + c) += hsum(a[r * 3 + c]);
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ dereference of raw pointer
[INFO] [stdout]     |
[INFO] [stdout]     = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::mut_ptr::<impl *mut T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/zimage.rs:553:34
[INFO] [stdout]     |
[INFO] [stdout] 553 | ...                   *y.add((i + r) * ldy + j + c) += hsum(a[r * 3 + c]);
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `zimage::host_gemm::hsum` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/zimage.rs:553:66
[INFO] [stdout]     |
[INFO] [stdout] 553 | ...                   *y.add((i + r) * ldy + j + c) += hsum(a[r * 3 + c]);
[INFO] [stdout]     |                                                        ^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/zimage.rs:559:49
[INFO] [stdout]     |
[INFO] [stdout] 559 | ...                   let (xr, wr) = (xp.add((i + r) * k + kb), wp.add((j + c) * k + kb));
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/zimage.rs:559:75
[INFO] [stdout]     |
[INFO] [stdout] 559 | ...                   let (xr, wr) = (xp.add((i + r) * k + kb), wp.add((j + c) * k + kb));
[INFO] [stdout]     |                                                                 ^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/zimage.rs:564:41
[INFO] [stdout]     |
[INFO] [stdout] 564 | ...                   _mm256_loadu_ps(xr.add(kk)),
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/zimage.rs:564:57
[INFO] [stdout]     |
[INFO] [stdout] 564 | ...                   _mm256_loadu_ps(xr.add(kk)),
[INFO] [stdout]     |                                       ^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/zimage.rs:565:41
[INFO] [stdout]     |
[INFO] [stdout] 565 | ...                   _mm256_loadu_ps(wr.add(kk)),
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/zimage.rs:565:57
[INFO] [stdout]     |
[INFO] [stdout] 565 | ...                   _mm256_loadu_ps(wr.add(kk)),
[INFO] [stdout]     |                                       ^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block
[INFO] [stdout]    --> src/zimage.rs:570:33
[INFO] [stdout]     |
[INFO] [stdout] 570 | ...                   *y.add((i + r) * ldy + j + c) += hsum(acc);
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ dereference of raw pointer
[INFO] [stdout]     |
[INFO] [stdout]     = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::mut_ptr::<impl *mut T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/zimage.rs:570:34
[INFO] [stdout]     |
[INFO] [stdout] 570 | ...                   *y.add((i + r) * ldy + j + c) += hsum(acc);
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `zimage::host_gemm::hsum` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/zimage.rs:570:66
[INFO] [stdout]     |
[INFO] [stdout] 570 | ...                   *y.add((i + r) * ldy + j + c) += hsum(acc);
[INFO] [stdout]     |                                                        ^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `finish_projection_debug` is never used
[INFO] [stdout]    --> src/attention.rs:945:15
[INFO] [stdout]     |
[INFO] [stdout] 945 | pub(crate) fn finish_projection_debug(
[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 `q4tp_mapped` and `matvec_rows` are never used
[INFO] [stdout]    --> src/dit.rs:61:19
[INFO] [stdout]     |
[INFO] [stdout]  37 | impl Proj {
[INFO] [stdout]     | --------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  61 |     pub(crate) fn q4tp_mapped(&self) -> Option<(&Arc<CmfModel>, usize)> {
[INFO] [stdout]     |                   ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 111 |     pub(crate) fn matvec_rows(&self, xs: &[f32], b: usize, out: &mut [f32], pool: Option<&Pool>) {
[INFO] [stdout]     |                   ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `gpu_block` is never used
[INFO] [stdout]    --> src/dit.rs:727:8
[INFO] [stdout]     |
[INFO] [stdout] 391 | impl NextDit {
[INFO] [stdout]     | ------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 727 |     fn gpu_block(
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `host_cpu_moe` is never used
[INFO] [stdout]     --> src/dsv4.rs:3108:4
[INFO] [stdout]      |
[INFO] [stdout] 3108 | fn host_cpu_moe() -> bool {
[INFO] [stdout]      |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `chain_enabled` is never used
[INFO] [stdout]     --> src/dsv4.rs:3113:4
[INFO] [stdout]      |
[INFO] [stdout] 3113 | fn chain_enabled() -> bool {
[INFO] [stdout]      |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `cold_step_block` is never used
[INFO] [stdout]     --> src/dsv4.rs:5544:4
[INFO] [stdout]      |
[INFO] [stdout] 5544 | fn cold_step_block(
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `dspark_wants` is never used
[INFO] [stdout]     --> src/dsv4.rs:9181:4
[INFO] [stdout]      |
[INFO] [stdout] 9181 | fn dspark_wants(li: usize) -> bool {
[INFO] [stdout]      |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `gpu_expert_ids` and `gpu_shared_ids` are never read
[INFO] [stdout]    --> src/dsv41.rs:863:5
[INFO] [stdout]     |
[INFO] [stdout] 835 | pub struct Dsv41Layer {
[INFO] [stdout]     |            ---------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 863 |     gpu_expert_ids: Vec<(usize, usize, usize)>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^
[INFO] [stdout] 864 |     gpu_shared_ids: Option<(usize, usize, usize)>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `note_gpu_moe` is never used
[INFO] [stdout]   --> src/dsv41.rs:83:12
[INFO] [stdout]    |
[INFO] [stdout] 83 |     pub fn note_gpu_moe() {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `note_cold` is never used
[INFO] [stdout]   --> src/dsv41.rs:97:12
[INFO] [stdout]    |
[INFO] [stdout] 97 |     pub fn note_cold(count: usize) {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `note_gpu_attn` is never used
[INFO] [stdout]    --> src/dsv41.rs:103:12
[INFO] [stdout]     |
[INFO] [stdout] 103 |     pub fn note_gpu_attn() {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `note_gpu_attn_fallback` is never used
[INFO] [stdout]    --> src/dsv41.rs:109:12
[INFO] [stdout]     |
[INFO] [stdout] 109 |     pub fn note_gpu_attn_fallback() {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AlignedBuf` is never constructed
[INFO] [stdout]    --> src/expert_store.rs:100:8
[INFO] [stdout]     |
[INFO] [stdout] 100 | struct AlignedBuf {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `empty`, `ensure`, and `free` are never used
[INFO] [stdout]    --> src/expert_store.rs:106:14
[INFO] [stdout]     |
[INFO] [stdout] 105 | impl AlignedBuf {
[INFO] [stdout]     | --------------- associated items in this implementation
[INFO] [stdout] 106 |     const fn empty() -> Self {
[INFO] [stdout]     |              ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 112 |     fn ensure(&mut self, n: usize) -> &mut [u8] {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 125 |     fn free(&mut self) {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Mmap`, `Pread`, and `Direct` are never constructed
[INFO] [stdout]    --> src/expert_store.rs:149:5
[INFO] [stdout]     |
[INFO] [stdout] 147 | pub(crate) enum IoMode {
[INFO] [stdout]     |                 ------ variants in this enum
[INFO] [stdout] 148 |     /// copy out of the memory map (page faults on a miss)
[INFO] [stdout] 149 |     Mmap,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 150 |     /// one positioned read per expert through the page cache
[INFO] [stdout] 151 |     Pread,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 152 |     /// page cache when it has the bytes, else O_DIRECT (Linux)
[INFO] [stdout] 153 |     Direct,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `IoMode` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `pread_full` is never used
[INFO] [stdout]    --> src/expert_store.rs:157:4
[INFO] [stdout]     |
[INFO] [stdout] 157 | fn pread_full(f: &std::fs::File, buf: &mut [u8], off: u64) -> std::io::Result<usize> {
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `pread_cached` is never used
[INFO] [stdout]    --> src/expert_store.rs:177:4
[INFO] [stdout]     |
[INFO] [stdout] 177 | fn pread_cached(f: &std::fs::File, buf: &mut [u8], off: u64) -> Result<usize, ()> {
[INFO] [stdout]     |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `model`, `mode`, `file`, `direct`, `direct_broken`, and `nowait_ok` are never read
[INFO] [stdout]    --> src/expert_store.rs:213:5
[INFO] [stdout]     |
[INFO] [stdout] 212 | pub(crate) struct FileReader {
[INFO] [stdout]     |                   ---------- fields in this struct
[INFO] [stdout] 213 |     model: Arc<CmfModel>,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 214 |     mode: IoMode,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 215 |     file: Option<std::fs::File>,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 216 |     #[cfg(target_os = "linux")]
[INFO] [stdout] 217 |     direct: Option<std::fs::File>,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 218 |     /// O_DIRECT failed once (filesystem without support): buffered from then on
[INFO] [stdout] 219 |     direct_broken: AtomicBool,
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 222 |     nowait_ok: AtomicBool,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `open`, `mode`, `read`, `read_span`, `resident`, and `read_mmap` are never used
[INFO] [stdout]    --> src/expert_store.rs:226:19
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl FileReader {
[INFO] [stdout]     | --------------- associated items in this implementation
[INFO] [stdout] 226 |     pub(crate) fn open(model: &Arc<CmfModel>) -> Self {
[INFO] [stdout]     |                   ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 258 |     pub(crate) fn mode(&self) -> IoMode {
[INFO] [stdout]     |                   ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 265 |     fn read(&self, loc: &ExpertLoc, buf: &mut [u8]) -> Option<(Ranges, bool)> {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 307 |     fn read_span(&self, s: u64, e: u64, s_al: u64, buf: &mut [u8]) -> Option<bool> {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 359 |     fn resident(&self, s: u64, len: usize) -> bool {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 375 |     fn read_mmap(&self, loc: &ExpertLoc, buf: &mut [u8]) -> Option<Ranges> {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `slot_ptr`, `unpin`, and `usage` are never used
[INFO] [stdout]    --> src/expert_store.rs:447:8
[INFO] [stdout]     |
[INFO] [stdout] 421 | impl RamTier {
[INFO] [stdout]     | ------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 447 |     fn slot_ptr(&self, slot: usize) -> Option<*mut u8> {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 478 |     fn unpin(&self, slot: usize) {
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 564 |     fn usage(&self) -> (usize, usize, usize) {
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `ram_hits`, `file_reads`, `cache_hits`, `file_bytes`, `file_ns`, and `bg_loads` are never read
[INFO] [stdout]    --> src/expert_store.rs:596:9
[INFO] [stdout]     |
[INFO] [stdout] 595 | pub(crate) struct StoreStats {
[INFO] [stdout]     |                   ---------- fields in this struct
[INFO] [stdout] 596 |     pub ram_hits: AtomicU64,
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout] 597 |     pub file_reads: AtomicU64,
[INFO] [stdout]     |         ^^^^^^^^^^
[INFO] [stdout] 598 |     pub cache_hits: AtomicU64,
[INFO] [stdout]     |         ^^^^^^^^^^
[INFO] [stdout] 599 |     pub file_bytes: AtomicU64,
[INFO] [stdout]     |         ^^^^^^^^^^
[INFO] [stdout] 600 |     pub file_ns: AtomicU64,
[INFO] [stdout]     |         ^^^^^^^
[INFO] [stdout] 601 |     pub bg_loads: AtomicU64,
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `urgent` and `warm` are never read
[INFO] [stdout]    --> src/expert_store.rs:606:5
[INFO] [stdout]     |
[INFO] [stdout] 604 | struct Background {
[INFO] [stdout]     |        ---------- fields in this struct
[INFO] [stdout] 605 |     /// experts the arena just evicted: wanted back soon
[INFO] [stdout] 606 |     urgent: VecDeque<u32>,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 607 |     /// warm-up order (profile ranking, then the rest)
[INFO] [stdout] 608 |     warm: VecDeque<u32>,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]    --> src/expert_store.rs:613:5
[INFO] [stdout]     |
[INFO] [stdout] 612 | pub(crate) struct ExpertStore {
[INFO] [stdout]     |                   ----------- fields in this struct
[INFO] [stdout] 613 |     reader: FileReader,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 614 |     locs: Vec<Option<ExpertLoc>>,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 615 |     n_experts: usize,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] 616 |     slot_bytes: usize,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] 617 |     tier: Option<RamTier>,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 618 |     pub stats: StoreStats,
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 622 |     fg_reads: AtomicU64,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] 623 |     /// page-cache mode: release / prefetch file pages as the arena moves
[INFO] [stdout] 624 |     hints: bool,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 625 |     file: Option<std::fs::File>,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Foreground` is never constructed
[INFO] [stdout]    --> src/expert_store.rs:629:8
[INFO] [stdout]     |
[INFO] [stdout] 629 | struct Foreground<'a>(&'a AtomicU64);
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `enter` is never used
[INFO] [stdout]    --> src/expert_store.rs:632:8
[INFO] [stdout]     |
[INFO] [stdout] 631 | impl<'a> Foreground<'a> {
[INFO] [stdout]     | ----------------------- associated function in this implementation
[INFO] [stdout] 632 |     fn enter(c: &'a AtomicU64) -> Self {
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `host_available_bytes` is never used
[INFO] [stdout]    --> src/expert_store.rs:647:15
[INFO] [stdout]     |
[INFO] [stdout] 647 | pub(crate) fn host_available_bytes() -> Option<u64> {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]     --> src/expert_store.rs:705:19
[INFO] [stdout]      |
[INFO] [stdout]  701 | impl ExpertStore {
[INFO] [stdout]      | ---------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  705 |     pub(crate) fn new(
[INFO] [stdout]      |                   ^^^
[INFO] [stdout] ...
[INFO] [stdout]  778 |     pub(crate) fn io_mode(&self) -> IoMode {
[INFO] [stdout]      |                   ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  782 |     pub(crate) fn tier_capacity(&self) -> usize {
[INFO] [stdout]      |                   ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  786 |     fn key(&self, layer: usize, expert: usize) -> usize {
[INFO] [stdout]      |        ^^^
[INFO] [stdout] ...
[INFO] [stdout]  793 |     pub(crate) fn with_expert<R>(
[INFO] [stdout]      |                   ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  844 |     fn with_mapped<R>(&self, loc: &ExpertLoc, f: impl FnOnce([&[u8]; 3]) -> R) -> Option<R> {
[INFO] [stdout]      |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  867 |     pub(crate) fn prefetch(&self, layer: usize, experts: &[usize]) {
[INFO] [stdout]      |                   ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  879 |     fn read_file(&self, loc: &ExpertLoc, buf: &mut [u8]) -> Option<Ranges> {
[INFO] [stdout]      |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  896 |     pub(crate) fn note_vram(&self, layer: usize, expert: usize, resident: bool) {
[INFO] [stdout]      |                   ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  925 |     fn advise(&self, loc: &ExpertLoc, in_vram: bool) {
[INFO] [stdout]      |        ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  951 |     pub(crate) fn start_background(self: &Arc<Self>, order: Vec<(usize, usize)>) {
[INFO] [stdout]      |                   ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  975 |     fn loader(me: std::sync::Weak<Self>) {
[INFO] [stdout]      |        ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1050 |     pub(crate) fn report(&self) -> String {
[INFO] [stdout]      |                   ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `split` is never used
[INFO] [stdout]     --> src/expert_store.rs:1081:4
[INFO] [stdout]      |
[INFO] [stdout] 1081 | fn split<'a>(buf: &'a [u8], r: &Ranges) -> [&'a [u8]; 3] {
[INFO] [stdout]      |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `willneed_on` is never used
[INFO] [stdout]     --> src/expert_store.rs:1087:4
[INFO] [stdout]      |
[INFO] [stdout] 1087 | fn willneed_on() -> bool {
[INFO] [stdout]      |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `will_need` is never used
[INFO] [stdout]     --> src/expert_store.rs:1094:4
[INFO] [stdout]      |
[INFO] [stdout] 1094 | fn will_need(bytes: &[u8], loc: &ExpertLoc) {
[INFO] [stdout]      |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `advise_random` is never used
[INFO] [stdout]     --> src/expert_store.rs:1116:15
[INFO] [stdout]      |
[INFO] [stdout] 1116 | pub(crate) fn advise_random(model: &CmfModel, pred: impl Fn(&str) -> bool) -> usize {
[INFO] [stdout]      |               ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `rope_tab` is never read
[INFO] [stdout]    --> src/fcd.rs:369:5
[INFO] [stdout]     |
[INFO] [stdout] 331 | pub struct FcdModel {
[INFO] [stdout]     |            -------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 369 |     rope_tab: std::sync::Mutex<Option<((usize, bool), std::sync::Arc<Vec<f32>>)>>,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `mimo_attention_scratch_enabled` is never used
[INFO] [stdout]     --> src/gpu.rs:1970:15
[INFO] [stdout]      |
[INFO] [stdout] 1970 | pub(crate) fn mimo_attention_scratch_enabled() -> bool {
[INFO] [stdout]      |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `fp_f32` is never used
[INFO] [stdout]     --> src/gpu.rs:4017:15
[INFO] [stdout]      |
[INFO] [stdout] 4017 | pub(crate) fn fp_f32(data: &[f32]) -> u64 {
[INFO] [stdout]      |               ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `has_lora`, `add_lora`, and `add_bias` are never used
[INFO] [stdout]    --> src/ltxdit.rs:195:19
[INFO] [stdout]     |
[INFO] [stdout] 161 | impl Lin {
[INFO] [stdout]     | -------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 195 |     pub(crate) fn has_lora(&self) -> bool {
[INFO] [stdout]     |                   ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 199 |     pub(crate) fn add_lora(&self, out: &mut [f32], x: &[f32], n: usize, pool: Option<&Pool>) {
[INFO] [stdout]     |                   ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 214 |     pub(crate) fn add_bias(&self, out: &mut [f32], n: usize, pool: Option<&Pool>) {
[INFO] [stdout]     |                   ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `id` is never read
[INFO] [stdout]   --> src/ltxlora.rs:40:5
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub struct LoraBranch {
[INFO] [stdout]    |            ---------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 40 |     id: usize,
[INFO] [stdout]    |     ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `mapped_bytes` is never read
[INFO] [stdout]    --> src/ltxte.rs:124:5
[INFO] [stdout]     |
[INFO] [stdout] 122 | pub struct LtxTextEncoder {
[INFO] [stdout]     |            -------------- field in this struct
[INFO] [stdout] 123 |     embed: QTensor,
[INFO] [stdout] 124 |     mapped_bytes: u64,
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `spec_q`, `spec_p`, `spec_res`, `spec_qs`, `spec_ps`, and `spec_ress` are never read
[INFO] [stdout]    --> src/pipeline.rs:253:5
[INFO] [stdout]     |
[INFO] [stdout]  54 | pub struct Pipeline {
[INFO] [stdout]     |            -------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 253 |     spec_q: Vec<Vec<f32>>,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 254 |     spec_p: Vec<f32>,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 255 |     spec_res: Vec<f32>,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] 256 |     /// The same three for the sparse chain (top-k configs).
[INFO] [stdout] 257 |     spec_qs: Vec<sampler::Sparse>,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] 258 |     spec_ps: sampler::Sparse,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] 259 |     spec_ress: sampler::Sparse,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `t0`, `gen0`, and `rounds` are never read
[INFO] [stdout]    --> src/pipeline.rs:956:9
[INFO] [stdout]     |
[INFO] [stdout] 955 |     Spec {
[INFO] [stdout]     |     ---- fields in this variant
[INFO] [stdout] 956 |         t0: std::time::Instant,
[INFO] [stdout]     |         ^^
[INFO] [stdout] 957 |         gen0: usize,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout] 958 |         rounds: usize,
[INFO] [stdout]     |         ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `SpecTrial` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Plain` is never constructed
[INFO] [stdout]    --> src/pipeline.rs:960:5
[INFO] [stdout]     |
[INFO] [stdout] 954 | enum SpecTrial {
[INFO] [stdout]     |      --------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 960 |     Plain {
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `SpecTrial` 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 `spec_time_level` is never used
[INFO] [stdout]    --> src/pipeline.rs:973:15
[INFO] [stdout]     |
[INFO] [stdout] 973 | pub(crate) fn spec_time_level() -> u8 {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SpecStampLog` is never constructed
[INFO] [stdout]    --> src/pipeline.rs:986:8
[INFO] [stdout]     |
[INFO] [stdout] 986 | struct SpecStampLog {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `SPEC_STAMPS` is never used
[INFO] [stdout]    --> src/pipeline.rs:991:8
[INFO] [stdout]     |
[INFO] [stdout] 991 | static SPEC_STAMPS: std::sync::Mutex<Option<SpecStampLog>> = std::sync::Mutex::new(None);
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `spec_stamp` is never used
[INFO] [stdout]    --> src/pipeline.rs:993:15
[INFO] [stdout]     |
[INFO] [stdout] 993 | pub(crate) fn spec_stamp(name: &'static str) {
[INFO] [stdout]     |               ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `spec_stamps_begin` is never used
[INFO] [stdout]     --> src/pipeline.rs:1007:4
[INFO] [stdout]      |
[INFO] [stdout] 1007 | fn spec_stamps_begin() {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `spec_stamps_take` is never used
[INFO] [stdout]     --> src/pipeline.rs:1019:4
[INFO] [stdout]      |
[INFO] [stdout] 1019 | fn spec_stamps_take() -> Vec<(&'static str, f32)> {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `spec_stamps_format` is never used
[INFO] [stdout]     --> src/pipeline.rs:1030:4
[INFO] [stdout]      |
[INFO] [stdout] 1030 | fn spec_stamps_format(items: &[(&'static str, f32)]) -> String {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `round` is never used
[INFO] [stdout]     --> src/pipeline.rs:1091:8
[INFO] [stdout]      |
[INFO] [stdout] 1090 | impl SpecMon {
[INFO] [stdout]      | ------------ method in this implementation
[INFO] [stdout] 1091 |     fn round(&mut self, dt_ms: f64, produced: usize) {
[INFO] [stdout]      |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]      --> src/pipeline.rs:6456:8
[INFO] [stdout]       |
[INFO] [stdout]  1546 | impl Pipeline {
[INFO] [stdout]       | ------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  6456 |     fn spec_trial_round(trial: SpecTrial, mon: &mut SpecMon, generated: usize) -> SpecTrial {
[INFO] [stdout]       |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  6550 |     const MTP_LAYER_BASE: usize = 0;
[INFO] [stdout]       |           ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  6588 |     fn graph_gdn_layer_count(&self) -> usize {
[INFO] [stdout]       |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  6601 |     fn mtp_block_input(&mut self, m: &MtpModule, hidden: &[f32], next_token: u32) -> Vec<f32> {
[INFO] [stdout]       |        ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 11189 |     pub(crate) fn test_graph_kv_id(&self) -> u64 {
[INFO] [stdout]       |                   ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 13241 |     fn draft_head_rows(&self, head_rows: usize) -> usize {
[INFO] [stdout]       |        ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 13475 |     fn mtp_chain_on() -> bool {
[INFO] [stdout]       |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `accum_outer` is never used
[INFO] [stdout]      --> src/pipeline.rs:17989:4
[INFO] [stdout]       |
[INFO] [stdout] 17989 | fn accum_outer(
[INFO] [stdout]       |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `dequant_dense_f32` is never used
[INFO] [stdout]      --> src/pipeline.rs:18960:4
[INFO] [stdout]       |
[INFO] [stdout] 18960 | fn dequant_dense_f32(d: &DenseFfn) -> (Vec<f32>, Vec<f32>, Vec<f32>) {
[INFO] [stdout]       |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `logits` is never read
[INFO] [stdout]      --> src/pipeline.rs:19171:9
[INFO] [stdout]       |
[INFO] [stdout] 19167 | pub(crate) struct MoeRoute {
[INFO] [stdout]       |                   -------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 19171 |     pub logits: Vec<f32>,
[INFO] [stdout]       |         ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `moe_cold_experts_cpu` is never used
[INFO] [stdout]      --> src/pipeline.rs:19466:15
[INFO] [stdout]       |
[INFO] [stdout] 19466 | pub(crate) fn moe_cold_experts_cpu(
[INFO] [stdout]       |               ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `moe_cold_experts_rows_cpu` is never used
[INFO] [stdout]      --> src/pipeline.rs:19502:15
[INFO] [stdout]       |
[INFO] [stdout] 19502 | pub(crate) fn moe_cold_experts_rows_cpu(
[INFO] [stdout]       |               ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `f32_parts`, `q1_parts`, `q8_row_parts`, and `q8_2f_parts` are never used
[INFO] [stdout]    --> src/qtensor.rs:371:19
[INFO] [stdout]     |
[INFO] [stdout] 180 | impl QTensor {
[INFO] [stdout]     | ------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 371 |     pub(crate) fn f32_parts(&self) -> Option<(&[f32], usize, usize)> {
[INFO] [stdout]     |                   ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 384 |     pub(crate) fn q1_parts(&self) -> Option<(usize, usize, usize)> {
[INFO] [stdout]     |                   ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 479 |     pub(crate) fn q8_row_parts(&self) -> Option<(usize, usize, usize, &[f32])> {
[INFO] [stdout]     |                   ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 499 |     pub(crate) fn q8_2f_parts(&self) -> Option<(usize, usize, usize, &[f32], &[f32])> {
[INFO] [stdout]     |                   ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SIGN5_I8` is never used
[INFO] [stdout]     --> src/qtensor.rs:7670:7
[INFO] [stdout]      |
[INFO] [stdout] 7670 | const SIGN5_I8: [[i8; 5]; 256] = {
[INFO] [stdout]      |       ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `expert_ids`, `shared_ids`, and `idx` are never read
[INFO] [stdout]   --> src/qwen4_exp.rs:90:5
[INFO] [stdout]    |
[INFO] [stdout] 81 | pub struct Layer {
[INFO] [stdout]    |            ----- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 90 |     expert_ids: Vec<(usize, usize, usize)>,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 94 |     shared_ids: Option<(usize, usize, usize)>,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 95 |     idx: Option<LayerIdx>,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `lm_head_idx`, `embed_idx`, and `skeleton_idxs` are never read
[INFO] [stdout]    --> src/qwen4_exp.rs:102:5
[INFO] [stdout]     |
[INFO] [stdout]  98 | pub struct Globals {
[INFO] [stdout]     |            ------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 102 |     lm_head_idx: Option<usize>,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] 103 |     /// The embedding table, re-read on the card by the MTP draft chain.
[INFO] [stdout] 104 |     embed_idx: Option<usize>,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 107 |     skeleton_idxs: Vec<usize>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `gpu_pool`, `picks_prev`, `device_off`, `verify_window`, `window_logits`, and `mtp_tried` are never read
[INFO] [stdout]    --> src/qwen4_exp.rs:152:5
[INFO] [stdout]     |
[INFO] [stdout] 148 | pub struct State {
[INFO] [stdout]     |            ----- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 152 |     gpu_pool: Option<QwenGpuPool>,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 161 |     picks_prev: Vec<Vec<usize>>,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] 162 |     /// The device path refused once (setup or mid-token); stay on the host.
[INFO] [stdout] 163 |     device_off: bool,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 173 |     verify_window: bool,
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout] 174 |     window_logits: Vec<Vec<f32>>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 177 |     mtp_tried: bool,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `FILL_NS` is never used
[INFO] [stdout]    --> src/qwen4_exp.rs:183:19
[INFO] [stdout]     |
[INFO] [stdout] 183 | pub(crate) static FILL_NS: std::sync::atomic::AtomicU64 = std::sync::atomic::AtomicU64::new(0);
[INFO] [stdout]     |                   ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `FILL_N` is never used
[INFO] [stdout]    --> src/qwen4_exp.rs:184:19
[INFO] [stdout]     |
[INFO] [stdout] 184 | pub(crate) static FILL_N: std::sync::atomic::AtomicU64 = std::sync::atomic::AtomicU64::new(0);
[INFO] [stdout]     |                   ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `FILLS_WALL_NS` is never used
[INFO] [stdout]    --> src/qwen4_exp.rs:186:19
[INFO] [stdout]     |
[INFO] [stdout] 186 | pub(crate) static FILLS_WALL_NS: std::sync::atomic::AtomicU64 =
[INFO] [stdout]     |                   ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `fill_trace` is never used
[INFO] [stdout]    --> src/qwen4_exp.rs:202:4
[INFO] [stdout]     |
[INFO] [stdout] 202 | fn fill_trace() -> bool {
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]    --> src/qwen4_exp.rs:210:16
[INFO] [stdout]     |
[INFO] [stdout] 207 | pub(crate) struct QwenGpuPool {
[INFO] [stdout]     |                   ----------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 210 |     pub(crate) hold_layers: [Option<usize>; 2],
[INFO] [stdout]     |                ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 214 |     staging_base: usize,
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout] 215 |     staging: usize,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 226 |     admit_pool: Option<Arc<Pool>>,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 229 |     pub(crate) store: Option<Arc<crate::expert_store::ExpertStore>>,
[INFO] [stdout]     |                ^^^^^
[INFO] [stdout] 230 |     pub(crate) segment_slots: usize,
[INFO] [stdout]     |                ^^^^^^^^^^^^^
[INFO] [stdout] 231 |     floor: usize,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 232 |     n_experts: usize,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] 233 |     fetch_quota: usize,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] 234 |     fetch_min_seen: u16,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^
[INFO] [stdout] 235 |     fetch_max_env: &'static str,
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout] 236 |     fetch_min_env: &'static str,
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout] 237 |     owner: Vec<Option<(usize, usize)>>,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 241 |     slot_for: Vec<u32>,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] 242 |     shared_slot: Vec<u32>,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] 243 |     seen: Vec<u16>,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 244 |     seen_epoch: Vec<u32>,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 247 |     free: Vec<usize>,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 248 |     occupancy: Vec<usize>,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] 249 |     last: Vec<u64>,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 250 |     clock: u64,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `ple_frame_rows` is never used
[INFO] [stdout]     --> src/qwen4_exp.rs:2399:4
[INFO] [stdout]      |
[INFO] [stdout] 2399 | fn ple_frame_rows(
[INFO] [stdout]      |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `mapped_device_gemm` is never used
[INFO] [stdout]    --> src/qwen_image_ops.rs:132:19
[INFO] [stdout]     |
[INFO] [stdout]  50 | impl Linear {
[INFO] [stdout]     | ----------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 132 |     pub(crate) fn mapped_device_gemm(&self) -> Option<(&Arc<CmfModel>, usize)> {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `num_cpus` is never used
[INFO] [stdout]    --> src/runtime.rs:308:4
[INFO] [stdout]     |
[INFO] [stdout] 308 | fn num_cpus() -> usize {
[INFO] [stdout]     |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `chunk` is never used
[INFO] [stdout]    --> src/skillbake.rs:824:8
[INFO] [stdout]     |
[INFO] [stdout] 697 | impl Pass<'_> {
[INFO] [stdout]     | ------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 824 |     fn chunk(
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `chatml_fallback` is never used
[INFO] [stdout]     --> src/tokenizer.rs:1239:8
[INFO] [stdout]      |
[INFO] [stdout]  310 | impl Tokenizer {
[INFO] [stdout]      | -------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 1239 |     fn chatml_fallback(&self, messages: &[(String, String)]) -> Vec<u32> {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0133`.
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 08s
[INFO] running `Command { std: "docker" "inspect" "b3e669c9724dacbd8b40541f0e55b0101018f0ab4dbd6c4eda6bd92fa8aeef7f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "b3e669c9724dacbd8b40541f0e55b0101018f0ab4dbd6c4eda6bd92fa8aeef7f", kill_on_drop: false }`
[INFO] [stdout] b3e669c9724dacbd8b40541f0e55b0101018f0ab4dbd6c4eda6bd92fa8aeef7f
