[INFO] cloning repository https://github.com/infosave2007/cmf
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/infosave2007/cmf" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Finfosave2007%2Fcmf", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Finfosave2007%2Fcmf'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 01429d53122b7a5c8b2a87d5312f5ae2ed7dd5e9
[INFO] checking infosave2007/cmf against 165655a2f1981fef27b31c547ad7631979fc5139 for pr-160235
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Finfosave2007%2Fcmf" "/workspace/builds/worker-4-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc2/source'...
[INFO] [stderr] done.
[INFO] removed /workspace/builds/worker-4-tc2/source/rust-toolchain.toml
[INFO] started tweaking git repo https://github.com/infosave2007/cmf
[INFO] finished tweaking git repo https://github.com/infosave2007/cmf
[INFO] tweaked toml for git repo https://github.com/infosave2007/cmf written to /workspace/builds/worker-4-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/infosave2007/cmf on toolchain 165655a2f1981fef27b31c547ad7631979fc5139
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+165655a2f1981fef27b31c547ad7631979fc5139" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/infosave2007/cmf 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" "+165655a2f1981fef27b31c547ad7631979fc5139" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[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:00c5645b54fe3ce5dae1417175e3c7fb6a6646c021d554ecd63a097b8b9f3602" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 60c674c8bd385db5471301020c32a6f1c8599167f08f7e31ef091bf891789188
[INFO] running `Command { std: "docker" "start" "60c674c8bd385db5471301020c32a6f1c8599167f08f7e31ef091bf891789188", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "60c674c8bd385db5471301020c32a6f1c8599167f08f7e31ef091bf891789188", 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" "60c674c8bd385db5471301020c32a6f1c8599167f08f7e31ef091bf891789188" "/opt/rustwide/cargo-home/bin/cargo" "+165655a2f1981fef27b31c547ad7631979fc5139" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "60c674c8bd385db5471301020c32a6f1c8599167f08f7e31ef091bf891789188", 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" "60c674c8bd385db5471301020c32a6f1c8599167f08f7e31ef091bf891789188" "/opt/rustwide/cargo-home/bin/cargo" "+165655a2f1981fef27b31c547ad7631979fc5139" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling zerocopy v0.8.48
[INFO] [stderr]    Compiling zerocopy-derive v0.8.48
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling bytemuck_derive v1.10.2
[INFO] [stderr]     Checking parking_lot_core v0.9.12
[INFO] [stderr]     Checking tracing v0.1.44
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]     Checking parking_lot v0.12.5
[INFO] [stderr]     Checking hashbrown v0.17.0
[INFO] [stderr]     Checking libloading v0.8.9
[INFO] [stderr]     Checking rustc-hash v1.1.0
[INFO] [stderr]    Compiling naga v30.0.0
[INFO] [stderr]     Checking tokio v1.52.2
[INFO] [stderr]    Compiling ash v0.38.0+1.3.281
[INFO] [stderr]     Checking bit-vec v0.9.1
[INFO] [stderr]    Compiling wayland-sys v0.31.11
[INFO] [stderr]     Checking codespan-reporting v0.13.1
[INFO] [stderr]     Checking bit-set v0.10.0
[INFO] [stderr]     Checking spirv v0.4.0+sdk-1.4.341.0
[INFO] [stderr]     Checking indexmap v2.14.0
[INFO] [stderr]     Checking unicode-ident v1.0.24
[INFO] [stderr]    Compiling khronos-egl v6.0.0
[INFO] [stderr]     Checking dlib v0.5.3
[INFO] [stderr]    Compiling wgpu-hal v30.0.0
[INFO] [stderr]     Checking presser v0.3.1
[INFO] [stderr]     Checking bytemuck v1.25.0
[INFO] [stderr]     Checking naga-types v30.0.0
[INFO] [stderr]     Checking ordered-float v5.3.0
[INFO] [stderr]     Checking wgpu-types v30.0.0
[INFO] [stderr]     Checking aho-corasick v1.1.4
[INFO] [stderr]     Checking glow v0.17.0
[INFO] [stderr]     Checking profiling v1.0.18
[INFO] [stderr]     Checking renderdoc-sys v1.1.0
[INFO] [stderr]     Checking regex-syntax v0.8.10
[INFO] [stderr]     Checking serde v1.0.228
[INFO] [stderr]     Checking bincode v1.3.3
[INFO] [stderr]    Compiling wgpu-core v30.0.0
[INFO] [stderr]    Compiling wgpu v30.0.0
[INFO] [stderr]     Checking regex-automata v0.4.14
[INFO] [stderr]     Checking bit-vec v0.8.0
[INFO] [stderr]     Checking tinyvec v1.11.0
[INFO] [stderr]     Checking cortiq-core v0.5.82 (/opt/rustwide/workdir/crates/cortiq-core)
[INFO] [stderr]     Checking bit-set v0.8.0
[INFO] [stderr]     Checking minijinja v2.21.0
[INFO] [stderr]     Checking pollster v0.4.0
[INFO] [stderr]     Checking futures-util v0.3.32
[INFO] [stderr]     Checking unicode-normalization v0.1.25
[INFO] [stderr]     Checking getrandom v0.3.4
[INFO] [stderr]     Checking rand_core v0.9.5
[INFO] [stderr]     Checking sha1 v0.10.6
[INFO] [stderr]    Compiling unicase v2.9.0
[INFO] [stderr]     Checking sync_wrapper v1.0.2
[INFO] [stderr]    Compiling mime_guess v2.0.5
[INFO] [stderr]     Checking hyper v1.9.0
[INFO] [stderr]     Checking serde_urlencoded v0.7.1
[INFO] [stderr]     Checking icu_normalizer v2.2.0
[INFO] [stderr]     Checking axum-core v0.5.6
[INFO] [stderr]     Checking hyper-util v0.1.20
[INFO] [stderr]     Checking headers-core v0.3.0
[INFO] [stderr]     Checking serde_path_to_error v0.1.20
[INFO] [stderr]     Checking fancy-regex v0.14.0
[INFO] [stderr]     Checking matchers v0.2.0
[INFO] [stderr]     Checking headers v0.4.1
[INFO] [stderr]     Checking idna_adapter v1.2.2
[INFO] [stderr]     Checking getrandom v0.4.2
[INFO] [stderr]     Checking half v2.7.1
[INFO] [stderr]     Checking minijinja-contrib v2.21.0
[INFO] [stderr]     Checking ppv-lite86 v0.2.21
[INFO] [stderr]     Checking tokio-util v0.7.18
[INFO] [stderr]     Checking tracing-serde v0.2.0
[INFO] [stderr]     Checking tower v0.5.3
[INFO] [stderr]     Checking futures-executor v0.3.32
[INFO] [stderr]     Checking rand_chacha v0.9.0
[INFO] [stderr]     Checking http-range-header v0.4.2
[INFO] [stderr]    Compiling rustls v0.23.41
[INFO] [stderr]     Checking tower-http v0.6.9
[INFO] [stderr]     Checking rand v0.9.4
[INFO] [stderr]     Checking futures v0.3.32
[INFO] [stderr]     Checking chrono v0.4.44
[INFO] [stderr]     Checking tracing-subscriber v0.3.23
[INFO] [stderr]     Checking uuid v1.23.1
[INFO] [stderr]     Checking idna v1.1.0
[INFO] [stderr]     Checking rustls-webpki v0.103.13
[INFO] [stderr]     Checking webpki-roots v1.0.8
[INFO] [stderr]    Compiling curve25519-dalek-derive v0.1.1
[INFO] [stderr]     Checking tungstenite v0.29.0
[INFO] [stderr]     Checking webpki-roots v0.26.11
[INFO] [stderr]     Checking url v2.5.8
[INFO] [stderr]     Checking curve25519-dalek v4.1.3
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]     Checking tokio-tungstenite v0.29.0
[INFO] [stderr]     Checking clap v4.6.1
[INFO] [stderr]     Checking axum v0.8.9
[INFO] [stderr]     Checking ed25519-dalek v2.2.0
[INFO] [stderr]     Checking ureq v2.12.1
[INFO] [stderr]     Checking axum-extra v0.10.3
[INFO] [stderr]     Checking gpu-allocator v0.28.0
[INFO] [stderr]     Checking wgpu-naga-bridge v30.0.0
[INFO] [stderr]     Checking wgpu-core-deps-windows-linux-android v30.0.0
[INFO] [stderr]     Checking cortiq-engine v0.5.82 (/opt/rustwide/workdir/crates/cortiq-engine)
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]     --> crates/cortiq-engine/src/dsv4.rs:1706:1
[INFO] [stdout]      |
[INFO] [stdout] 1706 | / /// The MoE half of a block: route, run the chosen experts plus the shared
[INFO] [stdout] 1707 | | /// one, and sum. `token_id` is only read on the hash layers.
[INFO] [stdout] 1708 | | /// Per-layer expert-selection counts, the routing field a task-conditional
[INFO] [stdout] 1709 | | /// expert set is derived from (`CMF_MOE_STATS`). The generic MoE path keeps
[INFO] [stdout] ...    |
[INFO] [stdout] 1715 | | /// Decode drives this from one thread; the pool parallelizes inside the
[INFO] [stdout] 1716 | | /// matvecs, below this point.
[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]      = note: `#[warn(unused_doc_comments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]     --> crates/cortiq-engine/src/dsv4.rs:4246:1
[INFO] [stdout]      |
[INFO] [stdout] 4246 | / /// `CMF_DSV4_DUMP=<path>` appends one JSON line per token: the embedding, the
[INFO] [stdout] 4247 | | /// hyper-connection state after every layer, the folded-and-normed head input
[INFO] [stdout] 4248 | | /// and the logits. It exists to be diffed against the reference forward on
[INFO] [stdout] 4249 | | /// the same weights — the numerical parity this port has never had, which at
[INFO] [stdout] 4250 | | /// 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: unused import: `QwenAttnCfg`
[INFO] [stdout]   --> crates/cortiq-engine/src/g3n.rs:10:30
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::attention::{self, QwenAttnCfg};
[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: `crate::inference`
[INFO] [stdout]   --> crates/cortiq-engine/src/g3n.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use crate::inference;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `inline` attribute cannot be used on macro calls
[INFO] [stdout]      --> crates/cortiq-engine/src/gpu_wgpu.rs:25666:3
[INFO] [stdout]       |
[INFO] [stdout] 25666 | #[inline]
[INFO] [stdout]       |   ^^^^^^
[INFO] [stdout]       |
[INFO] [stdout]       = help: the `inline` attribute can only be applied to functions
[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: placing this attribute on a macro invocation does nothing even if the macro expands to what would be a valid target for the attribute
[INFO] [stdout]       = note: `#[warn(unused_attributes)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> crates/cortiq-engine/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]     --> crates/cortiq-engine/src/dsv4.rs:1706:1
[INFO] [stdout]      |
[INFO] [stdout] 1706 | / /// The MoE half of a block: route, run the chosen experts plus the shared
[INFO] [stdout] 1707 | | /// one, and sum. `token_id` is only read on the hash layers.
[INFO] [stdout] 1708 | | /// Per-layer expert-selection counts, the routing field a task-conditional
[INFO] [stdout] 1709 | | /// expert set is derived from (`CMF_MOE_STATS`). The generic MoE path keeps
[INFO] [stdout] ...    |
[INFO] [stdout] 1715 | | /// Decode drives this from one thread; the pool parallelizes inside the
[INFO] [stdout] 1716 | | /// matvecs, below this point.
[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]      = note: `#[warn(unused_doc_comments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]     --> crates/cortiq-engine/src/dsv4.rs:4246:1
[INFO] [stdout]      |
[INFO] [stdout] 4246 | / /// `CMF_DSV4_DUMP=<path>` appends one JSON line per token: the embedding, the
[INFO] [stdout] 4247 | | /// hyper-connection state after every layer, the folded-and-normed head input
[INFO] [stdout] 4248 | | /// and the logits. It exists to be diffed against the reference forward on
[INFO] [stdout] 4249 | | /// the same weights — the numerical parity this port has never had, which at
[INFO] [stdout] 4250 | | /// 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: unused import: `QwenAttnCfg`
[INFO] [stdout]   --> crates/cortiq-engine/src/g3n.rs:10:30
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::attention::{self, QwenAttnCfg};
[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: `crate::inference`
[INFO] [stdout]   --> crates/cortiq-engine/src/g3n.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use crate::inference;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `inline` attribute cannot be used on macro calls
[INFO] [stdout]      --> crates/cortiq-engine/src/gpu_wgpu.rs:25666:3
[INFO] [stdout]       |
[INFO] [stdout] 25666 | #[inline]
[INFO] [stdout]       |   ^^^^^^
[INFO] [stdout]       |
[INFO] [stdout]       = help: the `inline` attribute can only be applied to functions
[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: placing this attribute on a macro invocation does nothing even if the macro expands to what would be a valid target for the attribute
[INFO] [stdout]       = note: `#[warn(unused_attributes)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> crates/cortiq-engine/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 variable: `hpk`
[INFO] [stdout]     --> crates/cortiq-engine/src/dit.rs:1100:13
[INFO] [stdout]      |
[INFO] [stdout] 1100 |         let hpk = nh / nkv;
[INFO] [stdout]      |             ^^^ help: if this is intentional, prefix it with an underscore: `_hpk`
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> crates/cortiq-engine/src/dit.rs:1394:13
[INFO] [stdout]      |
[INFO] [stdout] 1394 |         let mut cap_e = cap_e_in.to_vec();
[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: `idx32`
[INFO] [stdout]     --> crates/cortiq-engine/src/dsv4.rs:3153:13
[INFO] [stdout]      |
[INFO] [stdout] 3153 |         let idx32: Vec<u32> = prep
[INFO] [stdout]      |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_idx32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `mp`
[INFO] [stdout]     --> crates/cortiq-engine/src/dsv4.rs:7869:15
[INFO] [stdout]      |
[INFO] [stdout] 7869 |     let (Some(mp), Some(mn)) = (stage0.main_proj.as_ref(), stage0.main_norm.as_ref()) else {
[INFO] [stdout]      |               ^^ help: if this is intentional, prefix it with an underscore: `_mp`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `mn`
[INFO] [stdout]     --> crates/cortiq-engine/src/dsv4.rs:7869:25
[INFO] [stdout]      |
[INFO] [stdout] 7869 |     let (Some(mp), Some(mn)) = (stage0.main_proj.as_ref(), stage0.main_norm.as_ref()) else {
[INFO] [stdout]      |                         ^^ help: if this is intentional, prefix it with an underscore: `_mn`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `model`
[INFO] [stdout]     --> crates/cortiq-engine/src/gpu.rs:2217:5
[INFO] [stdout]      |
[INFO] [stdout] 2217 |     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]     --> crates/cortiq-engine/src/gpu.rs:2218:5
[INFO] [stdout]      |
[INFO] [stdout] 2218 |     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]     --> crates/cortiq-engine/src/gpu.rs:2219:5
[INFO] [stdout]      |
[INFO] [stdout] 2219 |     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]     --> crates/cortiq-engine/src/gpu.rs:2220:5
[INFO] [stdout]      |
[INFO] [stdout] 2220 |     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]     --> crates/cortiq-engine/src/gpu.rs:2221:5
[INFO] [stdout]      |
[INFO] [stdout] 2221 |     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]     --> crates/cortiq-engine/src/gpu.rs:2222:5
[INFO] [stdout]      |
[INFO] [stdout] 2222 |     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: `pair_mats`
[INFO] [stdout]      --> crates/cortiq-engine/src/gpu_wgpu.rs:17243:9
[INFO] [stdout]       |
[INFO] [stdout] 17243 |     let pair_mats = |enc: &mut wgpu::CommandEncoder,
[INFO] [stdout]       |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pair_mats`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n1_s`
[INFO] [stdout]      --> crates/cortiq-engine/src/gpu_wgpu.rs:19455:9
[INFO] [stdout]       |
[INFO] [stdout] 19455 |     let n1_s = rwc(hidden);
[INFO] [stdout]       |         ^^^^ help: if this is intentional, prefix it with an underscore: `_n1_s`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `qraw_s`
[INFO] [stdout]      --> crates/cortiq-engine/src/gpu_wgpu.rs:19456:9
[INFO] [stdout]       |
[INFO] [stdout] 19456 |     let qraw_s = rwc(qdim);
[INFO] [stdout]       |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_qraw_s`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `kb_s`
[INFO] [stdout]      --> crates/cortiq-engine/src/gpu_wgpu.rs:19457:9
[INFO] [stdout]       |
[INFO] [stdout] 19457 |     let kb_s = rwc(nkv * hd);
[INFO] [stdout]       |         ^^^^ help: if this is intentional, prefix it with an underscore: `_kb_s`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `vb_s`
[INFO] [stdout]      --> crates/cortiq-engine/src/gpu_wgpu.rs:19458:9
[INFO] [stdout]       |
[INFO] [stdout] 19458 |     let vb_s = rwc(nkv * hd);
[INFO] [stdout]       |         ^^^^ help: if this is intentional, prefix it with an underscore: `_vb_s`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `qkv_s`
[INFO] [stdout]      --> crates/cortiq-engine/src/gpu_wgpu.rs:19465:9
[INFO] [stdout]       |
[INFO] [stdout] 19465 |     let qkv_s = rwc(gcdim);
[INFO] [stdout]       |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_qkv_s`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `z_s`
[INFO] [stdout]      --> crates/cortiq-engine/src/gpu_wgpu.rs:19468:9
[INFO] [stdout]       |
[INFO] [stdout] 19468 |     let z_s = rwc(gnv * gdv);
[INFO] [stdout]       |         ^^^ help: if this is intentional, prefix it with an underscore: `_z_s`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `a_s`
[INFO] [stdout]      --> crates/cortiq-engine/src/gpu_wgpu.rs:19469:9
[INFO] [stdout]       |
[INFO] [stdout] 19469 |     let a_s = rwc(gnv);
[INFO] [stdout]       |         ^^^ help: if this is intentional, prefix it with an underscore: `_a_s`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `b_s`
[INFO] [stdout]      --> crates/cortiq-engine/src/gpu_wgpu.rs:19470:9
[INFO] [stdout]       |
[INFO] [stdout] 19470 |     let b_s = rwc(gnv);
[INFO] [stdout]       |         ^^^ help: if this is intentional, prefix it with an underscore: `_b_s`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `gdo_s`
[INFO] [stdout]      --> crates/cortiq-engine/src/gpu_wgpu.rs:19475:9
[INFO] [stdout]       |
[INFO] [stdout] 19475 |     let gdo_s = rwc(gnv * gdv);
[INFO] [stdout]       |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_gdo_s`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `gc_p`
[INFO] [stdout]      --> crates/cortiq-engine/src/gpu_wgpu.rs:20106:21
[INFO] [stdout]       |
[INFO] [stdout] 20106 |                 let gc_p = unif(&[*cdim as u32, *kk as u32, 0, 0]);
[INFO] [stdout]       |                     ^^^^ help: if this is intentional, prefix it with an underscore: `_gc_p`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `gd_p`
[INFO] [stdout]      --> crates/cortiq-engine/src/gpu_wgpu.rs:20107:21
[INFO] [stdout]       |
[INFO] [stdout] 20107 |                 let gd_p = unif(&[
[INFO] [stdout]       |                     ^^^^ help: if this is intentional, prefix it with an underscore: `_gd_p`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `gpr`
[INFO] [stdout]      --> crates/cortiq-engine/src/gpu_wgpu.rs:21811:9
[INFO] [stdout]       |
[INFO] [stdout] 21811 |     let gpr = cols / 32;
[INFO] [stdout]       |         ^^^ help: if this is intentional, prefix it with an underscore: `_gpr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]      --> crates/cortiq-engine/src/gpu_wgpu.rs:23270:13
[INFO] [stdout]       |
[INFO] [stdout] 23270 |         let mut split_now = |enc: &mut wgpu::CommandEncoder, slot: usize| {
[INFO] [stdout]       |             ----^^^^^^^^^
[INFO] [stdout]       |             |
[INFO] [stdout]       |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `l_gu`
[INFO] [stdout]      --> crates/cortiq-engine/src/gpu_wgpu.rs:32047:22
[INFO] [stdout]       |
[INFO] [stdout] 32047 |     let (p_gu, p_dn, l_gu, l_dn) = if g.gu_q2 {
[INFO] [stdout]       |                      ^^^^ help: if this is intentional, prefix it with an underscore: `_l_gu`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `l_dn`
[INFO] [stdout]      --> crates/cortiq-engine/src/gpu_wgpu.rs:32047:28
[INFO] [stdout]       |
[INFO] [stdout] 32047 |     let (p_gu, p_dn, l_gu, l_dn) = if g.gu_q2 {
[INFO] [stdout]       |                            ^^^^ help: if this is intentional, prefix it with an underscore: `_l_dn`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `qnw`
[INFO] [stdout]      --> crates/cortiq-engine/src/gpu_wgpu.rs:32592:9
[INFO] [stdout]       |
[INFO] [stdout] 32592 |     let qnw = const_buf(c, bytemuck::cast_slice(&w.attn.q_norm[..a.q_lora]));
[INFO] [stdout]       |         ^^^ help: if this is intentional, prefix it with an underscore: `_qnw`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `hpk`
[INFO] [stdout]     --> crates/cortiq-engine/src/dit.rs:1100:13
[INFO] [stdout]      |
[INFO] [stdout] 1100 |         let hpk = nh / nkv;
[INFO] [stdout]      |             ^^^ help: if this is intentional, prefix it with an underscore: `_hpk`
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> crates/cortiq-engine/src/dit.rs:1394:13
[INFO] [stdout]      |
[INFO] [stdout] 1394 |         let mut cap_e = cap_e_in.to_vec();
[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: `ew`
[INFO] [stdout]      --> crates/cortiq-engine/src/gpu_wgpu.rs:40341:9
[INFO] [stdout]       |
[INFO] [stdout] 40341 |     let ew = if g.overlap { g.width / 2 } else { g.width };
[INFO] [stdout]       |         ^^ help: if this is intentional, prefix it with an underscore: `_ew`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ape_slot`
[INFO] [stdout]      --> crates/cortiq-engine/src/gpu_wgpu.rs:40440:9
[INFO] [stdout]       |
[INFO] [stdout] 40440 |     let ape_slot = frame_buf(c, 74 + kind, g.width * 4, true);
[INFO] [stdout]       |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ape_slot`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `kv`
[INFO] [stdout]      --> crates/cortiq-engine/src/gpu_wgpu.rs:40621:9
[INFO] [stdout]       |
[INFO] [stdout] 40621 |     let kv = frame_buf(c, 105, hd * 4, false);
[INFO] [stdout]       |         ^^ help: if this is intentional, prefix it with an underscore: `_kv`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `state2`
[INFO] [stdout]      --> crates/cortiq-engine/src/gpu_wgpu.rs:42299:13
[INFO] [stdout]       |
[INFO] [stdout] 42299 |         let state2 = frame_buf(c, 46, h.hc * g.hidden * 4, true);
[INFO] [stdout]       |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_state2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> crates/cortiq-engine/src/imagegen.rs:257:13
[INFO] [stdout]     |
[INFO] [stdout] 257 |         let mut lap = |marks: &mut Vec<(&'static str, f32)>, name: &'static str| {
[INFO] [stdout]     |             ----^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `idx32`
[INFO] [stdout]     --> crates/cortiq-engine/src/dsv4.rs:3153:13
[INFO] [stdout]      |
[INFO] [stdout] 3153 |         let idx32: Vec<u32> = prep
[INFO] [stdout]      |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_idx32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> crates/cortiq-engine/src/kv_cache.rs:977:13
[INFO] [stdout]     |
[INFO] [stdout] 977 |         let mut u = |v: u32, o: &mut Vec<u8>| o.extend_from_slice(&v.to_le_bytes());
[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]     --> crates/cortiq-engine/src/kv_cache.rs:1021:13
[INFO] [stdout]      |
[INFO] [stdout] 1021 |         let mut u32_at = |o: &mut usize| -> Result<u32, String> {
[INFO] [stdout]      |             ----^^^^^^
[INFO] [stdout]      |             |
[INFO] [stdout]      |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `mp`
[INFO] [stdout]     --> crates/cortiq-engine/src/dsv4.rs:7869:15
[INFO] [stdout]      |
[INFO] [stdout] 7869 |     let (Some(mp), Some(mn)) = (stage0.main_proj.as_ref(), stage0.main_norm.as_ref()) else {
[INFO] [stdout]      |               ^^ help: if this is intentional, prefix it with an underscore: `_mp`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `mn`
[INFO] [stdout]     --> crates/cortiq-engine/src/dsv4.rs:7869:25
[INFO] [stdout]      |
[INFO] [stdout] 7869 |     let (Some(mp), Some(mn)) = (stage0.main_proj.as_ref(), stage0.main_norm.as_ref()) else {
[INFO] [stdout]      |                         ^^ help: if this is intentional, prefix it with an underscore: `_mn`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `model`
[INFO] [stdout]     --> crates/cortiq-engine/src/gpu.rs:2217:5
[INFO] [stdout]      |
[INFO] [stdout] 2217 |     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]     --> crates/cortiq-engine/src/gpu.rs:2218:5
[INFO] [stdout]      |
[INFO] [stdout] 2218 |     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]     --> crates/cortiq-engine/src/gpu.rs:2219:5
[INFO] [stdout]      |
[INFO] [stdout] 2219 |     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]     --> crates/cortiq-engine/src/gpu.rs:2220:5
[INFO] [stdout]      |
[INFO] [stdout] 2220 |     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]     --> crates/cortiq-engine/src/gpu.rs:2221:5
[INFO] [stdout]      |
[INFO] [stdout] 2221 |     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]     --> crates/cortiq-engine/src/gpu.rs:2222:5
[INFO] [stdout]      |
[INFO] [stdout] 2222 |     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: `pair_mats`
[INFO] [stdout]      --> crates/cortiq-engine/src/gpu_wgpu.rs:17243:9
[INFO] [stdout]       |
[INFO] [stdout] 17243 |     let pair_mats = |enc: &mut wgpu::CommandEncoder,
[INFO] [stdout]       |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pair_mats`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n1_s`
[INFO] [stdout]      --> crates/cortiq-engine/src/gpu_wgpu.rs:19455:9
[INFO] [stdout]       |
[INFO] [stdout] 19455 |     let n1_s = rwc(hidden);
[INFO] [stdout]       |         ^^^^ help: if this is intentional, prefix it with an underscore: `_n1_s`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `qraw_s`
[INFO] [stdout]      --> crates/cortiq-engine/src/gpu_wgpu.rs:19456:9
[INFO] [stdout]       |
[INFO] [stdout] 19456 |     let qraw_s = rwc(qdim);
[INFO] [stdout]       |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_qraw_s`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `kb_s`
[INFO] [stdout]      --> crates/cortiq-engine/src/gpu_wgpu.rs:19457:9
[INFO] [stdout]       |
[INFO] [stdout] 19457 |     let kb_s = rwc(nkv * hd);
[INFO] [stdout]       |         ^^^^ help: if this is intentional, prefix it with an underscore: `_kb_s`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `vb_s`
[INFO] [stdout]      --> crates/cortiq-engine/src/gpu_wgpu.rs:19458:9
[INFO] [stdout]       |
[INFO] [stdout] 19458 |     let vb_s = rwc(nkv * hd);
[INFO] [stdout]       |         ^^^^ help: if this is intentional, prefix it with an underscore: `_vb_s`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `qkv_s`
[INFO] [stdout]      --> crates/cortiq-engine/src/gpu_wgpu.rs:19465:9
[INFO] [stdout]       |
[INFO] [stdout] 19465 |     let qkv_s = rwc(gcdim);
[INFO] [stdout]       |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_qkv_s`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `z_s`
[INFO] [stdout]      --> crates/cortiq-engine/src/gpu_wgpu.rs:19468:9
[INFO] [stdout]       |
[INFO] [stdout] 19468 |     let z_s = rwc(gnv * gdv);
[INFO] [stdout]       |         ^^^ help: if this is intentional, prefix it with an underscore: `_z_s`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `a_s`
[INFO] [stdout]      --> crates/cortiq-engine/src/gpu_wgpu.rs:19469:9
[INFO] [stdout]       |
[INFO] [stdout] 19469 |     let a_s = rwc(gnv);
[INFO] [stdout]       |         ^^^ help: if this is intentional, prefix it with an underscore: `_a_s`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `b_s`
[INFO] [stdout]      --> crates/cortiq-engine/src/gpu_wgpu.rs:19470:9
[INFO] [stdout]       |
[INFO] [stdout] 19470 |     let b_s = rwc(gnv);
[INFO] [stdout]       |         ^^^ help: if this is intentional, prefix it with an underscore: `_b_s`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `gdo_s`
[INFO] [stdout]      --> crates/cortiq-engine/src/gpu_wgpu.rs:19475:9
[INFO] [stdout]       |
[INFO] [stdout] 19475 |     let gdo_s = rwc(gnv * gdv);
[INFO] [stdout]       |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_gdo_s`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `gc_p`
[INFO] [stdout]      --> crates/cortiq-engine/src/gpu_wgpu.rs:20106:21
[INFO] [stdout]       |
[INFO] [stdout] 20106 |                 let gc_p = unif(&[*cdim as u32, *kk as u32, 0, 0]);
[INFO] [stdout]       |                     ^^^^ help: if this is intentional, prefix it with an underscore: `_gc_p`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `gd_p`
[INFO] [stdout]      --> crates/cortiq-engine/src/gpu_wgpu.rs:20107:21
[INFO] [stdout]       |
[INFO] [stdout] 20107 |                 let gd_p = unif(&[
[INFO] [stdout]       |                     ^^^^ help: if this is intentional, prefix it with an underscore: `_gd_p`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `gpr`
[INFO] [stdout]      --> crates/cortiq-engine/src/gpu_wgpu.rs:21811:9
[INFO] [stdout]       |
[INFO] [stdout] 21811 |     let gpr = cols / 32;
[INFO] [stdout]       |         ^^^ help: if this is intentional, prefix it with an underscore: `_gpr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]      --> crates/cortiq-engine/src/gpu_wgpu.rs:23270:13
[INFO] [stdout]       |
[INFO] [stdout] 23270 |         let mut split_now = |enc: &mut wgpu::CommandEncoder, slot: usize| {
[INFO] [stdout]       |             ----^^^^^^^^^
[INFO] [stdout]       |             |
[INFO] [stdout]       |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]     --> crates/cortiq-engine/src/qtensor.rs:4163:5
[INFO] [stdout]      |
[INFO] [stdout] 4163 |     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]     --> crates/cortiq-engine/src/qtensor.rs:8455:5
[INFO] [stdout]      |
[INFO] [stdout] 8455 |     unsafe {
[INFO] [stdout]      |     ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `l_gu`
[INFO] [stdout]      --> crates/cortiq-engine/src/gpu_wgpu.rs:32047:22
[INFO] [stdout]       |
[INFO] [stdout] 32047 |     let (p_gu, p_dn, l_gu, l_dn) = if g.gu_q2 {
[INFO] [stdout]       |                      ^^^^ help: if this is intentional, prefix it with an underscore: `_l_gu`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `l_dn`
[INFO] [stdout]      --> crates/cortiq-engine/src/gpu_wgpu.rs:32047:28
[INFO] [stdout]       |
[INFO] [stdout] 32047 |     let (p_gu, p_dn, l_gu, l_dn) = if g.gu_q2 {
[INFO] [stdout]       |                            ^^^^ help: if this is intentional, prefix it with an underscore: `_l_dn`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `qnw`
[INFO] [stdout]      --> crates/cortiq-engine/src/gpu_wgpu.rs:32592:9
[INFO] [stdout]       |
[INFO] [stdout] 32592 |     let qnw = const_buf(c, bytemuck::cast_slice(&w.attn.q_norm[..a.q_lora]));
[INFO] [stdout]       |         ^^^ help: if this is intentional, prefix it with an underscore: `_qnw`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ew`
[INFO] [stdout]      --> crates/cortiq-engine/src/gpu_wgpu.rs:40341:9
[INFO] [stdout]       |
[INFO] [stdout] 40341 |     let ew = if g.overlap { g.width / 2 } else { g.width };
[INFO] [stdout]       |         ^^ help: if this is intentional, prefix it with an underscore: `_ew`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ape_slot`
[INFO] [stdout]      --> crates/cortiq-engine/src/gpu_wgpu.rs:40440:9
[INFO] [stdout]       |
[INFO] [stdout] 40440 |     let ape_slot = frame_buf(c, 74 + kind, g.width * 4, true);
[INFO] [stdout]       |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ape_slot`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `kv`
[INFO] [stdout]      --> crates/cortiq-engine/src/gpu_wgpu.rs:40621:9
[INFO] [stdout]       |
[INFO] [stdout] 40621 |     let kv = frame_buf(c, 105, hd * 4, false);
[INFO] [stdout]       |         ^^ help: if this is intentional, prefix it with an underscore: `_kv`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> crates/cortiq-engine/src/vae3d.rs:223:24
[INFO] [stdout]     |
[INFO] [stdout] 223 |     let (mut overlaps, mut remaining);
[INFO] [stdout]     |                        ----^^^^^^^^^
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `state2`
[INFO] [stdout]      --> crates/cortiq-engine/src/gpu_wgpu.rs:42299:13
[INFO] [stdout]       |
[INFO] [stdout] 42299 |         let state2 = frame_buf(c, 46, h.hc * g.hidden * 4, true);
[INFO] [stdout]       |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_state2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> crates/cortiq-engine/src/imagegen.rs:257:13
[INFO] [stdout]     |
[INFO] [stdout] 257 |         let mut lap = |marks: &mut Vec<(&'static str, f32)>, name: &'static str| {
[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]    --> crates/cortiq-engine/src/kv_cache.rs:977:13
[INFO] [stdout]     |
[INFO] [stdout] 977 |         let mut u = |v: u32, o: &mut Vec<u8>| o.extend_from_slice(&v.to_le_bytes());
[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]     --> crates/cortiq-engine/src/kv_cache.rs:1021:13
[INFO] [stdout]      |
[INFO] [stdout] 1021 |         let mut u32_at = |o: &mut usize| -> Result<u32, 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]    --> crates/cortiq-engine/src/videogen.rs:302:9
[INFO] [stdout]     |
[INFO] [stdout] 302 |     let mut lap = |marks: &mut Vec<(&'static str, f32)>, name: &'static str| {
[INFO] [stdout]     |         ----^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `finish_projection_debug` is never used
[INFO] [stdout]    --> crates/cortiq-engine/src/attention.rs:806:15
[INFO] [stdout]     |
[INFO] [stdout] 806 | pub(crate) fn finish_projection_debug(q_raw: Vec<f32>, k: Vec<f32>, v: Vec<f32>, cfg: &QwenAttnCfg, position: 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: methods `cols` and `matvec_rows` are never used
[INFO] [stdout]   --> crates/cortiq-engine/src/dit.rs:84:19
[INFO] [stdout]    |
[INFO] [stdout] 37 | impl Proj {
[INFO] [stdout]    | --------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 84 |     pub(crate) fn cols(&self) -> usize {
[INFO] [stdout]    |                   ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 99 |     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]    --> crates/cortiq-engine/src/dit.rs:715:8
[INFO] [stdout]     |
[INFO] [stdout] 379 | impl NextDit {
[INFO] [stdout]     | ------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 715 |     fn gpu_block(
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `last_grew` is never used
[INFO] [stdout]     --> crates/cortiq-engine/src/dsv4.rs:3722:4
[INFO] [stdout]      |
[INFO] [stdout] 3722 | fn last_grew(now: u64) -> u64 {
[INFO] [stdout]      |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `compressed_written` is never used
[INFO] [stdout]     --> crates/cortiq-engine/src/dsv4.rs:3743:4
[INFO] [stdout]      |
[INFO] [stdout] 3743 | fn compressed_written(kv_id: u64, li: usize) -> usize {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `host_tail_walk` is never used
[INFO] [stdout]     --> crates/cortiq-engine/src/dsv4.rs:4650:4
[INFO] [stdout]      |
[INFO] [stdout] 4650 | fn host_tail_walk(
[INFO] [stdout]      |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `fp_f32` is never used
[INFO] [stdout]     --> crates/cortiq-engine/src/gpu.rs:2495:15
[INFO] [stdout]      |
[INFO] [stdout] 2495 | pub(crate) fn fp_f32(data: &[f32]) -> u64 {
[INFO] [stdout]      |               ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `silu_down`, `gdn_step_k`, and `layout_silu_down` are never read
[INFO] [stdout]      --> crates/cortiq-engine/src/gpu_wgpu.rs:12478:5
[INFO] [stdout]       |
[INFO] [stdout] 12300 | struct Ctx {
[INFO] [stdout]       |        --- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 12478 |     silu_down: wgpu::ComputePipeline,
[INFO] [stdout]       |     ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 12566 |     gdn_step_k: wgpu::ComputePipeline,
[INFO] [stdout]       |     ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 12600 |     layout_silu_down: wgpu::BindGroupLayout,
[INFO] [stdout]       |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `dpar` is never read
[INFO] [stdout]      --> crates/cortiq-engine/src/gpu_wgpu.rs:12797:5
[INFO] [stdout]       |
[INFO] [stdout] 12760 | struct Scratch {
[INFO] [stdout]       |        ------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 12797 |     dpar: Option<wgpu::Buffer>,
[INFO] [stdout]       |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `kv_u`, `at_u`, and `rope_u` are never read
[INFO] [stdout]      --> crates/cortiq-engine/src/gpu_wgpu.rs:12890:5
[INFO] [stdout]       |
[INFO] [stdout] 12856 | struct GraphScratch {
[INFO] [stdout]       |        ------------ fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 12890 |     kv_u: Option<wgpu::Buffer>,   // 16 bytes: [nkv, hd, cap, position]
[INFO] [stdout]       |     ^^^^
[INFO] [stdout] 12891 |     at_u: Option<wgpu::Buffer>,   // 32 bytes: [nh, nh/nkv, hd, cap, pos+1, 0, 0, 0]
[INFO] [stdout]       |     ^^^^
[INFO] [stdout] 12892 |     rope_u: Option<wgpu::Buffer>, // 32 bytes: [nh, nkv, hd, rd, pos, flags, eps, 0]
[INFO] [stdout]       |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `ensure_uniform` is never used
[INFO] [stdout]      --> crates/cortiq-engine/src/gpu_wgpu.rs:12930:8
[INFO] [stdout]       |
[INFO] [stdout] 12906 | impl GraphScratch {
[INFO] [stdout]       | ----------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 12930 |     fn ensure_uniform(
[INFO] [stdout]       |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `encode_q2tp_mv16w` is never used
[INFO] [stdout]      --> crates/cortiq-engine/src/gpu_wgpu.rs:14460:4
[INFO] [stdout]       |
[INFO] [stdout] 14460 | fn encode_q2tp_mv16w(
[INFO] [stdout]       |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `q2tp_mv_bind` is never used
[INFO] [stdout]      --> crates/cortiq-engine/src/gpu_wgpu.rs:14477:4
[INFO] [stdout]       |
[INFO] [stdout] 14477 | fn q2tp_mv_bind(
[INFO] [stdout]       |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `q4tp_matmat_dev` is never used
[INFO] [stdout]      --> crates/cortiq-engine/src/gpu_wgpu.rs:21425:15
[INFO] [stdout]       |
[INFO] [stdout] 21425 | pub(crate) fn q4tp_matmat_dev(
[INFO] [stdout]       |               ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `bind_buf_off` is never used
[INFO] [stdout]      --> crates/cortiq-engine/src/gpu_wgpu.rs:26103:4
[INFO] [stdout]       |
[INFO] [stdout] 26103 | fn bind_buf_off(binding: u32, buf: &wgpu::Buffer, off: u64, size: u64) -> wgpu::BindGroupEntry<'_> {
[INFO] [stdout]       |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `encode_f32matvec_k` is never used
[INFO] [stdout]      --> crates/cortiq-engine/src/gpu_wgpu.rs:26639:4
[INFO] [stdout]       |
[INFO] [stdout] 26639 | fn encode_f32matvec_k(
[INFO] [stdout]       |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `encode_f32matvec_k_p` is never used
[INFO] [stdout]      --> crates/cortiq-engine/src/gpu_wgpu.rs:26749:4
[INFO] [stdout]       |
[INFO] [stdout] 26749 | fn encode_f32matvec_k_p(
[INFO] [stdout]       |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `encode_f32matvec_off` is never used
[INFO] [stdout]      --> crates/cortiq-engine/src/gpu_wgpu.rs:26829:4
[INFO] [stdout]       |
[INFO] [stdout] 26829 | fn encode_f32matvec_off(
[INFO] [stdout]       |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `encode_silu_down` is never used
[INFO] [stdout]      --> crates/cortiq-engine/src/gpu_wgpu.rs:27389:4
[INFO] [stdout]       |
[INFO] [stdout] 27389 | fn encode_silu_down(
[INFO] [stdout]       |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `encode_hc_fold_k` is never used
[INFO] [stdout]      --> crates/cortiq-engine/src/gpu_wgpu.rs:31529:4
[INFO] [stdout]       |
[INFO] [stdout] 31529 | fn encode_hc_fold_k(
[INFO] [stdout]       |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `encode_hc_expand_k` is never used
[INFO] [stdout]      --> crates/cortiq-engine/src/gpu_wgpu.rs:31631:4
[INFO] [stdout]       |
[INFO] [stdout] 31631 | fn encode_hc_expand_k(
[INFO] [stdout]       |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `encode_moe_chain` is never used
[INFO] [stdout]      --> crates/cortiq-engine/src/gpu_wgpu.rs:31944:4
[INFO] [stdout]       |
[INFO] [stdout] 31944 | fn encode_moe_chain(
[INFO] [stdout]       |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `batch` is never read
[INFO] [stdout]      --> crates/cortiq-engine/src/gpu_wgpu.rs:34687:5
[INFO] [stdout]       |
[INFO] [stdout] 34685 | pub struct Dsv4SpecShadow {
[INFO] [stdout]       |            -------------- field in this struct
[INFO] [stdout] 34686 |     kv_id: u64,
[INFO] [stdout] 34687 |     batch: usize,
[INFO] [stdout]       |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `encode_axpy` is never used
[INFO] [stdout]      --> crates/cortiq-engine/src/gpu_wgpu.rs:40139:4
[INFO] [stdout]       |
[INFO] [stdout] 40139 | fn encode_axpy(
[INFO] [stdout]       |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `encode_axpy_p` is never used
[INFO] [stdout]      --> crates/cortiq-engine/src/gpu_wgpu.rs:40153:4
[INFO] [stdout]       |
[INFO] [stdout] 40153 | fn encode_axpy_p(
[INFO] [stdout]       |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `encode_kv_pool` is never used
[INFO] [stdout]      --> crates/cortiq-engine/src/gpu_wgpu.rs:40216:4
[INFO] [stdout]       |
[INFO] [stdout] 40216 | fn encode_kv_pool(
[INFO] [stdout]       |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `encode_fill_zero` is never used
[INFO] [stdout]      --> crates/cortiq-engine/src/gpu_wgpu.rs:40948:4
[INFO] [stdout]       |
[INFO] [stdout] 40948 | fn encode_fill_zero(
[INFO] [stdout]       |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `encode_fill_zero_p` is never used
[INFO] [stdout]      --> crates/cortiq-engine/src/gpu_wgpu.rs:40960:4
[INFO] [stdout]       |
[INFO] [stdout] 40960 | fn encode_fill_zero_p(
[INFO] [stdout]       |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `encode_index_scores` is never used
[INFO] [stdout]      --> crates/cortiq-engine/src/gpu_wgpu.rs:40981:4
[INFO] [stdout]       |
[INFO] [stdout] 40981 | fn encode_index_scores(
[INFO] [stdout]       |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `encode_top_k` is never used
[INFO] [stdout]      --> crates/cortiq-engine/src/gpu_wgpu.rs:41038:4
[INFO] [stdout]       |
[INFO] [stdout] 41038 | fn encode_top_k(
[INFO] [stdout]       |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `draft_vocab_rows` is never used
[INFO] [stdout]     --> crates/cortiq-engine/src/pipeline.rs:6864:8
[INFO] [stdout]      |
[INFO] [stdout]  741 | impl Pipeline {
[INFO] [stdout]      | ------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 6864 |     fn draft_vocab_rows(head_rows: usize) -> usize {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `mask_bit` is never used
[INFO] [stdout]     --> crates/cortiq-engine/src/pipeline.rs:8731:4
[INFO] [stdout]      |
[INFO] [stdout] 8731 | fn mask_bit(row: &[u8], j: usize) -> bool {
[INFO] [stdout]      |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `dense_ffn_masked` is never used
[INFO] [stdout]     --> crates/cortiq-engine/src/pipeline.rs:9081:4
[INFO] [stdout]      |
[INFO] [stdout] 9081 | fn dense_ffn_masked(d: &DenseFfn, x: &[f32], pool: Option<&Pool>, mask_row: &[u8]) -> Vec<f32> {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `dequant_dense_f32` is never used
[INFO] [stdout]     --> crates/cortiq-engine/src/pipeline.rs:9503:4
[INFO] [stdout]      |
[INFO] [stdout] 9503 | fn dequant_dense_f32(d: &DenseFfn) -> (Vec<f32>, Vec<f32>, Vec<f32>) {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `f32_parts`, `q1_parts`, and `q8_row_parts` are never used
[INFO] [stdout]    --> crates/cortiq-engine/src/qtensor.rs:365:19
[INFO] [stdout]     |
[INFO] [stdout] 174 | impl QTensor {
[INFO] [stdout]     | ------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 365 |     pub(crate) fn f32_parts(&self) -> Option<(&[f32], usize, usize)> {
[INFO] [stdout]     |                   ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 378 |     pub(crate) fn q1_parts(&self) -> Option<(usize, usize, usize)> {
[INFO] [stdout]     |                   ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 444 |     pub(crate) fn q8_row_parts(&self) -> Option<(usize, usize, usize, &[f32])> {
[INFO] [stdout]     |                   ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SIGN5_I8` is never used
[INFO] [stdout]     --> crates/cortiq-engine/src/qtensor.rs:6373:7
[INFO] [stdout]      |
[INFO] [stdout] 6373 | const SIGN5_I8: [[i8; 5]; 256] = {
[INFO] [stdout]      |       ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `num_cpus` is never used
[INFO] [stdout]    --> crates/cortiq-engine/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]     --> crates/cortiq-engine/src/sampler.rs:1061:4
[INFO] [stdout]      |
[INFO] [stdout] 1061 | fn apply_top_k(probs: &mut [f32], k: usize, sel: &mut Vec<f32>) {
[INFO] [stdout]      |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `chatml_fallback` is never used
[INFO] [stdout]     --> crates/cortiq-engine/src/tokenizer.rs:1002:8
[INFO] [stdout]      |
[INFO] [stdout]  186 | impl Tokenizer {
[INFO] [stdout]      | -------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 1002 |     fn chatml_fallback(&self, messages: &[(String, String)]) -> Vec<u32> {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `cmd_pool` is never read
[INFO] [stdout]   --> crates/cortiq-engine/src/vulkan.rs:49:5
[INFO] [stdout]    |
[INFO] [stdout] 43 | pub struct Ctx {
[INFO] [stdout]    |            --- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 49 |     cmd_pool: vk::CommandPool,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking cortiq-net v0.5.82 (/opt/rustwide/workdir/crates/cortiq-net)
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> crates/cortiq-engine/tests/vacuum.rs:157:9
[INFO] [stdout]     |
[INFO] [stdout] 157 |     let mut unit = |s: &mut u64| -> Vec<f32> {
[INFO] [stdout]     |         ----^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> crates/cortiq-net/src/worker.rs:189:9
[INFO] [stdout]     |
[INFO] [stdout] 189 |     let mut refuse =
[INFO] [stdout]     |         ----^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]     --> crates/cortiq-engine/src/qtensor.rs:4163:5
[INFO] [stdout]      |
[INFO] [stdout] 4163 |     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] [stderr]     Checking cortiq-server v0.5.82 (/opt/rustwide/workdir/crates/cortiq-server)
[INFO] [stderr]     Checking cortiq-ffi v0.5.82 (/opt/rustwide/workdir/crates/cortiq-ffi)
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]     --> crates/cortiq-engine/src/qtensor.rs:8455:5
[INFO] [stdout]      |
[INFO] [stdout] 8455 |     unsafe {
[INFO] [stdout]      |     ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> crates/cortiq-net/src/worker.rs:189:9
[INFO] [stdout]     |
[INFO] [stdout] 189 |     let mut refuse =
[INFO] [stdout]     |         ----^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking cortiq-cli v0.5.82 (/opt/rustwide/workdir/crates/cortiq-cli)
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> crates/cortiq-engine/src/vae3d.rs:223:24
[INFO] [stdout]     |
[INFO] [stdout] 223 |     let (mut overlaps, mut remaining);
[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]   --> crates/cortiq-engine/examples/o1_recovery.rs:71:9
[INFO] [stdout]    |
[INFO] [stdout] 71 |     let mut unit = |s: &mut u64| -> Vec<f32> {
[INFO] [stdout]    |         ----^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> crates/cortiq-engine/examples/o1_recovery.rs:151:9
[INFO] [stdout]     |
[INFO] [stdout] 151 |     let mut unit = |s: &mut u64| -> 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]    --> crates/cortiq-engine/src/videogen.rs:302:9
[INFO] [stdout]     |
[INFO] [stdout] 302 |     let mut lap = |marks: &mut Vec<(&'static str, f32)>, name: &'static str| {
[INFO] [stdout]     |         ----^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `finish_projection_debug` is never used
[INFO] [stdout]    --> crates/cortiq-engine/src/attention.rs:806:15
[INFO] [stdout]     |
[INFO] [stdout] 806 | pub(crate) fn finish_projection_debug(q_raw: Vec<f32>, k: Vec<f32>, v: Vec<f32>, cfg: &QwenAttnCfg, position: 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: methods `cols` and `matvec_rows` are never used
[INFO] [stdout]   --> crates/cortiq-engine/src/dit.rs:84:19
[INFO] [stdout]    |
[INFO] [stdout] 37 | impl Proj {
[INFO] [stdout]    | --------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 84 |     pub(crate) fn cols(&self) -> usize {
[INFO] [stdout]    |                   ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 99 |     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]    --> crates/cortiq-engine/src/dit.rs:715:8
[INFO] [stdout]     |
[INFO] [stdout] 379 | impl NextDit {
[INFO] [stdout]     | ------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 715 |     fn gpu_block(
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `last_grew` is never used
[INFO] [stdout]     --> crates/cortiq-engine/src/dsv4.rs:3722:4
[INFO] [stdout]      |
[INFO] [stdout] 3722 | fn last_grew(now: u64) -> u64 {
[INFO] [stdout]      |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `compressed_written` is never used
[INFO] [stdout]     --> crates/cortiq-engine/src/dsv4.rs:3743:4
[INFO] [stdout]      |
[INFO] [stdout] 3743 | fn compressed_written(kv_id: u64, li: usize) -> usize {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `host_tail_walk` is never used
[INFO] [stdout]     --> crates/cortiq-engine/src/dsv4.rs:4650:4
[INFO] [stdout]      |
[INFO] [stdout] 4650 | fn host_tail_walk(
[INFO] [stdout]      |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `fp_f32` is never used
[INFO] [stdout]     --> crates/cortiq-engine/src/gpu.rs:2495:15
[INFO] [stdout]      |
[INFO] [stdout] 2495 | pub(crate) fn fp_f32(data: &[f32]) -> u64 {
[INFO] [stdout]      |               ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `silu_down`, `gdn_step_k`, and `layout_silu_down` are never read
[INFO] [stdout]      --> crates/cortiq-engine/src/gpu_wgpu.rs:12478:5
[INFO] [stdout]       |
[INFO] [stdout] 12300 | struct Ctx {
[INFO] [stdout]       |        --- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 12478 |     silu_down: wgpu::ComputePipeline,
[INFO] [stdout]       |     ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 12566 |     gdn_step_k: wgpu::ComputePipeline,
[INFO] [stdout]       |     ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 12600 |     layout_silu_down: wgpu::BindGroupLayout,
[INFO] [stdout]       |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `dpar` is never read
[INFO] [stdout]      --> crates/cortiq-engine/src/gpu_wgpu.rs:12797:5
[INFO] [stdout]       |
[INFO] [stdout] 12760 | struct Scratch {
[INFO] [stdout]       |        ------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 12797 |     dpar: Option<wgpu::Buffer>,
[INFO] [stdout]       |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `kv_u`, `at_u`, and `rope_u` are never read
[INFO] [stdout]      --> crates/cortiq-engine/src/gpu_wgpu.rs:12890:5
[INFO] [stdout]       |
[INFO] [stdout] 12856 | struct GraphScratch {
[INFO] [stdout]       |        ------------ fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 12890 |     kv_u: Option<wgpu::Buffer>,   // 16 bytes: [nkv, hd, cap, position]
[INFO] [stdout]       |     ^^^^
[INFO] [stdout] 12891 |     at_u: Option<wgpu::Buffer>,   // 32 bytes: [nh, nh/nkv, hd, cap, pos+1, 0, 0, 0]
[INFO] [stdout]       |     ^^^^
[INFO] [stdout] 12892 |     rope_u: Option<wgpu::Buffer>, // 32 bytes: [nh, nkv, hd, rd, pos, flags, eps, 0]
[INFO] [stdout]       |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `ensure_uniform` is never used
[INFO] [stdout]      --> crates/cortiq-engine/src/gpu_wgpu.rs:12930:8
[INFO] [stdout]       |
[INFO] [stdout] 12906 | impl GraphScratch {
[INFO] [stdout]       | ----------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 12930 |     fn ensure_uniform(
[INFO] [stdout]       |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `q4tp_matmat_dev` is never used
[INFO] [stdout]      --> crates/cortiq-engine/src/gpu_wgpu.rs:21425:15
[INFO] [stdout]       |
[INFO] [stdout] 21425 | pub(crate) fn q4tp_matmat_dev(
[INFO] [stdout]       |               ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `bind_buf_off` is never used
[INFO] [stdout]      --> crates/cortiq-engine/src/gpu_wgpu.rs:26103:4
[INFO] [stdout]       |
[INFO] [stdout] 26103 | fn bind_buf_off(binding: u32, buf: &wgpu::Buffer, off: u64, size: u64) -> wgpu::BindGroupEntry<'_> {
[INFO] [stdout]       |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `encode_f32matvec_k` is never used
[INFO] [stdout]      --> crates/cortiq-engine/src/gpu_wgpu.rs:26639:4
[INFO] [stdout]       |
[INFO] [stdout] 26639 | fn encode_f32matvec_k(
[INFO] [stdout]       |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `encode_f32matvec_k_p` is never used
[INFO] [stdout]      --> crates/cortiq-engine/src/gpu_wgpu.rs:26749:4
[INFO] [stdout]       |
[INFO] [stdout] 26749 | fn encode_f32matvec_k_p(
[INFO] [stdout]       |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `encode_f32matvec_off` is never used
[INFO] [stdout]      --> crates/cortiq-engine/src/gpu_wgpu.rs:26829:4
[INFO] [stdout]       |
[INFO] [stdout] 26829 | fn encode_f32matvec_off(
[INFO] [stdout]       |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `encode_silu_down` is never used
[INFO] [stdout]      --> crates/cortiq-engine/src/gpu_wgpu.rs:27389:4
[INFO] [stdout]       |
[INFO] [stdout] 27389 | fn encode_silu_down(
[INFO] [stdout]       |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `encode_hc_fold_k` is never used
[INFO] [stdout]      --> crates/cortiq-engine/src/gpu_wgpu.rs:31529:4
[INFO] [stdout]       |
[INFO] [stdout] 31529 | fn encode_hc_fold_k(
[INFO] [stdout]       |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `encode_hc_expand_k` is never used
[INFO] [stdout]      --> crates/cortiq-engine/src/gpu_wgpu.rs:31631:4
[INFO] [stdout]       |
[INFO] [stdout] 31631 | fn encode_hc_expand_k(
[INFO] [stdout]       |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `encode_moe_chain` is never used
[INFO] [stdout]      --> crates/cortiq-engine/src/gpu_wgpu.rs:31944:4
[INFO] [stdout]       |
[INFO] [stdout] 31944 | fn encode_moe_chain(
[INFO] [stdout]       |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `batch` is never read
[INFO] [stdout]      --> crates/cortiq-engine/src/gpu_wgpu.rs:34687:5
[INFO] [stdout]       |
[INFO] [stdout] 34685 | pub struct Dsv4SpecShadow {
[INFO] [stdout]       |            -------------- field in this struct
[INFO] [stdout] 34686 |     kv_id: u64,
[INFO] [stdout] 34687 |     batch: usize,
[INFO] [stdout]       |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `encode_axpy` is never used
[INFO] [stdout]      --> crates/cortiq-engine/src/gpu_wgpu.rs:40139:4
[INFO] [stdout]       |
[INFO] [stdout] 40139 | fn encode_axpy(
[INFO] [stdout]       |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `encode_axpy_p` is never used
[INFO] [stdout]      --> crates/cortiq-engine/src/gpu_wgpu.rs:40153:4
[INFO] [stdout]       |
[INFO] [stdout] 40153 | fn encode_axpy_p(
[INFO] [stdout]       |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `encode_kv_pool` is never used
[INFO] [stdout]      --> crates/cortiq-engine/src/gpu_wgpu.rs:40216:4
[INFO] [stdout]       |
[INFO] [stdout] 40216 | fn encode_kv_pool(
[INFO] [stdout]       |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `encode_fill_zero` is never used
[INFO] [stdout]      --> crates/cortiq-engine/src/gpu_wgpu.rs:40948:4
[INFO] [stdout]       |
[INFO] [stdout] 40948 | fn encode_fill_zero(
[INFO] [stdout]       |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `encode_fill_zero_p` is never used
[INFO] [stdout]      --> crates/cortiq-engine/src/gpu_wgpu.rs:40960:4
[INFO] [stdout]       |
[INFO] [stdout] 40960 | fn encode_fill_zero_p(
[INFO] [stdout]       |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `encode_index_scores` is never used
[INFO] [stdout]      --> crates/cortiq-engine/src/gpu_wgpu.rs:40981:4
[INFO] [stdout]       |
[INFO] [stdout] 40981 | fn encode_index_scores(
[INFO] [stdout]       |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `encode_top_k` is never used
[INFO] [stdout]      --> crates/cortiq-engine/src/gpu_wgpu.rs:41038:4
[INFO] [stdout]       |
[INFO] [stdout] 41038 | fn encode_top_k(
[INFO] [stdout]       |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `draft_vocab_rows` is never used
[INFO] [stdout]     --> crates/cortiq-engine/src/pipeline.rs:6864:8
[INFO] [stdout]      |
[INFO] [stdout]  741 | impl Pipeline {
[INFO] [stdout]      | ------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 6864 |     fn draft_vocab_rows(head_rows: usize) -> usize {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `mask_bit` is never used
[INFO] [stdout]     --> crates/cortiq-engine/src/pipeline.rs:8731:4
[INFO] [stdout]      |
[INFO] [stdout] 8731 | fn mask_bit(row: &[u8], j: usize) -> bool {
[INFO] [stdout]      |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `dense_ffn_masked` is never used
[INFO] [stdout]     --> crates/cortiq-engine/src/pipeline.rs:9081:4
[INFO] [stdout]      |
[INFO] [stdout] 9081 | fn dense_ffn_masked(d: &DenseFfn, x: &[f32], pool: Option<&Pool>, mask_row: &[u8]) -> Vec<f32> {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `dequant_dense_f32` is never used
[INFO] [stdout]     --> crates/cortiq-engine/src/pipeline.rs:9503:4
[INFO] [stdout]      |
[INFO] [stdout] 9503 | fn dequant_dense_f32(d: &DenseFfn) -> (Vec<f32>, Vec<f32>, Vec<f32>) {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `f32_parts`, `q1_parts`, and `q8_row_parts` are never used
[INFO] [stdout]    --> crates/cortiq-engine/src/qtensor.rs:365:19
[INFO] [stdout]     |
[INFO] [stdout] 174 | impl QTensor {
[INFO] [stdout]     | ------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 365 |     pub(crate) fn f32_parts(&self) -> Option<(&[f32], usize, usize)> {
[INFO] [stdout]     |                   ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 378 |     pub(crate) fn q1_parts(&self) -> Option<(usize, usize, usize)> {
[INFO] [stdout]     |                   ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 444 |     pub(crate) fn q8_row_parts(&self) -> Option<(usize, usize, usize, &[f32])> {
[INFO] [stdout]     |                   ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SIGN5_I8` is never used
[INFO] [stdout]     --> crates/cortiq-engine/src/qtensor.rs:6373:7
[INFO] [stdout]      |
[INFO] [stdout] 6373 | const SIGN5_I8: [[i8; 5]; 256] = {
[INFO] [stdout]      |       ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `num_cpus` is never used
[INFO] [stdout]    --> crates/cortiq-engine/src/runtime.rs:308:4
[INFO] [stdout]     |
[INFO] [stdout] 308 | fn num_cpus() -> usize {
[INFO] [stdout]     |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `chatml_fallback` is never used
[INFO] [stdout]     --> crates/cortiq-engine/src/tokenizer.rs:1002:8
[INFO] [stdout]      |
[INFO] [stdout]  186 | impl Tokenizer {
[INFO] [stdout]      | -------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 1002 |     fn chatml_fallback(&self, messages: &[(String, String)]) -> Vec<u32> {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `cmd_pool` is never read
[INFO] [stdout]   --> crates/cortiq-engine/src/vulkan.rs:49:5
[INFO] [stdout]    |
[INFO] [stdout] 43 | pub struct Ctx {
[INFO] [stdout]    |            --- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 49 |     cmd_pool: vk::CommandPool,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `cortiq_core::types::TensorDtype`
[INFO] [stdout]   --> crates/cortiq-cli/src/awnp.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 24 | use cortiq_core::types::TensorDtype;
[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: `cortiq_core::types::TensorDtype`
[INFO] [stdout]   --> crates/cortiq-cli/src/awnp.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 24 | use cortiq_core::types::TensorDtype;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> crates/cortiq-cli/src/main.rs:3498:13
[INFO] [stdout]      |
[INFO] [stdout] 3498 |         let mut mark_first = move || {
[INFO] [stdout]      |             ----^^^^^^^^^^
[INFO] [stdout]      |             |
[INFO] [stdout]      |             help: remove this `mut`
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> crates/cortiq-cli/src/main.rs:3498:13
[INFO] [stdout]      |
[INFO] [stdout] 3498 |         let mut mark_first = move || {
[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: struct `LocalGpuWorker` is never constructed
[INFO] [stdout]     --> crates/cortiq-cli/src/main.rs:3737:8
[INFO] [stdout]      |
[INFO] [stdout] 3737 | struct LocalGpuWorker {
[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 `spawn_local_gpu_worker` is never used
[INFO] [stdout]     --> crates/cortiq-cli/src/main.rs:3755:4
[INFO] [stdout]      |
[INFO] [stdout] 3755 | fn spawn_local_gpu_worker(model: &str, n: usize) -> anyhow::Result<LocalGpuWorker> {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `LocalGpuWorker` is never constructed
[INFO] [stdout]     --> crates/cortiq-cli/src/main.rs:3737:8
[INFO] [stdout]      |
[INFO] [stdout] 3737 | struct LocalGpuWorker {
[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 `spawn_local_gpu_worker` is never used
[INFO] [stdout]     --> crates/cortiq-cli/src/main.rs:3755:4
[INFO] [stdout]      |
[INFO] [stdout] 3755 | fn spawn_local_gpu_worker(model: &str, n: usize) -> anyhow::Result<LocalGpuWorker> {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 2m 17s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: naga v30.0.0, wgpu v30.0.0, wgpu-core v30.0.0, wgpu-hal v30.0.0
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 7`
[INFO] running `Command { std: "docker" "inspect" "60c674c8bd385db5471301020c32a6f1c8599167f08f7e31ef091bf891789188", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "60c674c8bd385db5471301020c32a6f1c8599167f08f7e31ef091bf891789188", kill_on_drop: false }`
[INFO] [stdout] 60c674c8bd385db5471301020c32a6f1c8599167f08f7e31ef091bf891789188
