[INFO] fetching crate ruvector-gnn 2.2.0...
[INFO] testing ruvector-gnn-2.2.0 against beta-2026-04-21 for beta-1.96-2
[INFO] extracting crate ruvector-gnn 2.2.0 into /workspace/builds/worker-3-tc2/source
[INFO] started tweaking crates.io crate ruvector-gnn 2.2.0
[INFO] removed 0 missing examples
[INFO] removed 0 missing tests
[INFO] finished tweaking crates.io crate ruvector-gnn 2.2.0
[INFO] tweaked toml for crates.io crate ruvector-gnn 2.2.0 written to /workspace/builds/worker-3-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate ruvector-gnn 2.2.0 on toolchain beta-2026-04-21
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2026-04-21" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate ruvector-gnn 2.2.0 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" "+beta-2026-04-21" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-04-21" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 374ebb899378b8ec209a6446bea920b961f837276ccaafcde23fd102ae11d475
[INFO] running `Command { std: "docker" "start" "-a" "374ebb899378b8ec209a6446bea920b961f837276ccaafcde23fd102ae11d475", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "374ebb899378b8ec209a6446bea920b961f837276ccaafcde23fd102ae11d475", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "374ebb899378b8ec209a6446bea920b961f837276ccaafcde23fd102ae11d475", kill_on_drop: false }`
[INFO] [stdout] 374ebb899378b8ec209a6446bea920b961f837276ccaafcde23fd102ae11d475
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-04-21" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] b3b2e7e95c54532f5e0f7e564042129c96e7d54aabcaa03737bcf0cd02d1021d
[INFO] running `Command { std: "docker" "start" "-a" "b3b2e7e95c54532f5e0f7e564042129c96e7d54aabcaa03737bcf0cd02d1021d", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.184
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling zerocopy v0.8.48
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling matrixmultiply v0.3.10
[INFO] [stderr]    Compiling rawpointer v0.2.1
[INFO] [stderr]    Compiling smallvec v1.15.1
[INFO] [stderr]    Compiling getrandom v0.4.2
[INFO] [stderr]    Compiling simdutf8 v0.1.5
[INFO] [stderr]    Compiling virtue v0.0.18
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]    Compiling hashbrown v0.14.5
[INFO] [stderr]    Compiling unty v0.0.4
[INFO] [stderr]    Compiling either v1.15.0
[INFO] [stderr]    Compiling rayon v1.11.0
[INFO] [stderr]    Compiling bincode_derive v2.0.1
[INFO] [stderr]    Compiling num-complex v0.4.6
[INFO] [stderr]    Compiling num-integer v0.1.46
[INFO] [stderr]    Compiling getrandom v0.2.17
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[INFO] [stderr]    Compiling page_size v0.6.0
[INFO] [stderr]    Compiling memmap2 v0.9.10
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]    Compiling parking_lot v0.12.5
[INFO] [stderr]    Compiling dashmap v6.1.0
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling uuid v1.23.0
[INFO] [stderr]    Compiling ptr_meta_derive v0.3.1
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling bytecheck_derive v0.8.2
[INFO] [stderr]    Compiling munge_macro v0.4.7
[INFO] [stderr]    Compiling rkyv_derive v0.8.15
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]    Compiling tracing-attributes v0.1.31
[INFO] [stderr]    Compiling ptr_meta v0.3.1
[INFO] [stderr]    Compiling munge v0.4.7
[INFO] [stderr]    Compiling rancor v0.1.1
[INFO] [stderr]    Compiling bytecheck v0.8.2
[INFO] [stderr]    Compiling thiserror v2.0.18
[INFO] [stderr]    Compiling ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling tracing v0.1.44
[INFO] [stderr]    Compiling rend v0.5.3
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling rand v0.8.5
[INFO] [stderr]    Compiling rand_distr v0.4.3
[INFO] [stderr]    Compiling ndarray v0.16.1
[INFO] [stderr]    Compiling bincode v2.0.1
[INFO] [stderr]    Compiling chrono v0.4.44
[INFO] [stderr]    Compiling ndarray v0.17.2
[INFO] [stderr]    Compiling rkyv v0.8.15
[INFO] [stderr]    Compiling ruvector-core v2.1.0
[INFO] [stderr]    Compiling ruvector-gnn v2.2.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `rand::Rng`
[INFO] [stdout]  --> src/layer.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use rand::Rng;
[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: `rand::Rng`
[INFO] [stdout]   --> src/tensor.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use rand::Rng;
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Write`
[INFO] [stdout]   --> src/mmap.rs:17:21
[INFO] [stdout]    |
[INFO] [stdout] 17 | use std::io::{self, Write};
[INFO] [stdout]    |                     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `layer_idx`
[INFO] [stdout]    --> src/search.rs:117:10
[INFO] [stdout]     |
[INFO] [stdout] 117 |     for (layer_idx, (embeddings, gnn_layer)) in
[INFO] [stdout]     |          ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_layer_idx`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `timestep`
[INFO] [stdout]    --> src/training.rs:190:13
[INFO] [stdout]     |
[INFO] [stdout] 190 |         let timestep = *t as f32;
[INFO] [stdout]     |             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_timestep`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `default_level` is never read
[INFO] [stdout]   --> src/compress.rs:77:5
[INFO] [stdout]    |
[INFO] [stdout] 75 | pub struct TensorCompress {
[INFO] [stdout]    |            -------------- field in this struct
[INFO] [stdout] 76 |     /// Default compression parameters
[INFO] [stdout] 77 |     default_level: CompressionLevel,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TensorCompress` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `file` and `pin_count` are never read
[INFO] [stdout]    --> src/mmap.rs:120:5
[INFO] [stdout]     |
[INFO] [stdout] 118 | pub struct MmapManager {
[INFO] [stdout]     |            ----------- fields in this struct
[INFO] [stdout] 119 |     /// The memory-mapped file
[INFO] [stdout] 120 |     file: File,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 132 |     pin_count: Vec<AtomicU32>,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `MmapManager` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]   --> src/lib.rs:51:1
[INFO] [stdout]    |
[INFO] [stdout] 51 | pub mod ewc;
[INFO] [stdout]    | ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] note: the lint level is defined here
[INFO] [stdout]   --> src/lib.rs:46:9
[INFO] [stdout]    |
[INFO] [stdout] 46 | #![warn(missing_docs)]
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]   --> src/lib.rs:57:1
[INFO] [stdout]    |
[INFO] [stdout] 57 | pub mod search;
[INFO] [stdout]    | ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/compress.rs:20:12
[INFO] [stdout]    |
[INFO] [stdout] 20 |     Half { scale: f32 },
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/compress.rs:23:11
[INFO] [stdout]    |
[INFO] [stdout] 23 |     PQ8 { subvectors: u8, centroids: u8 },
[INFO] [stdout]    |           ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/compress.rs:23:27
[INFO] [stdout]    |
[INFO] [stdout] 23 |     PQ8 { subvectors: u8, centroids: u8 },
[INFO] [stdout]    |                           ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/compress.rs:27:9
[INFO] [stdout]    |
[INFO] [stdout] 27 |         subvectors: u8,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/compress.rs:28:9
[INFO] [stdout]    |
[INFO] [stdout] 28 |         outlier_threshold: f32,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/compress.rs:32:14
[INFO] [stdout]    |
[INFO] [stdout] 32 |     Binary { threshold: f32 },
[INFO] [stdout]    |              ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/compress.rs:39:12
[INFO] [stdout]    |
[INFO] [stdout] 39 |     Full { data: Vec<f32> },
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/compress.rs:43:9
[INFO] [stdout]    |
[INFO] [stdout] 43 |         data: Vec<u16>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/compress.rs:44:9
[INFO] [stdout]    |
[INFO] [stdout] 44 |         scale: f32,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/compress.rs:45:9
[INFO] [stdout]    |
[INFO] [stdout] 45 |         dim: usize,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/compress.rs:50:9
[INFO] [stdout]    |
[INFO] [stdout] 50 |         codes: Vec<u8>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/compress.rs:51:9
[INFO] [stdout]    |
[INFO] [stdout] 51 |         codebooks: Vec<Vec<f32>>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/compress.rs:52:9
[INFO] [stdout]    |
[INFO] [stdout] 52 |         subvector_dim: usize,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/compress.rs:53:9
[INFO] [stdout]    |
[INFO] [stdout] 53 |         dim: usize,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/compress.rs:58:9
[INFO] [stdout]    |
[INFO] [stdout] 58 |         codes: Vec<u8>, // Packed 4-bit codes
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/compress.rs:59:9
[INFO] [stdout]    |
[INFO] [stdout] 59 |         codebooks: Vec<Vec<f32>>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/compress.rs:60:9
[INFO] [stdout]    |
[INFO] [stdout] 60 |         outliers: Vec<(usize, f32)>, // (index, value) pairs
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/compress.rs:61:9
[INFO] [stdout]    |
[INFO] [stdout] 61 |         subvector_dim: usize,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/compress.rs:62:9
[INFO] [stdout]    |
[INFO] [stdout] 62 |         dim: usize,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/compress.rs:67:9
[INFO] [stdout]    |
[INFO] [stdout] 67 |         bits: Vec<u8>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/compress.rs:68:9
[INFO] [stdout]    |
[INFO] [stdout] 68 |         threshold: f32,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/compress.rs:69:9
[INFO] [stdout]    |
[INFO] [stdout] 69 |         dim: usize,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/scheduler.rs:16:17
[INFO] [stdout]    |
[INFO] [stdout] 16 |     StepDecay { step_size: usize, gamma: f32 },
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/scheduler.rs:16:35
[INFO] [stdout]    |
[INFO] [stdout] 16 |     StepDecay { step_size: usize, gamma: f32 },
[INFO] [stdout]    |                                   ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/scheduler.rs:20:19
[INFO] [stdout]    |
[INFO] [stdout] 20 |     Exponential { gamma: f32 },
[INFO] [stdout]    |                   ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/scheduler.rs:24:23
[INFO] [stdout]    |
[INFO] [stdout] 24 |     CosineAnnealing { t_max: usize, eta_min: f32 },
[INFO] [stdout]    |                       ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/scheduler.rs:24:37
[INFO] [stdout]    |
[INFO] [stdout] 24 |     CosineAnnealing { t_max: usize, eta_min: f32 },
[INFO] [stdout]    |                                     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/scheduler.rs:30:9
[INFO] [stdout]    |
[INFO] [stdout] 30 |         warmup_steps: usize,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/scheduler.rs:31:9
[INFO] [stdout]    |
[INFO] [stdout] 31 |         total_steps: usize,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/scheduler.rs:37:9
[INFO] [stdout]    |
[INFO] [stdout] 37 |         factor: f32,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/scheduler.rs:38:9
[INFO] [stdout]    |
[INFO] [stdout] 38 |         patience: usize,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/scheduler.rs:39:9
[INFO] [stdout]    |
[INFO] [stdout] 39 |         min_lr: f32,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 35.61s
[INFO] running `Command { std: "docker" "inspect" "b3b2e7e95c54532f5e0f7e564042129c96e7d54aabcaa03737bcf0cd02d1021d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "b3b2e7e95c54532f5e0f7e564042129c96e7d54aabcaa03737bcf0cd02d1021d", kill_on_drop: false }`
[INFO] [stdout] b3b2e7e95c54532f5e0f7e564042129c96e7d54aabcaa03737bcf0cd02d1021d
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-04-21" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] ced6f41cd55467debebd28d8aa838ed13df6b6ecb3362821e7c2962628dd2733
[INFO] running `Command { std: "docker" "start" "-a" "ced6f41cd55467debebd28d8aa838ed13df6b6ecb3362821e7c2962628dd2733", kill_on_drop: false }`
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]    Compiling getrandom v0.3.4
[INFO] [stderr]    Compiling linux-raw-sys v0.12.1
[INFO] [stderr]    Compiling bitflags v2.11.0
[INFO] [stderr]    Compiling zerocopy-derive v0.8.48
[INFO] [stderr]    Compiling num-integer v0.1.46
[INFO] [stderr]    Compiling num-complex v0.4.6
[INFO] [stderr]    Compiling clap_lex v1.1.0
[INFO] [stderr]    Compiling ciborium-io v0.2.2
[INFO] [stderr]    Compiling anstyle v1.0.14
[INFO] [stderr]    Compiling fastrand v2.4.0
[INFO] [stderr]    Compiling plotters-backend v0.3.7
[INFO] [stderr]    Compiling chrono v0.4.44
[INFO] [stderr]    Compiling regex-automata v0.4.14
[INFO] [stderr]    Compiling itertools v0.10.5
[INFO] [stderr]    Compiling wait-timeout v0.2.1
[INFO] [stderr]    Compiling bit-vec v0.8.0
[INFO] [stderr]    Compiling quick-error v1.2.3
[INFO] [stderr]    Compiling plotters-svg v0.3.7
[INFO] [stderr]    Compiling cast v0.3.0
[INFO] [stderr]    Compiling clap_builder v4.5.60
[INFO] [stderr]    Compiling rand_core v0.9.5
[INFO] [stderr]    Compiling same-file v1.0.6
[INFO] [stderr]    Compiling bit-set v0.8.0
[INFO] [stderr]    Compiling plotters v0.3.7
[INFO] [stderr]    Compiling tinytemplate v1.2.1
[INFO] [stderr]    Compiling walkdir v2.5.0
[INFO] [stderr]    Compiling is-terminal v0.4.17
[INFO] [stderr]    Compiling unarray v0.1.4
[INFO] [stderr]    Compiling oorandom v11.1.5
[INFO] [stderr]    Compiling anes v0.1.6
[INFO] [stderr]    Compiling rand v0.9.2
[INFO] [stderr]    Compiling rand_xorshift v0.4.0
[INFO] [stderr]    Compiling ndarray v0.16.1
[INFO] [stderr]    Compiling ndarray v0.17.2
[INFO] [stderr]    Compiling zerocopy v0.8.48
[INFO] [stderr]    Compiling regex v1.12.3
[INFO] [stderr]    Compiling criterion-plot v0.5.0
[INFO] [stderr]    Compiling tempfile v3.27.0
[INFO] [stderr]    Compiling clap v4.5.60
[INFO] [stderr]    Compiling rusty-fork v0.3.1
[INFO] [stderr]    Compiling ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling half v2.7.1
[INFO] [stderr]    Compiling ciborium-ll v0.2.2
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling rand_chacha v0.9.0
[INFO] [stderr]    Compiling ciborium v0.2.2
[INFO] [stderr]    Compiling proptest v1.11.0
[INFO] [stderr]    Compiling rand v0.8.5
[INFO] [stderr]    Compiling criterion v0.5.1
[INFO] [stderr]    Compiling rand_distr v0.4.3
[INFO] [stderr]    Compiling ruvector-core v2.1.0
[INFO] [stderr]    Compiling ruvector-gnn v2.2.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `rand::Rng`
[INFO] [stdout]  --> src/layer.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use rand::Rng;
[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: `rand::Rng`
[INFO] [stdout]   --> src/tensor.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use rand::Rng;
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Write`
[INFO] [stdout]   --> src/mmap.rs:17:21
[INFO] [stdout]    |
[INFO] [stdout] 17 | use std::io::{self, Write};
[INFO] [stdout]    |                     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `layer_idx`
[INFO] [stdout]    --> src/search.rs:117:10
[INFO] [stdout]     |
[INFO] [stdout] 117 |     for (layer_idx, (embeddings, gnn_layer)) in
[INFO] [stdout]     |          ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_layer_idx`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `timestep`
[INFO] [stdout]    --> src/training.rs:190:13
[INFO] [stdout]     |
[INFO] [stdout] 190 |         let timestep = *t as f32;
[INFO] [stdout]     |             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_timestep`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `default_level` is never read
[INFO] [stdout]   --> src/compress.rs:77:5
[INFO] [stdout]    |
[INFO] [stdout] 75 | pub struct TensorCompress {
[INFO] [stdout]    |            -------------- field in this struct
[INFO] [stdout] 76 |     /// Default compression parameters
[INFO] [stdout] 77 |     default_level: CompressionLevel,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TensorCompress` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `file` and `pin_count` are never read
[INFO] [stdout]    --> src/mmap.rs:120:5
[INFO] [stdout]     |
[INFO] [stdout] 118 | pub struct MmapManager {
[INFO] [stdout]     |            ----------- fields in this struct
[INFO] [stdout] 119 |     /// The memory-mapped file
[INFO] [stdout] 120 |     file: File,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 132 |     pin_count: Vec<AtomicU32>,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `MmapManager` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]   --> src/lib.rs:51:1
[INFO] [stdout]    |
[INFO] [stdout] 51 | pub mod ewc;
[INFO] [stdout]    | ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] note: the lint level is defined here
[INFO] [stdout]   --> src/lib.rs:46:9
[INFO] [stdout]    |
[INFO] [stdout] 46 | #![warn(missing_docs)]
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]   --> src/lib.rs:57:1
[INFO] [stdout]    |
[INFO] [stdout] 57 | pub mod search;
[INFO] [stdout]    | ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/compress.rs:20:12
[INFO] [stdout]    |
[INFO] [stdout] 20 |     Half { scale: f32 },
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/compress.rs:23:11
[INFO] [stdout]    |
[INFO] [stdout] 23 |     PQ8 { subvectors: u8, centroids: u8 },
[INFO] [stdout]    |           ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/compress.rs:23:27
[INFO] [stdout]    |
[INFO] [stdout] 23 |     PQ8 { subvectors: u8, centroids: u8 },
[INFO] [stdout]    |                           ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/compress.rs:27:9
[INFO] [stdout]    |
[INFO] [stdout] 27 |         subvectors: u8,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/compress.rs:28:9
[INFO] [stdout]    |
[INFO] [stdout] 28 |         outlier_threshold: f32,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/compress.rs:32:14
[INFO] [stdout]    |
[INFO] [stdout] 32 |     Binary { threshold: f32 },
[INFO] [stdout]    |              ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/compress.rs:39:12
[INFO] [stdout]    |
[INFO] [stdout] 39 |     Full { data: Vec<f32> },
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/compress.rs:43:9
[INFO] [stdout]    |
[INFO] [stdout] 43 |         data: Vec<u16>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/compress.rs:44:9
[INFO] [stdout]    |
[INFO] [stdout] 44 |         scale: f32,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/compress.rs:45:9
[INFO] [stdout]    |
[INFO] [stdout] 45 |         dim: usize,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/compress.rs:50:9
[INFO] [stdout]    |
[INFO] [stdout] 50 |         codes: Vec<u8>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/compress.rs:51:9
[INFO] [stdout]    |
[INFO] [stdout] 51 |         codebooks: Vec<Vec<f32>>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/compress.rs:52:9
[INFO] [stdout]    |
[INFO] [stdout] 52 |         subvector_dim: usize,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/compress.rs:53:9
[INFO] [stdout]    |
[INFO] [stdout] 53 |         dim: usize,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/compress.rs:58:9
[INFO] [stdout]    |
[INFO] [stdout] 58 |         codes: Vec<u8>, // Packed 4-bit codes
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/compress.rs:59:9
[INFO] [stdout]    |
[INFO] [stdout] 59 |         codebooks: Vec<Vec<f32>>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/compress.rs:60:9
[INFO] [stdout]    |
[INFO] [stdout] 60 |         outliers: Vec<(usize, f32)>, // (index, value) pairs
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/compress.rs:61:9
[INFO] [stdout]    |
[INFO] [stdout] 61 |         subvector_dim: usize,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/compress.rs:62:9
[INFO] [stdout]    |
[INFO] [stdout] 62 |         dim: usize,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/compress.rs:67:9
[INFO] [stdout]    |
[INFO] [stdout] 67 |         bits: Vec<u8>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/compress.rs:68:9
[INFO] [stdout]    |
[INFO] [stdout] 68 |         threshold: f32,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/compress.rs:69:9
[INFO] [stdout]    |
[INFO] [stdout] 69 |         dim: usize,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/scheduler.rs:16:17
[INFO] [stdout]    |
[INFO] [stdout] 16 |     StepDecay { step_size: usize, gamma: f32 },
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/scheduler.rs:16:35
[INFO] [stdout]    |
[INFO] [stdout] 16 |     StepDecay { step_size: usize, gamma: f32 },
[INFO] [stdout]    |                                   ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/scheduler.rs:20:19
[INFO] [stdout]    |
[INFO] [stdout] 20 |     Exponential { gamma: f32 },
[INFO] [stdout]    |                   ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/scheduler.rs:24:23
[INFO] [stdout]    |
[INFO] [stdout] 24 |     CosineAnnealing { t_max: usize, eta_min: f32 },
[INFO] [stdout]    |                       ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/scheduler.rs:24:37
[INFO] [stdout]    |
[INFO] [stdout] 24 |     CosineAnnealing { t_max: usize, eta_min: f32 },
[INFO] [stdout]    |                                     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/scheduler.rs:30:9
[INFO] [stdout]    |
[INFO] [stdout] 30 |         warmup_steps: usize,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/scheduler.rs:31:9
[INFO] [stdout]    |
[INFO] [stdout] 31 |         total_steps: usize,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/scheduler.rs:37:9
[INFO] [stdout]    |
[INFO] [stdout] 37 |         factor: f32,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/scheduler.rs:38:9
[INFO] [stdout]    |
[INFO] [stdout] 38 |         patience: usize,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/scheduler.rs:39:9
[INFO] [stdout]    |
[INFO] [stdout] 39 |         min_lr: f32,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fs`
[INFO] [stdout]    --> src/mmap.rs:618:9
[INFO] [stdout]     |
[INFO] [stdout] 618 |     use std::fs;
[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: `super::*`
[INFO] [stdout]   --> src/lib.rs:90:9
[INFO] [stdout]    |
[INFO] [stdout] 90 |     use super::*;
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rand::Rng`
[INFO] [stdout]  --> src/layer.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use rand::Rng;
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Write`
[INFO] [stdout]   --> src/mmap.rs:17:21
[INFO] [stdout]    |
[INFO] [stdout] 17 | use std::io::{self, Write};
[INFO] [stdout]    |                     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rand::Rng`
[INFO] [stdout]   --> src/tensor.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use rand::Rng;
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `layer_idx`
[INFO] [stdout]    --> src/search.rs:117:10
[INFO] [stdout]     |
[INFO] [stdout] 117 |     for (layer_idx, (embeddings, gnn_layer)) in
[INFO] [stdout]     |          ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_layer_idx`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `timestep`
[INFO] [stdout]    --> src/training.rs:190:13
[INFO] [stdout]     |
[INFO] [stdout] 190 |         let timestep = *t as f32;
[INFO] [stdout]     |             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_timestep`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `default_level` is never read
[INFO] [stdout]   --> src/compress.rs:77:5
[INFO] [stdout]    |
[INFO] [stdout] 75 | pub struct TensorCompress {
[INFO] [stdout]    |            -------------- field in this struct
[INFO] [stdout] 76 |     /// Default compression parameters
[INFO] [stdout] 77 |     default_level: CompressionLevel,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TensorCompress` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `file` and `pin_count` are never read
[INFO] [stdout]    --> src/mmap.rs:120:5
[INFO] [stdout]     |
[INFO] [stdout] 118 | pub struct MmapManager {
[INFO] [stdout]     |            ----------- fields in this struct
[INFO] [stdout] 119 |     /// The memory-mapped file
[INFO] [stdout] 120 |     file: File,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 132 |     pin_count: Vec<AtomicU32>,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `MmapManager` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]   --> src/lib.rs:51:1
[INFO] [stdout]    |
[INFO] [stdout] 51 | pub mod ewc;
[INFO] [stdout]    | ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] note: the lint level is defined here
[INFO] [stdout]   --> src/lib.rs:46:9
[INFO] [stdout]    |
[INFO] [stdout] 46 | #![warn(missing_docs)]
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]   --> src/lib.rs:57:1
[INFO] [stdout]    |
[INFO] [stdout] 57 | pub mod search;
[INFO] [stdout]    | ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/compress.rs:20:12
[INFO] [stdout]    |
[INFO] [stdout] 20 |     Half { scale: f32 },
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/compress.rs:23:11
[INFO] [stdout]    |
[INFO] [stdout] 23 |     PQ8 { subvectors: u8, centroids: u8 },
[INFO] [stdout]    |           ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/compress.rs:23:27
[INFO] [stdout]    |
[INFO] [stdout] 23 |     PQ8 { subvectors: u8, centroids: u8 },
[INFO] [stdout]    |                           ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/compress.rs:27:9
[INFO] [stdout]    |
[INFO] [stdout] 27 |         subvectors: u8,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/compress.rs:28:9
[INFO] [stdout]    |
[INFO] [stdout] 28 |         outlier_threshold: f32,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/compress.rs:32:14
[INFO] [stdout]    |
[INFO] [stdout] 32 |     Binary { threshold: f32 },
[INFO] [stdout]    |              ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/compress.rs:39:12
[INFO] [stdout]    |
[INFO] [stdout] 39 |     Full { data: Vec<f32> },
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/compress.rs:43:9
[INFO] [stdout]    |
[INFO] [stdout] 43 |         data: Vec<u16>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/compress.rs:44:9
[INFO] [stdout]    |
[INFO] [stdout] 44 |         scale: f32,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/compress.rs:45:9
[INFO] [stdout]    |
[INFO] [stdout] 45 |         dim: usize,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/compress.rs:50:9
[INFO] [stdout]    |
[INFO] [stdout] 50 |         codes: Vec<u8>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/compress.rs:51:9
[INFO] [stdout]    |
[INFO] [stdout] 51 |         codebooks: Vec<Vec<f32>>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/compress.rs:52:9
[INFO] [stdout]    |
[INFO] [stdout] 52 |         subvector_dim: usize,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/compress.rs:53:9
[INFO] [stdout]    |
[INFO] [stdout] 53 |         dim: usize,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/compress.rs:58:9
[INFO] [stdout]    |
[INFO] [stdout] 58 |         codes: Vec<u8>, // Packed 4-bit codes
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/compress.rs:59:9
[INFO] [stdout]    |
[INFO] [stdout] 59 |         codebooks: Vec<Vec<f32>>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/compress.rs:60:9
[INFO] [stdout]    |
[INFO] [stdout] 60 |         outliers: Vec<(usize, f32)>, // (index, value) pairs
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/compress.rs:61:9
[INFO] [stdout]    |
[INFO] [stdout] 61 |         subvector_dim: usize,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/compress.rs:62:9
[INFO] [stdout]    |
[INFO] [stdout] 62 |         dim: usize,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/compress.rs:67:9
[INFO] [stdout]    |
[INFO] [stdout] 67 |         bits: Vec<u8>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/compress.rs:68:9
[INFO] [stdout]    |
[INFO] [stdout] 68 |         threshold: f32,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/compress.rs:69:9
[INFO] [stdout]    |
[INFO] [stdout] 69 |         dim: usize,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/scheduler.rs:16:17
[INFO] [stdout]    |
[INFO] [stdout] 16 |     StepDecay { step_size: usize, gamma: f32 },
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/scheduler.rs:16:35
[INFO] [stdout]    |
[INFO] [stdout] 16 |     StepDecay { step_size: usize, gamma: f32 },
[INFO] [stdout]    |                                   ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/scheduler.rs:20:19
[INFO] [stdout]    |
[INFO] [stdout] 20 |     Exponential { gamma: f32 },
[INFO] [stdout]    |                   ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/scheduler.rs:24:23
[INFO] [stdout]    |
[INFO] [stdout] 24 |     CosineAnnealing { t_max: usize, eta_min: f32 },
[INFO] [stdout]    |                       ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/scheduler.rs:24:37
[INFO] [stdout]    |
[INFO] [stdout] 24 |     CosineAnnealing { t_max: usize, eta_min: f32 },
[INFO] [stdout]    |                                     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/scheduler.rs:30:9
[INFO] [stdout]    |
[INFO] [stdout] 30 |         warmup_steps: usize,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/scheduler.rs:31:9
[INFO] [stdout]    |
[INFO] [stdout] 31 |         total_steps: usize,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/scheduler.rs:37:9
[INFO] [stdout]    |
[INFO] [stdout] 37 |         factor: f32,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/scheduler.rs:38:9
[INFO] [stdout]    |
[INFO] [stdout] 38 |         patience: usize,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/scheduler.rs:39:9
[INFO] [stdout]    |
[INFO] [stdout] 39 |         min_lr: f32,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 39.29s
[INFO] running `Command { std: "docker" "inspect" "ced6f41cd55467debebd28d8aa838ed13df6b6ecb3362821e7c2962628dd2733", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ced6f41cd55467debebd28d8aa838ed13df6b6ecb3362821e7c2962628dd2733", kill_on_drop: false }`
[INFO] [stdout] ced6f41cd55467debebd28d8aa838ed13df6b6ecb3362821e7c2962628dd2733
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-04-21" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 7fc052432c406e4f8c7b0a6ca3e76cfc3c314dd5c01f1fb07a9e8a0dfad7d03b
[INFO] running `Command { std: "docker" "start" "-a" "7fc052432c406e4f8c7b0a6ca3e76cfc3c314dd5c01f1fb07a9e8a0dfad7d03b", kill_on_drop: false }`
[INFO] [stderr] warning: unused import: `rand::Rng`
[INFO] [stderr]  --> src/layer.rs:8:5
[INFO] [stderr]   |
[INFO] [stderr] 8 | use rand::Rng;
[INFO] [stderr]   |     ^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `rand::Rng`
[INFO] [stderr]   --> src/tensor.rs:11:5
[INFO] [stderr]    |
[INFO] [stderr] 11 | use rand::Rng;
[INFO] [stderr]    |     ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Write`
[INFO] [stderr]   --> src/mmap.rs:17:21
[INFO] [stderr]    |
[INFO] [stderr] 17 | use std::io::{self, Write};
[INFO] [stderr]    |                     ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `layer_idx`
[INFO] [stderr]    --> src/search.rs:117:10
[INFO] [stderr]     |
[INFO] [stderr] 117 |     for (layer_idx, (embeddings, gnn_layer)) in
[INFO] [stderr]     |          ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_layer_idx`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `timestep`
[INFO] [stderr]    --> src/training.rs:190:13
[INFO] [stderr]     |
[INFO] [stderr] 190 |         let timestep = *t as f32;
[INFO] [stderr]     |             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_timestep`
[INFO] [stderr] 
[INFO] [stderr] warning: field `default_level` is never read
[INFO] [stderr]   --> src/compress.rs:77:5
[INFO] [stderr]    |
[INFO] [stderr] 75 | pub struct TensorCompress {
[INFO] [stderr]    |            -------------- field in this struct
[INFO] [stderr] 76 |     /// Default compression parameters
[INFO] [stderr] 77 |     default_level: CompressionLevel,
[INFO] [stderr]    |     ^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `TensorCompress` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: fields `file` and `pin_count` are never read
[INFO] [stderr]    --> src/mmap.rs:120:5
[INFO] [stderr]     |
[INFO] [stderr] 118 | pub struct MmapManager {
[INFO] [stderr]     |            ----------- fields in this struct
[INFO] [stderr] 119 |     /// The memory-mapped file
[INFO] [stderr] 120 |     file: File,
[INFO] [stderr]     |     ^^^^
[INFO] [stderr] ...
[INFO] [stderr] 132 |     pin_count: Vec<AtomicU32>,
[INFO] [stderr]     |     ^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `MmapManager` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a module
[INFO] [stderr]   --> src/lib.rs:51:1
[INFO] [stderr]    |
[INFO] [stderr] 51 | pub mod ewc;
[INFO] [stderr]    | ^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr] note: the lint level is defined here
[INFO] [stderr]   --> src/lib.rs:46:9
[INFO] [stderr]    |
[INFO] [stderr] 46 | #![warn(missing_docs)]
[INFO] [stderr]    |         ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a module
[INFO] [stderr]   --> src/lib.rs:57:1
[INFO] [stderr]    |
[INFO] [stderr] 57 | pub mod search;
[INFO] [stderr]    | ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]   --> src/compress.rs:20:12
[INFO] [stderr]    |
[INFO] [stderr] 20 |     Half { scale: f32 },
[INFO] [stderr]    |            ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]   --> src/compress.rs:23:11
[INFO] [stderr]    |
[INFO] [stderr] 23 |     PQ8 { subvectors: u8, centroids: u8 },
[INFO] [stderr]    |           ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]   --> src/compress.rs:23:27
[INFO] [stderr]    |
[INFO] [stderr] 23 |     PQ8 { subvectors: u8, centroids: u8 },
[INFO] [stderr]    |                           ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]   --> src/compress.rs:27:9
[INFO] [stderr]    |
[INFO] [stderr] 27 |         subvectors: u8,
[INFO] [stderr]    |         ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]   --> src/compress.rs:28:9
[INFO] [stderr]    |
[INFO] [stderr] 28 |         outlier_threshold: f32,
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]   --> src/compress.rs:32:14
[INFO] [stderr]    |
[INFO] [stderr] 32 |     Binary { threshold: f32 },
[INFO] [stderr]    |              ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]   --> src/compress.rs:39:12
[INFO] [stderr]    |
[INFO] [stderr] 39 |     Full { data: Vec<f32> },
[INFO] [stderr]    |            ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]   --> src/compress.rs:43:9
[INFO] [stderr]    |
[INFO] [stderr] 43 |         data: Vec<u16>,
[INFO] [stderr]    |         ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]   --> src/compress.rs:44:9
[INFO] [stderr]    |
[INFO] [stderr] 44 |         scale: f32,
[INFO] [stderr]    |         ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]   --> src/compress.rs:45:9
[INFO] [stderr]    |
[INFO] [stderr] 45 |         dim: usize,
[INFO] [stderr]    |         ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]   --> src/compress.rs:50:9
[INFO] [stderr]    |
[INFO] [stderr] 50 |         codes: Vec<u8>,
[INFO] [stderr]    |         ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]   --> src/compress.rs:51:9
[INFO] [stderr]    |
[INFO] [stderr] 51 |         codebooks: Vec<Vec<f32>>,
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]   --> src/compress.rs:52:9
[INFO] [stderr]    |
[INFO] [stderr] 52 |         subvector_dim: usize,
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]   --> src/compress.rs:53:9
[INFO] [stderr]    |
[INFO] [stderr] 53 |         dim: usize,
[INFO] [stderr]    |         ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]   --> src/compress.rs:58:9
[INFO] [stderr]    |
[INFO] [stderr] 58 |         codes: Vec<u8>, // Packed 4-bit codes
[INFO] [stderr]    |         ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]   --> src/compress.rs:59:9
[INFO] [stderr]    |
[INFO] [stderr] 59 |         codebooks: Vec<Vec<f32>>,
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]   --> src/compress.rs:60:9
[INFO] [stderr]    |
[INFO] [stderr] 60 |         outliers: Vec<(usize, f32)>, // (index, value) pairs
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]   --> src/compress.rs:61:9
[INFO] [stderr]    |
[INFO] [stderr] 61 |         subvector_dim: usize,
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]   --> src/compress.rs:62:9
[INFO] [stderr]    |
[INFO] [stderr] 62 |         dim: usize,
[INFO] [stderr]    |         ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]   --> src/compress.rs:67:9
[INFO] [stderr]    |
[INFO] [stderr] 67 |         bits: Vec<u8>,
[INFO] [stderr]    |         ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]   --> src/compress.rs:68:9
[INFO] [stderr]    |
[INFO] [stderr] 68 |         threshold: f32,
[INFO] [stderr]    |         ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]   --> src/compress.rs:69:9
[INFO] [stderr]    |
[INFO] [stderr] 69 |         dim: usize,
[INFO] [stderr]    |         ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]   --> src/scheduler.rs:16:17
[INFO] [stderr]    |
[INFO] [stderr] 16 |     StepDecay { step_size: usize, gamma: f32 },
[INFO] [stderr]    |                 ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]   --> src/scheduler.rs:16:35
[INFO] [stderr]    |
[INFO] [stderr] 16 |     StepDecay { step_size: usize, gamma: f32 },
[INFO] [stderr]    |                                   ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]   --> src/scheduler.rs:20:19
[INFO] [stderr]    |
[INFO] [stderr] 20 |     Exponential { gamma: f32 },
[INFO] [stderr]    |                   ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]   --> src/scheduler.rs:24:23
[INFO] [stderr]    |
[INFO] [stderr] 24 |     CosineAnnealing { t_max: usize, eta_min: f32 },
[INFO] [stderr]    |                       ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]   --> src/scheduler.rs:24:37
[INFO] [stderr]    |
[INFO] [stderr] 24 |     CosineAnnealing { t_max: usize, eta_min: f32 },
[INFO] [stderr]    |                                     ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]   --> src/scheduler.rs:30:9
[INFO] [stderr]    |
[INFO] [stderr] 30 |         warmup_steps: usize,
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]   --> src/scheduler.rs:31:9
[INFO] [stderr]    |
[INFO] [stderr] 31 |         total_steps: usize,
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]   --> src/scheduler.rs:37:9
[INFO] [stderr]    |
[INFO] [stderr] 37 |         factor: f32,
[INFO] [stderr]    |         ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]   --> src/scheduler.rs:38:9
[INFO] [stderr]    |
[INFO] [stderr] 38 |         patience: usize,
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]   --> src/scheduler.rs:39:9
[INFO] [stderr]    |
[INFO] [stderr] 39 |         min_lr: f32,
[INFO] [stderr]    |         ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::fs`
[INFO] [stderr]    --> src/mmap.rs:618:9
[INFO] [stderr]     |
[INFO] [stderr] 618 |     use std::fs;
[INFO] [stderr]     |         ^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `super::*`
[INFO] [stderr]   --> src/lib.rs:90:9
[INFO] [stderr]    |
[INFO] [stderr] 90 |     use super::*;
[INFO] [stderr]    |         ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `rand::Rng`
[INFO] [stderr]  --> src/layer.rs:8:5
[INFO] [stderr]   |
[INFO] [stderr] 8 | use rand::Rng;
[INFO] [stderr]   |     ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: `ruvector-gnn` (lib) generated 41 warnings (run `cargo fix --lib -p ruvector-gnn` to apply 2 suggestions)
[INFO] [stderr] warning: `ruvector-gnn` (lib test) generated 43 warnings (40 duplicates) (run `cargo fix --lib -p ruvector-gnn --tests` to apply 2 suggestions)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.27s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/ruvector_gnn-8a69d54a0462349c)
[INFO] [stdout] 
[INFO] [stdout] running 210 tests
[INFO] [stdout] test compress::tests::test_binary_threshold ... ok
[INFO] [stdout] test compress::tests::test_dimension_validation ... ok
[INFO] [stdout] test compress::tests::test_half_precision_roundtrip ... ok
[INFO] [stdout] test compress::tests::test_compress_binary ... ok
[INFO] [stdout] test compress::tests::test_pq4_with_outliers ... ok
[INFO] [stdout] test ewc::tests::test_compute_fisher_accumulates ... ok
[INFO] [stdout] test ewc::tests::test_compute_fisher_multiple_samples ... ok
[INFO] [stdout] test ewc::tests::test_compute_fisher_single_sample ... ok
[INFO] [stdout] test compress::tests::test_select_level ... ok
[INFO] [stdout] test ewc::tests::test_consolidate ... ok
[INFO] [stdout] test compress::tests::test_round_trip_all_levels ... ok
[INFO] [stdout] test compress::tests::test_pq8_compression ... ok
[INFO] [stdout] test compress::tests::test_empty_embedding ... ok
[INFO] [stdout] test ewc::tests::test_gradient_inactive ... ok
[INFO] [stdout] test ewc::tests::test_gradient_magnitude_scales_with_fisher ... ok
[INFO] [stdout] test ewc::tests::test_gradient_no_deviation ... ok
[INFO] [stdout] test ewc::tests::test_lambda_scaling ... ok
[INFO] [stdout] test ewc::tests::test_new ... ok
[INFO] [stdout] test compress::tests::test_compress_none ... ok
[INFO] [stdout] test ewc::tests::test_penalty_inactive ... ok
[INFO] [stdout] test ewc::tests::test_penalty_increases_with_deviation ... ok
[INFO] [stdout] test ewc::tests::test_penalty_with_deviation ... ok
[INFO] [stdout] test ewc::tests::test_reset ... ok
[INFO] [stdout] test graphmae::tests::test_decoder_reconstruction_shape ... ok
[INFO] [stdout] test ewc::tests::test_sequential_task_learning ... ok
[INFO] [stdout] test ewc::tests::test_set_lambda ... ok
[INFO] [stdout] test graphmae::tests::test_sce_loss_identical ... ok
[INFO] [stdout] test graphmae::tests::test_encode_for_downstream ... ok
[INFO] [stdout] test graphmae::tests::test_re_masking ... ok
[INFO] [stdout] test ewc::tests::test_penalty_no_deviation ... ok
[INFO] [stdout] test graphmae::tests::test_degree_based_masking ... ok
[INFO] [stdout] test graphmae::tests::test_invalid_config ... ok
[INFO] [stdout] test graphmae::tests::test_masking_ratio ... ok
[INFO] [stdout] test graphmae::tests::test_mse_loss ... ok
[INFO] [stdout] test graphmae::tests::test_sce_loss_orthogonal ... ok
[INFO] [stdout] test graphmae::tests::test_encoder_forward ... ok
[INFO] [stdout] test compress::tests::test_compress_half ... ok
[INFO] [stdout] test ewc::tests::test_gradient_points_toward_anchor ... ok
[INFO] [stdout] test layer::tests::test_multihead_attention_invalid_dims ... ok
[INFO] [stdout] test layer::tests::test_gru_cell ... ok
[INFO] [stdout] test layer::tests::test_layer_norm ... ok
[INFO] [stdout] test layer::tests::test_multihead_attention ... ok
[INFO] [stdout] test layer::tests::test_ruvector_layer_no_neighbors ... ok
[INFO] [stdout] test layer::tests::test_ruvector_layer ... ok
[INFO] [stdout] test layer::tests::test_ruvector_layer_invalid_dropout ... ok
[INFO] [stdout] test mmap::tests::test_atomic_bitmap_basic ... ok
[INFO] [stdout] test mmap::tests::test_atomic_bitmap_clear_all ... ok
[INFO] [stdout] test layer::tests::test_ruvector_layer_invalid_heads ... ok
[INFO] [stdout] test graphmae::tests::test_single_node_graph ... ok
[INFO] [stdout] test mmap::tests::test_atomic_bitmap_get_set_indices ... ok
[INFO] [stdout] test mmap::tests::test_embedding_offset_calculation ... ok
[INFO] [stdout] test mmap::tests::test_gradient_accumulator_creation ... ok
[INFO] [stdout] test mmap::tests::test_grad_offset_calculation ... ok
[INFO] [stdout] test mmap::tests::test_mmap_manager_creation ... ok
[INFO] [stdout] test mmap::tests::test_gradient_accumulator_zero_grad ... ok
[INFO] [stdout] test mmap::tests::test_gradient_accumulator_apply ... ok
[INFO] [stdout] test mmap::tests::test_mmap_manager_set_get_embedding ... ok
[INFO] [stdout] test query::tests::test_differentiable_search_query ... ok
[INFO] [stdout] test mmap::tests::test_gradient_accumulator_accumulate ... ok
[INFO] [stdout] test query::tests::test_edge_case_empty_filter ... ok
[INFO] [stdout] test query::tests::test_query_builder_pattern ... ok
[INFO] [stdout] test query::tests::test_query_mode_serialization ... ok
[INFO] [stdout] test mmap::tests::test_mmap_manager_persistence ... ok
[INFO] [stdout] test mmap::tests::test_mmap_manager_multiple_embeddings ... ok
[INFO] [stdout] test query::tests::test_query_result_best_empty ... ok
[INFO] [stdout] test query::tests::test_query_result_builder_pattern ... ok
[INFO] [stdout] test query::tests::test_query_result_filter_by_score ... ok
[INFO] [stdout] test query::tests::test_query_result_filter_with_attention ... ok
[INFO] [stdout] test mmap::tests::test_mmap_manager_dirty_tracking ... ok
[INFO] [stdout] test query::tests::test_neural_search_query ... ok
[INFO] [stdout] test query::tests::test_query_mode_variants ... ok
[INFO] [stdout] test query::tests::test_query_result_best ... ok
[INFO] [stdout] test graphmae::tests::test_train_step_returns_finite_loss ... ok
[INFO] [stdout] test layer::tests::test_linear_layer ... ok
[INFO] [stdout] test mmap::tests::test_prefetch ... ok
[INFO] [stdout] test query::tests::test_query_result_filter_with_embeddings ... ok
[INFO] [stdout] test query::tests::test_query_result_new ... ok
[INFO] [stdout] test query::tests::test_query_result_top_k ... ok
[INFO] [stdout] test query::tests::test_query_result_top_k_overflow ... ok
[INFO] [stdout] test query::tests::test_query_result_with_nodes ... ok
[INFO] [stdout] test query::tests::test_ruvector_query_default ... ok
[INFO] [stdout] test query::tests::test_query_serialization ... ok
[INFO] [stdout] test query::tests::test_result_serialization ... ok
[INFO] [stdout] test query::tests::test_subgraph_empty_average ... ok
[INFO] [stdout] test query::tests::test_subgraph_new ... ok
[INFO] [stdout] test query::tests::test_subgraph_average_edge_weight ... ok
[INFO] [stdout] test query::tests::test_subgraph_serialization ... ok
[INFO] [stdout] test query::tests::test_subgraph_search_query ... ok
[INFO] [stdout] test mmap::tests::test_gradient_accumulator_concurrent_accumulation ... ok
[INFO] [stdout] test query::tests::test_subgraph_with_edges ... ok
[INFO] [stdout] test replay::tests::test_clear ... ok
[INFO] [stdout] test replay::tests::test_detect_distribution_shift_no_shift ... ok
[INFO] [stdout] test query::tests::test_vector_search_query ... ok
[INFO] [stdout] test replay::tests::test_detect_distribution_shift_insufficient_data ... ok
[INFO] [stdout] test replay::tests::test_detect_distribution_shift_with_shift ... ok
[INFO] [stdout] test replay::tests::test_distribution_stats_std_dev ... ok
[INFO] [stdout] test replay::tests::test_dimension_mismatch_handling ... ok
[INFO] [stdout] test replay::tests::test_replay_buffer_basic ... ok
[INFO] [stdout] test replay::tests::test_distribution_stats_update ... ok
[INFO] [stdout] test replay::tests::test_replay_entry_creation ... ok
[INFO] [stdout] test replay::tests::test_replay_buffer_capacity ... ok
[INFO] [stdout] test replay::tests::test_sample_basic ... ok
[INFO] [stdout] test scheduler::tests::test_cosine_annealing ... ok
[INFO] [stdout] test replay::tests::test_sample_uniqueness ... ok
[INFO] [stdout] test replay::tests::test_sample_empty_buffer ... ok
[INFO] [stdout] test scheduler::tests::test_constant_scheduler ... ok
[INFO] [stdout] test replay::tests::test_sample_larger_than_buffer ... ok
[INFO] [stdout] test scheduler::tests::test_multiple_scheduler_types ... ok
[INFO] [stdout] test scheduler::tests::test_edge_cases ... ok
[INFO] [stdout] test scheduler::tests::test_reduce_on_plateau ... ok
[INFO] [stdout] test replay::tests::test_reservoir_sampling_distribution ... ok
[INFO] [stdout] test scheduler::tests::test_exponential_decay ... ok
[INFO] [stdout] test scheduler::tests::test_scheduler_reset ... ok
[INFO] [stdout] test scheduler::tests::test_step_decay ... ok
[INFO] [stdout] test search::tests::test_softmax_with_temperature ... ok
[INFO] [stdout] test search::tests::test_cosine_similarity ... ok
[INFO] [stdout] test scheduler::tests::test_scheduler_cloning ... ok
[INFO] [stdout] test search::tests::test_differentiable_search ... ok
[INFO] [stdout] test search::tests::test_softmax ... ok
[INFO] [stdout] test search::tests::test_hierarchical_forward ... ok
[INFO] [stdout] test scheduler::tests::test_warmup_linear ... ok
[INFO] [stdout] test tensor::tests::test_add_dimension_mismatch ... ok
[INFO] [stdout] test tensor::tests::test_activation_functions_range ... ok
[INFO] [stdout] test tensor::tests::test_complex_operations ... ok
[INFO] [stdout] test tensor::tests::test_dot_product_dimension_mismatch ... ok
[INFO] [stdout] test tensor::tests::test_dot_product ... ok
[INFO] [stdout] test tensor::tests::test_edge_case_single_element ... ok
[INFO] [stdout] test tensor::tests::test_add ... ok
[INFO] [stdout] test tensor::tests::test_hadamard_product ... ok
[INFO] [stdout] test tensor::tests::test_edge_case_negative_values ... ok
[INFO] [stdout] test tensor::tests::test_into_vec ... ok
[INFO] [stdout] test tensor::tests::test_l2_norm ... ok
[INFO] [stdout] test tensor::tests::test_len ... ok
[INFO] [stdout] test tensor::tests::test_large_matrix_multiplication ... ok
[INFO] [stdout] test tensor::tests::test_matmul_1d ... ok
[INFO] [stdout] test tensor::tests::test_he_init ... ok
[INFO] [stdout] test tensor::tests::test_is_empty ... ok
[INFO] [stdout] test tensor::tests::test_matmul_2d_1d ... ok
[INFO] [stdout] test tensor::tests::test_matmul_dimension_mismatch ... ok
[INFO] [stdout] test tensor::tests::test_normalize_zero_vector ... ok
[INFO] [stdout] test tensor::tests::test_relu ... ok
[INFO] [stdout] test tensor::tests::test_scale ... ok
[INFO] [stdout] test tensor::tests::test_matmul_2d_2d ... ok
[INFO] [stdout] test tensor::tests::test_normalize ... ok
[INFO] [stdout] test tensor::tests::test_sigmoid ... ok
[INFO] [stdout] test tensor::tests::test_tanh ... ok
[INFO] [stdout] test tensor::tests::test_tensor_from_vec ... ok
[INFO] [stdout] test tensor::tests::test_tensor_zeros ... ok
[INFO] [stdout] test tensor::tests::test_tensor_zeros_invalid_shape ... ok
[INFO] [stdout] test tensor::tests::test_vector_add ... ok
[INFO] [stdout] test tensor::tests::test_tensor_new_invalid_shape ... ok
[INFO] [stdout] test tensor::tests::test_tensor_new ... ok
[INFO] [stdout] test tensor::tests::test_vector_scale ... ok
[INFO] [stdout] test tensor::tests::test_as_slice ... ok
[INFO] [stdout] test tests::test_basic ... ok
[INFO] [stdout] test tensor::tests::test_xavier_init ... ok
[INFO] [stdout] test training::tests::test_adam_optimizer_multiple_steps ... ok
[INFO] [stdout] test training::tests::test_bce_gradient_direction ... ok
[INFO] [stdout] test training::tests::test_bce_gradient_shape ... ok
[INFO] [stdout] test training::tests::test_bce_loss_bad_predictions ... ok
[INFO] [stdout] test training::tests::test_adam_optimizer_basic ... ok
[INFO] [stdout] test training::tests::test_bce_loss_perfect_predictions ... ok
[INFO] [stdout] test training::tests::test_adam_bias_correction ... ok
[INFO] [stdout] test training::tests::test_bce_loss_numerical_stability ... ok
[INFO] [stdout] test query::tests::test_subgraph_contains_node ... ok
[INFO] [stdout] test training::tests::test_cross_entropy_gradient_shape ... ok
[INFO] [stdout] test training::tests::test_contrastive_loss_gradient_property ... ok
[INFO] [stdout] test training::tests::test_cross_entropy_one_hot ... ok
[INFO] [stdout] test training::tests::test_cross_entropy_wrong_class ... ok
[INFO] [stdout] test training::tests::test_info_nce_loss_basic ... ok
[INFO] [stdout] test ewc::tests::test_compute_fisher_mismatched_sizes - should panic ... ok
[INFO] [stdout] test training::tests::test_info_nce_loss_multiple_positives ... ok
[INFO] [stdout] test training::tests::test_info_nce_loss_perfect_match ... ok
[INFO] [stdout] test training::tests::test_info_nce_loss_no_positives ... ok
[INFO] [stdout] test training::tests::test_info_nce_loss_temperature_effect ... ok
[INFO] [stdout] test training::tests::test_local_contrastive_loss_basic ... ok
[INFO] [stdout] test training::tests::test_local_contrastive_loss_multiple_neighbors ... ok
[INFO] [stdout] test training::tests::test_local_contrastive_loss_no_neighbors ... ok
[INFO] [stdout] test training::tests::test_loss_dimension_mismatch_error ... ok
[INFO] [stdout] test training::tests::test_loss_empty_array_error ... ok
[INFO] [stdout] test training::tests::test_mse_gradient_shape ... ok
[INFO] [stdout] test training::tests::test_loss_gradient_numerical_check ... ok
[INFO] [stdout] test ewc::tests::test_consolidate_size_mismatch - should panic ... ok
[INFO] [stdout] test training::tests::test_mse_gradient_zero_when_equal ... ok
[INFO] [stdout] test ewc::tests::test_consolidate_without_fisher - should panic ... ok
[INFO] [stdout] test training::tests::test_mse_loss_varying_diffs ... ok
[INFO] [stdout] test ewc::tests::test_new_negative_lambda - should panic ... ok
[INFO] [stdout] test training::tests::test_mse_loss_zero_when_equal ... ok
[INFO] [stdout] test ewc::tests::test_set_lambda_negative - should panic ... ok
[INFO] [stdout] test training::tests::test_mse_loss_positive ... ok
[INFO] [stdout] test training::tests::test_online_config_default ... ok
[INFO] [stdout] test mmap::tests::test_set_embedding_wrong_size - should panic ... ok
[INFO] [stdout] test mmap::tests::test_accumulate_wrong_size - should panic ... ok
[INFO] [stdout] test training::tests::test_optimizer_shape_mismatch ... ok
[INFO] [stdout] test training::tests::test_sgd_optimizer_basic ... ok
[INFO] [stdout] test training::tests::test_sgd_step_basic ... ok
[INFO] [stdout] test training::tests::test_sgd_optimizer_with_momentum ... ok
[INFO] [stdout] test training::tests::test_adam_convergence ... ok
[INFO] [stdout] test training::tests::test_sgd_step_large_learning_rate ... ok
[INFO] [stdout] test training::tests::test_sgd_step_zero_gradient ... ok
[INFO] [stdout] test training::tests::test_train_config_default ... ok
[INFO] [stdout] test training::tests::test_training_loop_integration ... ok
[INFO] [stdout] test tensor::tests::test_he_init_zero_fan - should panic ... ok
[INFO] [stdout] test tensor::tests::test_hadamard_product_length_mismatch - should panic ... ok
[INFO] [stdout] test tensor::tests::test_vector_add_length_mismatch - should panic ... ok
[INFO] [stdout] test training::tests::test_sgd_momentum_convergence ... ok
[INFO] [stdout] test training::tests::test_sgd_step_mismatched_lengths - should panic ... ok
[INFO] [stdout] test tensor::tests::test_xavier_init_zero_fan - should panic ... ok
[INFO] [stdout] test training::tests::test_sgd_step_zero_learning_rate ... ok
[INFO] [stdout] test training::tests::test_mse_gradient_direction ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 210 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.12s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/loss_verification.rs (/opt/rustwide/target/debug/deps/loss_verification-b53a23f3d6c903ac)
[INFO] [stdout] 
[INFO] [stdout] running 6 tests
[INFO] [stdout] test test_binary_cross_entropy_loss_implementation ... ok
[INFO] [stdout] test test_cross_entropy_loss_implementation ... ok
[INFO] [stdout] test test_loss_gradient_shapes_match ... ok
[INFO] [stdout] test test_mse_gradient_implementation ... ok
[INFO] [stdout] test test_loss_dimension_mismatch_error ... ok
[INFO] [stdout] test test_mse_loss_implementation ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests ruvector_gnn
[INFO] [stdout] 
[INFO] [stdout] running 11 tests
[INFO] [stdout] test src/lib.rs - (line 17) ... ignored
[INFO] [stdout] test src/query.rs - query::RuvectorQuery::neural_search (line 91) ... ok
[INFO] [stdout] test src/query.rs - query::RuvectorQuery::vector_search (line 68) ... ok
[INFO] [stdout] test src/training.rs - training::info_nce_loss (line 525) ... ok
[INFO] [stdout] test src/training.rs - training::sgd_step (line 653) ... ok
[INFO] [stdout] test src/training.rs - training::Loss::compute (line 271) ... ok
[INFO] [stdout] test src/training.rs - training::local_contrastive_loss (line 607) ... ok
[INFO] [stdout] test src/query.rs - query::QueryResult::with_nodes (line 262) ... ok
[INFO] [stdout] test src/query.rs - query::RuvectorQuery::subgraph_search (line 114) ... ok
[INFO] [stdout] test src/scheduler.rs - scheduler::LearningRateScheduler::new (line 66) ... ok
[INFO] [stdout] test src/training.rs - training::Loss::gradient (line 318) ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 10 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out; finished in 1.24s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "7fc052432c406e4f8c7b0a6ca3e76cfc3c314dd5c01f1fb07a9e8a0dfad7d03b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "7fc052432c406e4f8c7b0a6ca3e76cfc3c314dd5c01f1fb07a9e8a0dfad7d03b", kill_on_drop: false }`
[INFO] [stdout] 7fc052432c406e4f8c7b0a6ca3e76cfc3c314dd5c01f1fb07a9e8a0dfad7d03b
