[INFO] cloning repository https://github.com/SSStormy/stdf-spectrogram
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/SSStormy/stdf-spectrogram" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FSSStormy%2Fstdf-spectrogram", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FSSStormy%2Fstdf-spectrogram'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] daf81914b8c18b808b1296a239080ad07e1e47e3
[INFO] testing SSStormy/stdf-spectrogram against 1.75.0 for beta-1.76-3
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FSSStormy%2Fstdf-spectrogram" "/workspace/builds/worker-2-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc1/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/SSStormy/stdf-spectrogram on toolchain 1.75.0
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.75.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/SSStormy/stdf-spectrogram
[INFO] finished tweaking git repo https://github.com/SSStormy/stdf-spectrogram
[INFO] tweaked toml for git repo https://github.com/SSStormy/stdf-spectrogram written to /workspace/builds/worker-2-tc1/source/Cargo.toml
[INFO] crate git repo https://github.com/SSStormy/stdf-spectrogram 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.75.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded rustfft v2.0.0
[INFO] [stderr]   Downloaded bmp v0.4.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+1.75.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 42efa33be70e9015c12b712b41e7de6aa8620551e35a9ea6c3792b4469918e2e
[INFO] running `Command { std: "docker" "start" "-a" "42efa33be70e9015c12b712b41e7de6aa8620551e35a9ea6c3792b4469918e2e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "42efa33be70e9015c12b712b41e7de6aa8620551e35a9ea6c3792b4469918e2e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "42efa33be70e9015c12b712b41e7de6aa8620551e35a9ea6c3792b4469918e2e", kill_on_drop: false }`
[INFO] [stdout] 42efa33be70e9015c12b712b41e7de6aa8620551e35a9ea6c3792b4469918e2e
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+1.75.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] e5eecc32e918578504d6249a78c31c1cea763a3e9adb164a7838ba387122933b
[INFO] running `Command { std: "docker" "start" "-a" "e5eecc32e918578504d6249a78c31c1cea763a3e9adb164a7838ba387122933b", kill_on_drop: false }`
[INFO] [stderr]    Compiling num-traits v0.2.2
[INFO] [stderr]    Compiling byteorder v1.2.2
[INFO] [stderr]    Compiling hound v3.4.0
[INFO] [stderr]    Compiling spmc v0.2.2
[INFO] [stderr]    Compiling bmp v0.4.0
[INFO] [stderr]    Compiling num-complex v0.1.43
[INFO] [stderr]    Compiling num-traits v0.1.43
[INFO] [stderr]    Compiling rustfft v2.0.0
[INFO] [stderr]    Compiling fft v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]   --> src/main.rs:18:26
[INFO] [stdout]    |
[INFO] [stdout] 18 | const NORM_SIZE: usize = (FFT_SIZE/2);
[INFO] [stdout]    |                          ^          ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 18 - const NORM_SIZE: usize = (FFT_SIZE/2);
[INFO] [stdout] 18 + const NORM_SIZE: usize = FFT_SIZE/2;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sampleSize`
[INFO] [stdout]   --> src/main.rs:40:9
[INFO] [stdout]    |
[INFO] [stdout] 40 |     let sampleSize = reader.spec().sample_rate;
[INFO] [stdout]    |         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sampleSize`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]   --> src/main.rs:95:9
[INFO] [stdout]    |
[INFO] [stdout] 95 |     for i in 0..NUM_WORKERS {
[INFO] [stdout]    |         ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `freq`
[INFO] [stdout]   --> src/main.rs:68:29
[INFO] [stdout]    |
[INFO] [stdout] 68 |                         let freq = i as f32 * sampleRate as f32 / FFT_SIZE as f32;
[INFO] [stdout]    |                             ^^^^ help: if this is intentional, prefix it with an underscore: `_freq`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/main.rs:74:29
[INFO] [stdout]    |
[INFO] [stdout] 74 |                         let mut color =  bmp::Pixel::new(grayscale, 0, (norm * 255_f32) as u8);
[INFO] [stdout]    |                             ----^^^^^
[INFO] [stdout]    |                             |
[INFO] [stdout]    |                             help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `sampleRate` should have a snake case name
[INFO] [stdout]   --> src/main.rs:28:27
[INFO] [stdout]    |
[INFO] [stdout] 28 | fn freq_to_bin(freq: u32, sampleRate: u32) -> usize {
[INFO] [stdout]    |                           ^^^^^^^^^^ help: convert the identifier to snake case: `sample_rate`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `sampleSize` should have a snake case name
[INFO] [stdout]   --> src/main.rs:40:9
[INFO] [stdout]    |
[INFO] [stdout] 40 |     let sampleSize = reader.spec().sample_rate;
[INFO] [stdout]    |         ^^^^^^^^^^ help: convert the identifier to snake case: `sample_size`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `jobProd` should have a snake case name
[INFO] [stdout]   --> src/main.rs:50:10
[INFO] [stdout]    |
[INFO] [stdout] 50 |     let (jobProd, jobRecv) = spmc::channel();
[INFO] [stdout]    |          ^^^^^^^ help: convert the identifier to snake case: `job_prod`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `jobRecv` should have a snake case name
[INFO] [stdout]   --> src/main.rs:50:19
[INFO] [stdout]    |
[INFO] [stdout] 50 |     let (jobProd, jobRecv) = spmc::channel();
[INFO] [stdout]    |                   ^^^^^^^ help: convert the identifier to snake case: `job_recv`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `printProd` should have a snake case name
[INFO] [stdout]   --> src/main.rs:51:10
[INFO] [stdout]    |
[INFO] [stdout] 51 |     let (printProd, printRecv) = mpsc::channel();
[INFO] [stdout]    |          ^^^^^^^^^ help: convert the identifier to snake case: `print_prod`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `printRecv` should have a snake case name
[INFO] [stdout]   --> src/main.rs:51:21
[INFO] [stdout]    |
[INFO] [stdout] 51 |     let (printProd, printRecv) = mpsc::channel();
[INFO] [stdout]    |                     ^^^^^^^^^ help: convert the identifier to snake case: `print_recv`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `widthPerIter` should have a snake case name
[INFO] [stdout]   --> src/main.rs:55:13
[INFO] [stdout]    |
[INFO] [stdout] 55 |         let widthPerIter = (1_f32 + (FFT_SIZE as f32/ 1024_f32).round()) as u32;
[INFO] [stdout]    |             ^^^^^^^^^^^^ help: convert the identifier to snake case: `width_per_iter`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `sampleRate` should have a snake case name
[INFO] [stdout]   --> src/main.rs:61:50
[INFO] [stdout]    |
[INFO] [stdout] 61 |                 PrintJob::Print(iteration, data, sampleRate) => {
[INFO] [stdout]    |                                                  ^^^^^^^^^^ help: convert the identifier to snake case: `sample_rate`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `minFreq` should have a snake case name
[INFO] [stdout]   --> src/main.rs:62:25
[INFO] [stdout]    |
[INFO] [stdout] 62 |                     let minFreq = 20;
[INFO] [stdout]    |                         ^^^^^^^ help: convert the identifier to snake case: `min_freq`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `maxFreq` should have a snake case name
[INFO] [stdout]   --> src/main.rs:63:25
[INFO] [stdout]    |
[INFO] [stdout] 63 |                     let maxFreq = 8000;
[INFO] [stdout]    |                         ^^^^^^^ help: convert the identifier to snake case: `max_freq`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `printThread` should have a snake case name
[INFO] [stdout]   --> src/main.rs:53:9
[INFO] [stdout]    |
[INFO] [stdout] 53 |     let printThread = thread::spawn(move || {
[INFO] [stdout]    |         ^^^^^^^^^^^ help: convert the identifier to snake case: `print_thread`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/main.rs:88:9
[INFO] [stdout]    |
[INFO] [stdout] 88 |         jobProd.send(iteration);
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 88 |         let _ = jobProd.send(iteration);
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `jobRecv` should have a snake case name
[INFO] [stdout]   --> src/main.rs:96:13
[INFO] [stdout]    |
[INFO] [stdout] 96 |         let jobRecv = jobRecv.clone();
[INFO] [stdout]    |             ^^^^^^^ help: convert the identifier to snake case: `job_recv`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `printProd` should have a snake case name
[INFO] [stdout]   --> src/main.rs:97:13
[INFO] [stdout]    |
[INFO] [stdout] 97 |         let printProd = printProd.clone();
[INFO] [stdout]    |             ^^^^^^^^^ help: convert the identifier to snake case: `print_prod`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/main.rs:113:25
[INFO] [stdout]     |
[INFO] [stdout] 113 |                         reader.seek(iteration * spec.channels as u32 * FFT_SIZE as u32);
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 113 |                         let _ = reader.seek(iteration * spec.channels as u32 * FFT_SIZE as u32);
[INFO] [stdout]     |                         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/main.rs:144:25
[INFO] [stdout]     |
[INFO] [stdout] 144 |                         printProd.send(PrintJob::Print(iteration, output, spec.sample_rate));
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 144 |                         let _ = printProd.send(PrintJob::Print(iteration, output, spec.sample_rate));
[INFO] [stdout]     |                         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 21 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished dev [unoptimized + debuginfo] target(s) in 3.07s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: rustc-serialize v0.3.24
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 1`
[INFO] running `Command { std: "docker" "inspect" "e5eecc32e918578504d6249a78c31c1cea763a3e9adb164a7838ba387122933b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "e5eecc32e918578504d6249a78c31c1cea763a3e9adb164a7838ba387122933b", kill_on_drop: false }`
[INFO] [stdout] e5eecc32e918578504d6249a78c31c1cea763a3e9adb164a7838ba387122933b
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+1.75.0" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] c3d99d1d73081f34b7bbad7b53edef13a7bbc0f2ae0fa5c69aea8f8683f7ccdd
[INFO] running `Command { std: "docker" "start" "-a" "c3d99d1d73081f34b7bbad7b53edef13a7bbc0f2ae0fa5c69aea8f8683f7ccdd", kill_on_drop: false }`
[INFO] [stderr]    Compiling fft v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]   --> src/main.rs:18:26
[INFO] [stdout]    |
[INFO] [stdout] 18 | const NORM_SIZE: usize = (FFT_SIZE/2);
[INFO] [stdout]    |                          ^          ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 18 - const NORM_SIZE: usize = (FFT_SIZE/2);
[INFO] [stdout] 18 + const NORM_SIZE: usize = FFT_SIZE/2;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sampleSize`
[INFO] [stdout]   --> src/main.rs:40:9
[INFO] [stdout]    |
[INFO] [stdout] 40 |     let sampleSize = reader.spec().sample_rate;
[INFO] [stdout]    |         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sampleSize`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]   --> src/main.rs:95:9
[INFO] [stdout]    |
[INFO] [stdout] 95 |     for i in 0..NUM_WORKERS {
[INFO] [stdout]    |         ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `freq`
[INFO] [stdout]   --> src/main.rs:68:29
[INFO] [stdout]    |
[INFO] [stdout] 68 |                         let freq = i as f32 * sampleRate as f32 / FFT_SIZE as f32;
[INFO] [stdout]    |                             ^^^^ help: if this is intentional, prefix it with an underscore: `_freq`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/main.rs:74:29
[INFO] [stdout]    |
[INFO] [stdout] 74 |                         let mut color =  bmp::Pixel::new(grayscale, 0, (norm * 255_f32) as u8);
[INFO] [stdout]    |                             ----^^^^^
[INFO] [stdout]    |                             |
[INFO] [stdout]    |                             help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `sampleRate` should have a snake case name
[INFO] [stdout]   --> src/main.rs:28:27
[INFO] [stdout]    |
[INFO] [stdout] 28 | fn freq_to_bin(freq: u32, sampleRate: u32) -> usize {
[INFO] [stdout]    |                           ^^^^^^^^^^ help: convert the identifier to snake case: `sample_rate`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `sampleSize` should have a snake case name
[INFO] [stdout]   --> src/main.rs:40:9
[INFO] [stdout]    |
[INFO] [stdout] 40 |     let sampleSize = reader.spec().sample_rate;
[INFO] [stdout]    |         ^^^^^^^^^^ help: convert the identifier to snake case: `sample_size`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `jobProd` should have a snake case name
[INFO] [stdout]   --> src/main.rs:50:10
[INFO] [stdout]    |
[INFO] [stdout] 50 |     let (jobProd, jobRecv) = spmc::channel();
[INFO] [stdout]    |          ^^^^^^^ help: convert the identifier to snake case: `job_prod`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `jobRecv` should have a snake case name
[INFO] [stdout]   --> src/main.rs:50:19
[INFO] [stdout]    |
[INFO] [stdout] 50 |     let (jobProd, jobRecv) = spmc::channel();
[INFO] [stdout]    |                   ^^^^^^^ help: convert the identifier to snake case: `job_recv`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `printProd` should have a snake case name
[INFO] [stdout]   --> src/main.rs:51:10
[INFO] [stdout]    |
[INFO] [stdout] 51 |     let (printProd, printRecv) = mpsc::channel();
[INFO] [stdout]    |          ^^^^^^^^^ help: convert the identifier to snake case: `print_prod`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `printRecv` should have a snake case name
[INFO] [stdout]   --> src/main.rs:51:21
[INFO] [stdout]    |
[INFO] [stdout] 51 |     let (printProd, printRecv) = mpsc::channel();
[INFO] [stdout]    |                     ^^^^^^^^^ help: convert the identifier to snake case: `print_recv`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `widthPerIter` should have a snake case name
[INFO] [stdout]   --> src/main.rs:55:13
[INFO] [stdout]    |
[INFO] [stdout] 55 |         let widthPerIter = (1_f32 + (FFT_SIZE as f32/ 1024_f32).round()) as u32;
[INFO] [stdout]    |             ^^^^^^^^^^^^ help: convert the identifier to snake case: `width_per_iter`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `sampleRate` should have a snake case name
[INFO] [stdout]   --> src/main.rs:61:50
[INFO] [stdout]    |
[INFO] [stdout] 61 |                 PrintJob::Print(iteration, data, sampleRate) => {
[INFO] [stdout]    |                                                  ^^^^^^^^^^ help: convert the identifier to snake case: `sample_rate`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `minFreq` should have a snake case name
[INFO] [stdout]   --> src/main.rs:62:25
[INFO] [stdout]    |
[INFO] [stdout] 62 |                     let minFreq = 20;
[INFO] [stdout]    |                         ^^^^^^^ help: convert the identifier to snake case: `min_freq`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `maxFreq` should have a snake case name
[INFO] [stdout]   --> src/main.rs:63:25
[INFO] [stdout]    |
[INFO] [stdout] 63 |                     let maxFreq = 8000;
[INFO] [stdout]    |                         ^^^^^^^ help: convert the identifier to snake case: `max_freq`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `printThread` should have a snake case name
[INFO] [stdout]   --> src/main.rs:53:9
[INFO] [stdout]    |
[INFO] [stdout] 53 |     let printThread = thread::spawn(move || {
[INFO] [stdout]    |         ^^^^^^^^^^^ help: convert the identifier to snake case: `print_thread`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/main.rs:88:9
[INFO] [stdout]    |
[INFO] [stdout] 88 |         jobProd.send(iteration);
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 88 |         let _ = jobProd.send(iteration);
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `jobRecv` should have a snake case name
[INFO] [stdout]   --> src/main.rs:96:13
[INFO] [stdout]    |
[INFO] [stdout] 96 |         let jobRecv = jobRecv.clone();
[INFO] [stdout]    |             ^^^^^^^ help: convert the identifier to snake case: `job_recv`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `printProd` should have a snake case name
[INFO] [stdout]   --> src/main.rs:97:13
[INFO] [stdout]    |
[INFO] [stdout] 97 |         let printProd = printProd.clone();
[INFO] [stdout]    |             ^^^^^^^^^ help: convert the identifier to snake case: `print_prod`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/main.rs:113:25
[INFO] [stdout]     |
[INFO] [stdout] 113 |                         reader.seek(iteration * spec.channels as u32 * FFT_SIZE as u32);
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 113 |                         let _ = reader.seek(iteration * spec.channels as u32 * FFT_SIZE as u32);
[INFO] [stdout]     |                         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/main.rs:144:25
[INFO] [stdout]     |
[INFO] [stdout] 144 |                         printProd.send(PrintJob::Print(iteration, output, spec.sample_rate));
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 144 |                         let _ = printProd.send(PrintJob::Print(iteration, output, spec.sample_rate));
[INFO] [stdout]     |                         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 21 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished test [unoptimized + debuginfo] target(s) in 0.44s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: rustc-serialize v0.3.24
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 1`
[INFO] running `Command { std: "docker" "inspect" "c3d99d1d73081f34b7bbad7b53edef13a7bbc0f2ae0fa5c69aea8f8683f7ccdd", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "c3d99d1d73081f34b7bbad7b53edef13a7bbc0f2ae0fa5c69aea8f8683f7ccdd", kill_on_drop: false }`
[INFO] [stdout] c3d99d1d73081f34b7bbad7b53edef13a7bbc0f2ae0fa5c69aea8f8683f7ccdd
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+1.75.0" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] ba7fc9d435d923a44da6006b9b6c8cddf2182e4b64674aa326c5fa74868da9c8
[INFO] running `Command { std: "docker" "start" "-a" "ba7fc9d435d923a44da6006b9b6c8cddf2182e4b64674aa326c5fa74868da9c8", kill_on_drop: false }`
[INFO] [stderr] warning: unnecessary parentheses around assigned value
[INFO] [stderr]   --> src/main.rs:18:26
[INFO] [stderr]    |
[INFO] [stderr] 18 | const NORM_SIZE: usize = (FFT_SIZE/2);
[INFO] [stderr]    |                          ^          ^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_parens)]` on by default
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]    |
[INFO] [stderr] 18 - const NORM_SIZE: usize = (FFT_SIZE/2);
[INFO] [stderr] 18 + const NORM_SIZE: usize = FFT_SIZE/2;
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `sampleSize`
[INFO] [stderr]   --> src/main.rs:40:9
[INFO] [stderr]    |
[INFO] [stderr] 40 |     let sampleSize = reader.spec().sample_rate;
[INFO] [stderr]    |         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sampleSize`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `i`
[INFO] [stderr]   --> src/main.rs:95:9
[INFO] [stderr]    |
[INFO] [stderr] 95 |     for i in 0..NUM_WORKERS {
[INFO] [stderr]    |         ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `freq`
[INFO] [stderr]   --> src/main.rs:68:29
[INFO] [stderr]    |
[INFO] [stderr] 68 |                         let freq = i as f32 * sampleRate as f32 / FFT_SIZE as f32;
[INFO] [stderr]    |                             ^^^^ help: if this is intentional, prefix it with an underscore: `_freq`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/main.rs:74:29
[INFO] [stderr]    |
[INFO] [stderr] 74 |                         let mut color =  bmp::Pixel::new(grayscale, 0, (norm * 255_f32) as u8);
[INFO] [stderr]    |                             ----^^^^^
[INFO] [stderr]    |                             |
[INFO] [stderr]    |                             help: remove this `mut`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable `sampleRate` should have a snake case name
[INFO] [stderr]   --> src/main.rs:28:27
[INFO] [stderr]    |
[INFO] [stderr] 28 | fn freq_to_bin(freq: u32, sampleRate: u32) -> usize {
[INFO] [stderr]    |                           ^^^^^^^^^^ help: convert the identifier to snake case: `sample_rate`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(non_snake_case)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable `sampleSize` should have a snake case name
[INFO] [stderr]   --> src/main.rs:40:9
[INFO] [stderr]    |
[INFO] [stderr] 40 |     let sampleSize = reader.spec().sample_rate;
[INFO] [stderr]    |         ^^^^^^^^^^ help: convert the identifier to snake case: `sample_size`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `jobProd` should have a snake case name
[INFO] [stderr]   --> src/main.rs:50:10
[INFO] [stderr]    |
[INFO] [stderr] 50 |     let (jobProd, jobRecv) = spmc::channel();
[INFO] [stderr]    |          ^^^^^^^ help: convert the identifier to snake case: `job_prod`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `jobRecv` should have a snake case name
[INFO] [stderr]   --> src/main.rs:50:19
[INFO] [stderr]    |
[INFO] [stderr] 50 |     let (jobProd, jobRecv) = spmc::channel();
[INFO] [stderr]    |                   ^^^^^^^ help: convert the identifier to snake case: `job_recv`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `printProd` should have a snake case name
[INFO] [stderr]   --> src/main.rs:51:10
[INFO] [stderr]    |
[INFO] [stderr] 51 |     let (printProd, printRecv) = mpsc::channel();
[INFO] [stderr]    |          ^^^^^^^^^ help: convert the identifier to snake case: `print_prod`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `printRecv` should have a snake case name
[INFO] [stderr]   --> src/main.rs:51:21
[INFO] [stderr]    |
[INFO] [stderr] 51 |     let (printProd, printRecv) = mpsc::channel();
[INFO] [stderr]    |                     ^^^^^^^^^ help: convert the identifier to snake case: `print_recv`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `widthPerIter` should have a snake case name
[INFO] [stderr]   --> src/main.rs:55:13
[INFO] [stderr]    |
[INFO] [stderr] 55 |         let widthPerIter = (1_f32 + (FFT_SIZE as f32/ 1024_f32).round()) as u32;
[INFO] [stderr]    |             ^^^^^^^^^^^^ help: convert the identifier to snake case: `width_per_iter`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `sampleRate` should have a snake case name
[INFO] [stderr]   --> src/main.rs:61:50
[INFO] [stderr]    |
[INFO] [stderr] 61 |                 PrintJob::Print(iteration, data, sampleRate) => {
[INFO] [stderr]    |                                                  ^^^^^^^^^^ help: convert the identifier to snake case: `sample_rate`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `minFreq` should have a snake case name
[INFO] [stderr]   --> src/main.rs:62:25
[INFO] [stderr]    |
[INFO] [stderr] 62 |                     let minFreq = 20;
[INFO] [stderr]    |                         ^^^^^^^ help: convert the identifier to snake case: `min_freq`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `maxFreq` should have a snake case name
[INFO] [stderr]   --> src/main.rs:63:25
[INFO] [stderr]    |
[INFO] [stderr] 63 |                     let maxFreq = 8000;
[INFO] [stderr]    |                         ^^^^^^^ help: convert the identifier to snake case: `max_freq`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `printThread` should have a snake case name
[INFO] [stderr]   --> src/main.rs:53:9
[INFO] [stderr]    |
[INFO] [stderr] 53 |     let printThread = thread::spawn(move || {
[INFO] [stderr]    |         ^^^^^^^^^^^ help: convert the identifier to snake case: `print_thread`
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]   --> src/main.rs:88:9
[INFO] [stderr]    |
[INFO] [stderr] 88 |         jobProd.send(iteration);
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr]    = note: `#[warn(unused_must_use)]` on by default
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]    |
[INFO] [stderr] 88 |         let _ = jobProd.send(iteration);
[INFO] [stderr]    |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: variable `jobRecv` should have a snake case name
[INFO] [stderr]   --> src/main.rs:96:13
[INFO] [stderr]    |
[INFO] [stderr] 96 |         let jobRecv = jobRecv.clone();
[INFO] [stderr]    |             ^^^^^^^ help: convert the identifier to snake case: `job_recv`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `printProd` should have a snake case name
[INFO] [stderr]   --> src/main.rs:97:13
[INFO] [stderr]    |
[INFO] [stderr] 97 |         let printProd = printProd.clone();
[INFO] [stderr]    |             ^^^^^^^^^ help: convert the identifier to snake case: `print_prod`
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> src/main.rs:113:25
[INFO] [stderr]     |
[INFO] [stderr] 113 |                         reader.seek(iteration * spec.channels as u32 * FFT_SIZE as u32);
[INFO] [stderr]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 113 |                         let _ = reader.seek(iteration * spec.channels as u32 * FFT_SIZE as u32);
[INFO] [stderr]     |                         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> src/main.rs:144:25
[INFO] [stderr]     |
[INFO] [stderr] 144 |                         printProd.send(PrintJob::Print(iteration, output, spec.sample_rate));
[INFO] [stderr]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 144 |                         let _ = printProd.send(PrintJob::Print(iteration, output, spec.sample_rate));
[INFO] [stderr]     |                         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: `fft` (bin "fft" test) generated 21 warnings (run `cargo fix --bin "fft" --tests` to apply 5 suggestions)
[INFO] [stderr]     Finished test [unoptimized + debuginfo] target(s) in 0.01s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: rustc-serialize v0.3.24
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 1`
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/fft-235ad915397e2f0f)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "ba7fc9d435d923a44da6006b9b6c8cddf2182e4b64674aa326c5fa74868da9c8", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ba7fc9d435d923a44da6006b9b6c8cddf2182e4b64674aa326c5fa74868da9c8", kill_on_drop: false }`
[INFO] [stdout] ba7fc9d435d923a44da6006b9b6c8cddf2182e4b64674aa326c5fa74868da9c8
