[INFO] cloning repository https://github.com/Yair5675/Fluid-Simulation
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Yair5675/Fluid-Simulation" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FYair5675%2FFluid-Simulation", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FYair5675%2FFluid-Simulation'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] a7d77ca72197df8a4fcaf7c3c73ac47723cd790c
[INFO] checking Yair5675/Fluid-Simulation/a7d77ca72197df8a4fcaf7c3c73ac47723cd790c against master#2aabf3ce0569dd7c8c2d2a27944850056dcf2566 for pr-156508
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FYair5675%2FFluid-Simulation" "/workspace/builds/worker-6-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/Yair5675/Fluid-Simulation
[INFO] finished tweaking git repo https://github.com/Yair5675/Fluid-Simulation
[INFO] tweaked toml for git repo https://github.com/Yair5675/Fluid-Simulation written to /workspace/builds/worker-6-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/Yair5675/Fluid-Simulation on toolchain 2aabf3ce0569dd7c8c2d2a27944850056dcf2566
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+2aabf3ce0569dd7c8c2d2a27944850056dcf2566" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/Yair5675/Fluid-Simulation 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" "+2aabf3ce0569dd7c8c2d2a27944850056dcf2566" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded implicit-clone-derive v0.1.2
[INFO] [stderr]   Downloaded syn v2.0.109
[INFO] [stderr]   Downloaded vector2d v3.1.1
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+2aabf3ce0569dd7c8c2d2a27944850056dcf2566" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 0fbbce3cae349c6b5c9f7dafd621dc7f2d23b678f6ff7f5d96139f908d37605a
[INFO] running `Command { std: "docker" "start" "-a" "0fbbce3cae349c6b5c9f7dafd621dc7f2d23b678f6ff7f5d96139f908d37605a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "0fbbce3cae349c6b5c9f7dafd621dc7f2d23b678f6ff7f5d96139f908d37605a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "0fbbce3cae349c6b5c9f7dafd621dc7f2d23b678f6ff7f5d96139f908d37605a", kill_on_drop: false }`
[INFO] [stdout] 0fbbce3cae349c6b5c9f7dafd621dc7f2d23b678f6ff7f5d96139f908d37605a
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+2aabf3ce0569dd7c8c2d2a27944850056dcf2566" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] e6b2ad53e6830230e50d7378d066a7c245df0eb04f1e5be0c2815d29538815d7
[INFO] running `Command { std: "docker" "start" "-a" "e6b2ad53e6830230e50d7378d066a7c245df0eb04f1e5be0c2815d29538815d7", kill_on_drop: false }`
[INFO] [stderr]    Compiling wasm-bindgen-shared v0.2.105
[INFO] [stderr]    Compiling bumpalo v3.19.0
[INFO] [stderr]     Checking unicode-ident v1.0.22
[INFO] [stderr]     Checking percent-encoding v2.3.2
[INFO] [stderr]    Compiling wasm-bindgen v0.2.105
[INFO] [stderr]     Checking serde_json v1.0.145
[INFO] [stderr]    Compiling prettyplease v0.2.37
[INFO] [stderr]     Checking tokio v1.48.0
[INFO] [stderr]    Compiling syn v2.0.109
[INFO] [stderr]    Compiling toml_edit v0.19.15
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]    Compiling proc-macro-error-attr v1.0.4
[INFO] [stderr]     Checking indexmap v2.12.0
[INFO] [stderr]    Compiling boolinator v2.4.0
[INFO] [stderr]     Checking vector2d v3.1.1
[INFO] [stderr]     Checking form_urlencoded v1.2.2
[INFO] [stderr]    Compiling proc-macro-error v1.0.4
[INFO] [stderr]     Checking tokio-stream v0.1.17
[INFO] [stderr]    Compiling proc-macro-crate v1.3.1
[INFO] [stderr]    Compiling wasm-bindgen-macro-support v0.2.105
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling futures-macro v0.3.31
[INFO] [stderr]    Compiling pin-project-internal v1.1.10
[INFO] [stderr]    Compiling gloo-worker-macros v0.1.0
[INFO] [stderr]    Compiling implicit-clone-derive v0.1.2
[INFO] [stderr]    Compiling tracing-attributes v0.1.30
[INFO] [stderr]     Checking implicit-clone v0.4.9
[INFO] [stderr]    Compiling yew-macro v0.21.0
[INFO] [stderr]     Checking futures-util v0.3.31
[INFO] [stderr]     Checking thiserror v1.0.69
[INFO] [stderr]     Checking tracing v0.1.41
[INFO] [stderr]     Checking pin-project v1.1.10
[INFO] [stderr]    Compiling wasm-bindgen-macro v0.2.105
[INFO] [stderr]     Checking js-sys v0.3.82
[INFO] [stderr]     Checking console_error_panic_hook v0.1.7
[INFO] [stderr]     Checking serde v1.0.228
[INFO] [stderr]     Checking futures v0.3.31
[INFO] [stderr]     Checking pinned v0.1.0
[INFO] [stderr]     Checking prokio v0.1.0
[INFO] [stderr]     Checking serde_urlencoded v0.7.1
[INFO] [stderr]     Checking bincode v1.3.3
[INFO] [stderr]     Checking web-sys v0.3.82
[INFO] [stderr]     Checking wasm-bindgen-futures v0.4.55
[INFO] [stderr]     Checking serde-wasm-bindgen v0.6.5
[INFO] [stderr]     Checking gloo-timers v0.3.0
[INFO] [stderr]     Checking gloo-utils v0.2.0
[INFO] [stderr]     Checking gloo-events v0.2.0
[INFO] [stderr]     Checking gloo-render v0.2.0
[INFO] [stderr]     Checking gloo-dialogs v0.2.0
[INFO] [stderr]     Checking gloo-net v0.4.0
[INFO] [stderr]     Checking gloo-worker v0.4.0
[INFO] [stderr]     Checking gloo-console v0.3.0
[INFO] [stderr]     Checking gloo-storage v0.3.0
[INFO] [stderr]     Checking gloo-file v0.3.0
[INFO] [stderr]     Checking gloo-history v0.2.2
[INFO] [stderr]     Checking gloo v0.10.0
[INFO] [stderr]     Checking yew v0.21.0
[INFO] [stderr]     Checking Fluid-Simulation v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `std::cell::RefCell`
[INFO] [stdout]   --> src/backend/mod.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use std::cell::RefCell;
[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: `channel`
[INFO] [stdout]   --> src/backend/mod.rs:16:23
[INFO] [stdout]    |
[INFO] [stdout] 16 | use std::sync::mpsc::{channel, Receiver};
[INFO] [stdout]    |                       ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `SendError`
[INFO] [stdout]  --> src/backend/pool.rs:3:28
[INFO] [stdout]   |
[INFO] [stdout] 3 |     sync::mpsc::{Receiver, SendError, TryRecvError, TrySendError, channel, sync_channel},
[INFO] [stdout]   |                            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `yew::prelude::*`
[INFO] [stdout]  --> src/main.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use yew::prelude::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cell::RefCell`
[INFO] [stdout]   --> src/backend/mod.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use std::cell::RefCell;
[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: `channel`
[INFO] [stdout]   --> src/backend/mod.rs:16:23
[INFO] [stdout]    |
[INFO] [stdout] 16 | use std::sync::mpsc::{channel, Receiver};
[INFO] [stdout]    |                       ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `SendError`
[INFO] [stdout]  --> src/backend/pool.rs:3:28
[INFO] [stdout]   |
[INFO] [stdout] 3 |     sync::mpsc::{Receiver, SendError, TryRecvError, TrySendError, channel, sync_channel},
[INFO] [stdout]   |                            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `yew::prelude::*`
[INFO] [stdout]  --> src/main.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use yew::prelude::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `prev_state`
[INFO] [stdout]   --> src/backend/processor/adapters/raw.rs:14:33
[INFO] [stdout]    |
[INFO] [stdout] 14 |     fn to_simulation_data(self, prev_state: &SimulationData, engine_output: Arc<Fish<EngineOutput>>) -> Result<SimulationData, Self:...
[INFO] [stdout]    |                                 ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_prev_state`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `simulation_data`
[INFO] [stdout]   --> src/backend/processor/adapters/raw.rs:18:29
[INFO] [stdout]    |
[INFO] [stdout] 18 |     fn from_simulation_data(simulation_data: SimulationData) -> Result<Self, Self::AdapterError>
[INFO] [stdout]    |                             ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_simulation_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `FluidSimulationBackend` is never constructed
[INFO] [stdout]   --> src/backend/mod.rs:28:12
[INFO] [stdout]    |
[INFO] [stdout] 28 | pub struct FluidSimulationBackend {
[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 associated items are never used
[INFO] [stdout]    --> src/backend/mod.rs:48:12
[INFO] [stdout]     |
[INFO] [stdout]  39 | impl FluidSimulationBackend {
[INFO] [stdout]     | --------------------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  48 |     pub fn new(configuration: BackendConfiguration) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  79 |     fn initialize_engine(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  94 |     pub fn stop_backend_loop(&self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  98 |     fn run_engine_thread_logic(&self, output_sender: GenericSender<Arc<Fish<EngineOutput>>>) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 133 |     fn run_processor_thread_logic(&self, output_receiver: Receiver<Arc<Fish<EngineOutput>>>, data_sender: GenericSender<Arc<Simulat...
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 160 |     fn get_latest_simulation_data(&self) -> Arc<SimulationData> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 172 |     fn set_data_as_latest(&self, new_latest_data: Arc<SimulationData>) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 187 |     fn run_publishing_queue_thread_logic(&self, received_data_queue: Receiver<Arc<SimulationData>>) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BackendConfiguration` is never constructed
[INFO] [stdout]   --> src/backend/configuration.rs:12:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub struct BackendConfiguration {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `G` is never used
[INFO] [stdout]   --> src/backend/engine/mod.rs:56:7
[INFO] [stdout]    |
[INFO] [stdout] 56 | const G: f64 = 9.81;
[INFO] [stdout]    |       ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `CellState` is never used
[INFO] [stdout]   --> src/backend/engine/mod.rs:66:6
[INFO] [stdout]    |
[INFO] [stdout] 66 | enum CellState {
[INFO] [stdout]    |      ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `velocity_correction_weight` is never used
[INFO] [stdout]   --> src/backend/engine/mod.rs:83:12
[INFO] [stdout]    |
[INFO] [stdout] 76 | impl CellState {
[INFO] [stdout]    | -------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 83 |     pub fn velocity_correction_weight(&self) -> f64 {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CellWeights` is never constructed
[INFO] [stdout]   --> src/backend/engine/mod.rs:94:8
[INFO] [stdout]    |
[INFO] [stdout] 94 | struct CellWeights {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SimulationEngine` is never constructed
[INFO] [stdout]    --> src/backend/engine/mod.rs:102:12
[INFO] [stdout]     |
[INFO] [stdout] 102 | pub struct SimulationEngine {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/backend/engine/mod.rs:142:12
[INFO] [stdout]     |
[INFO] [stdout] 126 | impl SimulationEngine {
[INFO] [stdout]     | --------------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 142 |     pub fn new(
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 168 |     pub fn get_pool(&self) -> Arc<Pool<EngineOutput>> {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 172 |     fn build_initial_state_grid(grid_width: usize, grid_height: usize) -> Grid<CellState> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 209 |     fn get_engine_output(&self, wait_for_pool: bool) -> Fish<EngineOutput> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 238 |     pub fn compute_timestep(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 250 |     fn compute_timestep_internal(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 271 |     fn apply_forces_and_update_state(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 317 |     fn simulate_particle_movement(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 339 |     fn get_cell_by_position(&self, pos: &Vector2D<f64>) -> Option<&CellState> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 350 |     fn transfer_particles_to_grids(&mut self, particles: &Vec<Particle>) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 361 |     fn transfer_particle_velocity_to_staggered_grids(&mut self, particle: &Particle, is_horizontal: bool) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 388 |     fn scale_down_staggered_velocities(&mut self, is_horizontal: bool) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 412 |     fn calculate_bilinear_weights(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 442 |     fn add_weighted_velocity(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 475 |     fn is_fluid_cell(&self, x: usize, y: usize) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 483 |     fn apply_projection(&mut self, rest_density: f64, densities: &Grid<f64>) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 538 |     unsafe fn unchecked_calculate_divergence(
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 552 |     fn count_fluid_neighbors(&self, x: usize, y: usize) -> u8 {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 577 |     fn transfer_grids_to_particles(&self, particles: &mut Vec<Particle>) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 589 |     fn calculate_velocity_from_grid(&self, staggered_velocities: &Grid<Vector2D<f64>>, pos: &Vector2D<f64>) -> Vector2D<f64> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 631 |     fn do_grid_dimensions_match<C>(&self, grid: &Grid<C>) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 635 |     fn do_staggered_grid_dimensions_match<C>(&self, staggered_grid: &Grid<C>) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DEFAULT_PROJECTIONS_ITERATIONS` is never used
[INFO] [stdout]  --> src/backend/engine/config.rs:3:11
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub const DEFAULT_PROJECTIONS_ITERATIONS: usize = 25;
[INFO] [stdout]   |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DEFAULT_OVERRELAXATION_FACTOR` is never used
[INFO] [stdout]  --> src/backend/engine/config.rs:4:11
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub const DEFAULT_OVERRELAXATION_FACTOR: f64 = 1.9;
[INFO] [stdout]   |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DEFAULT_VELOCITY_ABSORPTION_FACTOR` is never used
[INFO] [stdout]  --> src/backend/engine/config.rs:5:11
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub const DEFAULT_VELOCITY_ABSORPTION_FACTOR: f64 = 0.3;
[INFO] [stdout]   |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DEFAULT_STIFFNESS_FACTOR` is never used
[INFO] [stdout]  --> src/backend/engine/config.rs:6:11
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub const DEFAULT_STIFFNESS_FACTOR: f64 = 1.0;
[INFO] [stdout]   |           ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DEFAULT_PIC_FACTOR` is never used
[INFO] [stdout]  --> src/backend/engine/config.rs:7:11
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub const DEFAULT_PIC_FACTOR: f64 = 0.1;
[INFO] [stdout]   |           ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DEFAULT_FLIP_FACTOR` is never used
[INFO] [stdout]  --> src/backend/engine/config.rs:8:11
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub const DEFAULT_FLIP_FACTOR: f64 = 1.0 - DEFAULT_PIC_FACTOR;
[INFO] [stdout]   |           ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `default_projections_iterations` is never used
[INFO] [stdout]   --> src/backend/engine/config.rs:11:10
[INFO] [stdout]    |
[INFO] [stdout] 11 | const fn default_projections_iterations() -> usize {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `default_overrelaxation_factor` is never used
[INFO] [stdout]   --> src/backend/engine/config.rs:15:10
[INFO] [stdout]    |
[INFO] [stdout] 15 | const fn default_overrelaxation_factor() -> f64 {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `default_velocity_absorption_factor` is never used
[INFO] [stdout]   --> src/backend/engine/config.rs:19:10
[INFO] [stdout]    |
[INFO] [stdout] 19 | const fn default_velocity_absorption_factor() -> f64 {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `default_stiffness_factor` is never used
[INFO] [stdout]   --> src/backend/engine/config.rs:23:10
[INFO] [stdout]    |
[INFO] [stdout] 23 | const fn default_stiffness_factor() -> f64 {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `default_pic_factor` is never used
[INFO] [stdout]   --> src/backend/engine/config.rs:27:10
[INFO] [stdout]    |
[INFO] [stdout] 27 | const fn default_pic_factor() -> f64 {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `default_flip_factor` is never used
[INFO] [stdout]   --> src/backend/engine/config.rs:31:10
[INFO] [stdout]    |
[INFO] [stdout] 31 | const fn default_flip_factor() -> f64 {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `EngineConfiguration` is never constructed
[INFO] [stdout]   --> src/backend/engine/config.rs:36:12
[INFO] [stdout]    |
[INFO] [stdout] 36 | pub struct EngineConfiguration {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Pool` is never constructed
[INFO] [stdout]   --> src/backend/pool.rs:54:12
[INFO] [stdout]    |
[INFO] [stdout] 54 | pub struct Pool<T: Send> {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/backend/pool.rs:70:12
[INFO] [stdout]     |
[INFO] [stdout]  59 | impl<T: Send> Pool<T> {
[INFO] [stdout]     | --------------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  70 |     pub fn new_bounded(max_fish: usize) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  82 |     pub fn new_unbounded() -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  95 |     pub fn get_fish_blocking(&self) -> Fish<T> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 113 |     pub fn try_get_fish(&self) -> Option<Fish<T>> {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 135 |     pub fn get_fish_or_init<F>(&self, initializer: F) -> Fish<T>
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 157 |     pub fn try_populate(&self, value: T) -> Result<(), T> {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 178 |     pub fn populate_blocking(&self, value: T) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 193 |     pub fn get_fish_sender(&self) -> GenericSender<T> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `SimulationDataAdapter` is never used
[INFO] [stdout]   --> src/backend/processor/mod.rs:18:11
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub trait SimulationDataAdapter: Send {
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SimulationOutputProcessor` is never constructed
[INFO] [stdout]   --> src/backend/processor/mod.rs:84:12
[INFO] [stdout]    |
[INFO] [stdout] 84 | pub struct SimulationOutputProcessor<A: SimulationDataAdapter> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `get_pool`, `get_writeable_adapter`, `process_engine_output`, and `change_adapter` are never used
[INFO] [stdout]    --> src/backend/processor/mod.rs:93:12
[INFO] [stdout]     |
[INFO] [stdout]  89 | / impl<A> SimulationOutputProcessor<A>
[INFO] [stdout]  90 | | where
[INFO] [stdout]  91 | |     A: SimulationDataAdapter,
[INFO] [stdout]     | |_____________________________- associated items in this implementation
[INFO] [stdout]  92 |   {
[INFO] [stdout]  93 |       pub fn new(adapters_pool: Arc<Pool<SimulationData>>, initializer: Box<dyn Fn() -> A>) -> Self {
[INFO] [stdout]     |              ^^^
[INFO] [stdout] ...
[INFO] [stdout] 100 |       pub fn get_pool(&self) -> Arc<Pool<SimulationData>> {
[INFO] [stdout]     |              ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 109 |       fn get_writeable_adapter(&self) -> A {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 137 |       pub fn process_engine_output(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 160 |       pub fn change_adapter<NA>(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `AdapterConfiguration` is never used
[INFO] [stdout]   --> src/backend/processor/adapters/mod.rs:17:10
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub enum AdapterConfiguration {}
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `AdapterFactory` is never used
[INFO] [stdout]   --> src/backend/processor/adapters/mod.rs:23:10
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub enum AdapterFactory {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `create` is never used
[INFO] [stdout]   --> src/backend/processor/adapters/mod.rs:28:12
[INFO] [stdout]    |
[INFO] [stdout] 27 | impl AdapterFactory {
[INFO] [stdout]    | ------------------- associated function in this implementation
[INFO] [stdout] 28 |     pub fn create(_config: AdapterConfiguration) -> Self {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RawOutputAdapter` is never constructed
[INFO] [stdout]  --> src/backend/processor/adapters/raw.rs:9:12
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub struct RawOutputAdapter;
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `prev_state`
[INFO] [stdout]   --> src/backend/processor/adapters/raw.rs:14:33
[INFO] [stdout]    |
[INFO] [stdout] 14 |     fn to_simulation_data(self, prev_state: &SimulationData, engine_output: Arc<Fish<EngineOutput>>) -> Result<SimulationData, Self:...
[INFO] [stdout]    |                                 ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_prev_state`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `simulation_data`
[INFO] [stdout]   --> src/backend/processor/adapters/raw.rs:18:29
[INFO] [stdout]    |
[INFO] [stdout] 18 |     fn from_simulation_data(simulation_data: SimulationData) -> Result<Self, Self::AdapterError>
[INFO] [stdout]    |                             ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_simulation_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `FluidSimulationBackend` is never constructed
[INFO] [stdout]   --> src/backend/mod.rs:28:12
[INFO] [stdout]    |
[INFO] [stdout] 28 | pub struct FluidSimulationBackend {
[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 associated items are never used
[INFO] [stdout]    --> src/backend/mod.rs:48:12
[INFO] [stdout]     |
[INFO] [stdout]  39 | impl FluidSimulationBackend {
[INFO] [stdout]     | --------------------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  48 |     pub fn new(configuration: BackendConfiguration) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  79 |     fn initialize_engine(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  94 |     pub fn stop_backend_loop(&self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  98 |     fn run_engine_thread_logic(&self, output_sender: GenericSender<Arc<Fish<EngineOutput>>>) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 133 |     fn run_processor_thread_logic(&self, output_receiver: Receiver<Arc<Fish<EngineOutput>>>, data_sender: GenericSender<Arc<Simulat...
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 160 |     fn get_latest_simulation_data(&self) -> Arc<SimulationData> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 172 |     fn set_data_as_latest(&self, new_latest_data: Arc<SimulationData>) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 187 |     fn run_publishing_queue_thread_logic(&self, received_data_queue: Receiver<Arc<SimulationData>>) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BackendConfiguration` is never constructed
[INFO] [stdout]   --> src/backend/configuration.rs:12:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub struct BackendConfiguration {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `G` is never used
[INFO] [stdout]   --> src/backend/engine/mod.rs:56:7
[INFO] [stdout]    |
[INFO] [stdout] 56 | const G: f64 = 9.81;
[INFO] [stdout]    |       ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `CellState` is never used
[INFO] [stdout]   --> src/backend/engine/mod.rs:66:6
[INFO] [stdout]    |
[INFO] [stdout] 66 | enum CellState {
[INFO] [stdout]    |      ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `velocity_correction_weight` is never used
[INFO] [stdout]   --> src/backend/engine/mod.rs:83:12
[INFO] [stdout]    |
[INFO] [stdout] 76 | impl CellState {
[INFO] [stdout]    | -------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 83 |     pub fn velocity_correction_weight(&self) -> f64 {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CellWeights` is never constructed
[INFO] [stdout]   --> src/backend/engine/mod.rs:94:8
[INFO] [stdout]    |
[INFO] [stdout] 94 | struct CellWeights {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SimulationEngine` is never constructed
[INFO] [stdout]    --> src/backend/engine/mod.rs:102:12
[INFO] [stdout]     |
[INFO] [stdout] 102 | pub struct SimulationEngine {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/backend/engine/mod.rs:142:12
[INFO] [stdout]     |
[INFO] [stdout] 126 | impl SimulationEngine {
[INFO] [stdout]     | --------------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 142 |     pub fn new(
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 168 |     pub fn get_pool(&self) -> Arc<Pool<EngineOutput>> {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 172 |     fn build_initial_state_grid(grid_width: usize, grid_height: usize) -> Grid<CellState> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 209 |     fn get_engine_output(&self, wait_for_pool: bool) -> Fish<EngineOutput> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 238 |     pub fn compute_timestep(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 250 |     fn compute_timestep_internal(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 271 |     fn apply_forces_and_update_state(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 317 |     fn simulate_particle_movement(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 339 |     fn get_cell_by_position(&self, pos: &Vector2D<f64>) -> Option<&CellState> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 350 |     fn transfer_particles_to_grids(&mut self, particles: &Vec<Particle>) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 361 |     fn transfer_particle_velocity_to_staggered_grids(&mut self, particle: &Particle, is_horizontal: bool) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 388 |     fn scale_down_staggered_velocities(&mut self, is_horizontal: bool) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 412 |     fn calculate_bilinear_weights(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 442 |     fn add_weighted_velocity(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 475 |     fn is_fluid_cell(&self, x: usize, y: usize) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 483 |     fn apply_projection(&mut self, rest_density: f64, densities: &Grid<f64>) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 538 |     unsafe fn unchecked_calculate_divergence(
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 552 |     fn count_fluid_neighbors(&self, x: usize, y: usize) -> u8 {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 577 |     fn transfer_grids_to_particles(&self, particles: &mut Vec<Particle>) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 589 |     fn calculate_velocity_from_grid(&self, staggered_velocities: &Grid<Vector2D<f64>>, pos: &Vector2D<f64>) -> Vector2D<f64> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 631 |     fn do_grid_dimensions_match<C>(&self, grid: &Grid<C>) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 635 |     fn do_staggered_grid_dimensions_match<C>(&self, staggered_grid: &Grid<C>) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DEFAULT_PROJECTIONS_ITERATIONS` is never used
[INFO] [stdout]  --> src/backend/engine/config.rs:3:11
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub const DEFAULT_PROJECTIONS_ITERATIONS: usize = 25;
[INFO] [stdout]   |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DEFAULT_OVERRELAXATION_FACTOR` is never used
[INFO] [stdout]  --> src/backend/engine/config.rs:4:11
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub const DEFAULT_OVERRELAXATION_FACTOR: f64 = 1.9;
[INFO] [stdout]   |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DEFAULT_VELOCITY_ABSORPTION_FACTOR` is never used
[INFO] [stdout]  --> src/backend/engine/config.rs:5:11
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub const DEFAULT_VELOCITY_ABSORPTION_FACTOR: f64 = 0.3;
[INFO] [stdout]   |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DEFAULT_STIFFNESS_FACTOR` is never used
[INFO] [stdout]  --> src/backend/engine/config.rs:6:11
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub const DEFAULT_STIFFNESS_FACTOR: f64 = 1.0;
[INFO] [stdout]   |           ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DEFAULT_PIC_FACTOR` is never used
[INFO] [stdout]  --> src/backend/engine/config.rs:7:11
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub const DEFAULT_PIC_FACTOR: f64 = 0.1;
[INFO] [stdout]   |           ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DEFAULT_FLIP_FACTOR` is never used
[INFO] [stdout]  --> src/backend/engine/config.rs:8:11
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub const DEFAULT_FLIP_FACTOR: f64 = 1.0 - DEFAULT_PIC_FACTOR;
[INFO] [stdout]   |           ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `default_projections_iterations` is never used
[INFO] [stdout]   --> src/backend/engine/config.rs:11:10
[INFO] [stdout]    |
[INFO] [stdout] 11 | const fn default_projections_iterations() -> usize {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `default_overrelaxation_factor` is never used
[INFO] [stdout]   --> src/backend/engine/config.rs:15:10
[INFO] [stdout]    |
[INFO] [stdout] 15 | const fn default_overrelaxation_factor() -> f64 {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `default_velocity_absorption_factor` is never used
[INFO] [stdout]   --> src/backend/engine/config.rs:19:10
[INFO] [stdout]    |
[INFO] [stdout] 19 | const fn default_velocity_absorption_factor() -> f64 {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `default_stiffness_factor` is never used
[INFO] [stdout]   --> src/backend/engine/config.rs:23:10
[INFO] [stdout]    |
[INFO] [stdout] 23 | const fn default_stiffness_factor() -> f64 {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `default_pic_factor` is never used
[INFO] [stdout]   --> src/backend/engine/config.rs:27:10
[INFO] [stdout]    |
[INFO] [stdout] 27 | const fn default_pic_factor() -> f64 {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `default_flip_factor` is never used
[INFO] [stdout]   --> src/backend/engine/config.rs:31:10
[INFO] [stdout]    |
[INFO] [stdout] 31 | const fn default_flip_factor() -> f64 {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `EngineConfiguration` is never constructed
[INFO] [stdout]   --> src/backend/engine/config.rs:36:12
[INFO] [stdout]    |
[INFO] [stdout] 36 | pub struct EngineConfiguration {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Pool` is never constructed
[INFO] [stdout]   --> src/backend/pool.rs:54:12
[INFO] [stdout]    |
[INFO] [stdout] 54 | pub struct Pool<T: Send> {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/backend/pool.rs:70:12
[INFO] [stdout]     |
[INFO] [stdout]  59 | impl<T: Send> Pool<T> {
[INFO] [stdout]     | --------------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  70 |     pub fn new_bounded(max_fish: usize) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  82 |     pub fn new_unbounded() -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  95 |     pub fn get_fish_blocking(&self) -> Fish<T> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 113 |     pub fn try_get_fish(&self) -> Option<Fish<T>> {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 135 |     pub fn get_fish_or_init<F>(&self, initializer: F) -> Fish<T>
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 157 |     pub fn try_populate(&self, value: T) -> Result<(), T> {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 178 |     pub fn populate_blocking(&self, value: T) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 193 |     pub fn get_fish_sender(&self) -> GenericSender<T> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `SimulationDataAdapter` is never used
[INFO] [stdout]   --> src/backend/processor/mod.rs:18:11
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub trait SimulationDataAdapter: Send {
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SimulationOutputProcessor` is never constructed
[INFO] [stdout]   --> src/backend/processor/mod.rs:84:12
[INFO] [stdout]    |
[INFO] [stdout] 84 | pub struct SimulationOutputProcessor<A: SimulationDataAdapter> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `get_pool`, `get_writeable_adapter`, `process_engine_output`, and `change_adapter` are never used
[INFO] [stdout]    --> src/backend/processor/mod.rs:93:12
[INFO] [stdout]     |
[INFO] [stdout]  89 | / impl<A> SimulationOutputProcessor<A>
[INFO] [stdout]  90 | | where
[INFO] [stdout]  91 | |     A: SimulationDataAdapter,
[INFO] [stdout]     | |_____________________________- associated items in this implementation
[INFO] [stdout]  92 |   {
[INFO] [stdout]  93 |       pub fn new(adapters_pool: Arc<Pool<SimulationData>>, initializer: Box<dyn Fn() -> A>) -> Self {
[INFO] [stdout]     |              ^^^
[INFO] [stdout] ...
[INFO] [stdout] 100 |       pub fn get_pool(&self) -> Arc<Pool<SimulationData>> {
[INFO] [stdout]     |              ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 109 |       fn get_writeable_adapter(&self) -> A {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 137 |       pub fn process_engine_output(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 160 |       pub fn change_adapter<NA>(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `AdapterConfiguration` is never used
[INFO] [stdout]   --> src/backend/processor/adapters/mod.rs:17:10
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub enum AdapterConfiguration {}
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `AdapterFactory` is never used
[INFO] [stdout]   --> src/backend/processor/adapters/mod.rs:23:10
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub enum AdapterFactory {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `create` is never used
[INFO] [stdout]   --> src/backend/processor/adapters/mod.rs:28:12
[INFO] [stdout]    |
[INFO] [stdout] 27 | impl AdapterFactory {
[INFO] [stdout]    | ------------------- associated function in this implementation
[INFO] [stdout] 28 |     pub fn create(_config: AdapterConfiguration) -> Self {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RawOutputAdapter` is never constructed
[INFO] [stdout]  --> src/backend/processor/adapters/raw.rs:9:12
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub struct RawOutputAdapter;
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 40.05s
[INFO] running `Command { std: "docker" "inspect" "e6b2ad53e6830230e50d7378d066a7c245df0eb04f1e5be0c2815d29538815d7", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "e6b2ad53e6830230e50d7378d066a7c245df0eb04f1e5be0c2815d29538815d7", kill_on_drop: false }`
[INFO] [stdout] e6b2ad53e6830230e50d7378d066a7c245df0eb04f1e5be0c2815d29538815d7
