[INFO] cloning repository https://github.com/TuckerBMorgan/can-t
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/TuckerBMorgan/can-t" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FTuckerBMorgan%2Fcan-t", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FTuckerBMorgan%2Fcan-t'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 6dfe8f04d1db25f1b27c41de8e10a9e246ed5410
[INFO] testing TuckerBMorgan/can-t/6dfe8f04d1db25f1b27c41de8e10a9e246ed5410 against master#1ef7943ee607160a564655b6596f83670ef95df5 for pr-146098-6
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FTuckerBMorgan%2Fcan-t" "/workspace/builds/worker-6-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/TuckerBMorgan/can-t
[INFO] finished tweaking git repo https://github.com/TuckerBMorgan/can-t
[INFO] tweaked toml for git repo https://github.com/TuckerBMorgan/can-t written to /workspace/builds/worker-6-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/TuckerBMorgan/can-t on toolchain 1ef7943ee607160a564655b6596f83670ef95df5
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1ef7943ee607160a564655b6596f83670ef95df5" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/TuckerBMorgan/can-t 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" "+1ef7943ee607160a564655b6596f83670ef95df5" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded monostate-impl v0.1.14
[INFO] [stderr]   Downloaded derive_builder_macro v0.20.2
[INFO] [stderr]   Downloaded macro_rules_attribute v0.2.2
[INFO] [stderr]   Downloaded monostate v0.1.14
[INFO] [stderr]   Downloaded rayon-cond v0.4.0
[INFO] [stderr]   Downloaded digit-layout v0.3.1
[INFO] [stderr]   Downloaded csv-core v0.1.12
[INFO] [stderr]   Downloaded dary_heap v0.3.7
[INFO] [stderr]   Downloaded derive_builder v0.20.2
[INFO] [stderr]   Downloaded macro_rules_attribute-proc_macro v0.2.2
[INFO] [stderr]   Downloaded onig v6.5.1
[INFO] [stderr]   Downloaded ggml-quants v0.1.0
[INFO] [stderr]   Downloaded ggus v0.5.1
[INFO] [stderr]   Downloaded toml_edit v0.23.4
[INFO] [stderr]   Downloaded compact_str v0.9.0
[INFO] [stderr]   Downloaded pbr v1.1.1
[INFO] [stderr]   Downloaded mnist v0.5.0
[INFO] [stderr]   Downloaded derive_builder_core v0.20.2
[INFO] [stderr]   Downloaded curl v0.4.48
[INFO] [stderr]   Downloaded unicode-normalization-alignments v0.1.12
[INFO] [stderr]   Downloaded rust_tokenizers v8.1.1
[INFO] [stderr]   Downloaded esaxx-rs v0.1.10
[INFO] [stderr]   Downloaded tokenizers v0.21.4
[INFO] [stderr]   Downloaded ndarray v0.15.6
[INFO] [stderr]   Downloaded spm_precompiled v0.1.4
[INFO] [stderr]   Downloaded onig_sys v69.9.1
[INFO] [stderr]   Downloaded libz-sys v1.1.22
[INFO] [stderr]   Downloaded cudarc v0.11.9
[INFO] [stderr]   Downloaded curl-sys v0.4.82+curl-8.14.1
[INFO] [stderr]   Downloaded metal v0.30.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+1ef7943ee607160a564655b6596f83670ef95df5" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 8a49fb46e964d881d70eaf05329e0ef220e49f638d79beaa697859606ee50d4b
[INFO] running `Command { std: "docker" "start" "-a" "8a49fb46e964d881d70eaf05329e0ef220e49f638d79beaa697859606ee50d4b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "8a49fb46e964d881d70eaf05329e0ef220e49f638d79beaa697859606ee50d4b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "8a49fb46e964d881d70eaf05329e0ef220e49f638d79beaa697859606ee50d4b", kill_on_drop: false }`
[INFO] [stdout] 8a49fb46e964d881d70eaf05329e0ef220e49f638d79beaa697859606ee50d4b
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/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=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+1ef7943ee607160a564655b6596f83670ef95df5" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] f7019186e575f7a4f8868defdbdeea8b79251c881091b5c17233b5ba559f0d3e
[INFO] running `Command { std: "docker" "start" "-a" "f7019186e575f7a4f8868defdbdeea8b79251c881091b5c17233b5ba559f0d3e", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.172
[INFO] [stderr]    Compiling zerocopy v0.8.27
[INFO] [stderr]    Compiling serde v1.0.219
[INFO] [stderr]    Compiling either v1.15.0
[INFO] [stderr]    Compiling getrandom v0.3.3
[INFO] [stderr]    Compiling syn v2.0.101
[INFO] [stderr]    Compiling cc v1.2.29
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling winnow v0.7.13
[INFO] [stderr]    Compiling ahash v0.8.12
[INFO] [stderr]    Compiling aho-corasick v1.1.3
[INFO] [stderr]    Compiling toml_datetime v0.7.0
[INFO] [stderr]    Compiling matrixmultiply v0.3.9
[INFO] [stderr]    Compiling portable-atomic v1.11.1
[INFO] [stderr]    Compiling serde_json v1.0.140
[INFO] [stderr]    Compiling curl v0.4.48
[INFO] [stderr]    Compiling protobuf v2.28.0
[INFO] [stderr]    Compiling smallvec v1.15.1
[INFO] [stderr]    Compiling rawpointer v0.2.1
[INFO] [stderr]    Compiling castaway v0.2.4
[INFO] [stderr]    Compiling crossbeam-channel v0.5.15
[INFO] [stderr]    Compiling csv-core v0.1.12
[INFO] [stderr]    Compiling rayon v1.10.0
[INFO] [stderr]    Compiling itertools v0.14.0
[INFO] [stderr]    Compiling anyhow v1.0.98
[INFO] [stderr]    Compiling unicode-normalization-alignments v0.1.12
[INFO] [stderr]    Compiling rust_tokenizers v8.1.1
[INFO] [stderr]    Compiling log v0.4.27
[INFO] [stderr]    Compiling base64 v0.13.1
[INFO] [stderr]    Compiling macro_rules_attribute-proc_macro v0.2.2
[INFO] [stderr]    Compiling flate2 v1.1.2
[INFO] [stderr]    Compiling itertools v0.11.0
[INFO] [stderr]    Compiling getrandom v0.2.16
[INFO] [stderr]    Compiling console v0.15.11
[INFO] [stderr]    Compiling regex-automata v0.4.9
[INFO] [stderr]    Compiling rand_core v0.9.3
[INFO] [stderr]    Compiling socket2 v0.5.9
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]    Compiling macro_rules_attribute v0.2.2
[INFO] [stderr]    Compiling pbr v1.1.1
[INFO] [stderr]    Compiling memmap2 v0.9.8
[INFO] [stderr]    Compiling num-complex v0.4.6
[INFO] [stderr]    Compiling num-integer v0.1.46
[INFO] [stderr]    Compiling libz-sys v1.1.22
[INFO] [stderr]    Compiling openssl-sys v0.9.109
[INFO] [stderr]    Compiling curl-sys v0.4.82+curl-8.14.1
[INFO] [stderr]    Compiling onig_sys v69.9.1
[INFO] [stderr]    Compiling esaxx-rs v0.1.10
[INFO] [stderr]    Compiling toml_parser v1.0.4
[INFO] [stderr]    Compiling indicatif v0.17.11
[INFO] [stderr]    Compiling toml_edit v0.23.4
[INFO] [stderr]    Compiling rayon-cond v0.4.0
[INFO] [stderr]    Compiling ndarray v0.15.6
[INFO] [stderr]    Compiling proc-macro-crate v3.4.0
[INFO] [stderr]    Compiling regex v1.11.1
[INFO] [stderr]    Compiling mnist v0.5.0
[INFO] [stderr]    Compiling darling_core v0.20.11
[INFO] [stderr]    Compiling zerocopy-derive v0.8.27
[INFO] [stderr]    Compiling serde_derive v1.0.219
[INFO] [stderr]    Compiling monostate-impl v0.1.14
[INFO] [stderr]    Compiling thiserror-impl v2.0.14
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling num_enum_derive v0.7.4
[INFO] [stderr]    Compiling num_enum v0.7.4
[INFO] [stderr]    Compiling thiserror v1.0.69
[INFO] [stderr]    Compiling thiserror v2.0.14
[INFO] [stderr]    Compiling onig v6.5.1
[INFO] [stderr]    Compiling darling_macro v0.20.11
[INFO] [stderr]    Compiling cant_cpu v0.1.0 (/opt/rustwide/workdir/crates/cant_cpu)
[INFO] [stdout] warning: unused import: `ndarray::prelude::*`
[INFO] [stdout]   --> crates/cant_cpu/src/tensor_matmul.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use ndarray::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: `char::MAX` and `cmp::max`
[INFO] [stdout]   --> crates/cant_cpu/src/tensor_matmul.rs:14:11
[INFO] [stdout]    |
[INFO] [stdout] 14 | use std::{char::MAX, cmp::max};
[INFO] [stdout]    |           ^^^^^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling darling v0.20.11
[INFO] [stderr]    Compiling derive_builder_core v0.20.2
[INFO] [stderr]    Compiling derive_builder_macro v0.20.2
[INFO] [stderr]    Compiling derive_builder v0.20.2
[INFO] [stderr]    Compiling ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling half v2.7.1
[INFO] [stderr]    Compiling digit-layout v0.3.1
[INFO] [stderr]    Compiling ggml-quants v0.1.0
[INFO] [stderr]    Compiling ggus v0.5.1
[INFO] [stderr]    Compiling rand_chacha v0.9.0
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling rand v0.8.5
[INFO] [stderr]    Compiling rand v0.9.2
[INFO] [stderr]    Compiling rand_distr v0.4.3
[INFO] [stderr]    Compiling monostate v0.1.14
[INFO] [stderr]    Compiling dary_heap v0.3.7
[INFO] [stderr]    Compiling csv v1.3.1
[INFO] [stderr]    Compiling spm_precompiled v0.1.4
[INFO] [stderr]    Compiling compact_str v0.9.0
[INFO] [stderr]    Compiling hashbrown v0.14.5
[INFO] [stderr]    Compiling tokenizers v0.21.4
[INFO] [stderr]    Compiling cant v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `ndarray::prelude::*`
[INFO] [stdout]  --> src/central/cross_entropy_op.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use ndarray::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: `BackproagationPacket` and `Operation`
[INFO] [stdout]  --> src/central/einsum.rs:1:13
[INFO] [stdout]   |
[INFO] [stdout] 1 | use super::{BackproagationPacket, Operation, Tensor};
[INFO] [stdout]   |             ^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `regex::Regex`
[INFO] [stdout]  --> src/central/einsum.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use regex::Regex;
[INFO] [stdout]   |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `collections::HashMap`, `hash::Hash`, and `mem::swap`
[INFO] [stdout]  --> src/central/einsum.rs:4:11
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::{collections::HashMap, hash::Hash, mem::swap};
[INFO] [stdout]   |           ^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `IndexMut` and `Index`
[INFO] [stdout]  --> src/central/index.rs:2:16
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::ops::{Index, IndexMut};
[INFO] [stdout]   |                ^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ndarray::prelude::*`
[INFO] [stdout]  --> src/central/masked_fill.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use ndarray::prelude::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `utils::padding_dimenions_to_max`
[INFO] [stdout]  --> src/central/mean_op.rs:1:25
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::{central::*, utils::padding_dimenions_to_max};
[INFO] [stdout]   |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashSet`
[INFO] [stdout]  --> src/central/mean_op.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::collections::HashSet;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `equation`
[INFO] [stdout]  --> src/central/select_op.rs:1:47
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::central::{Shape, Tensor, TensorID, equation, get_equation};
[INFO] [stdout]   |                                               ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashSet`
[INFO] [stdout]  --> src/central/std_op.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::collections::HashSet;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cmp::Reverse`
[INFO] [stdout]  --> src/central/topk_op.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::cmp::Reverse;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `cross_entropy_op::*`
[INFO] [stdout]   --> src/central/mod.rs:39:9
[INFO] [stdout]    |
[INFO] [stdout] 39 | pub use cross_entropy_op::*;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `einsum::*`
[INFO] [stdout]   --> src/central/mod.rs:41:9
[INFO] [stdout]    |
[INFO] [stdout] 41 | pub use einsum::*;
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashSet`
[INFO] [stdout]  --> src/nn/bpe_tokenizer.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::collections::HashSet;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::hash::Hash`
[INFO] [stdout]  --> src/nn/bpe_tokenizer.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::hash::Hash;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io`
[INFO] [stdout]  --> src/nn/bpe_tokenizer.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::io;
[INFO] [stdout]   |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::utils::GGUFFile`
[INFO] [stdout]  --> src/nn/embedding.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::utils::GGUFFile;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::f32::consts::PI`
[INFO] [stdout]  --> src/nn/gelu.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::f32::consts::PI;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Gpt2Tokenizer` and `Tokenizer`
[INFO] [stdout]  --> src/nn/gpt2.rs:4:34
[INFO] [stdout]   |
[INFO] [stdout] 4 | use rust_tokenizers::tokenizer::{Gpt2Tokenizer, Tokenizer};
[INFO] [stdout]   |                                  ^^^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ndarray::Axis`
[INFO] [stdout]  --> src/nn/multihead_attention.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use ndarray::Axis;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::nn::*`
[INFO] [stdout]  --> src/nn/rotary_embedding.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::nn::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::nn::*`
[INFO] [stdout]  --> src/nn/scaled_dot_project_attention.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::nn::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::f32::consts::PI`
[INFO] [stdout]  --> src/nn/swiglu.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::f32::consts::PI;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::central::*`
[INFO] [stdout]  --> src/lib.rs:8:9
[INFO] [stdout]   |
[INFO] [stdout] 8 |     use crate::central::*;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout] help: if this is a test module, consider adding a `#[cfg(test)]` to the containing module
[INFO] [stdout]  --> src/lib.rs:7:1
[INFO] [stdout]   |
[INFO] [stdout] 7 | mod tests {
[INFO] [stdout]   | ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::central::Shape`
[INFO] [stdout]    --> src/lib.rs:167:9
[INFO] [stdout]     |
[INFO] [stdout] 167 |     use crate::central::Shape;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: if this is a test module, consider adding a `#[cfg(test)]` to the containing module
[INFO] [stdout]    --> src/lib.rs:7:1
[INFO] [stdout]     |
[INFO] [stdout]   7 | mod tests {
[INFO] [stdout]     | ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::central::Tensor`
[INFO] [stdout]    --> src/lib.rs:168:9
[INFO] [stdout]     |
[INFO] [stdout] 168 |     use crate::central::Tensor;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: if this is a test module, consider adding a `#[cfg(test)]` to the containing module
[INFO] [stdout]    --> src/lib.rs:7:1
[INFO] [stdout]     |
[INFO] [stdout]   7 | mod tests {
[INFO] [stdout]     | ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::utils::GGUFFile`
[INFO] [stdout]    --> src/lib.rs:169:9
[INFO] [stdout]     |
[INFO] [stdout] 169 |     use crate::utils::GGUFFile;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: if this is a test module, consider adding a `#[cfg(test)]` to the containing module
[INFO] [stdout]    --> src/lib.rs:7:1
[INFO] [stdout]     |
[INFO] [stdout]   7 | mod tests {
[INFO] [stdout]     | ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `number_of_dimensions`
[INFO] [stdout]  --> src/central/einsum.rs:9:9
[INFO] [stdout]   |
[INFO] [stdout] 9 |         number_of_dimensions: usize,
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_number_of_dimensions`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `keep_dimensions`
[INFO] [stdout]   --> src/central/einsum.rs:24:9
[INFO] [stdout]    |
[INFO] [stdout] 24 |         keep_dimensions: bool,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_keep_dimensions`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]   --> src/central/masked_fill.rs:37:46
[INFO] [stdout]    |
[INFO] [stdout] 37 |     if let Operation::MaskFill(source, mask, value) = packet.operation {
[INFO] [stdout]    |                                              ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/nn/bpe_tokenizer.rs:18:13
[INFO] [stdout]    |
[INFO] [stdout] 18 |         let mut count = 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: `count`
[INFO] [stdout]   --> src/nn/bpe_tokenizer.rs:18:13
[INFO] [stdout]    |
[INFO] [stdout] 18 |         let mut count = 0;
[INFO] [stdout]    |             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_count`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/nn/gpt2.rs:159:14
[INFO] [stdout]     |
[INFO] [stdout] 159 |         for (i, block) in self.blocks.iter_mut().enumerate() {
[INFO] [stdout]     |              ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/nn/linear.rs:42:13
[INFO] [stdout]    |
[INFO] [stdout] 42 |         let mut weights = Tensor::from_gguf_file(weight_tensor_name, gguf_file);
[INFO] [stdout]    |             ----^^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `operation` is never read
[INFO] [stdout]    --> src/central/tensor.rs:137:5
[INFO] [stdout]     |
[INFO] [stdout] 134 | pub struct Tensor {
[INFO] [stdout]     |            ------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 137 |     operation: Operation, // The operation that created this Tensor(Nop for basic allocations)
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Tensor` has a derived impl for the trait `Clone`, but this is 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: field `config` is never read
[INFO] [stdout]   --> src/nn/gpt2.rs:76:5
[INFO] [stdout]    |
[INFO] [stdout] 75 | pub struct GPT2 {
[INFO] [stdout]    |            ---- field in this struct
[INFO] [stdout] 76 |     config: GPT2Config,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `max_seq_len_cached`, `cos_cache`, and `sin_cache` are never read
[INFO] [stdout]   --> src/nn/rotary_embedding.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout]  8 | pub struct RotaryEmbedding {
[INFO] [stdout]    |            --------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 11 |     max_seq_len_cached: usize,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 16 |     cos_cache: Option<Tensor>,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 17 |     sin_cache: Option<Tensor>,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `dropout` is never read
[INFO] [stdout]  --> src/nn/scaled_dot_project_attention.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct ScaledDotProductAttention {
[INFO] [stdout]   |            ------------------------- field in this struct
[INFO] [stdout] 7 |     scale: f32,
[INFO] [stdout] 8 |     dropout: f32,
[INFO] [stdout]   |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `alpha` and `limit` are never read
[INFO] [stdout]   --> src/nn/swiglu.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub struct Swiglu {
[INFO] [stdout]    |            ------ fields in this struct
[INFO] [stdout] 18 |     alpha: f32, 
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 19 |     limit: f32
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `approx_equal` is never used
[INFO] [stdout]   --> src/lib.rs:10:8
[INFO] [stdout]    |
[INFO] [stdout] 10 |     fn approx_equal(a: f32, b: f32, epsilon: f32) -> bool {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `build_batch_norm_dataset_from_subset` is never used
[INFO] [stdout]    --> src/lib.rs:118:8
[INFO] [stdout]     |
[INFO] [stdout] 118 |     fn build_batch_norm_dataset_from_subset(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `build_dataset_from_subset` is never used
[INFO] [stdout]    --> src/lib.rs:136:8
[INFO] [stdout]     |
[INFO] [stdout] 136 |     fn build_dataset_from_subset(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_lines` is never used
[INFO] [stdout]    --> src/lib.rs:158:8
[INFO] [stdout]     |
[INFO] [stdout] 158 |     fn read_lines(filename: &str) -> Vec<String> {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 53.43s
[INFO] running `Command { std: "docker" "inspect" "f7019186e575f7a4f8868defdbdeea8b79251c881091b5c17233b5ba559f0d3e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "f7019186e575f7a4f8868defdbdeea8b79251c881091b5c17233b5ba559f0d3e", kill_on_drop: false }`
[INFO] [stdout] f7019186e575f7a4f8868defdbdeea8b79251c881091b5c17233b5ba559f0d3e
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/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=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+1ef7943ee607160a564655b6596f83670ef95df5" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 59542155e04569b398b7c34b926eb4b03930e24016a1205851d921633788c5a6
[INFO] running `Command { std: "docker" "start" "-a" "59542155e04569b398b7c34b926eb4b03930e24016a1205851d921633788c5a6", kill_on_drop: false }`
[INFO] [stderr]    Compiling cant v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `ndarray::prelude::*`
[INFO] [stdout]   --> crates/cant_cpu/src/tensor_matmul.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use ndarray::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: `char::MAX` and `cmp::max`
[INFO] [stdout]   --> crates/cant_cpu/src/tensor_matmul.rs:14:11
[INFO] [stdout]    |
[INFO] [stdout] 14 | use std::{char::MAX, cmp::max};
[INFO] [stdout]    |           ^^^^^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ndarray::prelude::*`
[INFO] [stdout]  --> src/central/cross_entropy_op.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use ndarray::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: `BackproagationPacket` and `Operation`
[INFO] [stdout]  --> src/central/einsum.rs:1:13
[INFO] [stdout]   |
[INFO] [stdout] 1 | use super::{BackproagationPacket, Operation, Tensor};
[INFO] [stdout]   |             ^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `regex::Regex`
[INFO] [stdout]  --> src/central/einsum.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use regex::Regex;
[INFO] [stdout]   |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `collections::HashMap`, `hash::Hash`, and `mem::swap`
[INFO] [stdout]  --> src/central/einsum.rs:4:11
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::{collections::HashMap, hash::Hash, mem::swap};
[INFO] [stdout]   |           ^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `IndexMut` and `Index`
[INFO] [stdout]  --> src/central/index.rs:2:16
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::ops::{Index, IndexMut};
[INFO] [stdout]   |                ^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ndarray::prelude::*`
[INFO] [stdout]  --> src/central/masked_fill.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use ndarray::prelude::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `utils::padding_dimenions_to_max`
[INFO] [stdout]  --> src/central/mean_op.rs:1:25
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::{central::*, utils::padding_dimenions_to_max};
[INFO] [stdout]   |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashSet`
[INFO] [stdout]  --> src/central/mean_op.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::collections::HashSet;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `equation`
[INFO] [stdout]  --> src/central/select_op.rs:1:47
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::central::{Shape, Tensor, TensorID, equation, get_equation};
[INFO] [stdout]   |                                               ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashSet`
[INFO] [stdout]  --> src/central/std_op.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::collections::HashSet;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cmp::Reverse`
[INFO] [stdout]  --> src/central/topk_op.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::cmp::Reverse;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `cross_entropy_op::*`
[INFO] [stdout]   --> src/central/mod.rs:39:9
[INFO] [stdout]    |
[INFO] [stdout] 39 | pub use cross_entropy_op::*;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `einsum::*`
[INFO] [stdout]   --> src/central/mod.rs:41:9
[INFO] [stdout]    |
[INFO] [stdout] 41 | pub use einsum::*;
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashSet`
[INFO] [stdout]  --> src/nn/bpe_tokenizer.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::collections::HashSet;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::hash::Hash`
[INFO] [stdout]  --> src/nn/bpe_tokenizer.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::hash::Hash;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io`
[INFO] [stdout]  --> src/nn/bpe_tokenizer.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::io;
[INFO] [stdout]   |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::utils::GGUFFile`
[INFO] [stdout]  --> src/nn/embedding.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::utils::GGUFFile;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::f32::consts::PI`
[INFO] [stdout]  --> src/nn/gelu.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::f32::consts::PI;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Gpt2Tokenizer` and `Tokenizer`
[INFO] [stdout]  --> src/nn/gpt2.rs:4:34
[INFO] [stdout]   |
[INFO] [stdout] 4 | use rust_tokenizers::tokenizer::{Gpt2Tokenizer, Tokenizer};
[INFO] [stdout]   |                                  ^^^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ndarray::Axis`
[INFO] [stdout]  --> src/nn/multihead_attention.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use ndarray::Axis;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::nn::*`
[INFO] [stdout]  --> src/nn/rotary_embedding.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::nn::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::nn::*`
[INFO] [stdout]  --> src/nn/scaled_dot_project_attention.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::nn::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::f32::consts::PI`
[INFO] [stdout]  --> src/nn/swiglu.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::f32::consts::PI;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::central::*`
[INFO] [stdout]  --> src/lib.rs:8:9
[INFO] [stdout]   |
[INFO] [stdout] 8 |     use crate::central::*;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout] help: if this is a test module, consider adding a `#[cfg(test)]` to the containing module
[INFO] [stdout]  --> src/lib.rs:7:1
[INFO] [stdout]   |
[INFO] [stdout] 7 | mod tests {
[INFO] [stdout]   | ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::central::Shape`
[INFO] [stdout]    --> src/lib.rs:167:9
[INFO] [stdout]     |
[INFO] [stdout] 167 |     use crate::central::Shape;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: if this is a test module, consider adding a `#[cfg(test)]` to the containing module
[INFO] [stdout]    --> src/lib.rs:7:1
[INFO] [stdout]     |
[INFO] [stdout]   7 | mod tests {
[INFO] [stdout]     | ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::central::Tensor`
[INFO] [stdout]    --> src/lib.rs:168:9
[INFO] [stdout]     |
[INFO] [stdout] 168 |     use crate::central::Tensor;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: if this is a test module, consider adding a `#[cfg(test)]` to the containing module
[INFO] [stdout]    --> src/lib.rs:7:1
[INFO] [stdout]     |
[INFO] [stdout]   7 | mod tests {
[INFO] [stdout]     | ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::utils::GGUFFile`
[INFO] [stdout]    --> src/lib.rs:169:9
[INFO] [stdout]     |
[INFO] [stdout] 169 |     use crate::utils::GGUFFile;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: if this is a test module, consider adding a `#[cfg(test)]` to the containing module
[INFO] [stdout]    --> src/lib.rs:7:1
[INFO] [stdout]     |
[INFO] [stdout]   7 | mod tests {
[INFO] [stdout]     | ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `number_of_dimensions`
[INFO] [stdout]  --> src/central/einsum.rs:9:9
[INFO] [stdout]   |
[INFO] [stdout] 9 |         number_of_dimensions: usize,
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_number_of_dimensions`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `keep_dimensions`
[INFO] [stdout]   --> src/central/einsum.rs:24:9
[INFO] [stdout]    |
[INFO] [stdout] 24 |         keep_dimensions: bool,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_keep_dimensions`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]   --> src/central/masked_fill.rs:37:46
[INFO] [stdout]    |
[INFO] [stdout] 37 |     if let Operation::MaskFill(source, mask, value) = packet.operation {
[INFO] [stdout]    |                                              ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/nn/bpe_tokenizer.rs:18:13
[INFO] [stdout]    |
[INFO] [stdout] 18 |         let mut count = 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: `count`
[INFO] [stdout]   --> src/nn/bpe_tokenizer.rs:18:13
[INFO] [stdout]    |
[INFO] [stdout] 18 |         let mut count = 0;
[INFO] [stdout]    |             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_count`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/nn/gpt2.rs:159:14
[INFO] [stdout]     |
[INFO] [stdout] 159 |         for (i, block) in self.blocks.iter_mut().enumerate() {
[INFO] [stdout]     |              ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/nn/linear.rs:42:13
[INFO] [stdout]    |
[INFO] [stdout] 42 |         let mut weights = Tensor::from_gguf_file(weight_tensor_name, gguf_file);
[INFO] [stdout]    |             ----^^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `operation` is never read
[INFO] [stdout]    --> src/central/tensor.rs:137:5
[INFO] [stdout]     |
[INFO] [stdout] 134 | pub struct Tensor {
[INFO] [stdout]     |            ------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 137 |     operation: Operation, // The operation that created this Tensor(Nop for basic allocations)
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Tensor` has a derived impl for the trait `Clone`, but this is 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: field `config` is never read
[INFO] [stdout]   --> src/nn/gpt2.rs:76:5
[INFO] [stdout]    |
[INFO] [stdout] 75 | pub struct GPT2 {
[INFO] [stdout]    |            ---- field in this struct
[INFO] [stdout] 76 |     config: GPT2Config,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `max_seq_len_cached`, `cos_cache`, and `sin_cache` are never read
[INFO] [stdout]   --> src/nn/rotary_embedding.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout]  8 | pub struct RotaryEmbedding {
[INFO] [stdout]    |            --------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 11 |     max_seq_len_cached: usize,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 16 |     cos_cache: Option<Tensor>,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 17 |     sin_cache: Option<Tensor>,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `dropout` is never read
[INFO] [stdout]  --> src/nn/scaled_dot_project_attention.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct ScaledDotProductAttention {
[INFO] [stdout]   |            ------------------------- field in this struct
[INFO] [stdout] 7 |     scale: f32,
[INFO] [stdout] 8 |     dropout: f32,
[INFO] [stdout]   |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `alpha` and `limit` are never read
[INFO] [stdout]   --> src/nn/swiglu.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub struct Swiglu {
[INFO] [stdout]    |            ------ fields in this struct
[INFO] [stdout] 18 |     alpha: f32, 
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 19 |     limit: f32
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `approx_equal` is never used
[INFO] [stdout]   --> src/lib.rs:10:8
[INFO] [stdout]    |
[INFO] [stdout] 10 |     fn approx_equal(a: f32, b: f32, epsilon: f32) -> bool {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `build_batch_norm_dataset_from_subset` is never used
[INFO] [stdout]    --> src/lib.rs:118:8
[INFO] [stdout]     |
[INFO] [stdout] 118 |     fn build_batch_norm_dataset_from_subset(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `build_dataset_from_subset` is never used
[INFO] [stdout]    --> src/lib.rs:136:8
[INFO] [stdout]     |
[INFO] [stdout] 136 |     fn build_dataset_from_subset(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_lines` is never used
[INFO] [stdout]    --> src/lib.rs:158:8
[INFO] [stdout]     |
[INFO] [stdout] 158 |     fn read_lines(filename: &str) -> Vec<String> {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `cant::utils::GGUFFile`
[INFO] [stdout]  --> examples/gpt-oss.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use cant::utils::GGUFFile;
[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: `t`
[INFO] [stdout]   --> examples/gpt-oss.rs:70:13
[INFO] [stdout]    |
[INFO] [stdout] 70 |         let t = self.norm.forward(inputs);
[INFO] [stdout]    |             ^ help: if this is intentional, prefix it with an underscore: `_t`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `g`
[INFO] [stdout]   --> examples/gpt-oss.rs:71:13
[INFO] [stdout]    |
[INFO] [stdout] 71 |         let g = self.gate.forward(inputs);
[INFO] [stdout]    |             ^ help: if this is intentional, prefix it with an underscore: `_g`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]   --> examples/gpt-oss.rs:6:5
[INFO] [stdout]    |
[INFO] [stdout]  5 | pub struct ModelConfig {
[INFO] [stdout]    |            ----------- fields in this struct
[INFO] [stdout]  6 |     number_of_hidden_layers: usize,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]  7 |     number_of_experts: usize,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]  8 |     number_of_experts_per_token: usize,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]  9 |     vocab_size: usize,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 10 |     hidden_layer_size: usize,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 11 |     intermediate_size: usize,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 12 |     swiglu_limit: f32,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 13 |     head_dimenesions: usize,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 14 |     number_of_attention_heads: usize,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 15 |     number_of_key_value_heads: usize,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 16 |     sliding_window: usize,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 17 |     initial_content_length: usize,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 18 |     rope_theta: f32,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 19 |     rope_scaling_factor: f32,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 20 |     rope_ntk_alpha: f32,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 21 |     rope_ntk_beta: f32,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 22 |     world_size: 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: struct `MLPBlock` is never constructed
[INFO] [stdout]   --> examples/gpt-oss.rs:25:8
[INFO] [stdout]    |
[INFO] [stdout] 25 | struct MLPBlock {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> examples/gpt-oss.rs:38:12
[INFO] [stdout]    |
[INFO] [stdout] 37 | impl MLPBlock {
[INFO] [stdout]    | ------------- associated function in this implementation
[INFO] [stdout] 38 |     pub fn new(config: &ModelConfig) -> MLPBlock {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ndarray::prelude::*`
[INFO] [stdout]  --> src/central/cross_entropy_op.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use ndarray::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: `BackproagationPacket` and `Operation`
[INFO] [stdout]  --> src/central/einsum.rs:1:13
[INFO] [stdout]   |
[INFO] [stdout] 1 | use super::{BackproagationPacket, Operation, Tensor};
[INFO] [stdout]   |             ^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `regex::Regex`
[INFO] [stdout]  --> src/central/einsum.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use regex::Regex;
[INFO] [stdout]   |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `collections::HashMap`, `hash::Hash`, and `mem::swap`
[INFO] [stdout]  --> src/central/einsum.rs:4:11
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::{collections::HashMap, hash::Hash, mem::swap};
[INFO] [stdout]   |           ^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `IndexMut` and `Index`
[INFO] [stdout]  --> src/central/index.rs:2:16
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::ops::{Index, IndexMut};
[INFO] [stdout]   |                ^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ndarray::prelude::*`
[INFO] [stdout]  --> src/central/masked_fill.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use ndarray::prelude::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `utils::padding_dimenions_to_max`
[INFO] [stdout]  --> src/central/mean_op.rs:1:25
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::{central::*, utils::padding_dimenions_to_max};
[INFO] [stdout]   |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashSet`
[INFO] [stdout]  --> src/central/mean_op.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::collections::HashSet;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::*`
[INFO] [stdout]   --> src/central/movedim_op.rs:72:9
[INFO] [stdout]    |
[INFO] [stdout] 72 |     use super::*;
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::*`
[INFO] [stdout]    --> src/central/permute.rs:136:9
[INFO] [stdout]     |
[INFO] [stdout] 136 |     use super::*;
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `equation`
[INFO] [stdout]  --> src/central/select_op.rs:1:47
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::central::{Shape, Tensor, TensorID, equation, get_equation};
[INFO] [stdout]   |                                               ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashSet`
[INFO] [stdout]  --> src/central/std_op.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::collections::HashSet;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `get_equation`
[INFO] [stdout]    --> src/central/std_op.rs:175:52
[INFO] [stdout]     |
[INFO] [stdout] 175 |     use crate::central::{Operation, Shape, Tensor, get_equation};
[INFO] [stdout]     |                                                    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cmp::Reverse`
[INFO] [stdout]  --> src/central/topk_op.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::cmp::Reverse;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `cross_entropy_op::*`
[INFO] [stdout]   --> src/central/mod.rs:39:9
[INFO] [stdout]    |
[INFO] [stdout] 39 | pub use cross_entropy_op::*;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `einsum::*`
[INFO] [stdout]   --> src/central/mod.rs:41:9
[INFO] [stdout]    |
[INFO] [stdout] 41 | pub use einsum::*;
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashSet`
[INFO] [stdout]  --> src/nn/bpe_tokenizer.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::collections::HashSet;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::hash::Hash`
[INFO] [stdout]  --> src/nn/bpe_tokenizer.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::hash::Hash;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io`
[INFO] [stdout]  --> src/nn/bpe_tokenizer.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::io;
[INFO] [stdout]   |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::nn::BPETokenizer`
[INFO] [stdout]   --> src/nn/bpe_tokenizer.rs:98:9
[INFO] [stdout]    |
[INFO] [stdout] 98 |     use crate::nn::BPETokenizer;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::utils::GGUFFile`
[INFO] [stdout]  --> src/nn/embedding.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::utils::GGUFFile;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::f32::consts::PI`
[INFO] [stdout]  --> src/nn/gelu.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::f32::consts::PI;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Gpt2Tokenizer` and `Tokenizer`
[INFO] [stdout]  --> src/nn/gpt2.rs:4:34
[INFO] [stdout]   |
[INFO] [stdout] 4 | use rust_tokenizers::tokenizer::{Gpt2Tokenizer, Tokenizer};
[INFO] [stdout]   |                                  ^^^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `GPT2Config`
[INFO] [stdout]    --> src/nn/gpt2.rs:186:27
[INFO] [stdout]     |
[INFO] [stdout] 186 |     use crate::nn::{GPT2, GPT2Config, Model};
[INFO] [stdout]     |                           ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ndarray::Axis`
[INFO] [stdout]    --> src/nn/gpt2.rs:188:9
[INFO] [stdout]     |
[INFO] [stdout] 188 |     use ndarray::Axis;
[INFO] [stdout]     |         ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `EncodeInput`
[INFO] [stdout]    --> src/nn/gpt2.rs:256:33
[INFO] [stdout]     |
[INFO] [stdout] 256 |     use tokenizers::tokenizer::{EncodeInput, Result, Tokenizer};
[INFO] [stdout]     |                                 ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around closure body
[INFO] [stdout]     --> src/nn/layer_norm.rs:1205:68
[INFO] [stdout]      |
[INFO] [stdout] 1205 |             let input_data: Vec<f32> = (0..batch_size * 3).map(|i| (i as f32 + 1.0)).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] 1205 -             let input_data: Vec<f32> = (0..batch_size * 3).map(|i| (i as f32 + 1.0)).collect();
[INFO] [stdout] 1205 +             let input_data: Vec<f32> = (0..batch_size * 3).map(|i| i as f32 + 1.0 ).collect();
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ndarray::Axis`
[INFO] [stdout]  --> src/nn/multihead_attention.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use ndarray::Axis;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::nn::*`
[INFO] [stdout]  --> src/nn/rotary_embedding.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::nn::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::f32::consts::PI`
[INFO] [stdout]  --> src/nn/swiglu.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::f32::consts::PI;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable expression
[INFO] [stdout]     --> src/nn/layer_norm.rs:1037:9
[INFO] [stdout]      |
[INFO] [stdout] 1036 |           return;
[INFO] [stdout]      |           ------ any code following this expression is unreachable
[INFO] [stdout] 1037 | /         for i in 0..3 {
[INFO] [stdout] 1038 | |             // Bias gradient should be non-zero and finite
[INFO] [stdout] 1039 | |             assert!(bias_grad[[i]].is_finite());
[INFO] [stdout] 1040 | |             assert!(
[INFO] [stdout] ...    |
[INFO] [stdout] 1050 | |             );
[INFO] [stdout] 1051 | |         }
[INFO] [stdout]      | |_________^ unreachable expression
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::nn`
[INFO] [stdout]  --> src/nn/scaled_dot_project_attention.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::nn::*;
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `number_of_dimensions`
[INFO] [stdout]  --> src/central/einsum.rs:9:9
[INFO] [stdout]   |
[INFO] [stdout] 9 |         number_of_dimensions: usize,
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_number_of_dimensions`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `keep_dimensions`
[INFO] [stdout]   --> src/central/einsum.rs:24:9
[INFO] [stdout]    |
[INFO] [stdout] 24 |         keep_dimensions: bool,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_keep_dimensions`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `c`
[INFO] [stdout]    --> src/central/einsum.rs:514:13
[INFO] [stdout]     |
[INFO] [stdout] 514 |         let c = Tensor::einsum("ij,jk->ik", vec![a, b]);
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_c`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `c`
[INFO] [stdout]    --> src/central/einsum.rs:522:13
[INFO] [stdout]     |
[INFO] [stdout] 522 |         let c = Tensor::einsum("i,k->ik", vec![a, b]);
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_c`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `c`
[INFO] [stdout]    --> src/central/einsum.rs:529:13
[INFO] [stdout]     |
[INFO] [stdout] 529 |         let c = Tensor::einsum("bec,be->bc", vec![a, b]);
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_c`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `c`
[INFO] [stdout]    --> src/central/einsum.rs:536:13
[INFO] [stdout]     |
[INFO] [stdout] 536 |         let c = Tensor::einsum("qhmd,khdm->hmqk", vec![a, b]); // note: k h d m
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_c`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]   --> src/central/masked_fill.rs:37:46
[INFO] [stdout]    |
[INFO] [stdout] 37 |     if let Operation::MaskFill(source, mask, value) = packet.operation {
[INFO] [stdout]    |                                              ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `indices`
[INFO] [stdout]    --> src/central/masked_fill.rs:281:21
[INFO] [stdout]     |
[INFO] [stdout] 281 |                 let indices: Vec<usize> = (0..shape.len())
[INFO] [stdout]     |                     ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_indices`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `axis`
[INFO] [stdout]    --> src/central/softmax_op.rs:115:51
[INFO] [stdout]     |
[INFO] [stdout] 115 |     fn assert_softmax_properties(tensor: &Tensor, axis: usize) {
[INFO] [stdout]     |                                                   ^^^^ help: if this is intentional, prefix it with an underscore: `_axis`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/nn/bpe_tokenizer.rs:18:13
[INFO] [stdout]    |
[INFO] [stdout] 18 |         let mut count = 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: `count`
[INFO] [stdout]   --> src/nn/bpe_tokenizer.rs:18:13
[INFO] [stdout]    |
[INFO] [stdout] 18 |         let mut count = 0;
[INFO] [stdout]    |             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_count`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/nn/gpt2.rs:159:14
[INFO] [stdout]     |
[INFO] [stdout] 159 |         for (i, block) in self.blocks.iter_mut().enumerate() {
[INFO] [stdout]     |              ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `test_text`
[INFO] [stdout]    --> src/nn/gpt2.rs:198:13
[INFO] [stdout]     |
[INFO] [stdout] 198 |         let test_text = "A";
[INFO] [stdout]     |             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_test_text`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/nn/gpt2.rs:269:13
[INFO] [stdout]     |
[INFO] [stdout] 269 |         let mut tokenizer = Tokenizer::new(bpe);
[INFO] [stdout]     |             ----^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `grad_diff`
[INFO] [stdout]    --> src/nn/layer_norm.rs:996:13
[INFO] [stdout]     |
[INFO] [stdout] 996 |         let grad_diff = (input1_grad[[0, 0]] - input2_grad[[0, 0]]).abs();
[INFO] [stdout]     |             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_grad_diff`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `weight_grad`
[INFO] [stdout]     --> src/nn/layer_norm.rs:1031:13
[INFO] [stdout]      |
[INFO] [stdout] 1031 |         let weight_grad = layer_norm.weight.grad();
[INFO] [stdout]      |             ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_weight_grad`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bias_grad`
[INFO] [stdout]     --> src/nn/layer_norm.rs:1032:13
[INFO] [stdout]      |
[INFO] [stdout] 1032 |         let bias_grad = layer_norm.bias.grad();
[INFO] [stdout]      |             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_bias_grad`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]     --> src/nn/layer_norm.rs:1037:13
[INFO] [stdout]      |
[INFO] [stdout] 1037 |         for i in 0..3 {
[INFO] [stdout]      |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `grad`
[INFO] [stdout]     --> src/nn/layer_norm.rs:1174:14
[INFO] [stdout]      |
[INFO] [stdout] 1174 |         for &grad in input_grad.iter() {
[INFO] [stdout]      |              ^^^^ help: if this is intentional, prefix it with an underscore: `_grad`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `weight_grad`
[INFO] [stdout]     --> src/nn/layer_norm.rs:1180:13
[INFO] [stdout]      |
[INFO] [stdout] 1180 |         let weight_grad = layer_norm.weight.grad();
[INFO] [stdout]      |             ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_weight_grad`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bias_grad`
[INFO] [stdout]     --> src/nn/layer_norm.rs:1181:13
[INFO] [stdout]      |
[INFO] [stdout] 1181 |         let bias_grad = layer_norm.bias.grad();
[INFO] [stdout]      |             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_bias_grad`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]     --> src/nn/layer_norm.rs:1183:13
[INFO] [stdout]      |
[INFO] [stdout] 1183 |         for i in 0..3 {
[INFO] [stdout]      |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pytorch_input`
[INFO] [stdout]     --> src/nn/layer_norm.rs:1856:13
[INFO] [stdout]      |
[INFO] [stdout] 1856 |         let pytorch_input = Tensor::from_gguf_file(
[INFO] [stdout]      |             ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pytorch_input`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pytorch_weight`
[INFO] [stdout]     --> src/nn/layer_norm.rs:1864:13
[INFO] [stdout]      |
[INFO] [stdout] 1864 |         let pytorch_weight = Tensor::from_gguf_file(
[INFO] [stdout]      |             ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pytorch_weight`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pytorch_bias`
[INFO] [stdout]     --> src/nn/layer_norm.rs:1868:13
[INFO] [stdout]      |
[INFO] [stdout] 1868 |         let pytorch_bias = Tensor::from_gguf_file(
[INFO] [stdout]      |             ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pytorch_bias`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pytorch_input`
[INFO] [stdout]     --> src/nn/layer_norm.rs:1985:13
[INFO] [stdout]      |
[INFO] [stdout] 1985 |         let pytorch_input = Tensor::from_gguf_file(
[INFO] [stdout]      |             ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pytorch_input`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pytorch_weight`
[INFO] [stdout]     --> src/nn/layer_norm.rs:1997:13
[INFO] [stdout]      |
[INFO] [stdout] 1997 |         let pytorch_weight = Tensor::from_gguf_file(
[INFO] [stdout]      |             ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pytorch_weight`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pytorch_bias`
[INFO] [stdout]     --> src/nn/layer_norm.rs:2001:13
[INFO] [stdout]      |
[INFO] [stdout] 2001 |         let pytorch_bias = Tensor::from_gguf_file(
[INFO] [stdout]      |             ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pytorch_bias`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pytorch_input`
[INFO] [stdout]     --> src/nn/layer_norm.rs:2177:13
[INFO] [stdout]      |
[INFO] [stdout] 2177 |         let pytorch_input = Tensor::from_gguf_file(
[INFO] [stdout]      |             ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pytorch_input`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pytorch_weight`
[INFO] [stdout]     --> src/nn/layer_norm.rs:2189:13
[INFO] [stdout]      |
[INFO] [stdout] 2189 |         let pytorch_weight = Tensor::from_gguf_file(
[INFO] [stdout]      |             ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pytorch_weight`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pytorch_bias`
[INFO] [stdout]     --> src/nn/layer_norm.rs:2193:13
[INFO] [stdout]      |
[INFO] [stdout] 2193 |         let pytorch_bias = Tensor::from_gguf_file(
[INFO] [stdout]      |             ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pytorch_bias`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pytorch_input_grad`
[INFO] [stdout]     --> src/nn/layer_norm.rs:2197:13
[INFO] [stdout]      |
[INFO] [stdout] 2197 |         let pytorch_input_grad = Tensor::from_gguf_file(
[INFO] [stdout]      |             ^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pytorch_input_grad`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/nn/linear.rs:42:13
[INFO] [stdout]    |
[INFO] [stdout] 42 |         let mut weights = Tensor::from_gguf_file(weight_tensor_name, gguf_file);
[INFO] [stdout]    |             ----^^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `has_zero_grads`
[INFO] [stdout]    --> src/nn/linear.rs:542:13
[INFO] [stdout]     |
[INFO] [stdout] 542 |         let has_zero_grads = layer1_weight_grad.iter().any(|&g| g == 0.0);
[INFO] [stdout]     |             ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_has_zero_grads`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `batch_size`
[INFO] [stdout]    --> src/nn/sequential.rs:516:13
[INFO] [stdout]     |
[INFO] [stdout] 516 |         let batch_size = 128;
[INFO] [stdout]     |             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_batch_size`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `image_size`
[INFO] [stdout]    --> src/nn/sequential.rs:517:13
[INFO] [stdout]     |
[INFO] [stdout] 517 |         let image_size = 64;
[INFO] [stdout]     |             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_image_size`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `number_of_channels`
[INFO] [stdout]    --> src/nn/sequential.rs:518:13
[INFO] [stdout]     |
[INFO] [stdout] 518 |         let number_of_channels = 3;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_number_of_channels`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `size_of_latent_z_vector`
[INFO] [stdout]    --> src/nn/sequential.rs:519:13
[INFO] [stdout]     |
[INFO] [stdout] 519 |         let size_of_latent_z_vector = 100;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_size_of_latent_z_vector`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `number_of_feature_maps_generator`
[INFO] [stdout]    --> src/nn/sequential.rs:520:13
[INFO] [stdout]     |
[INFO] [stdout] 520 |         let number_of_feature_maps_generator = 64;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_number_of_feature_maps_generator`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `number_of_feature_maps_discriminator`
[INFO] [stdout]    --> src/nn/sequential.rs:521:13
[INFO] [stdout]     |
[INFO] [stdout] 521 |         let number_of_feature_maps_discriminator = 64;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_number_of_feature_maps_discriminator`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `number_of_training_epochs`
[INFO] [stdout]    --> src/nn/sequential.rs:522:13
[INFO] [stdout]     |
[INFO] [stdout] 522 |         let number_of_training_epochs = 5;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_number_of_training_epochs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `learning_rate`
[INFO] [stdout]    --> src/nn/sequential.rs:523:13
[INFO] [stdout]     |
[INFO] [stdout] 523 |         let learning_rate = 0.0020;
[INFO] [stdout]     |             ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_learning_rate`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `beta_1`
[INFO] [stdout]    --> src/nn/sequential.rs:524:13
[INFO] [stdout]     |
[INFO] [stdout] 524 |         let beta_1 = 0.5;
[INFO] [stdout]     |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_beta_1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bnvar_inv`
[INFO] [stdout]    --> src/lib.rs:276:21
[INFO] [stdout]     |
[INFO] [stdout] 276 |                 let bnvar_inv = (bnvari + 1e-5).pow(-0.5);
[INFO] [stdout]     |                     ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_bnvar_inv`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `epoch`
[INFO] [stdout]    --> src/lib.rs:356:13
[INFO] [stdout]     |
[INFO] [stdout] 356 |         for epoch in 0..100 {
[INFO] [stdout]     |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_epoch`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/lib.rs:425:13
[INFO] [stdout]     |
[INFO] [stdout] 425 |         let mut y_true = Tensor::zeros(Shape::new(vec![batch_size, num_classes]));
[INFO] [stdout]     |             ----^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/lib.rs:530:13
[INFO] [stdout]     |
[INFO] [stdout] 530 |         let mut gguf_file = GGUFFile::new(String::from("./models/tests/gpt2/Gpt2-124M-F16.gguf"));
[INFO] [stdout]     |             ----^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `gguf_file`
[INFO] [stdout]    --> src/lib.rs:530:13
[INFO] [stdout]     |
[INFO] [stdout] 530 |         let mut gguf_file = GGUFFile::new(String::from("./models/tests/gpt2/Gpt2-124M-F16.gguf"));
[INFO] [stdout]     |             ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_gguf_file`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `operation` is never read
[INFO] [stdout]    --> src/central/tensor.rs:137:5
[INFO] [stdout]     |
[INFO] [stdout] 134 | pub struct Tensor {
[INFO] [stdout]     |            ------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 137 |     operation: Operation, // The operation that created this Tensor(Nop for basic allocations)
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Tensor` has a derived impl for the trait `Clone`, but this is 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: function `first` is never used
[INFO] [stdout]    --> src/central/transpose_op.rs:127:8
[INFO] [stdout]     |
[INFO] [stdout] 127 |     fn first() {
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `show` is never used
[INFO] [stdout]    --> src/central/transpose_op.rs:133:8
[INFO] [stdout]     |
[INFO] [stdout] 133 |     fn show(list: &mut Vec<f32>) {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `config` is never read
[INFO] [stdout]   --> src/nn/gpt2.rs:76:5
[INFO] [stdout]    |
[INFO] [stdout] 75 | pub struct GPT2 {
[INFO] [stdout]    |            ---- field in this struct
[INFO] [stdout] 76 |     config: GPT2Config,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `max_seq_len_cached`, `cos_cache`, and `sin_cache` are never read
[INFO] [stdout]   --> src/nn/rotary_embedding.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout]  8 | pub struct RotaryEmbedding {
[INFO] [stdout]    |            --------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 11 |     max_seq_len_cached: usize,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 16 |     cos_cache: Option<Tensor>,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 17 |     sin_cache: Option<Tensor>,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `approx_equal` is never used
[INFO] [stdout]    --> src/nn/scaled_dot_project_attention.rs:114:12
[INFO] [stdout]     |
[INFO] [stdout] 114 |         fn approx_equal(a: f32, b: f32, epsilon: f32) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `alpha` and `limit` are never read
[INFO] [stdout]   --> src/nn/swiglu.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub struct Swiglu {
[INFO] [stdout]    |            ------ fields in this struct
[INFO] [stdout] 18 |     alpha: f32, 
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 19 |     limit: f32
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `build_dataset_from_subset` is never used
[INFO] [stdout]    --> src/lib.rs:136:8
[INFO] [stdout]     |
[INFO] [stdout] 136 |     fn build_dataset_from_subset(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 5.90s
[INFO] running `Command { std: "docker" "inspect" "59542155e04569b398b7c34b926eb4b03930e24016a1205851d921633788c5a6", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "59542155e04569b398b7c34b926eb4b03930e24016a1205851d921633788c5a6", kill_on_drop: false }`
[INFO] [stdout] 59542155e04569b398b7c34b926eb4b03930e24016a1205851d921633788c5a6
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/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=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+1ef7943ee607160a564655b6596f83670ef95df5" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 97696a3bbbb44b23cc45de649a45b52fd5177cdf9b1185e677ef35771609fa57
[INFO] running `Command { std: "docker" "start" "-a" "97696a3bbbb44b23cc45de649a45b52fd5177cdf9b1185e677ef35771609fa57", kill_on_drop: false }`
[INFO] [stderr] warning: unused import: `ndarray::prelude::*`
[INFO] [stderr]   --> crates/cant_cpu/src/tensor_matmul.rs:13:5
[INFO] [stderr]    |
[INFO] [stderr] 13 | use ndarray::prelude::*;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `char::MAX` and `cmp::max`
[INFO] [stderr]   --> crates/cant_cpu/src/tensor_matmul.rs:14:11
[INFO] [stderr]    |
[INFO] [stderr] 14 | use std::{char::MAX, cmp::max};
[INFO] [stderr]    |           ^^^^^^^^^  ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: `cant_cpu` (lib) generated 2 warnings (run `cargo fix --lib -p cant_cpu` to apply 2 suggestions)
[INFO] [stderr] warning: unused import: `ndarray::prelude::*`
[INFO] [stderr]  --> src/central/cross_entropy_op.rs:2:5
[INFO] [stderr]   |
[INFO] [stderr] 2 | use ndarray::prelude::*;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `BackproagationPacket` and `Operation`
[INFO] [stderr]  --> src/central/einsum.rs:1:13
[INFO] [stderr]   |
[INFO] [stderr] 1 | use super::{BackproagationPacket, Operation, Tensor};
[INFO] [stderr]   |             ^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `regex::Regex`
[INFO] [stderr]  --> src/central/einsum.rs:3:5
[INFO] [stderr]   |
[INFO] [stderr] 3 | use regex::Regex;
[INFO] [stderr]   |     ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `collections::HashMap`, `hash::Hash`, and `mem::swap`
[INFO] [stderr]  --> src/central/einsum.rs:4:11
[INFO] [stderr]   |
[INFO] [stderr] 4 | use std::{collections::HashMap, hash::Hash, mem::swap};
[INFO] [stderr]   |           ^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^  ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `IndexMut` and `Index`
[INFO] [stderr]  --> src/central/index.rs:2:16
[INFO] [stderr]   |
[INFO] [stderr] 2 | use std::ops::{Index, IndexMut};
[INFO] [stderr]   |                ^^^^^  ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `ndarray::prelude::*`
[INFO] [stderr]  --> src/central/masked_fill.rs:2:5
[INFO] [stderr]   |
[INFO] [stderr] 2 | use ndarray::prelude::*;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `utils::padding_dimenions_to_max`
[INFO] [stderr]  --> src/central/mean_op.rs:1:25
[INFO] [stderr]   |
[INFO] [stderr] 1 | use crate::{central::*, utils::padding_dimenions_to_max};
[INFO] [stderr]   |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::collections::HashSet`
[INFO] [stderr]  --> src/central/mean_op.rs:3:5
[INFO] [stderr]   |
[INFO] [stderr] 3 | use std::collections::HashSet;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `equation`
[INFO] [stderr]  --> src/central/select_op.rs:1:47
[INFO] [stderr]   |
[INFO] [stderr] 1 | use crate::central::{Shape, Tensor, TensorID, equation, get_equation};
[INFO] [stderr]   |                                               ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::collections::HashSet`
[INFO] [stderr]  --> src/central/std_op.rs:3:5
[INFO] [stderr]   |
[INFO] [stderr] 3 | use std::collections::HashSet;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::cmp::Reverse`
[INFO] [stderr]  --> src/central/topk_op.rs:3:5
[INFO] [stderr]   |
[INFO] [stderr] 3 | use std::cmp::Reverse;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `cross_entropy_op::*`
[INFO] [stderr]   --> src/central/mod.rs:39:9
[INFO] [stderr]    |
[INFO] [stderr] 39 | pub use cross_entropy_op::*;
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `einsum::*`
[INFO] [stderr]   --> src/central/mod.rs:41:9
[INFO] [stderr]    |
[INFO] [stderr] 41 | pub use einsum::*;
[INFO] [stderr]    |         ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::collections::HashSet`
[INFO] [stderr]  --> src/nn/bpe_tokenizer.rs:3:5
[INFO] [stderr]   |
[INFO] [stderr] 3 | use std::collections::HashSet;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::hash::Hash`
[INFO] [stderr]  --> src/nn/bpe_tokenizer.rs:5:5
[INFO] [stderr]   |
[INFO] [stderr] 5 | use std::hash::Hash;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::io`
[INFO] [stderr]  --> src/nn/bpe_tokenizer.rs:6:5
[INFO] [stderr]   |
[INFO] [stderr] 6 | use std::io;
[INFO] [stderr]   |     ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::utils::GGUFFile`
[INFO] [stderr]  --> src/nn/embedding.rs:3:5
[INFO] [stderr]   |
[INFO] [stderr] 3 | use crate::utils::GGUFFile;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::f32::consts::PI`
[INFO] [stderr]  --> src/nn/gelu.rs:3:5
[INFO] [stderr]   |
[INFO] [stderr] 3 | use std::f32::consts::PI;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `Gpt2Tokenizer` and `Tokenizer`
[INFO] [stderr]  --> src/nn/gpt2.rs:4:34
[INFO] [stderr]   |
[INFO] [stderr] 4 | use rust_tokenizers::tokenizer::{Gpt2Tokenizer, Tokenizer};
[INFO] [stderr]   |                                  ^^^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `ndarray::Axis`
[INFO] [stderr]  --> src/nn/multihead_attention.rs:4:5
[INFO] [stderr]   |
[INFO] [stderr] 4 | use ndarray::Axis;
[INFO] [stderr]   |     ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::nn::*`
[INFO] [stderr]  --> src/nn/rotary_embedding.rs:2:5
[INFO] [stderr]   |
[INFO] [stderr] 2 | use crate::nn::*;
[INFO] [stderr]   |     ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::nn::*`
[INFO] [stderr]  --> src/nn/scaled_dot_project_attention.rs:4:5
[INFO] [stderr]   |
[INFO] [stderr] 4 | use crate::nn::*;
[INFO] [stderr]   |     ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::f32::consts::PI`
[INFO] [stderr]  --> src/nn/swiglu.rs:3:5
[INFO] [stderr]   |
[INFO] [stderr] 3 | use std::f32::consts::PI;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::central::*`
[INFO] [stderr]  --> src/lib.rs:8:9
[INFO] [stderr]   |
[INFO] [stderr] 8 |     use crate::central::*;
[INFO] [stderr]   |         ^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr] help: if this is a test module, consider adding a `#[cfg(test)]` to the containing module
[INFO] [stderr]  --> src/lib.rs:7:1
[INFO] [stderr]   |
[INFO] [stderr] 7 | mod tests {
[INFO] [stderr]   | ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::central::Shape`
[INFO] [stderr]    --> src/lib.rs:167:9
[INFO] [stderr]     |
[INFO] [stderr] 167 |     use crate::central::Shape;
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr] help: if this is a test module, consider adding a `#[cfg(test)]` to the containing module
[INFO] [stderr]    --> src/lib.rs:7:1
[INFO] [stderr]     |
[INFO] [stderr]   7 | mod tests {
[INFO] [stderr]     | ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::central::Tensor`
[INFO] [stderr]    --> src/lib.rs:168:9
[INFO] [stderr]     |
[INFO] [stderr] 168 |     use crate::central::Tensor;
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr] help: if this is a test module, consider adding a `#[cfg(test)]` to the containing module
[INFO] [stderr]    --> src/lib.rs:7:1
[INFO] [stderr]     |
[INFO] [stderr]   7 | mod tests {
[INFO] [stderr]     | ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::utils::GGUFFile`
[INFO] [stderr]    --> src/lib.rs:169:9
[INFO] [stderr]     |
[INFO] [stderr] 169 |     use crate::utils::GGUFFile;
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr] help: if this is a test module, consider adding a `#[cfg(test)]` to the containing module
[INFO] [stderr]    --> src/lib.rs:7:1
[INFO] [stderr]     |
[INFO] [stderr]   7 | mod tests {
[INFO] [stderr]     | ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `number_of_dimensions`
[INFO] [stderr]  --> src/central/einsum.rs:9:9
[INFO] [stderr]   |
[INFO] [stderr] 9 |         number_of_dimensions: usize,
[INFO] [stderr]   |         ^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_number_of_dimensions`
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `keep_dimensions`
[INFO] [stderr]   --> src/central/einsum.rs:24:9
[INFO] [stderr]    |
[INFO] [stderr] 24 |         keep_dimensions: bool,
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_keep_dimensions`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `value`
[INFO] [stderr]   --> src/central/masked_fill.rs:37:46
[INFO] [stderr]    |
[INFO] [stderr] 37 |     if let Operation::MaskFill(source, mask, value) = packet.operation {
[INFO] [stderr]    |                                              ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/nn/bpe_tokenizer.rs:18:13
[INFO] [stderr]    |
[INFO] [stderr] 18 |         let mut count = 0;
[INFO] [stderr]    |             ----^^^^^
[INFO] [stderr]    |             |
[INFO] [stderr]    |             help: remove this `mut`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `count`
[INFO] [stderr]   --> src/nn/bpe_tokenizer.rs:18:13
[INFO] [stderr]    |
[INFO] [stderr] 18 |         let mut count = 0;
[INFO] [stderr]    |             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_count`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `i`
[INFO] [stderr]    --> src/nn/gpt2.rs:159:14
[INFO] [stderr]     |
[INFO] [stderr] 159 |         for (i, block) in self.blocks.iter_mut().enumerate() {
[INFO] [stderr]     |              ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/nn/linear.rs:42:13
[INFO] [stderr]    |
[INFO] [stderr] 42 |         let mut weights = Tensor::from_gguf_file(weight_tensor_name, gguf_file);
[INFO] [stderr]    |             ----^^^^^^^
[INFO] [stderr]    |             |
[INFO] [stderr]    |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: field `operation` is never read
[INFO] [stderr]    --> src/central/tensor.rs:137:5
[INFO] [stderr]     |
[INFO] [stderr] 134 | pub struct Tensor {
[INFO] [stderr]     |            ------ field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 137 |     operation: Operation, // The operation that created this Tensor(Nop for basic allocations)
[INFO] [stderr]     |     ^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `Tensor` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stderr]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: field `config` is never read
[INFO] [stderr]   --> src/nn/gpt2.rs:76:5
[INFO] [stderr]    |
[INFO] [stderr] 75 | pub struct GPT2 {
[INFO] [stderr]    |            ---- field in this struct
[INFO] [stderr] 76 |     config: GPT2Config,
[INFO] [stderr]    |     ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: fields `max_seq_len_cached`, `cos_cache`, and `sin_cache` are never read
[INFO] [stderr]   --> src/nn/rotary_embedding.rs:11:5
[INFO] [stderr]    |
[INFO] [stderr]  8 | pub struct RotaryEmbedding {
[INFO] [stderr]    |            --------------- fields in this struct
[INFO] [stderr] ...
[INFO] [stderr] 11 |     max_seq_len_cached: usize,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 16 |     cos_cache: Option<Tensor>,
[INFO] [stderr]    |     ^^^^^^^^^
[INFO] [stderr] 17 |     sin_cache: Option<Tensor>,
[INFO] [stderr]    |     ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `dropout` is never read
[INFO] [stderr]  --> src/nn/scaled_dot_project_attention.rs:8:5
[INFO] [stderr]   |
[INFO] [stderr] 6 | pub struct ScaledDotProductAttention {
[INFO] [stderr]   |            ------------------------- field in this struct
[INFO] [stderr] 7 |     scale: f32,
[INFO] [stderr] 8 |     dropout: f32,
[INFO] [stderr]   |     ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: fields `alpha` and `limit` are never read
[INFO] [stderr]   --> src/nn/swiglu.rs:18:5
[INFO] [stderr]    |
[INFO] [stderr] 17 | pub struct Swiglu {
[INFO] [stderr]    |            ------ fields in this struct
[INFO] [stderr] 18 |     alpha: f32, 
[INFO] [stderr]    |     ^^^^^
[INFO] [stderr] 19 |     limit: f32
[INFO] [stderr]    |     ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `approx_equal` is never used
[INFO] [stderr]   --> src/lib.rs:10:8
[INFO] [stderr]    |
[INFO] [stderr] 10 |     fn approx_equal(a: f32, b: f32, epsilon: f32) -> bool {
[INFO] [stderr]    |        ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `build_batch_norm_dataset_from_subset` is never used
[INFO] [stderr]    --> src/lib.rs:118:8
[INFO] [stderr]     |
[INFO] [stderr] 118 |     fn build_batch_norm_dataset_from_subset(
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `build_dataset_from_subset` is never used
[INFO] [stderr]    --> src/lib.rs:136:8
[INFO] [stderr]     |
[INFO] [stderr] 136 |     fn build_dataset_from_subset(
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `read_lines` is never used
[INFO] [stderr]    --> src/lib.rs:158:8
[INFO] [stderr]     |
[INFO] [stderr] 158 |     fn read_lines(filename: &str) -> Vec<String> {
[INFO] [stderr]     |        ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `super::*`
[INFO] [stderr]   --> src/central/movedim_op.rs:72:9
[INFO] [stderr]    |
[INFO] [stderr] 72 |     use super::*;
[INFO] [stderr]    |         ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `super::*`
[INFO] [stderr]    --> src/central/permute.rs:136:9
[INFO] [stderr]     |
[INFO] [stderr] 136 |     use super::*;
[INFO] [stderr]     |         ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `get_equation`
[INFO] [stderr]    --> src/central/std_op.rs:175:52
[INFO] [stderr]     |
[INFO] [stderr] 175 |     use crate::central::{Operation, Shape, Tensor, get_equation};
[INFO] [stderr]     |                                                    ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::nn::BPETokenizer`
[INFO] [stderr]   --> src/nn/bpe_tokenizer.rs:98:9
[INFO] [stderr]    |
[INFO] [stderr] 98 |     use crate::nn::BPETokenizer;
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `GPT2Config`
[INFO] [stderr]    --> src/nn/gpt2.rs:186:27
[INFO] [stderr]     |
[INFO] [stderr] 186 |     use crate::nn::{GPT2, GPT2Config, Model};
[INFO] [stderr]     |                           ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `ndarray::Axis`
[INFO] [stderr]    --> src/nn/gpt2.rs:188:9
[INFO] [stderr]     |
[INFO] [stderr] 188 |     use ndarray::Axis;
[INFO] [stderr]     |         ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `EncodeInput`
[INFO] [stderr]    --> src/nn/gpt2.rs:256:33
[INFO] [stderr]     |
[INFO] [stderr] 256 |     use tokenizers::tokenizer::{EncodeInput, Result, Tokenizer};
[INFO] [stderr]     |                                 ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around closure body
[INFO] [stderr]     --> src/nn/layer_norm.rs:1205:68
[INFO] [stderr]      |
[INFO] [stderr] 1205 |             let input_data: Vec<f32> = (0..batch_size * 3).map(|i| (i as f32 + 1.0)).collect();
[INFO] [stderr]      |                                                                    ^              ^
[INFO] [stderr]      |
[INFO] [stderr]      = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]      |
[INFO] [stderr] 1205 -             let input_data: Vec<f32> = (0..batch_size * 3).map(|i| (i as f32 + 1.0)).collect();
[INFO] [stderr] 1205 +             let input_data: Vec<f32> = (0..batch_size * 3).map(|i| i as f32 + 1.0 ).collect();
[INFO] [stderr]      |
[INFO] [stderr] 
[INFO] [stderr] warning: unreachable expression
[INFO] [stderr]     --> src/nn/layer_norm.rs:1037:9
[INFO] [stderr]      |
[INFO] [stderr] 1036 |           return;
[INFO] [stderr]      |           ------ any code following this expression is unreachable
[INFO] [stderr] 1037 | /         for i in 0..3 {
[INFO] [stderr] 1038 | |             // Bias gradient should be non-zero and finite
[INFO] [stderr] 1039 | |             assert!(bias_grad[[i]].is_finite());
[INFO] [stderr] 1040 | |             assert!(
[INFO] [stderr] ...    |
[INFO] [stderr] 1050 | |             );
[INFO] [stderr] 1051 | |         }
[INFO] [stderr]      | |_________^ unreachable expression
[INFO] [stderr]      |
[INFO] [stderr]      = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::nn`
[INFO] [stderr]  --> src/nn/scaled_dot_project_attention.rs:4:5
[INFO] [stderr]   |
[INFO] [stderr] 4 | use crate::nn::*;
[INFO] [stderr]   |     ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `c`
[INFO] [stderr]    --> src/central/einsum.rs:514:13
[INFO] [stderr]     |
[INFO] [stderr] 514 |         let c = Tensor::einsum("ij,jk->ik", vec![a, b]);
[INFO] [stderr]     |             ^ help: if this is intentional, prefix it with an underscore: `_c`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `c`
[INFO] [stderr]    --> src/central/einsum.rs:522:13
[INFO] [stderr]     |
[INFO] [stderr] 522 |         let c = Tensor::einsum("i,k->ik", vec![a, b]);
[INFO] [stderr]     |             ^ help: if this is intentional, prefix it with an underscore: `_c`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `c`
[INFO] [stderr]    --> src/central/einsum.rs:529:13
[INFO] [stderr]     |
[INFO] [stderr] 529 |         let c = Tensor::einsum("bec,be->bc", vec![a, b]);
[INFO] [stderr]     |             ^ help: if this is intentional, prefix it with an underscore: `_c`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `c`
[INFO] [stderr]    --> src/central/einsum.rs:536:13
[INFO] [stderr]     |
[INFO] [stderr] 536 |         let c = Tensor::einsum("qhmd,khdm->hmqk", vec![a, b]); // note: k h d m
[INFO] [stderr]     |             ^ help: if this is intentional, prefix it with an underscore: `_c`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `indices`
[INFO] [stderr]    --> src/central/masked_fill.rs:281:21
[INFO] [stderr]     |
[INFO] [stderr] 281 |                 let indices: Vec<usize> = (0..shape.len())
[INFO] [stderr]     |                     ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_indices`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `axis`
[INFO] [stderr]    --> src/central/softmax_op.rs:115:51
[INFO] [stderr]     |
[INFO] [stderr] 115 |     fn assert_softmax_properties(tensor: &Tensor, axis: usize) {
[INFO] [stderr]     |                                                   ^^^^ help: if this is intentional, prefix it with an underscore: `_axis`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `test_text`
[INFO] [stderr]    --> src/nn/gpt2.rs:198:13
[INFO] [stderr]     |
[INFO] [stderr] 198 |         let test_text = "A";
[INFO] [stderr]     |             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_test_text`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/nn/gpt2.rs:269:13
[INFO] [stderr]     |
[INFO] [stderr] 269 |         let mut tokenizer = Tokenizer::new(bpe);
[INFO] [stderr]     |             ----^^^^^^^^^
[INFO] [stderr]     |             |
[INFO] [stderr]     |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `grad_diff`
[INFO] [stderr]    --> src/nn/layer_norm.rs:996:13
[INFO] [stderr]     |
[INFO] [stderr] 996 |         let grad_diff = (input1_grad[[0, 0]] - input2_grad[[0, 0]]).abs();
[INFO] [stderr]     |             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_grad_diff`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `weight_grad`
[INFO] [stderr]     --> src/nn/layer_norm.rs:1031:13
[INFO] [stderr]      |
[INFO] [stderr] 1031 |         let weight_grad = layer_norm.weight.grad();
[INFO] [stderr]      |             ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_weight_grad`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `bias_grad`
[INFO] [stderr]     --> src/nn/layer_norm.rs:1032:13
[INFO] [stderr]      |
[INFO] [stderr] 1032 |         let bias_grad = layer_norm.bias.grad();
[INFO] [stderr]      |             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_bias_grad`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `i`
[INFO] [stderr]     --> src/nn/layer_norm.rs:1037:13
[INFO] [stderr]      |
[INFO] [stderr] 1037 |         for i in 0..3 {
[INFO] [stderr]      |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `grad`
[INFO] [stderr]     --> src/nn/layer_norm.rs:1174:14
[INFO] [stderr]      |
[INFO] [stderr] 1174 |         for &grad in input_grad.iter() {
[INFO] [stderr]      |              ^^^^ help: if this is intentional, prefix it with an underscore: `_grad`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `weight_grad`
[INFO] [stderr]     --> src/nn/layer_norm.rs:1180:13
[INFO] [stderr]      |
[INFO] [stderr] 1180 |         let weight_grad = layer_norm.weight.grad();
[INFO] [stderr]      |             ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_weight_grad`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `bias_grad`
[INFO] [stderr]     --> src/nn/layer_norm.rs:1181:13
[INFO] [stderr]      |
[INFO] [stderr] 1181 |         let bias_grad = layer_norm.bias.grad();
[INFO] [stderr]      |             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_bias_grad`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `i`
[INFO] [stderr]     --> src/nn/layer_norm.rs:1183:13
[INFO] [stderr]      |
[INFO] [stderr] 1183 |         for i in 0..3 {
[INFO] [stderr]      |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `pytorch_input`
[INFO] [stderr]     --> src/nn/layer_norm.rs:1856:13
[INFO] [stderr]      |
[INFO] [stderr] 1856 |         let pytorch_input = Tensor::from_gguf_file(
[INFO] [stderr]      |             ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pytorch_input`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `pytorch_weight`
[INFO] [stderr]     --> src/nn/layer_norm.rs:1864:13
[INFO] [stderr]      |
[INFO] [stderr] 1864 |         let pytorch_weight = Tensor::from_gguf_file(
[INFO] [stderr]      |             ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pytorch_weight`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `pytorch_bias`
[INFO] [stderr]     --> src/nn/layer_norm.rs:1868:13
[INFO] [stderr]      |
[INFO] [stderr] 1868 |         let pytorch_bias = Tensor::from_gguf_file(
[INFO] [stderr]      |             ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pytorch_bias`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `pytorch_input`
[INFO] [stderr]     --> src/nn/layer_norm.rs:1985:13
[INFO] [stderr]      |
[INFO] [stderr] 1985 |         let pytorch_input = Tensor::from_gguf_file(
[INFO] [stderr]      |             ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pytorch_input`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `pytorch_weight`
[INFO] [stderr]     --> src/nn/layer_norm.rs:1997:13
[INFO] [stderr]      |
[INFO] [stderr] 1997 |         let pytorch_weight = Tensor::from_gguf_file(
[INFO] [stderr]      |             ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pytorch_weight`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `pytorch_bias`
[INFO] [stderr]     --> src/nn/layer_norm.rs:2001:13
[INFO] [stderr]      |
[INFO] [stderr] 2001 |         let pytorch_bias = Tensor::from_gguf_file(
[INFO] [stderr]      |             ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pytorch_bias`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `pytorch_input`
[INFO] [stderr]     --> src/nn/layer_norm.rs:2177:13
[INFO] [stderr]      |
[INFO] [stderr] 2177 |         let pytorch_input = Tensor::from_gguf_file(
[INFO] [stderr]      |             ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pytorch_input`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `pytorch_weight`
[INFO] [stderr]     --> src/nn/layer_norm.rs:2189:13
[INFO] [stderr]      |
[INFO] [stderr] 2189 |         let pytorch_weight = Tensor::from_gguf_file(
[INFO] [stderr]      |             ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pytorch_weight`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `pytorch_bias`
[INFO] [stderr]     --> src/nn/layer_norm.rs:2193:13
[INFO] [stderr]      |
[INFO] [stderr] 2193 |         let pytorch_bias = Tensor::from_gguf_file(
[INFO] [stderr]      |             ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pytorch_bias`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `pytorch_input_grad`
[INFO] [stderr]     --> src/nn/layer_norm.rs:2197:13
[INFO] [stderr]      |
[INFO] [stderr] 2197 |         let pytorch_input_grad = Tensor::from_gguf_file(
[INFO] [stderr]      |             ^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pytorch_input_grad`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `has_zero_grads`
[INFO] [stderr]    --> src/nn/linear.rs:542:13
[INFO] [stderr]     |
[INFO] [stderr] 542 |         let has_zero_grads = layer1_weight_grad.iter().any(|&g| g == 0.0);
[INFO] [stderr]     |             ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_has_zero_grads`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `batch_size`
[INFO] [stderr]    --> src/nn/sequential.rs:516:13
[INFO] [stderr]     |
[INFO] [stderr] 516 |         let batch_size = 128;
[INFO] [stderr]     |             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_batch_size`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `image_size`
[INFO] [stderr]    --> src/nn/sequential.rs:517:13
[INFO] [stderr]     |
[INFO] [stderr] 517 |         let image_size = 64;
[INFO] [stderr]     |             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_image_size`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `number_of_channels`
[INFO] [stderr]    --> src/nn/sequential.rs:518:13
[INFO] [stderr]     |
[INFO] [stderr] 518 |         let number_of_channels = 3;
[INFO] [stderr]     |             ^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_number_of_channels`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `size_of_latent_z_vector`
[INFO] [stderr]    --> src/nn/sequential.rs:519:13
[INFO] [stderr]     |
[INFO] [stderr] 519 |         let size_of_latent_z_vector = 100;
[INFO] [stderr]     |             ^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_size_of_latent_z_vector`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `number_of_feature_maps_generator`
[INFO] [stderr]    --> src/nn/sequential.rs:520:13
[INFO] [stderr]     |
[INFO] [stderr] 520 |         let number_of_feature_maps_generator = 64;
[INFO] [stderr]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_number_of_feature_maps_generator`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `number_of_feature_maps_discriminator`
[INFO] [stderr]    --> src/nn/sequential.rs:521:13
[INFO] [stderr]     |
[INFO] [stderr] 521 |         let number_of_feature_maps_discriminator = 64;
[INFO] [stderr]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_number_of_feature_maps_discriminator`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `number_of_training_epochs`
[INFO] [stderr]    --> src/nn/sequential.rs:522:13
[INFO] [stderr]     |
[INFO] [stderr] 522 |         let number_of_training_epochs = 5;
[INFO] [stderr]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_number_of_training_epochs`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `learning_rate`
[INFO] [stderr]    --> src/nn/sequential.rs:523:13
[INFO] [stderr]     |
[INFO] [stderr] 523 |         let learning_rate = 0.0020;
[INFO] [stderr]     |             ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_learning_rate`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `beta_1`
[INFO] [stderr]    --> src/nn/sequential.rs:524:13
[INFO] [stderr]     |
[INFO] [stderr] 524 |         let beta_1 = 0.5;
[INFO] [stderr]     |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_beta_1`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `bnvar_inv`
[INFO] [stderr]    --> src/lib.rs:276:21
[INFO] [stderr]     |
[INFO] [stderr] 276 |                 let bnvar_inv = (bnvari + 1e-5).pow(-0.5);
[INFO] [stderr]     |                     ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_bnvar_inv`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `epoch`
[INFO] [stderr]    --> src/lib.rs:356:13
[INFO] [stderr]     |
[INFO] [stderr] 356 |         for epoch in 0..100 {
[INFO] [stderr]     |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_epoch`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/lib.rs:425:13
[INFO] [stderr]     |
[INFO] [stderr] 425 |         let mut y_true = Tensor::zeros(Shape::new(vec![batch_size, num_classes]));
[INFO] [stderr]     |             ----^^^^^^
[INFO] [stderr]     |             |
[INFO] [stderr]     |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/lib.rs:530:13
[INFO] [stderr]     |
[INFO] [stderr] 530 |         let mut gguf_file = GGUFFile::new(String::from("./models/tests/gpt2/Gpt2-124M-F16.gguf"));
[INFO] [stderr]     |             ----^^^^^^^^^
[INFO] [stderr]     |             |
[INFO] [stderr]     |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `gguf_file`
[INFO] [stderr]    --> src/lib.rs:530:13
[INFO] [stderr]     |
[INFO] [stderr] 530 |         let mut gguf_file = GGUFFile::new(String::from("./models/tests/gpt2/Gpt2-124M-F16.gguf"));
[INFO] [stderr]     |             ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_gguf_file`
[INFO] [stderr] 
[INFO] [stderr] warning: function `first` is never used
[INFO] [stderr]    --> src/central/transpose_op.rs:127:8
[INFO] [stderr]     |
[INFO] [stderr] 127 |     fn first() {
[INFO] [stderr]     |        ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `show` is never used
[INFO] [stderr]    --> src/central/transpose_op.rs:133:8
[INFO] [stderr]     |
[INFO] [stderr] 133 |     fn show(list: &mut Vec<f32>) {
[INFO] [stderr]     |        ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `approx_equal` is never used
[INFO] [stderr]    --> src/nn/scaled_dot_project_attention.rs:114:12
[INFO] [stderr]     |
[INFO] [stderr] 114 |         fn approx_equal(a: f32, b: f32, epsilon: f32) -> bool {
[INFO] [stderr]     |            ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: `cant` (lib) generated 43 warnings (run `cargo fix --lib -p cant` to apply 34 suggestions)
[INFO] [stderr] warning: `cant` (lib test) generated 88 warnings (34 duplicates) (run `cargo fix --lib -p cant --tests` to apply 49 suggestions)
[INFO] [stderr] warning: unused import: `cant::utils::GGUFFile`
[INFO] [stderr]  --> examples/gpt-oss.rs:3:5
[INFO] [stderr]   |
[INFO] [stderr] 3 | use cant::utils::GGUFFile;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `t`
[INFO] [stderr]   --> examples/gpt-oss.rs:70:13
[INFO] [stderr]    |
[INFO] [stderr] 70 |         let t = self.norm.forward(inputs);
[INFO] [stderr]    |             ^ help: if this is intentional, prefix it with an underscore: `_t`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `g`
[INFO] [stderr]   --> examples/gpt-oss.rs:71:13
[INFO] [stderr]    |
[INFO] [stderr] 71 |         let g = self.gate.forward(inputs);
[INFO] [stderr]    |             ^ help: if this is intentional, prefix it with an underscore: `_g`
[INFO] [stderr] 
[INFO] [stderr] warning: multiple fields are never read
[INFO] [stderr]   --> examples/gpt-oss.rs:6:5
[INFO] [stderr]    |
[INFO] [stderr]  5 | pub struct ModelConfig {
[INFO] [stderr]    |            ----------- fields in this struct
[INFO] [stderr]  6 |     number_of_hidden_layers: usize,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]  7 |     number_of_experts: usize,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stderr]  8 |     number_of_experts_per_token: usize,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]  9 |     vocab_size: usize,
[INFO] [stderr]    |     ^^^^^^^^^^
[INFO] [stderr] 10 |     hidden_layer_size: usize,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 11 |     intermediate_size: usize,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 12 |     swiglu_limit: f32,
[INFO] [stderr]    |     ^^^^^^^^^^^^
[INFO] [stderr] 13 |     head_dimenesions: usize,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^
[INFO] [stderr] 14 |     number_of_attention_heads: usize,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 15 |     number_of_key_value_heads: usize,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 16 |     sliding_window: usize,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^
[INFO] [stderr] 17 |     initial_content_length: usize,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 18 |     rope_theta: f32,
[INFO] [stderr]    |     ^^^^^^^^^^
[INFO] [stderr] 19 |     rope_scaling_factor: f32,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 20 |     rope_ntk_alpha: f32,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^
[INFO] [stderr] 21 |     rope_ntk_beta: f32,
[INFO] [stderr]    |     ^^^^^^^^^^^^^
[INFO] [stderr] 22 |     world_size: usize,
[INFO] [stderr]    |     ^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: struct `MLPBlock` is never constructed
[INFO] [stderr]   --> examples/gpt-oss.rs:25:8
[INFO] [stderr]    |
[INFO] [stderr] 25 | struct MLPBlock {
[INFO] [stderr]    |        ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `new` is never used
[INFO] [stderr]   --> examples/gpt-oss.rs:38:12
[INFO] [stderr]    |
[INFO] [stderr] 37 | impl MLPBlock {
[INFO] [stderr]    | ------------- associated function in this implementation
[INFO] [stderr] 38 |     pub fn new(config: &ModelConfig) -> MLPBlock {
[INFO] [stderr]    |            ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: `cant` (example "gpt-oss") generated 6 warnings (run `cargo fix --example "gpt-oss" -p cant` to apply 3 suggestions)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.29s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/cant-3312c99e11fc1be1)
[INFO] [stdout] 
[INFO] [stdout] running 431 tests
[INFO] [stdout] test central::add_op::tests::basic_2d_test ... ok
[INFO] [stdout] test central::add_op::tests::basic_2d_broadcast_test ... ok
[INFO] [stdout] test central::add_op::tests::basic_3d_brodcast ... ok
[INFO] [stdout] test central::add_op::tests::basic_add_test ... ok
[INFO] [stdout] test central::add_op::tests::multiple_add_backprop_test ... ok
[INFO] [stdout] test central::add_op::tests::basic_4d_test ... ok
[INFO] [stdout] test central::add_op::tests::multiple_2d_add_backprop_test ... ok
[INFO] [stdout] test central::clamp_op::tests::clamp_forward_handles_fractional_bounds ... ok
[INFO] [stdout] test central::chunk_op::tests::chunk_backward_injects_gradients_in_correct_slice ... ok
[INFO] [stdout] test central::clamp_op::tests::clamp_backward_masks_outside_bounds ... ok
[INFO] [stdout] test central::cos_op::tests::cos_backward_scales_with_incoming_gradient ... ok
[INFO] [stdout] test central::cat_op::tests::cat_backward_splits_gradients ... ok
[INFO] [stdout] test central::add_op::tests::basic_3d_test ... ok
[INFO] [stdout] test central::diagonal_op::tests::diagonal_backward_batched ... ok
[INFO] [stdout] test central::cat_op::tests::cat_forward_appends_along_axis ... ok
[INFO] [stdout] test central::diagonal_op::tests::diagonal_forward_batched_axes ... ok
[INFO] [stdout] test central::diagonal_op::tests::diagonal_forward_2d_offset ... ok
[INFO] [stdout] test central::diagonal_op::tests::diagonal_forward_zero_offset ... ok
[INFO] [stdout] test central::cos_op::tests::cos_forward_matches_reference_values ... ok
[INFO] [stdout] test central::einsum::tests::basic_1d_1d_test ... ok
[INFO] [stdout] test central::diagonal_op::tests::diagonal_forward_3d ... ok
[INFO] [stdout] test central::add_op::tests::backprop_add_test ... FAILED
[INFO] [stdout] test central::add_op::tests::do_not_add_tensors_of_different_size_but_same_length - should panic ... ok
[INFO] [stdout] test central::diagonal_op::tests::diagonal_backward ... FAILED
[INFO] [stdout] test central::diagonal_op::tests::diagonal_invalid_offset_panics - should panic ... ok
[INFO] [stdout] test central::chunk_op::tests::chunk_forward_splits_evenly ... ok
[INFO] [stdout] test central::add_op::tests::multiple_3d_add_backprop_test ... ok
[INFO] [stdout] test central::log::tests::log_2d_test ... ok
[INFO] [stdout] test central::log::tests::log_3d_backward_test ... ok
[INFO] [stdout] test central::log::tests::log_simple_test ... ok
[INFO] [stdout] test central::log::tests::log_small_input_backward_test ... ok
[INFO] [stdout] test central::log::tests::log_small_values_test ... ok
[INFO] [stdout] test central::log::tests::log_special_values_test ... ok
[INFO] [stdout] test central::masked_fill::tests::test_masked_fill_2d ... ok
[INFO] [stdout] test central::masked_fill::tests::test_masked_fill_3d_tensor ... ok
[INFO] [stdout] test central::masked_fill::tests::test_masked_fill_all_mask_ones ... ok
[INFO] [stdout] test central::masked_fill::tests::test_masked_fill_all_mask_zeros ... ok
[INFO] [stdout] test central::einsum::tests::basic_test ... ok
[INFO] [stdout] test central::log::tests::log_3d_test ... ok
[INFO] [stdout] test central::log::tests::log_1d_backward_test ... ok
[INFO] [stdout] test central::log::tests::log_2d_backward_test ... ok
[INFO] [stdout] test central::log::tests::log_large_values_test ... ok
[INFO] [stdout] test central::log::tests::log_large_input_backward_test ... ok
[INFO] [stdout] test central::log::tests::log_numerical_gradient_test ... ok
[INFO] [stdout] test central::log::tests::log_mathematical_properties_test ... ok
[INFO] [stdout] test central::masked_fill::tests::test_masked_fill_attention_mask_pattern ... ok
[INFO] [stdout] test central::cos_op::tests::cos_backward_matches_negative_sine ... ok
[INFO] [stdout] test central::log::tests::log_4d_test ... ok
[INFO] [stdout] test central::masked_fill::tests::test_masked_fill_backward_all_masked ... ok
[INFO] [stdout] test central::masked_fill::tests::test_masked_fill_backward_numerical_stability ... ok
[INFO] [stdout] test central::masked_fill::tests::test_masked_fill_backward_3d ... FAILED
[INFO] [stdout] test central::masked_fill::tests::test_masked_fill_backward_basic ... ok
[INFO] [stdout] test central::masked_fill::tests::test_masked_fill_backward_fractional_mask ... ok
[INFO] [stdout] test central::masked_fill::tests::test_masked_fill_single_element ... ok
[INFO] [stdout] test central::einsum::tests::advanced_batch_mutiply_test ... ok
[INFO] [stdout] test central::masked_fill::tests::test_masked_fill_large_values ... ok
[INFO] [stdout] test central::masked_fill::tests::test_masked_fill_backward_attention_pattern ... ok
[INFO] [stdout] test central::masked_fill::tests::test_masked_fill_basic ... ok
[INFO] [stdout] test central::masked_fill::tests::test_masked_fill_fractional_mask ... ok
[INFO] [stdout] test central::log::tests::log_chained_operations_backward_test ... ok
[INFO] [stdout] test central::matmul_op::tests::matmul_1x2 ... FAILED
[INFO] [stdout] test central::matmul_op::tests::matmul_2x4 ... FAILED
[INFO] [stdout] test central::masked_fill::tests::test_masked_fill_backward_chain ... ok
[INFO] [stdout] test central::matmul_op::tests::matmul_3x4 ... FAILED
[INFO] [stdout] test central::matmul_op::tests::matmul_4x1 ... FAILED
[INFO] [stdout] test central::matmul_op::tests::matmul_4x2 ... FAILED
[INFO] [stdout] test central::masked_fill::tests::test_masked_fill_zero_fill_value ... ok
[INFO] [stdout] test central::matmul_op::tests::matmul_4x3 ... FAILED
[INFO] [stdout] test central::matmul_op::tests::matmul_2x2 ... FAILED
[INFO] [stdout] test central::matmul_op::tests::matmul_3x1 ... FAILED
[INFO] [stdout] test central::matmul_op::tests::matmul_3x2 ... FAILED
[INFO] [stdout] test central::matmul_op::tests::matmul_1x4 ... FAILED
[INFO] [stdout] test central::masked_fill::tests::test_masked_fill_backward_no_masking ... ok
[INFO] [stdout] test central::masked_fill::tests::test_masked_fill_preserves_shape ... ok
[INFO] [stdout] test central::masked_fill::tests::test_masked_fill_negative_fill_value ... ok
[INFO] [stdout] test central::masked_fill::tests::test_masked_fill_backward_2d ... ok
[INFO] [stdout] test central::masked_fill::tests::test_masked_fill_backward_different_losses ... ok
[INFO] [stdout] test central::einsum::tests::basic_batch_test ... ok
[INFO] [stdout] test central::matmul_op::tests::matmul_4x4 ... FAILED
[INFO] [stdout] test central::mean_op::tests::mean_1d_backward_test ... ok
[INFO] [stdout] test central::matmul_op::tests::matmul_backward_test_4x1 ... FAILED
[INFO] [stdout] test central::matmul_op::tests::matmul_backward_test_basic ... FAILED
[INFO] [stdout] test central::mean_op::tests::mean_3d_test ... ok
[INFO] [stdout] test central::mean_op::tests::mean_3d_backward_test ... ok
[INFO] [stdout] test central::mean_op::tests::mean_1d_test ... ok
[INFO] [stdout] test central::mean_op::tests::mean_chained_operations_backward_test ... ok
[INFO] [stdout] test central::mean_op::tests::mean_2d_axis1_backward_test ... ok
[INFO] [stdout] test central::mean_op::tests::mean_2d_axis1_test ... ok
[INFO] [stdout] test central::matmul_op::tests::matmul_backward_test_4x3 ... FAILED
[INFO] [stdout] test central::matmul_op::tests::matmul_backward_test_4x4 ... FAILED
[INFO] [stdout] test central::mean_op::tests::mean_2d_all_axes_backward_test ... ok
[INFO] [stdout] test central::mean_op::tests::mean_2d_all_axes_test ... ok
[INFO] [stdout] test central::mean_op::tests::mean_2d_axis0_backward_test ... ok
[INFO] [stdout] test central::mean_op::tests::mean_simple_backward_test ... ok
[INFO] [stdout] test central::matmul_op::tests::matmul_backward_test_4x2 ... FAILED
[INFO] [stdout] test central::mean_op::tests::mean_2d_axis0_test ... ok
[INFO] [stdout] test central::movedim_op::tests::movedim_forward_move_middle_to_end ... ok
[INFO] [stdout] test central::mean_op::tests::mean_4d_test ... ok
[INFO] [stdout] test central::mean_op::tests::mean_empty_axes_test ... ok
[INFO] [stdout] test central::movedim_op::tests::movedim_forward_move_last_to_front ... ok
[INFO] [stdout] test central::mul_op::tests::basic_3d_test ... ok
[INFO] [stdout] test central::movedim_op::tests::movedim_invalid_origin_panics - should panic ... ok
[INFO] [stdout] test central::mean_op::tests::mean_multiple_axes_backward_test ... ok
[INFO] [stdout] test central::mul_op::tests::basic_div_test ... ok
[INFO] [stdout] test central::mean_op::tests::mean_nested_operations_backward_test ... ok
[INFO] [stdout] test central::movedim_op::tests::movedim_backward_propagates_grad ... ok
[INFO] [stdout] test central::mul_op::tests::backprop_mul_test ... ok
[INFO] [stdout] test central::mul_op::tests::basic_mul_test ... ok
[INFO] [stdout] test central::mul_op::tests::basic_2d_test ... ok
[INFO] [stdout] test central::mul_op::tests::div_f32_test ... ok
[INFO] [stdout] test central::mul_op::tests::basic_neg_test ... ok
[INFO] [stdout] test central::mul_op::tests::basic_2d_broadcast_test ... ok
[INFO] [stdout] test central::mul_op::tests::basic_4d_test ... ok
[INFO] [stdout] test central::mul_op::tests::multiple_mul_backprop_test ... ok
[INFO] [stdout] test central::mul_op::tests::f32_mul_test ... ok
[INFO] [stdout] test central::permute::tests::permute_forward_three_axes ... ok
[INFO] [stdout] test central::mul_op::tests::mul_f32_test ... ok
[INFO] [stdout] test central::pow_op::tests::basic_pow_test ... ok
[INFO] [stdout] test central::permute::tests::permute_forward_swap_axes ... ok
[INFO] [stdout] test central::permute::tests::permute_backward_propagates_grad ... ok
[INFO] [stdout] test central::relu_op::tests::test_relu_backward_batch ... ok
[INFO] [stdout] test central::relu_op::tests::test_relu_backward_chain_rule ... ok
[INFO] [stdout] test central::relu_op::tests::test_relu_backward_edge_case_values ... ok
[INFO] [stdout] test central::relu_op::tests::test_relu_backward_different_upstream_gradients ... ok
[INFO] [stdout] test central::relu_op::tests::test_relu_backward_large_values ... ok
[INFO] [stdout] test central::relu_op::tests::test_relu_backward_single_negative ... ok
[INFO] [stdout] test central::mean_op::tests::mean_out_of_bounds_axis_test - should panic ... ok
[INFO] [stdout] test central::mean_op::tests::mean_duplicate_axes_test - should panic ... ok
[INFO] [stdout] test central::relu_op::tests::test_relu_backward_single_positive ... ok
[INFO] [stdout] test central::mul_op::tests::do_not_mul_tensors_of_different_size_but_same_length - should panic ... ok
[INFO] [stdout] test central::relu_op::tests::test_relu_backward_shape_preservation ... ok
[INFO] [stdout] test central::relu_op::tests::test_relu_backward_zero ... ok
[INFO] [stdout] test central::relu_op::tests::test_relu_backward_matrix ... ok
[INFO] [stdout] test central::relu_op::tests::test_relu_forward_edge_cases ... ok
[INFO] [stdout] test central::permute::tests::permute_invalid_length_panics - should panic ... ok
[INFO] [stdout] test central::relu_op::tests::test_relu_forward_batch ... ok
[INFO] [stdout] test central::relu_op::tests::test_relu_forward_large_values ... ok
[INFO] [stdout] test central::relu_op::tests::test_relu_forward_matrix ... ok
[INFO] [stdout] test central::relu_op::tests::test_relu_forward_multiple_calls ... ok
[INFO] [stdout] test central::relu_op::tests::test_relu_forward_single_negative ... ok
[INFO] [stdout] test central::relu_op::tests::test_relu_forward_mixed_values ... ok
[INFO] [stdout] test central::relu_op::tests::test_relu_forward_properties ... ok
[INFO] [stdout] test central::relu_op::tests::test_relu_forward_shape_preservation ... ok
[INFO] [stdout] test central::reshape::tests::basic_reshape_test ... ok
[INFO] [stdout] test central::relu_op::tests::test_relu_forward_vector ... ok
[INFO] [stdout] test central::relu_op::tests::test_relu_forward_zero ... ok
[INFO] [stdout] test central::reshape::tests::basic_reshape_test_2 ... ok
[INFO] [stdout] test central::pow_op::tests::pow_backward_test ... FAILED
[INFO] [stdout] test central::pow_op::tests::advance_pow_test ... FAILED
[INFO] [stdout] test central::relu_op::tests::test_relu_forward_single_value ... ok
[INFO] [stdout] test central::select_op::tests::basic_select_test ... ok
[INFO] [stdout] test central::select_op::tests::select_batch_embedding_test ... ok
[INFO] [stdout] test central::select_op::tests::select_batch_backward_test ... ok
[INFO] [stdout] test central::reshape::tests::basic_reshape_backward_test ... FAILED
[INFO] [stdout] test central::select_op::tests::select_direct_test ... ok
[INFO] [stdout] test central::shape::tests::add_remove_test ... ok
[INFO] [stdout] test central::select_op::tests::select_3d_indices_test ... ok
[INFO] [stdout] test central::select_op::tests::select_repeated_indices_backward_test ... ok
[INFO] [stdout] test central::select_op::tests::select_large_vocabulary_test ... ok
[INFO] [stdout] test central::select_op::tests::select_chained_operations_backward_test ... ok
[INFO] [stdout] test central::select_op::tests::select_simple_backward_test ... ok
[INFO] [stdout] test central::select_op::tests::select_complex_batch_backward_test ... ok
[INFO] [stdout] test central::select_op::tests::select_shape_test ... ok
[INFO] [stdout] test central::shape::tests::bad_broadacst_test ... ok
[INFO] [stdout] test central::shape::tests::bad_broadacst_shape_test - should panic ... ok
[INFO] [stdout] test central::shape::tests::basic_allocation_test_2 ... ok
[INFO] [stdout] test central::shape::tests::basic_matmul_shape_tests ... ok
[INFO] [stdout] test central::shape::tests::basic_remove_test ... ok
[INFO] [stdout] test central::shape::tests::complicated_broadcast_test ... ok
[INFO] [stdout] test central::shape::tests::complicated_matmul_test_shape ... ok
[INFO] [stdout] test central::shape::tests::can_matmul_test ... ok
[INFO] [stdout] test central::shape::tests::simple_matmul_test_1x3 ... ok
[INFO] [stdout] test central::shape::tests::simple_matmul_test_2x3 ... ok
[INFO] [stdout] test central::shape::tests::simple_matmul_test_1x1 ... ok
[INFO] [stdout] test central::shape::tests::simple_matmul_test_1x2 ... ok
[INFO] [stdout] test central::shape::tests::simple_matmul_test_3x1 ... ok
[INFO] [stdout] test central::shape::tests::simple_matmul_test_4x3 ... ok
[INFO] [stdout] test central::shape::tests::basic_add_test ... ok
[INFO] [stdout] test central::shape::tests::unsqueeze_inserts_dimension_at_positive_index ... ok
[INFO] [stdout] test central::shape::tests::basic_allocation_test ... ok
[INFO] [stdout] test central::shape::tests::unsqueeze_panics_when_index_out_of_range - should panic ... ok
[INFO] [stdout] test central::shape::tests::unsqueeze_supports_negative_index_from_end ... ok
[INFO] [stdout] test central::shape::tests::bad_shape_test - should panic ... ok
[INFO] [stdout] test central::sin_op::tests::sin_forward_matches_reference_values ... ok
[INFO] [stdout] test central::shape::tests::bad_shape_test_remove_at_zero - should panic ... ok
[INFO] [stdout] test central::shape::tests::simple_matmul_test_2x1 ... ok
[INFO] [stdout] test central::shape::tests::bad_can_matmul - should panic ... ok
[INFO] [stdout] test central::softmax_op::tests::softmax_2d_axis0_backward_test ... ok
[INFO] [stdout] test central::softmax_op::tests::softmax_1d_test ... ok
[INFO] [stdout] test central::softmax_op::tests::softmax_3d_backward_test ... ok
[INFO] [stdout] test central::softmax_op::tests::softmax_4d_test ... ok
[INFO] [stdout] test central::softmax_op::tests::softmax_2d_axis1_test ... ok
[INFO] [stdout] test central::sin_op::tests::sin_backward_scales_with_incoming_gradient ... ok
[INFO] [stdout] test central::softmax_op::tests::softmax_2d_axis1_backward_test ... ok
[INFO] [stdout] test central::softmax_op::tests::softmax_1d_backward_test ... ok
[INFO] [stdout] test central::softmax_op::tests::softmax_2d_axis0_test ... ok
[INFO] [stdout] test central::softmax_op::tests::softmax_numerical_stability_test ... ok
[INFO] [stdout] test central::softmax_op::tests::softmax_4d_backward_test ... ok
[INFO] [stdout] test central::softmax_op::tests::softmax_3d_test ... ok
[INFO] [stdout] test central::sin_op::tests::sin_backward_matches_cosine ... ok
[INFO] [stdout] test central::std_op::tests::std_2d_all_axes_test ... ok
[INFO] [stdout] test central::softmax_op::tests::softmax_chained_operations_backward_test ... ok
[INFO] [stdout] test central::std_op::tests::std_2d_axis0_backward_test ... ok
[INFO] [stdout] test central::std_op::tests::std_4d_test ... ok
[INFO] [stdout] test central::std_op::tests::std_chained_operations_backward_test ... ok
[INFO] [stdout] test central::relu_op::tests::test_relu_backward_mixed_values ... ok
[INFO] [stdout] test central::std_op::tests::std_2d_axis1_test ... ok
[INFO] [stdout] test central::std_op::tests::std_1d_test ... ok
[INFO] [stdout] test central::std_op::tests::std_2d_all_axes_backward_test ... ok
[INFO] [stdout] test central::softmax_op::tests::softmax_zero_input_test ... ok
[INFO] [stdout] test central::std_op::tests::std_2d_axis0_test ... ok
[INFO] [stdout] test central::sum_op::tests::basic_double_index_sum_test ... FAILED
[INFO] [stdout] test central::std_op::tests::std_2d_axis1_backward_test ... ok
[INFO] [stdout] test central::sum_op::tests::sum_and_broadcast_backward_test ... FAILED
[INFO] [stdout] test central::std_op::tests::std_zero_variance_backward_test ... ok
[INFO] [stdout] test central::sum_op::tests::sum_backward_test_container_test ... FAILED
[INFO] [stdout] test central::relu_op::tests::test_relu_backward_gradient_properties ... ok
[INFO] [stdout] test central::sum_op::tests::basic_sum_test ... FAILED
[INFO] [stdout] test central::sum_op::tests::basic_double_index_with_skip_sum_test ... FAILED
[INFO] [stdout] test central::tanh_op::tests::tanh_3d_test ... ok
[INFO] [stdout] test central::std_op::tests::std_3d_backward_test ... ok
[INFO] [stdout] test central::tanh_op::tests::tanh_forward_test ... ok
[INFO] [stdout] test central::tanh_op::tests::tanh_extreme_values_test ... ok
[INFO] [stdout] test central::std_op::tests::std_empty_axes_backward_test ... ok
[INFO] [stdout] test central::tanh_op::tests::tanh_2d_test ... ok
[INFO] [stdout] test central::tanh_op::tests::tanh_multiple_values_backward_test ... ok
[INFO] [stdout] test central::std_op::tests::std_1d_backward_test ... ok
[INFO] [stdout] test central::tanh_op::tests::tanh_chained_operations_backward_test ... ok
[INFO] [stdout] test central::std_op::tests::std_numerical_gradient_test ... ok
[INFO] [stdout] test central::tanh_op::tests::tanh_simple_backward_test ... ok
[INFO] [stdout] test central::std_op::tests::std_3d_test ... ok
[INFO] [stdout] test central::softmax_op::tests::softmax_numerical_gradient_test ... ok
[INFO] [stdout] test central::index::tests::basic_set_test ... ok
[INFO] [stdout] test central::topk_op::tests::basic_single_column_k1 ... ok
[INFO] [stdout] test central::tensor::tests::allocate_and_data_test ... ok
[INFO] [stdout] test central::tanh_op::tests::tanh_4d_test ... ok
[INFO] [stdout] test central::tanh_op::tests::tanh_extreme_values_backward_test ... ok
[INFO] [stdout] test central::tanh_op::tests::tanh_2d_backward_test ... ok
[INFO] [stdout] test central::tensor::tests::allocate_test ... ok
[INFO] [stdout] test central::tensor::tests::randn_test ... ok
[INFO] [stdout] test central::tensor::tests::element_test ... ok
[INFO] [stdout] test central::topk_op::tests::dimension_length_zero_returns_empty ... ok
[INFO] [stdout] test central::topk_op::tests::k_equals_dimension_length_returns_all_sorted_per_column ... ok
[INFO] [stdout] test central::topk_op::tests::k_zero_returns_empty ... ok
[INFO] [stdout] test central::topk_op::tests::multiple_columns_mixed_values ... ok
[INFO] [stdout] test central::topk_op::topk_tests::topk_output_shape_matches_replaced_axis ... ok
[INFO] [stdout] test central::matmul_op::tests::basic_matmul_test ... ok
[INFO] [stdout] test central::topk_op::topk_tests::topk_ties_keep_first_seen ... ok
[INFO] [stdout] test central::topk_op::tests::negative_values_are_handled ... ok
[INFO] [stdout] test central::topk_op::tests::two_columns_k2_descending_and_indices ... ok
[INFO] [stdout] test central::transpose_op::tests::test_transpose_2d_simple ... ok
[INFO] [stdout] test central::topk_op::tests::tensor_size_zero_returns_empty ... ok
[INFO] [stdout] test central::transpose_op::tests::test_transpose_3d_axes_01 ... ok
[INFO] [stdout] test central::topk_op::topk_tests::topk_1d_k1 ... ok
[INFO] [stdout] test central::transpose_op::tests::test_transpose_3d_axes_12 ... ok
[INFO] [stdout] test central::transpose_op::tests::test_transpose_4d ... ok
[INFO] [stdout] test central::transpose_op::tests::test_transpose_backward_3d ... ok
[INFO] [stdout] test central::transpose_op::tests::test_transpose_backward_2d ... ok
[INFO] [stdout] test central::topk_op::tests::panics_when_tensor_size_not_multiple_of_dimension_length - should panic ... ok
[INFO] [stdout] test central::topk_op::topk_tests::topk_descending_and_indices_correct ... ok
[INFO] [stdout] test central::topk_op::topk_tests::topk_panics_when_k_exceeds_axis - should panic ... ok
[INFO] [stdout] test central::transpose_op::tests::test_transpose_chain_backward ... ok
[INFO] [stdout] test central::topk_op::topk_tests::topk_handles_negatives ... ok
[INFO] [stdout] test central::topk_op::topk_tests::topk_panics_when_k_zero - should panic ... ok
[INFO] [stdout] test central::transpose_op::tests::test_transpose_non_square_3d ... ok
[INFO] [stdout] test central::transpose_op::tests::test_transpose_3d_axes_02 ... ok
[INFO] [stdout] test central::topk_op::tests::panics_when_k_exceeds_dimension_length - should panic ... ok
[INFO] [stdout] test central::transpose_op::tests::test_transpose_identity ... ok
[INFO] [stdout] test central::transpose_op::tests::test_transpose_large_matrix ... ok
[INFO] [stdout] test central::transpose_op::tests::test_transpose_matmul_backward ... ok
[INFO] [stdout] test central::std_op::tests::std_empty_axes_test ... ok
[INFO] [stdout] test central::transpose_op::tests::test_transpose_vector_to_column ... ok
[INFO] [stdout] test nn::bpe_tokenizer::tests::basic ... ok
[INFO] [stdout] test nn::embedding::tests::test_embedding_creation ... ok
[INFO] [stdout] test nn::embedding::tests::test_embedding_forward_batch ... ok
[INFO] [stdout] test nn::embedding::tests::test_embedding_edge_cases ... ok
[INFO] [stdout] test nn::embedding::tests::test_embedding_forward_multiple_tokens ... ok
[INFO] [stdout] test nn::gpt2::tests::basic_test ... FAILED
[INFO] [stdout] test nn::gpt2::tests::tokenizer_test ... FAILED
[INFO] [stdout] test central::topk_op::topk_tests::topk_2d_dim0_k2 ... ok
[INFO] [stdout] test central::topk_op::topk_tests::topk_2d_dim1_k2 ... ok
[INFO] [stdout] test central::topk_op::topk_tests::topk_3d_dim1_k1_batches_across_leading ... ok
[INFO] [stdout] test central::transpose_op::tests::test_transpose_single_element ... ok
[INFO] [stdout] test nn::embedding::tests::test_embedding_consistent_output ... ok
[INFO] [stdout] test nn::embedding::tests::test_embedding_backward_different_losses ... ok
[INFO] [stdout] test nn::embedding::tests::test_embedding_gpt2_sized ... ok
[INFO] [stdout] test nn::embedding::tests::test_embedding_different_input_shapes ... ok
[INFO] [stdout] test nn::embedding::tests::test_embedding_backward_chain_rule ... ok
[INFO] [stdout] test nn::embedding::tests::test_embedding_backward_pass ... ok
[INFO] [stdout] test nn::embedding::tests::test_embedding_backward_gradient_accumulation ... ok
[INFO] [stdout] test central::tensor::tests::zeroes_test ... ok
[INFO] [stdout] test nn::embedding::tests::test_embedding_weight_initialization ... ok
[INFO] [stdout] test nn::gpt_block::tests::test_causal_mask_generation ... ok
[INFO] [stdout] test nn::gpt_block::tests::test_gpt2_block_parameter_count ... ok
[INFO] [stdout] test nn::gpt_block::tests::test_gpt2_config_creation ... ok
[INFO] [stdout] test nn::layer_norm::tests::test_layer_norm_backward_batch ... ok
[INFO] [stdout] test nn::gpt_block::tests::test_gpt2_block_backward_attention_gradients ... ok
[INFO] [stdout] test nn::embedding::tests::test_embedding_forward_single_token ... ok
[INFO] [stdout] test nn::gpt_block::tests::test_gpt2_block_backward_sequence_length_scaling ... FAILED
[INFO] [stdout] test nn::layer_norm::tests::test_layer_norm_backward_different_batch_sizes ... ok
[INFO] [stdout] test nn::gpt_block::tests::test_gpt2_block_backward_mlp_gradients ... ok
[INFO] [stdout] test nn::layer_norm::tests::test_layer_norm_backward_in_network_pytorch_comparison ... ok
[INFO] [stdout] test nn::layer_norm::tests::test_layer_norm_backward_numerical_stability ... ok
[INFO] [stdout] test nn::layer_norm::tests::test_layer_norm_backward_parameter_gradients ... ok
[INFO] [stdout] test nn::layer_norm::tests::test_layer_norm_backward_parameter_gradients_pytorch_comparison ... FAILED
[INFO] [stdout] test nn::gpt_block::tests::test_gpt2_block_backward_basic ... ok
[INFO] [stdout] test nn::embedding::tests::test_embedding_backward_batch_processing ... ok
[INFO] [stdout] test nn::layer_norm::tests::test_layer_norm_backward_numerical_stability_pytorch_comparison ... FAILED
[INFO] [stdout] test nn::layer_norm::tests::test_layer_norm_backward_zero_variance_pytorch_comparison ... FAILED
[INFO] [stdout] test nn::gpt_block::tests::test_gpt2_block_residual_connections ... FAILED
[INFO] [stdout] test nn::gpt_block::tests::test_gpt2_block_creation ... ok
[INFO] [stdout] test nn::gpt_block::tests::test_gpt2_block_backward_parameter_updates ... ok
[INFO] [stdout] test nn::layer_norm::tests::test_layer_norm_forward_batch_pytorch_comparison ... FAILED
[INFO] [stdout] test nn::layer_norm::tests::test_layer_norm_forward_different_feature_sizes_pytorch_comparison ... FAILED
[INFO] [stdout] test nn::layer_norm::tests::test_layer_norm_backward_simple_pytorch_comparison ... FAILED
[INFO] [stdout] test nn::layer_norm::tests::test_layer_norm_creation ... ok
[INFO] [stdout] test nn::layer_norm::tests::test_layer_norm_forward_known_values ... ok
[INFO] [stdout] test nn::layer_norm::tests::test_layer_norm_backward_gradient_flow ... ok
[INFO] [stdout] test nn::layer_norm::tests::test_layer_norm_forward_multiple_calls ... ok
[INFO] [stdout] test nn::layer_norm::tests::test_layer_norm_forward_multiple_calls_pytorch_comparison ... FAILED
[INFO] [stdout] test nn::layer_norm::tests::test_layer_norm_forward_batch ... ok
[INFO] [stdout] test nn::layer_norm::tests::test_layer_norm_forward_known_values_pytorch_comparison ... FAILED
[INFO] [stdout] test nn::layer_norm::tests::test_layer_norm_backward_simple ... ok
[INFO] [stdout] test nn::gpt_block::tests::test_gpt2_block_consistency ... FAILED
[INFO] [stdout] test nn::gpt_block::tests::test_gpt2_block_backward_residual_connections ... ok
[INFO] [stdout] test nn::layer_norm::tests::test_layer_norm_forward_single_sample_pytorch_comparison ... FAILED
[INFO] [stdout] test nn::layer_norm::tests::test_layer_norm_backward_batch_pytorch_comparison ... FAILED
[INFO] [stdout] test nn::gpt_block::tests::test_gpt2_block_backward_chain_rule ... ok
[INFO] [stdout] test nn::layer_norm::tests::test_layer_norm_backward_zero_variance ... ok
[INFO] [stdout] test nn::layer_norm::tests::test_layer_norm_forward_negative_values ... ok
[INFO] [stdout] test nn::layer_norm::tests::test_layer_norm_forward_different_feature_sizes ... ok
[INFO] [stdout] test nn::layer_norm::tests::test_layer_norm_forward_negative_values_pytorch_comparison ... FAILED
[INFO] [stdout] test nn::layer_norm::tests::test_layer_norm_forward_single_sample ... ok
[INFO] [stdout] test nn::layer_norm::tests::test_layer_norm_forward_zero_variance_pytorch_comparison ... FAILED
[INFO] [stdout] test nn::linear::tests::test_linear_backward_gradient_accumulation ... ok
[INFO] [stdout] test nn::layer_norm::tests::test_layer_norm_forward_large_values ... ok
[INFO] [stdout] test nn::linear::tests::test_linear_backward_batch ... ok
[INFO] [stdout] test nn::layer_norm::tests::test_layer_norm_forward_preserves_batch_independence_pytorch_comparison ... FAILED
[INFO] [stdout] test nn::linear::tests::test_linear_backward_basic_with_bias ... ok
[INFO] [stdout] test nn::layer_norm::tests::test_layer_norm_forward_zero_variance ... ok
[INFO] [stdout] test nn::layer_norm::tests::test_layer_norm_forward_preserves_batch_independence ... ok
[INFO] [stdout] test nn::linear::tests::test_linear_backward_with_tanh_activation ... FAILED
[INFO] [stdout] test nn::layer_norm::tests::test_layer_norm_forward_large_values_pytorch_comparison ... FAILED
[INFO] [stdout] test nn::linear::tests::test_linear_backward_without_bias ... ok
[INFO] [stdout] test nn::linear::tests::test_linear_get_parameters_with_bias ... ok
[INFO] [stdout] test nn::linear::tests::test_linear_get_parameters_without_bias ... ok
[INFO] [stdout] test nn::linear::tests::test_linear_weight_initialization_range ... ok
[INFO] [stdout] test nn::layer_norm::tests::test_layer_norm_backward_in_network ... ok
[INFO] [stdout] test nn::linear::tests::test_linear_creation_with_bias ... ok
[INFO] [stdout] test nn::linear::tests::test_linear_creation_without_bias ... ok
[INFO] [stdout] test nn::gpt_block::tests::test_gpt2_block_forward_pass_shapes ... ok
[INFO] [stdout] test nn::linear::tests::test_linear_backward_different_loss_functions ... ok
[INFO] [stdout] test nn::linear::tests::test_linear_forward_with_bias ... ok
[INFO] [stdout] test nn::multihead_attention::tests::test_multihead_attention_backward_shape_only ... ok
[INFO] [stdout] test nn::linear::tests::test_linear_forward_batch ... ok
[INFO] [stdout] test nn::multihead_attention::tests::test_multihead_attention_backward_without_crash ... ok
[INFO] [stdout] test nn::multihead_attention::tests::test_multihead_attention_backward_step_up_3 ... ok
[INFO] [stdout] test nn::multihead_attention::tests::test_multihead_attention_backward_basic ... ok
[INFO] [stdout] test nn::gpt_block::tests::test_gpt2_block_different_sequence_lengths ... ok
[INFO] [stdout] test nn::multihead_attention::tests::test_multihead_attention_backward_step_up_4 ... ok
[INFO] [stdout] test nn::multihead_attention::tests::test_multihead_attention_backward_step_up_1 ... ok
[INFO] [stdout] test nn::linear::tests::test_linear_backward_chained_layers ... ok
[INFO] [stdout] test nn::linear::tests::test_linear_backward_with_relu_activation ... ok
[INFO] [stdout] test nn::multihead_attention::tests::test_multihead_attention_invalid_embed_dim - should panic ... ok
[INFO] [stdout] test nn::gpt_block::tests::test_gpt2_block_forward_pass_batch ... ok
[INFO] [stdout] test nn::multihead_attention::tests::test_multihead_attention_backward_step_up_2 ... ok
[INFO] [stdout] test nn::rmsnorm::tests::test_rmsnorm_parameters_registered ... ok
[INFO] [stdout] test nn::rmsnorm::tests::test_rmsnorm_forward_single_vector ... ok
[INFO] [stdout] test nn::multihead_attention::tests::test_multihead_attention_constructor ... ok
[INFO] [stdout] test nn::linear::tests::test_linear_different_dimensions ... ok
[INFO] [stdout] test nn::rmsnorm::tests::test_rmsnorm_forward_batch ... ok
[INFO] [stdout] test nn::linear::tests::test_linear_backward_deep_network ... FAILED
[INFO] [stdout] test nn::scaled_dot_project_attention::tests::test_attention_constructor ... ok
[INFO] [stdout] test nn::linear::tests::test_linear_forward_without_bias ... ok
[INFO] [stdout] test nn::linear::tests::test_linear_chain ... ok
[INFO] [stdout] test nn::rotary_embedding::tests::apply_rotary_embedding_identity_cos_sin_no_change ... ok
[INFO] [stdout] test nn::multihead_attention::tests::test_multihead_attention_forward_with_mask ... ok
[INFO] [stdout] test nn::scaled_dot_project_attention::tests::test_scaled_dot_product_attention_basic ... ok
[INFO] [stdout] test nn::rotary_embedding::tests::compute_cos_sin_returns_outer_product_shape ... ok
[INFO] [stdout] test nn::scaled_dot_project_attention::tests::test_scaled_dot_product_attention_with_mask ... ok
[INFO] [stdout] test nn::scaled_dot_project_attention::tests::test_scaled_dot_product_attention_with_scaling ... ok
[INFO] [stdout] test nn::sequential::tests::celeb_a_dcgan_test ... ok
[INFO] [stdout] test nn::scaled_dot_project_attention::tests::test_scaled_dot_product_attention_backward_basic ... ok
[INFO] [stdout] test nn::sequential::tests::test_sequential_creation_empty ... ok
[INFO] [stdout] test nn::multihead_attention::tests::test_multihead_attention_head_dimension_calculation ... ok
[INFO] [stdout] test nn::sequential::tests::test_sequential_deterministic_behavior ... ok
[INFO] [stdout] test nn::rotary_embedding::tests::apply_rotary_embedding_quadrature_rotation ... ok
[INFO] [stdout] test nn::rmsnorm::tests::test_rmsnorm_respects_scale_parameter ... ok
[INFO] [stdout] test nn::sequential::tests::test_sequential_batch_processing ... ok
[INFO] [stdout] test nn::sequential::tests::test_sequential_mnist_training ... FAILED
[INFO] [stdout] test nn::sequential::tests::test_sequential_from_vec ... ok
[INFO] [stdout] test nn::sequential::tests::test_sequential_creation_single_layer ... ok
[INFO] [stdout] test nn::tanh::tests::test_tanh_layer_creation ... ok
[INFO] [stdout] test nn::scaled_dot_project_attention::tests::test_scaled_dot_product_attention_batch ... ok
[INFO] [stdout] test nn::sequential::tests::test_sequential_mlp_network ... ok
[INFO] [stdout] test nn::scaled_dot_project_attention::tests::test_scaled_dot_product_attention_backward_scaling ... ok
[INFO] [stdout] test nn::tanh::tests::test_tanh_layer_forward_matrix ... ok
[INFO] [stdout] test nn::tanh::tests::test_tanh_layer_forward_single_value ... ok
[INFO] [stdout] test nn::tanh::tests::test_tanh_layer_forward_batch ... ok
[INFO] [stdout] test nn::multihead_attention::tests::test_multihead_attention_backward_step_up_5 ... ok
[INFO] [stdout] test nn::tanh::tests::test_tanh_layer_multiple_calls ... ok
[INFO] [stdout] test nn::rotary_embedding::tests::apply_rotary_embedding_preserves_input_shape ... ok
[INFO] [stdout] test nn::tanh::tests::test_tanh_layer_forward_vector ... ok
[INFO] [stdout] test tests::batch_norm_simple_test ... FAILED
[INFO] [stdout] test tests::makemore_bigrams ... FAILED
[INFO] [stdout] test nn::scaled_dot_project_attention::tests::test_scaled_dot_product_attention_backward_batch ... ok
[INFO] [stdout] test nn::tanh::tests::test_tanh_layer_in_network ... ok
[INFO] [stdout] test nn::sequential::tests::test_sequential_linear_tanh_chain ... ok
[INFO] [stdout] test nn::scaled_dot_project_attention::tests::test_scaled_dot_product_attention_backward_with_mask ... ok
[INFO] [stdout] test nn::tanh::tests::test_tanh_layer_range_properties ... ok
[INFO] [stdout] test tests::test_load_gpt ... FAILED
[INFO] [stdout] test nn::tanh::tests::test_tanh_layer_zero_gradient_at_saturation ... ok
[INFO] [stdout] test utils::tests::padding_test ... ok
[INFO] [stdout] test nn::tanh::tests::test_tanh_layer_antisymmetry ... ok
[INFO] [stdout] test utils::tests::padding_test_2 ... FAILED
[INFO] [stdout] test utils::tests::padding_test_3 ... FAILED
[INFO] [stdout] test utils::tests::padding_test_4 ... FAILED
[INFO] [stdout] test nn::tanh::tests::test_tanh_layer_gradient_at_zero ... ok
[INFO] [stdout] test nn::tanh::tests::test_tanh_layer_forward_known_values ... ok
[INFO] [stdout] test tests::micrograd_copy_test ... ok
[INFO] [stdout] test nn::multihead_attention::tests::test_multihead_attention_forward_basic ... ok
[INFO] [stdout] test nn::multihead_attention::tests::test_multihead_attention_forward_varying_inputs ... ok
[INFO] [stdout] test nn::multihead_attention::tests::test_multihead_attention_forward_batch_processing has been running for over 60 seconds
[INFO] [stdout] test nn::multihead_attention::tests::test_multihead_attention_forward_different_sizes has been running for over 60 seconds
[INFO] [stdout] test nn::multihead_attention::tests::test_multihead_attention_forward_sequence_lengths has been running for over 60 seconds
[INFO] [stdout] test nn::sequential::tests::test_sequential_xor_training has been running for over 60 seconds
[INFO] [stdout] test tests::test_autoencoder has been running for over 60 seconds
[INFO] [stdout] test tests::test_linear_regression has been running for over 60 seconds
[INFO] [stdout] test tests::test_sequence_prediction has been running for over 60 seconds
[INFO] [stdout] test tests::test_simple_classifier has been running for over 60 seconds
[INFO] [stdout] test tests::test_xor_network has been running for over 60 seconds
[INFO] [stdout] test nn::multihead_attention::tests::test_multihead_attention_forward_different_sizes ... ok
[INFO] [stdout] test nn::multihead_attention::tests::test_multihead_attention_forward_batch_processing ... ok
[ERROR] error running command: no output for 300 seconds
[INFO] running `Command { std: "docker" "inspect" "97696a3bbbb44b23cc45de649a45b52fd5177cdf9b1185e677ef35771609fa57", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "97696a3bbbb44b23cc45de649a45b52fd5177cdf9b1185e677ef35771609fa57", kill_on_drop: false }`
[INFO] [stdout] 97696a3bbbb44b23cc45de649a45b52fd5177cdf9b1185e677ef35771609fa57
