[INFO] fetching crate ruvllm-esp32 0.3.2...
[INFO] testing ruvllm-esp32-0.3.2 against 1.99.0-beta.8+cargoflags=--release for beta-release-1.100-2
[INFO] extracting crate ruvllm-esp32 0.3.2 into /workspace/builds/worker-1-tc1/source
[INFO] started tweaking crates.io crate ruvllm-esp32 0.3.2
[INFO] removed 0 missing examples
[INFO] removed 0 missing tests
[INFO] finished tweaking crates.io crate ruvllm-esp32 0.3.2
[INFO] tweaked toml for crates.io crate ruvllm-esp32 0.3.2 written to /workspace/builds/worker-1-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate ruvllm-esp32 0.3.2 on toolchain 1.99.0-beta.8
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.99.0-beta.8" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate ruvllm-esp32 0.3.2 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.99.0-beta.8" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded cvt v0.1.2
[INFO] [stderr]   Downloaded build-time v0.1.3
[INFO] [stderr]   Downloaded az v1.2.1
[INFO] [stderr]   Downloaded remove_dir_all v0.8.4
[INFO] [stderr]   Downloaded normpath v1.5.0
[INFO] [stderr]   Downloaded redox_syscall v0.6.0
[INFO] [stderr]   Downloaded cargo_metadata v0.18.1
[INFO] [stderr]   Downloaded fs_at v0.2.1
[INFO] [stderr]   Downloaded embedded-svc v0.28.1
[INFO] [stderr]   Downloaded embassy-sync v0.6.2
[INFO] [stderr]   Downloaded esp-idf-sys v0.35.0
[INFO] [stderr]   Downloaded fixed v1.29.0
[INFO] [stderr]   Downloaded esp-idf-hal v0.44.1
[INFO] [stderr]   Downloaded esp-idf-svc v0.49.1
[INFO] [stderr]   Downloaded bindgen v0.69.5
[INFO] [stderr]   Downloaded embuild v0.32.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:77db811e55d90add9212f6832c23229e3de5f1c1f9905e8cb07319ea15df73ac" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] dad87af60eecc1220d73610e20707dd316e550ca8686679a13a270c3621a161a
[INFO] running `Command { std: "docker" "start" "dad87af60eecc1220d73610e20707dd316e550ca8686679a13a270c3621a161a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "dad87af60eecc1220d73610e20707dd316e550ca8686679a13a270c3621a161a", 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" "dad87af60eecc1220d73610e20707dd316e550ca8686679a13a270c3621a161a" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "dad87af60eecc1220d73610e20707dd316e550ca8686679a13a270c3621a161a", 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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "dad87af60eecc1220d73610e20707dd316e550ca8686679a13a270c3621a161a" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "build" "--frozen" "--message-format=json" "--release", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.103
[INFO] [stderr]    Compiling unicode-ident v1.0.22
[INFO] [stderr]    Compiling quote v1.0.42
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling zerocopy v0.8.31
[INFO] [stderr]    Compiling thiserror v2.0.17
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling az v1.2.1
[INFO] [stderr]    Compiling typenum v1.19.0
[INFO] [stderr]    Compiling libm v0.2.15
[INFO] [stderr]    Compiling heapless v0.8.0
[INFO] [stderr]    Compiling byteorder v1.5.0
[INFO] [stderr]    Compiling fixed v1.29.0
[INFO] [stderr]    Compiling anyhow v1.0.100
[INFO] [stderr]    Compiling cfg-if v1.0.4
[INFO] [stderr]    Compiling stable_deref_trait v1.2.1
[INFO] [stderr]    Compiling bytemuck v1.24.0
[INFO] [stderr]    Compiling log v0.4.29
[INFO] [stderr]    Compiling hash32 v0.3.1
[INFO] [stderr]    Compiling syn v2.0.111
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling thiserror-impl v2.0.17
[INFO] [stderr]    Compiling zerocopy-derive v0.8.31
[INFO] [stderr]    Compiling cobs v0.3.0
[INFO] [stderr]    Compiling postcard v1.1.3
[INFO] [stderr]    Compiling half v2.7.1
[INFO] [stderr]    Compiling ruvllm-esp32 v0.3.2 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused imports: `QuantParams` and `QuantizationType`
[INFO] [stdout]  --> src/micro_inference.rs:6:24
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::quantized::{QuantizationType, matmul_int8, QuantParams};
[INFO] [stdout]   |                        ^^^^^^^^^^^^^^^^               ^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `frozen`
[INFO] [stdout]    --> src/optimizations/micro_lora.rs:178:15
[INFO] [stdout]     |
[INFO] [stdout] 178 |     #[cfg(not(feature = "frozen"))]
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected values for `feature` are: `anyhow`, `binary`, `default`, `esp-idf-hal`, `esp-idf-svc`, `esp-idf-sys`, `esp32-std`, `esp32s3-simd`, `federation`, `host-test`, `no_std`, `q4`, `q8`, and `self-learning`
[INFO] [stdout]     = help: consider adding `frozen` as a feature in `Cargo.toml`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]     = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `frozen`
[INFO] [stdout]    --> src/federation/coordinator.rs:280:15
[INFO] [stdout]     |
[INFO] [stdout] 280 |     #[cfg(not(feature = "frozen"))]
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected values for `feature` are: `anyhow`, `binary`, `default`, `esp-idf-hal`, `esp-idf-svc`, `esp-idf-sys`, `esp32-std`, `esp32s3-simd`, `federation`, `host-test`, `no_std`, `q4`, `q8`, and `self-learning`
[INFO] [stdout]     = help: consider adding `frozen` as a feature in `Cargo.toml`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::protocol::ChipId`
[INFO] [stdout]   --> src/federation/massive_scale.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 24 | use super::protocol::ChipId;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `euclidean_distance_i8`
[INFO] [stdout]   --> src/ruvector/micro_hnsw.rs:22:42
[INFO] [stdout]    |
[INFO] [stdout] 22 | use super::{MicroVector, DistanceMetric, euclidean_distance_i8, MAX_NEIGHBORS};
[INFO] [stdout]    |                                          ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `SearchResult`
[INFO] [stdout]   --> src/ruvector/semantic_memory.rs:34:36
[INFO] [stdout]    |
[INFO] [stdout] 34 | use super::{MicroHNSW, HNSWConfig, SearchResult, MicroVector, DistanceMetric};
[INFO] [stdout]    |                                    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `SearchResult`
[INFO] [stdout]   --> src/ruvector/rag.rs:45:36
[INFO] [stdout]    |
[INFO] [stdout] 45 | use super::{MicroHNSW, HNSWConfig, SearchResult, MicroVector, DistanceMetric};
[INFO] [stdout]    |                                    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `euclidean_distance_i8`
[INFO] [stdout]   --> src/ruvector/anomaly.rs:32:65
[INFO] [stdout]    |
[INFO] [stdout] 32 | use super::{MicroHNSW, HNSWConfig, MicroVector, DistanceMetric, euclidean_distance_i8};
[INFO] [stdout]    |                                                                 ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]    --> src/ruvector/anomaly.rs:306:30
[INFO] [stdout]     |
[INFO] [stdout] 306 |         self.avg_distance += (delta / n as i32);
[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] 306 -         self.avg_distance += (delta / n as i32);
[INFO] [stdout] 306 +         self.avg_distance += delta / n as i32;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `MAX_VECTORS`
[INFO] [stdout]   --> src/ruvector/federated_search.rs:40:79
[INFO] [stdout]    |
[INFO] [stdout] 40 | use super::{MicroHNSW, HNSWConfig, SearchResult, MicroVector, DistanceMetric, MAX_VECTORS};
[INFO] [stdout]    |                                                                               ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/diagnostics.rs:251:9
[INFO] [stdout]     |
[INFO] [stdout] 251 |     let mut issues = heapless::Vec::new();
[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: `query`
[INFO] [stdout]   --> src/federation/tensor_parallel.rs:80:9
[INFO] [stdout]    |
[INFO] [stdout] 80 |         query: &[i8],
[INFO] [stdout]    |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_query`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `keys`
[INFO] [stdout]   --> src/federation/tensor_parallel.rs:81:9
[INFO] [stdout]    |
[INFO] [stdout] 81 |         keys: &[&[i8]],
[INFO] [stdout]    |         ^^^^ help: if this is intentional, prefix it with an underscore: `_keys`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bisection`
[INFO] [stdout]    --> src/federation/massive_scale.rs:221:13
[INFO] [stdout]     |
[INFO] [stdout] 221 |         let bisection = self.config.topology.bisection_bandwidth();
[INFO] [stdout]     |             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_bisection`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `chips`
[INFO] [stdout]    --> src/federation/massive_scale.rs:306:17
[INFO] [stdout]     |
[INFO] [stdout] 306 |             let chips = 1 << power;
[INFO] [stdout]     |                 ^^^^^ help: if this is intentional, prefix it with an underscore: `_chips`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cluster_distance`
[INFO] [stdout]    --> src/ruvector/anomaly.rs:252:31
[INFO] [stdout]     |
[INFO] [stdout] 252 |         let (nearest_cluster, cluster_distance) = self.find_nearest_cluster(embedding);
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_cluster_distance`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `start`
[INFO] [stdout]    --> src/ruvector/federated_search.rs:207:13
[INFO] [stdout]     |
[INFO] [stdout] 207 |         let start = 0u32; // Would use actual timer on ESP32
[INFO] [stdout]     |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_start`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `num_heads` is never read
[INFO] [stdout]   --> src/attention.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub struct MicroAttention {
[INFO] [stdout]    |            -------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 15 |     num_heads: usize,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `feature_dim` is never read
[INFO] [stdout]    --> src/attention.rs:138:5
[INFO] [stdout]     |
[INFO] [stdout] 136 | pub struct LinearAttention {
[INFO] [stdout]     |            --------------- field in this struct
[INFO] [stdout] 137 |     /// Feature dimension for kernel
[INFO] [stdout] 138 |     feature_dim: usize,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `scale` is never read
[INFO] [stdout]   --> src/embedding.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub struct EmbeddingTable<const VOCAB: usize, const DIM: usize> {
[INFO] [stdout]    |            -------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 21 |     scale: f32,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `dim` is never read
[INFO] [stdout]   --> src/optimizations/binary_quant.rs:78:5
[INFO] [stdout]    |
[INFO] [stdout] 72 | pub struct BinaryEmbedding<const VOCAB: usize, const DIM_BYTES: usize> {
[INFO] [stdout]    |            --------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 78 |     dim: usize,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `input_scale` is never read
[INFO] [stdout]   --> src/optimizations/lookup_tables.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub struct SoftmaxLUT {
[INFO] [stdout]    |            ---------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 14 |     input_scale: i32,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `a_params` and `b_params` are never read
[INFO] [stdout]   --> src/optimizations/micro_lora.rs:50:5
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub struct MicroLoRA {
[INFO] [stdout]    |            --------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 50 |     a_params: QuantParams,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 51 |     /// Quantization params for B
[INFO] [stdout] 52 |     b_params: QuantParams,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `current_step` is never read
[INFO] [stdout]    --> src/optimizations/pruning.rs:100:5
[INFO] [stdout]     |
[INFO] [stdout]  94 | pub struct LayerPruner {
[INFO] [stdout]     |            ----------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 100 |     current_step: usize,
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `input_buffer` is never read
[INFO] [stdout]    --> src/federation/pipeline.rs:151:5
[INFO] [stdout]     |
[INFO] [stdout] 137 | pub struct PipelineNode {
[INFO] [stdout]     |            ------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 151 |     input_buffer: HVec<i8, 256>,
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `output_buffer` is never read
[INFO] [stdout]   --> src/federation/tensor_parallel.rs:60:5
[INFO] [stdout]    |
[INFO] [stdout] 55 | pub struct TensorParallelNode {
[INFO] [stdout]    |            ------------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 60 |     output_buffer: HVec<i32, 256>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `is_master` and `topology` are never read
[INFO] [stdout]   --> src/federation/coordinator.rs:75:5
[INFO] [stdout]    |
[INFO] [stdout] 71 | pub struct FederationCoordinator {
[INFO] [stdout]    |            --------------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 75 |     is_master: bool,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 79 |     topology: ClusterTopology,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `node_id`, `siblings`, `level`, and `total_levels` are never read
[INFO] [stdout]    --> src/federation/massive_scale.rs:342:5
[INFO] [stdout]     |
[INFO] [stdout] 340 | pub struct DistributedCoordinator {
[INFO] [stdout]     |            ---------------------- fields in this struct
[INFO] [stdout] 341 |     /// This node's ID
[INFO] [stdout] 342 |     node_id: u32,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 348 |     siblings: HVec<u32, MAX_CHILDREN>,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] 349 |     /// Current level in hierarchy
[INFO] [stdout] 350 |     level: u8,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 351 |     /// Total levels
[INFO] [stdout] 352 |     total_levels: u8,
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `round` is never read
[INFO] [stdout]    --> src/federation/massive_scale.rs:520:5
[INFO] [stdout]     |
[INFO] [stdout] 514 | pub struct GossipProtocol {
[INFO] [stdout]     |            -------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 520 |     round: u32,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `variance` is never read
[INFO] [stdout]    --> src/ruvector/anomaly.rs:114:5
[INFO] [stdout]     |
[INFO] [stdout] 106 | struct Cluster {
[INFO] [stdout]     |        ------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 114 |     variance: i32,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Cluster` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `std`
[INFO] [stdout]    --> src/main.rs:256:7
[INFO] [stdout]     |
[INFO] [stdout] 256 | #[cfg(feature = "std")]
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected values for `feature` are: `anyhow`, `binary`, `default`, `esp-idf-hal`, `esp-idf-svc`, `esp-idf-sys`, `esp32-std`, `esp32s3-simd`, `federation`, `host-test`, `no_std`, `q4`, `q8`, and `self-learning`
[INFO] [stdout]     = help: consider adding `std` as a feature in `Cargo.toml`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]     = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `std`
[INFO] [stdout]    --> src/main.rs:319:7
[INFO] [stdout]     |
[INFO] [stdout] 319 | #[cfg(feature = "std")]
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected values for `feature` are: `anyhow`, `binary`, `default`, `esp-idf-hal`, `esp-idf-svc`, `esp-idf-sys`, `esp32-std`, `esp32s3-simd`, `federation`, `host-test`, `no_std`, `q4`, `q8`, and `self-learning`
[INFO] [stdout]     = help: consider adding `std` as a feature in `Cargo.toml`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `detect_variant` is never used
[INFO] [stdout]    --> src/main.rs:245:4
[INFO] [stdout]     |
[INFO] [stdout] 245 | fn detect_variant() -> Esp32Variant {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `release` profile [optimized] target(s) in 29.56s
[INFO] running `Command { std: "docker" "inspect" "dad87af60eecc1220d73610e20707dd316e550ca8686679a13a270c3621a161a", 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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "dad87af60eecc1220d73610e20707dd316e550ca8686679a13a270c3621a161a" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "test" "--frozen" "--no-run" "--message-format=json" "--release", kill_on_drop: false }`
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling crossbeam-utils v0.8.21
[INFO] [stderr]    Compiling cfg-if v1.0.4
[INFO] [stderr]    Compiling autocfg v1.5.0
[INFO] [stderr]    Compiling serde_json v1.0.147
[INFO] [stderr]    Compiling libc v0.2.178
[INFO] [stderr]    Compiling zerocopy v0.8.31
[INFO] [stderr]    Compiling either v1.15.0
[INFO] [stderr]    Compiling thiserror v2.0.17
[INFO] [stderr]    Compiling rayon-core v1.13.0
[INFO] [stderr]    Compiling memchr v2.7.6
[INFO] [stderr]    Compiling ciborium-io v0.2.2
[INFO] [stderr]    Compiling byteorder v1.5.0
[INFO] [stderr]    Compiling zmij v0.1.9
[INFO] [stderr]    Compiling regex-syntax v0.8.8
[INFO] [stderr]    Compiling clap_lex v0.7.6
[INFO] [stderr]    Compiling anstyle v1.0.13
[INFO] [stderr]    Compiling plotters-backend v0.3.7
[INFO] [stderr]    Compiling itoa v1.0.16
[INFO] [stderr]    Compiling cobs v0.3.0
[INFO] [stderr]    Compiling typenum v1.19.0
[INFO] [stderr]    Compiling az v1.2.1
[INFO] [stderr]    Compiling clap_builder v4.5.53
[INFO] [stderr]    Compiling itertools v0.10.5
[INFO] [stderr]    Compiling hash32 v0.3.1
[INFO] [stderr]    Compiling cast v0.3.0
[INFO] [stderr]    Compiling plotters-svg v0.3.7
[INFO] [stderr]    Compiling same-file v1.0.6
[INFO] [stderr]    Compiling bytemuck v1.24.0
[INFO] [stderr]    Compiling stable_deref_trait v1.2.1
[INFO] [stderr]    Compiling anyhow v1.0.100
[INFO] [stderr]    Compiling libm v0.2.15
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling walkdir v2.5.0
[INFO] [stderr]    Compiling log v0.4.29
[INFO] [stderr]    Compiling anes v0.1.6
[INFO] [stderr]    Compiling oorandom v11.1.5
[INFO] [stderr]    Compiling crossbeam-epoch v0.9.18
[INFO] [stderr]    Compiling once_cell v1.21.3
[INFO] [stderr]    Compiling crossbeam-deque v0.8.6
[INFO] [stderr]    Compiling is-terminal v0.4.17
[INFO] [stderr]    Compiling half v2.7.1
[INFO] [stderr]    Compiling regex-automata v0.4.13
[INFO] [stderr]    Compiling plotters v0.3.7
[INFO] [stderr]    Compiling rayon v1.11.0
[INFO] [stderr]    Compiling ciborium-ll v0.2.2
[INFO] [stderr]    Compiling fixed v1.29.0
[INFO] [stderr]    Compiling criterion-plot v0.5.0
[INFO] [stderr]    Compiling clap v4.5.53
[INFO] [stderr]    Compiling postcard v1.1.3
[INFO] [stderr]    Compiling ciborium v0.2.2
[INFO] [stderr]    Compiling heapless v0.8.0
[INFO] [stderr]    Compiling regex v1.12.2
[INFO] [stderr]    Compiling tinytemplate v1.2.1
[INFO] [stderr]    Compiling criterion v0.5.1
[INFO] [stderr]    Compiling ruvllm-esp32 v0.3.2 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused imports: `QuantParams` and `QuantizationType`
[INFO] [stdout]  --> src/micro_inference.rs:6:24
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::quantized::{QuantizationType, matmul_int8, QuantParams};
[INFO] [stdout]   |                        ^^^^^^^^^^^^^^^^               ^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `frozen`
[INFO] [stdout]    --> src/optimizations/micro_lora.rs:178:15
[INFO] [stdout]     |
[INFO] [stdout] 178 |     #[cfg(not(feature = "frozen"))]
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected values for `feature` are: `anyhow`, `binary`, `default`, `esp-idf-hal`, `esp-idf-svc`, `esp-idf-sys`, `esp32-std`, `esp32s3-simd`, `federation`, `host-test`, `no_std`, `q4`, `q8`, and `self-learning`
[INFO] [stdout]     = help: consider adding `frozen` as a feature in `Cargo.toml`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]     = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `frozen`
[INFO] [stdout]    --> src/federation/coordinator.rs:280:15
[INFO] [stdout]     |
[INFO] [stdout] 280 |     #[cfg(not(feature = "frozen"))]
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected values for `feature` are: `anyhow`, `binary`, `default`, `esp-idf-hal`, `esp-idf-svc`, `esp-idf-sys`, `esp32-std`, `esp32s3-simd`, `federation`, `host-test`, `no_std`, `q4`, `q8`, and `self-learning`
[INFO] [stdout]     = help: consider adding `frozen` as a feature in `Cargo.toml`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::protocol::ChipId`
[INFO] [stdout]   --> src/federation/massive_scale.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 24 | use super::protocol::ChipId;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `euclidean_distance_i8`
[INFO] [stdout]   --> src/ruvector/micro_hnsw.rs:22:42
[INFO] [stdout]    |
[INFO] [stdout] 22 | use super::{MicroVector, DistanceMetric, euclidean_distance_i8, MAX_NEIGHBORS};
[INFO] [stdout]    |                                          ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `SearchResult`
[INFO] [stdout]   --> src/ruvector/semantic_memory.rs:34:36
[INFO] [stdout]    |
[INFO] [stdout] 34 | use super::{MicroHNSW, HNSWConfig, SearchResult, MicroVector, DistanceMetric};
[INFO] [stdout]    |                                    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `SearchResult`
[INFO] [stdout]   --> src/ruvector/rag.rs:45:36
[INFO] [stdout]    |
[INFO] [stdout] 45 | use super::{MicroHNSW, HNSWConfig, SearchResult, MicroVector, DistanceMetric};
[INFO] [stdout]    |                                    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `euclidean_distance_i8`
[INFO] [stdout]   --> src/ruvector/anomaly.rs:32:65
[INFO] [stdout]    |
[INFO] [stdout] 32 | use super::{MicroHNSW, HNSWConfig, MicroVector, DistanceMetric, euclidean_distance_i8};
[INFO] [stdout]    |                                                                 ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]    --> src/ruvector/anomaly.rs:306:30
[INFO] [stdout]     |
[INFO] [stdout] 306 |         self.avg_distance += (delta / n as i32);
[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] 306 -         self.avg_distance += (delta / n as i32);
[INFO] [stdout] 306 +         self.avg_distance += delta / n as i32;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `MAX_VECTORS`
[INFO] [stdout]   --> src/ruvector/federated_search.rs:40:79
[INFO] [stdout]    |
[INFO] [stdout] 40 | use super::{MicroHNSW, HNSWConfig, SearchResult, MicroVector, DistanceMetric, MAX_VECTORS};
[INFO] [stdout]    |                                                                               ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/diagnostics.rs:251:9
[INFO] [stdout]     |
[INFO] [stdout] 251 |     let mut issues = heapless::Vec::new();
[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: `query`
[INFO] [stdout]   --> src/federation/tensor_parallel.rs:80:9
[INFO] [stdout]    |
[INFO] [stdout] 80 |         query: &[i8],
[INFO] [stdout]    |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_query`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `keys`
[INFO] [stdout]   --> src/federation/tensor_parallel.rs:81:9
[INFO] [stdout]    |
[INFO] [stdout] 81 |         keys: &[&[i8]],
[INFO] [stdout]    |         ^^^^ help: if this is intentional, prefix it with an underscore: `_keys`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bisection`
[INFO] [stdout]    --> src/federation/massive_scale.rs:221:13
[INFO] [stdout]     |
[INFO] [stdout] 221 |         let bisection = self.config.topology.bisection_bandwidth();
[INFO] [stdout]     |             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_bisection`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `chips`
[INFO] [stdout]    --> src/federation/massive_scale.rs:306:17
[INFO] [stdout]     |
[INFO] [stdout] 306 |             let chips = 1 << power;
[INFO] [stdout]     |                 ^^^^^ help: if this is intentional, prefix it with an underscore: `_chips`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cluster_distance`
[INFO] [stdout]    --> src/ruvector/anomaly.rs:252:31
[INFO] [stdout]     |
[INFO] [stdout] 252 |         let (nearest_cluster, cluster_distance) = self.find_nearest_cluster(embedding);
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_cluster_distance`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `start`
[INFO] [stdout]    --> src/ruvector/federated_search.rs:207:13
[INFO] [stdout]     |
[INFO] [stdout] 207 |         let start = 0u32; // Would use actual timer on ESP32
[INFO] [stdout]     |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_start`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `num_heads` is never read
[INFO] [stdout]   --> src/attention.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub struct MicroAttention {
[INFO] [stdout]    |            -------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 15 |     num_heads: usize,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `feature_dim` is never read
[INFO] [stdout]    --> src/attention.rs:138:5
[INFO] [stdout]     |
[INFO] [stdout] 136 | pub struct LinearAttention {
[INFO] [stdout]     |            --------------- field in this struct
[INFO] [stdout] 137 |     /// Feature dimension for kernel
[INFO] [stdout] 138 |     feature_dim: usize,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `scale` is never read
[INFO] [stdout]   --> src/embedding.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub struct EmbeddingTable<const VOCAB: usize, const DIM: usize> {
[INFO] [stdout]    |            -------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 21 |     scale: f32,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `dim` is never read
[INFO] [stdout]   --> src/optimizations/binary_quant.rs:78:5
[INFO] [stdout]    |
[INFO] [stdout] 72 | pub struct BinaryEmbedding<const VOCAB: usize, const DIM_BYTES: usize> {
[INFO] [stdout]    |            --------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 78 |     dim: usize,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `input_scale` is never read
[INFO] [stdout]   --> src/optimizations/lookup_tables.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub struct SoftmaxLUT {
[INFO] [stdout]    |            ---------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 14 |     input_scale: i32,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `a_params` and `b_params` are never read
[INFO] [stdout]   --> src/optimizations/micro_lora.rs:50:5
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub struct MicroLoRA {
[INFO] [stdout]    |            --------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 50 |     a_params: QuantParams,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 51 |     /// Quantization params for B
[INFO] [stdout] 52 |     b_params: QuantParams,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `current_step` is never read
[INFO] [stdout]    --> src/optimizations/pruning.rs:100:5
[INFO] [stdout]     |
[INFO] [stdout]  94 | pub struct LayerPruner {
[INFO] [stdout]     |            ----------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 100 |     current_step: usize,
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `input_buffer` is never read
[INFO] [stdout]    --> src/federation/pipeline.rs:151:5
[INFO] [stdout]     |
[INFO] [stdout] 137 | pub struct PipelineNode {
[INFO] [stdout]     |            ------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 151 |     input_buffer: HVec<i8, 256>,
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `output_buffer` is never read
[INFO] [stdout]   --> src/federation/tensor_parallel.rs:60:5
[INFO] [stdout]    |
[INFO] [stdout] 55 | pub struct TensorParallelNode {
[INFO] [stdout]    |            ------------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 60 |     output_buffer: HVec<i32, 256>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `is_master` and `topology` are never read
[INFO] [stdout]   --> src/federation/coordinator.rs:75:5
[INFO] [stdout]    |
[INFO] [stdout] 71 | pub struct FederationCoordinator {
[INFO] [stdout]    |            --------------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 75 |     is_master: bool,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 79 |     topology: ClusterTopology,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `node_id`, `siblings`, `level`, and `total_levels` are never read
[INFO] [stdout]    --> src/federation/massive_scale.rs:342:5
[INFO] [stdout]     |
[INFO] [stdout] 340 | pub struct DistributedCoordinator {
[INFO] [stdout]     |            ---------------------- fields in this struct
[INFO] [stdout] 341 |     /// This node's ID
[INFO] [stdout] 342 |     node_id: u32,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 348 |     siblings: HVec<u32, MAX_CHILDREN>,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] 349 |     /// Current level in hierarchy
[INFO] [stdout] 350 |     level: u8,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 351 |     /// Total levels
[INFO] [stdout] 352 |     total_levels: u8,
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `round` is never read
[INFO] [stdout]    --> src/federation/massive_scale.rs:520:5
[INFO] [stdout]     |
[INFO] [stdout] 514 | pub struct GossipProtocol {
[INFO] [stdout]     |            -------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 520 |     round: u32,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `variance` is never read
[INFO] [stdout]    --> src/ruvector/anomaly.rs:114:5
[INFO] [stdout]     |
[INFO] [stdout] 106 | struct Cluster {
[INFO] [stdout]     |        ------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 114 |     variance: i32,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Cluster` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `std`
[INFO] [stdout]    --> src/main.rs:256:7
[INFO] [stdout]     |
[INFO] [stdout] 256 | #[cfg(feature = "std")]
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected values for `feature` are: `anyhow`, `binary`, `default`, `esp-idf-hal`, `esp-idf-svc`, `esp-idf-sys`, `esp32-std`, `esp32s3-simd`, `federation`, `host-test`, `no_std`, `q4`, `q8`, and `self-learning`
[INFO] [stdout]     = help: consider adding `std` as a feature in `Cargo.toml`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]     = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `std`
[INFO] [stdout]    --> src/main.rs:319:7
[INFO] [stdout]     |
[INFO] [stdout] 319 | #[cfg(feature = "std")]
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected values for `feature` are: `anyhow`, `binary`, `default`, `esp-idf-hal`, `esp-idf-svc`, `esp-idf-sys`, `esp32-std`, `esp32s3-simd`, `federation`, `host-test`, `no_std`, `q4`, `q8`, and `self-learning`
[INFO] [stdout]     = help: consider adding `std` as a feature in `Cargo.toml`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `detect_variant` is never used
[INFO] [stdout]    --> src/main.rs:245:4
[INFO] [stdout]     |
[INFO] [stdout] 245 | fn detect_variant() -> Esp32Variant {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `QuantParams` and `QuantizationType`
[INFO] [stdout]  --> src/micro_inference.rs:6:24
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::quantized::{QuantizationType, matmul_int8, QuantParams};
[INFO] [stdout]   |                        ^^^^^^^^^^^^^^^^               ^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `frozen`
[INFO] [stdout]    --> src/optimizations/micro_lora.rs:178:15
[INFO] [stdout]     |
[INFO] [stdout] 178 |     #[cfg(not(feature = "frozen"))]
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected values for `feature` are: `anyhow`, `binary`, `default`, `esp-idf-hal`, `esp-idf-svc`, `esp-idf-sys`, `esp32-std`, `esp32s3-simd`, `federation`, `host-test`, `no_std`, `q4`, `q8`, and `self-learning`
[INFO] [stdout]     = help: consider adding `frozen` as a feature in `Cargo.toml`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]     = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `frozen`
[INFO] [stdout]    --> src/federation/coordinator.rs:280:15
[INFO] [stdout]     |
[INFO] [stdout] 280 |     #[cfg(not(feature = "frozen"))]
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected values for `feature` are: `anyhow`, `binary`, `default`, `esp-idf-hal`, `esp-idf-svc`, `esp-idf-sys`, `esp32-std`, `esp32s3-simd`, `federation`, `host-test`, `no_std`, `q4`, `q8`, and `self-learning`
[INFO] [stdout]     = help: consider adding `frozen` as a feature in `Cargo.toml`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::protocol::ChipId`
[INFO] [stdout]   --> src/federation/massive_scale.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 24 | use super::protocol::ChipId;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `euclidean_distance_i8`
[INFO] [stdout]   --> src/ruvector/micro_hnsw.rs:22:42
[INFO] [stdout]    |
[INFO] [stdout] 22 | use super::{MicroVector, DistanceMetric, euclidean_distance_i8, MAX_NEIGHBORS};
[INFO] [stdout]    |                                          ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `SearchResult`
[INFO] [stdout]   --> src/ruvector/semantic_memory.rs:34:36
[INFO] [stdout]    |
[INFO] [stdout] 34 | use super::{MicroHNSW, HNSWConfig, SearchResult, MicroVector, DistanceMetric};
[INFO] [stdout]    |                                    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `SearchResult`
[INFO] [stdout]   --> src/ruvector/rag.rs:45:36
[INFO] [stdout]    |
[INFO] [stdout] 45 | use super::{MicroHNSW, HNSWConfig, SearchResult, MicroVector, DistanceMetric};
[INFO] [stdout]    |                                    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `euclidean_distance_i8`
[INFO] [stdout]   --> src/ruvector/anomaly.rs:32:65
[INFO] [stdout]    |
[INFO] [stdout] 32 | use super::{MicroHNSW, HNSWConfig, MicroVector, DistanceMetric, euclidean_distance_i8};
[INFO] [stdout]    |                                                                 ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]    --> src/ruvector/anomaly.rs:306:30
[INFO] [stdout]     |
[INFO] [stdout] 306 |         self.avg_distance += (delta / n as i32);
[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] 306 -         self.avg_distance += (delta / n as i32);
[INFO] [stdout] 306 +         self.avg_distance += delta / n as i32;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `MAX_VECTORS`
[INFO] [stdout]   --> src/ruvector/federated_search.rs:40:79
[INFO] [stdout]    |
[INFO] [stdout] 40 | use super::{MicroHNSW, HNSWConfig, SearchResult, MicroVector, DistanceMetric, MAX_VECTORS};
[INFO] [stdout]    |                                                                               ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/diagnostics.rs:251:9
[INFO] [stdout]     |
[INFO] [stdout] 251 |     let mut issues = heapless::Vec::new();
[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: `query`
[INFO] [stdout]   --> src/federation/tensor_parallel.rs:80:9
[INFO] [stdout]    |
[INFO] [stdout] 80 |         query: &[i8],
[INFO] [stdout]    |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_query`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `keys`
[INFO] [stdout]   --> src/federation/tensor_parallel.rs:81:9
[INFO] [stdout]    |
[INFO] [stdout] 81 |         keys: &[&[i8]],
[INFO] [stdout]    |         ^^^^ help: if this is intentional, prefix it with an underscore: `_keys`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bisection`
[INFO] [stdout]    --> src/federation/massive_scale.rs:221:13
[INFO] [stdout]     |
[INFO] [stdout] 221 |         let bisection = self.config.topology.bisection_bandwidth();
[INFO] [stdout]     |             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_bisection`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `chips`
[INFO] [stdout]    --> src/federation/massive_scale.rs:306:17
[INFO] [stdout]     |
[INFO] [stdout] 306 |             let chips = 1 << power;
[INFO] [stdout]     |                 ^^^^^ help: if this is intentional, prefix it with an underscore: `_chips`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cluster_distance`
[INFO] [stdout]    --> src/ruvector/anomaly.rs:252:31
[INFO] [stdout]     |
[INFO] [stdout] 252 |         let (nearest_cluster, cluster_distance) = self.find_nearest_cluster(embedding);
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_cluster_distance`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `start`
[INFO] [stdout]    --> src/ruvector/federated_search.rs:207:13
[INFO] [stdout]     |
[INFO] [stdout] 207 |         let start = 0u32; // Would use actual timer on ESP32
[INFO] [stdout]     |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_start`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `num_heads` is never read
[INFO] [stdout]   --> src/attention.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub struct MicroAttention {
[INFO] [stdout]    |            -------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 15 |     num_heads: usize,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `feature_dim` is never read
[INFO] [stdout]    --> src/attention.rs:138:5
[INFO] [stdout]     |
[INFO] [stdout] 136 | pub struct LinearAttention {
[INFO] [stdout]     |            --------------- field in this struct
[INFO] [stdout] 137 |     /// Feature dimension for kernel
[INFO] [stdout] 138 |     feature_dim: usize,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `scale` is never read
[INFO] [stdout]   --> src/embedding.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub struct EmbeddingTable<const VOCAB: usize, const DIM: usize> {
[INFO] [stdout]    |            -------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 21 |     scale: f32,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `dim` is never read
[INFO] [stdout]   --> src/optimizations/binary_quant.rs:78:5
[INFO] [stdout]    |
[INFO] [stdout] 72 | pub struct BinaryEmbedding<const VOCAB: usize, const DIM_BYTES: usize> {
[INFO] [stdout]    |            --------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 78 |     dim: usize,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `input_scale` is never read
[INFO] [stdout]   --> src/optimizations/lookup_tables.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub struct SoftmaxLUT {
[INFO] [stdout]    |            ---------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 14 |     input_scale: i32,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `a_params` and `b_params` are never read
[INFO] [stdout]   --> src/optimizations/micro_lora.rs:50:5
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub struct MicroLoRA {
[INFO] [stdout]    |            --------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 50 |     a_params: QuantParams,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 51 |     /// Quantization params for B
[INFO] [stdout] 52 |     b_params: QuantParams,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `current_step` is never read
[INFO] [stdout]    --> src/optimizations/pruning.rs:100:5
[INFO] [stdout]     |
[INFO] [stdout]  94 | pub struct LayerPruner {
[INFO] [stdout]     |            ----------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 100 |     current_step: usize,
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `input_buffer` is never read
[INFO] [stdout]    --> src/federation/pipeline.rs:151:5
[INFO] [stdout]     |
[INFO] [stdout] 137 | pub struct PipelineNode {
[INFO] [stdout]     |            ------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 151 |     input_buffer: HVec<i8, 256>,
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `output_buffer` is never read
[INFO] [stdout]   --> src/federation/tensor_parallel.rs:60:5
[INFO] [stdout]    |
[INFO] [stdout] 55 | pub struct TensorParallelNode {
[INFO] [stdout]    |            ------------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 60 |     output_buffer: HVec<i32, 256>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `is_master` and `topology` are never read
[INFO] [stdout]   --> src/federation/coordinator.rs:75:5
[INFO] [stdout]    |
[INFO] [stdout] 71 | pub struct FederationCoordinator {
[INFO] [stdout]    |            --------------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 75 |     is_master: bool,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 79 |     topology: ClusterTopology,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `node_id`, `siblings`, `level`, and `total_levels` are never read
[INFO] [stdout]    --> src/federation/massive_scale.rs:342:5
[INFO] [stdout]     |
[INFO] [stdout] 340 | pub struct DistributedCoordinator {
[INFO] [stdout]     |            ---------------------- fields in this struct
[INFO] [stdout] 341 |     /// This node's ID
[INFO] [stdout] 342 |     node_id: u32,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 348 |     siblings: HVec<u32, MAX_CHILDREN>,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] 349 |     /// Current level in hierarchy
[INFO] [stdout] 350 |     level: u8,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 351 |     /// Total levels
[INFO] [stdout] 352 |     total_levels: u8,
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `round` is never read
[INFO] [stdout]    --> src/federation/massive_scale.rs:520:5
[INFO] [stdout]     |
[INFO] [stdout] 514 | pub struct GossipProtocol {
[INFO] [stdout]     |            -------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 520 |     round: u32,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `variance` is never read
[INFO] [stdout]    --> src/ruvector/anomaly.rs:114:5
[INFO] [stdout]     |
[INFO] [stdout] 106 | struct Cluster {
[INFO] [stdout]     |        ------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 114 |     variance: i32,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Cluster` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `QuantParams`
[INFO] [stdout]  --> src/micro_inference.rs:6:55
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::quantized::{QuantizationType, matmul_int8, QuantParams};
[INFO] [stdout]   |                                                       ^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `frozen`
[INFO] [stdout]    --> src/optimizations/micro_lora.rs:178:15
[INFO] [stdout]     |
[INFO] [stdout] 178 |     #[cfg(not(feature = "frozen"))]
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected values for `feature` are: `anyhow`, `binary`, `default`, `esp-idf-hal`, `esp-idf-svc`, `esp-idf-sys`, `esp32-std`, `esp32s3-simd`, `federation`, `host-test`, `no_std`, `q4`, `q8`, and `self-learning`
[INFO] [stdout]     = help: consider adding `frozen` as a feature in `Cargo.toml`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]     = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `frozen`
[INFO] [stdout]    --> src/federation/coordinator.rs:280:15
[INFO] [stdout]     |
[INFO] [stdout] 280 |     #[cfg(not(feature = "frozen"))]
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected values for `feature` are: `anyhow`, `binary`, `default`, `esp-idf-hal`, `esp-idf-svc`, `esp-idf-sys`, `esp32-std`, `esp32s3-simd`, `federation`, `host-test`, `no_std`, `q4`, `q8`, and `self-learning`
[INFO] [stdout]     = help: consider adding `frozen` as a feature in `Cargo.toml`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::protocol::ChipId`
[INFO] [stdout]   --> src/federation/massive_scale.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 24 | use super::protocol::ChipId;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `euclidean_distance_i8`
[INFO] [stdout]   --> src/ruvector/micro_hnsw.rs:22:42
[INFO] [stdout]    |
[INFO] [stdout] 22 | use super::{MicroVector, DistanceMetric, euclidean_distance_i8, MAX_NEIGHBORS};
[INFO] [stdout]    |                                          ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `SearchResult`
[INFO] [stdout]   --> src/ruvector/semantic_memory.rs:34:36
[INFO] [stdout]    |
[INFO] [stdout] 34 | use super::{MicroHNSW, HNSWConfig, SearchResult, MicroVector, DistanceMetric};
[INFO] [stdout]    |                                    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `SearchResult`
[INFO] [stdout]   --> src/ruvector/rag.rs:45:36
[INFO] [stdout]    |
[INFO] [stdout] 45 | use super::{MicroHNSW, HNSWConfig, SearchResult, MicroVector, DistanceMetric};
[INFO] [stdout]    |                                    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `euclidean_distance_i8`
[INFO] [stdout]   --> src/ruvector/anomaly.rs:32:65
[INFO] [stdout]    |
[INFO] [stdout] 32 | use super::{MicroHNSW, HNSWConfig, MicroVector, DistanceMetric, euclidean_distance_i8};
[INFO] [stdout]    |                                                                 ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]    --> src/ruvector/anomaly.rs:306:30
[INFO] [stdout]     |
[INFO] [stdout] 306 |         self.avg_distance += (delta / n as i32);
[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] 306 -         self.avg_distance += (delta / n as i32);
[INFO] [stdout] 306 +         self.avg_distance += delta / n as i32;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `MAX_VECTORS`
[INFO] [stdout]   --> src/ruvector/federated_search.rs:40:79
[INFO] [stdout]    |
[INFO] [stdout] 40 | use super::{MicroHNSW, HNSWConfig, SearchResult, MicroVector, DistanceMetric, MAX_VECTORS};
[INFO] [stdout]    |                                                                               ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/optimizations/product_quant.rs:327:13
[INFO] [stdout]     |
[INFO] [stdout] 327 |         let mut vector = [10i8; 32];
[INFO] [stdout]     |             ----^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/diagnostics.rs:251:9
[INFO] [stdout]     |
[INFO] [stdout] 251 |     let mut issues = heapless::Vec::new();
[INFO] [stdout]     |         ----^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `query`
[INFO] [stdout]   --> src/federation/tensor_parallel.rs:80:9
[INFO] [stdout]    |
[INFO] [stdout] 80 |         query: &[i8],
[INFO] [stdout]    |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_query`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `keys`
[INFO] [stdout]   --> src/federation/tensor_parallel.rs:81:9
[INFO] [stdout]    |
[INFO] [stdout] 81 |         keys: &[&[i8]],
[INFO] [stdout]    |         ^^^^ help: if this is intentional, prefix it with an underscore: `_keys`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> examples/model_sizing_demo.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::collections::HashMap;
[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: `ScaleProjection`
[INFO] [stdout]  --> examples/massive_scale_demo.rs:7:65
[INFO] [stdout]   |
[INFO] [stdout] 7 |     MassiveTopology, MassiveScaleConfig, MassiveScaleSimulator, ScaleProjection,
[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: `ruvllm_esp32::prelude::*`
[INFO] [stdout]  --> examples/embedding_demo.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use ruvllm_esp32::prelude::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `MEDIUM_SCALE_MAX`, `MEDIUM_SCALE_MIN`, and `MEDIUM_SCALE_OPTIMAL`
[INFO] [stdout]   --> examples/medium_scale_demo.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 |     MEDIUM_SCALE_MIN, MEDIUM_SCALE_MAX, MEDIUM_SCALE_OPTIMAL,
[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 variable: `heads`
[INFO] [stdout]   --> examples/model_sizing_demo.rs:72:46
[INFO] [stdout]    |
[INFO] [stdout] 72 |     for (name, vocab, embed, hidden, layers, heads) in &configs {
[INFO] [stdout]    |                                              ^^^^^ help: if this is intentional, prefix it with an underscore: `_heads`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bisection`
[INFO] [stdout]    --> src/federation/massive_scale.rs:221:13
[INFO] [stdout]     |
[INFO] [stdout] 221 |         let bisection = self.config.topology.bisection_bandwidth();
[INFO] [stdout]     |             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_bisection`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `chips`
[INFO] [stdout]    --> src/federation/massive_scale.rs:306:17
[INFO] [stdout]     |
[INFO] [stdout] 306 |             let chips = 1 << power;
[INFO] [stdout]     |                 ^^^^^ help: if this is intentional, prefix it with an underscore: `_chips`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around closure body
[INFO] [stdout]    --> examples/optimization_demo.rs:160:49
[INFO] [stdout]     |
[INFO] [stdout] 160 |     let mut weights: Vec<i8> = (0..256).map(|i| ((i % 127) as i8 - 64)).collect();
[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] 160 -     let mut weights: Vec<i8> = (0..256).map(|i| ((i % 127) as i8 - 64)).collect();
[INFO] [stdout] 160 +     let mut weights: Vec<i8> = (0..256).map(|i| (i % 127) as i8 - 64).collect();
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ClusterTopology`, `FederationMessage`, and `PipelineRole`
[INFO] [stdout]   --> examples/federation_demo.rs:8:35
[INFO] [stdout]    |
[INFO] [stdout]  8 |     PipelineConfig, PipelineNode, PipelineRole,
[INFO] [stdout]    |                                   ^^^^^^^^^^^^
[INFO] [stdout]  9 |     FederationCoordinator, ClusterTopology,
[INFO] [stdout]    |                            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 12 |     ChipId, FederationMessage,
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AttentionPattern`, `LayerPruner`, `LoRAConfig`, `MicroLoRA`, `PruningConfig`, and `SparseAttention`
[INFO] [stdout]   --> examples/federation_demo.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 |     MicroLoRA, LoRAConfig,
[INFO] [stdout]    |     ^^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 16 |     SparseAttention, AttentionPattern,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^
[INFO] [stdout] 17 |     LayerPruner, PruningConfig,
[INFO] [stdout]    |     ^^^^^^^^^^^  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `std`
[INFO] [stdout]    --> src/main.rs:256:7
[INFO] [stdout]     |
[INFO] [stdout] 256 | #[cfg(feature = "std")]
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected values for `feature` are: `anyhow`, `binary`, `default`, `esp-idf-hal`, `esp-idf-svc`, `esp-idf-sys`, `esp32-std`, `esp32s3-simd`, `federation`, `host-test`, `no_std`, `q4`, `q8`, and `self-learning`
[INFO] [stdout]     = help: consider adding `std` as a feature in `Cargo.toml`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]     = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `std`
[INFO] [stdout]    --> src/main.rs:319:7
[INFO] [stdout]     |
[INFO] [stdout] 319 | #[cfg(feature = "std")]
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected values for `feature` are: `anyhow`, `binary`, `default`, `esp-idf-hal`, `esp-idf-svc`, `esp-idf-sys`, `esp32-std`, `esp32s3-simd`, `federation`, `host-test`, `no_std`, `q4`, `q8`, and `self-learning`
[INFO] [stdout]     = help: consider adding `std` as a feature in `Cargo.toml`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `detect_variant` is never used
[INFO] [stdout]    --> src/main.rs:245:4
[INFO] [stdout]     |
[INFO] [stdout] 245 | fn detect_variant() -> Esp32Variant {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cluster_distance`
[INFO] [stdout]    --> src/ruvector/anomaly.rs:252:31
[INFO] [stdout]     |
[INFO] [stdout] 252 |         let (nearest_cluster, cluster_distance) = self.find_nearest_cluster(embedding);
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_cluster_distance`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> examples/optimization_demo.rs:160:9
[INFO] [stdout]     |
[INFO] [stdout] 160 |     let mut weights: Vec<i8> = (0..256).map(|i| ((i % 127) as i8 - 64)).collect();
[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: `start`
[INFO] [stdout]    --> src/ruvector/federated_search.rs:207:13
[INFO] [stdout]     |
[INFO] [stdout] 207 |         let start = 0u32; // Would use actual timer on ESP32
[INFO] [stdout]     |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_start`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `VOCAB_TEST` is never used
[INFO] [stdout]   --> examples/optimization_demo.rs:21:11
[INFO] [stdout]    |
[INFO] [stdout] 21 |     const VOCAB_TEST: usize = 256;
[INFO] [stdout]    |           ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `SlidingWindowAttention`
[INFO] [stdout]   --> tests/simulation_tests.rs:12:64
[INFO] [stdout]    |
[INFO] [stdout] 12 | use ruvllm_esp32::attention::{MicroAttention, LinearAttention, SlidingWindowAttention};
[INFO] [stdout]    |                                                                ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `num_heads` is never read
[INFO] [stdout]   --> src/attention.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub struct MicroAttention {
[INFO] [stdout]    |            -------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 15 |     num_heads: usize,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `feature_dim` is never read
[INFO] [stdout]    --> src/attention.rs:138:5
[INFO] [stdout]     |
[INFO] [stdout] 136 | pub struct LinearAttention {
[INFO] [stdout]     |            --------------- field in this struct
[INFO] [stdout] 137 |     /// Feature dimension for kernel
[INFO] [stdout] 138 |     feature_dim: usize,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `scale` is never read
[INFO] [stdout]   --> src/embedding.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub struct EmbeddingTable<const VOCAB: usize, const DIM: usize> {
[INFO] [stdout]    |            -------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 21 |     scale: f32,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `dim` is never read
[INFO] [stdout]   --> src/optimizations/binary_quant.rs:78:5
[INFO] [stdout]    |
[INFO] [stdout] 72 | pub struct BinaryEmbedding<const VOCAB: usize, const DIM_BYTES: usize> {
[INFO] [stdout]    |            --------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 78 |     dim: usize,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `input_scale` is never read
[INFO] [stdout]   --> src/optimizations/lookup_tables.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub struct SoftmaxLUT {
[INFO] [stdout]    |            ---------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 14 |     input_scale: i32,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `a_params` and `b_params` are never read
[INFO] [stdout]   --> src/optimizations/micro_lora.rs:50:5
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub struct MicroLoRA {
[INFO] [stdout]    |            --------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 50 |     a_params: QuantParams,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 51 |     /// Quantization params for B
[INFO] [stdout] 52 |     b_params: QuantParams,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `current_step` is never read
[INFO] [stdout]    --> src/optimizations/pruning.rs:100:5
[INFO] [stdout]     |
[INFO] [stdout]  94 | pub struct LayerPruner {
[INFO] [stdout]     |            ----------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 100 |     current_step: usize,
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `input_buffer` is never read
[INFO] [stdout]    --> src/federation/pipeline.rs:151:5
[INFO] [stdout]     |
[INFO] [stdout] 137 | pub struct PipelineNode {
[INFO] [stdout]     |            ------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 151 |     input_buffer: HVec<i8, 256>,
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `output_buffer` is never read
[INFO] [stdout]   --> src/federation/tensor_parallel.rs:60:5
[INFO] [stdout]    |
[INFO] [stdout] 55 | pub struct TensorParallelNode {
[INFO] [stdout]    |            ------------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 60 |     output_buffer: HVec<i32, 256>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `is_master` and `topology` are never read
[INFO] [stdout]   --> src/federation/coordinator.rs:75:5
[INFO] [stdout]    |
[INFO] [stdout] 71 | pub struct FederationCoordinator {
[INFO] [stdout]    |            --------------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 75 |     is_master: bool,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 79 |     topology: ClusterTopology,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `node_id`, `siblings`, `level`, and `total_levels` are never read
[INFO] [stdout]    --> src/federation/massive_scale.rs:342:5
[INFO] [stdout]     |
[INFO] [stdout] 340 | pub struct DistributedCoordinator {
[INFO] [stdout]     |            ---------------------- fields in this struct
[INFO] [stdout] 341 |     /// This node's ID
[INFO] [stdout] 342 |     node_id: u32,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 348 |     siblings: HVec<u32, MAX_CHILDREN>,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] 349 |     /// Current level in hierarchy
[INFO] [stdout] 350 |     level: u8,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 351 |     /// Total levels
[INFO] [stdout] 352 |     total_levels: u8,
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `round` is never read
[INFO] [stdout]    --> src/federation/massive_scale.rs:520:5
[INFO] [stdout]     |
[INFO] [stdout] 514 | pub struct GossipProtocol {
[INFO] [stdout]     |            -------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 520 |     round: u32,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `variance` is never read
[INFO] [stdout]    --> src/ruvector/anomaly.rs:114:5
[INFO] [stdout]     |
[INFO] [stdout] 106 | struct Cluster {
[INFO] [stdout]     |        ------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 114 |     variance: i32,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Cluster` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> examples/federation_demo.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |     let mut drafter = SpeculativeDecoder::new(spec_config.clone(), ChipId(0));
[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: `node`
[INFO] [stdout]   --> examples/federation_demo.rs:78:13
[INFO] [stdout]    |
[INFO] [stdout] 78 |     for (i, node) in pipeline_nodes.iter().enumerate() {
[INFO] [stdout]    |             ^^^^ help: if this is intentional, prefix it with an underscore: `_node`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `drafter`
[INFO] [stdout]    --> examples/federation_demo.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |     let mut drafter = SpeculativeDecoder::new(spec_config.clone(), ChipId(0));
[INFO] [stdout]     |         ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_drafter`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `spec_time`
[INFO] [stdout]    --> examples/federation_demo.rs:175:9
[INFO] [stdout]     |
[INFO] [stdout] 175 |     let spec_time = start.elapsed();
[INFO] [stdout]     |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_spec_time`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `result`
[INFO] [stdout]    --> tests/simulation_tests.rs:355:9
[INFO] [stdout]     |
[INFO] [stdout] 355 |     let result = engine.generate(&long_prompt, &InferenceConfig { max_tokens: 1, ..Default::default() });
[INFO] [stdout]     |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_result`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `ruvllm-esp32` (lib test); 31 warnings emitted
[INFO] [stderr] 
[INFO] [stderr] Caused by:
[INFO] [stderr]   process didn't exit successfully: `/opt/rustwide/rustup-home/toolchains/1.99.0-beta.8-x86_64-unknown-linux-gnu/bin/rustc --crate-name ruvllm_esp32 --edition=2021 src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --emit=dep-info,link -C opt-level=z -C lto -C codegen-units=1 --test --cfg 'feature="anyhow"' --cfg 'feature="default"' --cfg 'feature="federation"' --cfg 'feature="host-test"' --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values("anyhow", "binary", "default", "esp-idf-hal", "esp-idf-svc", "esp-idf-sys", "esp32-std", "esp32s3-simd", "federation", "host-test", "no_std", "q4", "q8", "self-learning"))' -C metadata=93290190ca79cb8d -C extra-filename=-50072712e3e1d854 --out-dir /opt/rustwide/target/release/deps -C strip=symbols -L dependency=/opt/rustwide/target/release/deps --extern anyhow=/opt/rustwide/target/release/deps/libanyhow-a057057dc09fb430.rlib --extern criterion=/opt/rustwide/target/release/deps/libcriterion-bd4a0af1c6e434da.rlib --extern fixed=/opt/rustwide/target/release/deps/libfixed-a65343257ac6c226.rlib --extern heapless=/opt/rustwide/target/release/deps/libheapless-102a133903ebf6ef.rlib --extern libm=/opt/rustwide/target/release/deps/liblibm-776c60f65b72eb46.rlib --extern log=/opt/rustwide/target/release/deps/liblog-58b146f756fca152.rlib --extern postcard=/opt/rustwide/target/release/deps/libpostcard-bb4a534613119db8.rlib --extern serde=/opt/rustwide/target/release/deps/libserde-d444f4987b8ef26f.rlib --cap-lints=warn` (signal: 9, SIGKILL: kill)
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] running `Command { std: "docker" "inspect" "dad87af60eecc1220d73610e20707dd316e550ca8686679a13a270c3621a161a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "dad87af60eecc1220d73610e20707dd316e550ca8686679a13a270c3621a161a", kill_on_drop: false }`
[INFO] [stdout] dad87af60eecc1220d73610e20707dd316e550ca8686679a13a270c3621a161a
