[INFO] fetching crate feagi_connector_core 0.0.50-beta.60...
[INFO] checking feagi_connector_core-0.0.50-beta.60 against master#377656d3dd3f9c23a9c8713e163f4365a5261a84 for pr-146470-3
[INFO] extracting crate feagi_connector_core 0.0.50-beta.60 into /workspace/builds/worker-1-tc1/source
[INFO] started tweaking crates.io crate feagi_connector_core 0.0.50-beta.60
[INFO] removed 0 missing examples
[INFO] removed 0 missing tests
[INFO] finished tweaking crates.io crate feagi_connector_core 0.0.50-beta.60
[INFO] tweaked toml for crates.io crate feagi_connector_core 0.0.50-beta.60 written to /workspace/builds/worker-1-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate feagi_connector_core 0.0.50-beta.60 on toolchain 377656d3dd3f9c23a9c8713e163f4365a5261a84
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+377656d3dd3f9c23a9c8713e163f4365a5261a84" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate feagi_connector_core 0.0.50-beta.60 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" "+377656d3dd3f9c23a9c8713e163f4365a5261a84" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded feagi_data_serialization v0.0.50-beta.60
[INFO] [stderr]   Downloaded feagi_data_structures v0.0.50-beta.60
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+377656d3dd3f9c23a9c8713e163f4365a5261a84" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] a18f597946d9718267302594348b02dfd8aa9a7fc3b0ed7ec357e50259c99676
[INFO] running `Command { std: "docker" "start" "-a" "a18f597946d9718267302594348b02dfd8aa9a7fc3b0ed7ec357e50259c99676", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "a18f597946d9718267302594348b02dfd8aa9a7fc3b0ed7ec357e50259c99676", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "a18f597946d9718267302594348b02dfd8aa9a7fc3b0ed7ec357e50259c99676", kill_on_drop: false }`
[INFO] [stdout] a18f597946d9718267302594348b02dfd8aa9a7fc3b0ed7ec357e50259c99676
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+377656d3dd3f9c23a9c8713e163f4365a5261a84" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 3c261f965ecc308a8bdba707578c712cb29478b21e7f4e430008277e9dd3fe3d
[INFO] running `Command { std: "docker" "start" "-a" "3c261f965ecc308a8bdba707578c712cb29478b21e7f4e430008277e9dd3fe3d", kill_on_drop: false }`
[INFO] [stderr]    Compiling matrixmultiply v0.3.10
[INFO] [stderr]     Checking as-slice v0.2.1
[INFO] [stderr]     Checking nom v8.0.0
[INFO] [stderr]     Checking core2 v0.4.0
[INFO] [stderr]    Compiling syn v2.0.106
[INFO] [stderr]    Compiling av-scenechange v0.14.1
[INFO] [stderr]     Checking y4m v0.8.0
[INFO] [stderr]    Compiling rav1e v0.8.1
[INFO] [stderr]     Checking num-integer v0.1.46
[INFO] [stderr]     Checking flate2 v1.1.5
[INFO] [stderr]    Compiling simd_helpers v0.1.0
[INFO] [stderr]     Checking imgref v1.12.0
[INFO] [stderr]     Checking maybe-rayon v0.1.1
[INFO] [stderr]     Checking serde_json v1.0.145
[INFO] [stderr]     Checking zune-jpeg v0.4.21
[INFO] [stderr]     Checking pxfm v0.1.26
[INFO] [stderr]     Checking avif-serialize v0.8.6
[INFO] [stderr]     Checking bitstream-io v4.9.0
[INFO] [stderr]     Checking zune-core v0.5.0
[INFO] [stderr]     Checking rgb v0.8.52
[INFO] [stderr]     Checking aligned v0.4.2
[INFO] [stderr]     Checking is_terminal_polyfill v1.70.2
[INFO] [stderr]     Checking anstream v0.6.21
[INFO] [stderr]     Checking gif v0.14.0
[INFO] [stderr]     Checking png v0.18.0
[INFO] [stderr]     Checking zune-jpeg v0.5.5
[INFO] [stderr]     Checking loop9 v0.1.5
[INFO] [stderr]     Checking num-bigint v0.4.6
[INFO] [stderr]     Checking image-webp v0.2.4
[INFO] [stderr]     Checking clap_lex v0.7.6
[INFO] [stderr]     Checking clap_builder v4.5.53
[INFO] [stderr]     Checking ndarray v0.17.1
[INFO] [stderr]     Checking num-rational v0.4.2
[INFO] [stderr]     Checking moxcms v0.7.10
[INFO] [stderr]    Compiling equator-macro v0.4.2
[INFO] [stderr]    Compiling zerocopy-derive v0.8.31
[INFO] [stderr]    Compiling thiserror-impl v2.0.17
[INFO] [stderr]    Compiling arg_enum_proc_macro v0.3.4
[INFO] [stderr]    Compiling profiling-procmacros v1.0.17
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling num-derive v0.4.2
[INFO] [stderr]    Compiling fax_derive v0.2.0
[INFO] [stderr]    Compiling clap_derive v4.5.49
[INFO] [stderr]     Checking profiling v1.0.17
[INFO] [stderr]     Checking fax v0.2.6
[INFO] [stderr]     Checking equator v0.4.2
[INFO] [stderr]     Checking aligned-vec v0.6.4
[INFO] [stderr]     Checking v_frame v0.3.9
[INFO] [stderr]     Checking thiserror v2.0.17
[INFO] [stderr]     Checking av1-grain v0.2.5
[INFO] [stderr]     Checking zerocopy v0.8.31
[INFO] [stderr]     Checking clap v4.5.53
[INFO] [stderr]     Checking serde v1.0.228
[INFO] [stderr]     Checking feagi_data_structures v0.0.50-beta.60
[INFO] [stderr]     Checking half v2.7.1
[INFO] [stderr]     Checking feagi_data_serialization v0.0.50-beta.60
[INFO] [stderr]     Checking exr v1.74.0
[INFO] [stderr]     Checking tiff v0.10.3
[INFO] [stderr]     Checking ravif v0.12.0
[INFO] [stderr]     Checking image v0.25.9
[INFO] [stderr]     Checking feagi_connector_core v0.0.50-beta.60 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `WrappedIOData`
[INFO] [stdout]  --> src/neuron_voxel_coding/xyzp/coder_traits.rs:6:45
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::wrapped_io_data::{WrappedIOType, WrappedIOData};
[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::ops::Range`
[INFO] [stdout]  --> src/neuron_voxel_coding/xyzp/coder_shared_functions.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::ops::Range;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `NeuronVoxelXYZPArrays` and `NeuronVoxelXYZP`
[INFO] [stdout]  --> src/neuron_voxel_coding/xyzp/coder_shared_functions.rs:2:50
[INFO] [stdout]   |
[INFO] [stdout] 2 | use feagi_data_structures::neuron_voxels::xyzp::{NeuronVoxelXYZP, NeuronVoxelXYZPArrays};
[INFO] [stdout]   |                                                  ^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]    --> src/neuron_voxel_coding/xyzp/coder_shared_functions.rs:122:32
[INFO] [stdout]     |
[INFO] [stdout] 122 |             let compare: f32 = (0.5f32.powi(z as i32));
[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] 122 -             let compare: f32 = (0.5f32.powi(z as i32));
[INFO] [stdout] 122 +             let compare: f32 = 0.5f32.powi(z as i32) ;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashSet`
[INFO] [stdout]  --> src/neuron_voxel_coding/xyzp/encoders/segmented_image_frame.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::collections::HashSet;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `CorticalChannelDimensions` and `NeuronDepth`
[INFO] [stdout]  --> src/neuron_voxel_coding/xyzp/encoders/boolean.rs:5:88
[INFO] [stdout]   |
[INFO] [stdout] 5 | use feagi_data_structures::genomic::cortical_area::descriptors::{CorticalChannelCount, CorticalChannelDimensions, NeuronDepth};
[INFO] [stdout]   |                                                                                        ^^^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `percentage_2d_exponential::Percentage2DExponentialNeuronVoxelXYZPEncoder`
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/encoders/mod.rs:38:16
[INFO] [stdout]    |
[INFO] [stdout] 38 | pub(crate) use percentage_2d_exponential::Percentage2DExponentialNeuronVoxelXYZPEncoder;
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `percentage_2d_linear::Percentage2DLinearNeuronVoxelXYZPEncoder`
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/encoders/mod.rs:39:16
[INFO] [stdout]    |
[INFO] [stdout] 39 | pub(crate) use percentage_2d_linear::Percentage2DLinearNeuronVoxelXYZPEncoder;
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `percentage_4d_exponential::Percentage4DExponentialNeuronVoxelXYZPEncoder`
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/encoders/mod.rs:42:16
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub(crate) use percentage_4d_exponential::Percentage4DExponentialNeuronVoxelXYZPEncoder;
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `percentage_4d_linear::Percentage4DLinearNeuronVoxelXYZPEncoder`
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/encoders/mod.rs:43:16
[INFO] [stdout]    |
[INFO] [stdout] 43 | pub(crate) use percentage_4d_linear::Percentage4DLinearNeuronVoxelXYZPEncoder;
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `signed_percentage_1d_linear::SignedPercentage1DLinearNeuronVoxelXYZPEncoder`
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/encoders/mod.rs:44:16
[INFO] [stdout]    |
[INFO] [stdout] 44 | pub(crate) use signed_percentage_1d_linear::SignedPercentage1DLinearNeuronVoxelXYZPEncoder;
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `signed_percentage_1d_exponential::SignedPercentage1DExponentialNeuronVoxelXYZPEncoder`
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/encoders/mod.rs:45:16
[INFO] [stdout]    |
[INFO] [stdout] 45 | pub(crate) use signed_percentage_1d_exponential::SignedPercentage1DExponentialNeuronVoxelXYZPEncoder;
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `signed_percentage_2d_linear::SignedPercentage2DLinearNeuronVoxelXYZPEncoder`
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/encoders/mod.rs:46:16
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub(crate) use signed_percentage_2d_linear::SignedPercentage2DLinearNeuronVoxelXYZPEncoder;
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `signed_percentage_2d_exponential::SignedPercentage2DExponentialNeuronVoxelXYZPEncoder`
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/encoders/mod.rs:47:16
[INFO] [stdout]    |
[INFO] [stdout] 47 | pub(crate) use signed_percentage_2d_exponential::SignedPercentage2DExponentialNeuronVoxelXYZPEncoder;
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `signed_percentage_3d_linear::SignedPercentage3DLinearNeuronVoxelXYZPEncoder`
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/encoders/mod.rs:48:16
[INFO] [stdout]    |
[INFO] [stdout] 48 | pub(crate) use signed_percentage_3d_linear::SignedPercentage3DLinearNeuronVoxelXYZPEncoder;
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `signed_percentage_3d_exponential::SignedPercentage3DExponentialNeuronVoxelXYZPEncoder`
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/encoders/mod.rs:49:16
[INFO] [stdout]    |
[INFO] [stdout] 49 | pub(crate) use signed_percentage_3d_exponential::SignedPercentage3DExponentialNeuronVoxelXYZPEncoder;
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Display` and `Formatter`
[INFO] [stdout]  --> src/data_pipeline/stage_properties/image_quick_diff.rs:2:16
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::fmt::{Display, Formatter};
[INFO] [stdout]   |                ^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fmt::write`
[INFO] [stdout]  --> src/wrapped_io_data/wrapped_io_type.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::fmt::write;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `feagi_data_structures::genomic::cortical_area::CorticalID`
[INFO] [stdout]   --> src/data_types/segmented_image_frame.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use feagi_data_structures::genomic::cortical_area::CorticalID;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `CorticalGroupIndex`
[INFO] [stdout]   --> src/data_types/segmented_image_frame.rs:13:88
[INFO] [stdout]    |
[INFO] [stdout] 13 | use feagi_data_structures::genomic::cortical_area::descriptors::{CorticalChannelIndex, CorticalGroupIndex};
[INFO] [stdout]    |                                                                                        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `CorticalMappedXYZPNeuronVoxels`
[INFO] [stdout]   --> src/data_types/segmented_image_frame.rs:14:50
[INFO] [stdout]    |
[INFO] [stdout] 14 | use feagi_data_structures::neuron_voxels::xyzp::{CorticalMappedXYZPNeuronVoxels, NeuronVoxelXYZPArrays};
[INFO] [stdout]    |                                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `s`
[INFO] [stdout]  --> src/data_types/misc_data.rs:1:15
[INFO] [stdout]   |
[INFO] [stdout] 1 | use ndarray::{s, Array3, Zip};
[INFO] [stdout]   |               ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cmp`
[INFO] [stdout]  --> src/data_types/descriptors.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::cmp;
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Percentage2D`, `Percentage3D`, `Percentage4D`, and `Percentage`
[INFO] [stdout]   --> src/data_types/descriptors.rs:10:25
[INFO] [stdout]    |
[INFO] [stdout] 10 | use super::{ImageFrame, Percentage, Percentage2D, Percentage3D, Percentage4D, SegmentedImageFrame};
[INFO] [stdout]    |                         ^^^^^^^^^^  ^^^^^^^^^^^^  ^^^^^^^^^^^^  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> src/sensor_device_cache.rs:231:51
[INFO] [stdout]     |
[INFO] [stdout] 231 |                 let default_pipeline: Vec<Vec<Box<(dyn PipelineStageProperties + Send + Sync + 'static)>>> = {
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 449 |     sensor_cortical_units!(sensor_unit_functions);
[INFO] [stdout]     |     --------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `sensor_unit_functions` which comes from the expansion of the macro `sensor_cortical_units` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> src/sensor_device_cache.rs:232:49
[INFO] [stdout]     |
[INFO] [stdout] 232 |                     let mut output: Vec<Vec<Box<(dyn PipelineStageProperties + Send + Sync + 'static)>>> = Vec::new();
[INFO] [stdout]     |                                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 449 |     sensor_cortical_units!(sensor_unit_functions);
[INFO] [stdout]     |     --------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `sensor_unit_functions` which comes from the expansion of the macro `sensor_cortical_units` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> src/sensor_device_cache.rs:231:51
[INFO] [stdout]     |
[INFO] [stdout] 231 |                 let default_pipeline: Vec<Vec<Box<(dyn PipelineStageProperties + Send + Sync + 'static)>>> = {
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 449 |     sensor_cortical_units!(sensor_unit_functions);
[INFO] [stdout]     |     --------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `sensor_unit_functions` which comes from the expansion of the macro `sensor_cortical_units` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> src/sensor_device_cache.rs:232:49
[INFO] [stdout]     |
[INFO] [stdout] 232 |                     let mut output: Vec<Vec<Box<(dyn PipelineStageProperties + Send + Sync + 'static)>>> = Vec::new();
[INFO] [stdout]     |                                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 449 |     sensor_cortical_units!(sensor_unit_functions);
[INFO] [stdout]     |     --------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `sensor_unit_functions` which comes from the expansion of the macro `sensor_cortical_units` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> src/sensor_device_cache.rs:231:51
[INFO] [stdout]     |
[INFO] [stdout] 231 |                 let default_pipeline: Vec<Vec<Box<(dyn PipelineStageProperties + Send + Sync + 'static)>>> = {
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 449 |     sensor_cortical_units!(sensor_unit_functions);
[INFO] [stdout]     |     --------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `sensor_unit_functions` which comes from the expansion of the macro `sensor_cortical_units` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> src/sensor_device_cache.rs:232:49
[INFO] [stdout]     |
[INFO] [stdout] 232 |                     let mut output: Vec<Vec<Box<(dyn PipelineStageProperties + Send + Sync + 'static)>>> = Vec::new();
[INFO] [stdout]     |                                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 449 |     sensor_cortical_units!(sensor_unit_functions);
[INFO] [stdout]     |     --------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `sensor_unit_functions` which comes from the expansion of the macro `sensor_cortical_units` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> src/sensor_device_cache.rs:231:51
[INFO] [stdout]     |
[INFO] [stdout] 231 |                 let default_pipeline: Vec<Vec<Box<(dyn PipelineStageProperties + Send + Sync + 'static)>>> = {
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 449 |     sensor_cortical_units!(sensor_unit_functions);
[INFO] [stdout]     |     --------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `sensor_unit_functions` which comes from the expansion of the macro `sensor_cortical_units` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> src/sensor_device_cache.rs:232:49
[INFO] [stdout]     |
[INFO] [stdout] 232 |                     let mut output: Vec<Vec<Box<(dyn PipelineStageProperties + Send + Sync + 'static)>>> = Vec::new();
[INFO] [stdout]     |                                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 449 |     sensor_cortical_units!(sensor_unit_functions);
[INFO] [stdout]     |     --------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `sensor_unit_functions` which comes from the expansion of the macro `sensor_cortical_units` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> src/sensor_device_cache.rs:231:51
[INFO] [stdout]     |
[INFO] [stdout] 231 |                 let default_pipeline: Vec<Vec<Box<(dyn PipelineStageProperties + Send + Sync + 'static)>>> = {
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 449 |     sensor_cortical_units!(sensor_unit_functions);
[INFO] [stdout]     |     --------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `sensor_unit_functions` which comes from the expansion of the macro `sensor_cortical_units` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> src/sensor_device_cache.rs:232:49
[INFO] [stdout]     |
[INFO] [stdout] 232 |                     let mut output: Vec<Vec<Box<(dyn PipelineStageProperties + Send + Sync + 'static)>>> = Vec::new();
[INFO] [stdout]     |                                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 449 |     sensor_cortical_units!(sensor_unit_functions);
[INFO] [stdout]     |     --------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `sensor_unit_functions` which comes from the expansion of the macro `sensor_cortical_units` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> src/sensor_device_cache.rs:231:51
[INFO] [stdout]     |
[INFO] [stdout] 231 |                 let default_pipeline: Vec<Vec<Box<(dyn PipelineStageProperties + Send + Sync + 'static)>>> = {
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 449 |     sensor_cortical_units!(sensor_unit_functions);
[INFO] [stdout]     |     --------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `sensor_unit_functions` which comes from the expansion of the macro `sensor_cortical_units` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> src/sensor_device_cache.rs:232:49
[INFO] [stdout]     |
[INFO] [stdout] 232 |                     let mut output: Vec<Vec<Box<(dyn PipelineStageProperties + Send + Sync + 'static)>>> = Vec::new();
[INFO] [stdout]     |                                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 449 |     sensor_cortical_units!(sensor_unit_functions);
[INFO] [stdout]     |     --------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `sensor_unit_functions` which comes from the expansion of the macro `sensor_cortical_units` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> src/sensor_device_cache.rs:191:51
[INFO] [stdout]     |
[INFO] [stdout] 191 |                 let default_pipeline: Vec<Vec<Box<(dyn PipelineStageProperties + Send + Sync + 'static)>>> = {
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 449 |     sensor_cortical_units!(sensor_unit_functions);
[INFO] [stdout]     |     --------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `sensor_unit_functions` which comes from the expansion of the macro `sensor_cortical_units` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> src/sensor_device_cache.rs:192:49
[INFO] [stdout]     |
[INFO] [stdout] 192 |                     let mut output: Vec<Vec<Box<(dyn PipelineStageProperties + Send + Sync + 'static)>>> = Vec::new();
[INFO] [stdout]     |                                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 449 |     sensor_cortical_units!(sensor_unit_functions);
[INFO] [stdout]     |     --------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `sensor_unit_functions` which comes from the expansion of the macro `sensor_cortical_units` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> src/sensor_device_cache.rs:381:51
[INFO] [stdout]     |
[INFO] [stdout] 381 |                 let default_pipeline: Vec<Vec<Box<(dyn PipelineStageProperties + Send + Sync + 'static)>>> = {
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 449 |     sensor_cortical_units!(sensor_unit_functions);
[INFO] [stdout]     |     --------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `sensor_unit_functions` which comes from the expansion of the macro `sensor_cortical_units` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> src/sensor_device_cache.rs:382:49
[INFO] [stdout]     |
[INFO] [stdout] 382 |                     let mut output: Vec<Vec<Box<(dyn PipelineStageProperties + Send + Sync + 'static)>>> = Vec::new();
[INFO] [stdout]     |                                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 449 |     sensor_cortical_units!(sensor_unit_functions);
[INFO] [stdout]     |     --------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `sensor_unit_functions` which comes from the expansion of the macro `sensor_cortical_units` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> src/sensor_device_cache.rs:347:51
[INFO] [stdout]     |
[INFO] [stdout] 347 |                 let default_pipeline: Vec<Vec<Box<(dyn PipelineStageProperties + Send + Sync + 'static)>>> = {
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 449 |     sensor_cortical_units!(sensor_unit_functions);
[INFO] [stdout]     |     --------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `sensor_unit_functions` which comes from the expansion of the macro `sensor_cortical_units` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> src/sensor_device_cache.rs:348:49
[INFO] [stdout]     |
[INFO] [stdout] 348 |                     let mut output: Vec<Vec<Box<(dyn PipelineStageProperties + Send + Sync + 'static)>>> = Vec::new();
[INFO] [stdout]     |                                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 449 |     sensor_cortical_units!(sensor_unit_functions);
[INFO] [stdout]     |     --------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `sensor_unit_functions` which comes from the expansion of the macro `sensor_cortical_units` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> src/sensor_device_cache.rs:271:51
[INFO] [stdout]     |
[INFO] [stdout] 271 |                 let default_pipeline: Vec<Vec<Box<(dyn PipelineStageProperties + Send + Sync + 'static)>>> = {
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 449 |     sensor_cortical_units!(sensor_unit_functions);
[INFO] [stdout]     |     --------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `sensor_unit_functions` which comes from the expansion of the macro `sensor_cortical_units` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> src/sensor_device_cache.rs:272:49
[INFO] [stdout]     |
[INFO] [stdout] 272 |                     let mut output: Vec<Vec<Box<(dyn PipelineStageProperties + Send + Sync + 'static)>>> = Vec::new();
[INFO] [stdout]     |                                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 449 |     sensor_cortical_units!(sensor_unit_functions);
[INFO] [stdout]     |     --------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `sensor_unit_functions` which comes from the expansion of the macro `sensor_cortical_units` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> src/sensor_device_cache.rs:311:51
[INFO] [stdout]     |
[INFO] [stdout] 311 |                 let default_pipeline: Vec<Vec<Box<(dyn PipelineStageProperties + Send + Sync + 'static)>>> = {
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 449 |     sensor_cortical_units!(sensor_unit_functions);
[INFO] [stdout]     |     --------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `sensor_unit_functions` which comes from the expansion of the macro `sensor_cortical_units` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> src/sensor_device_cache.rs:312:49
[INFO] [stdout]     |
[INFO] [stdout] 312 |                     let mut output: Vec<Vec<Box<(dyn PipelineStageProperties + Send + Sync + 'static)>>> = Vec::new();
[INFO] [stdout]     |                                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 449 |     sensor_cortical_units!(sensor_unit_functions);
[INFO] [stdout]     |     --------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `sensor_unit_functions` which comes from the expansion of the macro `sensor_cortical_units` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `FeagiSignal` and `sensor_cortical_units`
[INFO] [stdout]  --> src/motor_device_cache.rs:4:51
[INFO] [stdout]   |
[INFO] [stdout] 4 | use feagi_data_structures::{motor_cortical_units, sensor_cortical_units, FeagiDataError, FeagiSignal, FeagiSignalIndex};
[INFO] [stdout]   |                                                   ^^^^^^^^^^^^^^^^^^^^^                  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> src/motor_device_cache.rs:332:51
[INFO] [stdout]     |
[INFO] [stdout] 332 |                 let default_pipeline: Vec<Vec<Box<(dyn PipelineStageProperties + Send + Sync + 'static)>>> = {
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 403 |     motor_cortical_units!(motor_unit_functions);
[INFO] [stdout]     |     ------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `motor_unit_functions` which comes from the expansion of the macro `motor_cortical_units` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> src/motor_device_cache.rs:333:49
[INFO] [stdout]     |
[INFO] [stdout] 333 |                     let mut output: Vec<Vec<Box<(dyn PipelineStageProperties + Send + Sync + 'static)>>> = Vec::new();
[INFO] [stdout]     |                                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 403 |     motor_cortical_units!(motor_unit_functions);
[INFO] [stdout]     |     ------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `motor_unit_functions` which comes from the expansion of the macro `motor_cortical_units` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> src/motor_device_cache.rs:332:51
[INFO] [stdout]     |
[INFO] [stdout] 332 |                 let default_pipeline: Vec<Vec<Box<(dyn PipelineStageProperties + Send + Sync + 'static)>>> = {
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 403 |     motor_cortical_units!(motor_unit_functions);
[INFO] [stdout]     |     ------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `motor_unit_functions` which comes from the expansion of the macro `motor_cortical_units` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> src/motor_device_cache.rs:333:49
[INFO] [stdout]     |
[INFO] [stdout] 333 |                     let mut output: Vec<Vec<Box<(dyn PipelineStageProperties + Send + Sync + 'static)>>> = Vec::new();
[INFO] [stdout]     |                                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 403 |     motor_cortical_units!(motor_unit_functions);
[INFO] [stdout]     |     ------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `motor_unit_functions` which comes from the expansion of the macro `motor_cortical_units` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> src/motor_device_cache.rs:212:51
[INFO] [stdout]     |
[INFO] [stdout] 212 |                 let default_pipeline: Vec<Vec<Box<(dyn PipelineStageProperties + Send + Sync + 'static)>>> = {
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 403 |     motor_cortical_units!(motor_unit_functions);
[INFO] [stdout]     |     ------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `motor_unit_functions` which comes from the expansion of the macro `motor_cortical_units` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> src/motor_device_cache.rs:213:49
[INFO] [stdout]     |
[INFO] [stdout] 213 |                     let mut output: Vec<Vec<Box<(dyn PipelineStageProperties + Send + Sync + 'static)>>> = Vec::new();
[INFO] [stdout]     |                                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 403 |     motor_cortical_units!(motor_unit_functions);
[INFO] [stdout]     |     ------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `motor_unit_functions` which comes from the expansion of the macro `motor_cortical_units` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> src/motor_device_cache.rs:366:51
[INFO] [stdout]     |
[INFO] [stdout] 366 |                 let default_pipeline: Vec<Vec<Box<(dyn PipelineStageProperties + Send + Sync + 'static)>>> = {
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 403 |     motor_cortical_units!(motor_unit_functions);
[INFO] [stdout]     |     ------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `motor_unit_functions` which comes from the expansion of the macro `motor_cortical_units` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> src/motor_device_cache.rs:367:49
[INFO] [stdout]     |
[INFO] [stdout] 367 |                     let mut output: Vec<Vec<Box<(dyn PipelineStageProperties + Send + Sync + 'static)>>> = Vec::new();
[INFO] [stdout]     |                                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 403 |     motor_cortical_units!(motor_unit_functions);
[INFO] [stdout]     |     ------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `motor_unit_functions` which comes from the expansion of the macro `motor_cortical_units` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `WrappedIOData`
[INFO] [stdout]  --> src/neuron_voxel_coding/xyzp/coder_traits.rs:6:45
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::wrapped_io_data::{WrappedIOType, WrappedIOData};
[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::ops::Range`
[INFO] [stdout]  --> src/neuron_voxel_coding/xyzp/coder_shared_functions.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::ops::Range;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `NeuronVoxelXYZPArrays` and `NeuronVoxelXYZP`
[INFO] [stdout]  --> src/neuron_voxel_coding/xyzp/coder_shared_functions.rs:2:50
[INFO] [stdout]   |
[INFO] [stdout] 2 | use feagi_data_structures::neuron_voxels::xyzp::{NeuronVoxelXYZP, NeuronVoxelXYZPArrays};
[INFO] [stdout]   |                                                  ^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]    --> src/neuron_voxel_coding/xyzp/coder_shared_functions.rs:122:32
[INFO] [stdout]     |
[INFO] [stdout] 122 |             let compare: f32 = (0.5f32.powi(z as i32));
[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] 122 -             let compare: f32 = (0.5f32.powi(z as i32));
[INFO] [stdout] 122 +             let compare: f32 = 0.5f32.powi(z as i32) ;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]    --> src/neuron_voxel_coding/xyzp/coder_shared_functions.rs:208:80
[INFO] [stdout]     |
[INFO] [stdout] 208 |             let mut percentage = SignedPercentage::new_from_m1_1(1.0).unwrap();;
[INFO] [stdout]     |                                                                                ^ help: remove this semicolon
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(redundant_semicolons)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashSet`
[INFO] [stdout]  --> src/neuron_voxel_coding/xyzp/encoders/segmented_image_frame.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::collections::HashSet;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `CorticalChannelDimensions` and `NeuronDepth`
[INFO] [stdout]  --> src/neuron_voxel_coding/xyzp/encoders/boolean.rs:5:88
[INFO] [stdout]   |
[INFO] [stdout] 5 | use feagi_data_structures::genomic::cortical_area::descriptors::{CorticalChannelCount, CorticalChannelDimensions, NeuronDepth};
[INFO] [stdout]   |                                                                                        ^^^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `percentage_2d_exponential::Percentage2DExponentialNeuronVoxelXYZPEncoder`
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/encoders/mod.rs:38:16
[INFO] [stdout]    |
[INFO] [stdout] 38 | pub(crate) use percentage_2d_exponential::Percentage2DExponentialNeuronVoxelXYZPEncoder;
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `percentage_2d_linear::Percentage2DLinearNeuronVoxelXYZPEncoder`
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/encoders/mod.rs:39:16
[INFO] [stdout]    |
[INFO] [stdout] 39 | pub(crate) use percentage_2d_linear::Percentage2DLinearNeuronVoxelXYZPEncoder;
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `percentage_4d_exponential::Percentage4DExponentialNeuronVoxelXYZPEncoder`
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/encoders/mod.rs:42:16
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub(crate) use percentage_4d_exponential::Percentage4DExponentialNeuronVoxelXYZPEncoder;
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `percentage_4d_linear::Percentage4DLinearNeuronVoxelXYZPEncoder`
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/encoders/mod.rs:43:16
[INFO] [stdout]    |
[INFO] [stdout] 43 | pub(crate) use percentage_4d_linear::Percentage4DLinearNeuronVoxelXYZPEncoder;
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `signed_percentage_1d_linear::SignedPercentage1DLinearNeuronVoxelXYZPEncoder`
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/encoders/mod.rs:44:16
[INFO] [stdout]    |
[INFO] [stdout] 44 | pub(crate) use signed_percentage_1d_linear::SignedPercentage1DLinearNeuronVoxelXYZPEncoder;
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `signed_percentage_1d_exponential::SignedPercentage1DExponentialNeuronVoxelXYZPEncoder`
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/encoders/mod.rs:45:16
[INFO] [stdout]    |
[INFO] [stdout] 45 | pub(crate) use signed_percentage_1d_exponential::SignedPercentage1DExponentialNeuronVoxelXYZPEncoder;
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `signed_percentage_2d_linear::SignedPercentage2DLinearNeuronVoxelXYZPEncoder`
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/encoders/mod.rs:46:16
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub(crate) use signed_percentage_2d_linear::SignedPercentage2DLinearNeuronVoxelXYZPEncoder;
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `signed_percentage_2d_exponential::SignedPercentage2DExponentialNeuronVoxelXYZPEncoder`
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/encoders/mod.rs:47:16
[INFO] [stdout]    |
[INFO] [stdout] 47 | pub(crate) use signed_percentage_2d_exponential::SignedPercentage2DExponentialNeuronVoxelXYZPEncoder;
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `signed_percentage_3d_linear::SignedPercentage3DLinearNeuronVoxelXYZPEncoder`
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/encoders/mod.rs:48:16
[INFO] [stdout]    |
[INFO] [stdout] 48 | pub(crate) use signed_percentage_3d_linear::SignedPercentage3DLinearNeuronVoxelXYZPEncoder;
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `signed_percentage_3d_exponential::SignedPercentage3DExponentialNeuronVoxelXYZPEncoder`
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/encoders/mod.rs:49:16
[INFO] [stdout]    |
[INFO] [stdout] 49 | pub(crate) use signed_percentage_3d_exponential::SignedPercentage3DExponentialNeuronVoxelXYZPEncoder;
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Display` and `Formatter`
[INFO] [stdout]  --> src/data_pipeline/stage_properties/image_quick_diff.rs:2:16
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::fmt::{Display, Formatter};
[INFO] [stdout]   |                ^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fmt::write`
[INFO] [stdout]  --> src/wrapped_io_data/wrapped_io_type.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::fmt::write;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `feagi_data_structures::genomic::cortical_area::CorticalID`
[INFO] [stdout]   --> src/data_types/segmented_image_frame.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use feagi_data_structures::genomic::cortical_area::CorticalID;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `CorticalGroupIndex`
[INFO] [stdout]   --> src/data_types/segmented_image_frame.rs:13:88
[INFO] [stdout]    |
[INFO] [stdout] 13 | use feagi_data_structures::genomic::cortical_area::descriptors::{CorticalChannelIndex, CorticalGroupIndex};
[INFO] [stdout]    |                                                                                        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `CorticalMappedXYZPNeuronVoxels`
[INFO] [stdout]   --> src/data_types/segmented_image_frame.rs:14:50
[INFO] [stdout]    |
[INFO] [stdout] 14 | use feagi_data_structures::neuron_voxels::xyzp::{CorticalMappedXYZPNeuronVoxels, NeuronVoxelXYZPArrays};
[INFO] [stdout]    |                                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `s`
[INFO] [stdout]  --> src/data_types/misc_data.rs:1:15
[INFO] [stdout]   |
[INFO] [stdout] 1 | use ndarray::{s, Array3, Zip};
[INFO] [stdout]   |               ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cmp`
[INFO] [stdout]  --> src/data_types/descriptors.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::cmp;
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Percentage2D`, `Percentage3D`, `Percentage4D`, and `Percentage`
[INFO] [stdout]   --> src/data_types/descriptors.rs:10:25
[INFO] [stdout]    |
[INFO] [stdout] 10 | use super::{ImageFrame, Percentage, Percentage2D, Percentage3D, Percentage4D, SegmentedImageFrame};
[INFO] [stdout]    |                         ^^^^^^^^^^  ^^^^^^^^^^^^  ^^^^^^^^^^^^  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> src/sensor_device_cache.rs:231:51
[INFO] [stdout]     |
[INFO] [stdout] 231 |                 let default_pipeline: Vec<Vec<Box<(dyn PipelineStageProperties + Send + Sync + 'static)>>> = {
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 449 |     sensor_cortical_units!(sensor_unit_functions);
[INFO] [stdout]     |     --------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `sensor_unit_functions` which comes from the expansion of the macro `sensor_cortical_units` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> src/sensor_device_cache.rs:232:49
[INFO] [stdout]     |
[INFO] [stdout] 232 |                     let mut output: Vec<Vec<Box<(dyn PipelineStageProperties + Send + Sync + 'static)>>> = Vec::new();
[INFO] [stdout]     |                                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 449 |     sensor_cortical_units!(sensor_unit_functions);
[INFO] [stdout]     |     --------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `sensor_unit_functions` which comes from the expansion of the macro `sensor_cortical_units` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> src/sensor_device_cache.rs:231:51
[INFO] [stdout]     |
[INFO] [stdout] 231 |                 let default_pipeline: Vec<Vec<Box<(dyn PipelineStageProperties + Send + Sync + 'static)>>> = {
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 449 |     sensor_cortical_units!(sensor_unit_functions);
[INFO] [stdout]     |     --------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `sensor_unit_functions` which comes from the expansion of the macro `sensor_cortical_units` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> src/sensor_device_cache.rs:232:49
[INFO] [stdout]     |
[INFO] [stdout] 232 |                     let mut output: Vec<Vec<Box<(dyn PipelineStageProperties + Send + Sync + 'static)>>> = Vec::new();
[INFO] [stdout]     |                                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 449 |     sensor_cortical_units!(sensor_unit_functions);
[INFO] [stdout]     |     --------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `sensor_unit_functions` which comes from the expansion of the macro `sensor_cortical_units` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> src/sensor_device_cache.rs:231:51
[INFO] [stdout]     |
[INFO] [stdout] 231 |                 let default_pipeline: Vec<Vec<Box<(dyn PipelineStageProperties + Send + Sync + 'static)>>> = {
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 449 |     sensor_cortical_units!(sensor_unit_functions);
[INFO] [stdout]     |     --------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `sensor_unit_functions` which comes from the expansion of the macro `sensor_cortical_units` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> src/sensor_device_cache.rs:232:49
[INFO] [stdout]     |
[INFO] [stdout] 232 |                     let mut output: Vec<Vec<Box<(dyn PipelineStageProperties + Send + Sync + 'static)>>> = Vec::new();
[INFO] [stdout]     |                                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 449 |     sensor_cortical_units!(sensor_unit_functions);
[INFO] [stdout]     |     --------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `sensor_unit_functions` which comes from the expansion of the macro `sensor_cortical_units` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> src/sensor_device_cache.rs:231:51
[INFO] [stdout]     |
[INFO] [stdout] 231 |                 let default_pipeline: Vec<Vec<Box<(dyn PipelineStageProperties + Send + Sync + 'static)>>> = {
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 449 |     sensor_cortical_units!(sensor_unit_functions);
[INFO] [stdout]     |     --------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `sensor_unit_functions` which comes from the expansion of the macro `sensor_cortical_units` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> src/sensor_device_cache.rs:232:49
[INFO] [stdout]     |
[INFO] [stdout] 232 |                     let mut output: Vec<Vec<Box<(dyn PipelineStageProperties + Send + Sync + 'static)>>> = Vec::new();
[INFO] [stdout]     |                                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 449 |     sensor_cortical_units!(sensor_unit_functions);
[INFO] [stdout]     |     --------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `sensor_unit_functions` which comes from the expansion of the macro `sensor_cortical_units` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> src/sensor_device_cache.rs:231:51
[INFO] [stdout]     |
[INFO] [stdout] 231 |                 let default_pipeline: Vec<Vec<Box<(dyn PipelineStageProperties + Send + Sync + 'static)>>> = {
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 449 |     sensor_cortical_units!(sensor_unit_functions);
[INFO] [stdout]     |     --------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `sensor_unit_functions` which comes from the expansion of the macro `sensor_cortical_units` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> src/sensor_device_cache.rs:232:49
[INFO] [stdout]     |
[INFO] [stdout] 232 |                     let mut output: Vec<Vec<Box<(dyn PipelineStageProperties + Send + Sync + 'static)>>> = Vec::new();
[INFO] [stdout]     |                                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 449 |     sensor_cortical_units!(sensor_unit_functions);
[INFO] [stdout]     |     --------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `sensor_unit_functions` which comes from the expansion of the macro `sensor_cortical_units` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> src/sensor_device_cache.rs:231:51
[INFO] [stdout]     |
[INFO] [stdout] 231 |                 let default_pipeline: Vec<Vec<Box<(dyn PipelineStageProperties + Send + Sync + 'static)>>> = {
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 449 |     sensor_cortical_units!(sensor_unit_functions);
[INFO] [stdout]     |     --------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `sensor_unit_functions` which comes from the expansion of the macro `sensor_cortical_units` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> src/sensor_device_cache.rs:232:49
[INFO] [stdout]     |
[INFO] [stdout] 232 |                     let mut output: Vec<Vec<Box<(dyn PipelineStageProperties + Send + Sync + 'static)>>> = Vec::new();
[INFO] [stdout]     |                                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 449 |     sensor_cortical_units!(sensor_unit_functions);
[INFO] [stdout]     |     --------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `sensor_unit_functions` which comes from the expansion of the macro `sensor_cortical_units` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> src/sensor_device_cache.rs:191:51
[INFO] [stdout]     |
[INFO] [stdout] 191 |                 let default_pipeline: Vec<Vec<Box<(dyn PipelineStageProperties + Send + Sync + 'static)>>> = {
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 449 |     sensor_cortical_units!(sensor_unit_functions);
[INFO] [stdout]     |     --------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `sensor_unit_functions` which comes from the expansion of the macro `sensor_cortical_units` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> src/sensor_device_cache.rs:192:49
[INFO] [stdout]     |
[INFO] [stdout] 192 |                     let mut output: Vec<Vec<Box<(dyn PipelineStageProperties + Send + Sync + 'static)>>> = Vec::new();
[INFO] [stdout]     |                                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 449 |     sensor_cortical_units!(sensor_unit_functions);
[INFO] [stdout]     |     --------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `sensor_unit_functions` which comes from the expansion of the macro `sensor_cortical_units` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> src/sensor_device_cache.rs:381:51
[INFO] [stdout]     |
[INFO] [stdout] 381 |                 let default_pipeline: Vec<Vec<Box<(dyn PipelineStageProperties + Send + Sync + 'static)>>> = {
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 449 |     sensor_cortical_units!(sensor_unit_functions);
[INFO] [stdout]     |     --------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `sensor_unit_functions` which comes from the expansion of the macro `sensor_cortical_units` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> src/sensor_device_cache.rs:382:49
[INFO] [stdout]     |
[INFO] [stdout] 382 |                     let mut output: Vec<Vec<Box<(dyn PipelineStageProperties + Send + Sync + 'static)>>> = Vec::new();
[INFO] [stdout]     |                                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 449 |     sensor_cortical_units!(sensor_unit_functions);
[INFO] [stdout]     |     --------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `sensor_unit_functions` which comes from the expansion of the macro `sensor_cortical_units` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> src/sensor_device_cache.rs:347:51
[INFO] [stdout]     |
[INFO] [stdout] 347 |                 let default_pipeline: Vec<Vec<Box<(dyn PipelineStageProperties + Send + Sync + 'static)>>> = {
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 449 |     sensor_cortical_units!(sensor_unit_functions);
[INFO] [stdout]     |     --------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `sensor_unit_functions` which comes from the expansion of the macro `sensor_cortical_units` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> src/sensor_device_cache.rs:348:49
[INFO] [stdout]     |
[INFO] [stdout] 348 |                     let mut output: Vec<Vec<Box<(dyn PipelineStageProperties + Send + Sync + 'static)>>> = Vec::new();
[INFO] [stdout]     |                                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 449 |     sensor_cortical_units!(sensor_unit_functions);
[INFO] [stdout]     |     --------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `sensor_unit_functions` which comes from the expansion of the macro `sensor_cortical_units` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> src/sensor_device_cache.rs:271:51
[INFO] [stdout]     |
[INFO] [stdout] 271 |                 let default_pipeline: Vec<Vec<Box<(dyn PipelineStageProperties + Send + Sync + 'static)>>> = {
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 449 |     sensor_cortical_units!(sensor_unit_functions);
[INFO] [stdout]     |     --------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `sensor_unit_functions` which comes from the expansion of the macro `sensor_cortical_units` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> src/sensor_device_cache.rs:272:49
[INFO] [stdout]     |
[INFO] [stdout] 272 |                     let mut output: Vec<Vec<Box<(dyn PipelineStageProperties + Send + Sync + 'static)>>> = Vec::new();
[INFO] [stdout]     |                                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 449 |     sensor_cortical_units!(sensor_unit_functions);
[INFO] [stdout]     |     --------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `sensor_unit_functions` which comes from the expansion of the macro `sensor_cortical_units` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> src/sensor_device_cache.rs:311:51
[INFO] [stdout]     |
[INFO] [stdout] 311 |                 let default_pipeline: Vec<Vec<Box<(dyn PipelineStageProperties + Send + Sync + 'static)>>> = {
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 449 |     sensor_cortical_units!(sensor_unit_functions);
[INFO] [stdout]     |     --------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `sensor_unit_functions` which comes from the expansion of the macro `sensor_cortical_units` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> src/sensor_device_cache.rs:312:49
[INFO] [stdout]     |
[INFO] [stdout] 312 |                     let mut output: Vec<Vec<Box<(dyn PipelineStageProperties + Send + Sync + 'static)>>> = Vec::new();
[INFO] [stdout]     |                                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 449 |     sensor_cortical_units!(sensor_unit_functions);
[INFO] [stdout]     |     --------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `sensor_unit_functions` which comes from the expansion of the macro `sensor_cortical_units` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `FeagiSignal` and `sensor_cortical_units`
[INFO] [stdout]  --> src/motor_device_cache.rs:4:51
[INFO] [stdout]   |
[INFO] [stdout] 4 | use feagi_data_structures::{motor_cortical_units, sensor_cortical_units, FeagiDataError, FeagiSignal, FeagiSignalIndex};
[INFO] [stdout]   |                                                   ^^^^^^^^^^^^^^^^^^^^^                  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> src/motor_device_cache.rs:332:51
[INFO] [stdout]     |
[INFO] [stdout] 332 |                 let default_pipeline: Vec<Vec<Box<(dyn PipelineStageProperties + Send + Sync + 'static)>>> = {
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 403 |     motor_cortical_units!(motor_unit_functions);
[INFO] [stdout]     |     ------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `motor_unit_functions` which comes from the expansion of the macro `motor_cortical_units` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> src/motor_device_cache.rs:333:49
[INFO] [stdout]     |
[INFO] [stdout] 333 |                     let mut output: Vec<Vec<Box<(dyn PipelineStageProperties + Send + Sync + 'static)>>> = Vec::new();
[INFO] [stdout]     |                                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 403 |     motor_cortical_units!(motor_unit_functions);
[INFO] [stdout]     |     ------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `motor_unit_functions` which comes from the expansion of the macro `motor_cortical_units` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> src/motor_device_cache.rs:332:51
[INFO] [stdout]     |
[INFO] [stdout] 332 |                 let default_pipeline: Vec<Vec<Box<(dyn PipelineStageProperties + Send + Sync + 'static)>>> = {
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 403 |     motor_cortical_units!(motor_unit_functions);
[INFO] [stdout]     |     ------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `motor_unit_functions` which comes from the expansion of the macro `motor_cortical_units` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> src/motor_device_cache.rs:333:49
[INFO] [stdout]     |
[INFO] [stdout] 333 |                     let mut output: Vec<Vec<Box<(dyn PipelineStageProperties + Send + Sync + 'static)>>> = Vec::new();
[INFO] [stdout]     |                                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 403 |     motor_cortical_units!(motor_unit_functions);
[INFO] [stdout]     |     ------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `motor_unit_functions` which comes from the expansion of the macro `motor_cortical_units` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> src/motor_device_cache.rs:212:51
[INFO] [stdout]     |
[INFO] [stdout] 212 |                 let default_pipeline: Vec<Vec<Box<(dyn PipelineStageProperties + Send + Sync + 'static)>>> = {
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 403 |     motor_cortical_units!(motor_unit_functions);
[INFO] [stdout]     |     ------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `motor_unit_functions` which comes from the expansion of the macro `motor_cortical_units` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> src/motor_device_cache.rs:213:49
[INFO] [stdout]     |
[INFO] [stdout] 213 |                     let mut output: Vec<Vec<Box<(dyn PipelineStageProperties + Send + Sync + 'static)>>> = Vec::new();
[INFO] [stdout]     |                                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 403 |     motor_cortical_units!(motor_unit_functions);
[INFO] [stdout]     |     ------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `motor_unit_functions` which comes from the expansion of the macro `motor_cortical_units` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> src/motor_device_cache.rs:366:51
[INFO] [stdout]     |
[INFO] [stdout] 366 |                 let default_pipeline: Vec<Vec<Box<(dyn PipelineStageProperties + Send + Sync + 'static)>>> = {
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 403 |     motor_cortical_units!(motor_unit_functions);
[INFO] [stdout]     |     ------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `motor_unit_functions` which comes from the expansion of the macro `motor_cortical_units` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> src/motor_device_cache.rs:367:49
[INFO] [stdout]     |
[INFO] [stdout] 367 |                     let mut output: Vec<Vec<Box<(dyn PipelineStageProperties + Send + Sync + 'static)>>> = Vec::new();
[INFO] [stdout]     |                                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 403 |     motor_cortical_units!(motor_unit_functions);
[INFO] [stdout]     |     ------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `motor_unit_functions` which comes from the expansion of the macro `motor_cortical_units` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `z_depth_float`
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/decoders/percentage_1d_linear.rs:71:13
[INFO] [stdout]    |
[INFO] [stdout] 71 |         let z_depth_float = self.channel_dimensions.depth as f32;
[INFO] [stdout]    |             ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_z_depth_float`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `z_depth_float`
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/decoders/percentage_2d_linear.rs:71:13
[INFO] [stdout]    |
[INFO] [stdout] 71 |         let z_depth_float = self.channel_dimensions.depth as f32;
[INFO] [stdout]    |             ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_z_depth_float`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/decoders/percentage_3d_linear.rs:42:13
[INFO] [stdout]    |
[INFO] [stdout] 42 |         let mut neuron_array = neuron_array.unwrap();
[INFO] [stdout]    |             ----^^^^^^^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `z_depth_float`
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/decoders/percentage_3d_linear.rs:71:13
[INFO] [stdout]    |
[INFO] [stdout] 71 |         let z_depth_float = self.channel_dimensions.depth as f32;
[INFO] [stdout]    |             ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_z_depth_float`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/decoders/percentage_4d_linear.rs:42:13
[INFO] [stdout]    |
[INFO] [stdout] 42 |         let mut neuron_array = neuron_array.unwrap();
[INFO] [stdout]    |             ----^^^^^^^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `z_depth_float`
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/decoders/percentage_4d_linear.rs:71:13
[INFO] [stdout]    |
[INFO] [stdout] 71 |         let z_depth_float = self.channel_dimensions.depth as f32;
[INFO] [stdout]    |             ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_z_depth_float`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `z_depth_float`
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/decoders/percentage_2d_exponential.rs:71:13
[INFO] [stdout]    |
[INFO] [stdout] 71 |         let z_depth_float = self.channel_dimensions.depth as f32;
[INFO] [stdout]    |             ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_z_depth_float`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `max_possible_x_index`
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/decoders/signed_percentage_1d_linear.rs:57:13
[INFO] [stdout]    |
[INFO] [stdout] 57 |         let max_possible_x_index = CHANNEL_WIDTH * number_of_channels; // Something is wrong if we reach here
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_max_possible_x_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/decoders/gaze_properties_exponential.rs:89:17
[INFO] [stdout]    |
[INFO] [stdout] 89 |             let mut eccentricity_z_a_vector = self.z_depth_eccentricity_scratch_space.get(eccentricity_z_row_a_index).unwrap();
[INFO] [stdout]    |                 ----^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/decoders/gaze_properties_exponential.rs:90:17
[INFO] [stdout]    |
[INFO] [stdout] 90 |             let mut eccentricity_z_b_vector = self.z_depth_eccentricity_scratch_space.get(eccentricity_z_row_b_index).unwrap();
[INFO] [stdout]    |                 ----^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/decoders/gaze_properties_exponential.rs:91:17
[INFO] [stdout]    |
[INFO] [stdout] 91 |             let mut modularity_z_vector = self.z_depth_modularity_scratch_space.get(modularity_z_row_index).unwrap();
[INFO] [stdout]    |                 ----^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `time_of_read`
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/decoders/gaze_properties_exponential.rs:30:126
[INFO] [stdout]    |
[INFO] [stdout] 30 | ...edXYZPNeuronVoxels, time_of_read: Instant, pipelines_with_data_to_update: &mut Vec<PipelineStageRunner>, channel_changed: &mut Ve...
[INFO] [stdout]    |                        ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_time_of_read`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/decoders/gaze_properties_linear.rs:90:17
[INFO] [stdout]    |
[INFO] [stdout] 90 |             let mut eccentricity_z_a_vector = self.z_depth_eccentricity_scratch_space.get(eccentricity_z_row_a_index).unwrap();
[INFO] [stdout]    |                 ----^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/decoders/gaze_properties_linear.rs:91:17
[INFO] [stdout]    |
[INFO] [stdout] 91 |             let mut eccentricity_z_b_vector = self.z_depth_eccentricity_scratch_space.get(eccentricity_z_row_b_index).unwrap();
[INFO] [stdout]    |                 ----^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/decoders/gaze_properties_linear.rs:92:17
[INFO] [stdout]    |
[INFO] [stdout] 92 |             let mut modularity_z_vector = self.z_depth_modularity_scratch_space.get(modularity_z_row_index).unwrap();
[INFO] [stdout]    |                 ----^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `time_of_read`
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/decoders/gaze_properties_linear.rs:31:126
[INFO] [stdout]    |
[INFO] [stdout] 31 | ...edXYZPNeuronVoxels, time_of_read: Instant, pipelines_with_data_to_update: &mut Vec<PipelineStageRunner>, channel_changed: &mut Ve...
[INFO] [stdout]    |                        ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_time_of_read`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `channel_index`
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/encoders/percentage_1d_exponential.rs:36:29
[INFO] [stdout]    |
[INFO] [stdout] 36 |             .try_for_each(|(channel_index, (pipeline, scratch))| -> Result<(), FeagiDataError> {
[INFO] [stdout]    |                             ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_channel_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `channel_index`
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/encoders/percentage_1d_linear.rs:38:29
[INFO] [stdout]    |
[INFO] [stdout] 38 |             .try_for_each(|(channel_index, (pipeline, scratch))| -> Result<(), FeagiDataError> {
[INFO] [stdout]    |                             ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_channel_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `channel_index`
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/encoders/percentage_2d_exponential.rs:36:29
[INFO] [stdout]    |
[INFO] [stdout] 36 |             .try_for_each(|(channel_index, (pipeline, scratch))| -> Result<(), FeagiDataError> {
[INFO] [stdout]    |                             ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_channel_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `channel_index`
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/encoders/percentage_2d_linear.rs:38:29
[INFO] [stdout]    |
[INFO] [stdout] 38 |             .try_for_each(|(channel_index, (pipeline, scratch))| -> Result<(), FeagiDataError> {
[INFO] [stdout]    |                             ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_channel_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `channel_index`
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/encoders/percentage_3d_exponential.rs:36:29
[INFO] [stdout]    |
[INFO] [stdout] 36 |             .try_for_each(|(channel_index, (pipeline, scratch))| -> Result<(), FeagiDataError> {
[INFO] [stdout]    |                             ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_channel_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `channel_index`
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/encoders/percentage_3d_linear.rs:38:29
[INFO] [stdout]    |
[INFO] [stdout] 38 |             .try_for_each(|(channel_index, (pipeline, scratch))| -> Result<(), FeagiDataError> {
[INFO] [stdout]    |                             ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_channel_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `channel_index`
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/encoders/percentage_4d_exponential.rs:36:29
[INFO] [stdout]    |
[INFO] [stdout] 36 |             .try_for_each(|(channel_index, (pipeline, scratch))| -> Result<(), FeagiDataError> {
[INFO] [stdout]    |                             ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_channel_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `channel_index`
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/encoders/percentage_4d_linear.rs:38:29
[INFO] [stdout]    |
[INFO] [stdout] 38 |             .try_for_each(|(channel_index, (pipeline, scratch))| -> Result<(), FeagiDataError> {
[INFO] [stdout]    |                             ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_channel_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `channel_index`
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/encoders/signed_percentage_1d_linear.rs:40:29
[INFO] [stdout]    |
[INFO] [stdout] 40 |             .try_for_each(|(channel_index, (pipeline, scratch))| -> Result<(), FeagiDataError> {
[INFO] [stdout]    |                             ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_channel_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `channel_index`
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/encoders/signed_percentage_1d_exponential.rs:38:29
[INFO] [stdout]    |
[INFO] [stdout] 38 |             .try_for_each(|(channel_index, (pipeline, scratch))| -> Result<(), FeagiDataError> {
[INFO] [stdout]    |                             ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_channel_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `channel_index`
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/encoders/signed_percentage_2d_linear.rs:40:29
[INFO] [stdout]    |
[INFO] [stdout] 40 |             .try_for_each(|(channel_index, (pipeline, scratch))| -> Result<(), FeagiDataError> {
[INFO] [stdout]    |                             ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_channel_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `channel_index`
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/encoders/signed_percentage_2d_exponential.rs:38:29
[INFO] [stdout]    |
[INFO] [stdout] 38 |             .try_for_each(|(channel_index, (pipeline, scratch))| -> Result<(), FeagiDataError> {
[INFO] [stdout]    |                             ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_channel_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `channel_index`
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/encoders/signed_percentage_3d_linear.rs:40:29
[INFO] [stdout]    |
[INFO] [stdout] 40 |             .try_for_each(|(channel_index, (pipeline, scratch))| -> Result<(), FeagiDataError> {
[INFO] [stdout]    |                             ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_channel_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `channel_index`
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/encoders/signed_percentage_3d_exponential.rs:38:29
[INFO] [stdout]    |
[INFO] [stdout] 38 |             .try_for_each(|(channel_index, (pipeline, scratch))| -> Result<(), FeagiDataError> {
[INFO] [stdout]    |                             ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_channel_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `channel_index`
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/encoders/signed_percentage_4d_linear.rs:40:29
[INFO] [stdout]    |
[INFO] [stdout] 40 |             .try_for_each(|(channel_index, (pipeline, scratch))| -> Result<(), FeagiDataError> {
[INFO] [stdout]    |                             ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_channel_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `channel_index`
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/encoders/signed_percentage_4d_exponential.rs:38:29
[INFO] [stdout]    |
[INFO] [stdout] 38 |             .try_for_each(|(channel_index, (pipeline, scratch))| -> Result<(), FeagiDataError> {
[INFO] [stdout]    |                             ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_channel_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `channel_index`
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/encoders/boolean.rs:41:29
[INFO] [stdout]    |
[INFO] [stdout] 41 |             .try_for_each(|(channel_index, (pipeline, scratch))| -> Result<(), FeagiDataError> {
[INFO] [stdout]    |                             ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_channel_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `c`
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/encoders/boolean.rs:59:13
[INFO] [stdout]    |
[INFO] [stdout] 59 |         for c in 0..self.scratch_space.len() as u32 {
[INFO] [stdout]    |             ^
[INFO] [stdout]    |
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `Y`
[INFO] [stdout]    |
[INFO] [stdout] 59 -         for c in 0..self.scratch_space.len() as u32 {
[INFO] [stdout] 59 +         for <neuron_voxel_coding::xyzp::encoders::boolean::BooleanNeuronVoxelXYZPEncoder as neuron_voxel_coding::xyzp::coder_traits::NeuronVoxelXYZPEncoder>::write_neuron_data_multi_channel_from_processed_cache::Y in 0..self.scratch_space.len() as u32 {
[INFO] [stdout]    |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]    |
[INFO] [stdout] 59 |         for _c in 0..self.scratch_space.len() as u32 {
[INFO] [stdout]    |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `properties`
[INFO] [stdout]   --> src/data_pipeline/stages/identities.rs:59:35
[INFO] [stdout]    |
[INFO] [stdout] 59 |     fn load_properties(&mut self, properties: Box<dyn PipelineStageProperties + Sync + Send>) -> Result<(), FeagiDataError> {
[INFO] [stdout]    |                                   ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_properties`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `properties`
[INFO] [stdout]   --> src/data_pipeline/stages/image_segmentor.rs:65:35
[INFO] [stdout]    |
[INFO] [stdout] 65 |     fn load_properties(&mut self, properties: Box<dyn PipelineStageProperties + Sync + Send>) -> Result<(), FeagiDataError> {
[INFO] [stdout]    |                                   ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_properties`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `time_of_input`
[INFO] [stdout]   --> src/data_pipeline/stages/image_quick_diff.rs:49:60
[INFO] [stdout]    |
[INFO] [stdout] 49 |     fn process_new_input(&mut self, value: &WrappedIOData, time_of_input: Instant) -> Result<&WrappedIOData, FeagiDataError> {
[INFO] [stdout]    |                                                            ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_time_of_input`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `properties`
[INFO] [stdout]   --> src/data_pipeline/stages/image_quick_diff.rs:71:35
[INFO] [stdout]    |
[INFO] [stdout] 71 |     fn load_properties(&mut self, properties: Box<dyn PipelineStageProperties + Sync + Send>) -> Result<(), FeagiDataError> {
[INFO] [stdout]    |                                   ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_properties`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/neuron_voxel_coding/xyzp/coder_shared_functions.rs:269:17
[INFO] [stdout]     |
[INFO] [stdout] 269 |             let mut percentage = Percentage::new_from_0_1_unchecked(0.5);
[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/neuron_voxel_coding/xyzp/coder_shared_functions.rs:284:17
[INFO] [stdout]     |
[INFO] [stdout] 284 |             let mut percentage = Percentage::new_from_0_1_unchecked(1.0);
[INFO] [stdout]     |                 ----^^^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/neuron_voxel_coding/xyzp/coder_shared_functions.rs:316:17
[INFO] [stdout]     |
[INFO] [stdout] 316 |             let mut percentage = SignedPercentage::new_from_m1_1(0.5).unwrap();
[INFO] [stdout]     |                 ----^^^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/neuron_voxel_coding/xyzp/coder_shared_functions.rs:331:17
[INFO] [stdout]     |
[INFO] [stdout] 331 |             let mut percentage = SignedPercentage::new_from_m1_1(-0.5).unwrap();
[INFO] [stdout]     |                 ----^^^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/neuron_voxel_coding/xyzp/coder_shared_functions.rs:346:17
[INFO] [stdout]     |
[INFO] [stdout] 346 |             let mut percentage = SignedPercentage::new_from_m1_1(1.0).unwrap();
[INFO] [stdout]     |                 ----^^^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/neuron_voxel_coding/xyzp/coder_shared_functions.rs:361:17
[INFO] [stdout]     |
[INFO] [stdout] 361 |             let mut percentage = SignedPercentage::new_from_m1_1(-1.0).unwrap();
[INFO] [stdout]     |                 ----^^^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `z_depth_float`
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/decoders/percentage_1d_linear.rs:71:13
[INFO] [stdout]    |
[INFO] [stdout] 71 |         let z_depth_float = self.channel_dimensions.depth as f32;
[INFO] [stdout]    |             ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_z_depth_float`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `z_depth_float`
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/decoders/percentage_2d_linear.rs:71:13
[INFO] [stdout]    |
[INFO] [stdout] 71 |         let z_depth_float = self.channel_dimensions.depth as f32;
[INFO] [stdout]    |             ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_z_depth_float`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/decoders/percentage_3d_linear.rs:42:13
[INFO] [stdout]    |
[INFO] [stdout] 42 |         let mut neuron_array = neuron_array.unwrap();
[INFO] [stdout]    |             ----^^^^^^^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `z_depth_float`
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/decoders/percentage_3d_linear.rs:71:13
[INFO] [stdout]    |
[INFO] [stdout] 71 |         let z_depth_float = self.channel_dimensions.depth as f32;
[INFO] [stdout]    |             ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_z_depth_float`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/decoders/percentage_4d_linear.rs:42:13
[INFO] [stdout]    |
[INFO] [stdout] 42 |         let mut neuron_array = neuron_array.unwrap();
[INFO] [stdout]    |             ----^^^^^^^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `z_depth_float`
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/decoders/percentage_4d_linear.rs:71:13
[INFO] [stdout]    |
[INFO] [stdout] 71 |         let z_depth_float = self.channel_dimensions.depth as f32;
[INFO] [stdout]    |             ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_z_depth_float`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `z_depth_float`
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/decoders/percentage_2d_exponential.rs:71:13
[INFO] [stdout]    |
[INFO] [stdout] 71 |         let z_depth_float = self.channel_dimensions.depth as f32;
[INFO] [stdout]    |             ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_z_depth_float`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `max_possible_x_index`
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/decoders/signed_percentage_1d_linear.rs:57:13
[INFO] [stdout]    |
[INFO] [stdout] 57 |         let max_possible_x_index = CHANNEL_WIDTH * number_of_channels; // Something is wrong if we reach here
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_max_possible_x_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/decoders/gaze_properties_exponential.rs:89:17
[INFO] [stdout]    |
[INFO] [stdout] 89 |             let mut eccentricity_z_a_vector = self.z_depth_eccentricity_scratch_space.get(eccentricity_z_row_a_index).unwrap();
[INFO] [stdout]    |                 ----^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/decoders/gaze_properties_exponential.rs:90:17
[INFO] [stdout]    |
[INFO] [stdout] 90 |             let mut eccentricity_z_b_vector = self.z_depth_eccentricity_scratch_space.get(eccentricity_z_row_b_index).unwrap();
[INFO] [stdout]    |                 ----^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/decoders/gaze_properties_exponential.rs:91:17
[INFO] [stdout]    |
[INFO] [stdout] 91 |             let mut modularity_z_vector = self.z_depth_modularity_scratch_space.get(modularity_z_row_index).unwrap();
[INFO] [stdout]    |                 ----^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `time_of_read`
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/decoders/gaze_properties_exponential.rs:30:126
[INFO] [stdout]    |
[INFO] [stdout] 30 | ...edXYZPNeuronVoxels, time_of_read: Instant, pipelines_with_data_to_update: &mut Vec<PipelineStageRunner>, channel_changed: &mut Ve...
[INFO] [stdout]    |                        ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_time_of_read`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/decoders/gaze_properties_linear.rs:90:17
[INFO] [stdout]    |
[INFO] [stdout] 90 |             let mut eccentricity_z_a_vector = self.z_depth_eccentricity_scratch_space.get(eccentricity_z_row_a_index).unwrap();
[INFO] [stdout]    |                 ----^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/decoders/gaze_properties_linear.rs:91:17
[INFO] [stdout]    |
[INFO] [stdout] 91 |             let mut eccentricity_z_b_vector = self.z_depth_eccentricity_scratch_space.get(eccentricity_z_row_b_index).unwrap();
[INFO] [stdout]    |                 ----^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/decoders/gaze_properties_linear.rs:92:17
[INFO] [stdout]    |
[INFO] [stdout] 92 |             let mut modularity_z_vector = self.z_depth_modularity_scratch_space.get(modularity_z_row_index).unwrap();
[INFO] [stdout]    |                 ----^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `time_of_read`
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/decoders/gaze_properties_linear.rs:31:126
[INFO] [stdout]    |
[INFO] [stdout] 31 | ...edXYZPNeuronVoxels, time_of_read: Instant, pipelines_with_data_to_update: &mut Vec<PipelineStageRunner>, channel_changed: &mut Ve...
[INFO] [stdout]    |                        ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_time_of_read`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `channel_index`
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/encoders/percentage_1d_exponential.rs:36:29
[INFO] [stdout]    |
[INFO] [stdout] 36 |             .try_for_each(|(channel_index, (pipeline, scratch))| -> Result<(), FeagiDataError> {
[INFO] [stdout]    |                             ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_channel_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `channel_index`
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/encoders/percentage_1d_linear.rs:38:29
[INFO] [stdout]    |
[INFO] [stdout] 38 |             .try_for_each(|(channel_index, (pipeline, scratch))| -> Result<(), FeagiDataError> {
[INFO] [stdout]    |                             ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_channel_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `input_image_properties`
[INFO] [stdout]    --> src/data_types/processing/image_frame_processor.rs:124:17
[INFO] [stdout]     |
[INFO] [stdout] 124 |                 input_image_properties,
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^ help: try ignoring the field: `input_image_properties: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `input_image_properties`
[INFO] [stdout]    --> src/data_types/processing/image_frame_processor.rs:138:17
[INFO] [stdout]     |
[INFO] [stdout] 138 |                 input_image_properties,
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^ help: try ignoring the field: `input_image_properties: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `input_image_properties`
[INFO] [stdout]    --> src/data_types/processing/image_frame_processor.rs:152:17
[INFO] [stdout]     |
[INFO] [stdout] 152 |                 input_image_properties,
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^ help: try ignoring the field: `input_image_properties: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `final_resize_xy_to`
[INFO] [stdout]    --> src/data_types/processing/image_frame_processor.rs:154:42
[INFO] [stdout]     |
[INFO] [stdout] 154 |                 final_resize_xy_to: Some(final_resize_xy_to),
[INFO] [stdout]     |                                          ^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_final_resize_xy_to`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `input_image_properties`
[INFO] [stdout]    --> src/data_types/processing/image_frame_processor.rs:166:17
[INFO] [stdout]     |
[INFO] [stdout] 166 |                 input_image_properties,
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^ help: try ignoring the field: `input_image_properties: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `input_image_properties`
[INFO] [stdout]    --> src/data_types/processing/image_frame_processor.rs:180:17
[INFO] [stdout]     |
[INFO] [stdout] 180 |                 input_image_properties,
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^ help: try ignoring the field: `input_image_properties: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `final_resize_xy_to`
[INFO] [stdout]    --> src/data_types/processing/image_frame_processor.rs:182:42
[INFO] [stdout]     |
[INFO] [stdout] 182 |                 final_resize_xy_to: Some(final_resize_xy_to),
[INFO] [stdout]     |                                          ^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_final_resize_xy_to`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `input_image_properties`
[INFO] [stdout]    --> src/data_types/processing/image_frame_processor.rs:194:17
[INFO] [stdout]     |
[INFO] [stdout] 194 |                 input_image_properties,
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^ help: try ignoring the field: `input_image_properties: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `channel_index`
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/encoders/percentage_2d_exponential.rs:36:29
[INFO] [stdout]    |
[INFO] [stdout] 36 |             .try_for_each(|(channel_index, (pipeline, scratch))| -> Result<(), FeagiDataError> {
[INFO] [stdout]    |                             ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_channel_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `channel_index`
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/encoders/percentage_2d_linear.rs:38:29
[INFO] [stdout]    |
[INFO] [stdout] 38 |             .try_for_each(|(channel_index, (pipeline, scratch))| -> Result<(), FeagiDataError> {
[INFO] [stdout]    |                             ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_channel_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `src_c`
[INFO] [stdout]    --> src/data_types/processing/image_frame_processor.rs:410:24
[INFO] [stdout]     |
[INFO] [stdout] 410 |     let (src_h, src_w, src_c) = (source_arr.shape()[0], source_arr.shape()[1], source_arr.shape()[2]);
[INFO] [stdout]     |                        ^^^^^ help: if this is intentional, prefix it with an underscore: `_src_c`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dst_c`
[INFO] [stdout]    --> src/data_types/processing/image_frame_processor.rs:411:24
[INFO] [stdout]     |
[INFO] [stdout] 411 |     let (dst_h, dst_w, dst_c) = (destination_arr.shape()[0], destination_arr.shape()[1], destination_arr.shape()[2]);
[INFO] [stdout]     |                        ^^^^^ help: if this is intentional, prefix it with an underscore: `_dst_c`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `channel_index`
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/encoders/percentage_3d_exponential.rs:36:29
[INFO] [stdout]    |
[INFO] [stdout] 36 |             .try_for_each(|(channel_index, (pipeline, scratch))| -> Result<(), FeagiDataError> {
[INFO] [stdout]    |                             ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_channel_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `channel_index`
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/encoders/percentage_3d_linear.rs:38:29
[INFO] [stdout]    |
[INFO] [stdout] 38 |             .try_for_each(|(channel_index, (pipeline, scratch))| -> Result<(), FeagiDataError> {
[INFO] [stdout]    |                             ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_channel_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `channel_index`
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/encoders/percentage_4d_exponential.rs:36:29
[INFO] [stdout]    |
[INFO] [stdout] 36 |             .try_for_each(|(channel_index, (pipeline, scratch))| -> Result<(), FeagiDataError> {
[INFO] [stdout]    |                             ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_channel_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `channel_index`
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/encoders/percentage_4d_linear.rs:38:29
[INFO] [stdout]    |
[INFO] [stdout] 38 |             .try_for_each(|(channel_index, (pipeline, scratch))| -> Result<(), FeagiDataError> {
[INFO] [stdout]    |                             ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_channel_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `channel_index`
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/encoders/signed_percentage_1d_linear.rs:40:29
[INFO] [stdout]    |
[INFO] [stdout] 40 |             .try_for_each(|(channel_index, (pipeline, scratch))| -> Result<(), FeagiDataError> {
[INFO] [stdout]    |                             ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_channel_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `channel_index`
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/encoders/signed_percentage_1d_exponential.rs:38:29
[INFO] [stdout]    |
[INFO] [stdout] 38 |             .try_for_each(|(channel_index, (pipeline, scratch))| -> Result<(), FeagiDataError> {
[INFO] [stdout]    |                             ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_channel_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `channel_index`
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/encoders/signed_percentage_2d_linear.rs:40:29
[INFO] [stdout]    |
[INFO] [stdout] 40 |             .try_for_each(|(channel_index, (pipeline, scratch))| -> Result<(), FeagiDataError> {
[INFO] [stdout]    |                             ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_channel_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `channel_index`
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/encoders/signed_percentage_2d_exponential.rs:38:29
[INFO] [stdout]    |
[INFO] [stdout] 38 |             .try_for_each(|(channel_index, (pipeline, scratch))| -> Result<(), FeagiDataError> {
[INFO] [stdout]    |                             ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_channel_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `channel_index`
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/encoders/signed_percentage_3d_linear.rs:40:29
[INFO] [stdout]    |
[INFO] [stdout] 40 |             .try_for_each(|(channel_index, (pipeline, scratch))| -> Result<(), FeagiDataError> {
[INFO] [stdout]    |                             ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_channel_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `channel_index`
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/encoders/signed_percentage_3d_exponential.rs:38:29
[INFO] [stdout]    |
[INFO] [stdout] 38 |             .try_for_each(|(channel_index, (pipeline, scratch))| -> Result<(), FeagiDataError> {
[INFO] [stdout]    |                             ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_channel_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `channel_index`
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/encoders/signed_percentage_4d_linear.rs:40:29
[INFO] [stdout]    |
[INFO] [stdout] 40 |             .try_for_each(|(channel_index, (pipeline, scratch))| -> Result<(), FeagiDataError> {
[INFO] [stdout]    |                             ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_channel_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `channel_index`
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/encoders/signed_percentage_4d_exponential.rs:38:29
[INFO] [stdout]    |
[INFO] [stdout] 38 |             .try_for_each(|(channel_index, (pipeline, scratch))| -> Result<(), FeagiDataError> {
[INFO] [stdout]    |                             ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_channel_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `channel_index`
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/encoders/boolean.rs:41:29
[INFO] [stdout]    |
[INFO] [stdout] 41 |             .try_for_each(|(channel_index, (pipeline, scratch))| -> Result<(), FeagiDataError> {
[INFO] [stdout]    |                             ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_channel_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `c`
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/encoders/boolean.rs:59:13
[INFO] [stdout]    |
[INFO] [stdout] 59 |         for c in 0..self.scratch_space.len() as u32 {
[INFO] [stdout]    |             ^
[INFO] [stdout]    |
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `Y`
[INFO] [stdout]    |
[INFO] [stdout] 59 -         for c in 0..self.scratch_space.len() as u32 {
[INFO] [stdout] 59 +         for <neuron_voxel_coding::xyzp::encoders::boolean::BooleanNeuronVoxelXYZPEncoder as neuron_voxel_coding::xyzp::coder_traits::NeuronVoxelXYZPEncoder>::write_neuron_data_multi_channel_from_processed_cache::Y in 0..self.scratch_space.len() as u32 {
[INFO] [stdout]    |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]    |
[INFO] [stdout] 59 |         for _c in 0..self.scratch_space.len() as u32 {
[INFO] [stdout]    |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `properties`
[INFO] [stdout]   --> src/data_pipeline/stages/identities.rs:59:35
[INFO] [stdout]    |
[INFO] [stdout] 59 |     fn load_properties(&mut self, properties: Box<dyn PipelineStageProperties + Sync + Send>) -> Result<(), FeagiDataError> {
[INFO] [stdout]    |                                   ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_properties`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `properties`
[INFO] [stdout]   --> src/data_pipeline/stages/image_segmentor.rs:65:35
[INFO] [stdout]    |
[INFO] [stdout] 65 |     fn load_properties(&mut self, properties: Box<dyn PipelineStageProperties + Sync + Send>) -> Result<(), FeagiDataError> {
[INFO] [stdout]    |                                   ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_properties`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `time_of_input`
[INFO] [stdout]   --> src/data_pipeline/stages/image_quick_diff.rs:49:60
[INFO] [stdout]    |
[INFO] [stdout] 49 |     fn process_new_input(&mut self, value: &WrappedIOData, time_of_input: Instant) -> Result<&WrappedIOData, FeagiDataError> {
[INFO] [stdout]    |                                                            ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_time_of_input`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `properties`
[INFO] [stdout]   --> src/data_pipeline/stages/image_quick_diff.rs:71:35
[INFO] [stdout]    |
[INFO] [stdout] 71 |     fn load_properties(&mut self, properties: Box<dyn PipelineStageProperties + Sync + Send>) -> Result<(), FeagiDataError> {
[INFO] [stdout]    |                                   ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_properties`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `PipelineStage` is more private than the item `IdentityStage::new_box`
[INFO] [stdout]   --> src/data_pipeline/stages/identities.rs:74:5
[INFO] [stdout]    |
[INFO] [stdout] 74 |     pub fn new_box(identity_type: WrappedIOType) -> Result<Box<dyn PipelineStage + 'static>, FeagiDataError> {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ associated function `IdentityStage::new_box` is reachable at visibility `pub`
[INFO] [stdout]    |
[INFO] [stdout] note: but trait `PipelineStage` is only usable at visibility `pub(crate)`
[INFO] [stdout]   --> src/data_pipeline/pipeline_stage.rs:15:1
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub(crate) trait PipelineStage: fmt::Display + Debug + Sync + Send + Any {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: `#[warn(private_interfaces)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `PipelineStage` is more private than the item `ImageFrameSegmentatorStage::new_box`
[INFO] [stdout]   --> src/data_pipeline/stages/image_segmentor.rs:86:5
[INFO] [stdout]    |
[INFO] [stdout] 86 | /     pub fn new_box(
[INFO] [stdout] 87 | |         input_image_properties: ImageFrameProperties, 
[INFO] [stdout] 88 | |         output_image_properties: SegmentedImageFrameProperties, 
[INFO] [stdout] 89 | |         image_segmentator: ImageFrameSegmentator
[INFO] [stdout] 90 | |     ) -> Result<Box<dyn PipelineStage + 'static>, FeagiDataError> {
[INFO] [stdout]    | |_________________________________________________________________^ associated function `ImageFrameSegmentatorStage::new_box` is reachable at visibility `pub`
[INFO] [stdout]    |
[INFO] [stdout] note: but trait `PipelineStage` is only usable at visibility `pub(crate)`
[INFO] [stdout]   --> src/data_pipeline/pipeline_stage.rs:15:1
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub(crate) trait PipelineStage: fmt::Display + Debug + Sync + Send + Any {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `PipelineStage` is more private than the item `ImageFrameQuickDiffStage::new_box`
[INFO] [stdout]   --> src/data_pipeline/stages/image_quick_diff.rs:93:5
[INFO] [stdout]    |
[INFO] [stdout] 93 |     pub fn new_box(image_properties: ImageFrameProperties, per_pixel_allowed_range: RangeInclusive<u8>, acceptable_amount_of_activity_in_image: RangeInclusive<Percentage>) -> Result<Box<dyn PipelineStage + Send + Sync + 'static>, FeagiDataError> {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ associated function `ImageFrameQuickDiffStage::new_box` is reachable at visibility `pub`
[INFO] [stdout]    |
[INFO] [stdout] note: but trait `PipelineStage` is only usable at visibility `pub(crate)`
[INFO] [stdout]   --> src/data_pipeline/pipeline_stage.rs:15:1
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub(crate) trait PipelineStage: fmt::Display + Debug + Sync + Send + Any {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `PipelineStage` is more private than the item `<IdentityStageProperties as PipelineStageProperties>::create_stage`
[INFO] [stdout]   --> src/data_pipeline/stage_properties/identities.rs:32:5
[INFO] [stdout]    |
[INFO] [stdout] 32 |     fn create_stage(&self) -> Box<dyn PipelineStage> {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `<IdentityStageProperties as PipelineStageProperties>::create_stage` is reachable at visibility `pub`
[INFO] [stdout]    |
[INFO] [stdout] note: but trait `PipelineStage` is only usable at visibility `pub(crate)`
[INFO] [stdout]   --> src/data_pipeline/pipeline_stage.rs:15:1
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub(crate) trait PipelineStage: fmt::Display + Debug + Sync + Send + Any {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `PipelineStage` is more private than the item `<ImageSegmentorStageProperties as PipelineStageProperties>::create_stage`
[INFO] [stdout]   --> src/data_pipeline/stage_properties/image_segmentor.rs:36:5
[INFO] [stdout]    |
[INFO] [stdout] 36 |     fn create_stage(&self) -> Box<dyn PipelineStage> {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `<ImageSegmentorStageProperties as PipelineStageProperties>::create_stage` is reachable at visibility `pub`
[INFO] [stdout]    |
[INFO] [stdout] note: but trait `PipelineStage` is only usable at visibility `pub(crate)`
[INFO] [stdout]   --> src/data_pipeline/pipeline_stage.rs:15:1
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub(crate) trait PipelineStage: fmt::Display + Debug + Sync + Send + Any {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `PipelineStage` is more private than the item `<ImageQuickDiffStageProperties as PipelineStageProperties>::create_stage`
[INFO] [stdout]   --> src/data_pipeline/stage_properties/image_quick_diff.rs:38:5
[INFO] [stdout]    |
[INFO] [stdout] 38 |     fn create_stage(&self) -> Box<dyn PipelineStage> {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `<ImageQuickDiffStageProperties as PipelineStageProperties>::create_stage` is reachable at visibility `pub`
[INFO] [stdout]    |
[INFO] [stdout] note: but trait `PipelineStage` is only usable at visibility `pub(crate)`
[INFO] [stdout]   --> src/data_pipeline/pipeline_stage.rs:15:1
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub(crate) trait PipelineStage: fmt::Display + Debug + Sync + Send + Any {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `PipelineStage` is more private than the item `PipelineStageProperties::create_stage`
[INFO] [stdout]   --> src/data_pipeline/pipeline_stage_properties.rs:28:5
[INFO] [stdout]    |
[INFO] [stdout] 28 |     fn create_stage(&self) -> Box<dyn PipelineStage>;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `PipelineStageProperties::create_stage` is reachable at visibility `pub`
[INFO] [stdout]    |
[INFO] [stdout] note: but trait `PipelineStage` is only usable at visibility `pub(crate)`
[INFO] [stdout]   --> src/data_pipeline/pipeline_stage.rs:15:1
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub(crate) trait PipelineStage: fmt::Display + Debug + Sync + Send + Any {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `neuron_encoder` is never read
[INFO] [stdout]   --> src/caching/per_channel_stream_caches/sensory_channel_stream_caches.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub(crate) struct SensoryChannelStreamCaches {
[INFO] [stdout]    |                   -------------------------- field in this struct
[INFO] [stdout] 20 |     neuron_encoder: Box<dyn NeuronVoxelXYZPEncoder>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> src/caching/per_channel_stream_caches/sensory_channel_stream_caches.rs:68:12
[INFO] [stdout]     |
[INFO] [stdout]  25 | impl SensoryChannelStreamCaches {
[INFO] [stdout]     | ------------------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  68 |     pub fn number_of_channels(&self) -> CorticalChannelCount {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  80 |     pub fn verify_channel_exists(&self, channel_index: CorticalChannelIndex) -> Result<(), FeagiDataError> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  90 |     pub fn get_input_type(&self) -> WrappedIOType {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 109 |     pub fn try_get_channel_recent_preprocessed_value(&self, cortical_channel_index: CorticalChannelIndex) -> Result<&WrappedIOData,...
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 141 |     pub fn try_running_pipeline_runner_from_input_cache(&mut self, cortical_channel_index: CorticalChannelIndex, update_instant: In...
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 155 |     pub fn try_get_channel_update_instant(&self, cortical_channel_index: CorticalChannelIndex) -> Result<Instant, FeagiDataError> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 284 |     pub(crate) fn update_neuron_data_with_recently_updated_cached_sensor_data(&mut self, neuron_data: &mut CorticalMappedXYZPNeuron...
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `number_of_channels`, `verify_channel_exists`, `get_output_type`, `try_get_channel_last_processed_instant`, and `try_disconnect_to_data_processed_signal` are never used
[INFO] [stdout]    --> src/caching/per_channel_stream_caches/motor_channel_stream_caches.rs:49:12
[INFO] [stdout]     |
[INFO] [stdout]  18 | impl MotorChannelStreamCaches {
[INFO] [stdout]     | ----------------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  49 |     pub fn number_of_channels(&self) -> CorticalChannelCount {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  53 |     pub fn verify_channel_exists(&self, channel_index: CorticalChannelIndex) -> Result<(), FeagiDataError> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  58 |     pub fn get_output_type(&self) -> WrappedIOType {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  76 |     pub fn try_get_channel_last_processed_instant(&self, cortical_channel_index: CorticalChannelIndex) -> Result<Instant, FeagiData...
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 146 |     pub fn try_disconnect_to_data_processed_signal(&mut self, cortical_channel_index: CorticalChannelIndex, signal_index: FeagiSign...
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `write_neuron_data_multi_channel_from_processed_cache` is never used
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/coder_traits.rs:14:8
[INFO] [stdout]    |
[INFO] [stdout]  9 | pub trait NeuronVoxelXYZPEncoder: Debug + Sync + Send {
[INFO] [stdout]    |           ---------------------- method in this trait
[INFO] [stdout] ...
[INFO] [stdout] 14 |     fn write_neuron_data_multi_channel_from_processed_cache(&mut self, pipelines: &Vec<PipelineStageRunner>, time_of_previous_burst:...
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `encode_unsigned_percentage_to_linear_neuron_z_index` is never used
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/coder_shared_functions.rs:58:15
[INFO] [stdout]    |
[INFO] [stdout] 58 | pub(crate) fn encode_unsigned_percentage_to_linear_neuron_z_index(val: &Percentage, z_length_as_float: f32, neuron_indexes_along_z: ...
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `encode_unsigned_percentage_to_fractional_exponential_neuron_z_indexes` is never used
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/coder_shared_functions.rs:65:15
[INFO] [stdout]    |
[INFO] [stdout] 65 | pub(crate) fn encode_unsigned_percentage_to_fractional_exponential_neuron_z_indexes(replace_val: &Percentage, number_neurons_along_z...
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `encode_signed_percentage_to_linear_neuron_z_index` is never used
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/coder_shared_functions.rs:83:15
[INFO] [stdout]    |
[INFO] [stdout] 83 | pub(crate) fn encode_signed_percentage_to_linear_neuron_z_index(val: &SignedPercentage, z_length_as_float: f32, neuron_indexes_along...
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `encode_signed_percentage_to_fractional_exponential_neuron_z_indexes` is never used
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/coder_shared_functions.rs:95:15
[INFO] [stdout]    |
[INFO] [stdout] 95 | pub(crate) fn encode_signed_percentage_to_fractional_exponential_neuron_z_indexes(replace_val: &SignedPercentage, number_neurons_alo...
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `WIDTH_GIVEN_POSITIVE_Z_ROW` is never used
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/decoders/percentage_1d_linear.rs:12:7
[INFO] [stdout]    |
[INFO] [stdout] 12 | const WIDTH_GIVEN_POSITIVE_Z_ROW: u32 = 1; // One row of neuron voxels along the Z represents 0 -> +1
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NUMBER_PAIRS_PER_CHANNEL` is never used
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/decoders/percentage_1d_linear.rs:13:7
[INFO] [stdout]    |
[INFO] [stdout] 13 | const NUMBER_PAIRS_PER_CHANNEL: u32 = 1; // How many numbers are encoded per channel?
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CHANNEL_WIDTH` is never used
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/decoders/percentage_1d_linear.rs:14:7
[INFO] [stdout]    |
[INFO] [stdout] 14 | const CHANNEL_WIDTH: u32 = WIDTH_GIVEN_POSITIVE_Z_ROW * NUMBER_PAIRS_PER_CHANNEL;
[INFO] [stdout]    |       ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PercentageLinearNeuronVoxelXYZPDecoder` is never constructed
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/decoders/percentage_1d_linear.rs:17:12
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub struct PercentageLinearNeuronVoxelXYZPDecoder {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new_box` is never used
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/decoders/percentage_1d_linear.rs:96:12
[INFO] [stdout]    |
[INFO] [stdout] 94 | impl PercentageLinearNeuronVoxelXYZPDecoder {
[INFO] [stdout]    | ------------------------------------------- associated function in this implementation
[INFO] [stdout] 95 |
[INFO] [stdout] 96 |     pub fn new_box(cortical_read_target: CorticalID, z_resolution: u32, number_channels: CorticalChannelCount) -> Result<Box<dyn Neu...
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `WIDTH_GIVEN_POSITIVE_Z_ROW` is never used
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/decoders/percentage_2d_linear.rs:12:7
[INFO] [stdout]    |
[INFO] [stdout] 12 | const WIDTH_GIVEN_POSITIVE_Z_ROW: u32 = 1; // One row of neuron voxels along the Z represents 0 -> +1
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NUMBER_PAIRS_PER_CHANNEL` is never used
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/decoders/percentage_2d_linear.rs:13:7
[INFO] [stdout]    |
[INFO] [stdout] 13 | const NUMBER_PAIRS_PER_CHANNEL: u32 = 2; // How many numbers are encoded per channel?
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CHANNEL_WIDTH` is never used
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/decoders/percentage_2d_linear.rs:14:7
[INFO] [stdout]    |
[INFO] [stdout] 14 | const CHANNEL_WIDTH: u32 = WIDTH_GIVEN_POSITIVE_Z_ROW * NUMBER_PAIRS_PER_CHANNEL;
[INFO] [stdout]    |       ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Percentage2DLinearNeuronVoxelXYZPDecoder` is never constructed
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/decoders/percentage_2d_linear.rs:17:12
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub struct Percentage2DLinearNeuronVoxelXYZPDecoder {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new_box` is never used
[INFO] [stdout]    --> src/neuron_voxel_coding/xyzp/decoders/percentage_2d_linear.rs:102:12
[INFO] [stdout]     |
[INFO] [stdout] 100 | impl Percentage2DLinearNeuronVoxelXYZPDecoder {
[INFO] [stdout]     | --------------------------------------------- associated function in this implementation
[INFO] [stdout] 101 |
[INFO] [stdout] 102 |     pub fn new_box(cortical_read_target: CorticalID, z_resolution: NeuronDepth, number_channels: CorticalChannelCount) -> Result<Bo...
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `WIDTH_GIVEN_POSITIVE_Z_ROW` is never used
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/decoders/percentage_3d_linear.rs:12:7
[INFO] [stdout]    |
[INFO] [stdout] 12 | const WIDTH_GIVEN_POSITIVE_Z_ROW: u32 = 1; // One row of neuron voxels along the Z represents 0 -> +1
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NUMBER_PAIRS_PER_CHANNEL` is never used
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/decoders/percentage_3d_linear.rs:13:7
[INFO] [stdout]    |
[INFO] [stdout] 13 | const NUMBER_PAIRS_PER_CHANNEL: u32 = 3; // How many numbers are encoded per channel?
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CHANNEL_WIDTH` is never used
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/decoders/percentage_3d_linear.rs:14:7
[INFO] [stdout]    |
[INFO] [stdout] 14 | const CHANNEL_WIDTH: u32 = WIDTH_GIVEN_POSITIVE_Z_ROW * NUMBER_PAIRS_PER_CHANNEL;
[INFO] [stdout]    |       ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Percentage3DLinearNeuronVoxelXYZPDecoder` is never constructed
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/decoders/percentage_3d_linear.rs:17:12
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub struct Percentage3DLinearNeuronVoxelXYZPDecoder {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new_box` is never used
[INFO] [stdout]    --> src/neuron_voxel_coding/xyzp/decoders/percentage_3d_linear.rs:106:12
[INFO] [stdout]     |
[INFO] [stdout] 104 | impl Percentage3DLinearNeuronVoxelXYZPDecoder {
[INFO] [stdout]     | --------------------------------------------- associated function in this implementation
[INFO] [stdout] 105 |
[INFO] [stdout] 106 |     pub fn new_box(cortical_read_target: CorticalID, z_resolution: NeuronDepth, number_channels: CorticalChannelCount) -> Result<Bo...
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `WIDTH_GIVEN_POSITIVE_Z_ROW` is never used
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/decoders/percentage_4d_linear.rs:12:7
[INFO] [stdout]    |
[INFO] [stdout] 12 | const WIDTH_GIVEN_POSITIVE_Z_ROW: u32 = 1; // One row of neuron voxels along the Z represents 0 -> +1
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NUMBER_PAIRS_PER_CHANNEL` is never used
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/decoders/percentage_4d_linear.rs:13:7
[INFO] [stdout]    |
[INFO] [stdout] 13 | const NUMBER_PAIRS_PER_CHANNEL: u32 = 4; // How many numbers are encoded per channel?
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CHANNEL_WIDTH` is never used
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/decoders/percentage_4d_linear.rs:14:7
[INFO] [stdout]    |
[INFO] [stdout] 14 | const CHANNEL_WIDTH: u32 = WIDTH_GIVEN_POSITIVE_Z_ROW * NUMBER_PAIRS_PER_CHANNEL;
[INFO] [stdout]    |       ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Percentage4DLinearNeuronVoxelXYZPDecoder` is never constructed
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/decoders/percentage_4d_linear.rs:17:12
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub struct Percentage4DLinearNeuronVoxelXYZPDecoder {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new_box` is never used
[INFO] [stdout]    --> src/neuron_voxel_coding/xyzp/decoders/percentage_4d_linear.rs:113:12
[INFO] [stdout]     |
[INFO] [stdout] 111 | impl Percentage4DLinearNeuronVoxelXYZPDecoder {
[INFO] [stdout]     | --------------------------------------------- associated function in this implementation
[INFO] [stdout] 112 |
[INFO] [stdout] 113 |     pub fn new_box(cortical_read_target: CorticalID, z_resolution: NeuronDepth, number_channels: CorticalChannelCount) -> Result<Bo...
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `WIDTH_GIVEN_POSITIVE_Z_ROW` is never used
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/decoders/percentage_1d_exponential.rs:12:7
[INFO] [stdout]    |
[INFO] [stdout] 12 | const WIDTH_GIVEN_POSITIVE_Z_ROW: u32 = 1; // One row of neuron voxels along the Z represents 0 -> +1
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NUMBER_PAIRS_PER_CHANNEL` is never used
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/decoders/percentage_1d_exponential.rs:13:7
[INFO] [stdout]    |
[INFO] [stdout] 13 | const NUMBER_PAIRS_PER_CHANNEL: u32 = 1; // How many numbers are encoded per channel?
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CHANNEL_WIDTH` is never used
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/decoders/percentage_1d_exponential.rs:14:7
[INFO] [stdout]    |
[INFO] [stdout] 14 | const CHANNEL_WIDTH: u32 = WIDTH_GIVEN_POSITIVE_Z_ROW * NUMBER_PAIRS_PER_CHANNEL;
[INFO] [stdout]    |       ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PercentageExponentialNeuronVoxelXYZPDecoder` is never constructed
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/decoders/percentage_1d_exponential.rs:17:12
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub struct PercentageExponentialNeuronVoxelXYZPDecoder {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new_box` is never used
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/decoders/percentage_1d_exponential.rs:93:12
[INFO] [stdout]    |
[INFO] [stdout] 91 | impl PercentageExponentialNeuronVoxelXYZPDecoder {
[INFO] [stdout]    | ------------------------------------------------ associated function in this implementation
[INFO] [stdout] 92 |
[INFO] [stdout] 93 |     pub fn new_box(cortical_read_target: CorticalID, z_resolution: u32, number_channels: CorticalChannelCount) -> Result<Box<dyn Neu...
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `WIDTH_GIVEN_POSITIVE_Z_ROW` is never used
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/decoders/percentage_2d_exponential.rs:12:7
[INFO] [stdout]    |
[INFO] [stdout] 12 | const WIDTH_GIVEN_POSITIVE_Z_ROW: u32 = 1; // One row of neuron voxels along the Z represents 0 -> +1
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NUMBER_PAIRS_PER_CHANNEL` is never used
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/decoders/percentage_2d_exponential.rs:13:7
[INFO] [stdout]    |
[INFO] [stdout] 13 | const NUMBER_PAIRS_PER_CHANNEL: u32 = 2; // How many numbers are encoded per channel?
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CHANNEL_WIDTH` is never used
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/decoders/percentage_2d_exponential.rs:14:7
[INFO] [stdout]    |
[INFO] [stdout] 14 | const CHANNEL_WIDTH: u32 = WIDTH_GIVEN_POSITIVE_Z_ROW * NUMBER_PAIRS_PER_CHANNEL;
[INFO] [stdout]    |       ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Percentage2DExponentialNeuronVoxelXYZPDecoder` is never constructed
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/decoders/percentage_2d_exponential.rs:17:12
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub struct Percentage2DExponentialNeuronVoxelXYZPDecoder {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new_box` is never used
[INFO] [stdout]    --> src/neuron_voxel_coding/xyzp/decoders/percentage_2d_exponential.rs:102:12
[INFO] [stdout]     |
[INFO] [stdout] 100 | impl Percentage2DExponentialNeuronVoxelXYZPDecoder {
[INFO] [stdout]     | -------------------------------------------------- associated function in this implementation
[INFO] [stdout] 101 |
[INFO] [stdout] 102 |     pub fn new_box(cortical_read_target: CorticalID, z_resolution: NeuronDepth, number_channels: CorticalChannelCount) -> Result<Bo...
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `WIDTH_GIVEN_POSITIVE_Z_ROW` is never used
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/decoders/percentage_3d_exponential.rs:12:7
[INFO] [stdout]    |
[INFO] [stdout] 12 | const WIDTH_GIVEN_POSITIVE_Z_ROW: u32 = 1; // One row of neuron voxels along the Z represents 0 -> +1
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NUMBER_PAIRS_PER_CHANNEL` is never used
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/decoders/percentage_3d_exponential.rs:13:7
[INFO] [stdout]    |
[INFO] [stdout] 13 | const NUMBER_PAIRS_PER_CHANNEL: u32 = 3; // How many numbers are encoded per channel?
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CHANNEL_WIDTH` is never used
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/decoders/percentage_3d_exponential.rs:14:7
[INFO] [stdout]    |
[INFO] [stdout] 14 | const CHANNEL_WIDTH: u32 = WIDTH_GIVEN_POSITIVE_Z_ROW * NUMBER_PAIRS_PER_CHANNEL;
[INFO] [stdout]    |       ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Percentage3DExponentialNeuronVoxelXYZPDecoder` is never constructed
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/decoders/percentage_3d_exponential.rs:17:12
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub struct Percentage3DExponentialNeuronVoxelXYZPDecoder {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new_box` is never used
[INFO] [stdout]    --> src/neuron_voxel_coding/xyzp/decoders/percentage_3d_exponential.rs:104:12
[INFO] [stdout]     |
[INFO] [stdout] 102 | impl Percentage3DExponentialNeuronVoxelXYZPDecoder {
[INFO] [stdout]     | -------------------------------------------------- associated function in this implementation
[INFO] [stdout] 103 |
[INFO] [stdout] 104 |     pub fn new_box(cortical_read_target: CorticalID, z_resolution: NeuronDepth, number_channels: CorticalChannelCount) -> Result<Bo...
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `WIDTH_GIVEN_POSITIVE_Z_ROW` is never used
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/decoders/percentage_4d_exponential.rs:12:7
[INFO] [stdout]    |
[INFO] [stdout] 12 | const WIDTH_GIVEN_POSITIVE_Z_ROW: u32 = 1; // One row of neuron voxels along the Z represents 0 -> +1
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NUMBER_PAIRS_PER_CHANNEL` is never used
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/decoders/percentage_4d_exponential.rs:13:7
[INFO] [stdout]    |
[INFO] [stdout] 13 | const NUMBER_PAIRS_PER_CHANNEL: u32 = 4; // How many numbers are encoded per channel?
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CHANNEL_WIDTH` is never used
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/decoders/percentage_4d_exponential.rs:14:7
[INFO] [stdout]    |
[INFO] [stdout] 14 | const CHANNEL_WIDTH: u32 = WIDTH_GIVEN_POSITIVE_Z_ROW * NUMBER_PAIRS_PER_CHANNEL;
[INFO] [stdout]    |       ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Percentage4DExponentialNeuronVoxelXYZPDecoder` is never constructed
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/decoders/percentage_4d_exponential.rs:17:12
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub struct Percentage4DExponentialNeuronVoxelXYZPDecoder {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new_box` is never used
[INFO] [stdout]    --> src/neuron_voxel_coding/xyzp/decoders/percentage_4d_exponential.rs:108:12
[INFO] [stdout]     |
[INFO] [stdout] 106 | impl Percentage4DExponentialNeuronVoxelXYZPDecoder {
[INFO] [stdout]     | -------------------------------------------------- associated function in this implementation
[INFO] [stdout] 107 |
[INFO] [stdout] 108 |     pub fn new_box(cortical_read_target: CorticalID, z_resolution: NeuronDepth, number_channels: CorticalChannelCount) -> Result<Bo...
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `WIDTH_GIVEN_POSITIVE_Z_ROW` is never used
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/decoders/signed_percentage_2d_linear.rs:12:7
[INFO] [stdout]    |
[INFO] [stdout] 12 | const WIDTH_GIVEN_POSITIVE_Z_ROW: u32 = 1; // One row of neuron voxels along the Z represents 0 -> +1
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NUMBER_PAIRS_PER_CHANNEL` is never used
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/decoders/signed_percentage_2d_linear.rs:13:7
[INFO] [stdout]    |
[INFO] [stdout] 13 | const NUMBER_PAIRS_PER_CHANNEL: u32 = 2; // How many numbers are encoded per channel?
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CHANNEL_WIDTH` is never used
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/decoders/signed_percentage_2d_linear.rs:14:7
[INFO] [stdout]    |
[INFO] [stdout] 14 | const CHANNEL_WIDTH: u32 = WIDTH_GIVEN_POSITIVE_Z_ROW * NUMBER_PAIRS_PER_CHANNEL;
[INFO] [stdout]    |       ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SignedPercentage2DLinearNeuronVoxelXYZPDecoder` is never constructed
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/decoders/signed_percentage_2d_linear.rs:17:12
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub struct SignedPercentage2DLinearNeuronVoxelXYZPDecoder {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new_box` is never used
[INFO] [stdout]    --> src/neuron_voxel_coding/xyzp/decoders/signed_percentage_2d_linear.rs:115:12
[INFO] [stdout]     |
[INFO] [stdout] 113 | impl SignedPercentage2DLinearNeuronVoxelXYZPDecoder {
[INFO] [stdout]     | --------------------------------------------------- associated function in this implementation
[INFO] [stdout] 114 |
[INFO] [stdout] 115 |     pub fn new_box(cortical_read_target: CorticalID, z_resolution: NeuronDepth, number_channels: CorticalChannelCount) -> Result<Bo...
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `WIDTH_GIVEN_POSITIVE_Z_ROW` is never used
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/decoders/signed_percentage_3d_linear.rs:12:7
[INFO] [stdout]    |
[INFO] [stdout] 12 | const WIDTH_GIVEN_POSITIVE_Z_ROW: u32 = 1; // One row of neuron voxels along the Z represents 0 -> +1
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NUMBER_PAIRS_PER_CHANNEL` is never used
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/decoders/signed_percentage_3d_linear.rs:13:7
[INFO] [stdout]    |
[INFO] [stdout] 13 | const NUMBER_PAIRS_PER_CHANNEL: u32 = 3; // How many numbers are encoded per channel?
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CHANNEL_WIDTH` is never used
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/decoders/signed_percentage_3d_linear.rs:14:7
[INFO] [stdout]    |
[INFO] [stdout] 14 | const CHANNEL_WIDTH: u32 = WIDTH_GIVEN_POSITIVE_Z_ROW * NUMBER_PAIRS_PER_CHANNEL;
[INFO] [stdout]    |       ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SignedPercentage3DLinearNeuronVoxelXYZPDecoder` is never constructed
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/decoders/signed_percentage_3d_linear.rs:17:12
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub struct SignedPercentage3DLinearNeuronVoxelXYZPDecoder {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new_box` is never used
[INFO] [stdout]    --> src/neuron_voxel_coding/xyzp/decoders/signed_percentage_3d_linear.rs:121:12
[INFO] [stdout]     |
[INFO] [stdout] 119 | impl SignedPercentage3DLinearNeuronVoxelXYZPDecoder {
[INFO] [stdout]     | --------------------------------------------------- associated function in this implementation
[INFO] [stdout] 120 |
[INFO] [stdout] 121 |     pub fn new_box(cortical_read_target: CorticalID, z_resolution: NeuronDepth, number_channels: CorticalChannelCount) -> Result<Bo...
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `WIDTH_GIVEN_POSITIVE_Z_ROW` is never used
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/decoders/signed_percentage_4d_linear.rs:12:7
[INFO] [stdout]    |
[INFO] [stdout] 12 | const WIDTH_GIVEN_POSITIVE_Z_ROW: u32 = 1; // One row of neuron voxels along the Z represents 0 -> +1
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NUMBER_PAIRS_PER_CHANNEL` is never used
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/decoders/signed_percentage_4d_linear.rs:13:7
[INFO] [stdout]    |
[INFO] [stdout] 13 | const NUMBER_PAIRS_PER_CHANNEL: u32 = 4; // How many numbers are encoded per channel?
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CHANNEL_WIDTH` is never used
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/decoders/signed_percentage_4d_linear.rs:14:7
[INFO] [stdout]    |
[INFO] [stdout] 14 | const CHANNEL_WIDTH: u32 = WIDTH_GIVEN_POSITIVE_Z_ROW * NUMBER_PAIRS_PER_CHANNEL;
[INFO] [stdout]    |       ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SignedPercentage4DLinearNeuronVoxelXYZPDecoder` is never constructed
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/decoders/signed_percentage_4d_linear.rs:17:12
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub struct SignedPercentage4DLinearNeuronVoxelXYZPDecoder {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new_box` is never used
[INFO] [stdout]    --> src/neuron_voxel_coding/xyzp/decoders/signed_percentage_4d_linear.rs:126:12
[INFO] [stdout]     |
[INFO] [stdout] 124 | impl SignedPercentage4DLinearNeuronVoxelXYZPDecoder {
[INFO] [stdout]     | --------------------------------------------------- associated function in this implementation
[INFO] [stdout] 125 |
[INFO] [stdout] 126 |     pub fn new_box(cortical_read_target: CorticalID, z_resolution: NeuronDepth, number_channels: CorticalChannelCount) -> Result<Bo...
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `WIDTH_GIVEN_POSITIVE_Z_ROW` is never used
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/decoders/signed_percentage_2d_exponential.rs:12:7
[INFO] [stdout]    |
[INFO] [stdout] 12 | const WIDTH_GIVEN_POSITIVE_Z_ROW: u32 = 1; // One row of neuron voxels along the Z represents 0 -> +1
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NUMBER_PAIRS_PER_CHANNEL` is never used
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/decoders/signed_percentage_2d_exponential.rs:13:7
[INFO] [stdout]    |
[INFO] [stdout] 13 | const NUMBER_PAIRS_PER_CHANNEL: u32 = 2; // How many numbers are encoded per channel?
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CHANNEL_WIDTH` is never used
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/decoders/signed_percentage_2d_exponential.rs:14:7
[INFO] [stdout]    |
[INFO] [stdout] 14 | const CHANNEL_WIDTH: u32 = WIDTH_GIVEN_POSITIVE_Z_ROW * NUMBER_PAIRS_PER_CHANNEL;
[INFO] [stdout]    |       ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SignedPercentage2DExponentialNeuronVoxelXYZPDecoder` is never constructed
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/decoders/signed_percentage_2d_exponential.rs:17:12
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub struct SignedPercentage2DExponentialNeuronVoxelXYZPDecoder {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new_box` is never used
[INFO] [stdout]    --> src/neuron_voxel_coding/xyzp/decoders/signed_percentage_2d_exponential.rs:115:12
[INFO] [stdout]     |
[INFO] [stdout] 113 | impl SignedPercentage2DExponentialNeuronVoxelXYZPDecoder {
[INFO] [stdout]     | -------------------------------------------------------- associated function in this implementation
[INFO] [stdout] 114 |
[INFO] [stdout] 115 |     pub fn new_box(cortical_read_target: CorticalID, z_resolution: NeuronDepth, number_channels: CorticalChannelCount) -> Result<Bo...
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `WIDTH_GIVEN_POSITIVE_Z_ROW` is never used
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/decoders/signed_percentage_3d_exponential.rs:12:7
[INFO] [stdout]    |
[INFO] [stdout] 12 | const WIDTH_GIVEN_POSITIVE_Z_ROW: u32 = 1; // One row of neuron voxels along the Z represents 0 -> +1
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NUMBER_PAIRS_PER_CHANNEL` is never used
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/decoders/signed_percentage_3d_exponential.rs:13:7
[INFO] [stdout]    |
[INFO] [stdout] 13 | const NUMBER_PAIRS_PER_CHANNEL: u32 = 3; // How many numbers are encoded per channel?
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CHANNEL_WIDTH` is never used
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/decoders/signed_percentage_3d_exponential.rs:14:7
[INFO] [stdout]    |
[INFO] [stdout] 14 | const CHANNEL_WIDTH: u32 = WIDTH_GIVEN_POSITIVE_Z_ROW * NUMBER_PAIRS_PER_CHANNEL;
[INFO] [stdout]    |       ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SignedPercentage3DExponentialNeuronVoxelXYZPDecoder` is never constructed
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/decoders/signed_percentage_3d_exponential.rs:17:12
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub struct SignedPercentage3DExponentialNeuronVoxelXYZPDecoder {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new_box` is never used
[INFO] [stdout]    --> src/neuron_voxel_coding/xyzp/decoders/signed_percentage_3d_exponential.rs:121:12
[INFO] [stdout]     |
[INFO] [stdout] 119 | impl SignedPercentage3DExponentialNeuronVoxelXYZPDecoder {
[INFO] [stdout]     | -------------------------------------------------------- associated function in this implementation
[INFO] [stdout] 120 |
[INFO] [stdout] 121 |     pub fn new_box(cortical_read_target: CorticalID, z_resolution: NeuronDepth, number_channels: CorticalChannelCount) -> Result<Bo...
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `WIDTH_GIVEN_POSITIVE_Z_ROW` is never used
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/decoders/signed_percentage_4d_exponential.rs:12:7
[INFO] [stdout]    |
[INFO] [stdout] 12 | const WIDTH_GIVEN_POSITIVE_Z_ROW: u32 = 1; // One row of neuron voxels along the Z represents 0 -> +1
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NUMBER_PAIRS_PER_CHANNEL` is never used
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/decoders/signed_percentage_4d_exponential.rs:13:7
[INFO] [stdout]    |
[INFO] [stdout] 13 | const NUMBER_PAIRS_PER_CHANNEL: u32 = 4; // How many numbers are encoded per channel?
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CHANNEL_WIDTH` is never used
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/decoders/signed_percentage_4d_exponential.rs:14:7
[INFO] [stdout]    |
[INFO] [stdout] 14 | const CHANNEL_WIDTH: u32 = WIDTH_GIVEN_POSITIVE_Z_ROW * NUMBER_PAIRS_PER_CHANNEL;
[INFO] [stdout]    |       ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SignedPercentage4DExponentialNeuronVoxelXYZPDecoder` is never constructed
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/decoders/signed_percentage_4d_exponential.rs:17:12
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub struct SignedPercentage4DExponentialNeuronVoxelXYZPDecoder {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new_box` is never used
[INFO] [stdout]    --> src/neuron_voxel_coding/xyzp/decoders/signed_percentage_4d_exponential.rs:126:12
[INFO] [stdout]     |
[INFO] [stdout] 124 | impl SignedPercentage4DExponentialNeuronVoxelXYZPDecoder {
[INFO] [stdout]     | -------------------------------------------------------- associated function in this implementation
[INFO] [stdout] 125 |
[INFO] [stdout] 126 |     pub fn new_box(cortical_read_target: CorticalID, z_resolution: NeuronDepth, number_channels: CorticalChannelCount) -> Result<Bo...
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `cortical_write_target` and `scratch_space` are never read
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/encoders/misc_data.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub struct MiscDataNeuronVoxelXYZPEncoder {
[INFO] [stdout]    |            ------------------------------ fields in this struct
[INFO] [stdout] 15 |     misc_data_dimensions: MiscDataDimensions,
[INFO] [stdout] 16 |     cortical_write_target: CorticalID,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 17 |     scratch_space: Vec<NeuronVoxelXYZPArrays>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `MiscDataNeuronVoxelXYZPEncoder` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `cortical_write_target` and `scratch_space` are never read
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/encoders/cartesian_plane.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub struct CartesianPlaneNeuronVoxelXYZPEncoder {
[INFO] [stdout]    |            ------------------------------------ fields in this struct
[INFO] [stdout] 15 |     image_properties: ImageFrameProperties,
[INFO] [stdout] 16 |     cortical_write_target: CorticalID,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 17 |     scratch_space: Vec<NeuronVoxelXYZPArrays>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `CartesianPlaneNeuronVoxelXYZPEncoder` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `cortical_write_targets` and `neuron_scratch_spaces` are never read
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/encoders/segmented_image_frame.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub struct SegmentedImageFrameNeuronVoxelXYZPEncoder {
[INFO] [stdout]    |            ----------------------------------------- fields in this struct
[INFO] [stdout] 16 |     segmented_image_properties: SegmentedImageFrameProperties,
[INFO] [stdout] 17 |     cortical_write_targets: [CorticalID; 9],
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 18 |     neuron_scratch_spaces: Vec<[NeuronVoxelXYZPArrays; 9]>, //channel index {segment index }
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `SegmentedImageFrameNeuronVoxelXYZPEncoder` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `channel_dimensions`, `cortical_write_target`, and `scratch_space` are never read
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/encoders/percentage_1d_exponential.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub struct PercentageExponentialNeuronVoxelXYZPEncoder {
[INFO] [stdout]    |            ------------------------------------------- fields in this struct
[INFO] [stdout] 18 |     channel_dimensions: CorticalChannelDimensions,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 19 |     cortical_write_target: CorticalID,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 20 |     scratch_space: Vec<Vec<u32>>, // # channels long
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `PercentageExponentialNeuronVoxelXYZPEncoder` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `channel_dimensions`, `cortical_write_target`, and `scratch_space` are never read
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/encoders/percentage_1d_linear.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub struct PercentageLinearNeuronVoxelXYZPEncoder {
[INFO] [stdout]    |            -------------------------------------- fields in this struct
[INFO] [stdout] 18 |     channel_dimensions: CorticalChannelDimensions,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 19 |     cortical_write_target: CorticalID,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 20 |     scratch_space: Vec<Vec<u32>>, // # channels long
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `PercentageLinearNeuronVoxelXYZPEncoder` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NUMBER_PAIRS_PER_CHANNEL` is never used
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/encoders/percentage_2d_exponential.rs:13:7
[INFO] [stdout]    |
[INFO] [stdout] 13 | const NUMBER_PAIRS_PER_CHANNEL: u32 = 2; // How many numbers are encoded per channel?
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CHANNEL_WIDTH` is never used
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/encoders/percentage_2d_exponential.rs:14:7
[INFO] [stdout]    |
[INFO] [stdout] 14 | const CHANNEL_WIDTH: u32 = NUMBER_PAIRS_PER_CHANNEL * 1;
[INFO] [stdout]    |       ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Percentage2DExponentialNeuronVoxelXYZPEncoder` is never constructed
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/encoders/percentage_2d_exponential.rs:17:12
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub struct Percentage2DExponentialNeuronVoxelXYZPEncoder {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new_box` is never used
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/encoders/percentage_2d_exponential.rs:69:12
[INFO] [stdout]    |
[INFO] [stdout] 68 | impl Percentage2DExponentialNeuronVoxelXYZPEncoder {
[INFO] [stdout]    | -------------------------------------------------- associated function in this implementation
[INFO] [stdout] 69 |     pub fn new_box(cortical_write_target: CorticalID, z_resolution: NeuronDepth, number_channels: CorticalChannelCount) -> Result<Bo...
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NUMBER_PAIRS_PER_CHANNEL` is never used
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/encoders/percentage_2d_linear.rs:13:7
[INFO] [stdout]    |
[INFO] [stdout] 13 | const NUMBER_PAIRS_PER_CHANNEL: u32 = 2; // How many numbers are encoded per channel?
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CHANNEL_WIDTH` is never used
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/encoders/percentage_2d_linear.rs:14:7
[INFO] [stdout]    |
[INFO] [stdout] 14 | const CHANNEL_WIDTH: u32 = NUMBER_PAIRS_PER_CHANNEL * 1;
[INFO] [stdout]    |       ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Percentage2DLinearNeuronVoxelXYZPEncoder` is never constructed
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/encoders/percentage_2d_linear.rs:17:12
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub struct Percentage2DLinearNeuronVoxelXYZPEncoder {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new_box` is never used
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/encoders/percentage_2d_linear.rs:71:12
[INFO] [stdout]    |
[INFO] [stdout] 70 | impl Percentage2DLinearNeuronVoxelXYZPEncoder {
[INFO] [stdout]    | --------------------------------------------- associated function in this implementation
[INFO] [stdout] 71 |     pub fn new_box(cortical_write_target: CorticalID, z_resolution: NeuronDepth, number_channels: CorticalChannelCount) -> Result<Bo...
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `channel_dimensions`, `cortical_write_target`, and `scratch_space` are never read
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/encoders/percentage_3d_exponential.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub struct Percentage3DExponentialNeuronVoxelXYZPEncoder {
[INFO] [stdout]    |            --------------------------------------------- fields in this struct
[INFO] [stdout] 18 |     channel_dimensions: CorticalChannelDimensions,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 19 |     cortical_write_target: CorticalID,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 20 |     scratch_space: Vec<(Vec<u32>, Vec<u32>, Vec<u32>)>, // # channels long
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Percentage3DExponentialNeuronVoxelXYZPEncoder` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `channel_dimensions`, `cortical_write_target`, and `scratch_space` are never read
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/encoders/percentage_3d_linear.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub struct Percentage3DLinearNeuronVoxelXYZPEncoder {
[INFO] [stdout]    |            ---------------------------------------- fields in this struct
[INFO] [stdout] 18 |     channel_dimensions: CorticalChannelDimensions,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 19 |     cortical_write_target: CorticalID,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 20 |     scratch_space: Vec<(Vec<u32>, Vec<u32>, Vec<u32>)>, // # channels long
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Percentage3DLinearNeuronVoxelXYZPEncoder` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NUMBER_PAIRS_PER_CHANNEL` is never used
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/encoders/percentage_4d_exponential.rs:13:7
[INFO] [stdout]    |
[INFO] [stdout] 13 | const NUMBER_PAIRS_PER_CHANNEL: u32 = 4; // How many numbers are encoded per channel?
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CHANNEL_WIDTH` is never used
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/encoders/percentage_4d_exponential.rs:14:7
[INFO] [stdout]    |
[INFO] [stdout] 14 | const CHANNEL_WIDTH: u32 = NUMBER_PAIRS_PER_CHANNEL * 1;
[INFO] [stdout]    |       ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Percentage4DExponentialNeuronVoxelXYZPEncoder` is never constructed
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/encoders/percentage_4d_exponential.rs:17:12
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub struct Percentage4DExponentialNeuronVoxelXYZPEncoder {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new_box` is never used
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/encoders/percentage_4d_exponential.rs:77:12
[INFO] [stdout]    |
[INFO] [stdout] 76 | impl Percentage4DExponentialNeuronVoxelXYZPEncoder {
[INFO] [stdout]    | -------------------------------------------------- associated function in this implementation
[INFO] [stdout] 77 |     pub fn new_box(cortical_write_target: CorticalID, z_resolution: NeuronDepth, number_channels: CorticalChannelCount) -> Result<Bo...
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NUMBER_PAIRS_PER_CHANNEL` is never used
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/encoders/percentage_4d_linear.rs:13:7
[INFO] [stdout]    |
[INFO] [stdout] 13 | const NUMBER_PAIRS_PER_CHANNEL: u32 = 4; // How many numbers are encoded per channel?
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CHANNEL_WIDTH` is never used
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/encoders/percentage_4d_linear.rs:14:7
[INFO] [stdout]    |
[INFO] [stdout] 14 | const CHANNEL_WIDTH: u32 = NUMBER_PAIRS_PER_CHANNEL * 1;
[INFO] [stdout]    |       ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Percentage4DLinearNeuronVoxelXYZPEncoder` is never constructed
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/encoders/percentage_4d_linear.rs:17:12
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub struct Percentage4DLinearNeuronVoxelXYZPEncoder {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new_box` is never used
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/encoders/percentage_4d_linear.rs:79:12
[INFO] [stdout]    |
[INFO] [stdout] 78 | impl Percentage4DLinearNeuronVoxelXYZPEncoder {
[INFO] [stdout]    | --------------------------------------------- associated function in this implementation
[INFO] [stdout] 79 |     pub fn new_box(cortical_write_target: CorticalID, z_resolution: NeuronDepth, number_channels: CorticalChannelCount) -> Result<Bo...
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NUMBER_PAIRS_PER_CHANNEL` is never used
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/encoders/signed_percentage_1d_linear.rs:13:7
[INFO] [stdout]    |
[INFO] [stdout] 13 | const NUMBER_PAIRS_PER_CHANNEL: u32 = 1; // How many numbers are encoded per channel?
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `WIDTH_GIVEN_POSITIVE_Z_ROW` is never used
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/encoders/signed_percentage_1d_linear.rs:14:7
[INFO] [stdout]    |
[INFO] [stdout] 14 | const WIDTH_GIVEN_POSITIVE_Z_ROW: u32 = 1; // One row of neuron voxels along the Z represents 0 -> +1
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `WIDTH_GIVEN_NEGATIVE_Z_ROW` is never used
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/encoders/signed_percentage_1d_linear.rs:15:7
[INFO] [stdout]    |
[INFO] [stdout] 15 | const WIDTH_GIVEN_NEGATIVE_Z_ROW: u32 = 1; // One row of neuron voxels along the Z represents 0 -> -1
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CHANNEL_WIDTH` is never used
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/encoders/signed_percentage_1d_linear.rs:16:7
[INFO] [stdout]    |
[INFO] [stdout] 16 | const CHANNEL_WIDTH: u32 = NUMBER_PAIRS_PER_CHANNEL * (WIDTH_GIVEN_POSITIVE_Z_ROW + WIDTH_GIVEN_NEGATIVE_Z_ROW);
[INFO] [stdout]    |       ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SignedPercentage1DLinearNeuronVoxelXYZPEncoder` is never constructed
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/encoders/signed_percentage_1d_linear.rs:19:12
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub struct SignedPercentage1DLinearNeuronVoxelXYZPEncoder {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new_box` is never used
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/encoders/signed_percentage_1d_linear.rs:75:12
[INFO] [stdout]    |
[INFO] [stdout] 74 | impl SignedPercentage1DLinearNeuronVoxelXYZPEncoder {
[INFO] [stdout]    | --------------------------------------------------- associated function in this implementation
[INFO] [stdout] 75 |     pub fn new_box(cortical_write_target: CorticalID, z_resolution: NeuronDepth, number_channels: CorticalChannelCount) -> Result<Bo...
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NUMBER_PAIRS_PER_CHANNEL` is never used
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/encoders/signed_percentage_1d_exponential.rs:13:7
[INFO] [stdout]    |
[INFO] [stdout] 13 | const NUMBER_PAIRS_PER_CHANNEL: u32 = 1; // How many numbers are encoded per channel?
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `WIDTH_GIVEN_POSITIVE_Z_ROW` is never used
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/encoders/signed_percentage_1d_exponential.rs:14:7
[INFO] [stdout]    |
[INFO] [stdout] 14 | const WIDTH_GIVEN_POSITIVE_Z_ROW: u32 = 1; // One row of neuron voxels along the Z represents 0 -> +1
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `WIDTH_GIVEN_NEGATIVE_Z_ROW` is never used
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/encoders/signed_percentage_1d_exponential.rs:15:7
[INFO] [stdout]    |
[INFO] [stdout] 15 | const WIDTH_GIVEN_NEGATIVE_Z_ROW: u32 = 1; // One row of neuron voxels along the Z represents 0 -> -1
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CHANNEL_WIDTH` is never used
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/encoders/signed_percentage_1d_exponential.rs:16:7
[INFO] [stdout]    |
[INFO] [stdout] 16 | const CHANNEL_WIDTH: u32 = NUMBER_PAIRS_PER_CHANNEL * (WIDTH_GIVEN_POSITIVE_Z_ROW + WIDTH_GIVEN_NEGATIVE_Z_ROW);
[INFO] [stdout]    |       ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SignedPercentage1DExponentialNeuronVoxelXYZPEncoder` is never constructed
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/encoders/signed_percentage_1d_exponential.rs:19:12
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub struct SignedPercentage1DExponentialNeuronVoxelXYZPEncoder {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new_box` is never used
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/encoders/signed_percentage_1d_exponential.rs:73:12
[INFO] [stdout]    |
[INFO] [stdout] 72 | impl SignedPercentage1DExponentialNeuronVoxelXYZPEncoder {
[INFO] [stdout]    | -------------------------------------------------------- associated function in this implementation
[INFO] [stdout] 73 |     pub fn new_box(cortical_write_target: CorticalID, z_resolution: NeuronDepth, number_channels: CorticalChannelCount) -> Result<Bo...
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NUMBER_PAIRS_PER_CHANNEL` is never used
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/encoders/signed_percentage_2d_linear.rs:13:7
[INFO] [stdout]    |
[INFO] [stdout] 13 | const NUMBER_PAIRS_PER_CHANNEL: u32 = 2; // How many numbers are encoded per channel?
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `WIDTH_GIVEN_POSITIVE_Z_ROW` is never used
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/encoders/signed_percentage_2d_linear.rs:14:7
[INFO] [stdout]    |
[INFO] [stdout] 14 | const WIDTH_GIVEN_POSITIVE_Z_ROW: u32 = 1; // One row of neuron voxels along the Z represents 0 -> +1
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `WIDTH_GIVEN_NEGATIVE_Z_ROW` is never used
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/encoders/signed_percentage_2d_linear.rs:15:7
[INFO] [stdout]    |
[INFO] [stdout] 15 | const WIDTH_GIVEN_NEGATIVE_Z_ROW: u32 = 1; // One row of neuron voxels along the Z represents 0 -> -1
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CHANNEL_WIDTH` is never used
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/encoders/signed_percentage_2d_linear.rs:16:7
[INFO] [stdout]    |
[INFO] [stdout] 16 | const CHANNEL_WIDTH: u32 = NUMBER_PAIRS_PER_CHANNEL * (WIDTH_GIVEN_POSITIVE_Z_ROW + WIDTH_GIVEN_NEGATIVE_Z_ROW);
[INFO] [stdout]    |       ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SignedPercentage2DLinearNeuronVoxelXYZPEncoder` is never constructed
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/encoders/signed_percentage_2d_linear.rs:19:12
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub struct SignedPercentage2DLinearNeuronVoxelXYZPEncoder {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new_box` is never used
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/encoders/signed_percentage_2d_linear.rs:84:12
[INFO] [stdout]    |
[INFO] [stdout] 83 | impl SignedPercentage2DLinearNeuronVoxelXYZPEncoder {
[INFO] [stdout]    | --------------------------------------------------- associated function in this implementation
[INFO] [stdout] 84 |     pub fn new_box(cortical_write_target: CorticalID, z_resolution: NeuronDepth, number_channels: CorticalChannelCount) -> Result<Bo...
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NUMBER_PAIRS_PER_CHANNEL` is never used
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/encoders/signed_percentage_2d_exponential.rs:13:7
[INFO] [stdout]    |
[INFO] [stdout] 13 | const NUMBER_PAIRS_PER_CHANNEL: u32 = 2; // How many numbers are encoded per channel?
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `WIDTH_GIVEN_POSITIVE_Z_ROW` is never used
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/encoders/signed_percentage_2d_exponential.rs:14:7
[INFO] [stdout]    |
[INFO] [stdout] 14 | const WIDTH_GIVEN_POSITIVE_Z_ROW: u32 = 1; // One row of neuron voxels along the Z represents 0 -> +1
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `WIDTH_GIVEN_NEGATIVE_Z_ROW` is never used
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/encoders/signed_percentage_2d_exponential.rs:15:7
[INFO] [stdout]    |
[INFO] [stdout] 15 | const WIDTH_GIVEN_NEGATIVE_Z_ROW: u32 = 1; // One row of neuron voxels along the Z represents 0 -> -1
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CHANNEL_WIDTH` is never used
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/encoders/signed_percentage_2d_exponential.rs:16:7
[INFO] [stdout]    |
[INFO] [stdout] 16 | const CHANNEL_WIDTH: u32 = NUMBER_PAIRS_PER_CHANNEL * (WIDTH_GIVEN_POSITIVE_Z_ROW + WIDTH_GIVEN_NEGATIVE_Z_ROW);
[INFO] [stdout]    |       ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SignedPercentage2DExponentialNeuronVoxelXYZPEncoder` is never constructed
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/encoders/signed_percentage_2d_exponential.rs:19:12
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub struct SignedPercentage2DExponentialNeuronVoxelXYZPEncoder {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new_box` is never used
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/encoders/signed_percentage_2d_exponential.rs:82:12
[INFO] [stdout]    |
[INFO] [stdout] 81 | impl SignedPercentage2DExponentialNeuronVoxelXYZPEncoder {
[INFO] [stdout]    | -------------------------------------------------------- associated function in this implementation
[INFO] [stdout] 82 |     pub fn new_box(cortical_write_target: CorticalID, z_resolution: NeuronDepth, number_channels: CorticalChannelCount) -> Result<Bo...
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NUMBER_PAIRS_PER_CHANNEL` is never used
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/encoders/signed_percentage_3d_linear.rs:13:7
[INFO] [stdout]    |
[INFO] [stdout] 13 | const NUMBER_PAIRS_PER_CHANNEL: u32 = 3; // How many numbers are encoded per channel?
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `WIDTH_GIVEN_POSITIVE_Z_ROW` is never used
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/encoders/signed_percentage_3d_linear.rs:14:7
[INFO] [stdout]    |
[INFO] [stdout] 14 | const WIDTH_GIVEN_POSITIVE_Z_ROW: u32 = 1; // One row of neuron voxels along the Z represents 0 -> +1
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `WIDTH_GIVEN_NEGATIVE_Z_ROW` is never used
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/encoders/signed_percentage_3d_linear.rs:15:7
[INFO] [stdout]    |
[INFO] [stdout] 15 | const WIDTH_GIVEN_NEGATIVE_Z_ROW: u32 = 1; // One row of neuron voxels along the Z represents 0 -> -1
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CHANNEL_WIDTH` is never used
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/encoders/signed_percentage_3d_linear.rs:16:7
[INFO] [stdout]    |
[INFO] [stdout] 16 | const CHANNEL_WIDTH: u32 = NUMBER_PAIRS_PER_CHANNEL * (WIDTH_GIVEN_POSITIVE_Z_ROW + WIDTH_GIVEN_NEGATIVE_Z_ROW);
[INFO] [stdout]    |       ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SignedPercentage3DLinearNeuronVoxelXYZPEncoder` is never constructed
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/encoders/signed_percentage_3d_linear.rs:19:12
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub struct SignedPercentage3DLinearNeuronVoxelXYZPEncoder {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new_box` is never used
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/encoders/signed_percentage_3d_linear.rs:93:12
[INFO] [stdout]    |
[INFO] [stdout] 92 | impl SignedPercentage3DLinearNeuronVoxelXYZPEncoder {
[INFO] [stdout]    | --------------------------------------------------- associated function in this implementation
[INFO] [stdout] 93 |     pub fn new_box(cortical_write_target: CorticalID, z_resolution: NeuronDepth, number_channels: CorticalChannelCount) -> Result<Bo...
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NUMBER_PAIRS_PER_CHANNEL` is never used
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/encoders/signed_percentage_3d_exponential.rs:13:7
[INFO] [stdout]    |
[INFO] [stdout] 13 | const NUMBER_PAIRS_PER_CHANNEL: u32 = 3; // How many numbers are encoded per channel?
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `WIDTH_GIVEN_POSITIVE_Z_ROW` is never used
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/encoders/signed_percentage_3d_exponential.rs:14:7
[INFO] [stdout]    |
[INFO] [stdout] 14 | const WIDTH_GIVEN_POSITIVE_Z_ROW: u32 = 1; // One row of neuron voxels along the Z represents 0 -> +1
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `WIDTH_GIVEN_NEGATIVE_Z_ROW` is never used
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/encoders/signed_percentage_3d_exponential.rs:15:7
[INFO] [stdout]    |
[INFO] [stdout] 15 | const WIDTH_GIVEN_NEGATIVE_Z_ROW: u32 = 1; // One row of neuron voxels along the Z represents 0 -> -1
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CHANNEL_WIDTH` is never used
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/encoders/signed_percentage_3d_exponential.rs:16:7
[INFO] [stdout]    |
[INFO] [stdout] 16 | const CHANNEL_WIDTH: u32 = NUMBER_PAIRS_PER_CHANNEL * (WIDTH_GIVEN_POSITIVE_Z_ROW + WIDTH_GIVEN_NEGATIVE_Z_ROW);
[INFO] [stdout]    |       ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SignedPercentage3DExponentialNeuronVoxelXYZPEncoder` is never constructed
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/encoders/signed_percentage_3d_exponential.rs:19:12
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub struct SignedPercentage3DExponentialNeuronVoxelXYZPEncoder {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new_box` is never used
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/encoders/signed_percentage_3d_exponential.rs:91:12
[INFO] [stdout]    |
[INFO] [stdout] 90 | impl SignedPercentage3DExponentialNeuronVoxelXYZPEncoder {
[INFO] [stdout]    | -------------------------------------------------------- associated function in this implementation
[INFO] [stdout] 91 |     pub fn new_box(cortical_write_target: CorticalID, z_resolution: NeuronDepth, number_channels: CorticalChannelCount) -> Result<Bo...
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `channel_dimensions`, `cortical_write_target`, and `scratch_space` are never read
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/encoders/signed_percentage_4d_linear.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub struct SignedPercentage4DLinearNeuronVoxelXYZPEncoder {
[INFO] [stdout]    |            ---------------------------------------------- fields in this struct
[INFO] [stdout] 20 |     channel_dimensions: CorticalChannelDimensions,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 21 |     cortical_write_target: CorticalID,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 22 |     scratch_space: Vec<((Vec<u32>, Vec<u32>), (Vec<u32>, Vec<u32>), (Vec<u32>, Vec<u32>), (Vec<u32>, Vec<u32>))>, // # channels long...
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `SignedPercentage4DLinearNeuronVoxelXYZPEncoder` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `channel_dimensions`, `cortical_write_target`, and `scratch_space` are never read
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/encoders/signed_percentage_4d_exponential.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub struct SignedPercentage4DExponentialNeuronVoxelXYZPEncoder {
[INFO] [stdout]    |            --------------------------------------------------- fields in this struct
[INFO] [stdout] 20 |     channel_dimensions: CorticalChannelDimensions,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 21 |     cortical_write_target: CorticalID,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 22 |     scratch_space: Vec<((Vec<u32>, Vec<u32>), (Vec<u32>, Vec<u32>), (Vec<u32>, Vec<u32>), (Vec<u32>, Vec<u32>))>, // # channels long...
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `SignedPercentage4DExponentialNeuronVoxelXYZPEncoder` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NEURON_TRUE_VAL` is never used
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/encoders/boolean.rs:11:7
[INFO] [stdout]    |
[INFO] [stdout] 11 | const NEURON_TRUE_VAL: f32 = 1.0;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NEURON_FALSE_VAL` is never used
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/encoders/boolean.rs:12:7
[INFO] [stdout]    |
[INFO] [stdout] 12 | const NEURON_FALSE_VAL: f32 = 0.0;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `False` and `True` are never constructed
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/encoders/boolean.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | enum BoolState {
[INFO] [stdout]    |      --------- variants in this enum
[INFO] [stdout] 16 |     Unchanged,
[INFO] [stdout] 17 |     False,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 18 |     True,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `BoolState` 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: fields `cortical_write_target` and `scratch_space` are never read
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/encoders/boolean.rs:23:5
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub struct BooleanNeuronVoxelXYZPEncoder {
[INFO] [stdout]    |            ----------------------------- fields in this struct
[INFO] [stdout] 23 |     cortical_write_target: CorticalID,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 24 |     scratch_space: Vec<BoolState>, // # channels long
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `BooleanNeuronVoxelXYZPEncoder` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `get_input_data_type`, `verify_input_data`, `get_output_data_type`, `get_last_processed_instant`, `set_cached_input_value`, and `does_contain_stages` are never used
[INFO] [stdout]    --> src/data_pipeline/pipeline_stage_runner.rs:65:12
[INFO] [stdout]     |
[INFO] [stdout]  30 | impl PipelineStageRunner {
[INFO] [stdout]     | ------------------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  65 |     pub fn get_input_data_type(&self) -> WrappedIOType {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  69 |     pub fn verify_input_data(&self, incoming_data: &WrappedIOData) -> Result<(), FeagiDataError> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  81 |     pub fn get_output_data_type(&self) -> WrappedIOType {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 115 |     pub fn get_last_processed_instant(&self) -> Instant {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 124 |     pub fn set_cached_input_value(&mut self, value: WrappedIOData) -> Result<(), FeagiDataError> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 156 |     pub fn does_contain_stages(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `get_input_data_type`, `clone_box`, and `as_any` are never used
[INFO] [stdout]   --> src/data_pipeline/pipeline_stage.rs:20:8
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub(crate) trait PipelineStage: fmt::Display + Debug + Sync + Send + Any {
[INFO] [stdout]    |                  ------------- methods in this trait
[INFO] [stdout] ...
[INFO] [stdout] 20 |     fn get_input_data_type(&self) -> WrappedIOType;
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 52 |     fn clone_box(&self) -> Box<dyn PipelineStage>;
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 55 |     fn as_any(&self) -> &dyn Any;
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `stages_to_stage_properties` is never used
[INFO] [stdout]   --> src/data_pipeline/pipeline_stage_conversions.rs:13:15
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub(crate) fn stages_to_stage_properties(pipeline_stages: &Vec<Box<dyn PipelineStage>>) -> Result<Vec<Box<dyn PipelineStagePropertie...
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `GAMMA_MIDPOINT` is never used
[INFO] [stdout]   --> src/data_types/image_frame.rs:18:7
[INFO] [stdout]    |
[INFO] [stdout] 18 | const GAMMA_MIDPOINT: f32 = 128.0;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `LINEAR_MIDPOINT` is never used
[INFO] [stdout]   --> src/data_types/image_frame.rs:19:7
[INFO] [stdout]    |
[INFO] [stdout] 19 | const LINEAR_MIDPOINT: f32 = 0.5;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `overwrite_neuron_data` is never used
[INFO] [stdout]    --> src/data_types/image_frame.rs:491:19
[INFO] [stdout]     |
[INFO] [stdout]  37 | impl ImageFrame {
[INFO] [stdout]     | --------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 491 |     pub(crate) fn overwrite_neuron_data(&self, write_target: &mut NeuronVoxelXYZPArrays, channel_index: CorticalChannelIndex) -> Re...
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `get_image_internal_data_mut` and `overwrite_neuron_data` are never used
[INFO] [stdout]    --> src/data_types/segmented_image_frame.rs:200:19
[INFO] [stdout]     |
[INFO] [stdout]  66 | impl SegmentedImageFrame {
[INFO] [stdout]     | ------------------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 200 |     pub(crate) fn get_image_internal_data_mut(&mut self) -> [&mut Array3<u8>; 9] {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 221 |     pub(crate) fn overwrite_neuron_data(&self, write_targets: &mut[NeuronVoxelXYZPArrays; 9], channel_index: CorticalChannelIndex )...
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `inplace_update_all` is never used
[INFO] [stdout]    --> src/data_types/percentages.rs:364:19
[INFO] [stdout]     |
[INFO] [stdout] 345 | impl Percentage2D {
[INFO] [stdout]     | ----------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 364 |     pub(crate) fn inplace_update_all(&mut self, value: f32) {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `inplace_update_all` is never used
[INFO] [stdout]    --> src/data_types/percentages.rs:442:19
[INFO] [stdout]     |
[INFO] [stdout] 423 | impl SignedPercentage2D {
[INFO] [stdout]     | ----------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 442 |     pub(crate) fn inplace_update_all(&mut self, value: f32) {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `inplace_update_all` is never used
[INFO] [stdout]    --> src/data_types/percentages.rs:526:19
[INFO] [stdout]     |
[INFO] [stdout] 505 | impl Percentage3D {
[INFO] [stdout]     | ----------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 526 |     pub(crate) fn inplace_update_all(&mut self, value: f32) {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `inplace_update_all` is never used
[INFO] [stdout]    --> src/data_types/percentages.rs:608:19
[INFO] [stdout]     |
[INFO] [stdout] 587 | impl SignedPercentage3D {
[INFO] [stdout]     | ----------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 608 |     pub(crate) fn inplace_update_all(&mut self, value: f32) {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `inplace_update_all` is never used
[INFO] [stdout]    --> src/data_types/percentages.rs:697:19
[INFO] [stdout]     |
[INFO] [stdout] 674 | impl Percentage4D {
[INFO] [stdout]     | ----------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 697 |     pub(crate) fn inplace_update_all(&mut self, value: f32) {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `inplace_update_all` is never used
[INFO] [stdout]    --> src/data_types/percentages.rs:784:19
[INFO] [stdout]     |
[INFO] [stdout] 761 | impl SignedPercentage4D {
[INFO] [stdout]     | ----------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 784 |     pub(crate) fn inplace_update_all(&mut self, value: f32) {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/data_types/processing/image_frame_processor.rs:69:12
[INFO] [stdout]     |
[INFO] [stdout]  55 | impl ImageFrameProcessor {
[INFO] [stdout]     | ------------------------ associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  69 |     pub fn new_from_input_output_properties(input: &ImageFrameProperties, output: &ImageFrameProperties) -> Result<Self, FeagiDataE...
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  91 |     pub fn get_input_image_properties(&self) -> &ImageFrameProperties { &self.input_image_properties }
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 113 |     pub fn verify_input_image_allowed(&self, verifying_image: &ImageFrame) -> Result<(), FeagiDataError> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 286 |     pub fn set_brightness_offset(&mut self, brightness_offset: i32) -> Result<&mut Self, FeagiDataError> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 297 |     pub fn set_contrast_change(&mut self, contrast_change: f32) -> Result<&mut Self, FeagiDataError> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 329 |     pub fn clear_all_transformations(&mut self) -> &Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 339 |     pub fn clear_cropping(&mut self) -> &Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 344 |     pub fn clear_resizing(&mut self) -> &Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 349 |     pub fn clear_brightness_adjustment(&mut self) -> &Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 354 |     pub fn clear_contrast_adjustment(&mut self) -> &Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 359 |     pub fn clear_color_space_conversion(&mut self) -> &Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 364 |     pub fn clear_grayscale_conversion(&mut self) -> &Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `agent_device_key_lookup`, `neuron_data`, `byte_data`, `previous_burst`, `neurons_encoded_signal`, and `bytes_encoded_signal` are never read
[INFO] [stdout]    --> src/sensor_device_cache.rs:427:5
[INFO] [stdout]     |
[INFO] [stdout] 425 | pub struct SensorDeviceCache {
[INFO] [stdout]     |            ----------------- fields in this struct
[INFO] [stdout] 426 |     stream_caches: HashMap<(SensoryCorticalUnit, CorticalGroupIndex), SensoryChannelStreamCaches>,
[INFO] [stdout] 427 |     agent_device_key_lookup: HashMap<AgentDeviceIndex, Vec<(SensoryCorticalUnit, CorticalGroupIndex)>>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 428 |     neuron_data: CorticalMappedXYZPNeuronVoxels,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] 429 |     byte_data: FeagiByteContainer,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] 430 |     previous_burst: Instant,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^
[INFO] [stdout] 431 |     neurons_encoded_signal: FeagiSignal<CorticalMappedXYZPNeuronVoxels>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 432 |     bytes_encoded_signal: FeagiSignal<FeagiByteContainer>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `try_read_preprocessed_cached_value`, `register_agent_device_key`, `try_update_value_by_agent_device`, `try_read_postprocessed_cached_values_by_agent_device`, `try_get_agent_device_lookup`, and `try_get_agent_device_lookup_mut` are never used
[INFO] [stdout]    --> src/sensor_device_cache.rs:483:8
[INFO] [stdout]     |
[INFO] [stdout] 435 | impl SensorDeviceCache {
[INFO] [stdout]     | ---------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 483 |     fn try_read_preprocessed_cached_value(&self, sensor_type: SensoryCorticalUnit, group_index: CorticalGroupIndex, channel_index: ...
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 545 |     fn register_agent_device_key(&mut self, agent_device_index: AgentDeviceIndex, sensor_type: SensoryCorticalUnit, group_index: Co...
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 559 |     fn try_update_value_by_agent_device(&mut self, agent_device_index: AgentDeviceIndex, channel_index: CorticalChannelIndex, value...
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 567 |     fn try_read_postprocessed_cached_values_by_agent_device(&self, agent_device_index: AgentDeviceIndex, channel_index: CorticalCha...
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 601 |     fn try_get_agent_device_lookup(&self, agent_device_index: AgentDeviceIndex) -> Result<&[(SensoryCorticalUnit, CorticalGroupInde...
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 608 |     fn try_get_agent_device_lookup_mut(&mut self, agent_device_index: AgentDeviceIndex) -> Result<&mut Vec<(SensoryCorticalUnit, Co...
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `FeagiConnectorInterface` is never used
[INFO] [stdout]  --> src/feagi_interfaces/feagi_connector_interface.rs:5:11
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub trait FeagiConnectorInterface {
[INFO] [stdout]   |           ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `FeagiInterfaceStatus` is never used
[INFO] [stdout]  --> src/feagi_interfaces/feagi_connection_enums.rs:3:10
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub enum FeagiInterfaceStatus {
[INFO] [stdout]   |          ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `DeviceRegistrationStatus` is never used
[INFO] [stdout]   --> src/feagi_interfaces/feagi_connection_enums.rs:12:10
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub enum DeviceRegistrationStatus {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `FeagiConnectionInterfaceDefinition` is never used
[INFO] [stdout]  --> src/feagi_interfaces/feagi_connector_interface_definition.rs:2:11
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub trait FeagiConnectionInterfaceDefinition {
[INFO] [stdout]   |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `agent_device_key_lookup` and `previous_burst` are never read
[INFO] [stdout]    --> src/motor_device_cache.rs:385:5
[INFO] [stdout]     |
[INFO] [stdout] 383 | pub struct MotorDeviceCache {
[INFO] [stdout]     |            ---------------- fields in this struct
[INFO] [stdout] 384 |     stream_caches: HashMap<(MotorCorticalUnit, CorticalGroupIndex), MotorChannelStreamCaches>,
[INFO] [stdout] 385 |     agent_device_key_lookup: HashMap<AgentDeviceIndex, Vec<(MotorCorticalUnit, CorticalGroupIndex)>>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 388 |     previous_burst: Instant,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `register_agent_device_key`, `try_read_preprocessed_cached_values_by_agent_device`, `try_read_postprocessed_cached_values_by_agent_device`, `try_get_agent_device_lookup`, and `try_get_agent_device_lookup_mut` are never used
[INFO] [stdout]    --> src/motor_device_cache.rs:498:8
[INFO] [stdout]     |
[INFO] [stdout] 391 | impl MotorDeviceCache {
[INFO] [stdout]     | --------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 498 |     fn register_agent_device_key(&mut self, agent_device_index: AgentDeviceIndex, motor_type: MotorCorticalUnit, group_index: Corti...
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 512 |     fn try_read_preprocessed_cached_values_by_agent_device(&self, agent_device_index: AgentDeviceIndex, channel_index: CorticalChan...
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 522 |     fn try_read_postprocessed_cached_values_by_agent_device(&self, agent_device_index: AgentDeviceIndex, channel_index: CorticalCha...
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 558 |     fn try_get_agent_device_lookup(&self, agent_device_index: AgentDeviceIndex) -> Result<&[(MotorCorticalUnit, CorticalGroupIndex)...
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 565 |     fn try_get_agent_device_lookup_mut(&mut self, agent_device_index: AgentDeviceIndex) -> Result<&mut Vec<(MotorCorticalUnit, Cort...
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `input_image_properties`
[INFO] [stdout]    --> src/data_types/processing/image_frame_processor.rs:124:17
[INFO] [stdout]     |
[INFO] [stdout] 124 |                 input_image_properties,
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^ help: try ignoring the field: `input_image_properties: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `input_image_properties`
[INFO] [stdout]    --> src/data_types/processing/image_frame_processor.rs:138:17
[INFO] [stdout]     |
[INFO] [stdout] 138 |                 input_image_properties,
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^ help: try ignoring the field: `input_image_properties: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `input_image_properties`
[INFO] [stdout]    --> src/data_types/processing/image_frame_processor.rs:152:17
[INFO] [stdout]     |
[INFO] [stdout] 152 |                 input_image_properties,
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^ help: try ignoring the field: `input_image_properties: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `final_resize_xy_to`
[INFO] [stdout]    --> src/data_types/processing/image_frame_processor.rs:154:42
[INFO] [stdout]     |
[INFO] [stdout] 154 |                 final_resize_xy_to: Some(final_resize_xy_to),
[INFO] [stdout]     |                                          ^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_final_resize_xy_to`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `input_image_properties`
[INFO] [stdout]    --> src/data_types/processing/image_frame_processor.rs:166:17
[INFO] [stdout]     |
[INFO] [stdout] 166 |                 input_image_properties,
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^ help: try ignoring the field: `input_image_properties: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `input_image_properties`
[INFO] [stdout]    --> src/data_types/processing/image_frame_processor.rs:180:17
[INFO] [stdout]     |
[INFO] [stdout] 180 |                 input_image_properties,
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^ help: try ignoring the field: `input_image_properties: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `final_resize_xy_to`
[INFO] [stdout]    --> src/data_types/processing/image_frame_processor.rs:182:42
[INFO] [stdout]     |
[INFO] [stdout] 182 |                 final_resize_xy_to: Some(final_resize_xy_to),
[INFO] [stdout]     |                                          ^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_final_resize_xy_to`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `input_image_properties`
[INFO] [stdout]    --> src/data_types/processing/image_frame_processor.rs:194:17
[INFO] [stdout]     |
[INFO] [stdout] 194 |                 input_image_properties,
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^ help: try ignoring the field: `input_image_properties: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/data_types/image_frame.rs:192:28
[INFO] [stdout]     |
[INFO] [stdout] 192 |     pub fn get_pixels_view(&self) -> ArrayView3<u8> {
[INFO] [stdout]     |                            ^^^^^     ^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                            |
[INFO] [stdout]     |                            the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 192 |     pub fn get_pixels_view(&self) -> ArrayView3<'_, u8> {
[INFO] [stdout]     |                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/data_types/image_frame.rs:197:32
[INFO] [stdout]     |
[INFO] [stdout] 197 |     pub fn get_pixels_view_mut(&mut self) -> ArrayViewMut3<u8> {
[INFO] [stdout]     |                                ^^^^^^^^^     ^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                                |
[INFO] [stdout]     |                                the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 197 |     pub fn get_pixels_view_mut(&mut self) -> ArrayViewMut3<'_, u8> {
[INFO] [stdout]     |                                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `src_c`
[INFO] [stdout]    --> src/data_types/processing/image_frame_processor.rs:410:24
[INFO] [stdout]     |
[INFO] [stdout] 410 |     let (src_h, src_w, src_c) = (source_arr.shape()[0], source_arr.shape()[1], source_arr.shape()[2]);
[INFO] [stdout]     |                        ^^^^^ help: if this is intentional, prefix it with an underscore: `_src_c`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dst_c`
[INFO] [stdout]    --> src/data_types/processing/image_frame_processor.rs:411:24
[INFO] [stdout]     |
[INFO] [stdout] 411 |     let (dst_h, dst_w, dst_c) = (destination_arr.shape()[0], destination_arr.shape()[1], destination_arr.shape()[2]);
[INFO] [stdout]     |                        ^^^^^ help: if this is intentional, prefix it with an underscore: `_dst_c`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/connector_agent.rs:19:29
[INFO] [stdout]    |
[INFO] [stdout] 19 |     pub fn get_sensor_cache(&self) -> MutexGuard<SensorDeviceCache> {
[INFO] [stdout]    |                             ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                             |
[INFO] [stdout]    |                             the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 19 |     pub fn get_sensor_cache(&self) -> MutexGuard<'_, SensorDeviceCache> {
[INFO] [stdout]    |                                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/connector_agent.rs:27:28
[INFO] [stdout]    |
[INFO] [stdout] 27 |     pub fn get_motor_cache(&self) -> MutexGuard<MotorDeviceCache> {
[INFO] [stdout]    |                            ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                            |
[INFO] [stdout]    |                            the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 27 |     pub fn get_motor_cache(&self) -> MutexGuard<'_, MotorDeviceCache> {
[INFO] [stdout]    |                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `PipelineStage` is more private than the item `IdentityStage::new_box`
[INFO] [stdout]   --> src/data_pipeline/stages/identities.rs:74:5
[INFO] [stdout]    |
[INFO] [stdout] 74 |     pub fn new_box(identity_type: WrappedIOType) -> Result<Box<dyn PipelineStage + 'static>, FeagiDataError> {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ associated function `IdentityStage::new_box` is reachable at visibility `pub`
[INFO] [stdout]    |
[INFO] [stdout] note: but trait `PipelineStage` is only usable at visibility `pub(crate)`
[INFO] [stdout]   --> src/data_pipeline/pipeline_stage.rs:15:1
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub(crate) trait PipelineStage: fmt::Display + Debug + Sync + Send + Any {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: `#[warn(private_interfaces)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `PipelineStage` is more private than the item `ImageFrameSegmentatorStage::new_box`
[INFO] [stdout]   --> src/data_pipeline/stages/image_segmentor.rs:86:5
[INFO] [stdout]    |
[INFO] [stdout] 86 | /     pub fn new_box(
[INFO] [stdout] 87 | |         input_image_properties: ImageFrameProperties, 
[INFO] [stdout] 88 | |         output_image_properties: SegmentedImageFrameProperties, 
[INFO] [stdout] 89 | |         image_segmentator: ImageFrameSegmentator
[INFO] [stdout] 90 | |     ) -> Result<Box<dyn PipelineStage + 'static>, FeagiDataError> {
[INFO] [stdout]    | |_________________________________________________________________^ associated function `ImageFrameSegmentatorStage::new_box` is reachable at visibility `pub`
[INFO] [stdout]    |
[INFO] [stdout] note: but trait `PipelineStage` is only usable at visibility `pub(crate)`
[INFO] [stdout]   --> src/data_pipeline/pipeline_stage.rs:15:1
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub(crate) trait PipelineStage: fmt::Display + Debug + Sync + Send + Any {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `PipelineStage` is more private than the item `ImageFrameQuickDiffStage::new_box`
[INFO] [stdout]   --> src/data_pipeline/stages/image_quick_diff.rs:93:5
[INFO] [stdout]    |
[INFO] [stdout] 93 |     pub fn new_box(image_properties: ImageFrameProperties, per_pixel_allowed_range: RangeInclusive<u8>, acceptable_amount_of_activity_in_image: RangeInclusive<Percentage>) -> Result<Box<dyn PipelineStage + Send + Sync + 'static>, FeagiDataError> {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ associated function `ImageFrameQuickDiffStage::new_box` is reachable at visibility `pub`
[INFO] [stdout]    |
[INFO] [stdout] note: but trait `PipelineStage` is only usable at visibility `pub(crate)`
[INFO] [stdout]   --> src/data_pipeline/pipeline_stage.rs:15:1
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub(crate) trait PipelineStage: fmt::Display + Debug + Sync + Send + Any {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `PipelineStage` is more private than the item `<IdentityStageProperties as PipelineStageProperties>::create_stage`
[INFO] [stdout]   --> src/data_pipeline/stage_properties/identities.rs:32:5
[INFO] [stdout]    |
[INFO] [stdout] 32 |     fn create_stage(&self) -> Box<dyn PipelineStage> {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `<IdentityStageProperties as PipelineStageProperties>::create_stage` is reachable at visibility `pub`
[INFO] [stdout]    |
[INFO] [stdout] note: but trait `PipelineStage` is only usable at visibility `pub(crate)`
[INFO] [stdout]   --> src/data_pipeline/pipeline_stage.rs:15:1
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub(crate) trait PipelineStage: fmt::Display + Debug + Sync + Send + Any {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `PipelineStage` is more private than the item `<ImageSegmentorStageProperties as PipelineStageProperties>::create_stage`
[INFO] [stdout]   --> src/data_pipeline/stage_properties/image_segmentor.rs:36:5
[INFO] [stdout]    |
[INFO] [stdout] 36 |     fn create_stage(&self) -> Box<dyn PipelineStage> {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `<ImageSegmentorStageProperties as PipelineStageProperties>::create_stage` is reachable at visibility `pub`
[INFO] [stdout]    |
[INFO] [stdout] note: but trait `PipelineStage` is only usable at visibility `pub(crate)`
[INFO] [stdout]   --> src/data_pipeline/pipeline_stage.rs:15:1
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub(crate) trait PipelineStage: fmt::Display + Debug + Sync + Send + Any {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `PipelineStage` is more private than the item `<ImageQuickDiffStageProperties as PipelineStageProperties>::create_stage`
[INFO] [stdout]   --> src/data_pipeline/stage_properties/image_quick_diff.rs:38:5
[INFO] [stdout]    |
[INFO] [stdout] 38 |     fn create_stage(&self) -> Box<dyn PipelineStage> {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `<ImageQuickDiffStageProperties as PipelineStageProperties>::create_stage` is reachable at visibility `pub`
[INFO] [stdout]    |
[INFO] [stdout] note: but trait `PipelineStage` is only usable at visibility `pub(crate)`
[INFO] [stdout]   --> src/data_pipeline/pipeline_stage.rs:15:1
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub(crate) trait PipelineStage: fmt::Display + Debug + Sync + Send + Any {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `PipelineStage` is more private than the item `PipelineStageProperties::create_stage`
[INFO] [stdout]   --> src/data_pipeline/pipeline_stage_properties.rs:28:5
[INFO] [stdout]    |
[INFO] [stdout] 28 |     fn create_stage(&self) -> Box<dyn PipelineStage>;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `PipelineStageProperties::create_stage` is reachable at visibility `pub`
[INFO] [stdout]    |
[INFO] [stdout] note: but trait `PipelineStage` is only usable at visibility `pub(crate)`
[INFO] [stdout]   --> src/data_pipeline/pipeline_stage.rs:15:1
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub(crate) trait PipelineStage: fmt::Display + Debug + Sync + Send + Any {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `neuron_encoder` is never read
[INFO] [stdout]   --> src/caching/per_channel_stream_caches/sensory_channel_stream_caches.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub(crate) struct SensoryChannelStreamCaches {
[INFO] [stdout]    |                   -------------------------- field in this struct
[INFO] [stdout] 20 |     neuron_encoder: Box<dyn NeuronVoxelXYZPEncoder>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> src/caching/per_channel_stream_caches/sensory_channel_stream_caches.rs:68:12
[INFO] [stdout]     |
[INFO] [stdout]  25 | impl SensoryChannelStreamCaches {
[INFO] [stdout]     | ------------------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  68 |     pub fn number_of_channels(&self) -> CorticalChannelCount {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  80 |     pub fn verify_channel_exists(&self, channel_index: CorticalChannelIndex) -> Result<(), FeagiDataError> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  90 |     pub fn get_input_type(&self) -> WrappedIOType {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 109 |     pub fn try_get_channel_recent_preprocessed_value(&self, cortical_channel_index: CorticalChannelIndex) -> Result<&WrappedIOData,...
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 141 |     pub fn try_running_pipeline_runner_from_input_cache(&mut self, cortical_channel_index: CorticalChannelIndex, update_instant: In...
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 155 |     pub fn try_get_channel_update_instant(&self, cortical_channel_index: CorticalChannelIndex) -> Result<Instant, FeagiDataError> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 284 |     pub(crate) fn update_neuron_data_with_recently_updated_cached_sensor_data(&mut self, neuron_data: &mut CorticalMappedXYZPNeuron...
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `number_of_channels`, `verify_channel_exists`, `get_output_type`, `try_get_channel_last_processed_instant`, and `try_disconnect_to_data_processed_signal` are never used
[INFO] [stdout]    --> src/caching/per_channel_stream_caches/motor_channel_stream_caches.rs:49:12
[INFO] [stdout]     |
[INFO] [stdout]  18 | impl MotorChannelStreamCaches {
[INFO] [stdout]     | ----------------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  49 |     pub fn number_of_channels(&self) -> CorticalChannelCount {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  53 |     pub fn verify_channel_exists(&self, channel_index: CorticalChannelIndex) -> Result<(), FeagiDataError> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  58 |     pub fn get_output_type(&self) -> WrappedIOType {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  76 |     pub fn try_get_channel_last_processed_instant(&self, cortical_channel_index: CorticalChannelIndex) -> Result<Instant, FeagiData...
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 146 |     pub fn try_disconnect_to_data_processed_signal(&mut self, cortical_channel_index: CorticalChannelIndex, signal_index: FeagiSign...
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `write_neuron_data_multi_channel_from_processed_cache` is never used
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/coder_traits.rs:14:8
[INFO] [stdout]    |
[INFO] [stdout]  9 | pub trait NeuronVoxelXYZPEncoder: Debug + Sync + Send {
[INFO] [stdout]    |           ---------------------- method in this trait
[INFO] [stdout] ...
[INFO] [stdout] 14 |     fn write_neuron_data_multi_channel_from_processed_cache(&mut self, pipelines: &Vec<PipelineStageRunner>, time_of_previous_burst:...
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `WIDTH_GIVEN_POSITIVE_Z_ROW` is never used
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/decoders/percentage_1d_linear.rs:12:7
[INFO] [stdout]    |
[INFO] [stdout] 12 | const WIDTH_GIVEN_POSITIVE_Z_ROW: u32 = 1; // One row of neuron voxels along the Z represents 0 -> +1
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NUMBER_PAIRS_PER_CHANNEL` is never used
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/decoders/percentage_1d_linear.rs:13:7
[INFO] [stdout]    |
[INFO] [stdout] 13 | const NUMBER_PAIRS_PER_CHANNEL: u32 = 1; // How many numbers are encoded per channel?
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CHANNEL_WIDTH` is never used
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/decoders/percentage_1d_linear.rs:14:7
[INFO] [stdout]    |
[INFO] [stdout] 14 | const CHANNEL_WIDTH: u32 = WIDTH_GIVEN_POSITIVE_Z_ROW * NUMBER_PAIRS_PER_CHANNEL;
[INFO] [stdout]    |       ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PercentageLinearNeuronVoxelXYZPDecoder` is never constructed
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/decoders/percentage_1d_linear.rs:17:12
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub struct PercentageLinearNeuronVoxelXYZPDecoder {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new_box` is never used
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/decoders/percentage_1d_linear.rs:96:12
[INFO] [stdout]    |
[INFO] [stdout] 94 | impl PercentageLinearNeuronVoxelXYZPDecoder {
[INFO] [stdout]    | ------------------------------------------- associated function in this implementation
[INFO] [stdout] 95 |
[INFO] [stdout] 96 |     pub fn new_box(cortical_read_target: CorticalID, z_resolution: u32, number_channels: CorticalChannelCount) -> Result<Box<dyn Neu...
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `WIDTH_GIVEN_POSITIVE_Z_ROW` is never used
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/decoders/percentage_2d_linear.rs:12:7
[INFO] [stdout]    |
[INFO] [stdout] 12 | const WIDTH_GIVEN_POSITIVE_Z_ROW: u32 = 1; // One row of neuron voxels along the Z represents 0 -> +1
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NUMBER_PAIRS_PER_CHANNEL` is never used
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/decoders/percentage_2d_linear.rs:13:7
[INFO] [stdout]    |
[INFO] [stdout] 13 | const NUMBER_PAIRS_PER_CHANNEL: u32 = 2; // How many numbers are encoded per channel?
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CHANNEL_WIDTH` is never used
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/decoders/percentage_2d_linear.rs:14:7
[INFO] [stdout]    |
[INFO] [stdout] 14 | const CHANNEL_WIDTH: u32 = WIDTH_GIVEN_POSITIVE_Z_ROW * NUMBER_PAIRS_PER_CHANNEL;
[INFO] [stdout]    |       ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Percentage2DLinearNeuronVoxelXYZPDecoder` is never constructed
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/decoders/percentage_2d_linear.rs:17:12
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub struct Percentage2DLinearNeuronVoxelXYZPDecoder {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new_box` is never used
[INFO] [stdout]    --> src/neuron_voxel_coding/xyzp/decoders/percentage_2d_linear.rs:102:12
[INFO] [stdout]     |
[INFO] [stdout] 100 | impl Percentage2DLinearNeuronVoxelXYZPDecoder {
[INFO] [stdout]     | --------------------------------------------- associated function in this implementation
[INFO] [stdout] 101 |
[INFO] [stdout] 102 |     pub fn new_box(cortical_read_target: CorticalID, z_resolution: NeuronDepth, number_channels: CorticalChannelCount) -> Result<Bo...
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `WIDTH_GIVEN_POSITIVE_Z_ROW` is never used
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/decoders/percentage_3d_linear.rs:12:7
[INFO] [stdout]    |
[INFO] [stdout] 12 | const WIDTH_GIVEN_POSITIVE_Z_ROW: u32 = 1; // One row of neuron voxels along the Z represents 0 -> +1
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NUMBER_PAIRS_PER_CHANNEL` is never used
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/decoders/percentage_3d_linear.rs:13:7
[INFO] [stdout]    |
[INFO] [stdout] 13 | const NUMBER_PAIRS_PER_CHANNEL: u32 = 3; // How many numbers are encoded per channel?
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CHANNEL_WIDTH` is never used
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/decoders/percentage_3d_linear.rs:14:7
[INFO] [stdout]    |
[INFO] [stdout] 14 | const CHANNEL_WIDTH: u32 = WIDTH_GIVEN_POSITIVE_Z_ROW * NUMBER_PAIRS_PER_CHANNEL;
[INFO] [stdout]    |       ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Percentage3DLinearNeuronVoxelXYZPDecoder` is never constructed
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/decoders/percentage_3d_linear.rs:17:12
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub struct Percentage3DLinearNeuronVoxelXYZPDecoder {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new_box` is never used
[INFO] [stdout]    --> src/neuron_voxel_coding/xyzp/decoders/percentage_3d_linear.rs:106:12
[INFO] [stdout]     |
[INFO] [stdout] 104 | impl Percentage3DLinearNeuronVoxelXYZPDecoder {
[INFO] [stdout]     | --------------------------------------------- associated function in this implementation
[INFO] [stdout] 105 |
[INFO] [stdout] 106 |     pub fn new_box(cortical_read_target: CorticalID, z_resolution: NeuronDepth, number_channels: CorticalChannelCount) -> Result<Bo...
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `WIDTH_GIVEN_POSITIVE_Z_ROW` is never used
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/decoders/percentage_4d_linear.rs:12:7
[INFO] [stdout]    |
[INFO] [stdout] 12 | const WIDTH_GIVEN_POSITIVE_Z_ROW: u32 = 1; // One row of neuron voxels along the Z represents 0 -> +1
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NUMBER_PAIRS_PER_CHANNEL` is never used
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/decoders/percentage_4d_linear.rs:13:7
[INFO] [stdout]    |
[INFO] [stdout] 13 | const NUMBER_PAIRS_PER_CHANNEL: u32 = 4; // How many numbers are encoded per channel?
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CHANNEL_WIDTH` is never used
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/decoders/percentage_4d_linear.rs:14:7
[INFO] [stdout]    |
[INFO] [stdout] 14 | const CHANNEL_WIDTH: u32 = WIDTH_GIVEN_POSITIVE_Z_ROW * NUMBER_PAIRS_PER_CHANNEL;
[INFO] [stdout]    |       ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Percentage4DLinearNeuronVoxelXYZPDecoder` is never constructed
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/decoders/percentage_4d_linear.rs:17:12
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub struct Percentage4DLinearNeuronVoxelXYZPDecoder {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new_box` is never used
[INFO] [stdout]    --> src/neuron_voxel_coding/xyzp/decoders/percentage_4d_linear.rs:113:12
[INFO] [stdout]     |
[INFO] [stdout] 111 | impl Percentage4DLinearNeuronVoxelXYZPDecoder {
[INFO] [stdout]     | --------------------------------------------- associated function in this implementation
[INFO] [stdout] 112 |
[INFO] [stdout] 113 |     pub fn new_box(cortical_read_target: CorticalID, z_resolution: NeuronDepth, number_channels: CorticalChannelCount) -> Result<Bo...
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `WIDTH_GIVEN_POSITIVE_Z_ROW` is never used
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/decoders/percentage_1d_exponential.rs:12:7
[INFO] [stdout]    |
[INFO] [stdout] 12 | const WIDTH_GIVEN_POSITIVE_Z_ROW: u32 = 1; // One row of neuron voxels along the Z represents 0 -> +1
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NUMBER_PAIRS_PER_CHANNEL` is never used
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/decoders/percentage_1d_exponential.rs:13:7
[INFO] [stdout]    |
[INFO] [stdout] 13 | const NUMBER_PAIRS_PER_CHANNEL: u32 = 1; // How many numbers are encoded per channel?
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CHANNEL_WIDTH` is never used
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/decoders/percentage_1d_exponential.rs:14:7
[INFO] [stdout]    |
[INFO] [stdout] 14 | const CHANNEL_WIDTH: u32 = WIDTH_GIVEN_POSITIVE_Z_ROW * NUMBER_PAIRS_PER_CHANNEL;
[INFO] [stdout]    |       ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PercentageExponentialNeuronVoxelXYZPDecoder` is never constructed
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/decoders/percentage_1d_exponential.rs:17:12
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub struct PercentageExponentialNeuronVoxelXYZPDecoder {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new_box` is never used
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/decoders/percentage_1d_exponential.rs:93:12
[INFO] [stdout]    |
[INFO] [stdout] 91 | impl PercentageExponentialNeuronVoxelXYZPDecoder {
[INFO] [stdout]    | ------------------------------------------------ associated function in this implementation
[INFO] [stdout] 92 |
[INFO] [stdout] 93 |     pub fn new_box(cortical_read_target: CorticalID, z_resolution: u32, number_channels: CorticalChannelCount) -> Result<Box<dyn Neu...
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `WIDTH_GIVEN_POSITIVE_Z_ROW` is never used
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/decoders/percentage_2d_exponential.rs:12:7
[INFO] [stdout]    |
[INFO] [stdout] 12 | const WIDTH_GIVEN_POSITIVE_Z_ROW: u32 = 1; // One row of neuron voxels along the Z represents 0 -> +1
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NUMBER_PAIRS_PER_CHANNEL` is never used
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/decoders/percentage_2d_exponential.rs:13:7
[INFO] [stdout]    |
[INFO] [stdout] 13 | const NUMBER_PAIRS_PER_CHANNEL: u32 = 2; // How many numbers are encoded per channel?
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CHANNEL_WIDTH` is never used
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/decoders/percentage_2d_exponential.rs:14:7
[INFO] [stdout]    |
[INFO] [stdout] 14 | const CHANNEL_WIDTH: u32 = WIDTH_GIVEN_POSITIVE_Z_ROW * NUMBER_PAIRS_PER_CHANNEL;
[INFO] [stdout]    |       ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Percentage2DExponentialNeuronVoxelXYZPDecoder` is never constructed
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/decoders/percentage_2d_exponential.rs:17:12
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub struct Percentage2DExponentialNeuronVoxelXYZPDecoder {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new_box` is never used
[INFO] [stdout]    --> src/neuron_voxel_coding/xyzp/decoders/percentage_2d_exponential.rs:102:12
[INFO] [stdout]     |
[INFO] [stdout] 100 | impl Percentage2DExponentialNeuronVoxelXYZPDecoder {
[INFO] [stdout]     | -------------------------------------------------- associated function in this implementation
[INFO] [stdout] 101 |
[INFO] [stdout] 102 |     pub fn new_box(cortical_read_target: CorticalID, z_resolution: NeuronDepth, number_channels: CorticalChannelCount) -> Result<Bo...
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `WIDTH_GIVEN_POSITIVE_Z_ROW` is never used
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/decoders/percentage_3d_exponential.rs:12:7
[INFO] [stdout]    |
[INFO] [stdout] 12 | const WIDTH_GIVEN_POSITIVE_Z_ROW: u32 = 1; // One row of neuron voxels along the Z represents 0 -> +1
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NUMBER_PAIRS_PER_CHANNEL` is never used
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/decoders/percentage_3d_exponential.rs:13:7
[INFO] [stdout]    |
[INFO] [stdout] 13 | const NUMBER_PAIRS_PER_CHANNEL: u32 = 3; // How many numbers are encoded per channel?
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CHANNEL_WIDTH` is never used
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/decoders/percentage_3d_exponential.rs:14:7
[INFO] [stdout]    |
[INFO] [stdout] 14 | const CHANNEL_WIDTH: u32 = WIDTH_GIVEN_POSITIVE_Z_ROW * NUMBER_PAIRS_PER_CHANNEL;
[INFO] [stdout]    |       ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Percentage3DExponentialNeuronVoxelXYZPDecoder` is never constructed
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/decoders/percentage_3d_exponential.rs:17:12
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub struct Percentage3DExponentialNeuronVoxelXYZPDecoder {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new_box` is never used
[INFO] [stdout]    --> src/neuron_voxel_coding/xyzp/decoders/percentage_3d_exponential.rs:104:12
[INFO] [stdout]     |
[INFO] [stdout] 102 | impl Percentage3DExponentialNeuronVoxelXYZPDecoder {
[INFO] [stdout]     | -------------------------------------------------- associated function in this implementation
[INFO] [stdout] 103 |
[INFO] [stdout] 104 |     pub fn new_box(cortical_read_target: CorticalID, z_resolution: NeuronDepth, number_channels: CorticalChannelCount) -> Result<Bo...
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `WIDTH_GIVEN_POSITIVE_Z_ROW` is never used
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/decoders/percentage_4d_exponential.rs:12:7
[INFO] [stdout]    |
[INFO] [stdout] 12 | const WIDTH_GIVEN_POSITIVE_Z_ROW: u32 = 1; // One row of neuron voxels along the Z represents 0 -> +1
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NUMBER_PAIRS_PER_CHANNEL` is never used
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/decoders/percentage_4d_exponential.rs:13:7
[INFO] [stdout]    |
[INFO] [stdout] 13 | const NUMBER_PAIRS_PER_CHANNEL: u32 = 4; // How many numbers are encoded per channel?
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CHANNEL_WIDTH` is never used
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/decoders/percentage_4d_exponential.rs:14:7
[INFO] [stdout]    |
[INFO] [stdout] 14 | const CHANNEL_WIDTH: u32 = WIDTH_GIVEN_POSITIVE_Z_ROW * NUMBER_PAIRS_PER_CHANNEL;
[INFO] [stdout]    |       ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Percentage4DExponentialNeuronVoxelXYZPDecoder` is never constructed
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/decoders/percentage_4d_exponential.rs:17:12
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub struct Percentage4DExponentialNeuronVoxelXYZPDecoder {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new_box` is never used
[INFO] [stdout]    --> src/neuron_voxel_coding/xyzp/decoders/percentage_4d_exponential.rs:108:12
[INFO] [stdout]     |
[INFO] [stdout] 106 | impl Percentage4DExponentialNeuronVoxelXYZPDecoder {
[INFO] [stdout]     | -------------------------------------------------- associated function in this implementation
[INFO] [stdout] 107 |
[INFO] [stdout] 108 |     pub fn new_box(cortical_read_target: CorticalID, z_resolution: NeuronDepth, number_channels: CorticalChannelCount) -> Result<Bo...
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `WIDTH_GIVEN_POSITIVE_Z_ROW` is never used
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/decoders/signed_percentage_2d_linear.rs:12:7
[INFO] [stdout]    |
[INFO] [stdout] 12 | const WIDTH_GIVEN_POSITIVE_Z_ROW: u32 = 1; // One row of neuron voxels along the Z represents 0 -> +1
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NUMBER_PAIRS_PER_CHANNEL` is never used
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/decoders/signed_percentage_2d_linear.rs:13:7
[INFO] [stdout]    |
[INFO] [stdout] 13 | const NUMBER_PAIRS_PER_CHANNEL: u32 = 2; // How many numbers are encoded per channel?
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CHANNEL_WIDTH` is never used
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/decoders/signed_percentage_2d_linear.rs:14:7
[INFO] [stdout]    |
[INFO] [stdout] 14 | const CHANNEL_WIDTH: u32 = WIDTH_GIVEN_POSITIVE_Z_ROW * NUMBER_PAIRS_PER_CHANNEL;
[INFO] [stdout]    |       ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SignedPercentage2DLinearNeuronVoxelXYZPDecoder` is never constructed
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/decoders/signed_percentage_2d_linear.rs:17:12
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub struct SignedPercentage2DLinearNeuronVoxelXYZPDecoder {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new_box` is never used
[INFO] [stdout]    --> src/neuron_voxel_coding/xyzp/decoders/signed_percentage_2d_linear.rs:115:12
[INFO] [stdout]     |
[INFO] [stdout] 113 | impl SignedPercentage2DLinearNeuronVoxelXYZPDecoder {
[INFO] [stdout]     | --------------------------------------------------- associated function in this implementation
[INFO] [stdout] 114 |
[INFO] [stdout] 115 |     pub fn new_box(cortical_read_target: CorticalID, z_resolution: NeuronDepth, number_channels: CorticalChannelCount) -> Result<Bo...
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `WIDTH_GIVEN_POSITIVE_Z_ROW` is never used
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/decoders/signed_percentage_3d_linear.rs:12:7
[INFO] [stdout]    |
[INFO] [stdout] 12 | const WIDTH_GIVEN_POSITIVE_Z_ROW: u32 = 1; // One row of neuron voxels along the Z represents 0 -> +1
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NUMBER_PAIRS_PER_CHANNEL` is never used
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/decoders/signed_percentage_3d_linear.rs:13:7
[INFO] [stdout]    |
[INFO] [stdout] 13 | const NUMBER_PAIRS_PER_CHANNEL: u32 = 3; // How many numbers are encoded per channel?
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CHANNEL_WIDTH` is never used
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/decoders/signed_percentage_3d_linear.rs:14:7
[INFO] [stdout]    |
[INFO] [stdout] 14 | const CHANNEL_WIDTH: u32 = WIDTH_GIVEN_POSITIVE_Z_ROW * NUMBER_PAIRS_PER_CHANNEL;
[INFO] [stdout]    |       ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SignedPercentage3DLinearNeuronVoxelXYZPDecoder` is never constructed
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/decoders/signed_percentage_3d_linear.rs:17:12
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub struct SignedPercentage3DLinearNeuronVoxelXYZPDecoder {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new_box` is never used
[INFO] [stdout]    --> src/neuron_voxel_coding/xyzp/decoders/signed_percentage_3d_linear.rs:121:12
[INFO] [stdout]     |
[INFO] [stdout] 119 | impl SignedPercentage3DLinearNeuronVoxelXYZPDecoder {
[INFO] [stdout]     | --------------------------------------------------- associated function in this implementation
[INFO] [stdout] 120 |
[INFO] [stdout] 121 |     pub fn new_box(cortical_read_target: CorticalID, z_resolution: NeuronDepth, number_channels: CorticalChannelCount) -> Result<Bo...
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `WIDTH_GIVEN_POSITIVE_Z_ROW` is never used
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/decoders/signed_percentage_4d_linear.rs:12:7
[INFO] [stdout]    |
[INFO] [stdout] 12 | const WIDTH_GIVEN_POSITIVE_Z_ROW: u32 = 1; // One row of neuron voxels along the Z represents 0 -> +1
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NUMBER_PAIRS_PER_CHANNEL` is never used
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/decoders/signed_percentage_4d_linear.rs:13:7
[INFO] [stdout]    |
[INFO] [stdout] 13 | const NUMBER_PAIRS_PER_CHANNEL: u32 = 4; // How many numbers are encoded per channel?
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CHANNEL_WIDTH` is never used
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/decoders/signed_percentage_4d_linear.rs:14:7
[INFO] [stdout]    |
[INFO] [stdout] 14 | const CHANNEL_WIDTH: u32 = WIDTH_GIVEN_POSITIVE_Z_ROW * NUMBER_PAIRS_PER_CHANNEL;
[INFO] [stdout]    |       ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SignedPercentage4DLinearNeuronVoxelXYZPDecoder` is never constructed
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/decoders/signed_percentage_4d_linear.rs:17:12
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub struct SignedPercentage4DLinearNeuronVoxelXYZPDecoder {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new_box` is never used
[INFO] [stdout]    --> src/neuron_voxel_coding/xyzp/decoders/signed_percentage_4d_linear.rs:126:12
[INFO] [stdout]     |
[INFO] [stdout] 124 | impl SignedPercentage4DLinearNeuronVoxelXYZPDecoder {
[INFO] [stdout]     | --------------------------------------------------- associated function in this implementation
[INFO] [stdout] 125 |
[INFO] [stdout] 126 |     pub fn new_box(cortical_read_target: CorticalID, z_resolution: NeuronDepth, number_channels: CorticalChannelCount) -> Result<Bo...
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `WIDTH_GIVEN_POSITIVE_Z_ROW` is never used
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/decoders/signed_percentage_2d_exponential.rs:12:7
[INFO] [stdout]    |
[INFO] [stdout] 12 | const WIDTH_GIVEN_POSITIVE_Z_ROW: u32 = 1; // One row of neuron voxels along the Z represents 0 -> +1
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NUMBER_PAIRS_PER_CHANNEL` is never used
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/decoders/signed_percentage_2d_exponential.rs:13:7
[INFO] [stdout]    |
[INFO] [stdout] 13 | const NUMBER_PAIRS_PER_CHANNEL: u32 = 2; // How many numbers are encoded per channel?
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CHANNEL_WIDTH` is never used
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/decoders/signed_percentage_2d_exponential.rs:14:7
[INFO] [stdout]    |
[INFO] [stdout] 14 | const CHANNEL_WIDTH: u32 = WIDTH_GIVEN_POSITIVE_Z_ROW * NUMBER_PAIRS_PER_CHANNEL;
[INFO] [stdout]    |       ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SignedPercentage2DExponentialNeuronVoxelXYZPDecoder` is never constructed
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/decoders/signed_percentage_2d_exponential.rs:17:12
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub struct SignedPercentage2DExponentialNeuronVoxelXYZPDecoder {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new_box` is never used
[INFO] [stdout]    --> src/neuron_voxel_coding/xyzp/decoders/signed_percentage_2d_exponential.rs:115:12
[INFO] [stdout]     |
[INFO] [stdout] 113 | impl SignedPercentage2DExponentialNeuronVoxelXYZPDecoder {
[INFO] [stdout]     | -------------------------------------------------------- associated function in this implementation
[INFO] [stdout] 114 |
[INFO] [stdout] 115 |     pub fn new_box(cortical_read_target: CorticalID, z_resolution: NeuronDepth, number_channels: CorticalChannelCount) -> Result<Bo...
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `WIDTH_GIVEN_POSITIVE_Z_ROW` is never used
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/decoders/signed_percentage_3d_exponential.rs:12:7
[INFO] [stdout]    |
[INFO] [stdout] 12 | const WIDTH_GIVEN_POSITIVE_Z_ROW: u32 = 1; // One row of neuron voxels along the Z represents 0 -> +1
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NUMBER_PAIRS_PER_CHANNEL` is never used
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/decoders/signed_percentage_3d_exponential.rs:13:7
[INFO] [stdout]    |
[INFO] [stdout] 13 | const NUMBER_PAIRS_PER_CHANNEL: u32 = 3; // How many numbers are encoded per channel?
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CHANNEL_WIDTH` is never used
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/decoders/signed_percentage_3d_exponential.rs:14:7
[INFO] [stdout]    |
[INFO] [stdout] 14 | const CHANNEL_WIDTH: u32 = WIDTH_GIVEN_POSITIVE_Z_ROW * NUMBER_PAIRS_PER_CHANNEL;
[INFO] [stdout]    |       ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SignedPercentage3DExponentialNeuronVoxelXYZPDecoder` is never constructed
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/decoders/signed_percentage_3d_exponential.rs:17:12
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub struct SignedPercentage3DExponentialNeuronVoxelXYZPDecoder {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new_box` is never used
[INFO] [stdout]    --> src/neuron_voxel_coding/xyzp/decoders/signed_percentage_3d_exponential.rs:121:12
[INFO] [stdout]     |
[INFO] [stdout] 119 | impl SignedPercentage3DExponentialNeuronVoxelXYZPDecoder {
[INFO] [stdout]     | -------------------------------------------------------- associated function in this implementation
[INFO] [stdout] 120 |
[INFO] [stdout] 121 |     pub fn new_box(cortical_read_target: CorticalID, z_resolution: NeuronDepth, number_channels: CorticalChannelCount) -> Result<Bo...
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `WIDTH_GIVEN_POSITIVE_Z_ROW` is never used
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/decoders/signed_percentage_4d_exponential.rs:12:7
[INFO] [stdout]    |
[INFO] [stdout] 12 | const WIDTH_GIVEN_POSITIVE_Z_ROW: u32 = 1; // One row of neuron voxels along the Z represents 0 -> +1
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NUMBER_PAIRS_PER_CHANNEL` is never used
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/decoders/signed_percentage_4d_exponential.rs:13:7
[INFO] [stdout]    |
[INFO] [stdout] 13 | const NUMBER_PAIRS_PER_CHANNEL: u32 = 4; // How many numbers are encoded per channel?
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CHANNEL_WIDTH` is never used
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/decoders/signed_percentage_4d_exponential.rs:14:7
[INFO] [stdout]    |
[INFO] [stdout] 14 | const CHANNEL_WIDTH: u32 = WIDTH_GIVEN_POSITIVE_Z_ROW * NUMBER_PAIRS_PER_CHANNEL;
[INFO] [stdout]    |       ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SignedPercentage4DExponentialNeuronVoxelXYZPDecoder` is never constructed
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/decoders/signed_percentage_4d_exponential.rs:17:12
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub struct SignedPercentage4DExponentialNeuronVoxelXYZPDecoder {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new_box` is never used
[INFO] [stdout]    --> src/neuron_voxel_coding/xyzp/decoders/signed_percentage_4d_exponential.rs:126:12
[INFO] [stdout]     |
[INFO] [stdout] 124 | impl SignedPercentage4DExponentialNeuronVoxelXYZPDecoder {
[INFO] [stdout]     | -------------------------------------------------------- associated function in this implementation
[INFO] [stdout] 125 |
[INFO] [stdout] 126 |     pub fn new_box(cortical_read_target: CorticalID, z_resolution: NeuronDepth, number_channels: CorticalChannelCount) -> Result<Bo...
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `cortical_write_target` and `scratch_space` are never read
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/encoders/misc_data.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub struct MiscDataNeuronVoxelXYZPEncoder {
[INFO] [stdout]    |            ------------------------------ fields in this struct
[INFO] [stdout] 15 |     misc_data_dimensions: MiscDataDimensions,
[INFO] [stdout] 16 |     cortical_write_target: CorticalID,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 17 |     scratch_space: Vec<NeuronVoxelXYZPArrays>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `MiscDataNeuronVoxelXYZPEncoder` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `cortical_write_target` and `scratch_space` are never read
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/encoders/cartesian_plane.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub struct CartesianPlaneNeuronVoxelXYZPEncoder {
[INFO] [stdout]    |            ------------------------------------ fields in this struct
[INFO] [stdout] 15 |     image_properties: ImageFrameProperties,
[INFO] [stdout] 16 |     cortical_write_target: CorticalID,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 17 |     scratch_space: Vec<NeuronVoxelXYZPArrays>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `CartesianPlaneNeuronVoxelXYZPEncoder` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `cortical_write_targets` and `neuron_scratch_spaces` are never read
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/encoders/segmented_image_frame.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub struct SegmentedImageFrameNeuronVoxelXYZPEncoder {
[INFO] [stdout]    |            ----------------------------------------- fields in this struct
[INFO] [stdout] 16 |     segmented_image_properties: SegmentedImageFrameProperties,
[INFO] [stdout] 17 |     cortical_write_targets: [CorticalID; 9],
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 18 |     neuron_scratch_spaces: Vec<[NeuronVoxelXYZPArrays; 9]>, //channel index {segment index }
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `SegmentedImageFrameNeuronVoxelXYZPEncoder` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `channel_dimensions`, `cortical_write_target`, and `scratch_space` are never read
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/encoders/percentage_1d_exponential.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub struct PercentageExponentialNeuronVoxelXYZPEncoder {
[INFO] [stdout]    |            ------------------------------------------- fields in this struct
[INFO] [stdout] 18 |     channel_dimensions: CorticalChannelDimensions,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 19 |     cortical_write_target: CorticalID,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 20 |     scratch_space: Vec<Vec<u32>>, // # channels long
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `PercentageExponentialNeuronVoxelXYZPEncoder` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `channel_dimensions`, `cortical_write_target`, and `scratch_space` are never read
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/encoders/percentage_1d_linear.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub struct PercentageLinearNeuronVoxelXYZPEncoder {
[INFO] [stdout]    |            -------------------------------------- fields in this struct
[INFO] [stdout] 18 |     channel_dimensions: CorticalChannelDimensions,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 19 |     cortical_write_target: CorticalID,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 20 |     scratch_space: Vec<Vec<u32>>, // # channels long
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `PercentageLinearNeuronVoxelXYZPEncoder` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NUMBER_PAIRS_PER_CHANNEL` is never used
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/encoders/percentage_2d_exponential.rs:13:7
[INFO] [stdout]    |
[INFO] [stdout] 13 | const NUMBER_PAIRS_PER_CHANNEL: u32 = 2; // How many numbers are encoded per channel?
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CHANNEL_WIDTH` is never used
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/encoders/percentage_2d_exponential.rs:14:7
[INFO] [stdout]    |
[INFO] [stdout] 14 | const CHANNEL_WIDTH: u32 = NUMBER_PAIRS_PER_CHANNEL * 1;
[INFO] [stdout]    |       ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Percentage2DExponentialNeuronVoxelXYZPEncoder` is never constructed
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/encoders/percentage_2d_exponential.rs:17:12
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub struct Percentage2DExponentialNeuronVoxelXYZPEncoder {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new_box` is never used
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/encoders/percentage_2d_exponential.rs:69:12
[INFO] [stdout]    |
[INFO] [stdout] 68 | impl Percentage2DExponentialNeuronVoxelXYZPEncoder {
[INFO] [stdout]    | -------------------------------------------------- associated function in this implementation
[INFO] [stdout] 69 |     pub fn new_box(cortical_write_target: CorticalID, z_resolution: NeuronDepth, number_channels: CorticalChannelCount) -> Result<Bo...
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NUMBER_PAIRS_PER_CHANNEL` is never used
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/encoders/percentage_2d_linear.rs:13:7
[INFO] [stdout]    |
[INFO] [stdout] 13 | const NUMBER_PAIRS_PER_CHANNEL: u32 = 2; // How many numbers are encoded per channel?
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CHANNEL_WIDTH` is never used
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/encoders/percentage_2d_linear.rs:14:7
[INFO] [stdout]    |
[INFO] [stdout] 14 | const CHANNEL_WIDTH: u32 = NUMBER_PAIRS_PER_CHANNEL * 1;
[INFO] [stdout]    |       ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Percentage2DLinearNeuronVoxelXYZPEncoder` is never constructed
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/encoders/percentage_2d_linear.rs:17:12
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub struct Percentage2DLinearNeuronVoxelXYZPEncoder {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new_box` is never used
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/encoders/percentage_2d_linear.rs:71:12
[INFO] [stdout]    |
[INFO] [stdout] 70 | impl Percentage2DLinearNeuronVoxelXYZPEncoder {
[INFO] [stdout]    | --------------------------------------------- associated function in this implementation
[INFO] [stdout] 71 |     pub fn new_box(cortical_write_target: CorticalID, z_resolution: NeuronDepth, number_channels: CorticalChannelCount) -> Result<Bo...
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `channel_dimensions`, `cortical_write_target`, and `scratch_space` are never read
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/encoders/percentage_3d_exponential.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub struct Percentage3DExponentialNeuronVoxelXYZPEncoder {
[INFO] [stdout]    |            --------------------------------------------- fields in this struct
[INFO] [stdout] 18 |     channel_dimensions: CorticalChannelDimensions,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 19 |     cortical_write_target: CorticalID,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 20 |     scratch_space: Vec<(Vec<u32>, Vec<u32>, Vec<u32>)>, // # channels long
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Percentage3DExponentialNeuronVoxelXYZPEncoder` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `channel_dimensions`, `cortical_write_target`, and `scratch_space` are never read
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/encoders/percentage_3d_linear.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub struct Percentage3DLinearNeuronVoxelXYZPEncoder {
[INFO] [stdout]    |            ---------------------------------------- fields in this struct
[INFO] [stdout] 18 |     channel_dimensions: CorticalChannelDimensions,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 19 |     cortical_write_target: CorticalID,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 20 |     scratch_space: Vec<(Vec<u32>, Vec<u32>, Vec<u32>)>, // # channels long
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Percentage3DLinearNeuronVoxelXYZPEncoder` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NUMBER_PAIRS_PER_CHANNEL` is never used
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/encoders/percentage_4d_exponential.rs:13:7
[INFO] [stdout]    |
[INFO] [stdout] 13 | const NUMBER_PAIRS_PER_CHANNEL: u32 = 4; // How many numbers are encoded per channel?
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CHANNEL_WIDTH` is never used
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/encoders/percentage_4d_exponential.rs:14:7
[INFO] [stdout]    |
[INFO] [stdout] 14 | const CHANNEL_WIDTH: u32 = NUMBER_PAIRS_PER_CHANNEL * 1;
[INFO] [stdout]    |       ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Percentage4DExponentialNeuronVoxelXYZPEncoder` is never constructed
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/encoders/percentage_4d_exponential.rs:17:12
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub struct Percentage4DExponentialNeuronVoxelXYZPEncoder {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new_box` is never used
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/encoders/percentage_4d_exponential.rs:77:12
[INFO] [stdout]    |
[INFO] [stdout] 76 | impl Percentage4DExponentialNeuronVoxelXYZPEncoder {
[INFO] [stdout]    | -------------------------------------------------- associated function in this implementation
[INFO] [stdout] 77 |     pub fn new_box(cortical_write_target: CorticalID, z_resolution: NeuronDepth, number_channels: CorticalChannelCount) -> Result<Bo...
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NUMBER_PAIRS_PER_CHANNEL` is never used
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/encoders/percentage_4d_linear.rs:13:7
[INFO] [stdout]    |
[INFO] [stdout] 13 | const NUMBER_PAIRS_PER_CHANNEL: u32 = 4; // How many numbers are encoded per channel?
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CHANNEL_WIDTH` is never used
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/encoders/percentage_4d_linear.rs:14:7
[INFO] [stdout]    |
[INFO] [stdout] 14 | const CHANNEL_WIDTH: u32 = NUMBER_PAIRS_PER_CHANNEL * 1;
[INFO] [stdout]    |       ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Percentage4DLinearNeuronVoxelXYZPEncoder` is never constructed
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/encoders/percentage_4d_linear.rs:17:12
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub struct Percentage4DLinearNeuronVoxelXYZPEncoder {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new_box` is never used
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/encoders/percentage_4d_linear.rs:79:12
[INFO] [stdout]    |
[INFO] [stdout] 78 | impl Percentage4DLinearNeuronVoxelXYZPEncoder {
[INFO] [stdout]    | --------------------------------------------- associated function in this implementation
[INFO] [stdout] 79 |     pub fn new_box(cortical_write_target: CorticalID, z_resolution: NeuronDepth, number_channels: CorticalChannelCount) -> Result<Bo...
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `SegmentedImageFrame`
[INFO] [stdout]  --> tests/tests_connector_end_to_end.rs:4:52
[INFO] [stdout]   |
[INFO] [stdout] 4 | use feagi_connector_core::data_types::{ImageFrame, SegmentedImageFrame};
[INFO] [stdout]   |                                                    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NUMBER_PAIRS_PER_CHANNEL` is never used
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/encoders/signed_percentage_1d_linear.rs:13:7
[INFO] [stdout]    |
[INFO] [stdout] 13 | const NUMBER_PAIRS_PER_CHANNEL: u32 = 1; // How many numbers are encoded per channel?
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `WIDTH_GIVEN_POSITIVE_Z_ROW` is never used
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/encoders/signed_percentage_1d_linear.rs:14:7
[INFO] [stdout]    |
[INFO] [stdout] 14 | const WIDTH_GIVEN_POSITIVE_Z_ROW: u32 = 1; // One row of neuron voxels along the Z represents 0 -> +1
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `WIDTH_GIVEN_NEGATIVE_Z_ROW` is never used
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/encoders/signed_percentage_1d_linear.rs:15:7
[INFO] [stdout]    |
[INFO] [stdout] 15 | const WIDTH_GIVEN_NEGATIVE_Z_ROW: u32 = 1; // One row of neuron voxels along the Z represents 0 -> -1
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CHANNEL_WIDTH` is never used
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/encoders/signed_percentage_1d_linear.rs:16:7
[INFO] [stdout]    |
[INFO] [stdout] 16 | const CHANNEL_WIDTH: u32 = NUMBER_PAIRS_PER_CHANNEL * (WIDTH_GIVEN_POSITIVE_Z_ROW + WIDTH_GIVEN_NEGATIVE_Z_ROW);
[INFO] [stdout]    |       ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SignedPercentage1DLinearNeuronVoxelXYZPEncoder` is never constructed
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/encoders/signed_percentage_1d_linear.rs:19:12
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub struct SignedPercentage1DLinearNeuronVoxelXYZPEncoder {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new_box` is never used
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/encoders/signed_percentage_1d_linear.rs:75:12
[INFO] [stdout]    |
[INFO] [stdout] 74 | impl SignedPercentage1DLinearNeuronVoxelXYZPEncoder {
[INFO] [stdout]    | --------------------------------------------------- associated function in this implementation
[INFO] [stdout] 75 |     pub fn new_box(cortical_write_target: CorticalID, z_resolution: NeuronDepth, number_channels: CorticalChannelCount) -> Result<Bo...
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NUMBER_PAIRS_PER_CHANNEL` is never used
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/encoders/signed_percentage_1d_exponential.rs:13:7
[INFO] [stdout]    |
[INFO] [stdout] 13 | const NUMBER_PAIRS_PER_CHANNEL: u32 = 1; // How many numbers are encoded per channel?
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `WIDTH_GIVEN_POSITIVE_Z_ROW` is never used
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/encoders/signed_percentage_1d_exponential.rs:14:7
[INFO] [stdout]    |
[INFO] [stdout] 14 | const WIDTH_GIVEN_POSITIVE_Z_ROW: u32 = 1; // One row of neuron voxels along the Z represents 0 -> +1
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `WIDTH_GIVEN_NEGATIVE_Z_ROW` is never used
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/encoders/signed_percentage_1d_exponential.rs:15:7
[INFO] [stdout]    |
[INFO] [stdout] 15 | const WIDTH_GIVEN_NEGATIVE_Z_ROW: u32 = 1; // One row of neuron voxels along the Z represents 0 -> -1
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CHANNEL_WIDTH` is never used
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/encoders/signed_percentage_1d_exponential.rs:16:7
[INFO] [stdout]    |
[INFO] [stdout] 16 | const CHANNEL_WIDTH: u32 = NUMBER_PAIRS_PER_CHANNEL * (WIDTH_GIVEN_POSITIVE_Z_ROW + WIDTH_GIVEN_NEGATIVE_Z_ROW);
[INFO] [stdout]    |       ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SignedPercentage1DExponentialNeuronVoxelXYZPEncoder` is never constructed
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/encoders/signed_percentage_1d_exponential.rs:19:12
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub struct SignedPercentage1DExponentialNeuronVoxelXYZPEncoder {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new_box` is never used
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/encoders/signed_percentage_1d_exponential.rs:73:12
[INFO] [stdout]    |
[INFO] [stdout] 72 | impl SignedPercentage1DExponentialNeuronVoxelXYZPEncoder {
[INFO] [stdout]    | -------------------------------------------------------- associated function in this implementation
[INFO] [stdout] 73 |     pub fn new_box(cortical_write_target: CorticalID, z_resolution: NeuronDepth, number_channels: CorticalChannelCount) -> Result<Bo...
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NUMBER_PAIRS_PER_CHANNEL` is never used
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/encoders/signed_percentage_2d_linear.rs:13:7
[INFO] [stdout]    |
[INFO] [stdout] 13 | const NUMBER_PAIRS_PER_CHANNEL: u32 = 2; // How many numbers are encoded per channel?
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `WIDTH_GIVEN_POSITIVE_Z_ROW` is never used
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/encoders/signed_percentage_2d_linear.rs:14:7
[INFO] [stdout]    |
[INFO] [stdout] 14 | const WIDTH_GIVEN_POSITIVE_Z_ROW: u32 = 1; // One row of neuron voxels along the Z represents 0 -> +1
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `WIDTH_GIVEN_NEGATIVE_Z_ROW` is never used
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/encoders/signed_percentage_2d_linear.rs:15:7
[INFO] [stdout]    |
[INFO] [stdout] 15 | const WIDTH_GIVEN_NEGATIVE_Z_ROW: u32 = 1; // One row of neuron voxels along the Z represents 0 -> -1
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CHANNEL_WIDTH` is never used
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/encoders/signed_percentage_2d_linear.rs:16:7
[INFO] [stdout]    |
[INFO] [stdout] 16 | const CHANNEL_WIDTH: u32 = NUMBER_PAIRS_PER_CHANNEL * (WIDTH_GIVEN_POSITIVE_Z_ROW + WIDTH_GIVEN_NEGATIVE_Z_ROW);
[INFO] [stdout]    |       ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SignedPercentage2DLinearNeuronVoxelXYZPEncoder` is never constructed
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/encoders/signed_percentage_2d_linear.rs:19:12
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub struct SignedPercentage2DLinearNeuronVoxelXYZPEncoder {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new_box` is never used
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/encoders/signed_percentage_2d_linear.rs:84:12
[INFO] [stdout]    |
[INFO] [stdout] 83 | impl SignedPercentage2DLinearNeuronVoxelXYZPEncoder {
[INFO] [stdout]    | --------------------------------------------------- associated function in this implementation
[INFO] [stdout] 84 |     pub fn new_box(cortical_write_target: CorticalID, z_resolution: NeuronDepth, number_channels: CorticalChannelCount) -> Result<Bo...
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NUMBER_PAIRS_PER_CHANNEL` is never used
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/encoders/signed_percentage_2d_exponential.rs:13:7
[INFO] [stdout]    |
[INFO] [stdout] 13 | const NUMBER_PAIRS_PER_CHANNEL: u32 = 2; // How many numbers are encoded per channel?
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `WIDTH_GIVEN_POSITIVE_Z_ROW` is never used
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/encoders/signed_percentage_2d_exponential.rs:14:7
[INFO] [stdout]    |
[INFO] [stdout] 14 | const WIDTH_GIVEN_POSITIVE_Z_ROW: u32 = 1; // One row of neuron voxels along the Z represents 0 -> +1
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `WIDTH_GIVEN_NEGATIVE_Z_ROW` is never used
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/encoders/signed_percentage_2d_exponential.rs:15:7
[INFO] [stdout]    |
[INFO] [stdout] 15 | const WIDTH_GIVEN_NEGATIVE_Z_ROW: u32 = 1; // One row of neuron voxels along the Z represents 0 -> -1
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CHANNEL_WIDTH` is never used
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/encoders/signed_percentage_2d_exponential.rs:16:7
[INFO] [stdout]    |
[INFO] [stdout] 16 | const CHANNEL_WIDTH: u32 = NUMBER_PAIRS_PER_CHANNEL * (WIDTH_GIVEN_POSITIVE_Z_ROW + WIDTH_GIVEN_NEGATIVE_Z_ROW);
[INFO] [stdout]    |       ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SignedPercentage2DExponentialNeuronVoxelXYZPEncoder` is never constructed
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/encoders/signed_percentage_2d_exponential.rs:19:12
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub struct SignedPercentage2DExponentialNeuronVoxelXYZPEncoder {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new_box` is never used
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/encoders/signed_percentage_2d_exponential.rs:82:12
[INFO] [stdout]    |
[INFO] [stdout] 81 | impl SignedPercentage2DExponentialNeuronVoxelXYZPEncoder {
[INFO] [stdout]    | -------------------------------------------------------- associated function in this implementation
[INFO] [stdout] 82 |     pub fn new_box(cortical_write_target: CorticalID, z_resolution: NeuronDepth, number_channels: CorticalChannelCount) -> Result<Bo...
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NUMBER_PAIRS_PER_CHANNEL` is never used
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/encoders/signed_percentage_3d_linear.rs:13:7
[INFO] [stdout]    |
[INFO] [stdout] 13 | const NUMBER_PAIRS_PER_CHANNEL: u32 = 3; // How many numbers are encoded per channel?
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `WIDTH_GIVEN_POSITIVE_Z_ROW` is never used
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/encoders/signed_percentage_3d_linear.rs:14:7
[INFO] [stdout]    |
[INFO] [stdout] 14 | const WIDTH_GIVEN_POSITIVE_Z_ROW: u32 = 1; // One row of neuron voxels along the Z represents 0 -> +1
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `WIDTH_GIVEN_NEGATIVE_Z_ROW` is never used
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/encoders/signed_percentage_3d_linear.rs:15:7
[INFO] [stdout]    |
[INFO] [stdout] 15 | const WIDTH_GIVEN_NEGATIVE_Z_ROW: u32 = 1; // One row of neuron voxels along the Z represents 0 -> -1
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CHANNEL_WIDTH` is never used
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/encoders/signed_percentage_3d_linear.rs:16:7
[INFO] [stdout]    |
[INFO] [stdout] 16 | const CHANNEL_WIDTH: u32 = NUMBER_PAIRS_PER_CHANNEL * (WIDTH_GIVEN_POSITIVE_Z_ROW + WIDTH_GIVEN_NEGATIVE_Z_ROW);
[INFO] [stdout]    |       ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SignedPercentage3DLinearNeuronVoxelXYZPEncoder` is never constructed
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/encoders/signed_percentage_3d_linear.rs:19:12
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub struct SignedPercentage3DLinearNeuronVoxelXYZPEncoder {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new_box` is never used
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/encoders/signed_percentage_3d_linear.rs:93:12
[INFO] [stdout]    |
[INFO] [stdout] 92 | impl SignedPercentage3DLinearNeuronVoxelXYZPEncoder {
[INFO] [stdout]    | --------------------------------------------------- associated function in this implementation
[INFO] [stdout] 93 |     pub fn new_box(cortical_write_target: CorticalID, z_resolution: NeuronDepth, number_channels: CorticalChannelCount) -> Result<Bo...
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NUMBER_PAIRS_PER_CHANNEL` is never used
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/encoders/signed_percentage_3d_exponential.rs:13:7
[INFO] [stdout]    |
[INFO] [stdout] 13 | const NUMBER_PAIRS_PER_CHANNEL: u32 = 3; // How many numbers are encoded per channel?
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `WIDTH_GIVEN_POSITIVE_Z_ROW` is never used
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/encoders/signed_percentage_3d_exponential.rs:14:7
[INFO] [stdout]    |
[INFO] [stdout] 14 | const WIDTH_GIVEN_POSITIVE_Z_ROW: u32 = 1; // One row of neuron voxels along the Z represents 0 -> +1
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `WIDTH_GIVEN_NEGATIVE_Z_ROW` is never used
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/encoders/signed_percentage_3d_exponential.rs:15:7
[INFO] [stdout]    |
[INFO] [stdout] 15 | const WIDTH_GIVEN_NEGATIVE_Z_ROW: u32 = 1; // One row of neuron voxels along the Z represents 0 -> -1
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CHANNEL_WIDTH` is never used
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/encoders/signed_percentage_3d_exponential.rs:16:7
[INFO] [stdout]    |
[INFO] [stdout] 16 | const CHANNEL_WIDTH: u32 = NUMBER_PAIRS_PER_CHANNEL * (WIDTH_GIVEN_POSITIVE_Z_ROW + WIDTH_GIVEN_NEGATIVE_Z_ROW);
[INFO] [stdout]    |       ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SignedPercentage3DExponentialNeuronVoxelXYZPEncoder` is never constructed
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/encoders/signed_percentage_3d_exponential.rs:19:12
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub struct SignedPercentage3DExponentialNeuronVoxelXYZPEncoder {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new_box` is never used
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/encoders/signed_percentage_3d_exponential.rs:91:12
[INFO] [stdout]    |
[INFO] [stdout] 90 | impl SignedPercentage3DExponentialNeuronVoxelXYZPEncoder {
[INFO] [stdout]    | -------------------------------------------------------- associated function in this implementation
[INFO] [stdout] 91 |     pub fn new_box(cortical_write_target: CorticalID, z_resolution: NeuronDepth, number_channels: CorticalChannelCount) -> Result<Bo...
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `channel_dimensions`, `cortical_write_target`, and `scratch_space` are never read
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/encoders/signed_percentage_4d_linear.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub struct SignedPercentage4DLinearNeuronVoxelXYZPEncoder {
[INFO] [stdout]    |            ---------------------------------------------- fields in this struct
[INFO] [stdout] 20 |     channel_dimensions: CorticalChannelDimensions,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 21 |     cortical_write_target: CorticalID,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 22 |     scratch_space: Vec<((Vec<u32>, Vec<u32>), (Vec<u32>, Vec<u32>), (Vec<u32>, Vec<u32>), (Vec<u32>, Vec<u32>))>, // # channels long...
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `SignedPercentage4DLinearNeuronVoxelXYZPEncoder` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `channel_dimensions`, `cortical_write_target`, and `scratch_space` are never read
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/encoders/signed_percentage_4d_exponential.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub struct SignedPercentage4DExponentialNeuronVoxelXYZPEncoder {
[INFO] [stdout]    |            --------------------------------------------------- fields in this struct
[INFO] [stdout] 20 |     channel_dimensions: CorticalChannelDimensions,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 21 |     cortical_write_target: CorticalID,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 22 |     scratch_space: Vec<((Vec<u32>, Vec<u32>), (Vec<u32>, Vec<u32>), (Vec<u32>, Vec<u32>), (Vec<u32>, Vec<u32>))>, // # channels long...
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `SignedPercentage4DExponentialNeuronVoxelXYZPEncoder` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NEURON_TRUE_VAL` is never used
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/encoders/boolean.rs:11:7
[INFO] [stdout]    |
[INFO] [stdout] 11 | const NEURON_TRUE_VAL: f32 = 1.0;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NEURON_FALSE_VAL` is never used
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/encoders/boolean.rs:12:7
[INFO] [stdout]    |
[INFO] [stdout] 12 | const NEURON_FALSE_VAL: f32 = 0.0;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `False` and `True` are never constructed
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/encoders/boolean.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | enum BoolState {
[INFO] [stdout]    |      --------- variants in this enum
[INFO] [stdout] 16 |     Unchanged,
[INFO] [stdout] 17 |     False,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 18 |     True,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `BoolState` 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: fields `cortical_write_target` and `scratch_space` are never read
[INFO] [stdout]   --> src/neuron_voxel_coding/xyzp/encoders/boolean.rs:23:5
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub struct BooleanNeuronVoxelXYZPEncoder {
[INFO] [stdout]    |            ----------------------------- fields in this struct
[INFO] [stdout] 23 |     cortical_write_target: CorticalID,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 24 |     scratch_space: Vec<BoolState>, // # channels long
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `BooleanNeuronVoxelXYZPEncoder` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `get_input_data_type`, `verify_input_data`, `get_output_data_type`, `get_last_processed_instant`, `set_cached_input_value`, and `does_contain_stages` are never used
[INFO] [stdout]    --> src/data_pipeline/pipeline_stage_runner.rs:65:12
[INFO] [stdout]     |
[INFO] [stdout]  30 | impl PipelineStageRunner {
[INFO] [stdout]     | ------------------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  65 |     pub fn get_input_data_type(&self) -> WrappedIOType {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  69 |     pub fn verify_input_data(&self, incoming_data: &WrappedIOData) -> Result<(), FeagiDataError> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  81 |     pub fn get_output_data_type(&self) -> WrappedIOType {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 115 |     pub fn get_last_processed_instant(&self) -> Instant {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 124 |     pub fn set_cached_input_value(&mut self, value: WrappedIOData) -> Result<(), FeagiDataError> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 156 |     pub fn does_contain_stages(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `get_input_data_type`, `clone_box`, and `as_any` are never used
[INFO] [stdout]   --> src/data_pipeline/pipeline_stage.rs:20:8
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub(crate) trait PipelineStage: fmt::Display + Debug + Sync + Send + Any {
[INFO] [stdout]    |                  ------------- methods in this trait
[INFO] [stdout] ...
[INFO] [stdout] 20 |     fn get_input_data_type(&self) -> WrappedIOType;
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 52 |     fn clone_box(&self) -> Box<dyn PipelineStage>;
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 55 |     fn as_any(&self) -> &dyn Any;
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `stages_to_stage_properties` is never used
[INFO] [stdout]   --> src/data_pipeline/pipeline_stage_conversions.rs:13:15
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub(crate) fn stages_to_stage_properties(pipeline_stages: &Vec<Box<dyn PipelineStage>>) -> Result<Vec<Box<dyn PipelineStagePropertie...
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `GAMMA_MIDPOINT` is never used
[INFO] [stdout]   --> src/data_types/image_frame.rs:18:7
[INFO] [stdout]    |
[INFO] [stdout] 18 | const GAMMA_MIDPOINT: f32 = 128.0;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `LINEAR_MIDPOINT` is never used
[INFO] [stdout]   --> src/data_types/image_frame.rs:19:7
[INFO] [stdout]    |
[INFO] [stdout] 19 | const LINEAR_MIDPOINT: f32 = 0.5;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `overwrite_neuron_data` is never used
[INFO] [stdout]    --> src/data_types/image_frame.rs:491:19
[INFO] [stdout]     |
[INFO] [stdout]  37 | impl ImageFrame {
[INFO] [stdout]     | --------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 491 |     pub(crate) fn overwrite_neuron_data(&self, write_target: &mut NeuronVoxelXYZPArrays, channel_index: CorticalChannelIndex) -> Re...
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `get_image_internal_data_mut` and `overwrite_neuron_data` are never used
[INFO] [stdout]    --> src/data_types/segmented_image_frame.rs:200:19
[INFO] [stdout]     |
[INFO] [stdout]  66 | impl SegmentedImageFrame {
[INFO] [stdout]     | ------------------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 200 |     pub(crate) fn get_image_internal_data_mut(&mut self) -> [&mut Array3<u8>; 9] {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 221 |     pub(crate) fn overwrite_neuron_data(&self, write_targets: &mut[NeuronVoxelXYZPArrays; 9], channel_index: CorticalChannelIndex )...
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `inplace_update_all` is never used
[INFO] [stdout]    --> src/data_types/percentages.rs:364:19
[INFO] [stdout]     |
[INFO] [stdout] 345 | impl Percentage2D {
[INFO] [stdout]     | ----------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 364 |     pub(crate) fn inplace_update_all(&mut self, value: f32) {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `inplace_update_all` is never used
[INFO] [stdout]    --> src/data_types/percentages.rs:442:19
[INFO] [stdout]     |
[INFO] [stdout] 423 | impl SignedPercentage2D {
[INFO] [stdout]     | ----------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 442 |     pub(crate) fn inplace_update_all(&mut self, value: f32) {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `inplace_update_all` is never used
[INFO] [stdout]    --> src/data_types/percentages.rs:526:19
[INFO] [stdout]     |
[INFO] [stdout] 505 | impl Percentage3D {
[INFO] [stdout]     | ----------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 526 |     pub(crate) fn inplace_update_all(&mut self, value: f32) {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `inplace_update_all` is never used
[INFO] [stdout]    --> src/data_types/percentages.rs:608:19
[INFO] [stdout]     |
[INFO] [stdout] 587 | impl SignedPercentage3D {
[INFO] [stdout]     | ----------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 608 |     pub(crate) fn inplace_update_all(&mut self, value: f32) {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `inplace_update_all` is never used
[INFO] [stdout]    --> src/data_types/percentages.rs:697:19
[INFO] [stdout]     |
[INFO] [stdout] 674 | impl Percentage4D {
[INFO] [stdout]     | ----------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 697 |     pub(crate) fn inplace_update_all(&mut self, value: f32) {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `inplace_update_all` is never used
[INFO] [stdout]    --> src/data_types/percentages.rs:784:19
[INFO] [stdout]     |
[INFO] [stdout] 761 | impl SignedPercentage4D {
[INFO] [stdout]     | ----------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 784 |     pub(crate) fn inplace_update_all(&mut self, value: f32) {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/data_types/processing/image_frame_processor.rs:69:12
[INFO] [stdout]     |
[INFO] [stdout]  55 | impl ImageFrameProcessor {
[INFO] [stdout]     | ------------------------ associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  69 |     pub fn new_from_input_output_properties(input: &ImageFrameProperties, output: &ImageFrameProperties) -> Result<Self, FeagiDataE...
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  91 |     pub fn get_input_image_properties(&self) -> &ImageFrameProperties { &self.input_image_properties }
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 113 |     pub fn verify_input_image_allowed(&self, verifying_image: &ImageFrame) -> Result<(), FeagiDataError> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 286 |     pub fn set_brightness_offset(&mut self, brightness_offset: i32) -> Result<&mut Self, FeagiDataError> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 297 |     pub fn set_contrast_change(&mut self, contrast_change: f32) -> Result<&mut Self, FeagiDataError> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 329 |     pub fn clear_all_transformations(&mut self) -> &Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 339 |     pub fn clear_cropping(&mut self) -> &Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 344 |     pub fn clear_resizing(&mut self) -> &Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 349 |     pub fn clear_brightness_adjustment(&mut self) -> &Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 354 |     pub fn clear_contrast_adjustment(&mut self) -> &Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 359 |     pub fn clear_color_space_conversion(&mut self) -> &Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 364 |     pub fn clear_grayscale_conversion(&mut self) -> &Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `agent_device_key_lookup`, `neuron_data`, `byte_data`, `previous_burst`, `neurons_encoded_signal`, and `bytes_encoded_signal` are never read
[INFO] [stdout]    --> src/sensor_device_cache.rs:427:5
[INFO] [stdout]     |
[INFO] [stdout] 425 | pub struct SensorDeviceCache {
[INFO] [stdout]     |            ----------------- fields in this struct
[INFO] [stdout] 426 |     stream_caches: HashMap<(SensoryCorticalUnit, CorticalGroupIndex), SensoryChannelStreamCaches>,
[INFO] [stdout] 427 |     agent_device_key_lookup: HashMap<AgentDeviceIndex, Vec<(SensoryCorticalUnit, CorticalGroupIndex)>>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 428 |     neuron_data: CorticalMappedXYZPNeuronVoxels,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] 429 |     byte_data: FeagiByteContainer,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] 430 |     previous_burst: Instant,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^
[INFO] [stdout] 431 |     neurons_encoded_signal: FeagiSignal<CorticalMappedXYZPNeuronVoxels>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 432 |     bytes_encoded_signal: FeagiSignal<FeagiByteContainer>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `try_read_preprocessed_cached_value`, `register_agent_device_key`, `try_update_value_by_agent_device`, `try_read_postprocessed_cached_values_by_agent_device`, `try_get_agent_device_lookup`, and `try_get_agent_device_lookup_mut` are never used
[INFO] [stdout]    --> src/sensor_device_cache.rs:483:8
[INFO] [stdout]     |
[INFO] [stdout] 435 | impl SensorDeviceCache {
[INFO] [stdout]     | ---------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 483 |     fn try_read_preprocessed_cached_value(&self, sensor_type: SensoryCorticalUnit, group_index: CorticalGroupIndex, channel_index: ...
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 545 |     fn register_agent_device_key(&mut self, agent_device_index: AgentDeviceIndex, sensor_type: SensoryCorticalUnit, group_index: Co...
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 559 |     fn try_update_value_by_agent_device(&mut self, agent_device_index: AgentDeviceIndex, channel_index: CorticalChannelIndex, value...
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 567 |     fn try_read_postprocessed_cached_values_by_agent_device(&self, agent_device_index: AgentDeviceIndex, channel_index: CorticalCha...
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 601 |     fn try_get_agent_device_lookup(&self, agent_device_index: AgentDeviceIndex) -> Result<&[(SensoryCorticalUnit, CorticalGroupInde...
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 608 |     fn try_get_agent_device_lookup_mut(&mut self, agent_device_index: AgentDeviceIndex) -> Result<&mut Vec<(SensoryCorticalUnit, Co...
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `FeagiConnectorInterface` is never used
[INFO] [stdout]  --> src/feagi_interfaces/feagi_connector_interface.rs:5:11
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub trait FeagiConnectorInterface {
[INFO] [stdout]   |           ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `FeagiInterfaceStatus` is never used
[INFO] [stdout]  --> src/feagi_interfaces/feagi_connection_enums.rs:3:10
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub enum FeagiInterfaceStatus {
[INFO] [stdout]   |          ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `DeviceRegistrationStatus` is never used
[INFO] [stdout]   --> src/feagi_interfaces/feagi_connection_enums.rs:12:10
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub enum DeviceRegistrationStatus {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `FeagiConnectionInterfaceDefinition` is never used
[INFO] [stdout]  --> src/feagi_interfaces/feagi_connector_interface_definition.rs:2:11
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub trait FeagiConnectionInterfaceDefinition {
[INFO] [stdout]   |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `agent_device_key_lookup` and `previous_burst` are never read
[INFO] [stdout]    --> src/motor_device_cache.rs:385:5
[INFO] [stdout]     |
[INFO] [stdout] 383 | pub struct MotorDeviceCache {
[INFO] [stdout]     |            ---------------- fields in this struct
[INFO] [stdout] 384 |     stream_caches: HashMap<(MotorCorticalUnit, CorticalGroupIndex), MotorChannelStreamCaches>,
[INFO] [stdout] 385 |     agent_device_key_lookup: HashMap<AgentDeviceIndex, Vec<(MotorCorticalUnit, CorticalGroupIndex)>>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 388 |     previous_burst: Instant,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `register_agent_device_key`, `try_read_preprocessed_cached_values_by_agent_device`, `try_read_postprocessed_cached_values_by_agent_device`, `try_get_agent_device_lookup`, and `try_get_agent_device_lookup_mut` are never used
[INFO] [stdout]    --> src/motor_device_cache.rs:498:8
[INFO] [stdout]     |
[INFO] [stdout] 391 | impl MotorDeviceCache {
[INFO] [stdout]     | --------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 498 |     fn register_agent_device_key(&mut self, agent_device_index: AgentDeviceIndex, motor_type: MotorCorticalUnit, group_index: Corti...
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 512 |     fn try_read_preprocessed_cached_values_by_agent_device(&self, agent_device_index: AgentDeviceIndex, channel_index: CorticalChan...
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 522 |     fn try_read_postprocessed_cached_values_by_agent_device(&self, agent_device_index: AgentDeviceIndex, channel_index: CorticalCha...
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 558 |     fn try_get_agent_device_lookup(&self, agent_device_index: AgentDeviceIndex) -> Result<&[(MotorCorticalUnit, CorticalGroupIndex)...
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 565 |     fn try_get_agent_device_lookup_mut(&mut self, agent_device_index: AgentDeviceIndex) -> Result<&mut Vec<(MotorCorticalUnit, Cort...
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `time_of_previous_burst`
[INFO] [stdout]   --> tests/tests_connector_end_to_end.rs:30:13
[INFO] [stdout]    |
[INFO] [stdout] 30 |         let time_of_previous_burst: Instant = Instant::now(); // Pretend
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_time_of_previous_burst`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `time_of_previous_burst`
[INFO] [stdout]   --> tests/tests_connector_end_to_end.rs:61:13
[INFO] [stdout]    |
[INFO] [stdout] 61 |         let time_of_previous_burst: Instant = Instant::now(); // Pretend
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_time_of_previous_burst`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `time_of_previous_burst`
[INFO] [stdout]    --> tests/tests_connector_end_to_end.rs:144:13
[INFO] [stdout]     |
[INFO] [stdout] 144 |         let time_of_previous_burst: Instant = Instant::now();
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_time_of_previous_burst`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sensor_cortical_id`
[INFO] [stdout]    --> tests/tests_connector_end_to_end.rs:165:17
[INFO] [stdout]     |
[INFO] [stdout] 165 | ...   let sensor_cortical_id = SensoryCorticalUnit::get_cortical_ids_array_for_miscellaneous(FrameChangeHandling::Absolute, cortica...
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sensor_cortical_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `motor_cortical_id`
[INFO] [stdout]    --> tests/tests_connector_end_to_end.rs:166:17
[INFO] [stdout]     |
[INFO] [stdout] 166 | ...   let motor_cortical_id = MotorCorticalUnit::get_cortical_ids_array_for_miscellaneous(FrameChangeHandling::Absolute, cortical_g...
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_motor_cortical_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `new_misc_data`
[INFO] [stdout]    --> tests/tests_connector_end_to_end.rs:170:17
[INFO] [stdout]     |
[INFO] [stdout] 170 |             let new_misc_data = motor_cache.miscellaneous_read_postprocessed_cache_value(cortical_group, channel_index).unwrap();
[INFO] [stdout]     |                 ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_new_misc_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> tests/tests_connector_end_to_end.rs:188:17
[INFO] [stdout]     |
[INFO] [stdout] 188 |             let mut data = misc_data_semi.get_internal_data_mut();
[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]    --> tests/tests_connector_end_to_end.rs:193:13
[INFO] [stdout]     |
[INFO] [stdout] 193 |         let mut misc_data_solid = misc_data_empty.clone();
[INFO] [stdout]     |             ----^^^^^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> tests/tests_connector_end_to_end.rs:195:17
[INFO] [stdout]     |
[INFO] [stdout] 195 |             let mut data = misc_data_semi.get_internal_data_mut();
[INFO] [stdout]     |                 ----^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `time_of_previous_burst`
[INFO] [stdout]    --> tests/tests_connector_end_to_end.rs:177:13
[INFO] [stdout]     |
[INFO] [stdout] 177 |         let time_of_previous_burst: Instant = Instant::now();
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_time_of_previous_burst`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/data_types/image_frame.rs:192:28
[INFO] [stdout]     |
[INFO] [stdout] 192 |     pub fn get_pixels_view(&self) -> ArrayView3<u8> {
[INFO] [stdout]     |                            ^^^^^     ^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                            |
[INFO] [stdout]     |                            the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 192 |     pub fn get_pixels_view(&self) -> ArrayView3<'_, u8> {
[INFO] [stdout]     |                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/data_types/image_frame.rs:197:32
[INFO] [stdout]     |
[INFO] [stdout] 197 |     pub fn get_pixels_view_mut(&mut self) -> ArrayViewMut3<u8> {
[INFO] [stdout]     |                                ^^^^^^^^^     ^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                                |
[INFO] [stdout]     |                                the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 197 |     pub fn get_pixels_view_mut(&mut self) -> ArrayViewMut3<'_, u8> {
[INFO] [stdout]     |                                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/connector_agent.rs:19:29
[INFO] [stdout]    |
[INFO] [stdout] 19 |     pub fn get_sensor_cache(&self) -> MutexGuard<SensorDeviceCache> {
[INFO] [stdout]    |                             ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                             |
[INFO] [stdout]    |                             the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 19 |     pub fn get_sensor_cache(&self) -> MutexGuard<'_, SensorDeviceCache> {
[INFO] [stdout]    |                                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/connector_agent.rs:27:28
[INFO] [stdout]    |
[INFO] [stdout] 27 |     pub fn get_motor_cache(&self) -> MutexGuard<MotorDeviceCache> {
[INFO] [stdout]    |                            ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                            |
[INFO] [stdout]    |                            the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 27 |     pub fn get_motor_cache(&self) -> MutexGuard<'_, MotorDeviceCache> {
[INFO] [stdout]    |                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `DynamicImage`, `ImageBuffer`, and `Rgb`
[INFO] [stdout]  --> examples/segmented_video_stream.rs:3:13
[INFO] [stdout]   |
[INFO] [stdout] 3 | use image::{DynamicImage, ImageBuffer, Rgb};
[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: `feagi_connector_core as feagi_connector`
[INFO] [stdout]  --> examples/segmented_video_stream.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use feagi_connector_core as feagi_connector;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 30.50s
[INFO] running `Command { std: "docker" "inspect" "3c261f965ecc308a8bdba707578c712cb29478b21e7f4e430008277e9dd3fe3d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "3c261f965ecc308a8bdba707578c712cb29478b21e7f4e430008277e9dd3fe3d", kill_on_drop: false }`
[INFO] [stdout] 3c261f965ecc308a8bdba707578c712cb29478b21e7f4e430008277e9dd3fe3d
