[INFO] cloning repository https://github.com/waynemateri/af_nn5a
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/waynemateri/af_nn5a" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fwaynemateri%2Faf_nn5a", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fwaynemateri%2Faf_nn5a'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 01be4d20dc4f5a1c290dd4a237c01c637160a92b
[INFO] checking waynemateri/af_nn5a against try#f16624c7fb52ccf15cd304a9728caf1ef4b9c0d2 for pr-156992
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fwaynemateri%2Faf_nn5a" "/workspace/builds/worker-6-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc2/source'...
[INFO] [stderr] done.
[INFO] [stderr] Updating files:  80% (1147/1432)
Updating files:  81% (1160/1432)
Updating files:  82% (1175/1432)
Updating files:  83% (1189/1432)
Updating files:  84% (1203/1432)
Updating files:  85% (1218/1432)
Updating files:  86% (1232/1432)
Updating files:  87% (1246/1432)
Updating files:  88% (1261/1432)
Updating files:  89% (1275/1432)
Updating files:  90% (1289/1432)
Updating files:  91% (1304/1432)
Updating files:  92% (1318/1432)
Updating files:  93% (1332/1432)
Updating files:  94% (1347/1432)
Updating files:  95% (1361/1432)
Updating files:  96% (1375/1432)
Updating files:  97% (1390/1432)
Updating files:  98% (1404/1432)
Updating files:  99% (1418/1432)
Updating files: 100% (1432/1432)
Updating files: 100% (1432/1432), done.
[INFO] started tweaking git repo https://github.com/waynemateri/af_nn5a
[INFO] finished tweaking git repo https://github.com/waynemateri/af_nn5a
[INFO] tweaked toml for git repo https://github.com/waynemateri/af_nn5a written to /workspace/builds/worker-6-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/waynemateri/af_nn5a on toolchain f16624c7fb52ccf15cd304a9728caf1ef4b9c0d2
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+f16624c7fb52ccf15cd304a9728caf1ef4b9c0d2" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/waynemateri/af_nn5a 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" "+f16624c7fb52ccf15cd304a9728caf1ef4b9c0d2" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+f16624c7fb52ccf15cd304a9728caf1ef4b9c0d2" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] e59c66d453dba8b514438f600c1b9766adbfc5d4d9352b48ad17ac7839795012
[INFO] running `Command { std: "docker" "start" "-a" "e59c66d453dba8b514438f600c1b9766adbfc5d4d9352b48ad17ac7839795012", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "e59c66d453dba8b514438f600c1b9766adbfc5d4d9352b48ad17ac7839795012", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "e59c66d453dba8b514438f600c1b9766adbfc5d4d9352b48ad17ac7839795012", kill_on_drop: false }`
[INFO] [stdout] e59c66d453dba8b514438f600c1b9766adbfc5d4d9352b48ad17ac7839795012
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+f16624c7fb52ccf15cd304a9728caf1ef4b9c0d2" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] a7dce8cd57b22fad2d502f5a0ca1cf6b02a314fec689bc054c362634d72b50b6
[INFO] running `Command { std: "docker" "start" "-a" "a7dce8cd57b22fad2d502f5a0ca1cf6b02a314fec689bc054c362634d72b50b6", kill_on_drop: false }`
[INFO] [stderr]    Compiling unicode-ident v1.0.16
[INFO] [stderr]     Checking cfg-if v1.0.0
[INFO] [stderr]    Compiling serde v1.0.217
[INFO] [stderr]     Checking log v0.4.25
[INFO] [stderr]     Checking once_cell v1.20.2
[INFO] [stderr]    Compiling libc v0.2.169
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling rustix v0.38.44
[INFO] [stderr]     Checking libloading v0.8.6
[INFO] [stderr]    Compiling proc-macro2 v1.0.93
[INFO] [stderr]     Checking smallvec v1.13.2
[INFO] [stderr]     Checking linux-raw-sys v0.4.15
[INFO] [stderr]    Compiling cc v1.2.12
[INFO] [stderr]     Checking dlib v0.5.2
[INFO] [stderr]    Compiling wayland-sys v0.31.6
[INFO] [stderr]     Checking downcast-rs v1.2.1
[INFO] [stderr]     Checking scoped-tls v1.0.1
[INFO] [stderr]    Compiling quick-xml v0.37.2
[INFO] [stderr]    Compiling wayland-client v0.31.8
[INFO] [stderr]     Checking tracing-core v0.1.33
[INFO] [stderr]     Checking pin-project-lite v0.2.16
[INFO] [stderr]    Compiling quote v1.0.38
[INFO] [stderr]     Checking num-integer v0.1.46
[INFO] [stderr]    Compiling syn v2.0.98
[INFO] [stderr]     Checking foldhash v0.1.4
[INFO] [stderr]     Checking arrayvec v0.7.6
[INFO] [stderr]     Checking byteorder v1.5.0
[INFO] [stderr]     Checking hashbrown v0.15.2
[INFO] [stderr]    Compiling thiserror v1.0.69
[INFO] [stderr]     Checking tracing v0.1.41
[INFO] [stderr]    Compiling wayland-scanner v0.31.6
[INFO] [stderr]    Compiling slab v0.4.9
[INFO] [stderr]    Compiling thiserror v2.0.11
[INFO] [stderr]    Compiling parking_lot_core v0.9.10
[INFO] [stderr]    Compiling lock_api v0.4.12
[INFO] [stderr]     Checking getrandom v0.2.15
[INFO] [stderr]    Compiling naga v24.0.0
[INFO] [stderr]    Compiling num-bigint v0.2.6
[INFO] [stderr]    Compiling serde_json v1.0.138
[INFO] [stderr]     Checking scopeguard v1.2.0
[INFO] [stderr]    Compiling khronos-egl v6.0.0
[INFO] [stderr]     Checking termcolor v1.4.1
[INFO] [stderr]     Checking bit-vec v0.8.0
[INFO] [stderr]     Checking equivalent v1.0.1
[INFO] [stderr]     Checking memchr v2.7.4
[INFO] [stderr]     Checking unicode-width v0.1.14
[INFO] [stderr]    Compiling wayland-backend v0.3.8
[INFO] [stderr]    Compiling ash v0.38.0+1.3.281
[INFO] [stderr]     Checking bit-set v0.8.0
[INFO] [stderr]     Checking indexmap v2.7.1
[INFO] [stderr]     Checking codespan-reporting v0.11.1
[INFO] [stderr]    Compiling wgpu-hal v24.0.0
[INFO] [stderr]    Compiling num-rational v0.2.4
[INFO] [stderr]     Checking aho-corasick v1.1.3
[INFO] [stderr]     Checking bitflags v2.8.0
[INFO] [stderr]    Compiling num-complex v0.2.4
[INFO] [stderr]     Checking rustc-hash v1.1.0
[INFO] [stderr]     Checking cursor-icon v1.1.0
[INFO] [stderr]     Checking hexf-parse v0.2.1
[INFO] [stderr]     Checking gpu-descriptor-types v0.2.0
[INFO] [stderr]     Checking spirv v0.3.0+sdk-1.3.268.0
[INFO] [stderr]     Checking gpu-alloc-types v0.3.0
[INFO] [stderr]     Checking regex-syntax v0.8.5
[INFO] [stderr]     Checking ttf-parser v0.25.1
[INFO] [stderr]     Checking xkeysym v0.2.1
[INFO] [stderr]     Checking arrayref v0.3.9
[INFO] [stderr]     Checking raw-window-handle v0.6.2
[INFO] [stderr]     Checking unicode-xid v0.2.6
[INFO] [stderr]     Checking xcursor v0.3.8
[INFO] [stderr]     Checking strict-num v0.1.1
[INFO] [stderr]    Compiling smithay-client-toolkit v0.19.2
[INFO] [stderr]    Compiling ahash v0.8.11
[INFO] [stderr]     Checking gpu-alloc v0.6.0
[INFO] [stderr]     Checking regex-automata v0.4.9
[INFO] [stderr]     Checking gpu-descriptor v0.3.1
[INFO] [stderr]     Checking wgpu-types v24.0.0
[INFO] [stderr]     Checking parking_lot v0.12.3
[INFO] [stderr]    Compiling bytemuck_derive v1.8.1
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling zerocopy-derive v0.7.35
[INFO] [stderr]    Compiling strum_macros v0.26.4
[INFO] [stderr]    Compiling thiserror-impl v2.0.11
[INFO] [stderr]     Checking zerocopy v0.7.35
[INFO] [stderr]     Checking bytemuck v1.21.0
[INFO] [stderr]     Checking owned_ttf_parser v0.25.0
[INFO] [stderr]     Checking tiny-skia-path v0.11.4
[INFO] [stderr]    Compiling serde_derive v1.0.217
[INFO] [stderr]     Checking num-iter v0.1.45
[INFO] [stderr]     Checking ordered-float v4.6.0
[INFO] [stderr]     Checking memmap2 v0.9.5
[INFO] [stderr]    Compiling wgpu-core v24.0.0
[INFO] [stderr]    Compiling x11-dl v2.21.0
[INFO] [stderr]     Checking utf8parse v0.2.2
[INFO] [stderr]     Checking profiling v1.0.16
[INFO] [stderr]     Checking renderdoc-sys v1.1.0
[INFO] [stderr]    Compiling litrs v0.4.1
[INFO] [stderr]     Checking ab_glyph_rasterizer v0.1.8
[INFO] [stderr]     Checking glow v0.16.0
[INFO] [stderr]     Checking ab_glyph v0.2.29
[INFO] [stderr]     Checking anstyle-parse v0.2.6
[INFO] [stderr]     Checking tiny-skia v0.11.4
[INFO] [stderr]     Checking strum v0.26.3
[INFO] [stderr]     Checking ppv-lite86 v0.2.20
[INFO] [stderr]    Compiling document-features v0.2.10
[INFO] [stderr]     Checking regex v1.11.1
[INFO] [stderr]     Checking polling v3.7.4
[INFO] [stderr]     Checking calloop v0.13.0
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]     Checking num-bigint v0.4.6
[INFO] [stderr]    Compiling wgpu v24.0.1
[INFO] [stderr]     Checking wayland-csd-frame v0.3.0
[INFO] [stderr]    Compiling winit v0.30.9
[INFO] [stderr]     Checking anstyle v1.0.10
[INFO] [stderr]     Checking colorchoice v1.0.3
[INFO] [stderr]     Checking anstyle-query v1.1.2
[INFO] [stderr]     Checking is_terminal_polyfill v1.70.1
[INFO] [stderr]     Checking as-raw-xcb-connection v1.0.1
[INFO] [stderr]     Checking x11rb-protocol v0.13.1
[INFO] [stderr]     Checking anstream v0.6.18
[INFO] [stderr]     Checking num v0.2.1
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking env_filter v0.1.3
[INFO] [stderr]     Checking xkbcommon-dl v0.4.2
[INFO] [stderr]     Checking num-complex v0.4.6
[INFO] [stderr]     Checking num-rational v0.4.2
[INFO] [stderr]    Compiling arrayfire v3.8.0
[INFO] [stderr]     Checking dpi v0.1.1
[INFO] [stderr]     Checking percent-encoding v2.3.1
[INFO] [stderr]     Checking wayland-protocols v0.32.6
[INFO] [stderr]     Checking wayland-cursor v0.31.8
[INFO] [stderr]     Checking calloop-wayland-source v0.3.0
[INFO] [stderr]     Checking half v1.8.3
[INFO] [stderr]     Checking lazy_static v1.5.0
[INFO] [stderr]     Checking static_assertions v1.1.0
[INFO] [stderr]     Checking humantime v2.1.0
[INFO] [stderr]     Checking smol_str v0.2.2
[INFO] [stderr]     Checking num v0.4.3
[INFO] [stderr]     Checking env_logger v0.11.6
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]     Checking mnist v0.6.0
[INFO] [stderr]     Checking rust-mnist v0.2.0
[INFO] [stderr]     Checking pollster v0.4.0
[INFO] [stderr]     Checking glam v0.29.2
[INFO] [stderr]     Checking wayland-protocols-wlr v0.3.6
[INFO] [stderr]     Checking wayland-protocols-plasma v0.3.6
[INFO] [stderr]     Checking sctk-adwaita v0.10.1
[INFO] [stderr]     Checking x11rb v0.13.1
[INFO] [stderr]     Checking af_nn5a v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `FutureExt`
[INFO] [stdout]  --> src/main.rs:5:26
[INFO] [stdout]   |
[INFO] [stdout] 5 | use pollster::{block_on, FutureExt};
[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: `af::*`
[INFO] [stdout]  --> src/main.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use af::*;
[INFO] [stdout]   |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `mnist::MnistBuilder`
[INFO] [stdout]   --> src/main.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use mnist::MnistBuilder;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Distribution` and `Uniform`
[INFO] [stdout]   --> src/main.rs:11:27
[INFO] [stdout]    |
[INFO] [stdout] 11 | use rand::distributions::{Distribution, Uniform};
[INFO] [stdout]    |                           ^^^^^^^^^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rand::seq::index`
[INFO] [stdout]  --> src/proc_window.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use rand::seq::index;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `naga::common::wgsl`
[INFO] [stdout]   --> src/proc_window.rs:10:13
[INFO] [stdout]    |
[INFO] [stdout] 10 | use wgpu::{ naga::common::wgsl, util::DeviceExt, Adapter, Device, Instance, PresentMode, Queue, Surface, SurfaceCapabilities};
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `block_on`
[INFO] [stdout]   --> src/proc_window.rs:21:16
[INFO] [stdout]    |
[INFO] [stdout] 21 | use pollster::{block_on, FutureExt};
[INFO] [stdout]    |                ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `af::*`
[INFO] [stdout]   --> src/proc_window.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 24 | use af::*;
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `PathBuf` and `Path`
[INFO] [stdout]    --> src/proc_window.rs:447:17
[INFO] [stdout]     |
[INFO] [stdout] 447 | use std::path::{Path,PathBuf};
[INFO] [stdout]     |                 ^^^^ ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `cast_slice`
[INFO] [stdout]    --> src/proc_window.rs:625:32
[INFO] [stdout]     |
[INFO] [stdout] 625 | use bytemuck:: {Pod, Zeroable, cast_slice};
[INFO] [stdout]     |                                ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `mnist::Mnist`
[INFO] [stdout]  --> src/image_proc.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use mnist::Mnist;
[INFO] [stdout]   |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `image_proc::*`
[INFO] [stdout]   --> src/main.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 20 | use image_proc::*;
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `FutureExt`
[INFO] [stdout]  --> src/main.rs:5:26
[INFO] [stdout]   |
[INFO] [stdout] 5 | use pollster::{block_on, FutureExt};
[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: `af::*`
[INFO] [stdout]  --> src/main.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use af::*;
[INFO] [stdout]   |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `mnist::MnistBuilder`
[INFO] [stdout]   --> src/main.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use mnist::MnistBuilder;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Distribution` and `Uniform`
[INFO] [stdout]   --> src/main.rs:11:27
[INFO] [stdout]    |
[INFO] [stdout] 11 | use rand::distributions::{Distribution, Uniform};
[INFO] [stdout]    |                           ^^^^^^^^^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rand::seq::index`
[INFO] [stdout]  --> src/proc_window.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use rand::seq::index;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `naga::common::wgsl`
[INFO] [stdout]   --> src/proc_window.rs:10:13
[INFO] [stdout]    |
[INFO] [stdout] 10 | use wgpu::{ naga::common::wgsl, util::DeviceExt, Adapter, Device, Instance, PresentMode, Queue, Surface, SurfaceCapabilities};
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `block_on`
[INFO] [stdout]   --> src/proc_window.rs:21:16
[INFO] [stdout]    |
[INFO] [stdout] 21 | use pollster::{block_on, FutureExt};
[INFO] [stdout]    |                ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `af::*`
[INFO] [stdout]   --> src/proc_window.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 24 | use af::*;
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `PathBuf` and `Path`
[INFO] [stdout]    --> src/proc_window.rs:447:17
[INFO] [stdout]     |
[INFO] [stdout] 447 | use std::path::{Path,PathBuf};
[INFO] [stdout]     |                 ^^^^ ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `cast_slice`
[INFO] [stdout]    --> src/proc_window.rs:625:32
[INFO] [stdout]     |
[INFO] [stdout] 625 | use bytemuck:: {Pod, Zeroable, cast_slice};
[INFO] [stdout]     |                                ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `mnist::Mnist`
[INFO] [stdout]  --> src/image_proc.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use mnist::Mnist;
[INFO] [stdout]   |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `image_proc::*`
[INFO] [stdout]   --> src/main.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 20 | use image_proc::*;
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `starting_to_row` is never read
[INFO] [stdout]    --> src/circuit.rs:537:50
[INFO] [stdout]     |
[INFO] [stdout] 537 |                 let mut starting_to_row: isize = 0;
[INFO] [stdout]     |                                                  ^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 543 |                             starting_to_row = (from_row as f32/from_rows as f32 * to_rows as f32) as isize;
[INFO] [stdout]     |                             ------------------------------------------------------------------------------ `starting_to_row` 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 `starting_to_col` is never read
[INFO] [stdout]    --> src/circuit.rs:538:50
[INFO] [stdout]     |
[INFO] [stdout] 538 |                 let mut starting_to_col: isize = 0;
[INFO] [stdout]     |                                                  ^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 544 |                             starting_to_col = (from_col as f32/from_cols as f32 * to_cols as f32) as isize;
[INFO] [stdout]     |                             ------------------------------------------------------------------------------ `starting_to_col` 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/main.rs:46:9
[INFO] [stdout]    |
[INFO] [stdout] 46 |     let mut last_layer_id: usize = 0;
[INFO] [stdout]    |         ----^^^^^^^^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/main.rs:47:9
[INFO] [stdout]    |
[INFO] [stdout] 47 |     let mut column1 = Column::new(1, 1, &mut last_column_id)
[INFO] [stdout]    |         ----^^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `last_layer_id`
[INFO] [stdout]   --> src/main.rs:46:9
[INFO] [stdout]    |
[INFO] [stdout] 46 |     let mut last_layer_id: usize = 0;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_last_layer_id`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `process_circuit` is never used
[INFO] [stdout]   --> src/main.rs:71:4
[INFO] [stdout]    |
[INFO] [stdout] 71 | fn process_circuit() {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MIN_STARTING_WEIGHT` is never used
[INFO] [stdout]   --> src/circuit.rs:43:11
[INFO] [stdout]    |
[INFO] [stdout] 43 | pub const MIN_STARTING_WEIGHT: f32 =  -1.0; // To constrain weights during adjustments
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MAX_STARTING_WEIGHT` is never used
[INFO] [stdout]   --> src/circuit.rs:44:11
[INFO] [stdout]    |
[INFO] [stdout] 44 | pub const MAX_STARTING_WEIGHT: f32 = 1.0; 
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MIN_WEIGHT` is never used
[INFO] [stdout]   --> src/circuit.rs:46:7
[INFO] [stdout]    |
[INFO] [stdout] 46 | const MIN_WEIGHT: f32 =  -1.0; // To constrain weights during adjustments
[INFO] [stdout]    |       ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MAX_WEIGHT` is never used
[INFO] [stdout]   --> src/circuit.rs:47:7
[INFO] [stdout]    |
[INFO] [stdout] 47 | const MAX_WEIGHT: f32 = 1.0; 
[INFO] [stdout]    |       ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DEFAULT_LEARNING_RATE` is never used
[INFO] [stdout]   --> src/circuit.rs:49:11
[INFO] [stdout]    |
[INFO] [stdout] 49 | pub const DEFAULT_LEARNING_RATE: f32 = 1.0;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `INACTIVE_SIGMOID` is never used
[INFO] [stdout]   --> src/circuit.rs:55:7
[INFO] [stdout]    |
[INFO] [stdout] 55 | const INACTIVE_SIGMOID: f32 = 0.0415;  // a sigmoid value below which a neuron is considered inactive ( = 1/(1+e^-PI(x-1)); when x =...
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MINIMALLY_ACTIVE_SIGMOID` is never used
[INFO] [stdout]   --> src/circuit.rs:56:7
[INFO] [stdout]    |
[INFO] [stdout] 56 | const MINIMALLY_ACTIVE_SIGMOID: f32 = 0.25; 
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FULLY_ACTIVE_SIGMOID` is never used
[INFO] [stdout]   --> src/circuit.rs:57:7
[INFO] [stdout]    |
[INFO] [stdout] 57 | const FULLY_ACTIVE_SIGMOID: f32 = 0.5;  // a sigmoid value above which a neuron is considered normally fully active
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MAXIMALLY_ACTIVE_SIGMOID` is never used
[INFO] [stdout]   --> src/circuit.rs:58:7
[INFO] [stdout]    |
[INFO] [stdout] 58 | const MAXIMALLY_ACTIVE_SIGMOID:f32 = 0.9989; // modified sigmoid when a neuron is maximally active ( = 1/(1+e^-PI(x-1)); when x = PI )
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `id` is never read
[INFO] [stdout]   --> src/circuit.rs:71:5
[INFO] [stdout]    |
[INFO] [stdout] 70 | pub struct Circuit {
[INFO] [stdout]    |            ------- field in this struct
[INFO] [stdout] 71 |     id: usize, // A unique ID (within a Brain)for this Circuit
[INFO] [stdout]    |     ^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Circuit` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `owning_circuit_id` and `owning_column_id` are never read
[INFO] [stdout]   --> src/circuit.rs:90:5
[INFO] [stdout]    |
[INFO] [stdout] 89 | pub struct Layer {    
[INFO] [stdout]    |            ----- fields in this struct
[INFO] [stdout] 90 |     owning_circuit_id: usize,   // the Circuit that owns this Column
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 91 |     owning_column_id: usize,   // the Column that owns this Layer
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Layer` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `1` is never read
[INFO] [stdout]    --> src/circuit.rs:115:25
[INFO] [stdout]     |
[INFO] [stdout] 115 |     Internal (Priority, Rc<RefCell<BasicConnection>>), // The Arc<Mutex<BasicConnection>> can be used for parallel processing
[INFO] [stdout]     |     --------            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Connection` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]     |
[INFO] [stdout] 115 -     Internal (Priority, Rc<RefCell<BasicConnection>>), // The Arc<Mutex<BasicConnection>> can be used for parallel processing
[INFO] [stdout] 115 +     Internal (Priority, ()), // The Arc<Mutex<BasicConnection>> can be used for parallel processing
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `SubComponent` is never constructed
[INFO] [stdout]    --> src/circuit.rs:110:5
[INFO] [stdout]     |
[INFO] [stdout] 102 | pub enum Connection {
[INFO] [stdout]     |          ---------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 110 |     SubComponent (Priority, Id) ,  // This specifies to go "down a level" and process all the connections in the next lower data st...
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Connection` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]    --> src/circuit.rs:122:5
[INFO] [stdout]     |
[INFO] [stdout] 120 | pub struct BasicConnection {
[INFO] [stdout]     |            --------------- fields in this struct
[INFO] [stdout] 121 |     // A BasicConnection between any two Layers, in any two Columns and/or Circuits
[INFO] [stdout] 122 |     to_circuit_id: usize,    // the Circuit that the BasicConnection goes to
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout] 123 |     to_column_id: usize,     // the Column that the BasicConnection goes to
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout] 124 |     to_layer_id: usize,      // the Layer that the BasicConnection goes to
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] 125 |     
[INFO] [stdout] 126 |     from_circuit_id: usize,  // the Circuit that the BasicConnection comes from
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 127 |     from_column_id: usize,   // the Column that the BasicConnection comes from
[INFO] [stdout]     |     ^^^^^^^^^^^^^^
[INFO] [stdout] 128 |     from_layer_id: usize,    // the Layer that the BasicConnection comes from
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout] 129 |
[INFO] [stdout] 130 |     to_layer: Rc<RefCell<Layer>>,    // the Layer that the BasicConnection goes to. This reference is actually what gets used for a...
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] 131 |     from_layer: Rc<RefCell<Layer>>,  // the Layer that the BasicConnection comes from. This reference is actually what gets used fo...
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 135 |     fields: Vec<FieldDesc>,     // A single BasicConnection description can have more than one Field, each with its own parameters,...
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 139 |     connection_type: ConnectionType, // When computing activations, this determines if weight * sigmoid is + (Excitatory) or - (Inh...
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 140 |                                      // All Connections described by a BasicConnection are of the same connection_type.
[INFO] [stdout] 141 |     processed_flag: bool, //Used to synchronize BasicConnection processing. TODO Not sure if at connex level or layer level 
[INFO] [stdout]     |     ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `BasicConnection` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Inhibitory` is never constructed
[INFO] [stdout]    --> src/circuit.rs:149:5
[INFO] [stdout]     |
[INFO] [stdout] 146 | pub enum ConnectionType {
[INFO] [stdout]     |          -------------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 149 |     Inhibitory,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ConnectionType` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Narrow`, `Medium`, and `Broad` are never constructed
[INFO] [stdout]    --> src/circuit.rs:208:5
[INFO] [stdout]     |
[INFO] [stdout] 206 | pub enum FieldWidth {
[INFO] [stdout]     |          ---------- variants in this enum
[INFO] [stdout] 207 |     Immediate,
[INFO] [stdout] 208 |     Narrow,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 209 |     Medium,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 210 |     Broad,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `FieldWidth` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `last_column_id`, `incr_last_column_id`, `with_connection`, and `with_subcomponent_connection` are never used
[INFO] [stdout]    --> src/circuit.rs:246:12
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl Circuit {
[INFO] [stdout]     | ------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 246 |     pub fn last_column_id(&self) -> usize {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 254 |     fn incr_last_column_id(&mut self) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 259 |     pub fn with_connection(&mut self, from_column_id:usize, from_layer_id: usize, to_column_id:usize, to_layer_id: usize, priority:...
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 280 |     pub fn with_subcomponent_connection(&mut self, subcomponent_id: usize, priority: usize) -> &mut Circuit {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `last_layer_id` is never used
[INFO] [stdout]    --> src/circuit.rs:316:12
[INFO] [stdout]     |
[INFO] [stdout] 292 | impl Column {
[INFO] [stdout]     | ----------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 316 |     pub fn last_layer_id(&self) -> usize {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `valid_random_values_range` is never used
[INFO] [stdout]    --> src/circuit.rs:599:4
[INFO] [stdout]     |
[INFO] [stdout] 599 | fn valid_random_values_range(values_range: impl RangeBounds<f32>) -> Result<(f32, f32), String> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `shader_filename` is never read
[INFO] [stdout]    --> src/proc_window.rs:452:5
[INFO] [stdout]     |
[INFO] [stdout] 451 | struct PipelineBuilder {
[INFO] [stdout]     |        --------------- field in this struct
[INFO] [stdout] 452 |     shader_filename: String,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `PipelineBuilder` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `with_shader_parms`, `with_pixel_format`, `with_vertex_buffer_layout`, and `finalize` are never used
[INFO] [stdout]    --> src/proc_window.rs:476:12
[INFO] [stdout]     |
[INFO] [stdout] 459 | impl PipelineBuilder {
[INFO] [stdout]     | -------------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 476 |     pub fn new() -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 486 |     pub fn with_shader_parms(&mut self, shader_filename: &str, vertex_entry_pt: &str, fragment_entry_pt: &str) ->&mut Self{
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 494 |     pub fn with_pixel_format(&mut self, pixel_format: wgpu::TextureFormat) -> &mut Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 499 |     pub fn with_vertex_buffer_layout(&mut self, layout: wgpu::VertexBufferLayout<'static>) -> &mut Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 505 |     pub fn finalize(&mut self) -> Self {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `as_u8_slice` is never used
[INFO] [stdout]    --> src/proc_window.rs:664:11
[INFO] [stdout]     |
[INFO] [stdout] 664 | unsafe fn as_u8_slice<T:Sized>(slice: &[T]) -> &[u8] {
[INFO] [stdout]     |           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `make_triangle` is never used
[INFO] [stdout]    --> src/proc_window.rs:670:8
[INFO] [stdout]     |
[INFO] [stdout] 670 | pub fn make_triangle(device: &wgpu::Device) -> wgpu::Buffer {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `IMAGE_DIMENSION` is never used
[INFO] [stdout]  --> src/image_proc.rs:4:11
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub const IMAGE_DIMENSION: usize = 784;
[INFO] [stdout]   |           ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ACTUAL_IMAGE_DIMENSION` is never used
[INFO] [stdout]  --> src/image_proc.rs:5:11
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub const ACTUAL_IMAGE_DIMENSION: usize = 784;
[INFO] [stdout]   |           ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `create_center_image` is never used
[INFO] [stdout]   --> src/image_proc.rs:12:4
[INFO] [stdout]    |
[INFO] [stdout] 12 | fn create_center_image(image: &Array<f32>) -> Array<f32> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `starting_to_row` is never read
[INFO] [stdout]    --> src/circuit.rs:537:50
[INFO] [stdout]     |
[INFO] [stdout] 537 |                 let mut starting_to_row: isize = 0;
[INFO] [stdout]     |                                                  ^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 543 |                             starting_to_row = (from_row as f32/from_rows as f32 * to_rows as f32) as isize;
[INFO] [stdout]     |                             ------------------------------------------------------------------------------ `starting_to_row` 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 `starting_to_col` is never read
[INFO] [stdout]    --> src/circuit.rs:538:50
[INFO] [stdout]     |
[INFO] [stdout] 538 |                 let mut starting_to_col: isize = 0;
[INFO] [stdout]     |                                                  ^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 544 |                             starting_to_col = (from_col as f32/from_cols as f32 * to_cols as f32) as isize;
[INFO] [stdout]     |                             ------------------------------------------------------------------------------ `starting_to_col` 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/main.rs:46:9
[INFO] [stdout]    |
[INFO] [stdout] 46 |     let mut last_layer_id: usize = 0;
[INFO] [stdout]    |         ----^^^^^^^^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/main.rs:47:9
[INFO] [stdout]    |
[INFO] [stdout] 47 |     let mut column1 = Column::new(1, 1, &mut last_column_id)
[INFO] [stdout]    |         ----^^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `last_layer_id`
[INFO] [stdout]   --> src/main.rs:46:9
[INFO] [stdout]    |
[INFO] [stdout] 46 |     let mut last_layer_id: usize = 0;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_last_layer_id`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `process_circuit` is never used
[INFO] [stdout]   --> src/main.rs:71:4
[INFO] [stdout]    |
[INFO] [stdout] 71 | fn process_circuit() {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MIN_STARTING_WEIGHT` is never used
[INFO] [stdout]   --> src/circuit.rs:43:11
[INFO] [stdout]    |
[INFO] [stdout] 43 | pub const MIN_STARTING_WEIGHT: f32 =  -1.0; // To constrain weights during adjustments
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MAX_STARTING_WEIGHT` is never used
[INFO] [stdout]   --> src/circuit.rs:44:11
[INFO] [stdout]    |
[INFO] [stdout] 44 | pub const MAX_STARTING_WEIGHT: f32 = 1.0; 
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MIN_WEIGHT` is never used
[INFO] [stdout]   --> src/circuit.rs:46:7
[INFO] [stdout]    |
[INFO] [stdout] 46 | const MIN_WEIGHT: f32 =  -1.0; // To constrain weights during adjustments
[INFO] [stdout]    |       ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MAX_WEIGHT` is never used
[INFO] [stdout]   --> src/circuit.rs:47:7
[INFO] [stdout]    |
[INFO] [stdout] 47 | const MAX_WEIGHT: f32 = 1.0; 
[INFO] [stdout]    |       ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DEFAULT_LEARNING_RATE` is never used
[INFO] [stdout]   --> src/circuit.rs:49:11
[INFO] [stdout]    |
[INFO] [stdout] 49 | pub const DEFAULT_LEARNING_RATE: f32 = 1.0;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `INACTIVE_SIGMOID` is never used
[INFO] [stdout]   --> src/circuit.rs:55:7
[INFO] [stdout]    |
[INFO] [stdout] 55 | const INACTIVE_SIGMOID: f32 = 0.0415;  // a sigmoid value below which a neuron is considered inactive ( = 1/(1+e^-PI(x-1)); when x =...
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MINIMALLY_ACTIVE_SIGMOID` is never used
[INFO] [stdout]   --> src/circuit.rs:56:7
[INFO] [stdout]    |
[INFO] [stdout] 56 | const MINIMALLY_ACTIVE_SIGMOID: f32 = 0.25; 
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FULLY_ACTIVE_SIGMOID` is never used
[INFO] [stdout]   --> src/circuit.rs:57:7
[INFO] [stdout]    |
[INFO] [stdout] 57 | const FULLY_ACTIVE_SIGMOID: f32 = 0.5;  // a sigmoid value above which a neuron is considered normally fully active
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MAXIMALLY_ACTIVE_SIGMOID` is never used
[INFO] [stdout]   --> src/circuit.rs:58:7
[INFO] [stdout]    |
[INFO] [stdout] 58 | const MAXIMALLY_ACTIVE_SIGMOID:f32 = 0.9989; // modified sigmoid when a neuron is maximally active ( = 1/(1+e^-PI(x-1)); when x = PI )
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `id` is never read
[INFO] [stdout]   --> src/circuit.rs:71:5
[INFO] [stdout]    |
[INFO] [stdout] 70 | pub struct Circuit {
[INFO] [stdout]    |            ------- field in this struct
[INFO] [stdout] 71 |     id: usize, // A unique ID (within a Brain)for this Circuit
[INFO] [stdout]    |     ^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Circuit` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `owning_circuit_id` and `owning_column_id` are never read
[INFO] [stdout]   --> src/circuit.rs:90:5
[INFO] [stdout]    |
[INFO] [stdout] 89 | pub struct Layer {    
[INFO] [stdout]    |            ----- fields in this struct
[INFO] [stdout] 90 |     owning_circuit_id: usize,   // the Circuit that owns this Column
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 91 |     owning_column_id: usize,   // the Column that owns this Layer
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Layer` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `1` is never read
[INFO] [stdout]    --> src/circuit.rs:115:25
[INFO] [stdout]     |
[INFO] [stdout] 115 |     Internal (Priority, Rc<RefCell<BasicConnection>>), // The Arc<Mutex<BasicConnection>> can be used for parallel processing
[INFO] [stdout]     |     --------            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Connection` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]     |
[INFO] [stdout] 115 -     Internal (Priority, Rc<RefCell<BasicConnection>>), // The Arc<Mutex<BasicConnection>> can be used for parallel processing
[INFO] [stdout] 115 +     Internal (Priority, ()), // The Arc<Mutex<BasicConnection>> can be used for parallel processing
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `SubComponent` is never constructed
[INFO] [stdout]    --> src/circuit.rs:110:5
[INFO] [stdout]     |
[INFO] [stdout] 102 | pub enum Connection {
[INFO] [stdout]     |          ---------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 110 |     SubComponent (Priority, Id) ,  // This specifies to go "down a level" and process all the connections in the next lower data st...
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Connection` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]    --> src/circuit.rs:122:5
[INFO] [stdout]     |
[INFO] [stdout] 120 | pub struct BasicConnection {
[INFO] [stdout]     |            --------------- fields in this struct
[INFO] [stdout] 121 |     // A BasicConnection between any two Layers, in any two Columns and/or Circuits
[INFO] [stdout] 122 |     to_circuit_id: usize,    // the Circuit that the BasicConnection goes to
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout] 123 |     to_column_id: usize,     // the Column that the BasicConnection goes to
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout] 124 |     to_layer_id: usize,      // the Layer that the BasicConnection goes to
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] 125 |     
[INFO] [stdout] 126 |     from_circuit_id: usize,  // the Circuit that the BasicConnection comes from
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 127 |     from_column_id: usize,   // the Column that the BasicConnection comes from
[INFO] [stdout]     |     ^^^^^^^^^^^^^^
[INFO] [stdout] 128 |     from_layer_id: usize,    // the Layer that the BasicConnection comes from
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout] 129 |
[INFO] [stdout] 130 |     to_layer: Rc<RefCell<Layer>>,    // the Layer that the BasicConnection goes to. This reference is actually what gets used for a...
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] 131 |     from_layer: Rc<RefCell<Layer>>,  // the Layer that the BasicConnection comes from. This reference is actually what gets used fo...
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 135 |     fields: Vec<FieldDesc>,     // A single BasicConnection description can have more than one Field, each with its own parameters,...
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 139 |     connection_type: ConnectionType, // When computing activations, this determines if weight * sigmoid is + (Excitatory) or - (Inh...
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 140 |                                      // All Connections described by a BasicConnection are of the same connection_type.
[INFO] [stdout] 141 |     processed_flag: bool, //Used to synchronize BasicConnection processing. TODO Not sure if at connex level or layer level 
[INFO] [stdout]     |     ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `BasicConnection` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Inhibitory` is never constructed
[INFO] [stdout]    --> src/circuit.rs:149:5
[INFO] [stdout]     |
[INFO] [stdout] 146 | pub enum ConnectionType {
[INFO] [stdout]     |          -------------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 149 |     Inhibitory,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ConnectionType` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Narrow`, `Medium`, and `Broad` are never constructed
[INFO] [stdout]    --> src/circuit.rs:208:5
[INFO] [stdout]     |
[INFO] [stdout] 206 | pub enum FieldWidth {
[INFO] [stdout]     |          ---------- variants in this enum
[INFO] [stdout] 207 |     Immediate,
[INFO] [stdout] 208 |     Narrow,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 209 |     Medium,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 210 |     Broad,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `FieldWidth` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `last_column_id`, `incr_last_column_id`, `with_connection`, and `with_subcomponent_connection` are never used
[INFO] [stdout]    --> src/circuit.rs:246:12
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl Circuit {
[INFO] [stdout]     | ------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 246 |     pub fn last_column_id(&self) -> usize {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 254 |     fn incr_last_column_id(&mut self) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 259 |     pub fn with_connection(&mut self, from_column_id:usize, from_layer_id: usize, to_column_id:usize, to_layer_id: usize, priority:...
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 280 |     pub fn with_subcomponent_connection(&mut self, subcomponent_id: usize, priority: usize) -> &mut Circuit {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `last_layer_id` is never used
[INFO] [stdout]    --> src/circuit.rs:316:12
[INFO] [stdout]     |
[INFO] [stdout] 292 | impl Column {
[INFO] [stdout]     | ----------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 316 |     pub fn last_layer_id(&self) -> usize {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `valid_random_values_range` is never used
[INFO] [stdout]    --> src/circuit.rs:599:4
[INFO] [stdout]     |
[INFO] [stdout] 599 | fn valid_random_values_range(values_range: impl RangeBounds<f32>) -> Result<(f32, f32), String> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `shader_filename` is never read
[INFO] [stdout]    --> src/proc_window.rs:452:5
[INFO] [stdout]     |
[INFO] [stdout] 451 | struct PipelineBuilder {
[INFO] [stdout]     |        --------------- field in this struct
[INFO] [stdout] 452 |     shader_filename: String,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `PipelineBuilder` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `with_shader_parms`, `with_pixel_format`, `with_vertex_buffer_layout`, and `finalize` are never used
[INFO] [stdout]    --> src/proc_window.rs:476:12
[INFO] [stdout]     |
[INFO] [stdout] 459 | impl PipelineBuilder {
[INFO] [stdout]     | -------------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 476 |     pub fn new() -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 486 |     pub fn with_shader_parms(&mut self, shader_filename: &str, vertex_entry_pt: &str, fragment_entry_pt: &str) ->&mut Self{
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 494 |     pub fn with_pixel_format(&mut self, pixel_format: wgpu::TextureFormat) -> &mut Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 499 |     pub fn with_vertex_buffer_layout(&mut self, layout: wgpu::VertexBufferLayout<'static>) -> &mut Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 505 |     pub fn finalize(&mut self) -> Self {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `as_u8_slice` is never used
[INFO] [stdout]    --> src/proc_window.rs:664:11
[INFO] [stdout]     |
[INFO] [stdout] 664 | unsafe fn as_u8_slice<T:Sized>(slice: &[T]) -> &[u8] {
[INFO] [stdout]     |           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `make_triangle` is never used
[INFO] [stdout]    --> src/proc_window.rs:670:8
[INFO] [stdout]     |
[INFO] [stdout] 670 | pub fn make_triangle(device: &wgpu::Device) -> wgpu::Buffer {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `IMAGE_DIMENSION` is never used
[INFO] [stdout]  --> src/image_proc.rs:4:11
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub const IMAGE_DIMENSION: usize = 784;
[INFO] [stdout]   |           ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ACTUAL_IMAGE_DIMENSION` is never used
[INFO] [stdout]  --> src/image_proc.rs:5:11
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub const ACTUAL_IMAGE_DIMENSION: usize = 784;
[INFO] [stdout]   |           ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `create_center_image` is never used
[INFO] [stdout]   --> src/image_proc.rs:12:4
[INFO] [stdout]    |
[INFO] [stdout] 12 | fn create_center_image(image: &Array<f32>) -> Array<f32> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [optimized + debuginfo] target(s) in 2m 10s
[INFO] running `Command { std: "docker" "inspect" "a7dce8cd57b22fad2d502f5a0ca1cf6b02a314fec689bc054c362634d72b50b6", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "a7dce8cd57b22fad2d502f5a0ca1cf6b02a314fec689bc054c362634d72b50b6", kill_on_drop: false }`
[INFO] [stdout] a7dce8cd57b22fad2d502f5a0ca1cf6b02a314fec689bc054c362634d72b50b6
