[INFO] fetching crate torsh-sparse 0.1.0-alpha.1...
[INFO] checking torsh-sparse-0.1.0-alpha.1 against master#e22dab387f6b4f6a87dfc54ac2f6013dddb41e68 for pr-149195
[INFO] extracting crate torsh-sparse 0.1.0-alpha.1 into /workspace/builds/worker-0-tc1/source
[INFO] started tweaking crates.io crate torsh-sparse 0.1.0-alpha.1
[INFO] removed 0 missing examples
[INFO] finished tweaking crates.io crate torsh-sparse 0.1.0-alpha.1
[INFO] tweaked toml for crates.io crate torsh-sparse 0.1.0-alpha.1 written to /workspace/builds/worker-0-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate torsh-sparse 0.1.0-alpha.1 on toolchain e22dab387f6b4f6a87dfc54ac2f6013dddb41e68
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+e22dab387f6b4f6a87dfc54ac2f6013dddb41e68" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate torsh-sparse 0.1.0-alpha.1 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" "+e22dab387f6b4f6a87dfc54ac2f6013dddb41e68" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded matfile v0.5.0
[INFO] [stderr]   Downloaded pyo3-macros v0.26.0
[INFO] [stderr]   Downloaded pyo3-build-config v0.26.0
[INFO] [stderr]   Downloaded pyo3-ffi v0.26.0
[INFO] [stderr]   Downloaded numpy v0.26.0
[INFO] [stderr]   Downloaded pyo3-macros-backend v0.26.0
[INFO] [stderr]   Downloaded cudarc v0.17.3
[INFO] [stderr]   Downloaded pyo3 v0.26.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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:94a0c148923f5b2b52a63ef0eeb1882ad339ab61bce784c8077cbe41c61feb6c" "/opt/rustwide/cargo-home/bin/cargo" "+e22dab387f6b4f6a87dfc54ac2f6013dddb41e68" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] fc32ad8c2a67685228960dbc77a7dded0ec72a9ddfe3e171b514d9f6d4f3210f
[INFO] running `Command { std: "docker" "start" "-a" "fc32ad8c2a67685228960dbc77a7dded0ec72a9ddfe3e171b514d9f6d4f3210f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "fc32ad8c2a67685228960dbc77a7dded0ec72a9ddfe3e171b514d9f6d4f3210f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "fc32ad8c2a67685228960dbc77a7dded0ec72a9ddfe3e171b514d9f6d4f3210f", kill_on_drop: false }`
[INFO] [stdout] fc32ad8c2a67685228960dbc77a7dded0ec72a9ddfe3e171b514d9f6d4f3210f
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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:94a0c148923f5b2b52a63ef0eeb1882ad339ab61bce784c8077cbe41c61feb6c" "/opt/rustwide/cargo-home/bin/cargo" "+e22dab387f6b4f6a87dfc54ac2f6013dddb41e68" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 8160c70340ecd0a102de7b0537264249ea222c14b87a3bd77d521b0786d45cd3
[INFO] running `Command { std: "docker" "start" "-a" "8160c70340ecd0a102de7b0537264249ea222c14b87a3bd77d521b0786d45cd3", kill_on_drop: false }`
[INFO] [stderr]    Compiling serde v1.0.225
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling serde_core v1.0.225
[INFO] [stderr]    Compiling libc v0.2.176
[INFO] [stderr]    Compiling zeroize v1.8.1
[INFO] [stderr]     Checking getrandom v0.2.16
[INFO] [stderr]    Compiling matrixmultiply v0.3.10
[INFO] [stderr]    Compiling rustix v1.0.7
[INFO] [stderr]    Compiling httparse v1.10.1
[INFO] [stderr]    Compiling foreign-types-shared v0.1.1
[INFO] [stderr]     Checking getrandom v0.3.3
[INFO] [stderr]    Compiling serde_derive v1.0.225
[INFO] [stderr]    Compiling thiserror-impl v2.0.16
[INFO] [stderr]    Compiling openssl-macros v0.1.1
[INFO] [stderr]    Compiling bytes v1.10.1
[INFO] [stderr]    Compiling base64ct v1.8.0
[INFO] [stderr]    Compiling foreign-types v0.3.2
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]    Compiling openssl-probe v0.1.6
[INFO] [stderr]    Compiling base64 v0.22.1
[INFO] [stderr]    Compiling rustls-pki-types v1.12.0
[INFO] [stderr]    Compiling pem-rfc7468 v0.7.0
[INFO] [stderr]    Compiling miniz_oxide v0.8.9
[INFO] [stderr]    Compiling crc32fast v1.4.2
[INFO] [stderr]     Checking bytemuck v1.23.1
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]    Compiling der v0.7.10
[INFO] [stderr]    Compiling option-ext v0.2.0
[INFO] [stderr]    Compiling utf-8 v0.7.6
[INFO] [stderr]    Compiling percent-encoding v2.3.1
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]    Compiling rustls-pemfile v2.2.0
[INFO] [stderr]    Compiling webpki-root-certs v1.0.2
[INFO] [stderr]     Checking safe_arch v0.7.4
[INFO] [stderr]    Compiling anyhow v1.0.98
[INFO] [stderr]     Checking regex-automata v0.4.11
[INFO] [stderr]     Checking rand_core v0.9.3
[INFO] [stderr]    Compiling darling_core v0.20.11
[INFO] [stderr]    Compiling katexit v0.1.5
[INFO] [stderr]     Checking wide v0.7.33
[INFO] [stderr]     Checking num-integer v0.1.46
[INFO] [stderr]     Checking approx v0.5.1
[INFO] [stderr]     Checking rand_chacha v0.9.0
[INFO] [stderr]    Compiling http v1.3.1
[INFO] [stderr]    Compiling flate2 v1.1.2
[INFO] [stderr]     Checking lapack-sys v0.14.0
[INFO] [stderr]     Checking rand v0.9.2
[INFO] [stderr]     Checking num-bigint v0.4.6
[INFO] [stderr]     Checking rand_distr v0.4.3
[INFO] [stderr]    Compiling jobserver v0.1.33
[INFO] [stderr]    Compiling filetime v0.2.26
[INFO] [stderr]    Compiling dirs-sys v0.5.0
[INFO] [stderr]     Checking num_cpus v1.17.0
[INFO] [stderr]    Compiling cc v1.2.27
[INFO] [stderr]    Compiling thiserror v2.0.16
[INFO] [stderr]    Compiling dirs v6.0.0
[INFO] [stderr]     Checking hashbrown v0.15.4
[INFO] [stderr]     Checking ahash v0.8.12
[INFO] [stderr]     Checking crossbeam-queue v0.3.12
[INFO] [stderr]     Checking crossbeam-channel v0.5.15
[INFO] [stderr]     Checking cached_proc_macro_types v0.1.1
[INFO] [stderr]     Checking digest v0.10.7
[INFO] [stderr]     Checking tempfile v3.23.0
[INFO] [stderr]    Compiling lambert_w v1.2.28
[INFO] [stderr]     Checking crossbeam v0.8.4
[INFO] [stderr]    Compiling nalgebra-macros v0.3.0
[INFO] [stderr]    Compiling ureq-proto v0.5.2
[INFO] [stderr]    Compiling zstd-safe v7.2.1
[INFO] [stderr]     Checking inout v0.1.4
[INFO] [stderr]     Checking zlib-rs v0.5.2
[INFO] [stderr]     Checking toml_parser v1.0.3
[INFO] [stderr]     Checking rand_distr v0.5.1
[INFO] [stderr]     Checking cipher v0.4.4
[INFO] [stderr]     Checking sha2 v0.10.9
[INFO] [stderr]    Compiling xattr v1.5.1
[INFO] [stderr]     Checking toml_datetime v0.7.2
[INFO] [stderr]    Compiling tar v0.4.44
[INFO] [stderr]     Checking serde_spanned v1.0.2
[INFO] [stderr]     Checking hmac v0.12.1
[INFO] [stderr]     Checking num-iter v0.1.45
[INFO] [stderr]    Compiling zeroize_derive v1.4.2
[INFO] [stderr]    Compiling num-complex v0.2.4
[INFO] [stderr]     Checking libbz2-rs-sys v0.2.2
[INFO] [stderr]     Checking simd-adler32 v0.3.7
[INFO] [stderr]     Checking regex v1.11.3
[INFO] [stderr]     Checking bumpalo v3.18.1
[INFO] [stderr]     Checking toml_writer v1.0.3
[INFO] [stderr]    Compiling scirs2-neural v0.1.0-beta.3
[INFO] [stderr]     Checking time v0.3.41
[INFO] [stderr]     Checking num-rational v0.4.2
[INFO] [stderr]     Checking pbkdf2 v0.12.2
[INFO] [stderr]     Checking toml v0.9.7
[INFO] [stderr]     Checking lzma-rust2 v0.13.0
[INFO] [stderr]     Checking aes v0.8.4
[INFO] [stderr]     Checking sha1 v0.10.6
[INFO] [stderr]     Checking zopfli v0.8.2
[INFO] [stderr]     Checking csv-core v0.1.12
[INFO] [stderr]     Checking memmap2 v0.9.8
[INFO] [stderr]     Checking iter-read v1.1.0
[INFO] [stderr]     Checking ppmd-rust v1.2.1
[INFO] [stderr]     Checking deflate64 v0.1.9
[INFO] [stderr]     Checking array-init v2.1.0
[INFO] [stderr]     Checking bzip2 v0.6.0
[INFO] [stderr]     Checking env_logger v0.8.4
[INFO] [stderr]     Checking parking_lot_core v0.9.11
[INFO] [stderr]     Checking approx v0.3.2
[INFO] [stderr]     Checking tracing v0.1.41
[INFO] [stderr]     Checking quickcheck v1.0.3
[INFO] [stderr]     Checking rand_pcg v0.9.0
[INFO] [stderr]    Compiling num-derive v0.4.2
[INFO] [stderr]    Compiling torsh-tensor v0.1.0-alpha.1
[INFO] [stderr]     Checking parking_lot v0.12.4
[INFO] [stderr]     Checking clap_builder v4.5.40
[INFO] [stderr]     Checking criterion-plot v0.5.0
[INFO] [stderr]    Compiling openssl-sys v0.9.109
[INFO] [stderr]    Compiling zstd-sys v2.0.13+zstd.1.5.6
[INFO] [stderr]     Checking plotters v0.3.7
[INFO] [stderr]     Checking alga v0.9.3
[INFO] [stderr]     Checking is-terminal v0.4.16
[INFO] [stderr]    Compiling darling_macro v0.20.11
[INFO] [stderr]    Compiling openssl v0.10.73
[INFO] [stderr]    Compiling native-tls v0.2.14
[INFO] [stderr]     Checking libz-rs-sys v0.5.2
[INFO] [stderr]    Compiling darling v0.20.11
[INFO] [stderr]    Compiling cached_proc_macro v0.25.0
[INFO] [stderr]     Checking clap v4.5.40
[INFO] [stderr]     Checking num-complex v0.4.6
[INFO] [stderr]     Checking serde_json v1.0.140
[INFO] [stderr]     Checking uuid v1.18.1
[INFO] [stderr]     Checking bincode v2.0.1
[INFO] [stderr]     Checking chrono v0.4.42
[INFO] [stderr]     Checking half v2.6.0
[INFO] [stderr]     Checking csv v1.3.1
[INFO] [stderr]     Checking serde-pickle v1.2.0
[INFO] [stderr]     Checking bincode v1.3.3
[INFO] [stderr]     Checking ndarray v0.16.1
[INFO] [stderr]     Checking simba v0.9.0
[INFO] [stderr]     Checking cauchy v0.4.0
[INFO] [stderr]     Checking cached v0.56.0
[INFO] [stderr]     Checking num v0.4.3
[INFO] [stderr]     Checking ciborium-ll v0.2.2
[INFO] [stderr]     Checking tinytemplate v1.2.1
[INFO] [stderr]     Checking special v0.11.4
[INFO] [stderr]     Checking ciborium v0.2.2
[INFO] [stderr]     Checking criterion v0.5.1
[INFO] [stderr]     Checking zstd v0.13.3
[INFO] [stderr]    Compiling ureq v3.1.2
[INFO] [stderr]     Checking zip v5.1.1
[INFO] [stderr]     Checking ndarray-rand v0.15.0
[INFO] [stderr]     Checking sprs v0.11.3
[INFO] [stderr]    Compiling openblas-build v0.10.13
[INFO] [stderr]     Checking nalgebra v0.33.2
[INFO] [stderr]     Checking nalgebra v0.34.1
[INFO] [stderr]    Compiling openblas-src v0.10.13
[INFO] [stderr]     Checking lax v0.17.0
[INFO] [stderr]     Checking ndarray-linalg v0.17.0
[INFO] [stderr]     Checking numrs2 v0.1.0-beta.2
[INFO] [stderr]     Checking statrs v0.18.0
[INFO] [stderr]     Checking scirs2-core v0.1.0-beta.3
[INFO] [stderr]     Checking scirs2-linalg v0.1.0-beta.3
[INFO] [stderr]     Checking scirs2-autograd v0.1.0-beta.3
[INFO] [stderr]     Checking scirs2-sparse v0.1.0-beta.3
[INFO] [stderr]     Checking scirs2 v0.1.0-beta.3
[INFO] [stderr]     Checking scirs2-stats v0.1.0-beta.3
[INFO] [stderr]     Checking torsh-core v0.1.0-alpha.1
[INFO] [stderr]     Checking torsh-sparse v0.1.0-alpha.1 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused imports: `Random` and `Rng`
[INFO] [stdout]  --> src/layers/activation.rs:7:27
[INFO] [stdout]   |
[INFO] [stdout] 7 | use scirs2_core::random::{Random, Rng};
[INFO] [stdout]   |                           ^^^^^^  ^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: requested on the command line with `-W unused-imports`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/layers/activation.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Shape` and `TorshError`
[INFO] [stdout]  --> src/layers/activation.rs:9:18
[INFO] [stdout]   |
[INFO] [stdout] 9 | use torsh_core::{Shape, TorshError};
[INFO] [stdout]   |                  ^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Tensor`, `randn`, and `zeros`
[INFO] [stdout]   --> src/layers/activation.rs:11:16
[INFO] [stdout]    |
[INFO] [stdout] 11 |     creation::{randn, zeros},
[INFO] [stdout]    |                ^^^^^  ^^^^^
[INFO] [stdout] 12 |     Tensor,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `CooTensor` and `CscTensor`
[INFO] [stdout]  --> src/layers/attention.rs:7:13
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::{CooTensor, CscTensor, CsrTensor, SparseTensor, TorshResult};
[INFO] [stdout]   |             ^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Random` and `Rng`
[INFO] [stdout]  --> src/layers/attention.rs:8:27
[INFO] [stdout]   |
[INFO] [stdout] 8 | use scirs2_core::random::{Random, Rng};
[INFO] [stdout]   |                           ^^^^^^  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/layers/attention.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Shape`
[INFO] [stdout]   --> src/layers/attention.rs:10:18
[INFO] [stdout]    |
[INFO] [stdout] 10 | use torsh_core::{Shape, TorshError};
[INFO] [stdout]    |                  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `randn`
[INFO] [stdout]   --> src/layers/attention.rs:12:16
[INFO] [stdout]    |
[INFO] [stdout] 12 |     creation::{randn, zeros},
[INFO] [stdout]    |                ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `CscTensor`
[INFO] [stdout]  --> src/layers/conv.rs:6:24
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::{CooTensor, CscTensor, CsrTensor, SparseTensor, TorshResult};
[INFO] [stdout]   |                        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Random`
[INFO] [stdout]  --> src/layers/conv.rs:7:27
[INFO] [stdout]   |
[INFO] [stdout] 7 | use scirs2_core::random::{Random, Rng};
[INFO] [stdout]   |                           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/layers/conv.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `CscTensor`
[INFO] [stdout]  --> src/layers/linear.rs:6:24
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::{CooTensor, CscTensor, CsrTensor, SparseTensor, TorshResult};
[INFO] [stdout]   |                        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Random`
[INFO] [stdout]  --> src/layers/linear.rs:7:27
[INFO] [stdout]   |
[INFO] [stdout] 7 | use scirs2_core::random::{Random, Rng};
[INFO] [stdout]   |                           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/layers/linear.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Random` and `Rng`
[INFO] [stdout]  --> src/layers/norm.rs:7:27
[INFO] [stdout]   |
[INFO] [stdout] 7 | use scirs2_core::random::{Random, Rng};
[INFO] [stdout]   |                           ^^^^^^  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/layers/norm.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `randn`
[INFO] [stdout]   --> src/layers/norm.rs:11:16
[INFO] [stdout]    |
[INFO] [stdout] 11 |     creation::{randn, zeros},
[INFO] [stdout]    |                ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `CooTensor`, `CscTensor`, and `CsrTensor`
[INFO] [stdout]  --> src/layers/pooling.rs:6:13
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::{CooTensor, CscTensor, CsrTensor, SparseTensor, TorshResult};
[INFO] [stdout]   |             ^^^^^^^^^  ^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Random` and `Rng`
[INFO] [stdout]  --> src/layers/pooling.rs:7:27
[INFO] [stdout]   |
[INFO] [stdout] 7 | use scirs2_core::random::{Random, Rng};
[INFO] [stdout]   |                           ^^^^^^  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/layers/pooling.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Shape`
[INFO] [stdout]  --> src/layers/pooling.rs:9:18
[INFO] [stdout]   |
[INFO] [stdout] 9 | use torsh_core::{Shape, TorshError};
[INFO] [stdout]   |                  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `randn`
[INFO] [stdout]   --> src/layers/pooling.rs:11:16
[INFO] [stdout]    |
[INFO] [stdout] 11 |     creation::{randn, zeros},
[INFO] [stdout]    |                ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `CooTensor`, `CscTensor`, `CsrTensor`, and `TorshResult`
[INFO] [stdout]  --> src/nn/common/types.rs:3:13
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::{CooTensor, CscTensor, CsrTensor, SparseTensor, TorshResult};
[INFO] [stdout]   |             ^^^^^^^^^  ^^^^^^^^^  ^^^^^^^^^                ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `torsh_core::TorshError`
[INFO] [stdout]  --> src/nn/common/types.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use torsh_core::TorshError;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `torsh_tensor::Tensor`
[INFO] [stdout]  --> src/nn/common/types.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use torsh_tensor::Tensor;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `SparseFormat`
[INFO] [stdout]  --> src/nn/common/utils.rs:3:20
[INFO] [stdout]   |
[INFO] [stdout] 3 | use super::types::{SparseFormat, SparseInitConfig, SparseInitStrategy};
[INFO] [stdout]   |                    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Shape`
[INFO] [stdout]  --> src/nn/common/utils.rs:6:18
[INFO] [stdout]   |
[INFO] [stdout] 6 | use torsh_core::{Shape, TorshError};
[INFO] [stdout]   |                  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Random` and `Rng`
[INFO] [stdout]   --> src/nn/attention.rs:10:27
[INFO] [stdout]    |
[INFO] [stdout] 10 | use scirs2_core::random::{Random, Rng};
[INFO] [stdout]    |                           ^^^^^^  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]   --> src/nn/attention.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use std::collections::HashMap;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `randn`
[INFO] [stdout]   --> src/nn/attention.rs:14:16
[INFO] [stdout]    |
[INFO] [stdout] 14 |     creation::{randn, zeros},
[INFO] [stdout]    |                ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Random`
[INFO] [stdout]  --> src/nn/convolution.rs:9:27
[INFO] [stdout]   |
[INFO] [stdout] 9 | use scirs2_core::random::{Random, Rng};
[INFO] [stdout]   |                           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]   --> src/nn/convolution.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::collections::HashMap;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `randn`
[INFO] [stdout]   --> src/nn/convolution.rs:13:16
[INFO] [stdout]    |
[INFO] [stdout] 13 |     creation::{randn, zeros},
[INFO] [stdout]    |                ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Random` and `Rng`
[INFO] [stdout]  --> src/nn/graph.rs:9:27
[INFO] [stdout]   |
[INFO] [stdout] 9 | use scirs2_core::random::{Random, Rng};
[INFO] [stdout]   |                           ^^^^^^  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]   --> src/nn/graph.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::collections::HashMap;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Shape`
[INFO] [stdout]   --> src/nn/graph.rs:11:18
[INFO] [stdout]    |
[INFO] [stdout] 11 | use torsh_core::{Shape, TorshError};
[INFO] [stdout]    |                  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `SparseConverter`
[INFO] [stdout]  --> src/nn/layers/embedding.rs:4:14
[INFO] [stdout]   |
[INFO] [stdout] 4 |     traits::{SparseConverter, SparseLayer},
[INFO] [stdout]   |              ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `CooTensor`
[INFO] [stdout]  --> src/nn/layers/embedding.rs:8:13
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::{CooTensor, CsrTensor, SparseTensor, TorshResult};
[INFO] [stdout]   |             ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Random`
[INFO] [stdout]  --> src/nn/layers/embedding.rs:9:27
[INFO] [stdout]   |
[INFO] [stdout] 9 | use scirs2_core::random::{Random, Rng};
[INFO] [stdout]   |                           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Shape`
[INFO] [stdout]   --> src/nn/layers/embedding.rs:11:18
[INFO] [stdout]    |
[INFO] [stdout] 11 | use torsh_core::{Shape, TorshError};
[INFO] [stdout]    |                  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `SparseConverter`
[INFO] [stdout]  --> src/nn/layers/linear.rs:4:14
[INFO] [stdout]   |
[INFO] [stdout] 4 |     traits::{SparseConverter, SparseLayer},
[INFO] [stdout]   |              ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/nn/layers/linear.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Shape`
[INFO] [stdout]   --> src/nn/layers/linear.rs:10:18
[INFO] [stdout]    |
[INFO] [stdout] 10 | use torsh_core::{Shape, TorshError};
[INFO] [stdout]    |                  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `CscTensor`
[INFO] [stdout]  --> src/optimizers.rs:6:24
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::{CooTensor, CscTensor, CsrTensor, SparseTensor, TorshResult};
[INFO] [stdout]   |                        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Random` and `Rng`
[INFO] [stdout]  --> src/optimizers.rs:7:27
[INFO] [stdout]   |
[INFO] [stdout] 7 | use scirs2_core::random::{Random, Rng};
[INFO] [stdout]   |                           ^^^^^^  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Shape`
[INFO] [stdout]  --> src/optimizers.rs:9:18
[INFO] [stdout]   |
[INFO] [stdout] 9 | use torsh_core::{Shape, TorshError};
[INFO] [stdout]   |                  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Tensor`, `randn`, and `zeros`
[INFO] [stdout]   --> src/optimizers.rs:11:16
[INFO] [stdout]    |
[INFO] [stdout] 11 |     creation::{randn, zeros},
[INFO] [stdout]    |                ^^^^^  ^^^^^
[INFO] [stdout] 12 |     Tensor,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/performance_tools/export/exporter.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::time::SystemTime`
[INFO] [stdout]  --> src/performance_tools/export/exporter.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::time::SystemTime;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `torsh_core::TorshError`
[INFO] [stdout]  --> src/performance_tools/export/exporter.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use torsh_core::TorshError;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `json`
[INFO] [stdout]   --> src/performance_tools/export/exporter.rs:63:11
[INFO] [stdout]    |
[INFO] [stdout] 63 |     #[cfg(feature = "json")]
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected values for `feature` are: `advanced-sparse`, `chrono`, `cuda`, `cudarc`, `default`, `gpu-acceleration`, `hdf5`, `hdf5_support`, `matfile`, `matlab`, `numpy`, `pyo3`, `scipy`, `scirs2-integration`, `scirs2-sparse`, `serde`, and `serde_json`
[INFO] [stdout]    = help: consider adding `json` as a feature in `Cargo.toml`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `json`
[INFO] [stdout]    --> src/performance_tools/export/exporter.rs:122:15
[INFO] [stdout]     |
[INFO] [stdout] 122 |     #[cfg(not(feature = "json"))]
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected values for `feature` are: `advanced-sparse`, `chrono`, `cuda`, `cudarc`, `default`, `gpu-acceleration`, `hdf5`, `hdf5_support`, `matfile`, `matlab`, `numpy`, `pyo3`, `scipy`, `scirs2-integration`, `scirs2-sparse`, `serde`, and `serde_json`
[INFO] [stdout]     = help: consider adding `json` as a feature in `Cargo.toml`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Shape` and `TorshError`
[INFO] [stdout]   --> src/performance_tools/memory.rs:29:18
[INFO] [stdout]    |
[INFO] [stdout] 29 | use torsh_core::{Shape, TorshError};
[INFO] [stdout]    |                  ^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]    --> src/performance_tools/mod.rs:106:5
[INFO] [stdout]     |
[INFO] [stdout] 106 | use std::collections::HashMap;
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Device`
[INFO] [stdout]    --> src/performance_tools/mod.rs:615:29
[INFO] [stdout]     |
[INFO] [stdout] 615 |     use torsh_core::{DType, Device, Shape};
[INFO] [stdout]     |                             ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Random` and `Rng`
[INFO] [stdout]  --> src/layers/activation.rs:7:27
[INFO] [stdout]   |
[INFO] [stdout] 7 | use scirs2_core::random::{Random, Rng};
[INFO] [stdout]   |                           ^^^^^^  ^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: requested on the command line with `-W unused-imports`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/layers/activation.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Shape` and `TorshError`
[INFO] [stdout]  --> src/layers/activation.rs:9:18
[INFO] [stdout]   |
[INFO] [stdout] 9 | use torsh_core::{Shape, TorshError};
[INFO] [stdout]   |                  ^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Tensor`, `randn`, and `zeros`
[INFO] [stdout]   --> src/layers/activation.rs:11:16
[INFO] [stdout]    |
[INFO] [stdout] 11 |     creation::{randn, zeros},
[INFO] [stdout]    |                ^^^^^  ^^^^^
[INFO] [stdout] 12 |     Tensor,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `CooTensor` and `CscTensor`
[INFO] [stdout]  --> src/layers/attention.rs:7:13
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::{CooTensor, CscTensor, CsrTensor, SparseTensor, TorshResult};
[INFO] [stdout]   |             ^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Random` and `Rng`
[INFO] [stdout]  --> src/layers/attention.rs:8:27
[INFO] [stdout]   |
[INFO] [stdout] 8 | use scirs2_core::random::{Random, Rng};
[INFO] [stdout]   |                           ^^^^^^  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/layers/attention.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Shape`
[INFO] [stdout]   --> src/layers/attention.rs:10:18
[INFO] [stdout]    |
[INFO] [stdout] 10 | use torsh_core::{Shape, TorshError};
[INFO] [stdout]    |                  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `randn`
[INFO] [stdout]   --> src/layers/attention.rs:12:16
[INFO] [stdout]    |
[INFO] [stdout] 12 |     creation::{randn, zeros},
[INFO] [stdout]    |                ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `CscTensor`
[INFO] [stdout]  --> src/layers/conv.rs:6:24
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::{CooTensor, CscTensor, CsrTensor, SparseTensor, TorshResult};
[INFO] [stdout]   |                        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Random`
[INFO] [stdout]  --> src/layers/conv.rs:7:27
[INFO] [stdout]   |
[INFO] [stdout] 7 | use scirs2_core::random::{Random, Rng};
[INFO] [stdout]   |                           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/layers/conv.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `CscTensor`
[INFO] [stdout]  --> src/layers/linear.rs:6:24
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::{CooTensor, CscTensor, CsrTensor, SparseTensor, TorshResult};
[INFO] [stdout]   |                        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Random`
[INFO] [stdout]  --> src/layers/linear.rs:7:27
[INFO] [stdout]   |
[INFO] [stdout] 7 | use scirs2_core::random::{Random, Rng};
[INFO] [stdout]   |                           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/layers/linear.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Random` and `Rng`
[INFO] [stdout]  --> src/layers/norm.rs:7:27
[INFO] [stdout]   |
[INFO] [stdout] 7 | use scirs2_core::random::{Random, Rng};
[INFO] [stdout]   |                           ^^^^^^  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/layers/norm.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `randn`
[INFO] [stdout]   --> src/layers/norm.rs:11:16
[INFO] [stdout]    |
[INFO] [stdout] 11 |     creation::{randn, zeros},
[INFO] [stdout]    |                ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `CooTensor`, `CscTensor`, and `CsrTensor`
[INFO] [stdout]  --> src/layers/pooling.rs:6:13
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::{CooTensor, CscTensor, CsrTensor, SparseTensor, TorshResult};
[INFO] [stdout]   |             ^^^^^^^^^  ^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Random` and `Rng`
[INFO] [stdout]  --> src/layers/pooling.rs:7:27
[INFO] [stdout]   |
[INFO] [stdout] 7 | use scirs2_core::random::{Random, Rng};
[INFO] [stdout]   |                           ^^^^^^  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/layers/pooling.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Shape`
[INFO] [stdout]  --> src/layers/pooling.rs:9:18
[INFO] [stdout]   |
[INFO] [stdout] 9 | use torsh_core::{Shape, TorshError};
[INFO] [stdout]   |                  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `randn`
[INFO] [stdout]   --> src/layers/pooling.rs:11:16
[INFO] [stdout]    |
[INFO] [stdout] 11 |     creation::{randn, zeros},
[INFO] [stdout]    |                ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `CooTensor`, `CscTensor`, `CsrTensor`, and `TorshResult`
[INFO] [stdout]  --> src/nn/common/types.rs:3:13
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::{CooTensor, CscTensor, CsrTensor, SparseTensor, TorshResult};
[INFO] [stdout]   |             ^^^^^^^^^  ^^^^^^^^^  ^^^^^^^^^                ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `torsh_core::TorshError`
[INFO] [stdout]  --> src/nn/common/types.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use torsh_core::TorshError;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `torsh_tensor::Tensor`
[INFO] [stdout]  --> src/nn/common/types.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use torsh_tensor::Tensor;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Shape`
[INFO] [stdout]  --> src/nn/common/utils.rs:6:18
[INFO] [stdout]   |
[INFO] [stdout] 6 | use torsh_core::{Shape, TorshError};
[INFO] [stdout]   |                  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Random` and `Rng`
[INFO] [stdout]   --> src/nn/attention.rs:10:27
[INFO] [stdout]    |
[INFO] [stdout] 10 | use scirs2_core::random::{Random, Rng};
[INFO] [stdout]    |                           ^^^^^^  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]   --> src/nn/attention.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use std::collections::HashMap;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `randn`
[INFO] [stdout]   --> src/nn/attention.rs:14:16
[INFO] [stdout]    |
[INFO] [stdout] 14 |     creation::{randn, zeros},
[INFO] [stdout]    |                ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Random`
[INFO] [stdout]  --> src/nn/convolution.rs:9:27
[INFO] [stdout]   |
[INFO] [stdout] 9 | use scirs2_core::random::{Random, Rng};
[INFO] [stdout]   |                           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]   --> src/nn/convolution.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::collections::HashMap;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `randn`
[INFO] [stdout]   --> src/nn/convolution.rs:13:16
[INFO] [stdout]    |
[INFO] [stdout] 13 |     creation::{randn, zeros},
[INFO] [stdout]    |                ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Random` and `Rng`
[INFO] [stdout]  --> src/nn/graph.rs:9:27
[INFO] [stdout]   |
[INFO] [stdout] 9 | use scirs2_core::random::{Random, Rng};
[INFO] [stdout]   |                           ^^^^^^  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]   --> src/nn/graph.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::collections::HashMap;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `SparseConverter`
[INFO] [stdout]  --> src/nn/layers/embedding.rs:4:14
[INFO] [stdout]   |
[INFO] [stdout] 4 |     traits::{SparseConverter, SparseLayer},
[INFO] [stdout]   |              ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `CooTensor`
[INFO] [stdout]  --> src/nn/layers/embedding.rs:8:13
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::{CooTensor, CsrTensor, SparseTensor, TorshResult};
[INFO] [stdout]   |             ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Random`
[INFO] [stdout]  --> src/nn/layers/embedding.rs:9:27
[INFO] [stdout]   |
[INFO] [stdout] 9 | use scirs2_core::random::{Random, Rng};
[INFO] [stdout]   |                           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Shape`
[INFO] [stdout]   --> src/nn/layers/embedding.rs:11:18
[INFO] [stdout]    |
[INFO] [stdout] 11 | use torsh_core::{Shape, TorshError};
[INFO] [stdout]    |                  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `SparseConverter`
[INFO] [stdout]  --> src/nn/layers/linear.rs:4:14
[INFO] [stdout]   |
[INFO] [stdout] 4 |     traits::{SparseConverter, SparseLayer},
[INFO] [stdout]   |              ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/nn/layers/linear.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Shape`
[INFO] [stdout]   --> src/nn/layers/linear.rs:10:18
[INFO] [stdout]    |
[INFO] [stdout] 10 | use torsh_core::{Shape, TorshError};
[INFO] [stdout]    |                  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::super::super::common::utils::SparseWeightGenerator`
[INFO] [stdout]    --> src/nn/optimizers/sgd.rs:352:9
[INFO] [stdout]     |
[INFO] [stdout] 352 |     use super::super::super::common::utils::SparseWeightGenerator;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `CscTensor`
[INFO] [stdout]  --> src/optimizers.rs:6:24
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::{CooTensor, CscTensor, CsrTensor, SparseTensor, TorshResult};
[INFO] [stdout]   |                        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Random` and `Rng`
[INFO] [stdout]  --> src/optimizers.rs:7:27
[INFO] [stdout]   |
[INFO] [stdout] 7 | use scirs2_core::random::{Random, Rng};
[INFO] [stdout]   |                           ^^^^^^  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Shape`
[INFO] [stdout]  --> src/optimizers.rs:9:18
[INFO] [stdout]   |
[INFO] [stdout] 9 | use torsh_core::{Shape, TorshError};
[INFO] [stdout]   |                  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Tensor`, `randn`, and `zeros`
[INFO] [stdout]   --> src/optimizers.rs:11:16
[INFO] [stdout]    |
[INFO] [stdout] 11 |     creation::{randn, zeros},
[INFO] [stdout]    |                ^^^^^  ^^^^^
[INFO] [stdout] 12 |     Tensor,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `torsh_core::Device`
[INFO] [stdout]    --> src/performance_tools/core.rs:588:9
[INFO] [stdout]     |
[INFO] [stdout] 588 |     use torsh_core::Device;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/performance_tools/export/exporter.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::time::SystemTime`
[INFO] [stdout]  --> src/performance_tools/export/exporter.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::time::SystemTime;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `torsh_core::TorshError`
[INFO] [stdout]  --> src/performance_tools/export/exporter.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use torsh_core::TorshError;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `json`
[INFO] [stdout]   --> src/performance_tools/export/exporter.rs:63:11
[INFO] [stdout]    |
[INFO] [stdout] 63 |     #[cfg(feature = "json")]
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected values for `feature` are: `advanced-sparse`, `chrono`, `cuda`, `cudarc`, `default`, `gpu-acceleration`, `hdf5`, `hdf5_support`, `matfile`, `matlab`, `numpy`, `pyo3`, `scipy`, `scirs2-integration`, `scirs2-sparse`, `serde`, and `serde_json`
[INFO] [stdout]    = help: consider adding `json` as a feature in `Cargo.toml`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `json`
[INFO] [stdout]    --> src/performance_tools/export/exporter.rs:122:15
[INFO] [stdout]     |
[INFO] [stdout] 122 |     #[cfg(not(feature = "json"))]
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected values for `feature` are: `advanced-sparse`, `chrono`, `cuda`, `cudarc`, `default`, `gpu-acceleration`, `hdf5`, `hdf5_support`, `matfile`, `matlab`, `numpy`, `pyo3`, `scipy`, `scirs2-integration`, `scirs2-sparse`, `serde`, and `serde_json`
[INFO] [stdout]     = help: consider adding `json` as a feature in `Cargo.toml`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `OperationStatistics`
[INFO] [stdout]   --> src/performance_tools/export/mod.rs:41:35
[INFO] [stdout]    |
[INFO] [stdout] 41 |     use super::super::reporting::{OperationStatistics, PerformanceReport};
[INFO] [stdout]    |                                   ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Shape` and `TorshError`
[INFO] [stdout]   --> src/performance_tools/memory.rs:29:18
[INFO] [stdout]    |
[INFO] [stdout] 29 | use torsh_core::{Shape, TorshError};
[INFO] [stdout]    |                  ^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `DType` and `Device`
[INFO] [stdout]    --> src/performance_tools/memory.rs:889:22
[INFO] [stdout]     |
[INFO] [stdout] 889 |     use torsh_core::{DType, Device, Shape};
[INFO] [stdout]     |                      ^^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Device`
[INFO] [stdout]    --> src/performance_tools/mod.rs:615:29
[INFO] [stdout]     |
[INFO] [stdout] 615 |     use torsh_core::{DType, Device, Shape};
[INFO] [stdout]     |                             ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `DType` and `Device`
[INFO] [stdout]    --> src/performance_tools/mod.rs:671:22
[INFO] [stdout]     |
[INFO] [stdout] 671 |     use torsh_core::{DType, Device, Shape};
[INFO] [stdout]     |                      ^^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `#![recursion_limit]` attribute can only be used at the crate root
[INFO] [stdout]  --> src/scipy_sparse.rs:6:1
[INFO] [stdout]   |
[INFO] [stdout] 6 | #![recursion_limit = "256"]
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_attributes)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `#![recursion_limit]` attribute can only be used at the crate root
[INFO] [stdout]  --> src/scipy_sparse.rs:6:1
[INFO] [stdout]   |
[INFO] [stdout] 6 | #![recursion_limit = "256"]
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_attributes)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `scirs2_core::Rng::gen`: Renamed to `random` to avoid conflict with the new `gen` keyword in Rust 2024.
[INFO] [stdout]    --> src/layers/conv.rs:491:30
[INFO] [stdout]     |
[INFO] [stdout] 491 |             values.push((rng.gen::<f32>() * 2.0 - 1.0) * std_dev);
[INFO] [stdout]     |                              ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `scirs2_core::Rng::gen`: Renamed to `random` to avoid conflict with the new `gen` keyword in Rust 2024.
[INFO] [stdout]    --> src/layers/conv.rs:726:30
[INFO] [stdout]     |
[INFO] [stdout] 726 |             values.push((rng.gen::<f32>() * 2.0 - 1.0) * std_dev);
[INFO] [stdout]     |                              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `scirs2_core::Rng::gen`: Renamed to `random` to avoid conflict with the new `gen` keyword in Rust 2024.
[INFO] [stdout]    --> src/layers/linear.rs:353:29
[INFO] [stdout]     |
[INFO] [stdout] 353 |             values.push(rng.gen::<f32>() * 2.0 * std_dev - std_dev);
[INFO] [stdout]     |                             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `scirs2_core::Rng::gen`: Renamed to `random` to avoid conflict with the new `gen` keyword in Rust 2024.
[INFO] [stdout]    --> src/layers/linear.rs:479:29
[INFO] [stdout]     |
[INFO] [stdout] 479 |             values.push(rng.gen::<f32>() * 2.0 - 1.0);
[INFO] [stdout]     |                             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `scirs2_core::Rng::gen`: Renamed to `random` to avoid conflict with the new `gen` keyword in Rust 2024.
[INFO] [stdout]    --> src/nn/convolution.rs:326:30
[INFO] [stdout]     |
[INFO] [stdout] 326 |             values.push((rng.gen::<f32>() * 2.0 - 1.0) * std_dev);
[INFO] [stdout]     |                              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `scirs2_core::Rng::gen`: Renamed to `random` to avoid conflict with the new `gen` keyword in Rust 2024.
[INFO] [stdout]    --> src/nn/convolution.rs:639:30
[INFO] [stdout]     |
[INFO] [stdout] 639 |             values.push((rng.gen::<f32>() * 2.0 - 1.0) * std_dev);
[INFO] [stdout]     |                              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `scirs2_core::Rng::gen`: Renamed to `random` to avoid conflict with the new `gen` keyword in Rust 2024.
[INFO] [stdout]    --> src/layers/conv.rs:491:30
[INFO] [stdout]     |
[INFO] [stdout] 491 |             values.push((rng.gen::<f32>() * 2.0 - 1.0) * std_dev);
[INFO] [stdout]     |                              ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `scirs2_core::Rng::gen`: Renamed to `random` to avoid conflict with the new `gen` keyword in Rust 2024.
[INFO] [stdout]    --> src/layers/conv.rs:726:30
[INFO] [stdout]     |
[INFO] [stdout] 726 |             values.push((rng.gen::<f32>() * 2.0 - 1.0) * std_dev);
[INFO] [stdout]     |                              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `scirs2_core::Rng::gen`: Renamed to `random` to avoid conflict with the new `gen` keyword in Rust 2024.
[INFO] [stdout]    --> src/layers/linear.rs:353:29
[INFO] [stdout]     |
[INFO] [stdout] 353 |             values.push(rng.gen::<f32>() * 2.0 * std_dev - std_dev);
[INFO] [stdout]     |                             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `scirs2_core::Rng::gen`: Renamed to `random` to avoid conflict with the new `gen` keyword in Rust 2024.
[INFO] [stdout]    --> src/layers/linear.rs:479:29
[INFO] [stdout]     |
[INFO] [stdout] 479 |             values.push(rng.gen::<f32>() * 2.0 - 1.0);
[INFO] [stdout]     |                             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `scirs2_core::Rng::gen`: Renamed to `random` to avoid conflict with the new `gen` keyword in Rust 2024.
[INFO] [stdout]    --> src/nn/convolution.rs:326:30
[INFO] [stdout]     |
[INFO] [stdout] 326 |             values.push((rng.gen::<f32>() * 2.0 - 1.0) * std_dev);
[INFO] [stdout]     |                              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `scirs2_core::Rng::gen`: Renamed to `random` to avoid conflict with the new `gen` keyword in Rust 2024.
[INFO] [stdout]    --> src/nn/convolution.rs:639:30
[INFO] [stdout]     |
[INFO] [stdout] 639 |             values.push((rng.gen::<f32>() * 2.0 - 1.0) * std_dev);
[INFO] [stdout]     |                              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `SparseTensor`
[INFO] [stdout]  --> src/layers/pooling.rs:6:46
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::{CooTensor, CscTensor, CsrTensor, SparseTensor, TorshResult};
[INFO] [stdout]   |                                              ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `SparseTensor`
[INFO] [stdout]  --> src/nn/attention.rs:9:35
[INFO] [stdout]   |
[INFO] [stdout] 9 | use crate::{CooTensor, CsrTensor, SparseTensor, TorshResult};
[INFO] [stdout]   |                                   ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Rng`
[INFO] [stdout]  --> src/nn/layers/embedding.rs:9:35
[INFO] [stdout]   |
[INFO] [stdout] 9 | use scirs2_core::random::{Random, Rng};
[INFO] [stdout]   |                                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `SparseTensor`
[INFO] [stdout]  --> src/layers/attention.rs:7:46
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::{CooTensor, CscTensor, CsrTensor, SparseTensor, TorshResult};
[INFO] [stdout]   |                                              ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Rng`
[INFO] [stdout]  --> src/nn/common/utils.rs:5:35
[INFO] [stdout]   |
[INFO] [stdout] 5 | use scirs2_core::random::{Random, Rng};
[INFO] [stdout]   |                                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/csr.rs:379:13
[INFO] [stdout]     |
[INFO] [stdout] 379 |         let mut result = zeros::<f32>(&result_shape)?;
[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: `result`
[INFO] [stdout]   --> src/nn/common/traits.rs:77:13
[INFO] [stdout]    |
[INFO] [stdout] 77 |         let result = self.forward(input)?;
[INFO] [stdout]    |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_result`
[INFO] [stdout]    |
[INFO] [stdout]    = note: requested on the command line with `-W unused-variables`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `nnz`
[INFO] [stdout]    --> src/nn/common/utils.rs:269:13
[INFO] [stdout]     |
[INFO] [stdout] 269 |         let nnz = csr.nnz();
[INFO] [stdout]     |             ^^^ help: if this is intentional, prefix it with an underscore: `_nnz`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `adjacency`
[INFO] [stdout]    --> src/nn/graph.rs:383:51
[INFO] [stdout]     |
[INFO] [stdout] 383 |     pub fn forward(&self, node_features: &Tensor, adjacency: &CsrTensor) -> TorshResult<Tensor> {
[INFO] [stdout]     |                                                   ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_adjacency`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `batch_size`
[INFO] [stdout]    --> src/nn/layers/linear.rs:130:13
[INFO] [stdout]     |
[INFO] [stdout] 130 |         let batch_size = if input_shape.ndim() == 1 {
[INFO] [stdout]     |             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_batch_size`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/optimizers.rs:93:17
[INFO] [stdout]    |
[INFO] [stdout] 93 |             let mut param_triplets = param_coo.triplets();
[INFO] [stdout]    |                 ----^^^^^^^^^^^^^^
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]   --> src/optimizers.rs:86:14
[INFO] [stdout]    |
[INFO] [stdout] 86 |         for (i, (param, grad)) in parameters.iter_mut().zip(gradients.iter()).enumerate() {
[INFO] [stdout]    |              ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/optimizers.rs:225:14
[INFO] [stdout]     |
[INFO] [stdout] 225 |         for (i, (param, grad)) in parameters.iter_mut().zip(gradients.iter()).enumerate() {
[INFO] [stdout]     |              ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/optimizers.rs:363:14
[INFO] [stdout]     |
[INFO] [stdout] 363 |         for (i, (param, grad)) in parameters.iter_mut().zip(gradients.iter()).enumerate() {
[INFO] [stdout]     |              ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/optimizers.rs:493:14
[INFO] [stdout]     |
[INFO] [stdout] 493 |         for (i, (param, grad)) in parameters.iter_mut().zip(gradients.iter()).enumerate() {
[INFO] [stdout]     |              ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `start_memory`
[INFO] [stdout]    --> src/performance_tools/core.rs:503:17
[INFO] [stdout]     |
[INFO] [stdout] 503 |             let start_memory = self.get_current_memory_usage();
[INFO] [stdout]     |                 ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_start_memory`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Rng`
[INFO] [stdout]  --> src/nn/layers/embedding.rs:9:35
[INFO] [stdout]   |
[INFO] [stdout] 9 | use scirs2_core::random::{Random, Rng};
[INFO] [stdout]   |                                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `SparseTensor`
[INFO] [stdout]  --> src/layers/attention.rs:7:46
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::{CooTensor, CscTensor, CsrTensor, SparseTensor, TorshResult};
[INFO] [stdout]   |                                              ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `SparseTensor`
[INFO] [stdout]  --> src/layers/pooling.rs:6:46
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::{CooTensor, CscTensor, CsrTensor, SparseTensor, TorshResult};
[INFO] [stdout]   |                                              ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Rng`
[INFO] [stdout]  --> src/nn/common/utils.rs:5:35
[INFO] [stdout]   |
[INFO] [stdout] 5 | use scirs2_core::random::{Random, Rng};
[INFO] [stdout]   |                                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/performance_tools/memory.rs:497:9
[INFO] [stdout]     |
[INFO] [stdout] 497 |     let mut cache_metrics: HashMap<String, f64> = HashMap::new();
[INFO] [stdout]     |         ----^^^^^^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cache_metrics`
[INFO] [stdout]    --> src/performance_tools/memory.rs:497:9
[INFO] [stdout]     |
[INFO] [stdout] 497 |     let mut cache_metrics: HashMap<String, f64> = HashMap::new();
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_cache_metrics`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/performance_tools/mod.rs:208:9
[INFO] [stdout]     |
[INFO] [stdout] 208 |     let mut trend_analyzer = TrendAnalyzer::new();
[INFO] [stdout]     |         ----^^^^^^^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `trend_analyzer`
[INFO] [stdout]    --> src/performance_tools/mod.rs:208:9
[INFO] [stdout]     |
[INFO] [stdout] 208 |     let mut trend_analyzer = TrendAnalyzer::new();
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_trend_analyzer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tuning_result`
[INFO] [stdout]    --> src/performance_tools/mod.rs:226:13
[INFO] [stdout]     |
[INFO] [stdout] 226 |         let tuning_result = auto_tuner.find_optimal_format(&characteristics)?;
[INFO] [stdout]     |             ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_tuning_result`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/performance_tools/mod.rs:387:13
[INFO] [stdout]     |
[INFO] [stdout] 387 |         let mut all_recs = self.all_recommendations();
[INFO] [stdout]     |             ----^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `all_recs`
[INFO] [stdout]    --> src/performance_tools/mod.rs:387:13
[INFO] [stdout]     |
[INFO] [stdout] 387 |         let mut all_recs = self.all_recommendations();
[INFO] [stdout]     |             ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_all_recs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dtype`
[INFO] [stdout]    --> src/performance_tools/mod.rs:620:9
[INFO] [stdout]     |
[INFO] [stdout] 620 |     let dtype = DType::F32;
[INFO] [stdout]     |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_dtype`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/csr.rs:379:13
[INFO] [stdout]     |
[INFO] [stdout] 379 |         let mut result = zeros::<f32>(&result_shape)?;
[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: `vector`
[INFO] [stdout]    --> src/scirs2_sparse_integration.rs:414:9
[INFO] [stdout]     |
[INFO] [stdout] 414 |         vector: &Tensor,
[INFO] [stdout]     |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_vector`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rhs`
[INFO] [stdout]    --> src/scirs2_sparse_integration.rs:436:55
[INFO] [stdout]     |
[INFO] [stdout] 436 |     fn direct_solve(&mut self, matrix: &SparseTensor, rhs: &Tensor) -> TorshResult<Tensor> {
[INFO] [stdout]     |                                                       ^^^ help: if this is intentional, prefix it with an underscore: `_rhs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rhs`
[INFO] [stdout]    --> src/scirs2_sparse_integration.rs:441:58
[INFO] [stdout]     |
[INFO] [stdout] 441 |     fn iterative_solve(&mut self, matrix: &SparseTensor, rhs: &Tensor) -> TorshResult<Tensor> {
[INFO] [stdout]     |                                                          ^^^ help: if this is intentional, prefix it with an underscore: `_rhs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `attention_weights` and `dropout` are never read
[INFO] [stdout]    --> src/nn/graph.rs:328:5
[INFO] [stdout]     |
[INFO] [stdout] 324 | pub struct GraphAttention {
[INFO] [stdout]     |            -------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 328 |     attention_weights: Tensor,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 338 |     dropout: f32,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `GraphAttention` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]     = note: requested on the command line with `-W dead-code`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `momentum`, `weight_decay`, and `nesterov` are never read
[INFO] [stdout]   --> src/optimizers.rs:42:5
[INFO] [stdout]    |
[INFO] [stdout] 38 | pub struct SparseSGD {
[INFO] [stdout]    |            --------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 42 |     momentum: f32,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 43 |     /// Weight decay coefficient
[INFO] [stdout] 44 |     weight_decay: f32,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 45 |     /// Nesterov momentum flag
[INFO] [stdout] 46 |     nesterov: bool,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `weight_decay` is never read
[INFO] [stdout]    --> src/optimizers.rs:155:5
[INFO] [stdout]     |
[INFO] [stdout] 145 | pub struct SparseAdam {
[INFO] [stdout]     |            ---------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 155 |     weight_decay: f32,
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `beta1`, `beta2`, and `eps` are never read
[INFO] [stdout]    --> src/optimizers.rs:291:5
[INFO] [stdout]     |
[INFO] [stdout] 287 | pub struct SparseAdamW {
[INFO] [stdout]     |            ----------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 291 |     beta1: f32,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 292 |     /// Exponential decay rate for second moment estimates
[INFO] [stdout] 293 |     beta2: f32,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 294 |     /// Small constant for numerical stability
[INFO] [stdout] 295 |     eps: f32,
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `alpha` and `weight_decay` are never read
[INFO] [stdout]    --> src/optimizers.rs:419:5
[INFO] [stdout]     |
[INFO] [stdout] 415 | pub struct SparseRMSprop {
[INFO] [stdout]     |            ------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 419 |     alpha: f32,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 423 |     weight_decay: f32,
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `sampling_interval` is never read
[INFO] [stdout]    --> src/performance_tools/memory.rs:224:5
[INFO] [stdout]     |
[INFO] [stdout] 214 | pub struct MemoryTracker {
[INFO] [stdout]     |            ------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 224 |     sampling_interval: Duration,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `MemoryTracker` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `format_cache` is never read
[INFO] [stdout]   --> src/scirs2_sparse_integration.rs:28:5
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub struct SciRS2SparseProcessor {
[INFO] [stdout]    |            --------------------- field in this struct
[INFO] [stdout] 27 |     config: SparseConfig,
[INFO] [stdout] 28 |     format_cache: HashMap<String, SparseFormat>,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Random`
[INFO] [stdout]  --> examples/performance_optimization.rs:8:39
[INFO] [stdout]   |
[INFO] [stdout] 8 | use scirs2_core::random::{thread_rng, Random, Rng};
[INFO] [stdout]   |                                       ^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: requested on the command line with `-W unused-imports`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `scirs2_core::Rng::gen`: Renamed to `random` to avoid conflict with the new `gen` keyword in Rust 2024.
[INFO] [stdout]    --> examples/performance_optimization.rs:332:25
[INFO] [stdout]     |
[INFO] [stdout] 332 |         let value = rng.gen();
[INFO] [stdout]     |                         ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `scirs2_core::Rng::gen`: Renamed to `random` to avoid conflict with the new `gen` keyword in Rust 2024.
[INFO] [stdout]    --> examples/performance_optimization.rs:364:20
[INFO] [stdout]     |
[INFO] [stdout] 364 |             if rng.gen::<f64>() < 0.1 {
[INFO] [stdout]     |                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `scirs2_core::Rng::gen`: Renamed to `random` to avoid conflict with the new `gen` keyword in Rust 2024.
[INFO] [stdout]    --> examples/performance_optimization.rs:370:41
[INFO] [stdout]     |
[INFO] [stdout] 370 |                         let value = rng.gen();
[INFO] [stdout]     |                                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `result`
[INFO] [stdout]   --> src/nn/common/traits.rs:77:13
[INFO] [stdout]    |
[INFO] [stdout] 77 |         let result = self.forward(input)?;
[INFO] [stdout]    |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_result`
[INFO] [stdout]    |
[INFO] [stdout]    = note: requested on the command line with `-W unused-variables`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `nnz`
[INFO] [stdout]    --> src/nn/common/utils.rs:269:13
[INFO] [stdout]     |
[INFO] [stdout] 269 |         let nnz = csr.nnz();
[INFO] [stdout]     |             ^^^ help: if this is intentional, prefix it with an underscore: `_nnz`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Random`
[INFO] [stdout]  --> examples/interoperability.rs:8:27
[INFO] [stdout]   |
[INFO] [stdout] 8 | use scirs2_core::random::{Random, Rng};
[INFO] [stdout]   |                           ^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: requested on the command line with `-W unused-imports`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Random`
[INFO] [stdout]  --> examples/neural_networks.rs:8:39
[INFO] [stdout]   |
[INFO] [stdout] 8 | use scirs2_core::random::{thread_rng, Random, Rng};
[INFO] [stdout]   |                                       ^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: requested on the command line with `-W unused-imports`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `adjacency`
[INFO] [stdout]    --> src/nn/graph.rs:383:51
[INFO] [stdout]     |
[INFO] [stdout] 383 |     pub fn forward(&self, node_features: &Tensor, adjacency: &CsrTensor) -> TorshResult<Tensor> {
[INFO] [stdout]     |                                                   ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_adjacency`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `batch_size`
[INFO] [stdout]    --> src/nn/layers/linear.rs:130:13
[INFO] [stdout]     |
[INFO] [stdout] 130 |         let batch_size = if input_shape.ndim() == 1 {
[INFO] [stdout]     |             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_batch_size`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Rng`
[INFO] [stdout]  --> examples/neural_networks.rs:8:47
[INFO] [stdout]   |
[INFO] [stdout] 8 | use scirs2_core::random::{thread_rng, Random, Rng};
[INFO] [stdout]   |                                               ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `scirs2_core::Rng::gen`: Renamed to `random` to avoid conflict with the new `gen` keyword in Rust 2024.
[INFO] [stdout]    --> examples/interoperability.rs:228:25
[INFO] [stdout]     |
[INFO] [stdout] 228 |         let value = rng.gen::<f32>() * 10.0 - 5.0; // Values between -5 and 5
[INFO] [stdout]     |                         ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/optimizers.rs:93:17
[INFO] [stdout]    |
[INFO] [stdout] 93 |             let mut param_triplets = param_coo.triplets();
[INFO] [stdout]    |                 ----^^^^^^^^^^^^^^
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]   --> src/optimizers.rs:86:14
[INFO] [stdout]    |
[INFO] [stdout] 86 |         for (i, (param, grad)) in parameters.iter_mut().zip(gradients.iter()).enumerate() {
[INFO] [stdout]    |              ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/optimizers.rs:225:14
[INFO] [stdout]     |
[INFO] [stdout] 225 |         for (i, (param, grad)) in parameters.iter_mut().zip(gradients.iter()).enumerate() {
[INFO] [stdout]     |              ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/optimizers.rs:363:14
[INFO] [stdout]     |
[INFO] [stdout] 363 |         for (i, (param, grad)) in parameters.iter_mut().zip(gradients.iter()).enumerate() {
[INFO] [stdout]     |              ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/optimizers.rs:493:14
[INFO] [stdout]     |
[INFO] [stdout] 493 |         for (i, (param, grad)) in parameters.iter_mut().zip(gradients.iter()).enumerate() {
[INFO] [stdout]     |              ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `start_memory`
[INFO] [stdout]    --> src/performance_tools/core.rs:503:17
[INFO] [stdout]     |
[INFO] [stdout] 503 |             let start_memory = self.get_current_memory_usage();
[INFO] [stdout]     |                 ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_start_memory`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/performance_tools/memory.rs:497:9
[INFO] [stdout]     |
[INFO] [stdout] 497 |     let mut cache_metrics: HashMap<String, f64> = HashMap::new();
[INFO] [stdout]     |         ----^^^^^^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cache_metrics`
[INFO] [stdout]    --> src/performance_tools/memory.rs:497:9
[INFO] [stdout]     |
[INFO] [stdout] 497 |     let mut cache_metrics: HashMap<String, f64> = HashMap::new();
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_cache_metrics`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/performance_tools/reporting.rs:835:13
[INFO] [stdout]     |
[INFO] [stdout] 835 |         let mut metric_stats = MetricStatistics {
[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/performance_tools/mod.rs:208:9
[INFO] [stdout]     |
[INFO] [stdout] 208 |     let mut trend_analyzer = TrendAnalyzer::new();
[INFO] [stdout]     |         ----^^^^^^^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `trend_analyzer`
[INFO] [stdout]    --> src/performance_tools/mod.rs:208:9
[INFO] [stdout]     |
[INFO] [stdout] 208 |     let mut trend_analyzer = TrendAnalyzer::new();
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_trend_analyzer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tuning_result`
[INFO] [stdout]    --> src/performance_tools/mod.rs:226:13
[INFO] [stdout]     |
[INFO] [stdout] 226 |         let tuning_result = auto_tuner.find_optimal_format(&characteristics)?;
[INFO] [stdout]     |             ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_tuning_result`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/performance_tools/mod.rs:387:13
[INFO] [stdout]     |
[INFO] [stdout] 387 |         let mut all_recs = self.all_recommendations();
[INFO] [stdout]     |             ----^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `all_recs`
[INFO] [stdout]    --> src/performance_tools/mod.rs:387:13
[INFO] [stdout]     |
[INFO] [stdout] 387 |         let mut all_recs = self.all_recommendations();
[INFO] [stdout]     |             ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_all_recs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dtype`
[INFO] [stdout]    --> src/performance_tools/mod.rs:620:9
[INFO] [stdout]     |
[INFO] [stdout] 620 |     let dtype = DType::F32;
[INFO] [stdout]     |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_dtype`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `vector`
[INFO] [stdout]    --> src/scirs2_sparse_integration.rs:414:9
[INFO] [stdout]     |
[INFO] [stdout] 414 |         vector: &Tensor,
[INFO] [stdout]     |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_vector`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rhs`
[INFO] [stdout]    --> src/scirs2_sparse_integration.rs:436:55
[INFO] [stdout]     |
[INFO] [stdout] 436 |     fn direct_solve(&mut self, matrix: &SparseTensor, rhs: &Tensor) -> TorshResult<Tensor> {
[INFO] [stdout]     |                                                       ^^^ help: if this is intentional, prefix it with an underscore: `_rhs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rhs`
[INFO] [stdout]    --> src/scirs2_sparse_integration.rs:441:58
[INFO] [stdout]     |
[INFO] [stdout] 441 |     fn iterative_solve(&mut self, matrix: &SparseTensor, rhs: &Tensor) -> TorshResult<Tensor> {
[INFO] [stdout]     |                                                          ^^^ help: if this is intentional, prefix it with an underscore: `_rhs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `attention_weights` and `dropout` are never read
[INFO] [stdout]    --> src/nn/graph.rs:328:5
[INFO] [stdout]     |
[INFO] [stdout] 324 | pub struct GraphAttention {
[INFO] [stdout]     |            -------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 328 |     attention_weights: Tensor,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 338 |     dropout: f32,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `GraphAttention` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]     = note: requested on the command line with `-W dead-code`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `momentum`, `weight_decay`, and `nesterov` are never read
[INFO] [stdout]   --> src/optimizers.rs:42:5
[INFO] [stdout]    |
[INFO] [stdout] 38 | pub struct SparseSGD {
[INFO] [stdout]    |            --------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 42 |     momentum: f32,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 43 |     /// Weight decay coefficient
[INFO] [stdout] 44 |     weight_decay: f32,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 45 |     /// Nesterov momentum flag
[INFO] [stdout] 46 |     nesterov: bool,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `weight_decay` is never read
[INFO] [stdout]    --> src/optimizers.rs:155:5
[INFO] [stdout]     |
[INFO] [stdout] 145 | pub struct SparseAdam {
[INFO] [stdout]     |            ---------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 155 |     weight_decay: f32,
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `beta1`, `beta2`, and `eps` are never read
[INFO] [stdout]    --> src/optimizers.rs:291:5
[INFO] [stdout]     |
[INFO] [stdout] 287 | pub struct SparseAdamW {
[INFO] [stdout]     |            ----------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 291 |     beta1: f32,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 292 |     /// Exponential decay rate for second moment estimates
[INFO] [stdout] 293 |     beta2: f32,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 294 |     /// Small constant for numerical stability
[INFO] [stdout] 295 |     eps: f32,
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `alpha` and `weight_decay` are never read
[INFO] [stdout]    --> src/optimizers.rs:419:5
[INFO] [stdout]     |
[INFO] [stdout] 415 | pub struct SparseRMSprop {
[INFO] [stdout]     |            ------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 419 |     alpha: f32,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 423 |     weight_decay: f32,
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `sampling_interval` is never read
[INFO] [stdout]    --> src/performance_tools/memory.rs:224:5
[INFO] [stdout]     |
[INFO] [stdout] 214 | pub struct MemoryTracker {
[INFO] [stdout]     |            ------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 224 |     sampling_interval: Duration,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `MemoryTracker` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `format_cache` is never read
[INFO] [stdout]   --> src/scirs2_sparse_integration.rs:28:5
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub struct SciRS2SparseProcessor {
[INFO] [stdout]    |            --------------------- field in this struct
[INFO] [stdout] 27 |     config: SparseConfig,
[INFO] [stdout] 28 |     format_cache: HashMap<String, SparseFormat>,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 48s
[INFO] running `Command { std: "docker" "inspect" "8160c70340ecd0a102de7b0537264249ea222c14b87a3bd77d521b0786d45cd3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "8160c70340ecd0a102de7b0537264249ea222c14b87a3bd77d521b0786d45cd3", kill_on_drop: false }`
[INFO] [stdout] 8160c70340ecd0a102de7b0537264249ea222c14b87a3bd77d521b0786d45cd3
