[INFO] cloning repository https://github.com/tmathis720/kryst [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/tmathis720/kryst" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftmathis720%2Fkryst", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftmathis720%2Fkryst'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] fe34526b26986edd3860aa0b39b1e483dcdfb3fa [INFO] checking tmathis720/kryst against master#e1613686e0efc80a1a18b1263625450a8de3fb04 for pr-154492 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftmathis720%2Fkryst" "/workspace/builds/worker-1-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc1/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/tmathis720/kryst [INFO] removed 0 missing examples [INFO] finished tweaking git repo https://github.com/tmathis720/kryst [INFO] tweaked toml for git repo https://github.com/tmathis720/kryst written to /workspace/builds/worker-1-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/tmathis720/kryst on toolchain e1613686e0efc80a1a18b1263625450a8de3fb04 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+e1613686e0efc80a1a18b1263625450a8de3fb04" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/tmathis720/kryst 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" "+e1613686e0efc80a1a18b1263625450a8de3fb04" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded mpi-sys v0.2.2 [INFO] [stderr] Downloaded build-probe-mpi v0.1.4 [INFO] [stderr] Downloaded rand_distr v0.6.0 [INFO] [stderr] Downloaded prettyplease v0.2.34 [INFO] [stderr] Downloaded mpi v0.8.0 [INFO] [stderr] Downloaded safe_arch v1.0.0 [INFO] [stderr] Downloaded sprs v0.11.4 [INFO] [stderr] Downloaded wide v1.2.0 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+e1613686e0efc80a1a18b1263625450a8de3fb04" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 98d5bbb934239a9bf1bb83fd57f5f9ad690ee3dd52057bb91e70ae4402ded981 [INFO] running `Command { std: "docker" "start" "-a" "98d5bbb934239a9bf1bb83fd57f5f9ad690ee3dd52057bb91e70ae4402ded981", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "98d5bbb934239a9bf1bb83fd57f5f9ad690ee3dd52057bb91e70ae4402ded981", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "98d5bbb934239a9bf1bb83fd57f5f9ad690ee3dd52057bb91e70ae4402ded981", kill_on_drop: false }` [INFO] [stdout] 98d5bbb934239a9bf1bb83fd57f5f9ad690ee3dd52057bb91e70ae4402ded981 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+e1613686e0efc80a1a18b1263625450a8de3fb04" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 8258141a914b7f945bd8bda5b24741ae7683c0d8b6782dcdf99740546296dfad [INFO] running `Command { std: "docker" "start" "-a" "8258141a914b7f945bd8bda5b24741ae7683c0d8b6782dcdf99740546296dfad", kill_on_drop: false }` [INFO] [stderr] Compiling syn v2.0.103 [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Checking raw-cpuid v11.5.0 [INFO] [stderr] Checking getrandom v0.3.3 [INFO] [stderr] Compiling syn v1.0.109 [INFO] [stderr] Compiling rustix v1.1.4 [INFO] [stderr] Checking rand_core v0.10.0 [INFO] [stderr] Compiling getrandom v0.4.2 [INFO] [stderr] Checking linux-raw-sys v0.12.1 [INFO] [stderr] Checking cpufeatures v0.3.0 [INFO] [stderr] Checking rand_core v0.9.3 [INFO] [stderr] Checking anstyle v1.0.11 [INFO] [stderr] Checking chacha20 v0.10.0 [INFO] [stderr] Checking rand_chacha v0.9.0 [INFO] [stderr] Checking regex-automata v0.4.9 [INFO] [stderr] Checking rand v0.9.2 [INFO] [stderr] Checking winnow v1.0.0 [INFO] [stderr] Checking rand v0.10.0 [INFO] [stderr] Checking toml_parser v1.1.0+spec-1.1.0 [INFO] [stderr] Checking num-complex v0.4.6 [INFO] [stderr] Checking num-integer v0.1.46 [INFO] [stderr] Checking rand_distr v0.5.1 [INFO] [stderr] Checking pulp v0.22.2 [INFO] [stderr] Checking nano-gemm-c32 v0.2.1 [INFO] [stderr] Checking num-bigint v0.4.6 [INFO] [stderr] Checking nano-gemm-c64 v0.2.1 [INFO] [stderr] Checking tempfile v3.27.0 [INFO] [stderr] Compiling alloca v0.4.0 [INFO] [stderr] Checking regex v1.11.1 [INFO] [stderr] Checking serde_spanned v1.1.0 [INFO] [stderr] Checking toml_datetime v1.1.0+spec-1.1.0 [INFO] [stderr] Checking half v2.6.0 [INFO] [stderr] Checking toml_writer v1.1.0+spec-1.1.0 [INFO] [stderr] Compiling iai-callgrind-runner v0.16.1 [INFO] [stderr] Checking clap_lex v0.7.5 [INFO] [stderr] Checking toml v1.1.0+spec-1.1.0 [INFO] [stderr] Checking ciborium-ll v0.2.2 [INFO] [stderr] Checking clap_builder v4.5.48 [INFO] [stderr] Checking rand_distr v0.6.0 [INFO] [stderr] Checking itertools v0.13.0 [INFO] [stderr] Checking wait-timeout v0.2.1 [INFO] [stderr] Checking bit-vec v0.8.0 [INFO] [stderr] Compiling proc-macro-error2 v2.0.1 [INFO] [stderr] Compiling iai-callgrind v0.16.1 [INFO] [stderr] Checking anstyle-query v1.1.3 [INFO] [stderr] Checking smallvec v1.15.1 [INFO] [stderr] Compiling interpol v0.2.1 [INFO] [stderr] Checking anstream v0.6.19 [INFO] [stderr] Checking clap v4.5.48 [INFO] [stderr] Checking rusty-fork v0.3.0 [INFO] [stderr] Checking bit-set v0.8.0 [INFO] [stderr] Compiling private-gemm-x86 v0.1.20 [INFO] [stderr] Checking env_filter v0.1.3 [INFO] [stderr] Checking rand_xorshift v0.4.0 [INFO] [stderr] Checking gemm-common v0.19.0 [INFO] [stderr] Checking qd v0.8.0 [INFO] [stderr] Checking page_size v0.6.0 [INFO] [stderr] Checking unarray v0.1.4 [INFO] [stderr] Checking criterion-plot v0.8.2 [INFO] [stderr] Checking faer-traits v0.24.0 [INFO] [stderr] Checking proptest v1.7.0 [INFO] [stderr] Checking gemm-f32 v0.19.0 [INFO] [stderr] Checking gemm-f64 v0.19.0 [INFO] [stderr] Checking gemm-c32 v0.19.0 [INFO] [stderr] Checking gemm-c64 v0.19.0 [INFO] [stderr] Compiling serde_derive v1.0.228 [INFO] [stderr] Compiling thiserror-impl v2.0.12 [INFO] [stderr] Compiling equator-macro v0.4.2 [INFO] [stderr] Compiling equator-macro v0.2.1 [INFO] [stderr] Checking equator v0.2.2 [INFO] [stderr] Compiling derive_more-impl v2.0.1 [INFO] [stderr] Checking gemm v0.19.0 [INFO] [stderr] Checking equator v0.4.2 [INFO] [stderr] Checking env_logger v0.11.8 [INFO] [stderr] Checking spindle v0.2.6 [INFO] [stderr] Compiling thiserror v2.0.12 [INFO] [stderr] Compiling pest v2.8.0 [INFO] [stderr] Checking approx v0.5.1 [INFO] [stderr] Compiling derive_more v2.0.1 [INFO] [stderr] Checking serde v1.0.228 [INFO] [stderr] Compiling serde_json v1.0.140 [INFO] [stderr] Compiling pest_meta v2.8.0 [INFO] [stderr] Checking bincode v1.3.3 [INFO] [stderr] Checking ciborium v0.2.2 [INFO] [stderr] Checking nano-gemm v0.2.2 [INFO] [stderr] Compiling pest_generator v2.8.0 [INFO] [stderr] Checking tinytemplate v1.2.1 [INFO] [stderr] Compiling iai-callgrind-macros v0.6.1 [INFO] [stderr] Checking criterion v0.8.2 [INFO] [stderr] Compiling pest_derive v2.8.0 [INFO] [stderr] Checking py_literal v0.4.0 [INFO] [stderr] Checking npyz v0.8.4 [INFO] [stderr] Checking faer v0.24.0 [INFO] [stderr] Checking kryst v4.0.3 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused imports: `DistCsrCapabilityKey` and `resolve_distcsr_capability` [INFO] [stdout] --> src/context/ksp_context/mod.rs:112:29 [INFO] [stdout] | [INFO] [stdout] 112 | DistCsrCapabilityEntry, DistCsrCapabilityKey, build_dist_route_decision_report, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 113 | resolve_distcsr_capability, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Comm` [INFO] [stdout] --> src/matrix/parcsr/mat.rs:7:23 [INFO] [stdout] | [INFO] [stdout] 7 | use crate::parallel::{Comm, UniverseComm}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `DistCsrCapabilityKey` and `resolve_distcsr_capability` [INFO] [stdout] --> src/context/ksp_context/mod.rs:112:29 [INFO] [stdout] | [INFO] [stdout] 112 | DistCsrCapabilityEntry, DistCsrCapabilityKey, build_dist_route_decision_report, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 113 | resolve_distcsr_capability, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::*` [INFO] [stdout] --> src/matrix/parcsr/halo.rs:159:9 [INFO] [stdout] | [INFO] [stdout] 159 | use super::*; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `NoComm` and `UniverseComm` [INFO] [stdout] --> src/matrix/parcsr/halo.rs:160:27 [INFO] [stdout] | [INFO] [stdout] 160 | use crate::parallel::{NoComm, UniverseComm}; [INFO] [stdout] | ^^^^^^ ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Comm` [INFO] [stdout] --> src/matrix/parcsr/mat.rs:7:23 [INFO] [stdout] | [INFO] [stdout] 7 | use crate::parallel::{Comm, UniverseComm}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::sync::Arc` [INFO] [stdout] --> src/matrix/parcsr/mat.rs:206:9 [INFO] [stdout] | [INFO] [stdout] 206 | use std::sync::Arc; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::error::KError` [INFO] [stdout] --> src/preconditioner/block_jacobi.rs:489:9 [INFO] [stdout] | [INFO] [stdout] 489 | use crate::error::KError; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::preconditioner::PcSide` [INFO] [stdout] --> src/preconditioner/block_jacobi.rs:492:9 [INFO] [stdout] | [INFO] [stdout] 492 | use crate::preconditioner::PcSide; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::algebra::prelude::*` [INFO] [stdout] --> src/preconditioner/tests/mod.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use crate::algebra::prelude::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `faer::Mat` [INFO] [stdout] --> src/utils/permutation.rs:209:9 [INFO] [stdout] | [INFO] [stdout] 209 | use faer::Mat; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated struct `preconditioner::approxinv::ApproxInv`: legacy ApproxInv is deprecated; migrate to approxinv_csr::SpaiCsr/FsaiCsr [INFO] [stdout] --> src/preconditioner/approxinv.rs:111:15 [INFO] [stdout] | [INFO] [stdout] 111 | impl ApproxInv [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated struct `preconditioner::approxinv::ApproxInv`: legacy ApproxInv is deprecated; migrate to approxinv_csr::SpaiCsr/FsaiCsr [INFO] [stdout] --> src/preconditioner/approxinv.rs:174:62 [INFO] [stdout] | [INFO] [stdout] 174 | impl Preconditioner for ApproxInv [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated struct `preconditioner::approxinv::ApproxInv`: legacy ApproxInv is deprecated; migrate to approxinv_csr::SpaiCsr/FsaiCsr [INFO] [stdout] --> src/preconditioner/approxinv.rs:366:74 [INFO] [stdout] | [INFO] [stdout] 366 | impl crate::preconditioner::Preconditioner for ApproxInv, f64> [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated constant `preconditioner::approxinv::tests::approxinv_apply_vector`: legacy ApproxInv is deprecated; use preconditioner::approxinv_csr (FsaiCsr/SpaiCsr) or PcType::ApproxInverse [INFO] [stdout] --> src/preconditioner/approxinv.rs:711:5 [INFO] [stdout] | [INFO] [stdout] 711 | / fn approxinv_apply_vector() { [INFO] [stdout] 712 | | // 2x2 matrix [INFO] [stdout] 713 | | let a = DenseMat { [INFO] [stdout] 714 | | data: vec![vec![4.0, 1.0], vec![2.0, 3.0]], [INFO] [stdout] ... | [INFO] [stdout] 736 | | assert_relative_eq!(y[1], y_expected[(1, 0)], epsilon = 2.5e-1); [INFO] [stdout] 737 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated constant `preconditioner::approxinv::tests::approxinv_exact_inverse`: legacy ApproxInv is deprecated; use preconditioner::approxinv_csr (FsaiCsr/SpaiCsr) or PcType::ApproxInverse [INFO] [stdout] --> src/preconditioner/approxinv.rs:689:5 [INFO] [stdout] | [INFO] [stdout] 689 | / fn approxinv_exact_inverse() { [INFO] [stdout] 690 | | // 3x3 diagonal matrix [INFO] [stdout] 691 | | let a = DenseMat { [INFO] [stdout] 692 | | data: vec![ [INFO] [stdout] ... | [INFO] [stdout] 707 | | assert_relative_eq!(inv[2][0].1, 0.25, epsilon = 1e-12); [INFO] [stdout] 708 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated constant `preconditioner::approxinv::tests::approxinv_identity`: legacy ApproxInv is deprecated; use preconditioner::approxinv_csr (FsaiCsr/SpaiCsr) or PcType::ApproxInverse [INFO] [stdout] --> src/preconditioner/approxinv.rs:740:5 [INFO] [stdout] | [INFO] [stdout] 740 | / fn approxinv_identity() { [INFO] [stdout] 741 | | // Identity matrix [INFO] [stdout] 742 | | let a = eye::(4); [INFO] [stdout] 743 | | let pattern = SparsityPattern::Manual(vec![vec![0], vec![1], vec![2], vec![3]]); [INFO] [stdout] ... | [INFO] [stdout] 755 | | assert_relative_eq!(x[3], y[3], epsilon = 1e-12); [INFO] [stdout] 756 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated constant `preconditioner::approxinv::tests::debug_faer_lu_inverse_rows`: legacy ApproxInv is deprecated; use preconditioner::approxinv_csr (FsaiCsr/SpaiCsr) or PcType::ApproxInverse [INFO] [stdout] --> src/preconditioner/approxinv.rs:805:5 [INFO] [stdout] | [INFO] [stdout] 805 | / fn debug_faer_lu_inverse_rows() { [INFO] [stdout] 806 | | // Test faer LU for inverting a 2x2 matrix row-wise [INFO] [stdout] 807 | | use faer::linalg::solvers::FullPivLu; [INFO] [stdout] 808 | | use faer::{Mat, MatMut}; [INFO] [stdout] ... | [INFO] [stdout] 828 | | println!("faer LU inverse rows: {:?}", inv); [INFO] [stdout] 829 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated function `matrix::parcsr::builder::partition_rows_size`: Use DistCsrOp::partition_rows_balanced; legacy parcsr partition helpers are compatibility-only and planned for removal after 2026-12-31 [INFO] [stdout] --> src/matrix/parcsr/builder.rs:54:20 [INFO] [stdout] | [INFO] [stdout] 54 | let part = partition_rows_size(8, 4); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated function `matrix::parcsr::builder::partition_rows_size`: Use DistCsrOp::partition_rows_balanced; legacy parcsr partition helpers are compatibility-only and planned for removal after 2026-12-31 [INFO] [stdout] --> src/matrix/parcsr/builder.rs:61:20 [INFO] [stdout] | [INFO] [stdout] 61 | let part = partition_rows_size(10, 3); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated function `matrix::parcsr::builder::partition_rows_size`: Use DistCsrOp::partition_rows_balanced; legacy parcsr partition helpers are compatibility-only and planned for removal after 2026-12-31 [INFO] [stdout] --> src/matrix/parcsr/builder.rs:68:20 [INFO] [stdout] | [INFO] [stdout] 68 | let part = partition_rows_size(0, 4); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated struct `preconditioner::approxinv::ApproxInv`: legacy ApproxInv is deprecated; migrate to approxinv_csr::SpaiCsr/FsaiCsr [INFO] [stdout] --> src/preconditioner/approxinv.rs:111:15 [INFO] [stdout] | [INFO] [stdout] 111 | impl ApproxInv [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated struct `preconditioner::approxinv::ApproxInv`: legacy ApproxInv is deprecated; migrate to approxinv_csr::SpaiCsr/FsaiCsr [INFO] [stdout] --> src/preconditioner/approxinv.rs:174:62 [INFO] [stdout] | [INFO] [stdout] 174 | impl Preconditioner for ApproxInv [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated struct `preconditioner::approxinv::ApproxInv`: legacy ApproxInv is deprecated; migrate to approxinv_csr::SpaiCsr/FsaiCsr [INFO] [stdout] --> src/preconditioner/approxinv.rs:366:74 [INFO] [stdout] | [INFO] [stdout] 366 | impl crate::preconditioner::Preconditioner for ApproxInv, f64> [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated struct `preconditioner::approxinv::ApproxInv`: legacy ApproxInv is deprecated; migrate to approxinv_csr::SpaiCsr/FsaiCsr [INFO] [stdout] --> src/preconditioner/approxinv.rs:699:24 [INFO] [stdout] | [INFO] [stdout] 699 | let mut spai = ApproxInv::, Vec, f64>::new( [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated struct `preconditioner::approxinv::ApproxInv`: legacy ApproxInv is deprecated; migrate to approxinv_csr::SpaiCsr/FsaiCsr [INFO] [stdout] --> src/preconditioner/approxinv.rs:717:24 [INFO] [stdout] | [INFO] [stdout] 717 | let mut spai = ApproxInv::, Vec, f64>::new( [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated struct `preconditioner::approxinv::ApproxInv`: legacy ApproxInv is deprecated; migrate to approxinv_csr::SpaiCsr/FsaiCsr [INFO] [stdout] --> src/preconditioner/approxinv.rs:744:24 [INFO] [stdout] | [INFO] [stdout] 744 | let mut spai = ApproxInv::, Vec, f64>::new( [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated field `matrix::parcsr::mat::ParCsrMatrix::a_diag`: Legacy diag/off storage is compatibility-only; use canonical_dist_op()/DistCsrOp accessors. Planned removal after 2026-12-31 [INFO] [stdout] --> src/matrix/dist_csr.rs:361:42 [INFO] [stdout] | [INFO] [stdout] 361 | let (diag_cols, diag_vals) = par.a_diag.row(i); [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated field `matrix::parcsr::mat::ParCsrMatrix::a_off`: Legacy diag/off storage is compatibility-only; use canonical_dist_op()/DistCsrOp accessors. Planned removal after 2026-12-31 [INFO] [stdout] --> src/matrix/dist_csr.rs:362:40 [INFO] [stdout] | [INFO] [stdout] 362 | let (off_cols, off_vals) = par.a_off.row(i); [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated field `matrix::parcsr::mat::ParCsrMatrix::colmap_owned`: Legacy column maps are compatibility-only; use canonical_dist_op()/DistCsrOp row_partition/layout metadata. Planned removal after 2026-12-31 [INFO] [stdout] --> src/matrix/dist_csr.rs:366:29 [INFO] [stdout] | [INFO] [stdout] 366 | let gcol = *par [INFO] [stdout] | _____________________________^ [INFO] [stdout] 367 | | .colmap_owned [INFO] [stdout] | |_________________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated field `matrix::parcsr::mat::ParCsrMatrix::colmap_ghost`: Legacy column maps are compatibility-only; use canonical_dist_op()/DistCsrOp row_partition/layout metadata. Planned removal after 2026-12-31 [INFO] [stdout] --> src/matrix/dist_csr.rs:373:29 [INFO] [stdout] | [INFO] [stdout] 373 | let gcol = *par [INFO] [stdout] | _____________________________^ [INFO] [stdout] 374 | | .colmap_ghost [INFO] [stdout] | |_________________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated field `matrix::parcsr::mat::ParCsrMatrix::a_diag`: Legacy diag/off storage is compatibility-only; use canonical_dist_op()/DistCsrOp accessors. Planned removal after 2026-12-31 [INFO] [stdout] --> src/matrix/parcsr/mat.rs:121:13 [INFO] [stdout] | [INFO] [stdout] 121 | a_diag, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated field `matrix::parcsr::mat::ParCsrMatrix::a_off`: Legacy diag/off storage is compatibility-only; use canonical_dist_op()/DistCsrOp accessors. Planned removal after 2026-12-31 [INFO] [stdout] --> src/matrix/parcsr/mat.rs:122:13 [INFO] [stdout] | [INFO] [stdout] 122 | a_off, [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated field `matrix::parcsr::mat::ParCsrMatrix::colmap_owned`: Legacy column maps are compatibility-only; use canonical_dist_op()/DistCsrOp row_partition/layout metadata. Planned removal after 2026-12-31 [INFO] [stdout] --> src/matrix/parcsr/mat.rs:123:13 [INFO] [stdout] | [INFO] [stdout] 123 | colmap_owned, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated field `matrix::parcsr::mat::ParCsrMatrix::colmap_ghost`: Legacy column maps are compatibility-only; use canonical_dist_op()/DistCsrOp row_partition/layout metadata. Planned removal after 2026-12-31 [INFO] [stdout] --> src/matrix/parcsr/mat.rs:124:13 [INFO] [stdout] | [INFO] [stdout] 124 | colmap_ghost, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated field `matrix::parcsr::mat::ParCsrMatrix::halo`: Legacy halo internals are compatibility-only; use canonical_dist_op()/DistCsrOp exchange paths. Planned removal after 2026-12-31 [INFO] [stdout] --> src/matrix/parcsr/mat.rs:125:13 [INFO] [stdout] | [INFO] [stdout] 125 | halo, [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated field `matrix::parcsr::mat::ParCsrMatrix::halo`: Legacy halo internals are compatibility-only; use canonical_dist_op()/DistCsrOp exchange paths. Planned removal after 2026-12-31 [INFO] [stdout] --> src/matrix/parcsr/mat.rs:154:10 [INFO] [stdout] | [INFO] [stdout] 154 | &self.halo [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated field `matrix::parcsr::mat::ParCsrMatrix::a_diag`: Legacy diag/off storage is compatibility-only; use canonical_dist_op()/DistCsrOp accessors. Planned removal after 2026-12-31 [INFO] [stdout] --> src/matrix/parcsr/mat.rs:162:10 [INFO] [stdout] | [INFO] [stdout] 162 | &self.a_diag [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated field `matrix::parcsr::mat::ParCsrMatrix::a_off`: Legacy diag/off storage is compatibility-only; use canonical_dist_op()/DistCsrOp accessors. Planned removal after 2026-12-31 [INFO] [stdout] --> src/matrix/parcsr/mat.rs:170:10 [INFO] [stdout] | [INFO] [stdout] 170 | &self.a_off [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable statement [INFO] [stdout] --> src/preconditioner/amg.rs:4286:9 [INFO] [stdout] | [INFO] [stdout] 4282 | / return Err(KError::Unsupported( [INFO] [stdout] 4283 | | "AMG superlu_dist route requires feature superlu_dist".into(), [INFO] [stdout] 4284 | | )); [INFO] [stdout] | |______________- any code following this expression is unreachable [INFO] [stdout] 4285 | } [INFO] [stdout] 4286 | / if let (Some(stats), Some(t0)) = (stats.as_mut(), t_local) { [INFO] [stdout] 4287 | | stats.local_apply = toc(t0); [INFO] [stdout] 4288 | | } [INFO] [stdout] | |_________^ unreachable statement [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated field `preconditioner::approxinv::ApproxInv::pattern`: legacy ApproxInv is deprecated; migrate to approxinv_csr::SpaiCsr/FsaiCsr [INFO] [stdout] --> src/preconditioner/approxinv.rs:136:13 [INFO] [stdout] | [INFO] [stdout] 136 | pattern, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated field `preconditioner::approxinv::ApproxInv::tol`: legacy ApproxInv is deprecated; migrate to approxinv_csr::SpaiCsr/FsaiCsr [INFO] [stdout] --> src/preconditioner/approxinv.rs:137:13 [INFO] [stdout] | [INFO] [stdout] 137 | tol, [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated field `preconditioner::approxinv::ApproxInv::max_iter`: legacy ApproxInv is deprecated; migrate to approxinv_csr::SpaiCsr/FsaiCsr [INFO] [stdout] --> src/preconditioner/approxinv.rs:138:13 [INFO] [stdout] | [INFO] [stdout] 138 | max_iter, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated field `preconditioner::approxinv::ApproxInv::nbsteps`: legacy ApproxInv is deprecated; migrate to approxinv_csr::SpaiCsr/FsaiCsr [INFO] [stdout] --> src/preconditioner/approxinv.rs:139:13 [INFO] [stdout] | [INFO] [stdout] 139 | nbsteps, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated field `preconditioner::approxinv::ApproxInv::max_size`: legacy ApproxInv is deprecated; migrate to approxinv_csr::SpaiCsr/FsaiCsr [INFO] [stdout] --> src/preconditioner/approxinv.rs:140:13 [INFO] [stdout] | [INFO] [stdout] 140 | max_size, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated field `preconditioner::approxinv::ApproxInv::max_new`: legacy ApproxInv is deprecated; migrate to approxinv_csr::SpaiCsr/FsaiCsr [INFO] [stdout] --> src/preconditioner/approxinv.rs:141:13 [INFO] [stdout] | [INFO] [stdout] 141 | max_new, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated field `preconditioner::approxinv::ApproxInv::block_size`: legacy ApproxInv is deprecated; migrate to approxinv_csr::SpaiCsr/FsaiCsr [INFO] [stdout] --> src/preconditioner/approxinv.rs:142:13 [INFO] [stdout] | [INFO] [stdout] 142 | block_size, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated field `preconditioner::approxinv::ApproxInv::cache_size`: legacy ApproxInv is deprecated; migrate to approxinv_csr::SpaiCsr/FsaiCsr [INFO] [stdout] --> src/preconditioner/approxinv.rs:143:13 [INFO] [stdout] | [INFO] [stdout] 143 | cache_size, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated field `preconditioner::approxinv::ApproxInv::verbose`: legacy ApproxInv is deprecated; migrate to approxinv_csr::SpaiCsr/FsaiCsr [INFO] [stdout] --> src/preconditioner/approxinv.rs:144:13 [INFO] [stdout] | [INFO] [stdout] 144 | verbose, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated field `preconditioner::approxinv::ApproxInv::sp`: legacy ApproxInv is deprecated; migrate to approxinv_csr::SpaiCsr/FsaiCsr [INFO] [stdout] --> src/preconditioner/approxinv.rs:145:13 [INFO] [stdout] | [INFO] [stdout] 145 | sp, [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated field `preconditioner::approxinv::ApproxInv::inv_rows`: legacy ApproxInv is deprecated; migrate to approxinv_csr::SpaiCsr/FsaiCsr [INFO] [stdout] --> src/preconditioner/approxinv.rs:146:13 [INFO] [stdout] | [INFO] [stdout] 146 | inv_rows: Vec::new(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated field `preconditioner::approxinv::ApproxInv::a`: legacy ApproxInv is deprecated; migrate to approxinv_csr::SpaiCsr/FsaiCsr [INFO] [stdout] --> src/preconditioner/approxinv.rs:147:13 [INFO] [stdout] | [INFO] [stdout] 147 | a: None, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated field `preconditioner::approxinv::ApproxInv::csr`: legacy ApproxInv is deprecated; migrate to approxinv_csr::SpaiCsr/FsaiCsr [INFO] [stdout] --> src/preconditioner/approxinv.rs:148:13 [INFO] [stdout] | [INFO] [stdout] 148 | csr: None, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated field `preconditioner::approxinv::ApproxInv::last_sid`: legacy ApproxInv is deprecated; migrate to approxinv_csr::SpaiCsr/FsaiCsr [INFO] [stdout] --> src/preconditioner/approxinv.rs:149:13 [INFO] [stdout] | [INFO] [stdout] 149 | last_sid: None, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated field `preconditioner::approxinv::ApproxInv::last_vid`: legacy ApproxInv is deprecated; migrate to approxinv_csr::SpaiCsr/FsaiCsr [INFO] [stdout] --> src/preconditioner/approxinv.rs:150:13 [INFO] [stdout] | [INFO] [stdout] 150 | last_vid: None, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated field `preconditioner::approxinv::ApproxInv::drop_tol`: legacy ApproxInv is deprecated; migrate to approxinv_csr::SpaiCsr/FsaiCsr [INFO] [stdout] --> src/preconditioner/approxinv.rs:151:13 [INFO] [stdout] | [INFO] [stdout] 151 | drop_tol: 1e-12, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated field `preconditioner::approxinv::ApproxInv::_phantom`: legacy ApproxInv is deprecated; migrate to approxinv_csr::SpaiCsr/FsaiCsr [INFO] [stdout] --> src/preconditioner/approxinv.rs:158:13 [INFO] [stdout] | [INFO] [stdout] 158 | _phantom: PhantomData, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated field `preconditioner::approxinv::ApproxInv::pattern`: legacy ApproxInv is deprecated; migrate to approxinv_csr::SpaiCsr/FsaiCsr [INFO] [stdout] --> src/preconditioner/approxinv.rs:186:24 [INFO] [stdout] | [INFO] [stdout] 186 | let n = match &self.pattern { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated field `preconditioner::approxinv::ApproxInv::pattern`: legacy ApproxInv is deprecated; migrate to approxinv_csr::SpaiCsr/FsaiCsr [INFO] [stdout] --> src/preconditioner/approxinv.rs:203:46 [INFO] [stdout] | [INFO] [stdout] 203 | let pattern: Vec = match &self.pattern { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated field `preconditioner::approxinv::ApproxInv::tol`: legacy ApproxInv is deprecated; migrate to approxinv_csr::SpaiCsr/FsaiCsr [INFO] [stdout] --> src/preconditioner/approxinv.rs:281:38 [INFO] [stdout] | [INFO] [stdout] 281 | if pivot.abs() < self.tol { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated field `preconditioner::approxinv::ApproxInv::tol`: legacy ApproxInv is deprecated; migrate to approxinv_csr::SpaiCsr/FsaiCsr [INFO] [stdout] --> src/preconditioner/approxinv.rs:299:38 [INFO] [stdout] | [INFO] [stdout] 299 | if pivot.abs() < self.tol { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated field `preconditioner::approxinv::ApproxInv::inv_rows`: legacy ApproxInv is deprecated; migrate to approxinv_csr::SpaiCsr/FsaiCsr [INFO] [stdout] --> src/preconditioner/approxinv.rs:318:9 [INFO] [stdout] | [INFO] [stdout] 318 | self.inv_rows = vec![vec![]; n]; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated field `preconditioner::approxinv::ApproxInv::tol`: legacy ApproxInv is deprecated; migrate to approxinv_csr::SpaiCsr/FsaiCsr [INFO] [stdout] --> src/preconditioner/approxinv.rs:321:39 [INFO] [stdout] | [INFO] [stdout] 321 | if cols[j][i].abs() > self.tol { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated field `preconditioner::approxinv::ApproxInv::inv_rows`: legacy ApproxInv is deprecated; migrate to approxinv_csr::SpaiCsr/FsaiCsr [INFO] [stdout] --> src/preconditioner/approxinv.rs:322:21 [INFO] [stdout] | [INFO] [stdout] 322 | self.inv_rows[i].push((j, cols[j][i])); [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated field `preconditioner::approxinv::ApproxInv::inv_rows`: legacy ApproxInv is deprecated; migrate to approxinv_csr::SpaiCsr/FsaiCsr [INFO] [stdout] --> src/preconditioner/approxinv.rs:344:35 [INFO] [stdout] | [INFO] [stdout] 344 | for &(j, mij) in &self.inv_rows[i] { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated field `preconditioner::approxinv::ApproxInv::drop_tol`: legacy ApproxInv is deprecated; migrate to approxinv_csr::SpaiCsr/FsaiCsr [INFO] [stdout] --> src/preconditioner/approxinv.rs:372:38 [INFO] [stdout] | [INFO] [stdout] 372 | let csr = csr_from_linop(op, self.drop_tol)?; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated field `preconditioner::approxinv::ApproxInv::last_sid`: legacy ApproxInv is deprecated; migrate to approxinv_csr::SpaiCsr/FsaiCsr [INFO] [stdout] --> src/preconditioner/approxinv.rs:377:12 [INFO] [stdout] | [INFO] [stdout] 377 | if self.last_sid.is_none() || self.last_sid != Some(sid) || self.last_vid != Some(vid) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated field `preconditioner::approxinv::ApproxInv::last_sid`: legacy ApproxInv is deprecated; migrate to approxinv_csr::SpaiCsr/FsaiCsr [INFO] [stdout] --> src/preconditioner/approxinv.rs:377:39 [INFO] [stdout] | [INFO] [stdout] 377 | if self.last_sid.is_none() || self.last_sid != Some(sid) || self.last_vid != Some(vid) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated field `preconditioner::approxinv::ApproxInv::last_vid`: legacy ApproxInv is deprecated; migrate to approxinv_csr::SpaiCsr/FsaiCsr [INFO] [stdout] --> src/preconditioner/approxinv.rs:377:69 [INFO] [stdout] | [INFO] [stdout] 377 | if self.last_sid.is_none() || self.last_sid != Some(sid) || self.last_vid != Some(vid) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated field `preconditioner::approxinv::ApproxInv::pattern`: legacy ApproxInv is deprecated; migrate to approxinv_csr::SpaiCsr/FsaiCsr [INFO] [stdout] --> src/preconditioner/approxinv.rs:383:37 [INFO] [stdout] | [INFO] [stdout] 383 | let n_expected = match &self.pattern { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated field `preconditioner::approxinv::ApproxInv::pattern`: legacy ApproxInv is deprecated; migrate to approxinv_csr::SpaiCsr/FsaiCsr [INFO] [stdout] --> src/preconditioner/approxinv.rs:389:54 [INFO] [stdout] | [INFO] [stdout] 389 | if let SparsityPattern::Manual(_) = &self.pattern { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated field `preconditioner::approxinv::ApproxInv::pattern`: legacy ApproxInv is deprecated; migrate to approxinv_csr::SpaiCsr/FsaiCsr [INFO] [stdout] --> src/preconditioner/approxinv.rs:399:54 [INFO] [stdout] | [INFO] [stdout] 399 | let pattern_idx: Vec = match &self.pattern { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated field `preconditioner::approxinv::ApproxInv::inv_rows`: legacy ApproxInv is deprecated; migrate to approxinv_csr::SpaiCsr/FsaiCsr [INFO] [stdout] --> src/preconditioner/approxinv.rs:443:13 [INFO] [stdout] | [INFO] [stdout] 443 | self.inv_rows = vec![vec![]; n]; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated field `preconditioner::approxinv::ApproxInv::tol`: legacy ApproxInv is deprecated; migrate to approxinv_csr::SpaiCsr/FsaiCsr [INFO] [stdout] --> src/preconditioner/approxinv.rs:446:43 [INFO] [stdout] | [INFO] [stdout] 446 | if cols[j][i].abs() > self.tol { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated field `preconditioner::approxinv::ApproxInv::inv_rows`: legacy ApproxInv is deprecated; migrate to approxinv_csr::SpaiCsr/FsaiCsr [INFO] [stdout] --> src/preconditioner/approxinv.rs:447:25 [INFO] [stdout] | [INFO] [stdout] 447 | self.inv_rows[i].push((j, cols[j][i])); [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated field `preconditioner::approxinv::ApproxInv::csr`: legacy ApproxInv is deprecated; migrate to approxinv_csr::SpaiCsr/FsaiCsr [INFO] [stdout] --> src/preconditioner/approxinv.rs:453:13 [INFO] [stdout] | [INFO] [stdout] 453 | self.csr = Some(csr); [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated field `preconditioner::approxinv::ApproxInv::last_sid`: legacy ApproxInv is deprecated; migrate to approxinv_csr::SpaiCsr/FsaiCsr [INFO] [stdout] --> src/preconditioner/approxinv.rs:454:13 [INFO] [stdout] | [INFO] [stdout] 454 | self.last_sid = Some(sid); [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated field `preconditioner::approxinv::ApproxInv::last_vid`: legacy ApproxInv is deprecated; migrate to approxinv_csr::SpaiCsr/FsaiCsr [INFO] [stdout] --> src/preconditioner/approxinv.rs:455:13 [INFO] [stdout] | [INFO] [stdout] 455 | self.last_vid = Some(vid); [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated field `preconditioner::approxinv::ApproxInv::inv_rows`: legacy ApproxInv is deprecated; migrate to approxinv_csr::SpaiCsr/FsaiCsr [INFO] [stdout] --> src/preconditioner/approxinv.rs:483:35 [INFO] [stdout] | [INFO] [stdout] 483 | for &(j, val) in &self.inv_rows[i] { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated field `matrix::parcsr::mat::ParCsrMatrix::a_diag`: Legacy diag/off storage is compatibility-only; use canonical_dist_op()/DistCsrOp accessors. Planned removal after 2026-12-31 [INFO] [stdout] --> src/matrix/dist_csr.rs:361:42 [INFO] [stdout] | [INFO] [stdout] 361 | let (diag_cols, diag_vals) = par.a_diag.row(i); [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated field `matrix::parcsr::mat::ParCsrMatrix::a_off`: Legacy diag/off storage is compatibility-only; use canonical_dist_op()/DistCsrOp accessors. Planned removal after 2026-12-31 [INFO] [stdout] --> src/matrix/dist_csr.rs:362:40 [INFO] [stdout] | [INFO] [stdout] 362 | let (off_cols, off_vals) = par.a_off.row(i); [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated field `matrix::parcsr::mat::ParCsrMatrix::colmap_owned`: Legacy column maps are compatibility-only; use canonical_dist_op()/DistCsrOp row_partition/layout metadata. Planned removal after 2026-12-31 [INFO] [stdout] --> src/matrix/dist_csr.rs:366:29 [INFO] [stdout] | [INFO] [stdout] 366 | let gcol = *par [INFO] [stdout] | _____________________________^ [INFO] [stdout] 367 | | .colmap_owned [INFO] [stdout] | |_________________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated field `matrix::parcsr::mat::ParCsrMatrix::colmap_ghost`: Legacy column maps are compatibility-only; use canonical_dist_op()/DistCsrOp row_partition/layout metadata. Planned removal after 2026-12-31 [INFO] [stdout] --> src/matrix/dist_csr.rs:373:29 [INFO] [stdout] | [INFO] [stdout] 373 | let gcol = *par [INFO] [stdout] | _____________________________^ [INFO] [stdout] 374 | | .colmap_ghost [INFO] [stdout] | |_________________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated field `matrix::parcsr::mat::ParCsrMatrix::a_diag`: Legacy diag/off storage is compatibility-only; use canonical_dist_op()/DistCsrOp accessors. Planned removal after 2026-12-31 [INFO] [stdout] --> src/matrix/parcsr/mat.rs:121:13 [INFO] [stdout] | [INFO] [stdout] 121 | a_diag, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated field `matrix::parcsr::mat::ParCsrMatrix::a_off`: Legacy diag/off storage is compatibility-only; use canonical_dist_op()/DistCsrOp accessors. Planned removal after 2026-12-31 [INFO] [stdout] --> src/matrix/parcsr/mat.rs:122:13 [INFO] [stdout] | [INFO] [stdout] 122 | a_off, [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated field `matrix::parcsr::mat::ParCsrMatrix::colmap_owned`: Legacy column maps are compatibility-only; use canonical_dist_op()/DistCsrOp row_partition/layout metadata. Planned removal after 2026-12-31 [INFO] [stdout] --> src/matrix/parcsr/mat.rs:123:13 [INFO] [stdout] | [INFO] [stdout] 123 | colmap_owned, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated field `matrix::parcsr::mat::ParCsrMatrix::colmap_ghost`: Legacy column maps are compatibility-only; use canonical_dist_op()/DistCsrOp row_partition/layout metadata. Planned removal after 2026-12-31 [INFO] [stdout] --> src/matrix/parcsr/mat.rs:124:13 [INFO] [stdout] | [INFO] [stdout] 124 | colmap_ghost, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated field `matrix::parcsr::mat::ParCsrMatrix::halo`: Legacy halo internals are compatibility-only; use canonical_dist_op()/DistCsrOp exchange paths. Planned removal after 2026-12-31 [INFO] [stdout] --> src/matrix/parcsr/mat.rs:125:13 [INFO] [stdout] | [INFO] [stdout] 125 | halo, [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated field `matrix::parcsr::mat::ParCsrMatrix::halo`: Legacy halo internals are compatibility-only; use canonical_dist_op()/DistCsrOp exchange paths. Planned removal after 2026-12-31 [INFO] [stdout] --> src/matrix/parcsr/mat.rs:154:10 [INFO] [stdout] | [INFO] [stdout] 154 | &self.halo [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated field `matrix::parcsr::mat::ParCsrMatrix::a_diag`: Legacy diag/off storage is compatibility-only; use canonical_dist_op()/DistCsrOp accessors. Planned removal after 2026-12-31 [INFO] [stdout] --> src/matrix/parcsr/mat.rs:162:10 [INFO] [stdout] | [INFO] [stdout] 162 | &self.a_diag [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated field `matrix::parcsr::mat::ParCsrMatrix::a_off`: Legacy diag/off storage is compatibility-only; use canonical_dist_op()/DistCsrOp accessors. Planned removal after 2026-12-31 [INFO] [stdout] --> src/matrix/parcsr/mat.rs:170:10 [INFO] [stdout] | [INFO] [stdout] 170 | &self.a_off [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated field `matrix::parcsr::mat::ParCsrMatrix::a_diag`: Legacy diag/off storage is compatibility-only; use canonical_dist_op()/DistCsrOp accessors. Planned removal after 2026-12-31 [INFO] [stdout] --> src/matrix/parcsr/mat.rs:226:13 [INFO] [stdout] | [INFO] [stdout] 226 | a_diag, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated field `matrix::parcsr::mat::ParCsrMatrix::a_off`: Legacy diag/off storage is compatibility-only; use canonical_dist_op()/DistCsrOp accessors. Planned removal after 2026-12-31 [INFO] [stdout] --> src/matrix/parcsr/mat.rs:227:13 [INFO] [stdout] | [INFO] [stdout] 227 | a_off, [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated field `matrix::parcsr::mat::ParCsrMatrix::colmap_owned`: Legacy column maps are compatibility-only; use canonical_dist_op()/DistCsrOp row_partition/layout metadata. Planned removal after 2026-12-31 [INFO] [stdout] --> src/matrix/parcsr/mat.rs:228:13 [INFO] [stdout] | [INFO] [stdout] 228 | colmap_owned: vec![0, 1], [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated field `matrix::parcsr::mat::ParCsrMatrix::colmap_ghost`: Legacy column maps are compatibility-only; use canonical_dist_op()/DistCsrOp row_partition/layout metadata. Planned removal after 2026-12-31 [INFO] [stdout] --> src/matrix/parcsr/mat.rs:229:13 [INFO] [stdout] | [INFO] [stdout] 229 | colmap_ghost: Vec::new(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated field `matrix::parcsr::mat::ParCsrMatrix::halo`: Legacy halo internals are compatibility-only; use canonical_dist_op()/DistCsrOp exchange paths. Planned removal after 2026-12-31 [INFO] [stdout] --> src/matrix/parcsr/mat.rs:230:13 [INFO] [stdout] | [INFO] [stdout] 230 | halo, [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable expression [INFO] [stdout] --> src/preconditioner/jacobi.rs:160:9 [INFO] [stdout] | [INFO] [stdout] 158 | return Ok(()); [INFO] [stdout] | ------------- any code following this expression is unreachable [INFO] [stdout] 159 | } [INFO] [stdout] 160 | Err(KError::InvalidInput("Jacobi needs Dense or CSR".into())) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unreachable expression [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable statement [INFO] [stdout] --> src/preconditioner/amg.rs:4286:9 [INFO] [stdout] | [INFO] [stdout] 4282 | / return Err(KError::Unsupported( [INFO] [stdout] 4283 | | "AMG superlu_dist route requires feature superlu_dist".into(), [INFO] [stdout] 4284 | | )); [INFO] [stdout] | |______________- any code following this expression is unreachable [INFO] [stdout] 4285 | } [INFO] [stdout] 4286 | / if let (Some(stats), Some(t0)) = (stats.as_mut(), t_local) { [INFO] [stdout] 4287 | | stats.local_apply = toc(t0); [INFO] [stdout] 4288 | | } [INFO] [stdout] | |_________^ unreachable statement [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated field `preconditioner::approxinv::ApproxInv::pattern`: legacy ApproxInv is deprecated; migrate to approxinv_csr::SpaiCsr/FsaiCsr [INFO] [stdout] --> src/preconditioner/approxinv.rs:136:13 [INFO] [stdout] | [INFO] [stdout] 136 | pattern, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated field `preconditioner::approxinv::ApproxInv::tol`: legacy ApproxInv is deprecated; migrate to approxinv_csr::SpaiCsr/FsaiCsr [INFO] [stdout] --> src/preconditioner/approxinv.rs:137:13 [INFO] [stdout] | [INFO] [stdout] 137 | tol, [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated field `preconditioner::approxinv::ApproxInv::max_iter`: legacy ApproxInv is deprecated; migrate to approxinv_csr::SpaiCsr/FsaiCsr [INFO] [stdout] --> src/preconditioner/approxinv.rs:138:13 [INFO] [stdout] | [INFO] [stdout] 138 | max_iter, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated field `preconditioner::approxinv::ApproxInv::nbsteps`: legacy ApproxInv is deprecated; migrate to approxinv_csr::SpaiCsr/FsaiCsr [INFO] [stdout] --> src/preconditioner/approxinv.rs:139:13 [INFO] [stdout] | [INFO] [stdout] 139 | nbsteps, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated field `preconditioner::approxinv::ApproxInv::max_size`: legacy ApproxInv is deprecated; migrate to approxinv_csr::SpaiCsr/FsaiCsr [INFO] [stdout] --> src/preconditioner/approxinv.rs:140:13 [INFO] [stdout] | [INFO] [stdout] 140 | max_size, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated field `preconditioner::approxinv::ApproxInv::max_new`: legacy ApproxInv is deprecated; migrate to approxinv_csr::SpaiCsr/FsaiCsr [INFO] [stdout] --> src/preconditioner/approxinv.rs:141:13 [INFO] [stdout] | [INFO] [stdout] 141 | max_new, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated field `preconditioner::approxinv::ApproxInv::block_size`: legacy ApproxInv is deprecated; migrate to approxinv_csr::SpaiCsr/FsaiCsr [INFO] [stdout] --> src/preconditioner/approxinv.rs:142:13 [INFO] [stdout] | [INFO] [stdout] 142 | block_size, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated field `preconditioner::approxinv::ApproxInv::cache_size`: legacy ApproxInv is deprecated; migrate to approxinv_csr::SpaiCsr/FsaiCsr [INFO] [stdout] --> src/preconditioner/approxinv.rs:143:13 [INFO] [stdout] | [INFO] [stdout] 143 | cache_size, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated field `preconditioner::approxinv::ApproxInv::verbose`: legacy ApproxInv is deprecated; migrate to approxinv_csr::SpaiCsr/FsaiCsr [INFO] [stdout] --> src/preconditioner/approxinv.rs:144:13 [INFO] [stdout] | [INFO] [stdout] 144 | verbose, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated field `preconditioner::approxinv::ApproxInv::sp`: legacy ApproxInv is deprecated; migrate to approxinv_csr::SpaiCsr/FsaiCsr [INFO] [stdout] --> src/preconditioner/approxinv.rs:145:13 [INFO] [stdout] | [INFO] [stdout] 145 | sp, [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated field `preconditioner::approxinv::ApproxInv::inv_rows`: legacy ApproxInv is deprecated; migrate to approxinv_csr::SpaiCsr/FsaiCsr [INFO] [stdout] --> src/preconditioner/approxinv.rs:146:13 [INFO] [stdout] | [INFO] [stdout] 146 | inv_rows: Vec::new(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated field `preconditioner::approxinv::ApproxInv::a`: legacy ApproxInv is deprecated; migrate to approxinv_csr::SpaiCsr/FsaiCsr [INFO] [stdout] --> src/preconditioner/approxinv.rs:147:13 [INFO] [stdout] | [INFO] [stdout] 147 | a: None, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated field `preconditioner::approxinv::ApproxInv::csr`: legacy ApproxInv is deprecated; migrate to approxinv_csr::SpaiCsr/FsaiCsr [INFO] [stdout] --> src/preconditioner/approxinv.rs:148:13 [INFO] [stdout] | [INFO] [stdout] 148 | csr: None, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated field `preconditioner::approxinv::ApproxInv::last_sid`: legacy ApproxInv is deprecated; migrate to approxinv_csr::SpaiCsr/FsaiCsr [INFO] [stdout] --> src/preconditioner/approxinv.rs:149:13 [INFO] [stdout] | [INFO] [stdout] 149 | last_sid: None, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated field `preconditioner::approxinv::ApproxInv::last_vid`: legacy ApproxInv is deprecated; migrate to approxinv_csr::SpaiCsr/FsaiCsr [INFO] [stdout] --> src/preconditioner/approxinv.rs:150:13 [INFO] [stdout] | [INFO] [stdout] 150 | last_vid: None, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated field `preconditioner::approxinv::ApproxInv::drop_tol`: legacy ApproxInv is deprecated; migrate to approxinv_csr::SpaiCsr/FsaiCsr [INFO] [stdout] --> src/preconditioner/approxinv.rs:151:13 [INFO] [stdout] | [INFO] [stdout] 151 | drop_tol: 1e-12, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated field `preconditioner::approxinv::ApproxInv::_phantom`: legacy ApproxInv is deprecated; migrate to approxinv_csr::SpaiCsr/FsaiCsr [INFO] [stdout] --> src/preconditioner/approxinv.rs:158:13 [INFO] [stdout] | [INFO] [stdout] 158 | _phantom: PhantomData, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated field `preconditioner::approxinv::ApproxInv::pattern`: legacy ApproxInv is deprecated; migrate to approxinv_csr::SpaiCsr/FsaiCsr [INFO] [stdout] --> src/preconditioner/approxinv.rs:186:24 [INFO] [stdout] | [INFO] [stdout] 186 | let n = match &self.pattern { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated field `preconditioner::approxinv::ApproxInv::pattern`: legacy ApproxInv is deprecated; migrate to approxinv_csr::SpaiCsr/FsaiCsr [INFO] [stdout] --> src/preconditioner/approxinv.rs:203:46 [INFO] [stdout] | [INFO] [stdout] 203 | let pattern: Vec = match &self.pattern { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated field `preconditioner::approxinv::ApproxInv::tol`: legacy ApproxInv is deprecated; migrate to approxinv_csr::SpaiCsr/FsaiCsr [INFO] [stdout] --> src/preconditioner/approxinv.rs:281:38 [INFO] [stdout] | [INFO] [stdout] 281 | if pivot.abs() < self.tol { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated field `preconditioner::approxinv::ApproxInv::tol`: legacy ApproxInv is deprecated; migrate to approxinv_csr::SpaiCsr/FsaiCsr [INFO] [stdout] --> src/preconditioner/approxinv.rs:299:38 [INFO] [stdout] | [INFO] [stdout] 299 | if pivot.abs() < self.tol { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated field `preconditioner::approxinv::ApproxInv::inv_rows`: legacy ApproxInv is deprecated; migrate to approxinv_csr::SpaiCsr/FsaiCsr [INFO] [stdout] --> src/preconditioner/approxinv.rs:318:9 [INFO] [stdout] | [INFO] [stdout] 318 | self.inv_rows = vec![vec![]; n]; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated field `preconditioner::approxinv::ApproxInv::tol`: legacy ApproxInv is deprecated; migrate to approxinv_csr::SpaiCsr/FsaiCsr [INFO] [stdout] --> src/preconditioner/approxinv.rs:321:39 [INFO] [stdout] | [INFO] [stdout] 321 | if cols[j][i].abs() > self.tol { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated field `preconditioner::approxinv::ApproxInv::inv_rows`: legacy ApproxInv is deprecated; migrate to approxinv_csr::SpaiCsr/FsaiCsr [INFO] [stdout] --> src/preconditioner/approxinv.rs:322:21 [INFO] [stdout] | [INFO] [stdout] 322 | self.inv_rows[i].push((j, cols[j][i])); [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated field `preconditioner::approxinv::ApproxInv::inv_rows`: legacy ApproxInv is deprecated; migrate to approxinv_csr::SpaiCsr/FsaiCsr [INFO] [stdout] --> src/preconditioner/approxinv.rs:344:35 [INFO] [stdout] | [INFO] [stdout] 344 | for &(j, mij) in &self.inv_rows[i] { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated field `preconditioner::approxinv::ApproxInv::drop_tol`: legacy ApproxInv is deprecated; migrate to approxinv_csr::SpaiCsr/FsaiCsr [INFO] [stdout] --> src/preconditioner/approxinv.rs:372:38 [INFO] [stdout] | [INFO] [stdout] 372 | let csr = csr_from_linop(op, self.drop_tol)?; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated field `preconditioner::approxinv::ApproxInv::last_sid`: legacy ApproxInv is deprecated; migrate to approxinv_csr::SpaiCsr/FsaiCsr [INFO] [stdout] --> src/preconditioner/approxinv.rs:377:12 [INFO] [stdout] | [INFO] [stdout] 377 | if self.last_sid.is_none() || self.last_sid != Some(sid) || self.last_vid != Some(vid) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated field `preconditioner::approxinv::ApproxInv::last_sid`: legacy ApproxInv is deprecated; migrate to approxinv_csr::SpaiCsr/FsaiCsr [INFO] [stdout] --> src/preconditioner/approxinv.rs:377:39 [INFO] [stdout] | [INFO] [stdout] 377 | if self.last_sid.is_none() || self.last_sid != Some(sid) || self.last_vid != Some(vid) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated field `preconditioner::approxinv::ApproxInv::last_vid`: legacy ApproxInv is deprecated; migrate to approxinv_csr::SpaiCsr/FsaiCsr [INFO] [stdout] --> src/preconditioner/approxinv.rs:377:69 [INFO] [stdout] | [INFO] [stdout] 377 | if self.last_sid.is_none() || self.last_sid != Some(sid) || self.last_vid != Some(vid) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated field `preconditioner::approxinv::ApproxInv::pattern`: legacy ApproxInv is deprecated; migrate to approxinv_csr::SpaiCsr/FsaiCsr [INFO] [stdout] --> src/preconditioner/approxinv.rs:383:37 [INFO] [stdout] | [INFO] [stdout] 383 | let n_expected = match &self.pattern { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated field `preconditioner::approxinv::ApproxInv::pattern`: legacy ApproxInv is deprecated; migrate to approxinv_csr::SpaiCsr/FsaiCsr [INFO] [stdout] --> src/preconditioner/approxinv.rs:389:54 [INFO] [stdout] | [INFO] [stdout] 389 | if let SparsityPattern::Manual(_) = &self.pattern { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated field `preconditioner::approxinv::ApproxInv::pattern`: legacy ApproxInv is deprecated; migrate to approxinv_csr::SpaiCsr/FsaiCsr [INFO] [stdout] --> src/preconditioner/approxinv.rs:399:54 [INFO] [stdout] | [INFO] [stdout] 399 | let pattern_idx: Vec = match &self.pattern { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated field `preconditioner::approxinv::ApproxInv::inv_rows`: legacy ApproxInv is deprecated; migrate to approxinv_csr::SpaiCsr/FsaiCsr [INFO] [stdout] --> src/preconditioner/approxinv.rs:443:13 [INFO] [stdout] | [INFO] [stdout] 443 | self.inv_rows = vec![vec![]; n]; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated field `preconditioner::approxinv::ApproxInv::tol`: legacy ApproxInv is deprecated; migrate to approxinv_csr::SpaiCsr/FsaiCsr [INFO] [stdout] --> src/preconditioner/approxinv.rs:446:43 [INFO] [stdout] | [INFO] [stdout] 446 | if cols[j][i].abs() > self.tol { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated field `preconditioner::approxinv::ApproxInv::inv_rows`: legacy ApproxInv is deprecated; migrate to approxinv_csr::SpaiCsr/FsaiCsr [INFO] [stdout] --> src/preconditioner/approxinv.rs:447:25 [INFO] [stdout] | [INFO] [stdout] 447 | self.inv_rows[i].push((j, cols[j][i])); [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated field `preconditioner::approxinv::ApproxInv::csr`: legacy ApproxInv is deprecated; migrate to approxinv_csr::SpaiCsr/FsaiCsr [INFO] [stdout] --> src/preconditioner/approxinv.rs:453:13 [INFO] [stdout] | [INFO] [stdout] 453 | self.csr = Some(csr); [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated field `preconditioner::approxinv::ApproxInv::last_sid`: legacy ApproxInv is deprecated; migrate to approxinv_csr::SpaiCsr/FsaiCsr [INFO] [stdout] --> src/preconditioner/approxinv.rs:454:13 [INFO] [stdout] | [INFO] [stdout] 454 | self.last_sid = Some(sid); [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated field `preconditioner::approxinv::ApproxInv::last_vid`: legacy ApproxInv is deprecated; migrate to approxinv_csr::SpaiCsr/FsaiCsr [INFO] [stdout] --> src/preconditioner/approxinv.rs:455:13 [INFO] [stdout] | [INFO] [stdout] 455 | self.last_vid = Some(vid); [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated field `preconditioner::approxinv::ApproxInv::inv_rows`: legacy ApproxInv is deprecated; migrate to approxinv_csr::SpaiCsr/FsaiCsr [INFO] [stdout] --> src/preconditioner/approxinv.rs:483:35 [INFO] [stdout] | [INFO] [stdout] 483 | for &(j, val) in &self.inv_rows[i] { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `preconditioner::approxinv::ApproxInv::::new`: legacy ApproxInv is deprecated; migrate to approxinv_csr::SpaiCsr/FsaiCsr [INFO] [stdout] --> src/preconditioner/approxinv.rs:699:67 [INFO] [stdout] | [INFO] [stdout] 699 | let mut spai = ApproxInv::, Vec, f64>::new( [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated field `preconditioner::approxinv::ApproxInv::inv_rows`: legacy ApproxInv is deprecated; migrate to approxinv_csr::SpaiCsr/FsaiCsr [INFO] [stdout] --> src/preconditioner/approxinv.rs:704:20 [INFO] [stdout] | [INFO] [stdout] 704 | let inv = &spai.inv_rows; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `preconditioner::approxinv::ApproxInv::::new`: legacy ApproxInv is deprecated; migrate to approxinv_csr::SpaiCsr/FsaiCsr [INFO] [stdout] --> src/preconditioner/approxinv.rs:717:67 [INFO] [stdout] | [INFO] [stdout] 717 | let mut spai = ApproxInv::, Vec, f64>::new( [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `preconditioner::approxinv::ApproxInv::::new`: legacy ApproxInv is deprecated; migrate to approxinv_csr::SpaiCsr/FsaiCsr [INFO] [stdout] --> src/preconditioner/approxinv.rs:744:67 [INFO] [stdout] | [INFO] [stdout] 744 | let mut spai = ApproxInv::, Vec, f64>::new( [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `sum_h2` is never read [INFO] [stdout] --> src/context/ksp_context/workspace.rs:634:13 [INFO] [stdout] | [INFO] [stdout] 634 | sum_h2 = R::zero(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `sum_h2` is never read [INFO] [stdout] --> src/context/ksp_context/workspace.rs:637:17 [INFO] [stdout] | [INFO] [stdout] 637 | sum_h2 += hij * hij; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `rows` is never read [INFO] [stdout] --> src/matrix/op_bridge.rs:31:9 [INFO] [stdout] | [INFO] [stdout] 31 | rows = y.len(); [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `cols` is never read [INFO] [stdout] --> src/matrix/op_bridge.rs:36:9 [INFO] [stdout] | [INFO] [stdout] 36 | cols = x.len(); [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/parallel/mod.rs:411:13 [INFO] [stdout] | [INFO] [stdout] 411 | _ => false, [INFO] [stdout] | ^ no value can reach this [INFO] [stdout] | [INFO] [stdout] note: multiple earlier patterns match some of the same values [INFO] [stdout] --> src/parallel/mod.rs:411:13 [INFO] [stdout] | [INFO] [stdout] 403 | (UniverseComm::NoComm(_), UniverseComm::NoComm(_)) => true, [INFO] [stdout] | -------------------------------------------------- matches some of the same values [INFO] [stdout] 404 | (UniverseComm::NoComm(_), _) | (_, UniverseComm::NoComm(_)) => false, [INFO] [stdout] | ----------------------------------------------------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 408 | (UniverseComm::Rayon(a), UniverseComm::Rayon(b)) => a.congruent(b), [INFO] [stdout] | ------------------------------------------------ matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 411 | _ => false, [INFO] [stdout] | ^ collectively making this unreachable [INFO] [stdout] = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable expression [INFO] [stdout] --> src/preconditioner/jacobi.rs:160:9 [INFO] [stdout] | [INFO] [stdout] 158 | return Ok(()); [INFO] [stdout] | ------------- any code following this expression is unreachable [INFO] [stdout] 159 | } [INFO] [stdout] 160 | Err(KError::InvalidInput("Jacobi needs Dense or CSR".into())) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unreachable expression [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `side` [INFO] [stdout] --> src/preconditioner/amg.rs:4034:9 [INFO] [stdout] | [INFO] [stdout] 4034 | side: PcSide, [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_side` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/preconditioner/amg.rs:4264:9 [INFO] [stdout] | [INFO] [stdout] 4264 | mut stats: Option<&mut DistApplyStats>, [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: `t_local` [INFO] [stdout] --> src/preconditioner/amg.rs:4274:13 [INFO] [stdout] | [INFO] [stdout] 4274 | let t_local = stats.as_ref().map(|_| tic()); [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_t_local` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `err` [INFO] [stdout] --> src/preconditioner/amg.rs:8378:13 [INFO] [stdout] | [INFO] [stdout] 8378 | Err(err) if allow_safeguard && !cfg.require_spd => Ok(diag_inv_from_csr_safeguarded(a)), [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_err` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `conditioned` is never read [INFO] [stdout] --> src/preconditioner/ilu.rs:2467:31 [INFO] [stdout] | [INFO] [stdout] 2467 | let mut conditioned = None; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `conditioned` is never read [INFO] [stdout] --> src/preconditioner/ilutp.rs:440:31 [INFO] [stdout] | [INFO] [stdout] 440 | let mut conditioned = None; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `reason` is never read [INFO] [stdout] --> src/solver/block/gmres.rs:142:30 [INFO] [stdout] | [INFO] [stdout] 142 | let mut reason = ConvergedReason::Continued; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `refreshed` [INFO] [stdout] --> src/solver/cg.rs:1100:68 [INFO] [stdout] | [INFO] [stdout] 1100 | let (mut rho_new, mut delta_new, _rsq_new, _znorm_new, refreshed) = if refresh_due { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_refreshed` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `red_engine` [INFO] [stdout] --> src/solver/gmres.rs:1391:13 [INFO] [stdout] | [INFO] [stdout] 1391 | let red_engine = ws [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_red_engine` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `SparseMatrix` [INFO] [stdout] --> src/preconditioner/amg/tests/nodal_nns.rs:5:40 [INFO] [stdout] | [INFO] [stdout] 5 | use crate::matrix::sparse::{CsrMatrix, SparseMatrix}; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Preconditioner` [INFO] [stdout] --> src/preconditioner/tests/block_jacobi.rs:5:37 [INFO] [stdout] | [INFO] [stdout] 5 | use crate::preconditioner::{PcSide, Preconditioner}; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `pc_side` is never read [INFO] [stdout] --> src/solver/tfqmr.rs:71:13 [INFO] [stdout] | [INFO] [stdout] 71 | pc_side = PcSide::Left; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `stats` is never read [INFO] [stdout] --> src/solver/pca_gmres.rs:445:17 [INFO] [stdout] | [INFO] [stdout] 445 | stats = sstats; [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `label` [INFO] [stdout] --> src/utils/conditioning.rs:428:25 [INFO] [stdout] | [INFO] [stdout] 428 | pub fn log_conditioning(label: &str, opts: &ConditioningOptions) { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_label` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `opts` [INFO] [stdout] --> src/utils/conditioning.rs:428:38 [INFO] [stdout] | [INFO] [stdout] 428 | pub fn log_conditioning(label: &str, opts: &ConditioningOptions) { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_opts` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `n` [INFO] [stdout] --> src/utils/permutation.rs:79:9 [INFO] [stdout] | [INFO] [stdout] 79 | let n = a.nrows(); [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_n` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `PcChainPlan` is more private than the item `KspContext::pc_chain_plan` [INFO] [stdout] --> src/context/ksp_context/mod.rs:309:5 [INFO] [stdout] | [INFO] [stdout] 309 | pub(crate) pc_chain_plan: Option, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ field `KspContext::pc_chain_plan` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `PcChainPlan` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/context/ksp_context/mod.rs:273:1 [INFO] [stdout] | [INFO] [stdout] 273 | struct PcChainPlan { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: `#[warn(private_interfaces)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `sum_h2` is never read [INFO] [stdout] --> src/context/ksp_context/workspace.rs:634:13 [INFO] [stdout] | [INFO] [stdout] 634 | sum_h2 = R::zero(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `sum_h2` is never read [INFO] [stdout] --> src/context/ksp_context/workspace.rs:637:17 [INFO] [stdout] | [INFO] [stdout] 637 | sum_h2 += hij * hij; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `pc_opts` is never read [INFO] [stdout] --> src/context/ksp_context/mod.rs:435:5 [INFO] [stdout] | [INFO] [stdout] 433 | struct PendingMpiPc { [INFO] [stdout] | ------------ field in this struct [INFO] [stdout] 434 | mpi_opts: MpiPcOptions, [INFO] [stdout] 435 | pc_opts: PcOptions, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `PendingMpiPc` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `probe_key` is never read [INFO] [stdout] --> src/context/ksp_context/mod.rs:454:5 [INFO] [stdout] | [INFO] [stdout] 453 | struct DistRoutePreflightState { [INFO] [stdout] | ----------------------- field in this struct [INFO] [stdout] 454 | probe_key: String, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `DistRoutePreflightState` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> src/context/ksp_context/mod.rs:3460:8 [INFO] [stdout] | [INFO] [stdout] 473 | impl KspContext { [INFO] [stdout] | --------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 3460 | fn set_dist_route_selected(&mut self, route: impl Into) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 3465 | fn set_dist_route_capability_entry(&mut self, entry: DistCsrCapabilityEntry) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 3470 | fn set_dist_route_decision_report(&mut self, report: DistRouteDecisionReport) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 3475 | fn push_dist_route_fallback(&mut self, reason: DistRouteFallbackReason) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 3486 | fn set_dist_route_fallback_reason(&mut self, reason: impl Into) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 3491 | fn refresh_and_validate_dist_route_report( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 3537 | fn maybe_reuse_dist_preflight(&mut self, probe_key: &str) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 3547 | fn store_dist_preflight(&mut self, state: DistRoutePreflightState) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `DistCsrCapabilityKey` is never constructed [INFO] [stdout] --> src/context/ksp_context/distcsr_capability.rs:9:12 [INFO] [stdout] | [INFO] [stdout] 9 | pub struct DistCsrCapabilityKey { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `resolve_distcsr_capability` is never used [INFO] [stdout] --> src/context/ksp_context/distcsr_capability.rs:32:8 [INFO] [stdout] | [INFO] [stdout] 32 | pub fn resolve_distcsr_capability(key: DistCsrCapabilityKey) -> DistCsrCapabilityEntry { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `build_dist_route_decision_report` is never used [INFO] [stdout] --> src/context/ksp_context/distcsr_capability.rs:110:8 [INFO] [stdout] | [INFO] [stdout] 110 | pub fn build_dist_route_decision_report( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `microbench` is never used [INFO] [stdout] --> src/matrix/spmv/plan.rs:333:4 [INFO] [stdout] | [INFO] [stdout] 333 | fn microbench(nsamples: usize, mut f: F) -> f64 { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `pack_scalar_s_to_rr` is never used [INFO] [stdout] --> src/parallel/reduce.rs:34:15 [INFO] [stdout] | [INFO] [stdout] 34 | pub(crate) fn pack_scalar_s_to_rr(v: S) -> [R; 1] { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `unpack_rr_to_scalar_s` is never used [INFO] [stdout] --> src/parallel/reduce.rs:40:15 [INFO] [stdout] | [INFO] [stdout] 40 | pub(crate) fn unpack_rr_to_scalar_s(rr: [R; 1]) -> S { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `pack_scalar_s` is never used [INFO] [stdout] --> src/parallel/repro.rs:16:8 [INFO] [stdout] | [INFO] [stdout] 16 | pub fn pack_scalar_s(value: S) -> [R; 1] { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `unpack_scalar_s` is never used [INFO] [stdout] --> src/parallel/repro.rs:28:8 [INFO] [stdout] | [INFO] [stdout] 28 | pub fn unpack_scalar_s(parts: [R; 1]) -> S { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `layout` is never read [INFO] [stdout] --> src/preconditioner/bddc/mod.rs:72:5 [INFO] [stdout] | [INFO] [stdout] 69 | struct BddcSymbolic { [INFO] [stdout] | ------------ field in this struct [INFO] [stdout] ... [INFO] [stdout] 72 | layout: Option, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `BddcSymbolic` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `extract_dense_operator` is never used [INFO] [stdout] --> src/preconditioner/bddc/mod.rs:211:8 [INFO] [stdout] | [INFO] [stdout] 97 | impl BddcPc { [INFO] [stdout] | ----------- associated function in this implementation [INFO] [stdout] ... [INFO] [stdout] 211 | fn extract_dense_operator(op: &dyn LinOp, n: usize) -> Result>, KError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `complex_setup_fallback_reason` is never read [INFO] [stdout] --> src/preconditioner/approxinv_csr.rs:136:5 [INFO] [stdout] | [INFO] [stdout] 125 | pub struct SpaiCsr { [INFO] [stdout] | ------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 136 | complex_setup_fallback_reason: Option, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `inner_pc` is never read [INFO] [stdout] --> src/preconditioner/asm/mod.rs:44:5 [INFO] [stdout] | [INFO] [stdout] 40 | pub struct AsmPc { [INFO] [stdout] | ----- field in this struct [INFO] [stdout] ... [INFO] [stdout] 44 | inner_pc: AsmInnerPc, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `DistCoarsePolicy` is never used [INFO] [stdout] --> src/preconditioner/dist/coarse.rs:20:10 [INFO] [stdout] | [INFO] [stdout] 20 | pub enum DistCoarsePolicy { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Meta` is never used [INFO] [stdout] --> src/preconditioner/ilu_csr/csr_builder.rs:86:10 [INFO] [stdout] | [INFO] [stdout] 86 | pub enum Meta { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `RowBuilder` is never used [INFO] [stdout] --> src/preconditioner/ilu_csr/csr_builder.rs:96:11 [INFO] [stdout] | [INFO] [stdout] 96 | pub trait RowBuilder { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Ilu0Row` is never constructed [INFO] [stdout] --> src/preconditioner/ilu_csr/csr_builder.rs:111:12 [INFO] [stdout] | [INFO] [stdout] 111 | pub struct Ilu0Row<'a, S> { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/preconditioner/ilu_csr/csr_builder.rs:117:12 [INFO] [stdout] | [INFO] [stdout] 116 | impl<'a, S: KrystScalar> Ilu0Row<'a, S> { [INFO] [stdout] | --------------------------------------- associated function in this implementation [INFO] [stdout] 117 | pub fn new(cols: &'a [usize], vals: &'a mut [S]) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `IlukRow` is never constructed [INFO] [stdout] --> src/preconditioner/ilu_csr/csr_builder.rs:137:12 [INFO] [stdout] | [INFO] [stdout] 137 | pub struct IlukRow { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new` and `upsert` are never used [INFO] [stdout] --> src/preconditioner/ilu_csr/csr_builder.rs:146:12 [INFO] [stdout] | [INFO] [stdout] 145 | impl IlukRow { [INFO] [stdout] | ------------------------------------------------------ associated items in this implementation [INFO] [stdout] 146 | pub fn new(max_level: u32) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 157 | fn upsert(&mut self, col: usize, lev: u32, val: S) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `HeapElem` is never constructed [INFO] [stdout] --> src/preconditioner/ilu_csr/csr_builder.rs:232:8 [INFO] [stdout] | [INFO] [stdout] 232 | struct HeapElem { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `IlutRow` is never constructed [INFO] [stdout] --> src/preconditioner/ilu_csr/csr_builder.rs:259:12 [INFO] [stdout] | [INFO] [stdout] 259 | pub struct IlutRow { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/preconditioner/ilu_csr/csr_builder.rs:266:12 [INFO] [stdout] | [INFO] [stdout] 265 | impl IlutRow { [INFO] [stdout] | ------------------------------- associated function in this implementation [INFO] [stdout] 266 | pub fn new(p: usize, drop_tol: S::Real) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `PosMap` is never constructed [INFO] [stdout] --> src/preconditioner/ilu_csr/pos_map.rs:9:12 [INFO] [stdout] | [INFO] [stdout] 9 | pub struct PosMap { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `clear`, `get`, and `set` are never used [INFO] [stdout] --> src/preconditioner/ilu_csr/pos_map.rs:17:12 [INFO] [stdout] | [INFO] [stdout] 15 | impl PosMap { [INFO] [stdout] | ----------- associated items in this implementation [INFO] [stdout] 16 | /// Create a new `PosMap` with capacity for `n` columns. [INFO] [stdout] 17 | pub fn new(n: usize) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 27 | pub fn clear(&mut self) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 34 | pub fn get(&self, j: usize) -> Option { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 44 | pub fn set(&mut self, j: usize, idx: usize) { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `add_to` is never used [INFO] [stdout] --> src/preconditioner/ilu_csr/row_work.rs:54:12 [INFO] [stdout] | [INFO] [stdout] 13 | impl RowWork { [INFO] [stdout] | ------------ method in this implementation [INFO] [stdout] ... [INFO] [stdout] 54 | pub fn add_to(&mut self, j: usize, delta: Real) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `NativeWithDegradedFallback` is never constructed [INFO] [stdout] --> src/utils/diagnostics.rs:17:5 [INFO] [stdout] | [INFO] [stdout] 14 | enum PcComplexSupport { [INFO] [stdout] | ---------------- variant in this enum [INFO] [stdout] ... [INFO] [stdout] 17 | NativeWithDegradedFallback, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `PcComplexSupport` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `effective_mode_with_comm` is never used [INFO] [stdout] --> src/utils/reduction.rs:77:4 [INFO] [stdout] | [INFO] [stdout] 77 | fn effective_mode_with_comm(opt: &ReductOptions, comm_repro: bool) -> ReproMode { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `convert_pair` is never used [INFO] [stdout] --> src/utils/reduction.rs:357:4 [INFO] [stdout] | [INFO] [stdout] 357 | fn convert_pair(buf: &[R]) -> (R, R) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `deterministic_reduce_vec` is never used [INFO] [stdout] --> src/utils/reduction.rs:362:4 [INFO] [stdout] | [INFO] [stdout] 362 | fn deterministic_reduce_vec(comm: &C, data: &[R], mode: ReproMode) -> Vec [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `L` should have a snake case name [INFO] [stdout] --> src/preconditioner/amg.rs:7920:9 [INFO] [stdout] | [INFO] [stdout] 7920 | let L = levels.len() - 1; [INFO] [stdout] | ^ help: convert the identifier to snake case: `l` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `neighbor_distribution_over_C_of` should have a snake case name [INFO] [stdout] --> src/preconditioner/amg/prolong.rs:473:4 [INFO] [stdout] | [INFO] [stdout] 473 | fn neighbor_distribution_over_C_of( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `neighbor_distribution_over_c_of` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated function `criterion::black_box`: use `std::hint::black_box()` instead [INFO] [stdout] --> benches/apply_no_alloc.rs:7:28 [INFO] [stdout] | [INFO] [stdout] 7 | use criterion::{Criterion, black_box, criterion_group, criterion_main}; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated function `criterion::black_box`: use `std::hint::black_box()` instead [INFO] [stdout] --> benches/apply_no_alloc.rs:30:36 [INFO] [stdout] | [INFO] [stdout] 30 | pc.apply(PcSide::Left, black_box(&x), black_box(&mut y)) [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated function `criterion::black_box`: use `std::hint::black_box()` instead [INFO] [stdout] --> benches/apply_no_alloc.rs:30:51 [INFO] [stdout] | [INFO] [stdout] 30 | pc.apply(PcSide::Left, black_box(&x), black_box(&mut y)) [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `rows` is never read [INFO] [stdout] --> src/matrix/op_bridge.rs:31:9 [INFO] [stdout] | [INFO] [stdout] 31 | rows = y.len(); [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `cols` is never read [INFO] [stdout] --> src/matrix/op_bridge.rs:36:9 [INFO] [stdout] | [INFO] [stdout] 36 | cols = x.len(); [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> benches/infra/datasets.rs:86:9 [INFO] [stdout] | [INFO] [stdout] 86 | let mut r_row_ptr = counts.clone(); [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 `SolveStats` that must be used [INFO] [stdout] --> tests/workspace_tests.rs:40:5 [INFO] [stdout] | [INFO] [stdout] 40 | / solver [INFO] [stdout] 41 | | .solve_f64( [INFO] [stdout] 42 | | &a, [INFO] [stdout] 43 | | None, [INFO] [stdout] ... | [INFO] [stdout] 51 | | .unwrap(); [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 40 | let _ = solver [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `poisson2d_prolong_restrict` is never used [INFO] [stdout] --> benches/infra/datasets.rs:56:8 [INFO] [stdout] | [INFO] [stdout] 56 | pub fn poisson2d_prolong_restrict(n: usize) -> (CsrMatrix, CsrMatrix) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `rap_triplet_poisson2d` is never used [INFO] [stdout] --> benches/infra/datasets.rs:104:8 [INFO] [stdout] | [INFO] [stdout] 104 | pub fn rap_triplet_poisson2d(n: usize) -> (CsrMatrix, CsrMatrix, CsrMatrix) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `random_powerlaw_like` is never used [INFO] [stdout] --> benches/infra/datasets.rs:112:8 [INFO] [stdout] | [INFO] [stdout] 112 | pub fn random_powerlaw_like(n: usize, avg_deg: usize, seed: u64) -> CsrMatrix { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `blocky_csr` is never used [INFO] [stdout] --> benches/infra/datasets.rs:151:8 [INFO] [stdout] | [INFO] [stdout] 151 | pub fn blocky_csr( [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> benches/infra/datasets.rs:86:9 [INFO] [stdout] | [INFO] [stdout] 86 | let mut r_row_ptr = counts.clone(); [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: function `poisson2d_prolong_restrict` is never used [INFO] [stdout] --> benches/infra/datasets.rs:56:8 [INFO] [stdout] | [INFO] [stdout] 56 | pub fn poisson2d_prolong_restrict(n: usize) -> (CsrMatrix, CsrMatrix) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `rap_triplet_poisson2d` is never used [INFO] [stdout] --> benches/infra/datasets.rs:104:8 [INFO] [stdout] | [INFO] [stdout] 104 | pub fn rap_triplet_poisson2d(n: usize) -> (CsrMatrix, CsrMatrix, CsrMatrix) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `random_powerlaw_like` is never used [INFO] [stdout] --> benches/infra/datasets.rs:112:8 [INFO] [stdout] | [INFO] [stdout] 112 | pub fn random_powerlaw_like(n: usize, avg_deg: usize, seed: u64) -> CsrMatrix { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `blocky_csr` is never used [INFO] [stdout] --> benches/infra/datasets.rs:151:8 [INFO] [stdout] | [INFO] [stdout] 151 | pub fn blocky_csr( [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `SolveStats` that must be used [INFO] [stdout] --> tests/cg_initial_guess.rs:62:5 [INFO] [stdout] | [INFO] [stdout] 62 | / solver [INFO] [stdout] 63 | | .solve_with_comm( [INFO] [stdout] 64 | | &as_s_op(&op), [INFO] [stdout] 65 | | None, [INFO] [stdout] ... | [INFO] [stdout] 73 | | .unwrap(); [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 62 | let _ = solver [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `SolveStats` that must be used [INFO] [stdout] --> tests/cg_initial_guess.rs:83:5 [INFO] [stdout] | [INFO] [stdout] 83 | / solver2 [INFO] [stdout] 84 | | .solve_with_comm( [INFO] [stdout] 85 | | &as_s_op(&op2), [INFO] [stdout] 86 | | None, [INFO] [stdout] ... | [INFO] [stdout] 94 | | .unwrap(); [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 83 | let _ = solver2 [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated function `criterion::black_box`: use `std::hint::black_box()` instead [INFO] [stdout] --> benches/submatrix.rs:1:39 [INFO] [stdout] | [INFO] [stdout] 1 | use criterion::{BatchSize, Criterion, black_box, criterion_group, criterion_main}; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated function `criterion::black_box`: use `std::hint::black_box()` instead [INFO] [stdout] --> benches/submatrix.rs:19:17 [INFO] [stdout] | [INFO] [stdout] 19 | black_box(out) [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> benches/infra/datasets.rs:86:9 [INFO] [stdout] | [INFO] [stdout] 86 | let mut r_row_ptr = counts.clone(); [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: function `poisson2d_csr` is never used [INFO] [stdout] --> benches/infra/datasets.rs:6:8 [INFO] [stdout] | [INFO] [stdout] 6 | pub fn poisson2d_csr(n: usize) -> CsrMatrix { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `poisson2d_prolong_restrict` is never used [INFO] [stdout] --> benches/infra/datasets.rs:56:8 [INFO] [stdout] | [INFO] [stdout] 56 | pub fn poisson2d_prolong_restrict(n: usize) -> (CsrMatrix, CsrMatrix) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `rap_triplet_poisson2d` is never used [INFO] [stdout] --> benches/infra/datasets.rs:104:8 [INFO] [stdout] | [INFO] [stdout] 104 | pub fn rap_triplet_poisson2d(n: usize) -> (CsrMatrix, CsrMatrix, CsrMatrix) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `random_powerlaw_like` is never used [INFO] [stdout] --> benches/infra/datasets.rs:112:8 [INFO] [stdout] | [INFO] [stdout] 112 | pub fn random_powerlaw_like(n: usize, avg_deg: usize, seed: u64) -> CsrMatrix { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/parallel/mod.rs:411:13 [INFO] [stdout] | [INFO] [stdout] 411 | _ => false, [INFO] [stdout] | ^ no value can reach this [INFO] [stdout] | [INFO] [stdout] note: multiple earlier patterns match some of the same values [INFO] [stdout] --> src/parallel/mod.rs:411:13 [INFO] [stdout] | [INFO] [stdout] 403 | (UniverseComm::NoComm(_), UniverseComm::NoComm(_)) => true, [INFO] [stdout] | -------------------------------------------------- matches some of the same values [INFO] [stdout] 404 | (UniverseComm::NoComm(_), _) | (_, UniverseComm::NoComm(_)) => false, [INFO] [stdout] | ----------------------------------------------------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 408 | (UniverseComm::Rayon(a), UniverseComm::Rayon(b)) => a.congruent(b), [INFO] [stdout] | ------------------------------------------------ matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 411 | _ => false, [INFO] [stdout] | ^ collectively making this unreachable [INFO] [stdout] = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `SolveStats` that must be used [INFO] [stdout] --> tests/cg_norm_types.rs:50:9 [INFO] [stdout] | [INFO] [stdout] 50 | / solver [INFO] [stdout] 51 | | .solve_with_comm( [INFO] [stdout] 52 | | &op, [INFO] [stdout] 53 | | Some(&mut pc_bridge), [INFO] [stdout] ... | [INFO] [stdout] 61 | | .unwrap(); [INFO] [stdout] | |_____________________^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 50 | let _ = solver [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `SolveStats` that must be used [INFO] [stdout] --> tests/pcg_norm_types.rs:47:9 [INFO] [stdout] | [INFO] [stdout] 47 | / solver [INFO] [stdout] 48 | | .solve_with_comm( [INFO] [stdout] 49 | | &a, [INFO] [stdout] 50 | | Some(&mut pc), [INFO] [stdout] ... | [INFO] [stdout] 58 | | .unwrap(); [INFO] [stdout] | |_____________________^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 47 | let _ = solver [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `side` [INFO] [stdout] --> src/preconditioner/amg.rs:4034:9 [INFO] [stdout] | [INFO] [stdout] 4034 | side: PcSide, [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_side` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/preconditioner/amg.rs:4264:9 [INFO] [stdout] | [INFO] [stdout] 4264 | mut stats: Option<&mut DistApplyStats>, [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: `t_local` [INFO] [stdout] --> src/preconditioner/amg.rs:4274:13 [INFO] [stdout] | [INFO] [stdout] 4274 | let t_local = stats.as_ref().map(|_| tic()); [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_t_local` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Comm` [INFO] [stdout] --> tests/reduction_async.rs:3:23 [INFO] [stdout] | [INFO] [stdout] 3 | use kryst::parallel::{Comm, NoComm}; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::env` [INFO] [stdout] --> tests/reduction_async.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use std::env; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> benches/infra/datasets.rs:86:9 [INFO] [stdout] | [INFO] [stdout] 86 | let mut r_row_ptr = counts.clone(); [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: `err` [INFO] [stdout] --> src/preconditioner/amg.rs:8378:13 [INFO] [stdout] | [INFO] [stdout] 8378 | Err(err) if allow_safeguard && !cfg.require_spd => Ok(diag_inv_from_csr_safeguarded(a)), [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_err` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `poisson2d_prolong_restrict` is never used [INFO] [stdout] --> benches/infra/datasets.rs:56:8 [INFO] [stdout] | [INFO] [stdout] 56 | pub fn poisson2d_prolong_restrict(n: usize) -> (CsrMatrix, CsrMatrix) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `rap_triplet_poisson2d` is never used [INFO] [stdout] --> benches/infra/datasets.rs:104:8 [INFO] [stdout] | [INFO] [stdout] 104 | pub fn rap_triplet_poisson2d(n: usize) -> (CsrMatrix, CsrMatrix, CsrMatrix) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `random_powerlaw_like` is never used [INFO] [stdout] --> benches/infra/datasets.rs:112:8 [INFO] [stdout] | [INFO] [stdout] 112 | pub fn random_powerlaw_like(n: usize, avg_deg: usize, seed: u64) -> CsrMatrix { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `blocky_csr` is never used [INFO] [stdout] --> benches/infra/datasets.rs:151:8 [INFO] [stdout] | [INFO] [stdout] 151 | pub fn blocky_csr( [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated function `criterion::black_box`: use `std::hint::black_box()` instead [INFO] [stdout] --> benches/tri_solve.rs:1:28 [INFO] [stdout] | [INFO] [stdout] 1 | use criterion::{Criterion, black_box, criterion_group, criterion_main}; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated function `criterion::black_box`: use `std::hint::black_box()` instead [INFO] [stdout] --> benches/tri_solve.rs:102:13 [INFO] [stdout] | [INFO] [stdout] 102 | black_box(&x); [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated function `criterion::black_box`: use `std::hint::black_box()` instead [INFO] [stdout] --> benches/tri_solve.rs:109:13 [INFO] [stdout] | [INFO] [stdout] 109 | black_box(&x); [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/preconditioner/amg.rs:10224:13 [INFO] [stdout] | [INFO] [stdout] 10224 | let mut level = AMGLevel { [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/preconditioner/amg.rs:10270:13 [INFO] [stdout] | [INFO] [stdout] 10270 | let mut level = AMGLevel { [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] --> benches/infra/datasets.rs:86:9 [INFO] [stdout] | [INFO] [stdout] 86 | let mut r_row_ptr = counts.clone(); [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: function `poisson2d_prolong_restrict` is never used [INFO] [stdout] --> benches/infra/datasets.rs:56:8 [INFO] [stdout] | [INFO] [stdout] 56 | pub fn poisson2d_prolong_restrict(n: usize) -> (CsrMatrix, CsrMatrix) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `rap_triplet_poisson2d` is never used [INFO] [stdout] --> benches/infra/datasets.rs:104:8 [INFO] [stdout] | [INFO] [stdout] 104 | pub fn rap_triplet_poisson2d(n: usize) -> (CsrMatrix, CsrMatrix, CsrMatrix) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `random_powerlaw_like` is never used [INFO] [stdout] --> benches/infra/datasets.rs:112:8 [INFO] [stdout] | [INFO] [stdout] 112 | pub fn random_powerlaw_like(n: usize, avg_deg: usize, seed: u64) -> CsrMatrix { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `blocky_csr` is never used [INFO] [stdout] --> benches/infra/datasets.rs:151:8 [INFO] [stdout] | [INFO] [stdout] 151 | pub fn blocky_csr( [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/preconditioner/amg.rs:11087:13 [INFO] [stdout] | [INFO] [stdout] 11087 | let mut r = CsrMatrix::from_csr(p.n, p.m, rr.clone(), rc.clone(), vec![0.0; p.vals.len()]); [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/preconditioner/amg.rs:11090:13 [INFO] [stdout] | [INFO] [stdout] 11090 | let mut updated_rc = r.col_idx().to_vec(); [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] --> benches/infra/datasets.rs:86:9 [INFO] [stdout] | [INFO] [stdout] 86 | let mut r_row_ptr = counts.clone(); [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: function `poisson2d_csr` is never used [INFO] [stdout] --> benches/infra/datasets.rs:6:8 [INFO] [stdout] | [INFO] [stdout] 6 | pub fn poisson2d_csr(n: usize) -> CsrMatrix { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `poisson2d_prolong_restrict` is never used [INFO] [stdout] --> benches/infra/datasets.rs:56:8 [INFO] [stdout] | [INFO] [stdout] 56 | pub fn poisson2d_prolong_restrict(n: usize) -> (CsrMatrix, CsrMatrix) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `rap_triplet_poisson2d` is never used [INFO] [stdout] --> benches/infra/datasets.rs:104:8 [INFO] [stdout] | [INFO] [stdout] 104 | pub fn rap_triplet_poisson2d(n: usize) -> (CsrMatrix, CsrMatrix, CsrMatrix) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `blocky_csr` is never used [INFO] [stdout] --> benches/infra/datasets.rs:151:8 [INFO] [stdout] | [INFO] [stdout] 151 | pub fn blocky_csr( [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `kryst::algebra::prelude::*` [INFO] [stdout] --> tests/panel_factorization.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use kryst::algebra::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: variable does not need to be mutable [INFO] [stdout] --> benches/infra/datasets.rs:86:9 [INFO] [stdout] | [INFO] [stdout] 86 | let mut r_row_ptr = counts.clone(); [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: function `poisson2d_prolong_restrict` is never used [INFO] [stdout] --> benches/infra/datasets.rs:56:8 [INFO] [stdout] | [INFO] [stdout] 56 | pub fn poisson2d_prolong_restrict(n: usize) -> (CsrMatrix, CsrMatrix) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `rap_triplet_poisson2d` is never used [INFO] [stdout] --> benches/infra/datasets.rs:104:8 [INFO] [stdout] | [INFO] [stdout] 104 | pub fn rap_triplet_poisson2d(n: usize) -> (CsrMatrix, CsrMatrix, CsrMatrix) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `random_powerlaw_like` is never used [INFO] [stdout] --> benches/infra/datasets.rs:112:8 [INFO] [stdout] | [INFO] [stdout] 112 | pub fn random_powerlaw_like(n: usize, avg_deg: usize, seed: u64) -> CsrMatrix { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `blocky_csr` is never used [INFO] [stdout] --> benches/infra/datasets.rs:151:8 [INFO] [stdout] | [INFO] [stdout] 151 | pub fn blocky_csr( [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `SolveStats` that must be used [INFO] [stdout] --> tests/cg_true_residual_monitor.rs:29:5 [INFO] [stdout] | [INFO] [stdout] 29 | / solver [INFO] [stdout] 30 | | .solve_f64( [INFO] [stdout] 31 | | &a, [INFO] [stdout] 32 | | None, [INFO] [stdout] ... | [INFO] [stdout] 40 | | .unwrap(); [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 29 | let _ = solver [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `kryst::matrix::parcsr::ParCsrMatrix::from_legacy_parts`: Legacy diag/off constructor is compatibility-only; use DistCsrOp::from_local_rows and canonical distributed APIs. Planned removal after 2026-12-31 [INFO] [stdout] --> tests/dist_csr.rs:104:29 [INFO] [stdout] | [INFO] [stdout] 104 | let par = ParCsrMatrix::from_legacy_parts( [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] --> benches/infra/datasets.rs:86:9 [INFO] [stdout] | [INFO] [stdout] 86 | let mut r_row_ptr = counts.clone(); [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: function `poisson2d_prolong_restrict` is never used [INFO] [stdout] --> benches/infra/datasets.rs:56:8 [INFO] [stdout] | [INFO] [stdout] 56 | pub fn poisson2d_prolong_restrict(n: usize) -> (CsrMatrix, CsrMatrix) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `rap_triplet_poisson2d` is never used [INFO] [stdout] --> benches/infra/datasets.rs:104:8 [INFO] [stdout] | [INFO] [stdout] 104 | pub fn rap_triplet_poisson2d(n: usize) -> (CsrMatrix, CsrMatrix, CsrMatrix) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `random_powerlaw_like` is never used [INFO] [stdout] --> benches/infra/datasets.rs:112:8 [INFO] [stdout] | [INFO] [stdout] 112 | pub fn random_powerlaw_like(n: usize, avg_deg: usize, seed: u64) -> CsrMatrix { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `blocky_csr` is never used [INFO] [stdout] --> benches/infra/datasets.rs:151:8 [INFO] [stdout] | [INFO] [stdout] 151 | pub fn blocky_csr( [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `black_box` [INFO] [stdout] --> benches/direct_vs_faer.rs:1:28 [INFO] [stdout] | [INFO] [stdout] 1 | use criterion::{Criterion, black_box, criterion_group, criterion_main}; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `faer::linalg::solvers::SolveCore` [INFO] [stdout] --> benches/direct_vs_faer.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use faer::linalg::solvers::SolveCore; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `kryst::preconditioner::PcSide` [INFO] [stdout] --> benches/direct_vs_faer.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use kryst::preconditioner::PcSide; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `kryst::solver::legacy::LinearSolver` [INFO] [stdout] --> benches/direct_vs_faer.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use kryst::solver::legacy::LinearSolver; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated function `criterion::black_box`: use `std::hint::black_box()` instead [INFO] [stdout] --> benches/direct_vs_faer.rs:1:28 [INFO] [stdout] | [INFO] [stdout] 1 | use criterion::{Criterion, black_box, criterion_group, criterion_main}; [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] --> benches/direct_vs_faer.rs:15:9 [INFO] [stdout] | [INFO] [stdout] 15 | let mut x = vec![0.0; n]; [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: `c` [INFO] [stdout] --> benches/direct_vs_faer.rs:9:21 [INFO] [stdout] | [INFO] [stdout] 9 | fn bench_lu_vs_faer(c: &mut Criterion) { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_c` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `comm` [INFO] [stdout] --> benches/direct_vs_faer.rs:10:9 [INFO] [stdout] | [INFO] [stdout] 10 | let comm = kryst::parallel::UniverseComm::NoComm(kryst::parallel::NoComm); [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_comm` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `a` [INFO] [stdout] --> benches/direct_vs_faer.rs:13:9 [INFO] [stdout] | [INFO] [stdout] 13 | let a = Mat::from_fn(n, n, |i, j| data[j * n + i]); [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_a` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `b` [INFO] [stdout] --> benches/direct_vs_faer.rs:14:9 [INFO] [stdout] | [INFO] [stdout] 14 | let b: Vec = (0..n).map(|i| (i as f64).cos()).collect(); [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_b` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `x` [INFO] [stdout] --> benches/direct_vs_faer.rs:15:9 [INFO] [stdout] | [INFO] [stdout] 15 | let mut x = vec![0.0; n]; [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_x` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `conditioned` is never read [INFO] [stdout] --> src/preconditioner/ilu.rs:2467:31 [INFO] [stdout] | [INFO] [stdout] 2467 | let mut conditioned = None; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `SolveStats` that must be used [INFO] [stdout] --> tests/reproducibility_regression.rs:60:5 [INFO] [stdout] | [INFO] [stdout] 60 | ksp.solve(&rhs, &mut x).unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 60 | let _ = ksp.solve(&rhs, &mut x).unwrap(); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `rz` is never read [INFO] [stdout] --> src/preconditioner/ilu.rs:2977:17 [INFO] [stdout] | [INFO] [stdout] 2977 | rz = r_norm; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `SolveStats` that must be used [INFO] [stdout] --> tests/fgmres_flexible.rs:42:5 [INFO] [stdout] | [INFO] [stdout] 42 | / solver [INFO] [stdout] 43 | | .solve_f64( [INFO] [stdout] 44 | | &a, [INFO] [stdout] 45 | | Some(&mut pc), [INFO] [stdout] ... | [INFO] [stdout] 53 | | .unwrap(); [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 42 | let _ = solver [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated function `criterion::black_box`: use `std::hint::black_box()` instead [INFO] [stdout] --> benches/cg.rs:1:28 [INFO] [stdout] | [INFO] [stdout] 1 | use criterion::{Criterion, black_box, criterion_group, criterion_main}; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated function `criterion::black_box`: use `std::hint::black_box()` instead [INFO] [stdout] --> benches/cg.rs:65:17 [INFO] [stdout] | [INFO] [stdout] 65 | black_box(stats); [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `SolveStats` that must be used [INFO] [stdout] --> benches/cg.rs:65:17 [INFO] [stdout] | [INFO] [stdout] 65 | black_box(stats); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 65 | let _ = black_box(stats); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated function `criterion::black_box`: use `std::hint::black_box()` instead [INFO] [stdout] --> benches/rap.rs:1:39 [INFO] [stdout] | [INFO] [stdout] 1 | use criterion::{BatchSize, Criterion, black_box, criterion_group, criterion_main}; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated function `criterion::black_box`: use `std::hint::black_box()` instead [INFO] [stdout] --> benches/rap.rs:41:17 [INFO] [stdout] | [INFO] [stdout] 41 | black_box(ch) [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated function `criterion::black_box`: use `std::hint::black_box()` instead [INFO] [stdout] --> benches/rap.rs:51:17 [INFO] [stdout] | [INFO] [stdout] 51 | black_box(ch) [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated function `criterion::black_box`: use `std::hint::black_box()` instead [INFO] [stdout] --> benches/rap.rs:167:17 [INFO] [stdout] | [INFO] [stdout] 167 | |_| black_box(rap_btree(&r, &a, &p).unwrap()), [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated function `criterion::black_box`: use `std::hint::black_box()` instead [INFO] [stdout] --> benches/rap.rs:174:17 [INFO] [stdout] | [INFO] [stdout] 174 | |_| black_box(rap_opt(&r, &a, &p).unwrap()), [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> benches/infra/datasets.rs:86:9 [INFO] [stdout] | [INFO] [stdout] 86 | let mut r_row_ptr = counts.clone(); [INFO] [stdout] | ----^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> benches/rap.rs:94:9 [INFO] [stdout] | [INFO] [stdout] 94 | let mut r_rp = counts.clone(); [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] --> benches/rap.rs:143:17 [INFO] [stdout] | [INFO] [stdout] 143 | let mut r_rp = counts.clone(); [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `blocky_csr` is never used [INFO] [stdout] --> benches/infra/datasets.rs:151:8 [INFO] [stdout] | [INFO] [stdout] 151 | pub fn blocky_csr( [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `conditioned` is never read [INFO] [stdout] --> src/preconditioner/ilutp.rs:440:31 [INFO] [stdout] | [INFO] [stdout] 440 | let mut conditioned = None; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `SolveStats` that must be used [INFO] [stdout] --> tests/pcg_true_residual_monitor.rs:29:5 [INFO] [stdout] | [INFO] [stdout] 29 | / solver [INFO] [stdout] 30 | | .solve_with_comm( [INFO] [stdout] 31 | | &a, [INFO] [stdout] 32 | | None, [INFO] [stdout] ... | [INFO] [stdout] 40 | | .unwrap(); [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 29 | let _ = solver [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::time::Instant` [INFO] [stdout] --> tests/panel_microbench.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use std::time::Instant; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `truth_reference` is never read [INFO] [stdout] --> examples/optimized_solver_demo.rs:683:82 [INFO] [stdout] | [INFO] [stdout] 683 | let mut truth_reference: Option> = None; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `kryst::matrix::sparse::SparseMatrix` [INFO] [stdout] --> examples/superlu_dist_demo.rs:36:5 [INFO] [stdout] | [INFO] [stdout] 36 | use kryst::matrix::sparse::SparseMatrix; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Comm` [INFO] [stdout] --> examples/superlu_dist_demo.rs:38:23 [INFO] [stdout] | [INFO] [stdout] 38 | use kryst::parallel::{Comm, UniverseComm}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `kryst::preconditioner::PcSide` [INFO] [stdout] --> examples/superlu_dist_demo.rs:40:5 [INFO] [stdout] | [INFO] [stdout] 40 | use kryst::preconditioner::PcSide; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `kryst::solver::legacy::LinearSolver` [INFO] [stdout] --> examples/superlu_dist_demo.rs:44:5 [INFO] [stdout] | [INFO] [stdout] 44 | use kryst::solver::legacy::LinearSolver; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `kryst::utils::matrix_market::read_matrix_market` [INFO] [stdout] --> examples/superlu_dist_demo.rs:51:5 [INFO] [stdout] | [INFO] [stdout] 51 | use kryst::utils::matrix_market::read_matrix_market; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::time::Instant` [INFO] [stdout] --> examples/superlu_dist_demo.rs:56:5 [INFO] [stdout] | [INFO] [stdout] 56 | use std::time::Instant; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `SparseMatrix` [INFO] [stdout] --> tests/spmv_kernels.rs:8:25 [INFO] [stdout] | [INFO] [stdout] 8 | sparse::{CsrMatrix, SparseMatrix}, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `MatrixInfo` is never constructed [INFO] [stdout] --> examples/superlu_dist_demo.rs:143:8 [INFO] [stdout] | [INFO] [stdout] 143 | struct MatrixInfo { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_available_matrices` is never used [INFO] [stdout] --> examples/superlu_dist_demo.rs:172:4 [INFO] [stdout] | [INFO] [stdout] 172 | fn get_available_matrices() -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `rationale` is never read [INFO] [stdout] --> examples/optimized_solver_demo.rs:135:5 [INFO] [stdout] | [INFO] [stdout] 131 | struct SelectionDecision { [INFO] [stdout] | ----------------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 135 | rationale: Vec, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `reason` is never read [INFO] [stdout] --> src/solver/block/gmres.rs:142:30 [INFO] [stdout] | [INFO] [stdout] 142 | let mut reason = ConvergedReason::Continued; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `refreshed` [INFO] [stdout] --> src/solver/cg.rs:1100:68 [INFO] [stdout] | [INFO] [stdout] 1100 | let (mut rho_new, mut delta_new, _rsq_new, _znorm_new, refreshed) = if refresh_due { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_refreshed` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `red_engine` [INFO] [stdout] --> src/solver/gmres.rs:1391:13 [INFO] [stdout] | [INFO] [stdout] 1391 | let red_engine = ws [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_red_engine` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `pc_side` is never read [INFO] [stdout] --> src/solver/tfqmr.rs:71:13 [INFO] [stdout] | [INFO] [stdout] 71 | pc_side = PcSide::Left; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `stats` is never read [INFO] [stdout] --> src/solver/pca_gmres.rs:445:17 [INFO] [stdout] | [INFO] [stdout] 445 | stats = sstats; [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `left_mon` [INFO] [stdout] --> src/solver/tests/gmres_left_right.rs:129:13 [INFO] [stdout] | [INFO] [stdout] 129 | let left_mon = *left_hist.last().expect("left monitor value"); [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_left_mon` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `label` [INFO] [stdout] --> src/utils/conditioning.rs:428:25 [INFO] [stdout] | [INFO] [stdout] 428 | pub fn log_conditioning(label: &str, opts: &ConditioningOptions) { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_label` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `opts` [INFO] [stdout] --> src/utils/conditioning.rs:428:38 [INFO] [stdout] | [INFO] [stdout] 428 | pub fn log_conditioning(label: &str, opts: &ConditioningOptions) { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_opts` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `n` [INFO] [stdout] --> src/utils/permutation.rs:79:9 [INFO] [stdout] | [INFO] [stdout] 79 | let n = a.nrows(); [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_n` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `PcChainPlan` is more private than the item `ksp_context::KspContext::pc_chain_plan` [INFO] [stdout] --> src/context/ksp_context/mod.rs:309:5 [INFO] [stdout] | [INFO] [stdout] 309 | pub(crate) pc_chain_plan: Option, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ field `ksp_context::KspContext::pc_chain_plan` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `PcChainPlan` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/context/ksp_context/mod.rs:273:1 [INFO] [stdout] | [INFO] [stdout] 273 | struct PcChainPlan { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: `#[warn(private_interfaces)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `pc_opts` is never read [INFO] [stdout] --> src/context/ksp_context/mod.rs:435:5 [INFO] [stdout] | [INFO] [stdout] 433 | struct PendingMpiPc { [INFO] [stdout] | ------------ field in this struct [INFO] [stdout] 434 | mpi_opts: MpiPcOptions, [INFO] [stdout] 435 | pc_opts: PcOptions, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `PendingMpiPc` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `probe_key` is never read [INFO] [stdout] --> src/context/ksp_context/mod.rs:454:5 [INFO] [stdout] | [INFO] [stdout] 453 | struct DistRoutePreflightState { [INFO] [stdout] | ----------------------- field in this struct [INFO] [stdout] 454 | probe_key: String, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `DistRoutePreflightState` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> src/context/ksp_context/mod.rs:3460:8 [INFO] [stdout] | [INFO] [stdout] 473 | impl KspContext { [INFO] [stdout] | --------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 3460 | fn set_dist_route_selected(&mut self, route: impl Into) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 3465 | fn set_dist_route_capability_entry(&mut self, entry: DistCsrCapabilityEntry) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 3470 | fn set_dist_route_decision_report(&mut self, report: DistRouteDecisionReport) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 3475 | fn push_dist_route_fallback(&mut self, reason: DistRouteFallbackReason) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 3486 | fn set_dist_route_fallback_reason(&mut self, reason: impl Into) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 3491 | fn refresh_and_validate_dist_route_report( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 3537 | fn maybe_reuse_dist_preflight(&mut self, probe_key: &str) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 3547 | fn store_dist_preflight(&mut self, state: DistRoutePreflightState) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `microbench` is never used [INFO] [stdout] --> src/matrix/spmv/plan.rs:333:4 [INFO] [stdout] | [INFO] [stdout] 333 | fn microbench(nsamples: usize, mut f: F) -> f64 { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `pack_scalar_s_to_rr` is never used [INFO] [stdout] --> src/parallel/reduce.rs:34:15 [INFO] [stdout] | [INFO] [stdout] 34 | pub(crate) fn pack_scalar_s_to_rr(v: S) -> [R; 1] { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `unpack_rr_to_scalar_s` is never used [INFO] [stdout] --> src/parallel/reduce.rs:40:15 [INFO] [stdout] | [INFO] [stdout] 40 | pub(crate) fn unpack_rr_to_scalar_s(rr: [R; 1]) -> S { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `pack_scalar_s` is never used [INFO] [stdout] --> src/parallel/repro.rs:16:8 [INFO] [stdout] | [INFO] [stdout] 16 | pub fn pack_scalar_s(value: S) -> [R; 1] { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `unpack_scalar_s` is never used [INFO] [stdout] --> src/parallel/repro.rs:28:8 [INFO] [stdout] | [INFO] [stdout] 28 | pub fn unpack_scalar_s(parts: [R; 1]) -> S { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `layout` is never read [INFO] [stdout] --> src/preconditioner/bddc/mod.rs:72:5 [INFO] [stdout] | [INFO] [stdout] 69 | struct BddcSymbolic { [INFO] [stdout] | ------------ field in this struct [INFO] [stdout] ... [INFO] [stdout] 72 | layout: Option, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `BddcSymbolic` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `extract_dense_operator` is never used [INFO] [stdout] --> src/preconditioner/bddc/mod.rs:211:8 [INFO] [stdout] | [INFO] [stdout] 97 | impl BddcPc { [INFO] [stdout] | ----------- associated function in this implementation [INFO] [stdout] ... [INFO] [stdout] 211 | fn extract_dense_operator(op: &dyn LinOp, n: usize) -> Result>, KError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `COMPLEX_SUPPORT` is never used [INFO] [stdout] --> src/preconditioner/approxinv.rs:637:15 [INFO] [stdout] | [INFO] [stdout] 637 | pub const COMPLEX_SUPPORT: &str = "native_complex"; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `complex_setup_fallback_reason` is never read [INFO] [stdout] --> src/preconditioner/approxinv_csr.rs:136:5 [INFO] [stdout] | [INFO] [stdout] 125 | pub struct SpaiCsr { [INFO] [stdout] | ------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 136 | complex_setup_fallback_reason: Option, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `inner_pc` is never read [INFO] [stdout] --> src/preconditioner/asm/mod.rs:44:5 [INFO] [stdout] | [INFO] [stdout] 40 | pub struct AsmPc { [INFO] [stdout] | ----- field in this struct [INFO] [stdout] ... [INFO] [stdout] 44 | inner_pc: AsmInnerPc, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `TestDiagMatrix` is never constructed [INFO] [stdout] --> src/preconditioner/block_jacobi.rs:494:12 [INFO] [stdout] | [INFO] [stdout] 494 | struct TestDiagMatrix { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/preconditioner/block_jacobi.rs:500:12 [INFO] [stdout] | [INFO] [stdout] 499 | impl TestDiagMatrix { [INFO] [stdout] | ------------------- associated function in this implementation [INFO] [stdout] 500 | fn new(diag: Vec) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `DistCoarsePolicy` is never used [INFO] [stdout] --> src/preconditioner/dist/coarse.rs:20:10 [INFO] [stdout] | [INFO] [stdout] 20 | pub enum DistCoarsePolicy { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Meta` is never used [INFO] [stdout] --> src/preconditioner/ilu_csr/csr_builder.rs:86:10 [INFO] [stdout] | [INFO] [stdout] 86 | pub enum Meta { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `RowBuilder` is never used [INFO] [stdout] --> src/preconditioner/ilu_csr/csr_builder.rs:96:11 [INFO] [stdout] | [INFO] [stdout] 96 | pub trait RowBuilder { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Ilu0Row` is never constructed [INFO] [stdout] --> src/preconditioner/ilu_csr/csr_builder.rs:111:12 [INFO] [stdout] | [INFO] [stdout] 111 | pub struct Ilu0Row<'a, S> { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/preconditioner/ilu_csr/csr_builder.rs:117:12 [INFO] [stdout] | [INFO] [stdout] 116 | impl<'a, S: KrystScalar> Ilu0Row<'a, S> { [INFO] [stdout] | --------------------------------------- associated function in this implementation [INFO] [stdout] 117 | pub fn new(cols: &'a [usize], vals: &'a mut [S]) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `IlukRow` is never constructed [INFO] [stdout] --> src/preconditioner/ilu_csr/csr_builder.rs:137:12 [INFO] [stdout] | [INFO] [stdout] 137 | pub struct IlukRow { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new` and `upsert` are never used [INFO] [stdout] --> src/preconditioner/ilu_csr/csr_builder.rs:146:12 [INFO] [stdout] | [INFO] [stdout] 145 | impl IlukRow { [INFO] [stdout] | ------------------------------------------------------ associated items in this implementation [INFO] [stdout] 146 | pub fn new(max_level: u32) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 157 | fn upsert(&mut self, col: usize, lev: u32, val: S) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `HeapElem` is never constructed [INFO] [stdout] --> src/preconditioner/ilu_csr/csr_builder.rs:232:8 [INFO] [stdout] | [INFO] [stdout] 232 | struct HeapElem { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `IlutRow` is never constructed [INFO] [stdout] --> src/preconditioner/ilu_csr/csr_builder.rs:259:12 [INFO] [stdout] | [INFO] [stdout] 259 | pub struct IlutRow { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/preconditioner/ilu_csr/csr_builder.rs:266:12 [INFO] [stdout] | [INFO] [stdout] 265 | impl IlutRow { [INFO] [stdout] | ------------------------------- associated function in this implementation [INFO] [stdout] 266 | pub fn new(p: usize, drop_tol: S::Real) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `add_to` is never used [INFO] [stdout] --> src/preconditioner/ilu_csr/row_work.rs:54:12 [INFO] [stdout] | [INFO] [stdout] 13 | impl RowWork { [INFO] [stdout] | ------------ method in this implementation [INFO] [stdout] ... [INFO] [stdout] 54 | pub fn add_to(&mut self, j: usize, delta: Real) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `NativeWithDegradedFallback` is never constructed [INFO] [stdout] --> src/utils/diagnostics.rs:17:5 [INFO] [stdout] | [INFO] [stdout] 14 | enum PcComplexSupport { [INFO] [stdout] | ---------------- variant in this enum [INFO] [stdout] ... [INFO] [stdout] 17 | NativeWithDegradedFallback, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `PcComplexSupport` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `effective_mode_with_comm` is never used [INFO] [stdout] --> src/utils/reduction.rs:77:4 [INFO] [stdout] | [INFO] [stdout] 77 | fn effective_mode_with_comm(opt: &ReductOptions, comm_repro: bool) -> ReproMode { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `convert_pair` is never used [INFO] [stdout] --> src/utils/reduction.rs:357:4 [INFO] [stdout] | [INFO] [stdout] 357 | fn convert_pair(buf: &[R]) -> (R, R) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `deterministic_reduce_vec` is never used [INFO] [stdout] --> src/utils/reduction.rs:362:4 [INFO] [stdout] | [INFO] [stdout] 362 | fn deterministic_reduce_vec(comm: &C, data: &[R], mode: ReproMode) -> Vec [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `L` should have a snake case name [INFO] [stdout] --> src/preconditioner/amg.rs:7920:9 [INFO] [stdout] | [INFO] [stdout] 7920 | let L = levels.len() - 1; [INFO] [stdout] | ^ help: convert the identifier to snake case: `l` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `neighbor_distribution_over_C_of` should have a snake case name [INFO] [stdout] --> src/preconditioner/amg/prolong.rs:473:4 [INFO] [stdout] | [INFO] [stdout] 473 | fn neighbor_distribution_over_C_of( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `neighbor_distribution_over_c_of` [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 2m 27s [INFO] running `Command { std: "docker" "inspect" "8258141a914b7f945bd8bda5b24741ae7683c0d8b6782dcdf99740546296dfad", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "8258141a914b7f945bd8bda5b24741ae7683c0d8b6782dcdf99740546296dfad", kill_on_drop: false }` [INFO] [stdout] 8258141a914b7f945bd8bda5b24741ae7683c0d8b6782dcdf99740546296dfad