[INFO] cloning repository https://github.com/SimonXYH/LBM-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/SimonXYH/LBM-Fluid-Simulation" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FSimonXYH%2FLBM-Fluid-Simulation", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FSimonXYH%2FLBM-Fluid-Simulation'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 05f597e3a558f0e5bc26b670e6ad19cb00c0afbb
[INFO] checking SimonXYH/LBM-Fluid-Simulation against e977a0b5ab976a591981e7263bd67a71a4f79308 for pr-158914
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FSimonXYH%2FLBM-Fluid-Simulation" "/workspace/builds/worker-5-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/SimonXYH/LBM-Fluid-Simulation
[INFO] finished tweaking git repo https://github.com/SimonXYH/LBM-Fluid-Simulation
[INFO] tweaked toml for git repo https://github.com/SimonXYH/LBM-Fluid-Simulation written to /workspace/builds/worker-5-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/SimonXYH/LBM-Fluid-Simulation on toolchain e977a0b5ab976a591981e7263bd67a71a4f79308
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+e977a0b5ab976a591981e7263bd67a71a4f79308" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/SimonXYH/LBM-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" "+e977a0b5ab976a591981e7263bd67a71a4f79308" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]     Blocking waiting for file lock on package cache
[ERROR] error running command: no output for 300 seconds
[INFO] checking SimonXYH/LBM-Fluid-Simulation against e977a0b5ab976a591981e7263bd67a71a4f79308 for pr-158914
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FSimonXYH%2FLBM-Fluid-Simulation" "/workspace/builds/worker-5-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/SimonXYH/LBM-Fluid-Simulation
[INFO] finished tweaking git repo https://github.com/SimonXYH/LBM-Fluid-Simulation
[INFO] tweaked toml for git repo https://github.com/SimonXYH/LBM-Fluid-Simulation written to /workspace/builds/worker-5-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/SimonXYH/LBM-Fluid-Simulation on toolchain e977a0b5ab976a591981e7263bd67a71a4f79308
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+e977a0b5ab976a591981e7263bd67a71a4f79308" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/SimonXYH/LBM-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" "+e977a0b5ab976a591981e7263bd67a71a4f79308" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded pallete v1.1.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3d5ced03c013a94a2f102a4510f48a6e9184255caf5fd8244f58017bde7f5210" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 7b62ac9ceb236c795375ce32581fc5723d367859a9e3b0ad5e409ec8af64f0d7
[INFO] running `Command { std: "docker" "start" "7b62ac9ceb236c795375ce32581fc5723d367859a9e3b0ad5e409ec8af64f0d7", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "7b62ac9ceb236c795375ce32581fc5723d367859a9e3b0ad5e409ec8af64f0d7", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "7b62ac9ceb236c795375ce32581fc5723d367859a9e3b0ad5e409ec8af64f0d7" "/opt/rustwide/cargo-home/bin/cargo" "+e977a0b5ab976a591981e7263bd67a71a4f79308" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "7b62ac9ceb236c795375ce32581fc5723d367859a9e3b0ad5e409ec8af64f0d7", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-w" "/opt/rustwide/workdir" "--user" "0:0" "7b62ac9ceb236c795375ce32581fc5723d367859a9e3b0ad5e409ec8af64f0d7" "/opt/rustwide/cargo-home/bin/cargo" "+e977a0b5ab976a591981e7263bd67a71a4f79308" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling version-compare v0.1.1
[INFO] [stderr]    Compiling matrixmultiply v0.3.10
[INFO] [stderr]    Compiling sdl2 v0.38.0
[INFO] [stderr]     Checking phf_shared v0.11.3
[INFO] [stderr]    Compiling phf_generator v0.11.3
[INFO] [stderr]     Checking pallete v1.1.0
[INFO] [stderr]     Checking bit-vec v0.8.0
[INFO] [stderr]     Checking getrandom v0.3.3
[INFO] [stderr]     Checking num-integer v0.1.46
[INFO] [stderr]     Checking num-complex v0.4.6
[INFO] [stderr]     Checking approx v0.5.1
[INFO] [stderr]    Compiling syn v2.0.106
[INFO] [stderr]     Checking rand_core v0.9.3
[INFO] [stderr]    Compiling sdl2-sys v0.38.0
[INFO] [stderr]     Checking rand_chacha v0.9.0
[INFO] [stderr]     Checking ndarray v0.16.1
[INFO] [stderr]     Checking rand v0.9.2
[INFO] [stderr]    Compiling phf_macros v0.11.3
[INFO] [stderr]    Compiling palette_derive v0.7.6
[INFO] [stderr]     Checking phf v0.11.3
[INFO] [stderr]     Checking palette v0.7.6
[INFO] [stderr]     Checking fluid v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `Array2`
[INFO] [stdout]  --> src/canvas.rs:3:23
[INFO] [stdout]   |
[INFO] [stdout] 3 | use ndarray::{Array1, Array2};
[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: `FluidState`
[INFO] [stdout]  --> src/canvas.rs:9:34
[INFO] [stdout]   |
[INFO] [stdout] 9 | use crate::lattice_state::{Cell, FluidState};
[INFO] [stdout]   |                                  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::process::Output`
[INFO] [stdout]  --> src/vec2.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::process::Output;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Array2`
[INFO] [stdout]  --> src/canvas.rs:3:23
[INFO] [stdout]   |
[INFO] [stdout] 3 | use ndarray::{Array1, Array2};
[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: `FluidState`
[INFO] [stdout]  --> src/canvas.rs:9:34
[INFO] [stdout]   |
[INFO] [stdout] 9 | use crate::lattice_state::{Cell, FluidState};
[INFO] [stdout]   |                                  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::process::Output`
[INFO] [stdout]  --> src/vec2.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::process::Output;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `rand::thread_rng`: Renamed to `rng`
[INFO] [stdout]  --> src/vec2.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 4 | use rand::{thread_rng, Rng};
[INFO] [stdout]   |            ^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `rand::thread_rng`: Renamed to `rng`
[INFO] [stdout]   --> src/vec2.rs:37:23
[INFO] [stdout]    |
[INFO] [stdout] 37 |         let mut rng = thread_rng();
[INFO] [stdout]    |                       ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `rand::thread_rng`: Renamed to `rng`
[INFO] [stdout]  --> src/vec2.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 4 | use rand::{thread_rng, Rng};
[INFO] [stdout]   |            ^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `rand::thread_rng`: Renamed to `rng`
[INFO] [stdout]   --> src/vec2.rs:37:23
[INFO] [stdout]    |
[INFO] [stdout] 37 |         let mut rng = thread_rng();
[INFO] [stdout]    |                       ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `rand::Rng::gen_range`: Renamed to `random_range`
[INFO] [stdout]   --> src/vec2.rs:38:23
[INFO] [stdout]    |
[INFO] [stdout] 38 |         let mag = rng.gen_range(mag_range.0..mag_range.1);
[INFO] [stdout]    |                       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `rand::Rng::gen_range`: Renamed to `random_range`
[INFO] [stdout]   --> src/vec2.rs:39:25
[INFO] [stdout]    |
[INFO] [stdout] 39 |         let angle = rng.gen_range(0f32..2. * PI);
[INFO] [stdout]    |                         ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `rand::Rng::gen_range`: Renamed to `random_range`
[INFO] [stdout]   --> src/vec2.rs:38:23
[INFO] [stdout]    |
[INFO] [stdout] 38 |         let mag = rng.gen_range(mag_range.0..mag_range.1);
[INFO] [stdout]    |                       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `rand::Rng::gen_range`: Renamed to `random_range`
[INFO] [stdout]   --> src/vec2.rs:39:25
[INFO] [stdout]    |
[INFO] [stdout] 39 |         let angle = rng.gen_range(0f32..2. * PI);
[INFO] [stdout]    |                         ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `palette::num::Sqrt`
[INFO] [stdout]  --> src/tup2.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use palette::num::Sqrt;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `palette::num::Sqrt`
[INFO] [stdout]  --> src/tup2.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use palette::num::Sqrt;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `T` is assigned to, but never used
[INFO] [stdout]   --> src/lattice_boltzmann_sim.rs:79:9
[INFO] [stdout]    |
[INFO] [stdout] 79 |     let mut T = 0;
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: consider using `_T` instead
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `T` is never read
[INFO] [stdout]    --> src/lattice_boltzmann_sim.rs:114:9
[INFO] [stdout]     |
[INFO] [stdout] 114 |         T+= 1;
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pos`
[INFO] [stdout]   --> src/lattice_boltzmann_sim.rs:64:19
[INFO] [stdout]    |
[INFO] [stdout] 64 |     fn f_velocity(pos: Tup2<f32>) -> Tup2<f32>{
[INFO] [stdout]    |                   ^^^ help: if this is intentional, prefix it with an underscore: `_pos`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `T` is assigned to, but never used
[INFO] [stdout]   --> src/lattice_boltzmann_sim.rs:79:9
[INFO] [stdout]    |
[INFO] [stdout] 79 |     let mut T = 0;
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: consider using `_T` instead
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `T` is never read
[INFO] [stdout]    --> src/lattice_boltzmann_sim.rs:114:9
[INFO] [stdout]     |
[INFO] [stdout] 114 |         T+= 1;
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pos`
[INFO] [stdout]   --> src/lattice_boltzmann_sim.rs:64:19
[INFO] [stdout]    |
[INFO] [stdout] 64 |     fn f_velocity(pos: Tup2<f32>) -> Tup2<f32>{
[INFO] [stdout]    |                   ^^^ help: if this is intentional, prefix it with an underscore: `_pos`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `vel`
[INFO] [stdout]    --> src/canvas.rs:230:29
[INFO] [stdout]     |
[INFO] [stdout] 230 |                         let vel = fluid_state.velocity;
[INFO] [stdout]     |                             ^^^ help: if this is intentional, prefix it with an underscore: `_vel`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `vel`
[INFO] [stdout]    --> src/canvas.rs:230:29
[INFO] [stdout]     |
[INFO] [stdout] 230 |                         let vel = fluid_state.velocity;
[INFO] [stdout]     |                             ^^^ help: if this is intentional, prefix it with an underscore: `_vel`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `canvas_center` and `bg_color` are never read
[INFO] [stdout]   --> src/canvas.rs:22:9
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub struct Canvas2D {
[INFO] [stdout]    |            -------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 22 |     pub canvas_center: Vec2<f32>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout] 23 |     pub bg_color: (u8, u8, u8),
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `draw_point` and `draw_point_s2` are never used
[INFO] [stdout]   --> src/canvas.rs:58:12
[INFO] [stdout]    |
[INFO] [stdout] 57 | impl Canvas2D{
[INFO] [stdout]    | ------------- methods in this implementation
[INFO] [stdout] 58 |     pub fn draw_point(&mut self, point: Vec2<f32>) {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 72 |     pub fn draw_point_s2(&mut self, point_1: Vec2<f32>, scene_num: usize) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `draw_rect` and `draw_rect_s2` are never used
[INFO] [stdout]    --> src/canvas.rs:101:12
[INFO] [stdout]     |
[INFO] [stdout] 100 | impl Canvas2D {
[INFO] [stdout]     | ------------- methods in this implementation
[INFO] [stdout] 101 |     pub fn draw_rect(
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 123 |     pub fn draw_rect_s2(
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `draw_scattered_array` is never used
[INFO] [stdout]    --> src/canvas.rs:170:12
[INFO] [stdout]     |
[INFO] [stdout] 169 | impl Canvas2D{
[INFO] [stdout]     | ------------- method in this implementation
[INFO] [stdout] 170 |     pub fn draw_scattered_array(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]  --> src/tup2.rs:9:12
[INFO] [stdout]   |
[INFO] [stdout] 8 | impl<T> Tup2<T> {
[INFO] [stdout]   | --------------- associated function in this implementation
[INFO] [stdout] 9 |     pub fn new(x: T, y: T) -> Self {
[INFO] [stdout]   |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `to_usize` is never used
[INFO] [stdout]   --> src/tup2.rs:38:12
[INFO] [stdout]    |
[INFO] [stdout] 23 | impl Tup2<f32> {
[INFO] [stdout]    | -------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 38 |     pub fn to_usize(self) -> Tup2<usize> {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `dist`, `dist_sq`, and `random` are never used
[INFO] [stdout]   --> src/vec2.rs:28:12
[INFO] [stdout]    |
[INFO] [stdout] 20 | impl Vec2<f32>{
[INFO] [stdout]    | -------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 28 |     pub fn dist(self, other: Vec2<f32>) -> f32{
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 32 |     pub fn dist_sq(self, other: Vec2<f32>) -> f32{
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 36 |     pub fn random(mag_range: (f32, f32)) -> Self{
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DISCRETE_VEL` is never used
[INFO] [stdout]   --> src/lattice_state.rs:24:18
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub(crate) const DISCRETE_VEL: [Tup2<f32>; 9] = [
[INFO] [stdout]    |                  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `advect`, and `update_distribution` are never used
[INFO] [stdout]    --> src/lattice_state.rs:78:12
[INFO] [stdout]     |
[INFO] [stdout]  77 | impl FluidState {
[INFO] [stdout]     | --------------- associated items in this implementation
[INFO] [stdout]  78 |     pub fn new(d_i: [f32; 9], velocity: Tup2<f32>, density: f32) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 130 |     pub fn advect(&mut self, neighbors_state: [Cell; 9]) {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 139 |     pub fn update_distribution(&mut self){
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `length` and `max_dim` are never read
[INFO] [stdout]   --> src/obstacle_board.rs:8:9
[INFO] [stdout]    |
[INFO] [stdout]  6 | pub struct GridStats {
[INFO] [stdout]    |            --------- fields in this struct
[INFO] [stdout]  7 |     pub shape: (usize, usize),
[INFO] [stdout]  8 |     pub length: f32,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout]  9 |     pub grid_pos: Array2<Tup2<f32>>,
[INFO] [stdout] 10 |     pub max_dim: f32,
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `GridStats` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `exist_obstacle`, and `pos_to_linear_index` are never used
[INFO] [stdout]   --> src/obstacle_board.rs:76:12
[INFO] [stdout]    |
[INFO] [stdout] 58 | impl ObstacleBoard {
[INFO] [stdout]    | ------------------ associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 76 |     pub fn new(grid_stats: GridStats, filled_index: Vec<(usize, usize)>) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 84 |     pub fn exist_obstacle(&self, i: usize, j: usize) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 93 |     pub fn pos_to_linear_index(&self, pos: Tup2<f32>) -> usize {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `obstacle_board` is never read
[INFO] [stdout]    --> src/fluid_struct.rs:120:9
[INFO] [stdout]     |
[INFO] [stdout] 117 | pub struct LBFluidSim {
[INFO] [stdout]     |            ---------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 120 |     pub obstacle_board: ObstacleBoard,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `T` should have a snake case name
[INFO] [stdout]   --> src/lattice_boltzmann_sim.rs:79:13
[INFO] [stdout]    |
[INFO] [stdout] 79 |     let mut T = 0;
[INFO] [stdout]    |             ^ help: convert the identifier to snake case: `t`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `canvas_center` and `bg_color` are never read
[INFO] [stdout]   --> src/canvas.rs:22:9
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub struct Canvas2D {
[INFO] [stdout]    |            -------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 22 |     pub canvas_center: Vec2<f32>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout] 23 |     pub bg_color: (u8, u8, u8),
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `draw_point` and `draw_point_s2` are never used
[INFO] [stdout]   --> src/canvas.rs:58:12
[INFO] [stdout]    |
[INFO] [stdout] 57 | impl Canvas2D{
[INFO] [stdout]    | ------------- methods in this implementation
[INFO] [stdout] 58 |     pub fn draw_point(&mut self, point: Vec2<f32>) {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 72 |     pub fn draw_point_s2(&mut self, point_1: Vec2<f32>, scene_num: usize) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `draw_rect` and `draw_rect_s2` are never used
[INFO] [stdout]    --> src/canvas.rs:101:12
[INFO] [stdout]     |
[INFO] [stdout] 100 | impl Canvas2D {
[INFO] [stdout]     | ------------- methods in this implementation
[INFO] [stdout] 101 |     pub fn draw_rect(
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 123 |     pub fn draw_rect_s2(
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `draw_scattered_array` is never used
[INFO] [stdout]    --> src/canvas.rs:170:12
[INFO] [stdout]     |
[INFO] [stdout] 169 | impl Canvas2D{
[INFO] [stdout]     | ------------- method in this implementation
[INFO] [stdout] 170 |     pub fn draw_scattered_array(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]  --> src/tup2.rs:9:12
[INFO] [stdout]   |
[INFO] [stdout] 8 | impl<T> Tup2<T> {
[INFO] [stdout]   | --------------- associated function in this implementation
[INFO] [stdout] 9 |     pub fn new(x: T, y: T) -> Self {
[INFO] [stdout]   |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `to_usize` is never used
[INFO] [stdout]   --> src/tup2.rs:38:12
[INFO] [stdout]    |
[INFO] [stdout] 23 | impl Tup2<f32> {
[INFO] [stdout]    | -------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 38 |     pub fn to_usize(self) -> Tup2<usize> {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `dist`, `dist_sq`, and `random` are never used
[INFO] [stdout]   --> src/vec2.rs:28:12
[INFO] [stdout]    |
[INFO] [stdout] 20 | impl Vec2<f32>{
[INFO] [stdout]    | -------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 28 |     pub fn dist(self, other: Vec2<f32>) -> f32{
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 32 |     pub fn dist_sq(self, other: Vec2<f32>) -> f32{
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 36 |     pub fn random(mag_range: (f32, f32)) -> Self{
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DISCRETE_VEL` is never used
[INFO] [stdout]   --> src/lattice_state.rs:24:18
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub(crate) const DISCRETE_VEL: [Tup2<f32>; 9] = [
[INFO] [stdout]    |                  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `advect`, and `update_distribution` are never used
[INFO] [stdout]    --> src/lattice_state.rs:78:12
[INFO] [stdout]     |
[INFO] [stdout]  77 | impl FluidState {
[INFO] [stdout]     | --------------- associated items in this implementation
[INFO] [stdout]  78 |     pub fn new(d_i: [f32; 9], velocity: Tup2<f32>, density: f32) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 130 |     pub fn advect(&mut self, neighbors_state: [Cell; 9]) {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 139 |     pub fn update_distribution(&mut self){
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `length` and `max_dim` are never read
[INFO] [stdout]   --> src/obstacle_board.rs:8:9
[INFO] [stdout]    |
[INFO] [stdout]  6 | pub struct GridStats {
[INFO] [stdout]    |            --------- fields in this struct
[INFO] [stdout]  7 |     pub shape: (usize, usize),
[INFO] [stdout]  8 |     pub length: f32,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout]  9 |     pub grid_pos: Array2<Tup2<f32>>,
[INFO] [stdout] 10 |     pub max_dim: f32,
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `GridStats` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `exist_obstacle`, and `pos_to_linear_index` are never used
[INFO] [stdout]   --> src/obstacle_board.rs:76:12
[INFO] [stdout]    |
[INFO] [stdout] 58 | impl ObstacleBoard {
[INFO] [stdout]    | ------------------ associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 76 |     pub fn new(grid_stats: GridStats, filled_index: Vec<(usize, usize)>) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 84 |     pub fn exist_obstacle(&self, i: usize, j: usize) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 93 |     pub fn pos_to_linear_index(&self, pos: Tup2<f32>) -> usize {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `obstacle_board` is never read
[INFO] [stdout]    --> src/fluid_struct.rs:120:9
[INFO] [stdout]     |
[INFO] [stdout] 117 | pub struct LBFluidSim {
[INFO] [stdout]     |            ---------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 120 |     pub obstacle_board: ObstacleBoard,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `T` should have a snake case name
[INFO] [stdout]   --> src/lattice_boltzmann_sim.rs:79:13
[INFO] [stdout]    |
[INFO] [stdout] 79 |     let mut T = 0;
[INFO] [stdout]    |             ^ help: convert the identifier to snake case: `t`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 11.58s
[INFO] running `Command { std: "docker" "inspect" "7b62ac9ceb236c795375ce32581fc5723d367859a9e3b0ad5e409ec8af64f0d7", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "7b62ac9ceb236c795375ce32581fc5723d367859a9e3b0ad5e409ec8af64f0d7", kill_on_drop: false }`
[INFO] [stdout] 7b62ac9ceb236c795375ce32581fc5723d367859a9e3b0ad5e409ec8af64f0d7
