[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] cf965f4a05a972eeaa653aacc3a4391ab6fa6425 [INFO] checking tmathis720/kryst against 615014f15745532730b9ce7a1d9309f8b4756f93 for pr-160491 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftmathis720%2Fkryst" "/workspace/builds/worker-3-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc2/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-3-tc2/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/tmathis720/kryst on toolchain 615014f15745532730b9ce7a1d9309f8b4756f93 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+615014f15745532730b9ce7a1d9309f8b4756f93" "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" "+615014f15745532730b9ce7a1d9309f8b4756f93" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:00c5645b54fe3ce5dae1417175e3c7fb6a6646c021d554ecd63a097b8b9f3602" "sleep" "infinity", kill_on_drop: false }` [INFO] [stdout] 01eabf1050834e8388b200d4d0d6b5b3deb800b1841d2150e3295704663e95c0 [INFO] running `Command { std: "docker" "start" "01eabf1050834e8388b200d4d0d6b5b3deb800b1841d2150e3295704663e95c0", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "01eabf1050834e8388b200d4d0d6b5b3deb800b1841d2150e3295704663e95c0", kill_on_drop: false }` [INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "01eabf1050834e8388b200d4d0d6b5b3deb800b1841d2150e3295704663e95c0" "/opt/rustwide/cargo-home/bin/cargo" "+615014f15745532730b9ce7a1d9309f8b4756f93" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "01eabf1050834e8388b200d4d0d6b5b3deb800b1841d2150e3295704663e95c0", kill_on_drop: false }` [INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-w" "/opt/rustwide/workdir" "--user" "0:0" "01eabf1050834e8388b200d4d0d6b5b3deb800b1841d2150e3295704663e95c0" "/opt/rustwide/cargo-home/bin/cargo" "+615014f15745532730b9ce7a1d9309f8b4756f93" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stderr] Compiling libm v0.2.15 [INFO] [stderr] Compiling libc v0.2.183 [INFO] [stderr] Checking rand_core v0.6.4 [INFO] [stderr] Checking bytemuck v1.25.0 [INFO] [stderr] Compiling syn v2.0.103 [INFO] [stderr] Checking bitflags v2.11.0 [INFO] [stderr] Compiling nano-gemm-codegen v0.2.1 [INFO] [stderr] Compiling pulp v0.22.2 [INFO] [stderr] Checking raw-cpuid v11.5.0 [INFO] [stderr] Checking reborrow v0.5.5 [INFO] [stderr] Checking pulp-wasm-simd-flag v0.1.0 [INFO] [stderr] Checking rand v0.8.5 [INFO] [stderr] Compiling getrandom v0.3.3 [INFO] [stderr] Compiling dyn-stack-macros v0.1.3 [INFO] [stderr] Compiling seq-macro v0.3.6 [INFO] [stderr] Compiling syn v1.0.109 [INFO] [stderr] Checking dyn-stack v0.13.2 [INFO] [stderr] Checking rand_core v0.10.0 [INFO] [stderr] Checking nano-gemm-core v0.2.1 [INFO] [stderr] Compiling nano-gemm-f64 v0.2.1 [INFO] [stderr] Compiling nano-gemm-f32 v0.2.1 [INFO] [stderr] Compiling nano-gemm-c32 v0.2.1 [INFO] [stderr] Compiling nano-gemm-c64 v0.2.1 [INFO] [stderr] Checking crossbeam-channel v0.5.15 [INFO] [stderr] Checking crossbeam-queue v0.3.12 [INFO] [stderr] Checking ucd-trie v0.1.7 [INFO] [stderr] Compiling defer v0.2.1 [INFO] [stderr] Checking rustix v1.1.4 [INFO] [stderr] Checking chacha20 v0.10.0 [INFO] [stderr] Checking num-traits v0.2.19 [INFO] [stderr] Checking crossbeam v0.8.4 [INFO] [stderr] Compiling equator-macro v0.6.0 [INFO] [stderr] Checking rand_core v0.9.3 [INFO] [stderr] Checking getrandom v0.4.2 [INFO] [stderr] Checking rand_chacha v0.9.0 [INFO] [stderr] Checking atomic-wait v1.1.0 [INFO] [stderr] Checking num_cpus v1.17.0 [INFO] [stderr] Checking num-complex v0.4.6 [INFO] [stderr] Checking num-integer v0.1.46 [INFO] [stderr] Checking rand v0.9.2 [INFO] [stderr] Checking num-bigint v0.4.6 [INFO] [stderr] Checking tempfile v3.27.0 [INFO] [stderr] Checking anstyle v1.0.11 [INFO] [stderr] Checking winnow v1.0.0 [INFO] [stderr] Checking generativity v1.1.0 [INFO] [stderr] Checking toml_parser v1.1.0+spec-1.1.0 [INFO] [stderr] Compiling cc v1.2.27 [INFO] [stderr] Compiling interpol v0.2.1 [INFO] [stderr] Compiling private-gemm-x86 v0.1.20 [INFO] [stderr] Compiling serde_derive v1.0.228 [INFO] [stderr] Compiling thiserror-impl v2.0.12 [INFO] [stderr] Checking gemm-common v0.19.0 [INFO] [stderr] Compiling equator-macro v0.4.2 [INFO] [stderr] Checking equator v0.4.2 [INFO] [stderr] Compiling thiserror v2.0.12 [INFO] [stderr] Compiling pest v2.8.0 [INFO] [stderr] Compiling pest_meta v2.8.0 [INFO] [stderr] Compiling equator-macro v0.2.1 [INFO] [stderr] Checking spindle v0.2.6 [INFO] [stderr] Checking gemm-c32 v0.19.0 [INFO] [stderr] Checking equator v0.2.2 [INFO] [stderr] Checking gemm-f32 v0.19.0 [INFO] [stderr] Checking gemm-c64 v0.19.0 [INFO] [stderr] Checking serde v1.0.228 [INFO] [stderr] Compiling pest_generator v2.8.0 [INFO] [stderr] Checking serde_json v1.0.140 [INFO] [stderr] Checking gemm-f64 v0.19.0 [INFO] [stderr] Checking qd v0.8.0 [INFO] [stderr] Checking faer-traits v0.24.0 [INFO] [stderr] Checking gemm v0.19.0 [INFO] [stderr] Compiling derive_more-impl v2.0.1 [INFO] [stderr] Checking rand_distr v0.5.1 [INFO] [stderr] Checking rand v0.10.0 [INFO] [stderr] Compiling pest_derive v2.8.0 [INFO] [stderr] Checking equator v0.6.0 [INFO] [stderr] Checking py_literal v0.4.0 [INFO] [stderr] Checking regex-automata v0.4.9 [INFO] [stderr] Checking toml_datetime v1.1.0+spec-1.1.0 [INFO] [stderr] Checking serde_spanned v1.1.0 [INFO] [stderr] Checking toml_writer v1.1.0+spec-1.1.0 [INFO] [stderr] Checking rand_distr v0.6.0 [INFO] [stderr] Compiling alloca v0.4.0 [INFO] [stderr] Compiling proc-macro-error-attr2 v2.0.0 [INFO] [stderr] Checking npyz v0.8.4 [INFO] [stderr] Checking nano-gemm v0.2.2 [INFO] [stderr] Checking toml v1.1.0+spec-1.1.0 [INFO] [stderr] Checking half v2.6.0 [INFO] [stderr] Checking clap_lex v0.7.5 [INFO] [stderr] Compiling iai-callgrind-runner v0.16.1 [INFO] [stderr] Checking clap_builder v4.5.48 [INFO] [stderr] Compiling derive_more v2.0.1 [INFO] [stderr] Checking faer v0.24.0 [INFO] [stderr] Compiling proc-macro-error2 v2.0.1 [INFO] [stderr] Checking ciborium-ll v0.2.2 [INFO] [stderr] Checking wait-timeout v0.2.1 [INFO] [stderr] Checking itertools v0.13.0 [INFO] [stderr] Checking bit-vec v0.8.0 [INFO] [stderr] Compiling iai-callgrind v0.16.1 [INFO] [stderr] Checking anstyle-query v1.1.3 [INFO] [stderr] Checking anstream v0.6.19 [INFO] [stderr] Checking bit-set v0.8.0 [INFO] [stderr] Checking rusty-fork v0.3.0 [INFO] [stderr] Checking ciborium v0.2.2 [INFO] [stderr] Checking tinytemplate v1.2.1 [INFO] [stderr] Checking bincode v1.3.3 [INFO] [stderr] Checking rand_xorshift v0.4.0 [INFO] [stderr] Checking page_size v0.6.0 [INFO] [stderr] Checking regex v1.11.1 [INFO] [stderr] Checking unarray v0.1.4 [INFO] [stderr] Checking jiff v0.2.15 [INFO] [stderr] Checking proptest v1.7.0 [INFO] [stderr] Compiling iai-callgrind-macros v0.6.1 [INFO] [stderr] Checking env_filter v0.1.3 [INFO] [stderr] Checking criterion-plot v0.8.2 [INFO] [stderr] Checking approx v0.5.1 [INFO] [stderr] Checking clap v4.5.48 [INFO] [stderr] Checking criterion v0.8.2 [INFO] [stderr] Checking env_logger v0.11.8 [INFO] [stderr] Checking kryst v4.6.0 (/opt/rustwide/workdir) [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 `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: 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] = 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: 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] = note: `#[warn(unreachable_code)]` (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:720:13 [INFO] [stdout] | [INFO] [stdout] 720 | sum_h2 = R::zero(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ this value is reassigned later and never used [INFO] [stdout] ... [INFO] [stdout] 723 | sum_h2 += hij * hij; [INFO] [stdout] | ------------------- `sum_h2` is overwritten here before the previous value is read [INFO] [stdout] | [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:723:17 [INFO] [stdout] | [INFO] [stdout] 723 | 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: 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] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `x_global_len` [INFO] [stdout] --> src/preconditioner/dist/block_jacobi_ilu.rs:507:13 [INFO] [stdout] | [INFO] [stdout] 507 | let x_global_len = x.global_len(); [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_x_global_len` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (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/ilu.rs:2445:31 [INFO] [stdout] | [INFO] [stdout] 2445 | let mut conditioned = None; [INFO] [stdout] | ^^^^ this value is reassigned later and never used [INFO] [stdout] ... [INFO] [stdout] 2449 | conditioned = Some(local); [INFO] [stdout] | ----------- `conditioned` is overwritten here before the previous value is read [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `sum_h2` is never read [INFO] [stdout] --> src/context/ksp_context/workspace.rs:720:13 [INFO] [stdout] | [INFO] [stdout] 720 | sum_h2 = R::zero(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ this value is reassigned later and never used [INFO] [stdout] ... [INFO] [stdout] 723 | sum_h2 += hij * hij; [INFO] [stdout] | ------------------- `sum_h2` is overwritten here before the previous value is read [INFO] [stdout] | [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:723:17 [INFO] [stdout] | [INFO] [stdout] 723 | 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 `conditioned` is never read [INFO] [stdout] --> src/preconditioner/ilutp.rs:440:31 [INFO] [stdout] | [INFO] [stdout] 440 | let mut conditioned = None; [INFO] [stdout] | ^^^^ this value is reassigned later and never used [INFO] [stdout] ... [INFO] [stdout] 444 | conditioned = Some(local); [INFO] [stdout] | ----------- `conditioned` is overwritten here before the previous value is 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] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ this value is reassigned later and never used [INFO] [stdout] ... [INFO] [stdout] 152 | reason = stop_reason; [INFO] [stdout] | -------------------- `reason` is overwritten here before the previous value is read [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/solver/gmres.rs:675:17 [INFO] [stdout] | [INFO] [stdout] 675 | let mut stats = stats.with_counters(counters); [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/solver/gmres.rs:1269:13 [INFO] [stdout] | [INFO] [stdout] 1269 | let mut stats = stats.with_counters(counters); [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/solver/gmres.rs:1565:17 [INFO] [stdout] | [INFO] [stdout] 1565 | let mut stats = stats.with_counters(counters); [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/solver/gmres.rs:2231:13 [INFO] [stdout] | [INFO] [stdout] 2231 | let mut stats = stats.with_counters(counters); [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `red_engine` [INFO] [stdout] --> src/solver/gmres.rs:1393:13 [INFO] [stdout] | [INFO] [stdout] 1393 | 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: variable does not need to be mutable [INFO] [stdout] --> src/solver/fgmres.rs:1060:17 [INFO] [stdout] | [INFO] [stdout] 1060 | let mut stats = stats.with_counters(counters); [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/solver/fgmres.rs:1614:13 [INFO] [stdout] | [INFO] [stdout] 1614 | let mut stats = stats [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [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:149:9 [INFO] [stdout] | [INFO] [stdout] 149 | let n = a.nrows(); [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_n` [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] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [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:22:10 [INFO] [stdout] | [INFO] [stdout] 22 | pub enum DistCoarsePolicy { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `local_apply_mode` is never read [INFO] [stdout] --> src/preconditioner/dist/block_jacobi_ilu.rs:377:5 [INFO] [stdout] | [INFO] [stdout] 369 | pub struct BlockJacobiLocalPc [INFO] [stdout] | ------------------ field in this struct [INFO] [stdout] ... [INFO] [stdout] 377 | local_apply_mode: DistLocalApplyMode, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `local_apply_mode` is never read [INFO] [stdout] --> src/preconditioner/dist/block_jacobi_ilu.rs:471:5 [INFO] [stdout] | [INFO] [stdout] 466 | pub struct BlockJacobiObjPc { [INFO] [stdout] | ---------------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 471 | local_apply_mode: DistLocalApplyMode, [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: fields `tag` and `reason` are never read [INFO] [stdout] --> src/solver/fgmres.rs:94:16 [INFO] [stdout] | [INFO] [stdout] 89 | pub(crate) struct DistCsrPolicyDecision { [INFO] [stdout] | --------------------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 94 | pub(crate) tag: &'static str, [INFO] [stdout] | ^^^ [INFO] [stdout] 95 | pub(crate) reason: &'static str, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `DistCsrPolicyDecision` 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: 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: 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: unused variable: `x_global_len` [INFO] [stdout] --> src/preconditioner/dist/block_jacobi_ilu.rs:507:13 [INFO] [stdout] | [INFO] [stdout] 507 | let x_global_len = x.global_len(); [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_x_global_len` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [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: 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: value assigned to `conditioned` is never read [INFO] [stdout] --> src/preconditioner/ilu.rs:2445:31 [INFO] [stdout] | [INFO] [stdout] 2445 | let mut conditioned = None; [INFO] [stdout] | ^^^^ this value is reassigned later and never used [INFO] [stdout] ... [INFO] [stdout] 2449 | conditioned = Some(local); [INFO] [stdout] | ----------- `conditioned` is overwritten here before the previous value is read [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `rz` is never read [INFO] [stdout] --> src/preconditioner/ilu.rs:2955:17 [INFO] [stdout] | [INFO] [stdout] 2955 | 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/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: 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] | ^^^^ this value is reassigned later and never used [INFO] [stdout] ... [INFO] [stdout] 444 | conditioned = Some(local); [INFO] [stdout] | ----------- `conditioned` is overwritten here before the previous value is read [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: 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 `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] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ this value is reassigned later and never used [INFO] [stdout] ... [INFO] [stdout] 152 | reason = stop_reason; [INFO] [stdout] | -------------------- `reason` is overwritten here before the previous value is read [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] --> src/solver/gmres.rs:675:17 [INFO] [stdout] | [INFO] [stdout] 675 | let mut stats = stats.with_counters(counters); [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/solver/gmres.rs:1269:13 [INFO] [stdout] | [INFO] [stdout] 1269 | let mut stats = stats.with_counters(counters); [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/solver/gmres.rs:1565:17 [INFO] [stdout] | [INFO] [stdout] 1565 | let mut stats = stats.with_counters(counters); [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/solver/gmres.rs:2231:13 [INFO] [stdout] | [INFO] [stdout] 2231 | let mut stats = stats.with_counters(counters); [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `red_engine` [INFO] [stdout] --> src/solver/gmres.rs:1393:13 [INFO] [stdout] | [INFO] [stdout] 1393 | 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: variable does not need to be mutable [INFO] [stdout] --> src/solver/fgmres.rs:1060:17 [INFO] [stdout] | [INFO] [stdout] 1060 | let mut stats = stats.with_counters(counters); [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/solver/fgmres.rs:1614:13 [INFO] [stdout] | [INFO] [stdout] 1614 | let mut stats = stats [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [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: 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 `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 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 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: 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: unused variable: `n` [INFO] [stdout] --> src/utils/permutation.rs:149:9 [INFO] [stdout] | [INFO] [stdout] 149 | let n = a.nrows(); [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_n` [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: 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] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [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:22:10 [INFO] [stdout] | [INFO] [stdout] 22 | pub enum DistCoarsePolicy { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `local_apply_mode` is never read [INFO] [stdout] --> src/preconditioner/dist/block_jacobi_ilu.rs:377:5 [INFO] [stdout] | [INFO] [stdout] 369 | pub struct BlockJacobiLocalPc [INFO] [stdout] | ------------------ field in this struct [INFO] [stdout] ... [INFO] [stdout] 377 | local_apply_mode: DistLocalApplyMode, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `local_apply_mode` is never read [INFO] [stdout] --> src/preconditioner/dist/block_jacobi_ilu.rs:471:5 [INFO] [stdout] | [INFO] [stdout] 466 | pub struct BlockJacobiObjPc { [INFO] [stdout] | ---------------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 471 | local_apply_mode: DistLocalApplyMode, [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: fields `tag` and `reason` are never read [INFO] [stdout] --> src/solver/fgmres.rs:94:16 [INFO] [stdout] | [INFO] [stdout] 89 | pub(crate) struct DistCsrPolicyDecision { [INFO] [stdout] | --------------------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 94 | pub(crate) tag: &'static str, [INFO] [stdout] | ^^^ [INFO] [stdout] 95 | pub(crate) reason: &'static str, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `DistCsrPolicyDecision` 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: 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] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 2m 59s [INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: proc-macro-error2 v2.0.1 [INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 8` [INFO] running `Command { std: "docker" "inspect" "01eabf1050834e8388b200d4d0d6b5b3deb800b1841d2150e3295704663e95c0", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "01eabf1050834e8388b200d4d0d6b5b3deb800b1841d2150e3295704663e95c0", kill_on_drop: false }` [INFO] [stdout] 01eabf1050834e8388b200d4d0d6b5b3deb800b1841d2150e3295704663e95c0