[INFO] cloning repository https://github.com/polsevev/BeepSortRust
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/polsevev/BeepSortRust" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fpolsevev%2FBeepSortRust", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fpolsevev%2FBeepSortRust'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 0969366e27e3c12aa658200842d13edb713591b3
[INFO] checking polsevev/BeepSortRust against 1.95.0 for pr-155915
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fpolsevev%2FBeepSortRust" "/workspace/builds/worker-7-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/polsevev/BeepSortRust
[INFO] finished tweaking git repo https://github.com/polsevev/BeepSortRust
[INFO] tweaked toml for git repo https://github.com/polsevev/BeepSortRust written to /workspace/builds/worker-7-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/polsevev/BeepSortRust on toolchain 1.95.0
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.95.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/polsevev/BeepSortRust 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" "+1.95.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded tokio-test v0.4.2
[INFO] [stderr]   Downloaded async-stream v0.3.4
[INFO] [stderr]   Downloaded async-stream-impl v0.3.4
[INFO] [stderr]   Downloaded image v0.24.5
[INFO] [stderr]   Downloaded tokio v1.26.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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" "+1.95.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 31bf1d666e281880ff01ad0da97692a861d59cb990e47e8fd66ca3e695ab6cbf
[INFO] running `Command { std: "docker" "start" "-a" "31bf1d666e281880ff01ad0da97692a861d59cb990e47e8fd66ca3e695ab6cbf", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "31bf1d666e281880ff01ad0da97692a861d59cb990e47e8fd66ca3e695ab6cbf", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "31bf1d666e281880ff01ad0da97692a861d59cb990e47e8fd66ca3e695ab6cbf", kill_on_drop: false }`
[INFO] [stdout] 31bf1d666e281880ff01ad0da97692a861d59cb990e47e8fd66ca3e695ab6cbf
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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" "+1.95.0" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 15cd6e792e1513597d27dde34ed92eddd5bf5da8516fbefcd1abf63ab0d12427
[INFO] running `Command { std: "docker" "start" "-a" "15cd6e792e1513597d27dde34ed92eddd5bf5da8516fbefcd1abf63ab0d12427", kill_on_drop: false }`
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]     Checking getrandom v0.2.8
[INFO] [stderr]    Compiling tokio v1.26.0
[INFO] [stderr]     Checking once_cell v1.16.0
[INFO] [stderr]     Checking quad-alsa-sys v0.3.2
[INFO] [stderr]     Checking bytemuck v1.12.2
[INFO] [stderr]    Compiling async-trait v0.1.64
[INFO] [stderr]     Checking miniquad v0.3.14
[INFO] [stderr]     Checking bumpalo v3.11.1
[INFO] [stderr]     Checking ahash v0.7.6
[INFO] [stderr]     Checking image v0.24.5
[INFO] [stderr]     Checking hashbrown v0.11.2
[INFO] [stderr]     Checking quad-snd v0.2.7
[INFO] [stderr]     Checking fontdue v0.7.2
[INFO] [stderr]     Checking macroquad v0.3.25
[INFO] [stderr]     Checking tokio-stream v0.1.12
[INFO] [stderr]    Compiling async-stream-impl v0.3.4
[INFO] [stderr]     Checking async-stream v0.3.4
[INFO] [stderr]     Checking tokio-test v0.4.2
[INFO] [stderr]     Checking BeepSortMacroQuad v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `macroquad::audio::PlaySoundParams`
[INFO] [stdout]  --> src/BarPlugin.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use macroquad::audio::PlaySoundParams;
[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: `macroquad::audio::Sound`
[INFO] [stdout]  --> src/BarPlugin.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use macroquad::audio::Sound;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `macroquad::audio::play_sound`
[INFO] [stdout]  --> src/BarPlugin.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use macroquad::audio::play_sound;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `macroquad::audio::play_sound_once`
[INFO] [stdout]  --> src/BarPlugin.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use macroquad::audio::play_sound_once;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `macroquad::color_u8`
[INFO] [stdout]  --> src/BarPlugin.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use macroquad::color_u8;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `macroquad::rand`
[INFO] [stdout]  --> src/BarPlugin.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use macroquad::rand;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::soundGenerator`
[INFO] [stdout]   --> src/BarPlugin.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::soundGenerator;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]   --> src/BarPlugin.rs:24:38
[INFO] [stdout]    |
[INFO] [stdout] 24 |             color: color::hsl_to_rgb((hsl_color as f32) , 1.0, 0.5),
[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] 24 -             color: color::hsl_to_rgb((hsl_color as f32) , 1.0, 0.5),
[INFO] [stdout] 24 +             color: color::hsl_to_rgb(hsl_color as f32 , 1.0, 0.5),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `PlaySoundParams`, `Sound`, `play_sound_once`, and `play_sound`
[INFO] [stdout]  --> src/GuiHookVec.rs:4:24
[INFO] [stdout]   |
[INFO] [stdout] 4 | use macroquad::audio::{play_sound_once, Sound, play_sound, PlaySoundParams};
[INFO] [stdout]   |                        ^^^^^^^^^^^^^^^  ^^^^^  ^^^^^^^^^^  ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `BROWN`
[INFO] [stdout]  --> src/GuiHookVec.rs:5:24
[INFO] [stdout]   |
[INFO] [stdout] 5 | use macroquad::color::{BROWN, WHITE};
[INFO] [stdout]   |                        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::soundGenerator`
[INFO] [stdout]   --> src/GuiHookVec.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use crate::soundGenerator;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BLACK`, `WHITE`, `clear_background`, `next_frame`, `play_sound_once`, `screen_height`, `screen_width`, and `text::draw_text`
[INFO] [stdout]  --> src/soundGenerator.rs:3:55
[INFO] [stdout]   |
[INFO] [stdout] 3 | ...s, play_sound_once}, window::{next_frame, screen_width, screen_height, clear_background}, text::draw_text, prelude::{BLACK, WHITE}};
[INFO] [stdout]   |       ^^^^^^^^^^^^^^^            ^^^^^^^^^^  ^^^^^^^^^^^^  ^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^   ^^^^^^^^^^^^^^^            ^^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]   --> src/soundGenerator.rs:73:15
[INFO] [stdout]    |
[INFO] [stdout] 73 |     let lim = ((SAMPLE_RATE as f32 * duration) as usize);
[INFO] [stdout]    |               ^                                        ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 73 -     let lim = ((SAMPLE_RATE as f32 * duration) as usize);
[INFO] [stdout] 73 +     let lim = (SAMPLE_RATE as f32 * duration) as usize ;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]   --> src/soundGenerator.rs:77:23
[INFO] [stdout]    |
[INFO] [stdout] 77 |         let channel = (amplitude  * if i+100 > lim {0.} else {value});
[INFO] [stdout]    |                       ^                                             ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 77 -         let channel = (amplitude  * if i+100 > lim {0.} else {value});
[INFO] [stdout] 77 +         let channel = amplitude  * if i+100 > lim {0.} else {value} ;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::f32::consts::PI`
[INFO] [stdout]  --> src/main.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::f32::consts::PI;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fs::File`
[INFO] [stdout]  --> src/main.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::fs::File;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::path::Path`
[INFO] [stdout]  --> src/main.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::path::Path;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/algorithm/quickSort.rs:34:48
[INFO] [stdout]    |
[INFO] [stdout] 34 | async fn partition(list:&mut impl SortingList, mut low:usize, mut high:usize, p:usize) -> i32{
[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/algorithm/quickSort.rs:34:63
[INFO] [stdout]    |
[INFO] [stdout] 34 | async fn partition(list:&mut impl SortingList, mut low:usize, mut high:usize, p:usize) -> i32{
[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/algorithm/radixSortLSD.rs:41:9
[INFO] [stdout]    |
[INFO] [stdout] 41 |     let mut listClone = list.getListClone();
[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/main.rs:31:9
[INFO] [stdout]    |
[INFO] [stdout] 31 |     let mut algorithm = algorithm::Algorithm::new();
[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/main.rs:44:13
[INFO] [stdout]    |
[INFO] [stdout] 44 |         let mut centerX = screen_width()/2.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/main.rs:54:13
[INFO] [stdout]    |
[INFO] [stdout] 54 |         let mut algo = buttonDropDown.render();
[INFO] [stdout]    |             ----^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `frequency`
[INFO] [stdout]   --> src/GuiHookVec.rs:75:17
[INFO] [stdout]    |
[INFO] [stdout] 75 |             let frequency = i as f32 * freqStep;
[INFO] [stdout]    |                 ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_frequency`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `macroquad::audio::PlaySoundParams`
[INFO] [stdout]  --> src/BarPlugin.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use macroquad::audio::PlaySoundParams;
[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: `macroquad::audio::Sound`
[INFO] [stdout]  --> src/BarPlugin.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use macroquad::audio::Sound;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `macroquad::audio::play_sound`
[INFO] [stdout]  --> src/BarPlugin.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use macroquad::audio::play_sound;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `macroquad::audio::play_sound_once`
[INFO] [stdout]  --> src/BarPlugin.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use macroquad::audio::play_sound_once;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `macroquad::color_u8`
[INFO] [stdout]  --> src/BarPlugin.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use macroquad::color_u8;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `macroquad::rand`
[INFO] [stdout]  --> src/BarPlugin.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use macroquad::rand;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::soundGenerator`
[INFO] [stdout]   --> src/BarPlugin.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::soundGenerator;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]   --> src/BarPlugin.rs:24:38
[INFO] [stdout]    |
[INFO] [stdout] 24 |             color: color::hsl_to_rgb((hsl_color as f32) , 1.0, 0.5),
[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] 24 -             color: color::hsl_to_rgb((hsl_color as f32) , 1.0, 0.5),
[INFO] [stdout] 24 +             color: color::hsl_to_rgb(hsl_color as f32 , 1.0, 0.5),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `PlaySoundParams`, `Sound`, `play_sound_once`, and `play_sound`
[INFO] [stdout]  --> src/GuiHookVec.rs:4:24
[INFO] [stdout]   |
[INFO] [stdout] 4 | use macroquad::audio::{play_sound_once, Sound, play_sound, PlaySoundParams};
[INFO] [stdout]   |                        ^^^^^^^^^^^^^^^  ^^^^^  ^^^^^^^^^^  ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `BROWN`
[INFO] [stdout]  --> src/GuiHookVec.rs:5:24
[INFO] [stdout]   |
[INFO] [stdout] 5 | use macroquad::color::{BROWN, WHITE};
[INFO] [stdout]   |                        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::soundGenerator`
[INFO] [stdout]   --> src/GuiHookVec.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use crate::soundGenerator;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BLACK`, `WHITE`, `clear_background`, `next_frame`, `play_sound_once`, `screen_height`, `screen_width`, and `text::draw_text`
[INFO] [stdout]  --> src/soundGenerator.rs:3:55
[INFO] [stdout]   |
[INFO] [stdout] 3 | ...s, play_sound_once}, window::{next_frame, screen_width, screen_height, clear_background}, text::draw_text, prelude::{BLACK, WHITE}};
[INFO] [stdout]   |       ^^^^^^^^^^^^^^^            ^^^^^^^^^^  ^^^^^^^^^^^^  ^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^   ^^^^^^^^^^^^^^^            ^^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]   --> src/soundGenerator.rs:73:15
[INFO] [stdout]    |
[INFO] [stdout] 73 |     let lim = ((SAMPLE_RATE as f32 * duration) as usize);
[INFO] [stdout]    |               ^                                        ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 73 -     let lim = ((SAMPLE_RATE as f32 * duration) as usize);
[INFO] [stdout] 73 +     let lim = (SAMPLE_RATE as f32 * duration) as usize ;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]   --> src/soundGenerator.rs:77:23
[INFO] [stdout]    |
[INFO] [stdout] 77 |         let channel = (amplitude  * if i+100 > lim {0.} else {value});
[INFO] [stdout]    |                       ^                                             ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 77 -         let channel = (amplitude  * if i+100 > lim {0.} else {value});
[INFO] [stdout] 77 +         let channel = amplitude  * if i+100 > lim {0.} else {value} ;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::f32::consts::PI`
[INFO] [stdout]  --> src/main.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::f32::consts::PI;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fs::File`
[INFO] [stdout]  --> src/main.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::fs::File;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::path::Path`
[INFO] [stdout]  --> src/main.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::path::Path;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `delay`
[INFO] [stdout]    --> src/GuiHookVec.rs:256:32
[INFO] [stdout]     |
[INFO] [stdout] 256 |     async fn new(length:usize, delay:f32) -> Self{
[INFO] [stdout]     |                                ^^^^^ help: if this is intentional, prefix it with an underscore: `_delay`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `length` is never read
[INFO] [stdout]   --> src/main.rs:26:22
[INFO] [stdout]    |
[INFO] [stdout] 26 |     let mut length = 1_usize;
[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: field `lastTime` is never read
[INFO] [stdout]   --> src/GuiHookVec.rs:24:9
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub struct GuiVec{
[INFO] [stdout]    |            ------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 24 |     pub lastTime:f64,
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `GuiVec` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `NonGuiVec` is never constructed
[INFO] [stdout]    --> src/GuiHookVec.rs:250:12
[INFO] [stdout]     |
[INFO] [stdout] 250 | pub struct NonGuiVec{
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CHUNK_ID` is never used
[INFO] [stdout]  --> src/soundGenerator.rs:6:7
[INFO] [stdout]   |
[INFO] [stdout] 6 | const CHUNK_ID:&str = "RIFF";
[INFO] [stdout]   |       ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CHUNK_SIZE` is never used
[INFO] [stdout]  --> src/soundGenerator.rs:7:7
[INFO] [stdout]   |
[INFO] [stdout] 7 | const CHUNK_SIZE:&str = "----";
[INFO] [stdout]   |       ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FORMAT` is never used
[INFO] [stdout]  --> src/soundGenerator.rs:8:7
[INFO] [stdout]   |
[INFO] [stdout] 8 | const FORMAT:&str = "WAVE";
[INFO] [stdout]   |       ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SUBCHUNK_1_ID` is never used
[INFO] [stdout]   --> src/soundGenerator.rs:11:7
[INFO] [stdout]    |
[INFO] [stdout] 11 | const SUBCHUNK_1_ID:&str = "fmt ";
[INFO] [stdout]    |       ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SUBCHUNK_1_SIZE` is never used
[INFO] [stdout]   --> src/soundGenerator.rs:12:7
[INFO] [stdout]    |
[INFO] [stdout] 12 | const SUBCHUNK_1_SIZE:i32 = 16;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `AUDIO_FORMAT` is never used
[INFO] [stdout]   --> src/soundGenerator.rs:13:7
[INFO] [stdout]    |
[INFO] [stdout] 13 | const AUDIO_FORMAT:i16 = 1;
[INFO] [stdout]    |       ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NUM_CHANNELS` is never used
[INFO] [stdout]   --> src/soundGenerator.rs:14:7
[INFO] [stdout]    |
[INFO] [stdout] 14 | const NUM_CHANNELS:i16 = 1;
[INFO] [stdout]    |       ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SAMPLE_RATE` is never used
[INFO] [stdout]   --> src/soundGenerator.rs:15:7
[INFO] [stdout]    |
[INFO] [stdout] 15 | const SAMPLE_RATE:i32 = 44100;
[INFO] [stdout]    |       ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BYTE_RATE` is never used
[INFO] [stdout]   --> src/soundGenerator.rs:16:7
[INFO] [stdout]    |
[INFO] [stdout] 16 | const BYTE_RATE:i32 = SAMPLE_RATE * NUM_CHANNELS as i32 * (SUBCHUNK_1_SIZE / 8);
[INFO] [stdout]    |       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BLOACK_ALIGN` is never used
[INFO] [stdout]   --> src/soundGenerator.rs:17:7
[INFO] [stdout]    |
[INFO] [stdout] 17 | const BLOACK_ALIGN:i16 = NUM_CHANNELS * (SUBCHUNK_1_SIZE / 8) as i16;
[INFO] [stdout]    |       ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BITS_PR_SAMPLE` is never used
[INFO] [stdout]   --> src/soundGenerator.rs:18:7
[INFO] [stdout]    |
[INFO] [stdout] 18 | const BITS_PR_SAMPLE:i16 = 16;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SUBCHUNK_2_ID` is never used
[INFO] [stdout]   --> src/soundGenerator.rs:21:7
[INFO] [stdout]    |
[INFO] [stdout] 21 | const SUBCHUNK_2_ID:&str = "data";
[INFO] [stdout]    |       ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SUBCHUNK_2_SIZE` is never used
[INFO] [stdout]   --> src/soundGenerator.rs:22:7
[INFO] [stdout]    |
[INFO] [stdout] 22 | const SUBCHUNK_2_SIZE:&str = "----";
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MAX_AMPLITUDE` is never used
[INFO] [stdout]   --> src/soundGenerator.rs:25:7
[INFO] [stdout]    |
[INFO] [stdout] 25 | const MAX_AMPLITUDE:usize = 32760;
[INFO] [stdout]    |       ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `generateTone` is never used
[INFO] [stdout]   --> src/soundGenerator.rs:27:14
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub async fn generateTone(frequency: f32, duration:f32) -> Sound{
[INFO] [stdout]    |              ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: module `BarPlugin` should have a snake case name
[INFO] [stdout]  --> src/main.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | mod BarPlugin;
[INFO] [stdout]   |     ^^^^^^^^^ help: convert the identifier to snake case: `bar_plugin`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: module `GuiHookVec` should have a snake case name
[INFO] [stdout]  --> src/main.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | mod GuiHookVec;
[INFO] [stdout]   |     ^^^^^^^^^^ help: convert the identifier to snake case: `gui_hook_vec`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: module `soundGenerator` should have a snake case name
[INFO] [stdout]  --> src/main.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | mod soundGenerator;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `sound_generator`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `lengthString` should have a snake case name
[INFO] [stdout]   --> src/main.rs:27:13
[INFO] [stdout]    |
[INFO] [stdout] 27 |     let mut lengthString = "100".to_owned();
[INFO] [stdout]    |             ^^^^^^^^^^^^ help: convert the identifier to snake case: `length_string`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `delayText` should have a snake case name
[INFO] [stdout]   --> src/main.rs:29:13
[INFO] [stdout]    |
[INFO] [stdout] 29 |     let mut delayText = "1".to_owned();
[INFO] [stdout]    |             ^^^^^^^^^ help: convert the identifier to snake case: `delay_text`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `buttonDropDown` should have a snake case name
[INFO] [stdout]   --> src/main.rs:32:13
[INFO] [stdout]    |
[INFO] [stdout] 32 |     let mut buttonDropDown = ButtonDropDown::new(&algorithm.getAlgorithms());
[INFO] [stdout]    |             ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `button_drop_down`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `centerX` should have a snake case name
[INFO] [stdout]   --> src/main.rs:44:17
[INFO] [stdout]    |
[INFO] [stdout] 44 |         let mut centerX = screen_width()/2.0;
[INFO] [stdout]    |                 ^^^^^^^ help: convert the identifier to snake case: `center_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `initialSize` should have a snake case name
[INFO] [stdout]   --> src/GuiHookVec.rs:23:5
[INFO] [stdout]    |
[INFO] [stdout] 23 |     initialSize:usize,
[INFO] [stdout]    |     ^^^^^^^^^^^ help: convert the identifier to snake case: `initial_size`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `lastTime` should have a snake case name
[INFO] [stdout]   --> src/GuiHookVec.rs:24:9
[INFO] [stdout]    |
[INFO] [stdout] 24 |     pub lastTime:f64,
[INFO] [stdout]    |         ^^^^^^^^ help: convert the identifier to snake case: `last_time`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `isPaused` should have a snake case name
[INFO] [stdout]   --> src/GuiHookVec.rs:28:5
[INFO] [stdout]    |
[INFO] [stdout] 28 |     isPaused:bool,
[INFO] [stdout]    |     ^^^^^^^^ help: convert the identifier to snake case: `is_paused`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `renderSkip` should have a snake case name
[INFO] [stdout]   --> src/GuiHookVec.rs:31:5
[INFO] [stdout]    |
[INFO] [stdout] 31 |     renderSkip:i32,
[INFO] [stdout]    |     ^^^^^^^^^^ help: convert the identifier to snake case: `render_skip`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `lastTouched` should have a snake case name
[INFO] [stdout]   --> src/GuiHookVec.rs:33:5
[INFO] [stdout]    |
[INFO] [stdout] 33 |     lastTouched:Vec<usize>,
[INFO] [stdout]    |     ^^^^^^^^^^^ help: convert the identifier to snake case: `last_touched`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `lastPlayed` should have a snake case name
[INFO] [stdout]   --> src/GuiHookVec.rs:34:5
[INFO] [stdout]    |
[INFO] [stdout] 34 |     lastPlayed:f64,
[INFO] [stdout]    |     ^^^^^^^^^^ help: convert the identifier to snake case: `last_played`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait method `lessThan` should have a snake case name
[INFO] [stdout]   --> src/GuiHookVec.rs:53:8
[INFO] [stdout]    |
[INFO] [stdout] 53 |     fn lessThan(&mut self, a:usize, b:usize) -> bool;
[INFO] [stdout]    |        ^^^^^^^^ help: convert the identifier to snake case: `less_than`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait method `lessThanEqual` should have a snake case name
[INFO] [stdout]   --> src/GuiHookVec.rs:56:8
[INFO] [stdout]    |
[INFO] [stdout] 56 |     fn lessThanEqual(&mut self, a:usize, b:usize) -> bool;
[INFO] [stdout]    |        ^^^^^^^^^^^^^ help: convert the identifier to snake case: `less_than_equal`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait method `isSorted` should have a snake case name
[INFO] [stdout]   --> src/GuiHookVec.rs:58:8
[INFO] [stdout]    |
[INFO] [stdout] 58 |     fn isSorted(&mut self) -> bool;
[INFO] [stdout]    |        ^^^^^^^^ help: convert the identifier to snake case: `is_sorted`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait method `getListClone` should have a snake case name
[INFO] [stdout]   --> src/GuiHookVec.rs:64:8
[INFO] [stdout]    |
[INFO] [stdout] 64 |     fn getListClone(&self) -> Vec<Bar>;
[INFO] [stdout]    |        ^^^^^^^^^^^^ help: convert the identifier to snake case: `get_list_clone`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `colorStep` should have a snake case name
[INFO] [stdout]   --> src/GuiHookVec.rs:70:13
[INFO] [stdout]    |
[INFO] [stdout] 70 |         let colorStep = 360./length as f32;
[INFO] [stdout]    |             ^^^^^^^^^ help: convert the identifier to snake case: `color_step`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `freqStep` should have a snake case name
[INFO] [stdout]   --> src/GuiHookVec.rs:72:13
[INFO] [stdout]    |
[INFO] [stdout] 72 |         let freqStep = 50. + ((2000.-50.)/length as f32);
[INFO] [stdout]    |             ^^^^^^^^ help: convert the identifier to snake case: `freq_step`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `delayText` should have a snake case name
[INFO] [stdout]    --> src/GuiHookVec.rs:100:17
[INFO] [stdout]     |
[INFO] [stdout] 100 |         let mut delayText = self.delay.to_string();
[INFO] [stdout]     |                 ^^^^^^^^^ help: convert the identifier to snake case: `delay_text`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `renderSkipText` should have a snake case name
[INFO] [stdout]    --> src/GuiHookVec.rs:101:17
[INFO] [stdout]     |
[INFO] [stdout] 101 |         let mut renderSkipText = self.renderSkip.to_string();
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `render_skip_text`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: module `radixSort` should have a snake case name
[INFO] [stdout]  --> src/algorithm.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | mod radixSort;
[INFO] [stdout]   |     ^^^^^^^^^ help: convert the identifier to snake case: `radix_sort`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: module `insertSort` should have a snake case name
[INFO] [stdout]  --> src/algorithm.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | mod insertSort;
[INFO] [stdout]   |     ^^^^^^^^^^ help: convert the identifier to snake case: `insert_sort`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: module `bubbleSort` should have a snake case name
[INFO] [stdout]  --> src/algorithm.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | mod bubbleSort;
[INFO] [stdout]   |     ^^^^^^^^^^ help: convert the identifier to snake case: `bubble_sort`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: module `binaryHeap` should have a snake case name
[INFO] [stdout]  --> src/algorithm.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | mod binaryHeap;
[INFO] [stdout]   |     ^^^^^^^^^^ help: convert the identifier to snake case: `binary_heap`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: module `coctailShaker` should have a snake case name
[INFO] [stdout]  --> src/algorithm.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | mod coctailShaker;
[INFO] [stdout]   |     ^^^^^^^^^^^^^ help: convert the identifier to snake case: `coctail_shaker`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: module `quickSort` should have a snake case name
[INFO] [stdout]  --> src/algorithm.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | mod quickSort;
[INFO] [stdout]   |     ^^^^^^^^^ help: convert the identifier to snake case: `quick_sort`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: module `bogoSort` should have a snake case name
[INFO] [stdout]  --> src/algorithm.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | mod bogoSort;
[INFO] [stdout]   |     ^^^^^^^^ help: convert the identifier to snake case: `bogo_sort`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: module `radixSortLSD` should have a snake case name
[INFO] [stdout]  --> src/algorithm.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | mod radixSortLSD;
[INFO] [stdout]   |     ^^^^^^^^^^^^ help: convert the identifier to snake case: `radix_sort_lsd`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `functionName` should have a snake case name
[INFO] [stdout]   --> src/algorithm.rs:34:47
[INFO] [stdout]    |
[INFO] [stdout] 34 |     pub async fn run(length:usize, delay:f32, functionName:String){
[INFO] [stdout]    |                                               ^^^^^^^^^^^^ help: convert the identifier to snake case: `function_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `getAlgorithms` should have a snake case name
[INFO] [stdout]   --> src/algorithm.rs:58:12
[INFO] [stdout]    |
[INFO] [stdout] 58 |     pub fn getAlgorithms(&self) -> &Vec<String>{
[INFO] [stdout]    |            ^^^^^^^^^^^^^ help: convert the identifier to snake case: `get_algorithms`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `radixSort` should have a snake case name
[INFO] [stdout]  --> src/algorithm/radixSort.rs:7:14
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub async fn radixSort(list:&mut impl SortingList) {
[INFO] [stdout]   |              ^^^^^^^^^ help: convert the identifier to snake case: `radix_sort`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `minBoundry` should have a snake case name
[INFO] [stdout]   --> src/algorithm/radixSort.rs:49:61
[INFO] [stdout]    |
[INFO] [stdout] 49 | async fn radix(list:&mut impl SortingList, radix:usize, mut minBoundry:usize, mut maxBoundry:usize) -> Option<(usize,usize,usize)>{
[INFO] [stdout]    |                                                             ^^^^^^^^^^ help: convert the identifier to snake case: `min_boundry`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `maxBoundry` should have a snake case name
[INFO] [stdout]   --> src/algorithm/radixSort.rs:49:83
[INFO] [stdout]    |
[INFO] [stdout] 49 | async fn radix(list:&mut impl SortingList, radix:usize, mut minBoundry:usize, mut maxBoundry:usize) -> Option<(usize,usize,usize)>{
[INFO] [stdout]    |                                                                                   ^^^^^^^^^^ help: convert the identifier to snake case: `max_boundry`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `initialMin` should have a snake case name
[INFO] [stdout]   --> src/algorithm/radixSort.rs:50:9
[INFO] [stdout]    |
[INFO] [stdout] 50 |     let initialMin = minBoundry.clone();
[INFO] [stdout]    |         ^^^^^^^^^^ help: convert the identifier to snake case: `initial_min`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `initialMax` should have a snake case name
[INFO] [stdout]   --> src/algorithm/radixSort.rs:51:9
[INFO] [stdout]    |
[INFO] [stdout] 51 |     let initialMax = maxBoundry.clone();
[INFO] [stdout]    |         ^^^^^^^^^^ help: convert the identifier to snake case: `initial_max`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `currentBit` should have a snake case name
[INFO] [stdout]   --> src/algorithm/radixSort.rs:59:13
[INFO] [stdout]    |
[INFO] [stdout] 59 |         let currentBit = get_bit_at(list.get(minBoundry).position, radix);
[INFO] [stdout]    |             ^^^^^^^^^^ help: convert the identifier to snake case: `current_bit`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `insertSort` should have a snake case name
[INFO] [stdout]  --> src/algorithm/insertSort.rs:3:14
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub async fn insertSort(list:&mut impl SortingList){
[INFO] [stdout]   |              ^^^^^^^^^^ help: convert the identifier to snake case: `insert_sort`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `bubbleSort` should have a snake case name
[INFO] [stdout]  --> src/algorithm/bubbleSort.rs:3:14
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub async fn bubbleSort(list:&mut impl SortingList){
[INFO] [stdout]   |              ^^^^^^^^^^ help: convert the identifier to snake case: `bubble_sort`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `binaryHeap` should have a snake case name
[INFO] [stdout]  --> src/algorithm/binaryHeap.rs:5:14
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub async fn binaryHeap(list:&mut impl SortingList){
[INFO] [stdout]   |              ^^^^^^^^^^ help: convert the identifier to snake case: `binary_heap`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `indexMap` should have a snake case name
[INFO] [stdout]  --> src/algorithm/binaryHeap.rs:7:13
[INFO] [stdout]   |
[INFO] [stdout] 7 |     let mut indexMap:HashMap<usize, usize> = HashMap::new();
[INFO] [stdout]   |             ^^^^^^^^ help: convert the identifier to snake case: `index_map`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `binHeap` should have a snake case name
[INFO] [stdout]  --> src/algorithm/binaryHeap.rs:8:13
[INFO] [stdout]   |
[INFO] [stdout] 8 |     let mut binHeap:BinaryHeap<usize> = BinaryHeap::new();
[INFO] [stdout]   |             ^^^^^^^ help: convert the identifier to snake case: `bin_heap`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `barIndex` should have a snake case name
[INFO] [stdout]   --> src/algorithm/binaryHeap.rs:18:13
[INFO] [stdout]    |
[INFO] [stdout] 18 |         let barIndex = *indexMap.get(&bar).unwrap();
[INFO] [stdout]    |             ^^^^^^^^ help: convert the identifier to snake case: `bar_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `cocktailShaker` should have a snake case name
[INFO] [stdout]  --> src/algorithm/coctailShaker.rs:3:14
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub async fn cocktailShaker(list:&mut impl SortingList){
[INFO] [stdout]   |              ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `cocktail_shaker`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `lowerBound` should have a snake case name
[INFO] [stdout]  --> src/algorithm/coctailShaker.rs:4:13
[INFO] [stdout]   |
[INFO] [stdout] 4 |     let mut lowerBound = 0;
[INFO] [stdout]   |             ^^^^^^^^^^ help: convert the identifier to snake case: `lower_bound`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `upperBound` should have a snake case name
[INFO] [stdout]  --> src/algorithm/coctailShaker.rs:5:13
[INFO] [stdout]   |
[INFO] [stdout] 5 |     let mut upperBound = list.len()-1;
[INFO] [stdout]   |             ^^^^^^^^^^ help: convert the identifier to snake case: `upper_bound`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `quickSort` should have a snake case name
[INFO] [stdout]  --> src/algorithm/quickSort.rs:5:14
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub async fn quickSort(list:&mut impl SortingList) {
[INFO] [stdout]   |              ^^^^^^^^^ help: convert the identifier to snake case: `quick_sort`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `pIndex` should have a snake case name
[INFO] [stdout]   --> src/algorithm/quickSort.rs:35:13
[INFO] [stdout]    |
[INFO] [stdout] 35 |     let mut pIndex = low;
[INFO] [stdout]    |             ^^^^^^ help: convert the identifier to snake case: `p_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `bogoSort` should have a snake case name
[INFO] [stdout]  --> src/algorithm/bogoSort.rs:3:14
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub async fn bogoSort(list:&mut impl SortingList){
[INFO] [stdout]   |              ^^^^^^^^ help: convert the identifier to snake case: `bogo_sort`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `radixSort` should have a snake case name
[INFO] [stdout]  --> src/algorithm/radixSortLSD.rs:7:14
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub async fn radixSort(list:&mut impl SortingList) {
[INFO] [stdout]   |              ^^^^^^^^^ help: convert the identifier to snake case: `radix_sort`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `sortedIndexes` should have a snake case name
[INFO] [stdout]   --> src/algorithm/radixSortLSD.rs:34:13
[INFO] [stdout]    |
[INFO] [stdout] 34 |     let mut sortedIndexes = Vec::new();
[INFO] [stdout]    |             ^^^^^^^^^^^^^ help: convert the identifier to snake case: `sorted_indexes`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `listClone` should have a snake case name
[INFO] [stdout]   --> src/algorithm/radixSortLSD.rs:41:13
[INFO] [stdout]    |
[INFO] [stdout] 41 |     let mut listClone = list.getListClone();
[INFO] [stdout]    |             ^^^^^^^^^ help: convert the identifier to snake case: `list_clone`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `uppercasedSelected` should have a snake case name
[INFO] [stdout]   --> src/dropdown.rs:48:25
[INFO] [stdout]    |
[INFO] [stdout] 48 | ...   let uppercasedSelected = format!("{}{}", self.selected[0..1].to_string().to_uppercase(), self.selected[1..self.selected.len()]...
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `uppercased_selected`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `generateTone` should have a snake case name
[INFO] [stdout]   --> src/soundGenerator.rs:27:14
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub async fn generateTone(frequency: f32, duration:f32) -> Sound{
[INFO] [stdout]    |              ^^^^^^^^^^^^ help: convert the identifier to snake case: `generate_tone`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `soundFileBytes` should have a snake case name
[INFO] [stdout]   --> src/soundGenerator.rs:51:13
[INFO] [stdout]    |
[INFO] [stdout] 51 |     let mut soundFileBytes = [
[INFO] [stdout]    |             ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `sound_file_bytes`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `startAudio` should have a snake case name
[INFO] [stdout]   --> src/soundGenerator.rs:70:9
[INFO] [stdout]    |
[INFO] [stdout] 70 |     let startAudio = soundFileBytes.len();
[INFO] [stdout]    |         ^^^^^^^^^^ help: convert the identifier to snake case: `start_audio`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `endAudio` should have a snake case name
[INFO] [stdout]   --> src/soundGenerator.rs:83:9
[INFO] [stdout]    |
[INFO] [stdout] 83 |     let endAudio = soundFileBytes.len() as u32;
[INFO] [stdout]    |         ^^^^^^^^ help: convert the identifier to snake case: `end_audio`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/algorithm/quickSort.rs:34:48
[INFO] [stdout]    |
[INFO] [stdout] 34 | async fn partition(list:&mut impl SortingList, mut low:usize, mut high:usize, p:usize) -> i32{
[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/algorithm/quickSort.rs:34:63
[INFO] [stdout]    |
[INFO] [stdout] 34 | async fn partition(list:&mut impl SortingList, mut low:usize, mut high:usize, p:usize) -> i32{
[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/algorithm/radixSortLSD.rs:41:9
[INFO] [stdout]    |
[INFO] [stdout] 41 |     let mut listClone = list.getListClone();
[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/main.rs:31:9
[INFO] [stdout]    |
[INFO] [stdout] 31 |     let mut algorithm = algorithm::Algorithm::new();
[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/main.rs:44:13
[INFO] [stdout]    |
[INFO] [stdout] 44 |         let mut centerX = screen_width()/2.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/main.rs:54:13
[INFO] [stdout]    |
[INFO] [stdout] 54 |         let mut algo = buttonDropDown.render();
[INFO] [stdout]    |             ----^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `frequency`
[INFO] [stdout]   --> src/GuiHookVec.rs:75:17
[INFO] [stdout]    |
[INFO] [stdout] 75 |             let frequency = i as f32 * freqStep;
[INFO] [stdout]    |                 ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_frequency`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `delay`
[INFO] [stdout]    --> src/GuiHookVec.rs:256:32
[INFO] [stdout]     |
[INFO] [stdout] 256 |     async fn new(length:usize, delay:f32) -> Self{
[INFO] [stdout]     |                                ^^^^^ help: if this is intentional, prefix it with an underscore: `_delay`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `length` is never read
[INFO] [stdout]   --> src/main.rs:26:22
[INFO] [stdout]    |
[INFO] [stdout] 26 |     let mut length = 1_usize;
[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: field `lastTime` is never read
[INFO] [stdout]   --> src/GuiHookVec.rs:24:9
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub struct GuiVec{
[INFO] [stdout]    |            ------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 24 |     pub lastTime:f64,
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `GuiVec` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CHUNK_ID` is never used
[INFO] [stdout]  --> src/soundGenerator.rs:6:7
[INFO] [stdout]   |
[INFO] [stdout] 6 | const CHUNK_ID:&str = "RIFF";
[INFO] [stdout]   |       ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CHUNK_SIZE` is never used
[INFO] [stdout]  --> src/soundGenerator.rs:7:7
[INFO] [stdout]   |
[INFO] [stdout] 7 | const CHUNK_SIZE:&str = "----";
[INFO] [stdout]   |       ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FORMAT` is never used
[INFO] [stdout]  --> src/soundGenerator.rs:8:7
[INFO] [stdout]   |
[INFO] [stdout] 8 | const FORMAT:&str = "WAVE";
[INFO] [stdout]   |       ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SUBCHUNK_1_ID` is never used
[INFO] [stdout]   --> src/soundGenerator.rs:11:7
[INFO] [stdout]    |
[INFO] [stdout] 11 | const SUBCHUNK_1_ID:&str = "fmt ";
[INFO] [stdout]    |       ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SUBCHUNK_1_SIZE` is never used
[INFO] [stdout]   --> src/soundGenerator.rs:12:7
[INFO] [stdout]    |
[INFO] [stdout] 12 | const SUBCHUNK_1_SIZE:i32 = 16;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `AUDIO_FORMAT` is never used
[INFO] [stdout]   --> src/soundGenerator.rs:13:7
[INFO] [stdout]    |
[INFO] [stdout] 13 | const AUDIO_FORMAT:i16 = 1;
[INFO] [stdout]    |       ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NUM_CHANNELS` is never used
[INFO] [stdout]   --> src/soundGenerator.rs:14:7
[INFO] [stdout]    |
[INFO] [stdout] 14 | const NUM_CHANNELS:i16 = 1;
[INFO] [stdout]    |       ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SAMPLE_RATE` is never used
[INFO] [stdout]   --> src/soundGenerator.rs:15:7
[INFO] [stdout]    |
[INFO] [stdout] 15 | const SAMPLE_RATE:i32 = 44100;
[INFO] [stdout]    |       ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BYTE_RATE` is never used
[INFO] [stdout]   --> src/soundGenerator.rs:16:7
[INFO] [stdout]    |
[INFO] [stdout] 16 | const BYTE_RATE:i32 = SAMPLE_RATE * NUM_CHANNELS as i32 * (SUBCHUNK_1_SIZE / 8);
[INFO] [stdout]    |       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BLOACK_ALIGN` is never used
[INFO] [stdout]   --> src/soundGenerator.rs:17:7
[INFO] [stdout]    |
[INFO] [stdout] 17 | const BLOACK_ALIGN:i16 = NUM_CHANNELS * (SUBCHUNK_1_SIZE / 8) as i16;
[INFO] [stdout]    |       ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BITS_PR_SAMPLE` is never used
[INFO] [stdout]   --> src/soundGenerator.rs:18:7
[INFO] [stdout]    |
[INFO] [stdout] 18 | const BITS_PR_SAMPLE:i16 = 16;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SUBCHUNK_2_ID` is never used
[INFO] [stdout]   --> src/soundGenerator.rs:21:7
[INFO] [stdout]    |
[INFO] [stdout] 21 | const SUBCHUNK_2_ID:&str = "data";
[INFO] [stdout]    |       ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SUBCHUNK_2_SIZE` is never used
[INFO] [stdout]   --> src/soundGenerator.rs:22:7
[INFO] [stdout]    |
[INFO] [stdout] 22 | const SUBCHUNK_2_SIZE:&str = "----";
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MAX_AMPLITUDE` is never used
[INFO] [stdout]   --> src/soundGenerator.rs:25:7
[INFO] [stdout]    |
[INFO] [stdout] 25 | const MAX_AMPLITUDE:usize = 32760;
[INFO] [stdout]    |       ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `generateTone` is never used
[INFO] [stdout]   --> src/soundGenerator.rs:27:14
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub async fn generateTone(frequency: f32, duration:f32) -> Sound{
[INFO] [stdout]    |              ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: module `BarPlugin` should have a snake case name
[INFO] [stdout]  --> src/main.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | mod BarPlugin;
[INFO] [stdout]   |     ^^^^^^^^^ help: convert the identifier to snake case: `bar_plugin`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: module `GuiHookVec` should have a snake case name
[INFO] [stdout]  --> src/main.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | mod GuiHookVec;
[INFO] [stdout]   |     ^^^^^^^^^^ help: convert the identifier to snake case: `gui_hook_vec`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: module `soundGenerator` should have a snake case name
[INFO] [stdout]  --> src/main.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | mod soundGenerator;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `sound_generator`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `lengthString` should have a snake case name
[INFO] [stdout]   --> src/main.rs:27:13
[INFO] [stdout]    |
[INFO] [stdout] 27 |     let mut lengthString = "100".to_owned();
[INFO] [stdout]    |             ^^^^^^^^^^^^ help: convert the identifier to snake case: `length_string`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `delayText` should have a snake case name
[INFO] [stdout]   --> src/main.rs:29:13
[INFO] [stdout]    |
[INFO] [stdout] 29 |     let mut delayText = "1".to_owned();
[INFO] [stdout]    |             ^^^^^^^^^ help: convert the identifier to snake case: `delay_text`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `buttonDropDown` should have a snake case name
[INFO] [stdout]   --> src/main.rs:32:13
[INFO] [stdout]    |
[INFO] [stdout] 32 |     let mut buttonDropDown = ButtonDropDown::new(&algorithm.getAlgorithms());
[INFO] [stdout]    |             ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `button_drop_down`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `centerX` should have a snake case name
[INFO] [stdout]   --> src/main.rs:44:17
[INFO] [stdout]    |
[INFO] [stdout] 44 |         let mut centerX = screen_width()/2.0;
[INFO] [stdout]    |                 ^^^^^^^ help: convert the identifier to snake case: `center_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `initialSize` should have a snake case name
[INFO] [stdout]   --> src/GuiHookVec.rs:23:5
[INFO] [stdout]    |
[INFO] [stdout] 23 |     initialSize:usize,
[INFO] [stdout]    |     ^^^^^^^^^^^ help: convert the identifier to snake case: `initial_size`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `lastTime` should have a snake case name
[INFO] [stdout]   --> src/GuiHookVec.rs:24:9
[INFO] [stdout]    |
[INFO] [stdout] 24 |     pub lastTime:f64,
[INFO] [stdout]    |         ^^^^^^^^ help: convert the identifier to snake case: `last_time`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `isPaused` should have a snake case name
[INFO] [stdout]   --> src/GuiHookVec.rs:28:5
[INFO] [stdout]    |
[INFO] [stdout] 28 |     isPaused:bool,
[INFO] [stdout]    |     ^^^^^^^^ help: convert the identifier to snake case: `is_paused`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `renderSkip` should have a snake case name
[INFO] [stdout]   --> src/GuiHookVec.rs:31:5
[INFO] [stdout]    |
[INFO] [stdout] 31 |     renderSkip:i32,
[INFO] [stdout]    |     ^^^^^^^^^^ help: convert the identifier to snake case: `render_skip`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `lastTouched` should have a snake case name
[INFO] [stdout]   --> src/GuiHookVec.rs:33:5
[INFO] [stdout]    |
[INFO] [stdout] 33 |     lastTouched:Vec<usize>,
[INFO] [stdout]    |     ^^^^^^^^^^^ help: convert the identifier to snake case: `last_touched`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `lastPlayed` should have a snake case name
[INFO] [stdout]   --> src/GuiHookVec.rs:34:5
[INFO] [stdout]    |
[INFO] [stdout] 34 |     lastPlayed:f64,
[INFO] [stdout]    |     ^^^^^^^^^^ help: convert the identifier to snake case: `last_played`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait method `lessThan` should have a snake case name
[INFO] [stdout]   --> src/GuiHookVec.rs:53:8
[INFO] [stdout]    |
[INFO] [stdout] 53 |     fn lessThan(&mut self, a:usize, b:usize) -> bool;
[INFO] [stdout]    |        ^^^^^^^^ help: convert the identifier to snake case: `less_than`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait method `lessThanEqual` should have a snake case name
[INFO] [stdout]   --> src/GuiHookVec.rs:56:8
[INFO] [stdout]    |
[INFO] [stdout] 56 |     fn lessThanEqual(&mut self, a:usize, b:usize) -> bool;
[INFO] [stdout]    |        ^^^^^^^^^^^^^ help: convert the identifier to snake case: `less_than_equal`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait method `isSorted` should have a snake case name
[INFO] [stdout]   --> src/GuiHookVec.rs:58:8
[INFO] [stdout]    |
[INFO] [stdout] 58 |     fn isSorted(&mut self) -> bool;
[INFO] [stdout]    |        ^^^^^^^^ help: convert the identifier to snake case: `is_sorted`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait method `getListClone` should have a snake case name
[INFO] [stdout]   --> src/GuiHookVec.rs:64:8
[INFO] [stdout]    |
[INFO] [stdout] 64 |     fn getListClone(&self) -> Vec<Bar>;
[INFO] [stdout]    |        ^^^^^^^^^^^^ help: convert the identifier to snake case: `get_list_clone`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `colorStep` should have a snake case name
[INFO] [stdout]   --> src/GuiHookVec.rs:70:13
[INFO] [stdout]    |
[INFO] [stdout] 70 |         let colorStep = 360./length as f32;
[INFO] [stdout]    |             ^^^^^^^^^ help: convert the identifier to snake case: `color_step`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `freqStep` should have a snake case name
[INFO] [stdout]   --> src/GuiHookVec.rs:72:13
[INFO] [stdout]    |
[INFO] [stdout] 72 |         let freqStep = 50. + ((2000.-50.)/length as f32);
[INFO] [stdout]    |             ^^^^^^^^ help: convert the identifier to snake case: `freq_step`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `delayText` should have a snake case name
[INFO] [stdout]    --> src/GuiHookVec.rs:100:17
[INFO] [stdout]     |
[INFO] [stdout] 100 |         let mut delayText = self.delay.to_string();
[INFO] [stdout]     |                 ^^^^^^^^^ help: convert the identifier to snake case: `delay_text`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `renderSkipText` should have a snake case name
[INFO] [stdout]    --> src/GuiHookVec.rs:101:17
[INFO] [stdout]     |
[INFO] [stdout] 101 |         let mut renderSkipText = self.renderSkip.to_string();
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `render_skip_text`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: module `radixSort` should have a snake case name
[INFO] [stdout]  --> src/algorithm.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | mod radixSort;
[INFO] [stdout]   |     ^^^^^^^^^ help: convert the identifier to snake case: `radix_sort`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: module `insertSort` should have a snake case name
[INFO] [stdout]  --> src/algorithm.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | mod insertSort;
[INFO] [stdout]   |     ^^^^^^^^^^ help: convert the identifier to snake case: `insert_sort`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: module `bubbleSort` should have a snake case name
[INFO] [stdout]  --> src/algorithm.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | mod bubbleSort;
[INFO] [stdout]   |     ^^^^^^^^^^ help: convert the identifier to snake case: `bubble_sort`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: module `binaryHeap` should have a snake case name
[INFO] [stdout]  --> src/algorithm.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | mod binaryHeap;
[INFO] [stdout]   |     ^^^^^^^^^^ help: convert the identifier to snake case: `binary_heap`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: module `coctailShaker` should have a snake case name
[INFO] [stdout]  --> src/algorithm.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | mod coctailShaker;
[INFO] [stdout]   |     ^^^^^^^^^^^^^ help: convert the identifier to snake case: `coctail_shaker`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: module `quickSort` should have a snake case name
[INFO] [stdout]  --> src/algorithm.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | mod quickSort;
[INFO] [stdout]   |     ^^^^^^^^^ help: convert the identifier to snake case: `quick_sort`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: module `bogoSort` should have a snake case name
[INFO] [stdout]  --> src/algorithm.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | mod bogoSort;
[INFO] [stdout]   |     ^^^^^^^^ help: convert the identifier to snake case: `bogo_sort`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: module `radixSortLSD` should have a snake case name
[INFO] [stdout]  --> src/algorithm.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | mod radixSortLSD;
[INFO] [stdout]   |     ^^^^^^^^^^^^ help: convert the identifier to snake case: `radix_sort_lsd`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `functionName` should have a snake case name
[INFO] [stdout]   --> src/algorithm.rs:34:47
[INFO] [stdout]    |
[INFO] [stdout] 34 |     pub async fn run(length:usize, delay:f32, functionName:String){
[INFO] [stdout]    |                                               ^^^^^^^^^^^^ help: convert the identifier to snake case: `function_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `getAlgorithms` should have a snake case name
[INFO] [stdout]   --> src/algorithm.rs:58:12
[INFO] [stdout]    |
[INFO] [stdout] 58 |     pub fn getAlgorithms(&self) -> &Vec<String>{
[INFO] [stdout]    |            ^^^^^^^^^^^^^ help: convert the identifier to snake case: `get_algorithms`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `radixSort` should have a snake case name
[INFO] [stdout]  --> src/algorithm/radixSort.rs:7:14
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub async fn radixSort(list:&mut impl SortingList) {
[INFO] [stdout]   |              ^^^^^^^^^ help: convert the identifier to snake case: `radix_sort`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `minBoundry` should have a snake case name
[INFO] [stdout]   --> src/algorithm/radixSort.rs:49:61
[INFO] [stdout]    |
[INFO] [stdout] 49 | async fn radix(list:&mut impl SortingList, radix:usize, mut minBoundry:usize, mut maxBoundry:usize) -> Option<(usize,usize,usize)>{
[INFO] [stdout]    |                                                             ^^^^^^^^^^ help: convert the identifier to snake case: `min_boundry`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `maxBoundry` should have a snake case name
[INFO] [stdout]   --> src/algorithm/radixSort.rs:49:83
[INFO] [stdout]    |
[INFO] [stdout] 49 | async fn radix(list:&mut impl SortingList, radix:usize, mut minBoundry:usize, mut maxBoundry:usize) -> Option<(usize,usize,usize)>{
[INFO] [stdout]    |                                                                                   ^^^^^^^^^^ help: convert the identifier to snake case: `max_boundry`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `initialMin` should have a snake case name
[INFO] [stdout]   --> src/algorithm/radixSort.rs:50:9
[INFO] [stdout]    |
[INFO] [stdout] 50 |     let initialMin = minBoundry.clone();
[INFO] [stdout]    |         ^^^^^^^^^^ help: convert the identifier to snake case: `initial_min`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `initialMax` should have a snake case name
[INFO] [stdout]   --> src/algorithm/radixSort.rs:51:9
[INFO] [stdout]    |
[INFO] [stdout] 51 |     let initialMax = maxBoundry.clone();
[INFO] [stdout]    |         ^^^^^^^^^^ help: convert the identifier to snake case: `initial_max`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `currentBit` should have a snake case name
[INFO] [stdout]   --> src/algorithm/radixSort.rs:59:13
[INFO] [stdout]    |
[INFO] [stdout] 59 |         let currentBit = get_bit_at(list.get(minBoundry).position, radix);
[INFO] [stdout]    |             ^^^^^^^^^^ help: convert the identifier to snake case: `current_bit`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `insertSort` should have a snake case name
[INFO] [stdout]  --> src/algorithm/insertSort.rs:3:14
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub async fn insertSort(list:&mut impl SortingList){
[INFO] [stdout]   |              ^^^^^^^^^^ help: convert the identifier to snake case: `insert_sort`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `bubbleSort` should have a snake case name
[INFO] [stdout]  --> src/algorithm/bubbleSort.rs:3:14
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub async fn bubbleSort(list:&mut impl SortingList){
[INFO] [stdout]   |              ^^^^^^^^^^ help: convert the identifier to snake case: `bubble_sort`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `binaryHeap` should have a snake case name
[INFO] [stdout]  --> src/algorithm/binaryHeap.rs:5:14
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub async fn binaryHeap(list:&mut impl SortingList){
[INFO] [stdout]   |              ^^^^^^^^^^ help: convert the identifier to snake case: `binary_heap`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `indexMap` should have a snake case name
[INFO] [stdout]  --> src/algorithm/binaryHeap.rs:7:13
[INFO] [stdout]   |
[INFO] [stdout] 7 |     let mut indexMap:HashMap<usize, usize> = HashMap::new();
[INFO] [stdout]   |             ^^^^^^^^ help: convert the identifier to snake case: `index_map`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `binHeap` should have a snake case name
[INFO] [stdout]  --> src/algorithm/binaryHeap.rs:8:13
[INFO] [stdout]   |
[INFO] [stdout] 8 |     let mut binHeap:BinaryHeap<usize> = BinaryHeap::new();
[INFO] [stdout]   |             ^^^^^^^ help: convert the identifier to snake case: `bin_heap`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `barIndex` should have a snake case name
[INFO] [stdout]   --> src/algorithm/binaryHeap.rs:18:13
[INFO] [stdout]    |
[INFO] [stdout] 18 |         let barIndex = *indexMap.get(&bar).unwrap();
[INFO] [stdout]    |             ^^^^^^^^ help: convert the identifier to snake case: `bar_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `cocktailShaker` should have a snake case name
[INFO] [stdout]  --> src/algorithm/coctailShaker.rs:3:14
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub async fn cocktailShaker(list:&mut impl SortingList){
[INFO] [stdout]   |              ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `cocktail_shaker`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `lowerBound` should have a snake case name
[INFO] [stdout]  --> src/algorithm/coctailShaker.rs:4:13
[INFO] [stdout]   |
[INFO] [stdout] 4 |     let mut lowerBound = 0;
[INFO] [stdout]   |             ^^^^^^^^^^ help: convert the identifier to snake case: `lower_bound`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `upperBound` should have a snake case name
[INFO] [stdout]  --> src/algorithm/coctailShaker.rs:5:13
[INFO] [stdout]   |
[INFO] [stdout] 5 |     let mut upperBound = list.len()-1;
[INFO] [stdout]   |             ^^^^^^^^^^ help: convert the identifier to snake case: `upper_bound`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `quickSort` should have a snake case name
[INFO] [stdout]  --> src/algorithm/quickSort.rs:5:14
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub async fn quickSort(list:&mut impl SortingList) {
[INFO] [stdout]   |              ^^^^^^^^^ help: convert the identifier to snake case: `quick_sort`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `pIndex` should have a snake case name
[INFO] [stdout]   --> src/algorithm/quickSort.rs:35:13
[INFO] [stdout]    |
[INFO] [stdout] 35 |     let mut pIndex = low;
[INFO] [stdout]    |             ^^^^^^ help: convert the identifier to snake case: `p_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `bogoSort` should have a snake case name
[INFO] [stdout]  --> src/algorithm/bogoSort.rs:3:14
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub async fn bogoSort(list:&mut impl SortingList){
[INFO] [stdout]   |              ^^^^^^^^ help: convert the identifier to snake case: `bogo_sort`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `radixSort` should have a snake case name
[INFO] [stdout]  --> src/algorithm/radixSortLSD.rs:7:14
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub async fn radixSort(list:&mut impl SortingList) {
[INFO] [stdout]   |              ^^^^^^^^^ help: convert the identifier to snake case: `radix_sort`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `sortedIndexes` should have a snake case name
[INFO] [stdout]   --> src/algorithm/radixSortLSD.rs:34:13
[INFO] [stdout]    |
[INFO] [stdout] 34 |     let mut sortedIndexes = Vec::new();
[INFO] [stdout]    |             ^^^^^^^^^^^^^ help: convert the identifier to snake case: `sorted_indexes`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `listClone` should have a snake case name
[INFO] [stdout]   --> src/algorithm/radixSortLSD.rs:41:13
[INFO] [stdout]    |
[INFO] [stdout] 41 |     let mut listClone = list.getListClone();
[INFO] [stdout]    |             ^^^^^^^^^ help: convert the identifier to snake case: `list_clone`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `uppercasedSelected` should have a snake case name
[INFO] [stdout]   --> src/dropdown.rs:48:25
[INFO] [stdout]    |
[INFO] [stdout] 48 | ...   let uppercasedSelected = format!("{}{}", self.selected[0..1].to_string().to_uppercase(), self.selected[1..self.selected.len()]...
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `uppercased_selected`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `generateTone` should have a snake case name
[INFO] [stdout]   --> src/soundGenerator.rs:27:14
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub async fn generateTone(frequency: f32, duration:f32) -> Sound{
[INFO] [stdout]    |              ^^^^^^^^^^^^ help: convert the identifier to snake case: `generate_tone`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `soundFileBytes` should have a snake case name
[INFO] [stdout]   --> src/soundGenerator.rs:51:13
[INFO] [stdout]    |
[INFO] [stdout] 51 |     let mut soundFileBytes = [
[INFO] [stdout]    |             ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `sound_file_bytes`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `startAudio` should have a snake case name
[INFO] [stdout]   --> src/soundGenerator.rs:70:9
[INFO] [stdout]    |
[INFO] [stdout] 70 |     let startAudio = soundFileBytes.len();
[INFO] [stdout]    |         ^^^^^^^^^^ help: convert the identifier to snake case: `start_audio`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `endAudio` should have a snake case name
[INFO] [stdout]   --> src/soundGenerator.rs:83:9
[INFO] [stdout]    |
[INFO] [stdout] 83 |     let endAudio = soundFileBytes.len() as u32;
[INFO] [stdout]    |         ^^^^^^^^ help: convert the identifier to snake case: `end_audio`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 14.25s
[INFO] running `Command { std: "docker" "inspect" "15cd6e792e1513597d27dde34ed92eddd5bf5da8516fbefcd1abf63ab0d12427", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "15cd6e792e1513597d27dde34ed92eddd5bf5da8516fbefcd1abf63ab0d12427", kill_on_drop: false }`
[INFO] [stdout] 15cd6e792e1513597d27dde34ed92eddd5bf5da8516fbefcd1abf63ab0d12427
