[INFO] cloning repository https://github.com/hlinander/3dgs
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/hlinander/3dgs" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fhlinander%2F3dgs", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fhlinander%2F3dgs'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 9e7cf44e531983f656cefb4e09783dedebb74984
[INFO] testing hlinander/3dgs against try#db823df02fd0c2cf67b43025ac3fef3f2d743245 for pr-150681-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fhlinander%2F3dgs" "/workspace/builds/worker-0-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/hlinander/3dgs
[INFO] finished tweaking git repo https://github.com/hlinander/3dgs
[INFO] tweaked toml for git repo https://github.com/hlinander/3dgs written to /workspace/builds/worker-0-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/hlinander/3dgs on toolchain db823df02fd0c2cf67b43025ac3fef3f2d743245
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+db823df02fd0c2cf67b43025ac3fef3f2d743245" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/hlinander/3dgs 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" "+db823df02fd0c2cf67b43025ac3fef3f2d743245" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+db823df02fd0c2cf67b43025ac3fef3f2d743245" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 2b3f82286406eaed0b409fc426d28edb2258bca6c108a7b4c736cf41d0f1e4a7
[INFO] running `Command { std: "docker" "start" "-a" "2b3f82286406eaed0b409fc426d28edb2258bca6c108a7b4c736cf41d0f1e4a7", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "2b3f82286406eaed0b409fc426d28edb2258bca6c108a7b4c736cf41d0f1e4a7", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "2b3f82286406eaed0b409fc426d28edb2258bca6c108a7b4c736cf41d0f1e4a7", kill_on_drop: false }`
[INFO] [stdout] 2b3f82286406eaed0b409fc426d28edb2258bca6c108a7b4c736cf41d0f1e4a7
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=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:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+db823df02fd0c2cf67b43025ac3fef3f2d743245" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] b668192e7c007ce8ff774f8201e8c88a5fa144f16e98a6af523cd1648a4f9cda
[INFO] running `Command { std: "docker" "start" "-a" "b668192e7c007ce8ff774f8201e8c88a5fa144f16e98a6af523cd1648a4f9cda", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.85
[INFO] [stderr]    Compiling unicode-ident v1.0.12
[INFO] [stderr]    Compiling autocfg v1.3.0
[INFO] [stderr]    Compiling libc v0.2.155
[INFO] [stderr]    Compiling libm v0.2.8
[INFO] [stderr]    Compiling ppv-lite86 v0.2.17
[INFO] [stderr]    Compiling crossbeam-utils v0.8.20
[INFO] [stderr]    Compiling serde v1.0.203
[INFO] [stderr]    Compiling either v1.12.0
[INFO] [stderr]    Compiling once_cell v1.19.0
[INFO] [stderr]    Compiling bitflags v1.3.2
[INFO] [stderr]    Compiling thiserror v1.0.61
[INFO] [stderr]    Compiling reborrow v0.5.5
[INFO] [stderr]    Compiling seq-macro v0.3.5
[INFO] [stderr]    Compiling simd-adler32 v0.3.7
[INFO] [stderr]    Compiling hashbrown v0.14.5
[INFO] [stderr]    Compiling raw-cpuid v10.7.0
[INFO] [stderr]    Compiling toml_datetime v0.6.6
[INFO] [stderr]    Compiling winnow v0.5.40
[INFO] [stderr]    Compiling anyhow v1.0.86
[INFO] [stderr]    Compiling miniz_oxide v0.7.3
[INFO] [stderr]    Compiling aligned-vec v0.5.0
[INFO] [stderr]    Compiling serde_json v1.0.117
[INFO] [stderr]    Compiling memchr v2.7.4
[INFO] [stderr]    Compiling built v0.7.3
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling lock_api v0.4.12
[INFO] [stderr]    Compiling minimal-lexical v0.2.1
[INFO] [stderr]    Compiling arrayvec v0.7.4
[INFO] [stderr]    Compiling matrixmultiply v0.3.8
[INFO] [stderr]    Compiling log v0.4.21
[INFO] [stderr]    Compiling zip v1.1.4
[INFO] [stderr]    Compiling itoa v1.0.11
[INFO] [stderr]    Compiling rav1e v0.7.1
[INFO] [stderr]    Compiling quote v1.0.36
[INFO] [stderr]    Compiling crossbeam-epoch v0.9.18
[INFO] [stderr]    Compiling indexmap v2.2.6
[INFO] [stderr]    Compiling nom v7.1.3
[INFO] [stderr]    Compiling stable_deref_trait v1.2.0
[INFO] [stderr]    Compiling spin v0.9.8
[INFO] [stderr]    Compiling flate2 v1.0.30
[INFO] [stderr]    Compiling getrandom v0.2.15
[INFO] [stderr]    Compiling syn v2.0.66
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]    Compiling anstyle-parse v0.2.4
[INFO] [stderr]    Compiling itertools v0.12.1
[INFO] [stderr]    Compiling crossbeam-deque v0.8.5
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]    Compiling simd_helpers v0.1.0
[INFO] [stderr]    Compiling is_terminal_polyfill v1.70.0
[INFO] [stderr]    Compiling new_debug_unreachable v1.0.6
[INFO] [stderr]    Compiling weezl v0.1.8
[INFO] [stderr]    Compiling anstyle-query v1.1.0
[INFO] [stderr]    Compiling colorchoice v1.0.1
[INFO] [stderr]    Compiling rayon-core v1.12.1
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling imgref v1.10.1
[INFO] [stderr]    Compiling noop_proc_macro v0.3.0
[INFO] [stderr]    Compiling anstyle v1.0.7
[INFO] [stderr]    Compiling rawpointer v0.2.1
[INFO] [stderr]    Compiling bitstream-io v2.3.0
[INFO] [stderr]    Compiling num-integer v0.1.46
[INFO] [stderr]    Compiling rand v0.8.5
[INFO] [stderr]    Compiling v_frame v0.3.8
[INFO] [stderr]    Compiling anstream v0.6.14
[INFO] [stderr]    Compiling loop9 v0.1.5
[INFO] [stderr]    Compiling approx v0.4.0
[INFO] [stderr]    Compiling flume v0.11.0
[INFO] [stderr]    Compiling num_cpus v1.16.0
[INFO] [stderr]    Compiling memmap2 v0.9.4
[INFO] [stderr]    Compiling rayon v1.10.0
[INFO] [stderr]    Compiling num-bigint v0.4.5
[INFO] [stderr]    Compiling lapack-sys v0.14.0
[INFO] [stderr]    Compiling cblas-sys v0.1.4
[INFO] [stderr]    Compiling avif-serialize v0.8.1
[INFO] [stderr]    Compiling fdeflate v0.3.4
[INFO] [stderr]    Compiling zune-inflate v0.2.54
[INFO] [stderr]    Compiling bit_field v0.10.2
[INFO] [stderr]    Compiling toml_edit v0.21.1
[INFO] [stderr]    Compiling smallvec v1.13.2
[INFO] [stderr]    Compiling quick-error v2.0.1
[INFO] [stderr]    Compiling jpeg-decoder v0.3.1
[INFO] [stderr]    Compiling rand_distr v0.4.3
[INFO] [stderr]    Compiling color_quant v1.1.0
[INFO] [stderr]    Compiling byteorder-lite v0.1.0
[INFO] [stderr]    Compiling lebe v0.5.2
[INFO] [stderr]    Compiling zune-core v0.4.12
[INFO] [stderr]    Compiling clap_lex v0.7.1
[INFO] [stderr]    Compiling clap_builder v4.5.7
[INFO] [stderr]    Compiling zune-jpeg v0.4.11
[INFO] [stderr]    Compiling tiff v0.9.1
[INFO] [stderr]    Compiling num-rational v0.4.2
[INFO] [stderr]    Compiling gif v0.13.1
[INFO] [stderr]    Compiling proc-macro-crate v3.1.0
[INFO] [stderr]    Compiling av1-grain v0.2.3
[INFO] [stderr]    Compiling png v0.17.13
[INFO] [stderr]    Compiling itertools v0.13.0
[INFO] [stderr]    Compiling maybe-rayon v0.1.1
[INFO] [stderr]    Compiling synstructure v0.13.1
[INFO] [stderr]    Compiling clap v4.5.7
[INFO] [stderr]    Compiling katexit v0.1.4
[INFO] [stderr]    Compiling bytemuck_derive v1.7.0
[INFO] [stderr]    Compiling serde_derive v1.0.203
[INFO] [stderr]    Compiling thiserror-impl v1.0.61
[INFO] [stderr]    Compiling num_enum_derive v0.7.2
[INFO] [stderr]    Compiling profiling-procmacros v1.0.15
[INFO] [stderr]    Compiling zerofrom-derive v0.1.4
[INFO] [stderr]    Compiling arg_enum_proc_macro v0.3.4
[INFO] [stderr]    Compiling displaydoc v0.2.4
[INFO] [stderr]    Compiling num-derive v0.4.2
[INFO] [stderr]    Compiling yoke-derive v0.7.4
[INFO] [stderr]    Compiling profiling v1.0.15
[INFO] [stderr]    Compiling num_enum v0.7.2
[INFO] [stderr]    Compiling bytemuck v1.16.0
[INFO] [stderr]    Compiling zerofrom v0.1.4
[INFO] [stderr]    Compiling image-webp v0.1.2
[INFO] [stderr]    Compiling yoke v0.7.4
[INFO] [stderr]    Compiling half v2.4.1
[INFO] [stderr]    Compiling dyn-stack v0.10.0
[INFO] [stderr]    Compiling rgb v0.8.37
[INFO] [stderr]    Compiling qoi v0.4.1
[INFO] [stderr]    Compiling exr v1.72.0
[INFO] [stderr]    Compiling num-complex v0.4.6
[INFO] [stderr]    Compiling pulp v0.18.21
[INFO] [stderr]    Compiling cauchy v0.4.0
[INFO] [stderr]    Compiling ndarray v0.15.6
[INFO] [stderr]    Compiling lax v0.16.0
[INFO] [stderr]    Compiling ravif v0.11.5
[INFO] [stderr]    Compiling safetensors v0.4.3
[INFO] [stderr]    Compiling image v0.25.1
[INFO] [stderr]    Compiling gemm-common v0.17.1
[INFO] [stderr]    Compiling gemm-f32 v0.17.1
[INFO] [stderr]    Compiling gemm-f64 v0.17.1
[INFO] [stderr]    Compiling gemm-c64 v0.17.1
[INFO] [stderr]    Compiling gemm-c32 v0.17.1
[INFO] [stderr]    Compiling gemm-f16 v0.17.1
[INFO] [stderr]    Compiling gemm v0.17.1
[INFO] [stderr]    Compiling candle-core v0.5.1
[INFO] [stderr]    Compiling ndarray-linalg v0.16.0
[INFO] [stderr]    Compiling candle-nn v0.5.1
[INFO] [stderr]    Compiling bitnet v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] error[E0463]: can't find crate for `accelerate_src`
[INFO] [stdout]  --> src/gauss.rs:2:1
[INFO] [stdout]   |
[INFO] [stdout] 2 | extern crate accelerate_src;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ can't find crate
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0463]: can't find crate for `accelerate_src`
[INFO] [stdout]  --> src/gauss.rs:2:1
[INFO] [stdout]   |
[INFO] [stdout] 2 | extern crate accelerate_src;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ can't find crate
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `duckdb`
[INFO] [stdout]  --> src/gauss.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use duckdb::{params, Connection, Result};
[INFO] [stdout]   |     ^^^^^^ use of unresolved module or unlinked crate `duckdb`
[INFO] [stdout]   |
[INFO] [stdout]   = help: if you wanted to use a crate named `duckdb`, use `cargo add duckdb` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `duckdb`
[INFO] [stdout]  --> src/gauss.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use duckdb::{params, Connection, Result};
[INFO] [stdout]   |     ^^^^^^ use of unresolved module or unlinked crate `duckdb`
[INFO] [stdout]   |
[INFO] [stdout]   = help: if you wanted to use a crate named `duckdb`, use `cargo add duckdb` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ndarray_linalg::cholesky::*`
[INFO] [stdout]   --> src/gauss_full.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use ndarray_linalg::cholesky::*;
[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: `IndexOp`
[INFO] [stdout]  --> src/gauss.rs:4:34
[INFO] [stdout]   |
[INFO] [stdout] 4 | use candle_core::{DType, Device, IndexOp};
[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: `ndarray_linalg::cholesky::*`
[INFO] [stdout]   --> src/gauss.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use ndarray_linalg::cholesky::*;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rand::Rng`
[INFO] [stdout]   --> src/gauss_full.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use rand::Rng;
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::time::Instant`
[INFO] [stdout]   --> src/gauss.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use std::time::Instant;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `io::Cursor` and `process::exit`
[INFO] [stdout]   --> src/gauss.rs:13:11
[INFO] [stdout]    |
[INFO] [stdout] 13 | use std::{io::Cursor, process::exit};
[INFO] [stdout]    |           ^^^^^^^^^^  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `io::Cursor` and `process::exit`
[INFO] [stdout]   --> src/gauss_full.rs:14:11
[INFO] [stdout]    |
[INFO] [stdout] 14 | use std::{io::Cursor, process::exit};
[INFO] [stdout]    |           ^^^^^^^^^^  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]    --> src/gauss.rs:236:27
[INFO] [stdout]     |
[INFO] [stdout] 236 |         let scale_shift = (&self.scale);
[INFO] [stdout]     |                           ^           ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 236 -         let scale_shift = (&self.scale);
[INFO] [stdout] 236 +         let scale_shift = &self.scale;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]    --> src/gauss.rs:477:27
[INFO] [stdout]     |
[INFO] [stdout] 477 |         let scale_shift = (&self.scale);
[INFO] [stdout]     |                           ^           ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 477 -         let scale_shift = (&self.scale);
[INFO] [stdout] 477 +         let scale_shift = &self.scale;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find derive macro `Parser` in this scope
[INFO] [stdout]    --> src/main.rs:390:10
[INFO] [stdout]     |
[INFO] [stdout] 390 | #[derive(Parser)]
[INFO] [stdout]     |          ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] note: `Parser` is imported here, but it is only a trait, without a derive macro
[INFO] [stdout]    --> src/main.rs:7:5
[INFO] [stdout]     |
[INFO] [stdout]   7 | use clap::Parser;
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `arg` in this scope
[INFO] [stdout]    --> src/main.rs:392:7
[INFO] [stdout]     |
[INFO] [stdout] 392 |     #[arg(long)]
[INFO] [stdout]     |       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `arg` in this scope
[INFO] [stdout]    --> src/main.rs:395:7
[INFO] [stdout]     |
[INFO] [stdout] 395 |     #[arg(long, default_value_t = 2000000)]
[INFO] [stdout]     |       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/main.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::collections::HashMap;
[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::process::exit`
[INFO] [stdout]  --> src/main.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::process::exit;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `thread_rng`
[INFO] [stdout]  --> src/main.rs:9:12
[INFO] [stdout]   |
[INFO] [stdout] 9 | use rand::{thread_rng, Rng};
[INFO] [stdout]   |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Result`
[INFO] [stdout]   --> src/main.rs:11:15
[INFO] [stdout]    |
[INFO] [stdout] 11 | use std::io::{Result, Write};
[INFO] [stdout]    |               ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `IndexOp`
[INFO] [stdout]  --> src/gauss.rs:4:34
[INFO] [stdout]   |
[INFO] [stdout] 4 | use candle_core::{DType, Device, IndexOp};
[INFO] [stdout]   |                                  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ndarray_linalg::cholesky::*`
[INFO] [stdout]   --> src/gauss.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use ndarray_linalg::cholesky::*;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::time::Instant`
[INFO] [stdout]   --> src/gauss.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use std::time::Instant;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `io::Cursor` and `process::exit`
[INFO] [stdout]   --> src/gauss.rs:13:11
[INFO] [stdout]    |
[INFO] [stdout] 13 | use std::{io::Cursor, process::exit};
[INFO] [stdout]    |           ^^^^^^^^^^  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]    --> src/gauss.rs:236:27
[INFO] [stdout]     |
[INFO] [stdout] 236 |         let scale_shift = (&self.scale);
[INFO] [stdout]     |                           ^           ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 236 -         let scale_shift = (&self.scale);
[INFO] [stdout] 236 +         let scale_shift = &self.scale;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]    --> src/gauss.rs:477:27
[INFO] [stdout]     |
[INFO] [stdout] 477 |         let scale_shift = (&self.scale);
[INFO] [stdout]     |                           ^           ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 477 -         let scale_shift = (&self.scale);
[INFO] [stdout] 477 +         let scale_shift = &self.scale;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::time::Instant`
[INFO] [stdout]   --> src/keeloq.rs:59:5
[INFO] [stdout]    |
[INFO] [stdout] 59 | use std::time::Instant;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ndarray::prelude`
[INFO] [stdout]   --> src/gauss_full.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use ndarray::prelude::*;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable expression
[INFO] [stdout]    --> src/gauss.rs:648:5
[INFO] [stdout]     |
[INFO] [stdout] 639 |     panic!();
[INFO] [stdout]     |     -------- any code following this expression is unreachable
[INFO] [stdout] ...
[INFO] [stdout] 648 |     Ok(screen)
[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: unreachable expression
[INFO] [stdout]    --> src/gauss.rs:766:5
[INFO] [stdout]     |
[INFO] [stdout] 710 | /     loop {
[INFO] [stdout] 711 | |         // let screen = splats.render(device, res)?;
[INFO] [stdout] 712 | |         let (screen, indices) = splats.render_sparse(device, res, 1.0)?;
[INFO] [stdout] ...   |
[INFO] [stdout] 762 | |     }
[INFO] [stdout]     | |_____- any code following this expression is unreachable
[INFO] [stdout] ...
[INFO] [stdout] 766 |       Ok(())
[INFO] [stdout]     |       ^^^^^^ unreachable expression
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable expression
[INFO] [stdout]    --> src/gauss.rs:890:5
[INFO] [stdout]     |
[INFO] [stdout] 824 | /     loop {
[INFO] [stdout] 825 | |         // let screen = splats.render(device, res)?;
[INFO] [stdout] 826 | |         // let t = Instant::now();
[INFO] [stdout] 827 | |         let screen = splats.render(res, device)?;
[INFO] [stdout] ...   |
[INFO] [stdout] 886 | |     }
[INFO] [stdout]     | |_____- any code following this expression is unreachable
[INFO] [stdout] ...
[INFO] [stdout] 890 |       Ok(())
[INFO] [stdout]     |       ^^^^^^ unreachable expression
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable expression
[INFO] [stdout]    --> src/gauss.rs:648:5
[INFO] [stdout]     |
[INFO] [stdout] 639 |     panic!();
[INFO] [stdout]     |     -------- any code following this expression is unreachable
[INFO] [stdout] ...
[INFO] [stdout] 648 |     Ok(screen)
[INFO] [stdout]     |     ^^^^^^^^^^ unreachable expression
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ndarray::prelude`
[INFO] [stdout]  --> src/gauss.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use ndarray::prelude::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `epoch`
[INFO] [stdout]    --> src/gauss_full.rs:427:9
[INFO] [stdout]     |
[INFO] [stdout] 427 |     for epoch in 0..config.epochs {
[INFO] [stdout]     |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_epoch`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable expression
[INFO] [stdout]    --> src/gauss.rs:766:5
[INFO] [stdout]     |
[INFO] [stdout] 710 | /     loop {
[INFO] [stdout] 711 | |         // let screen = splats.render(device, res)?;
[INFO] [stdout] 712 | |         let (screen, indices) = splats.render_sparse(device, res, 1.0)?;
[INFO] [stdout] ...   |
[INFO] [stdout] 762 | |     }
[INFO] [stdout]     | |_____- any code following this expression is unreachable
[INFO] [stdout] ...
[INFO] [stdout] 766 |       Ok(())
[INFO] [stdout]     |       ^^^^^^ unreachable expression
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable expression
[INFO] [stdout]    --> src/gauss.rs:890:5
[INFO] [stdout]     |
[INFO] [stdout] 824 | /     loop {
[INFO] [stdout] 825 | |         // let screen = splats.render(device, res)?;
[INFO] [stdout] 826 | |         // let t = Instant::now();
[INFO] [stdout] 827 | |         let screen = splats.render(res, device)?;
[INFO] [stdout] ...   |
[INFO] [stdout] 886 | |     }
[INFO] [stdout]     | |_____- any code following this expression is unreachable
[INFO] [stdout] ...
[INFO] [stdout] 890 |       Ok(())
[INFO] [stdout]     |       ^^^^^^ unreachable expression
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `device`
[INFO] [stdout]    --> src/gauss_full.rs:528:9
[INFO] [stdout]     |
[INFO] [stdout] 528 |     let device = match candle_core::Device::new_cuda(0) {
[INFO] [stdout]     |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_device`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `trained_splats`
[INFO] [stdout]    --> src/gauss_full.rs:541:9
[INFO] [stdout]     |
[INFO] [stdout] 541 |     let trained_splats = train_splats(
[INFO] [stdout]     |         ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_trained_splats`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `create_J` is never used
[INFO] [stdout]    --> src/gauss_full.rs:310:8
[INFO] [stdout]     |
[INFO] [stdout]  30 | impl FastSplats {
[INFO] [stdout]     | --------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 310 |     fn create_J(
[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 `generate_target_from_splats` is never used
[INFO] [stdout]    --> src/gauss_full.rs:517:4
[INFO] [stdout]     |
[INFO] [stdout] 517 | fn generate_target_from_splats(device: &Device) -> Result<candle_core::Tensor, candle_core::Error> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `M` should have a snake case name
[INFO] [stdout]   --> src/gauss_full.rs:51:13
[INFO] [stdout]    |
[INFO] [stdout] 51 |         let M = candle_core::Tensor::new(
[INFO] [stdout]    |             ^ help: convert the identifier to snake case: `m`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `Mqq` should have a snake case name
[INFO] [stdout]    --> src/gauss_full.rs:181:13
[INFO] [stdout]     |
[INFO] [stdout] 181 |         let Mqq = self
[INFO] [stdout]     |             ^^^ help: convert the identifier to snake case: `mqq`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `Mqqmat` should have a snake case name
[INFO] [stdout]    --> src/gauss_full.rs:186:13
[INFO] [stdout]     |
[INFO] [stdout] 186 |         let Mqqmat = Mqq.matmul(&bquat)?;
[INFO] [stdout]     |             ^^^^^^ help: convert the identifier to snake case: `mqqmat`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `Mqqmat2` should have a snake case name
[INFO] [stdout]    --> src/gauss_full.rs:187:13
[INFO] [stdout]     |
[INFO] [stdout] 187 |         let Mqqmat2 = Mqqmat
[INFO] [stdout]     |             ^^^^^^^ help: convert the identifier to snake case: `mqqmat2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `two_s_M` should have a snake case name
[INFO] [stdout]    --> src/gauss_full.rs:198:13
[INFO] [stdout]     |
[INFO] [stdout] 198 |         let two_s_M = (two_s * Mqqmat2)?;
[INFO] [stdout]     |             ^^^^^^^ help: convert the identifier to snake case: `two_s_m`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `R` should have a snake case name
[INFO] [stdout]    --> src/gauss_full.rs:213:13
[INFO] [stdout]     |
[INFO] [stdout] 213 |         let R = self.rot(device)?;
[INFO] [stdout]     |             ^ help: convert the identifier to snake case: `r`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `W` should have a snake case name
[INFO] [stdout]    --> src/gauss_full.rs:235:13
[INFO] [stdout]     |
[INFO] [stdout] 235 |         let W = candle_core::Tensor::new(
[INFO] [stdout]     |             ^ help: convert the identifier to snake case (notice the capitalization): `w`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `W_expanded` should have a snake case name
[INFO] [stdout]    --> src/gauss_full.rs:247:13
[INFO] [stdout]     |
[INFO] [stdout] 247 |         let W_expanded = W
[INFO] [stdout]     |             ^^^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `w_expanded`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `J` should have a snake case name
[INFO] [stdout]    --> src/gauss_full.rs:266:13
[INFO] [stdout]     |
[INFO] [stdout] 266 |         let J = self.create_Jinv(&u, device)?;
[INFO] [stdout]     |             ^ help: convert the identifier to snake case: `j`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `C` should have a snake case name
[INFO] [stdout]    --> src/gauss_full.rs:279:13
[INFO] [stdout]     |
[INFO] [stdout] 279 |         let C = cov_transformed
[INFO] [stdout]     |             ^ help: convert the identifier to snake case (notice the capitalization): `c`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `create_J` should have a snake case name
[INFO] [stdout]    --> src/gauss_full.rs:310:8
[INFO] [stdout]     |
[INFO] [stdout] 310 |     fn create_J(
[INFO] [stdout]     |        ^^^^^^^^ help: convert the identifier to snake case: `create_j`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `J` should have a snake case name
[INFO] [stdout]    --> src/gauss_full.rs:322:13
[INFO] [stdout]     |
[INFO] [stdout] 322 |         let J = candle_core::Tensor::zeros((self.n_splats, 3, 3), DType::F32, device)?;
[INFO] [stdout]     |             ^ help: convert the identifier to snake case: `j`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `J` should have a snake case name
[INFO] [stdout]    --> src/gauss_full.rs:323:13
[INFO] [stdout]     |
[INFO] [stdout] 323 |         let J = J.slice_assign(&[0..self.n_splats, 0..1, 0..1], &one_over_u2)?;
[INFO] [stdout]     |             ^ help: convert the identifier to snake case: `j`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `J` should have a snake case name
[INFO] [stdout]    --> src/gauss_full.rs:324:13
[INFO] [stdout]     |
[INFO] [stdout] 324 |         let J = J.slice_assign(&[0..self.n_splats, 1..2, 1..2], &one_over_u2)?;
[INFO] [stdout]     |             ^ help: convert the identifier to snake case: `j`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `J` should have a snake case name
[INFO] [stdout]    --> src/gauss_full.rs:325:13
[INFO] [stdout]     |
[INFO] [stdout] 325 |         let J = J.slice_assign(
[INFO] [stdout]     |             ^ help: convert the identifier to snake case: `j`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `J` should have a snake case name
[INFO] [stdout]    --> src/gauss_full.rs:329:13
[INFO] [stdout]     |
[INFO] [stdout] 329 |         let J = J.slice_assign(
[INFO] [stdout]     |             ^ help: convert the identifier to snake case: `j`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `J` should have a snake case name
[INFO] [stdout]    --> src/gauss_full.rs:333:13
[INFO] [stdout]     |
[INFO] [stdout] 333 |         let J = J.slice_assign(&[0..self.n_splats, 2..3, 0..1], &(&u0 * &one_over_u_norm)?)?;
[INFO] [stdout]     |             ^ help: convert the identifier to snake case: `j`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `J` should have a snake case name
[INFO] [stdout]    --> src/gauss_full.rs:334:13
[INFO] [stdout]     |
[INFO] [stdout] 334 |         let J = J.slice_assign(&[0..self.n_splats, 2..3, 1..2], &(&u1 * &one_over_u_norm)?)?;
[INFO] [stdout]     |             ^ help: convert the identifier to snake case: `j`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `J` should have a snake case name
[INFO] [stdout]    --> src/gauss_full.rs:335:13
[INFO] [stdout]     |
[INFO] [stdout] 335 |         let J = J.slice_assign(&[0..self.n_splats, 2..3, 2..3], &(&u2 * &one_over_u_norm)?)?;
[INFO] [stdout]     |             ^ help: convert the identifier to snake case: `j`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `J` should have a snake case name
[INFO] [stdout]    --> src/gauss_full.rs:336:13
[INFO] [stdout]     |
[INFO] [stdout] 336 |         let J = J.contiguous()?;
[INFO] [stdout]     |             ^ help: convert the identifier to snake case: `j`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `create_Jinv` should have a snake case name
[INFO] [stdout]    --> src/gauss_full.rs:339:8
[INFO] [stdout]     |
[INFO] [stdout] 339 |     fn create_Jinv(
[INFO] [stdout]     |        ^^^^^^^^^^^ help: convert the identifier to snake case: `create_jinv`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `J` should have a snake case name
[INFO] [stdout]    --> src/gauss_full.rs:353:13
[INFO] [stdout]     |
[INFO] [stdout] 353 |         let J = candle_core::Tensor::zeros((self.n_splats, 3, 3), DType::F32, device)?;
[INFO] [stdout]     |             ^ help: convert the identifier to snake case: `j`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `J` should have a snake case name
[INFO] [stdout]    --> src/gauss_full.rs:354:13
[INFO] [stdout]     |
[INFO] [stdout] 354 |         let J = J.slice_assign(
[INFO] [stdout]     |             ^ help: convert the identifier to snake case: `j`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `J` should have a snake case name
[INFO] [stdout]    --> src/gauss_full.rs:358:13
[INFO] [stdout]     |
[INFO] [stdout] 358 |         let J = J.slice_assign(
[INFO] [stdout]     |             ^ help: convert the identifier to snake case: `j`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `J` should have a snake case name
[INFO] [stdout]    --> src/gauss_full.rs:362:13
[INFO] [stdout]     |
[INFO] [stdout] 362 |         let J = J.slice_assign(
[INFO] [stdout]     |             ^ help: convert the identifier to snake case: `j`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `J` should have a snake case name
[INFO] [stdout]    --> src/gauss_full.rs:366:13
[INFO] [stdout]     |
[INFO] [stdout] 366 |         let J = J.slice_assign(
[INFO] [stdout]     |             ^ help: convert the identifier to snake case: `j`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `J` should have a snake case name
[INFO] [stdout]    --> src/gauss_full.rs:370:13
[INFO] [stdout]     |
[INFO] [stdout] 370 |         let J = J.slice_assign(
[INFO] [stdout]     |             ^ help: convert the identifier to snake case: `j`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `J` should have a snake case name
[INFO] [stdout]    --> src/gauss_full.rs:374:13
[INFO] [stdout]     |
[INFO] [stdout] 374 |         let J = J.slice_assign(
[INFO] [stdout]     |             ^ help: convert the identifier to snake case: `j`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `J` should have a snake case name
[INFO] [stdout]    --> src/gauss_full.rs:379:13
[INFO] [stdout]     |
[INFO] [stdout] 379 |         let J = J.slice_assign(&[0..self.n_splats, 0..1, 2..3], &(u0 / &one_over_u_norm)?)?;
[INFO] [stdout]     |             ^ help: convert the identifier to snake case: `j`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `J` should have a snake case name
[INFO] [stdout]    --> src/gauss_full.rs:380:13
[INFO] [stdout]     |
[INFO] [stdout] 380 |         let J = J.slice_assign(&[0..self.n_splats, 1..2, 2..3], &(u1 / &one_over_u_norm)?)?;
[INFO] [stdout]     |             ^ help: convert the identifier to snake case: `j`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `J` should have a snake case name
[INFO] [stdout]    --> src/gauss_full.rs:381:13
[INFO] [stdout]     |
[INFO] [stdout] 381 |         let J = J.slice_assign(&[0..self.n_splats, 2..3, 2..3], &(u2 / &one_over_u_norm)?)?;
[INFO] [stdout]     |             ^ help: convert the identifier to snake case: `j`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `J` should have a snake case name
[INFO] [stdout]    --> src/gauss_full.rs:382:13
[INFO] [stdout]     |
[INFO] [stdout] 382 |         let J = J.contiguous()?;
[INFO] [stdout]     |             ^ help: convert the identifier to snake case: `j`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `screen`
[INFO] [stdout]    --> src/gauss.rs:637:9
[INFO] [stdout]     |
[INFO] [stdout] 637 |     let screen = f.render(512, device)?;
[INFO] [stdout]     |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_screen`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0432, E0463.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0432`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `bitnet` (bin "gauss") due to 2 previous errors; 11 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] error[E0599]: no function or associated item named `parse` found for struct `Args` in the current scope
[INFO] [stdout]    --> src/main.rs:400:22
[INFO] [stdout]     |
[INFO] [stdout] 391 | struct Args {
[INFO] [stdout]     | ----------- function or associated item `parse` not found for this struct
[INFO] [stdout] ...
[INFO] [stdout] 400 |     let args = Args::parse();
[INFO] [stdout]     |                      ^^^^^ function or associated item not found in `Args`
[INFO] [stdout]     |
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]     = note: the following traits define an item `parse`, perhaps you need to implement one of them:
[INFO] [stdout]             candidate #1: `Parser`
[INFO] [stdout]             candidate #2: `TypedValueParser`
[INFO] [stdout]             candidate #3: `bitstream_io::read::BitRead`
[INFO] [stdout]             candidate #4: `bitstream_io::read::ByteRead`
[INFO] [stdout]             candidate #5: `nom::internal::Parser`
[INFO] [stdout]             candidate #6: `nom::sequence::Tuple`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ndarray::prelude`
[INFO] [stdout]  --> src/gauss.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use ndarray::prelude::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `screen`
[INFO] [stdout]    --> src/gauss.rs:637:9
[INFO] [stdout]     |
[INFO] [stdout] 637 |     let screen = f.render(512, device)?;
[INFO] [stdout]     |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_screen`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `device`
[INFO] [stdout]    --> src/main.rs:120:9
[INFO] [stdout]     |
[INFO] [stdout] 120 |         device: &Device,
[INFO] [stdout]     |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_device`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `idx`
[INFO] [stdout]    --> src/main.rs:141:14
[INFO] [stdout]     |
[INFO] [stdout] 141 |         for (idx, layer) in self.layers.iter().take(self.layers.len() - 1).enumerate() {
[INFO] [stdout]     |              ^^^ help: if this is intentional, prefix it with an underscore: `_idx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key_bits_tensor`
[INFO] [stdout]    --> src/main.rs:223:9
[INFO] [stdout]     |
[INFO] [stdout] 223 |     let key_bits_tensor = candle_core::Tensor::from_vec(key_bits, &[64], &dev).unwrap();
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_key_bits_tensor`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `epoch`
[INFO] [stdout]    --> src/main.rs:259:9
[INFO] [stdout]     |
[INFO] [stdout] 259 |     for epoch in 1..args.epochs {
[INFO] [stdout]     |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_epoch`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `epoch`
[INFO] [stdout]    --> src/main.rs:293:9
[INFO] [stdout]     |
[INFO] [stdout] 293 |     for epoch in 1..args.epochs {
[INFO] [stdout]     |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_epoch`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key_idx`
[INFO] [stdout]    --> src/main.rs:342:9
[INFO] [stdout]     |
[INFO] [stdout] 342 |     for key_idx in 0..n_keys {
[INFO] [stdout]     |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_key_idx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]    --> src/main.rs:344:13
[INFO] [stdout]     |
[INFO] [stdout] 344 |         let key: u64 = [
[INFO] [stdout]     |             ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0432, E0463, E0599.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0432`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `bitnet` (bin "bitnet") due to 6 previous errors; 23 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "b668192e7c007ce8ff774f8201e8c88a5fa144f16e98a6af523cd1648a4f9cda", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "b668192e7c007ce8ff774f8201e8c88a5fa144f16e98a6af523cd1648a4f9cda", kill_on_drop: false }`
[INFO] [stdout] b668192e7c007ce8ff774f8201e8c88a5fa144f16e98a6af523cd1648a4f9cda
