[INFO] updating cached repository donniemattingly/fingerprint [INFO] running `"git" "fetch" "--all"` [INFO] [stdout] Fetching origin [INFO] [stderr] From git://github.com/donniemattingly/fingerprint [INFO] [stderr] * branch HEAD -> FETCH_HEAD [INFO] running `"git" "clone" "work/cache/sources/gh/donniemattingly/fingerprint" "work/ex/pr-60039-1/sources/master#e305df1846a6d985315917ae0c81b74af8b4e641/gh/donniemattingly/fingerprint"` [INFO] [stderr] Cloning into 'work/ex/pr-60039-1/sources/master#e305df1846a6d985315917ae0c81b74af8b4e641/gh/donniemattingly/fingerprint'... [INFO] [stderr] done. [INFO] running `"git" "clone" "work/cache/sources/gh/donniemattingly/fingerprint" "work/ex/pr-60039-1/sources/try#99a7498759a22b5684caf798a98b7e90ad9d2443/gh/donniemattingly/fingerprint"` [INFO] [stderr] Cloning into 'work/ex/pr-60039-1/sources/try#99a7498759a22b5684caf798a98b7e90ad9d2443/gh/donniemattingly/fingerprint'... [INFO] [stderr] done. [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] a58e4ef8e0c3f5f041c2ddc4b9d23b0fd085aee8 [INFO] sha for GitHub repo donniemattingly/fingerprint: a58e4ef8e0c3f5f041c2ddc4b9d23b0fd085aee8 [INFO] validating manifest of donniemattingly/fingerprint on toolchain master#e305df1846a6d985315917ae0c81b74af8b4e641 [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+e305df1846a6d985315917ae0c81b74af8b4e641-alt" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] validating manifest of donniemattingly/fingerprint on toolchain try#99a7498759a22b5684caf798a98b7e90ad9d2443 [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+99a7498759a22b5684caf798a98b7e90ad9d2443-alt" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] started frobbing donniemattingly/fingerprint [INFO] finished frobbing donniemattingly/fingerprint [INFO] frobbed toml for donniemattingly/fingerprint written to work/ex/pr-60039-1/sources/master#e305df1846a6d985315917ae0c81b74af8b4e641/gh/donniemattingly/fingerprint/Cargo.toml [INFO] started frobbing donniemattingly/fingerprint [INFO] finished frobbing donniemattingly/fingerprint [INFO] frobbed toml for donniemattingly/fingerprint written to work/ex/pr-60039-1/sources/try#99a7498759a22b5684caf798a98b7e90ad9d2443/gh/donniemattingly/fingerprint/Cargo.toml [INFO] crate donniemattingly/fingerprint already has a lockfile, it will not be regenerated [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+e305df1846a6d985315917ae0c81b74af8b4e641-alt" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+99a7498759a22b5684caf798a98b7e90ad9d2443-alt" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] checking donniemattingly/fingerprint against try#99a7498759a22b5684caf798a98b7e90ad9d2443 for pr-60039-1 [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/pr-60039-1/worker-2/try#99a7498759a22b5684caf798a98b7e90ad9d2443:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/pr-60039-1/sources/try#99a7498759a22b5684caf798a98b7e90ad9d2443/gh/donniemattingly/fingerprint:/opt/crater/workdir:ro,Z" "-v" "/mnt/big/crater/work/local/cargo-home:/opt/crater/cargo-home:ro,Z" "-v" "/mnt/big/crater/work/local/rustup-home:/opt/crater/rustup-home:ro,Z" "-e" "USER_ID=1000" "-e" "SOURCE_DIR=/opt/crater/workdir" "-e" "MAP_USER_ID=1000" "-e" "CARGO_TARGET_DIR=/opt/crater/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/crater/cargo-home" "-e" "RUSTUP_HOME=/opt/crater/rustup-home" "-w" "/opt/crater/workdir" "-m" "1536M" "--network" "none" "rustops/crates-build-env" "/opt/crater/cargo-home/bin/cargo" "+99a7498759a22b5684caf798a98b7e90ad9d2443-alt" "check" "--frozen" "--all" "--all-targets"` [INFO] [stdout] a4518d0b01afc3a40776fb8c515b2b3fae570b0af5a5c3d23e9d3a246cac703b [INFO] running `"docker" "start" "-a" "a4518d0b01afc3a40776fb8c515b2b3fae570b0af5a5c3d23e9d3a246cac703b"` [INFO] [stderr] Checking hound v3.3.1 [INFO] [stderr] Checking goertzel v0.2.0 [INFO] [stderr] Compiling miniz-sys v0.1.10 [INFO] [stderr] Checking num-complex v0.1.42 [INFO] [stderr] Checking log v0.4.1 [INFO] [stderr] Checking multimap v0.4.0 [INFO] [stderr] Checking num-bigint v0.1.43 [INFO] [stderr] Checking threadpool v1.7.1 [INFO] [stderr] Checking serde_yaml v0.7.3 [INFO] [stderr] Checking png v0.11.0 [INFO] [stderr] Checking serde-value v0.5.1 [INFO] [stderr] Checking rayon-core v1.4.0 [INFO] [stderr] Checking alga v0.5.3 [INFO] [stderr] Checking rustfft v2.0.0 [INFO] [stderr] Checking num-rational v0.1.42 [INFO] [stderr] Checking rayon v1.0.0 [INFO] [stderr] Checking num v0.1.42 [INFO] [stderr] Checking flate2 v1.0.1 [INFO] [stderr] Checking chrono v0.4.0 [INFO] [stderr] Checking nalgebra v0.5.1 [INFO] [stderr] Checking stopwatch v0.0.7 [INFO] [stderr] Checking streaming-stats v0.1.28 [INFO] [stderr] Checking nalgebra v0.13.1 [INFO] [stderr] Checking log4rs v0.8.0 [INFO] [stderr] Checking jpeg-decoder v0.1.14 [INFO] [stderr] Checking image v0.18.0 [INFO] [stderr] Checking apodize v0.2.0 [INFO] [stderr] warning[E0502]: cannot borrow `*self` as immutable because it is also borrowed as mutable [INFO] [stderr] --> /opt/crater/cargo-home/registry/src/github.com-1ecc6299db9ec823/nalgebra-0.13.1/src/core/cg.rs:255:44 [INFO] [stderr] | [INFO] [stderr] 255 | self[(j, i)] += shift[j] * self[(D::dim() - 1, i)]; [INFO] [stderr] | ---------------------------^^^^------------------- [INFO] [stderr] | | | [INFO] [stderr] | | immutable borrow occurs here [INFO] [stderr] | mutable borrow occurs here [INFO] [stderr] | mutable borrow later used here [INFO] [stderr] | [INFO] [stderr] = warning: this error has been downgraded to a warning for backwards compatibility with previous releases [INFO] [stderr] = warning: this represents potential undefined behavior in your code and this warning will become a hard error in the future [INFO] [stderr] [INFO] [stderr] Checking fingerprint v0.1.0 (/opt/crater/workdir) [INFO] [stderr] warning: unused import: `std::collections::HashMap` [INFO] [stderr] --> src/main.rs:14:5 [INFO] [stderr] | [INFO] [stderr] 14 | use std::collections::HashMap; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_imports)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::collections::HashSet` [INFO] [stderr] --> src/hash.rs:5:5 [INFO] [stderr] | [INFO] [stderr] 5 | use std::collections::HashSet; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around `if` condition [INFO] [stderr] --> src/main.rs:81:12 [INFO] [stderr] | [INFO] [stderr] 81 | if (diff != cur) { [INFO] [stderr] | ^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_parens)] on by default [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around `if` condition [INFO] [stderr] --> src/main.rs:82:16 [INFO] [stderr] | [INFO] [stderr] 82 | if (cur_count > 10) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: unused import: `self::stopwatch::Stopwatch` [INFO] [stderr] --> src/lib.rs:8:5 [INFO] [stderr] | [INFO] [stderr] 8 | use self::stopwatch::Stopwatch; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_imports)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::collections::HashMap` [INFO] [stderr] --> src/lib.rs:14:5 [INFO] [stderr] | [INFO] [stderr] 14 | use std::collections::HashMap; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `multimap::MultiMap` [INFO] [stderr] --> src/lib.rs:18:5 [INFO] [stderr] | [INFO] [stderr] 18 | use multimap::MultiMap; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::path::PathBuf` [INFO] [stderr] --> src/spectrogram.rs:234:5 [INFO] [stderr] | [INFO] [stderr] 234 | use std::path::PathBuf; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::collections::HashSet` [INFO] [stderr] --> src/hash.rs:5:5 [INFO] [stderr] | [INFO] [stderr] 5 | use std::collections::HashSet; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::path::PathBuf` [INFO] [stderr] --> src/hash.rs:197:5 [INFO] [stderr] | [INFO] [stderr] 197 | use std::path::PathBuf; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused variable: `offsets2` [INFO] [stderr] --> src/main.rs:65:13 [INFO] [stderr] | [INFO] [stderr] 65 | let mut offsets2: Vec<(f32, f32, String)> = Vec::new(); [INFO] [stderr] | ^^^^^^^^ help: consider prefixing with an underscore: `_offsets2` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_variables)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `peaks_len` [INFO] [stderr] --> src/hash.rs:116:9 [INFO] [stderr] | [INFO] [stderr] 116 | let peaks_len = peaks.len(); [INFO] [stderr] | ^^^^^^^^^ help: consider prefixing with an underscore: `_peaks_len` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `peak` [INFO] [stderr] --> src/hash.rs:126:13 [INFO] [stderr] | [INFO] [stderr] 126 | for (i, peak) in peaks.iter().enumerate() { [INFO] [stderr] | ^^^^ help: consider prefixing with an underscore: `_peak` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `y` [INFO] [stderr] --> src/hash.rs:162:9 [INFO] [stderr] | [INFO] [stderr] 162 | let y = rand::random::(); [INFO] [stderr] | ^ help: consider prefixing with an underscore: `_y` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/main.rs:25:9 [INFO] [stderr] | [INFO] [stderr] 25 | let mut sw = Stopwatch::start_new(); [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 does not need to be mutable [INFO] [stderr] --> src/main.rs:44:9 [INFO] [stderr] | [INFO] [stderr] 44 | let mut dups = 0; [INFO] [stderr] | ----^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/main.rs:65:9 [INFO] [stderr] | [INFO] [stderr] 65 | let mut offsets2: Vec<(f32, f32, String)> = Vec::new(); [INFO] [stderr] | ----^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/spectrogram.rs:62:13 [INFO] [stderr] | [INFO] [stderr] 62 | let mut sw = Stopwatch::start_new(); [INFO] [stderr] | ----^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/spectrogram.rs:109:9 [INFO] [stderr] | [INFO] [stderr] 109 | let mut new_spec = spectrum.split_off(half_index); [INFO] [stderr] | ----^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/spectrogram.rs:183:9 [INFO] [stderr] | [INFO] [stderr] 183 | let mut raw: Vec> = vec![Vec::new(); num_chunks - 1 as usize]; [INFO] [stderr] | ----^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/spectrogram.rs:184:9 [INFO] [stderr] | [INFO] [stderr] 184 | let mut output: Mutex>> = Mutex::new(raw); [INFO] [stderr] | ----^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/hash.rs:61:9 [INFO] [stderr] | [INFO] [stderr] 61 | let mut sw = Stopwatch::start_new(); [INFO] [stderr] | ----^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/hash.rs:113:9 [INFO] [stderr] | [INFO] [stderr] 113 | let mut sw = Stopwatch::start_new(); [INFO] [stderr] | ----^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/hash.rs:119:9 [INFO] [stderr] | [INFO] [stderr] 119 | let mut output: Mutex> = Mutex::new(vec![]); [INFO] [stderr] | ----^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: function is never used: `gen_spectrogram` [INFO] [stderr] --> src/main.rs:33:1 [INFO] [stderr] | [INFO] [stderr] 33 | fn gen_spectrogram>(wav: P, image: P) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(dead_code)] on by default [INFO] [stderr] [INFO] [stderr] warning: function is never used: `test_fingerprinting` [INFO] [stderr] --> src/main.rs:39:1 [INFO] [stderr] | [INFO] [stderr] 39 | fn test_fingerprinting() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused variable: `path` [INFO] [stderr] --> src/lib.rs:53:39 [INFO] [stderr] | [INFO] [stderr] 53 | pub extern "C" fn rust_compute_hashes(path: *const c_char) -> int32_t { [INFO] [stderr] | ^^^^ help: consider prefixing with an underscore: `_path` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_variables)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `peaks_len` [INFO] [stderr] --> src/hash.rs:116:9 [INFO] [stderr] | [INFO] [stderr] 116 | let peaks_len = peaks.len(); [INFO] [stderr] | ^^^^^^^^^ help: consider prefixing with an underscore: `_peaks_len` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `peak` [INFO] [stderr] --> src/hash.rs:126:13 [INFO] [stderr] | [INFO] [stderr] 126 | for (i, peak) in peaks.iter().enumerate() { [INFO] [stderr] | ^^^^ help: consider prefixing with an underscore: `_peak` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `y` [INFO] [stderr] --> src/hash.rs:162:9 [INFO] [stderr] | [INFO] [stderr] 162 | let y = rand::random::(); [INFO] [stderr] | ^ help: consider prefixing with an underscore: `_y` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/spectrogram.rs:62:13 [INFO] [stderr] | [INFO] [stderr] 62 | let mut sw = Stopwatch::start_new(); [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 does not need to be mutable [INFO] [stderr] --> src/spectrogram.rs:109:9 [INFO] [stderr] | [INFO] [stderr] 109 | let mut new_spec = spectrum.split_off(half_index); [INFO] [stderr] | ----^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/spectrogram.rs:183:9 [INFO] [stderr] | [INFO] [stderr] 183 | let mut raw: Vec> = vec![Vec::new(); num_chunks - 1 as usize]; [INFO] [stderr] | ----^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/spectrogram.rs:184:9 [INFO] [stderr] | [INFO] [stderr] 184 | let mut output: Mutex>> = Mutex::new(raw); [INFO] [stderr] | ----^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/hash.rs:61:9 [INFO] [stderr] | [INFO] [stderr] 61 | let mut sw = Stopwatch::start_new(); [INFO] [stderr] | ----^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/hash.rs:113:9 [INFO] [stderr] | [INFO] [stderr] 113 | let mut sw = Stopwatch::start_new(); [INFO] [stderr] | ----^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/hash.rs:119:9 [INFO] [stderr] | [INFO] [stderr] 119 | let mut output: Mutex> = Mutex::new(vec![]); [INFO] [stderr] | ----^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: unnecessary `unsafe` block [INFO] [stderr] --> src/lib.rs:69:5 [INFO] [stderr] | [INFO] [stderr] 69 | unsafe { transformed[0] } [INFO] [stderr] | ^^^^^^ unnecessary `unsafe` block [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_unsafe)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `self::stopwatch::Stopwatch` [INFO] [stderr] --> src/lib.rs:8:5 [INFO] [stderr] | [INFO] [stderr] 8 | use self::stopwatch::Stopwatch; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_imports)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::collections::HashMap` [INFO] [stderr] --> src/lib.rs:14:5 [INFO] [stderr] | [INFO] [stderr] 14 | use std::collections::HashMap; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `multimap::MultiMap` [INFO] [stderr] --> src/lib.rs:18:5 [INFO] [stderr] | [INFO] [stderr] 18 | use multimap::MultiMap; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::collections::HashSet` [INFO] [stderr] --> src/hash.rs:5:5 [INFO] [stderr] | [INFO] [stderr] 5 | use std::collections::HashSet; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::collections::HashMap` [INFO] [stderr] --> src/main.rs:14:5 [INFO] [stderr] | [INFO] [stderr] 14 | use std::collections::HashMap; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_imports)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::path::PathBuf` [INFO] [stderr] --> src/spectrogram.rs:234:5 [INFO] [stderr] | [INFO] [stderr] 234 | use std::path::PathBuf; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::collections::HashSet` [INFO] [stderr] --> src/hash.rs:5:5 [INFO] [stderr] | [INFO] [stderr] 5 | use std::collections::HashSet; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::path::PathBuf` [INFO] [stderr] --> src/hash.rs:197:5 [INFO] [stderr] | [INFO] [stderr] 197 | use std::path::PathBuf; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around `if` condition [INFO] [stderr] --> src/main.rs:81:12 [INFO] [stderr] | [INFO] [stderr] 81 | if (diff != cur) { [INFO] [stderr] | ^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_parens)] on by default [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around `if` condition [INFO] [stderr] --> src/main.rs:82:16 [INFO] [stderr] | [INFO] [stderr] 82 | if (cur_count > 10) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: unused variable: `offsets2` [INFO] [stderr] --> src/main.rs:65:13 [INFO] [stderr] | [INFO] [stderr] 65 | let mut offsets2: Vec<(f32, f32, String)> = Vec::new(); [INFO] [stderr] | ^^^^^^^^ help: consider prefixing with an underscore: `_offsets2` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_variables)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `peaks_len` [INFO] [stderr] --> src/hash.rs:116:9 [INFO] [stderr] | [INFO] [stderr] 116 | let peaks_len = peaks.len(); [INFO] [stderr] | ^^^^^^^^^ help: consider prefixing with an underscore: `_peaks_len` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `peak` [INFO] [stderr] --> src/hash.rs:126:13 [INFO] [stderr] | [INFO] [stderr] 126 | for (i, peak) in peaks.iter().enumerate() { [INFO] [stderr] | ^^^^ help: consider prefixing with an underscore: `_peak` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `y` [INFO] [stderr] --> src/hash.rs:162:9 [INFO] [stderr] | [INFO] [stderr] 162 | let y = rand::random::(); [INFO] [stderr] | ^ help: consider prefixing with an underscore: `_y` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/main.rs:25:9 [INFO] [stderr] | [INFO] [stderr] 25 | let mut sw = Stopwatch::start_new(); [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 does not need to be mutable [INFO] [stderr] --> src/main.rs:44:9 [INFO] [stderr] | [INFO] [stderr] 44 | let mut dups = 0; [INFO] [stderr] | ----^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/main.rs:65:9 [INFO] [stderr] | [INFO] [stderr] 65 | let mut offsets2: Vec<(f32, f32, String)> = Vec::new(); [INFO] [stderr] | ----^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/spectrogram.rs:62:13 [INFO] [stderr] | [INFO] [stderr] 62 | let mut sw = Stopwatch::start_new(); [INFO] [stderr] | ----^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/spectrogram.rs:109:9 [INFO] [stderr] | [INFO] [stderr] 109 | let mut new_spec = spectrum.split_off(half_index); [INFO] [stderr] | ----^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/spectrogram.rs:183:9 [INFO] [stderr] | [INFO] [stderr] 183 | let mut raw: Vec> = vec![Vec::new(); num_chunks - 1 as usize]; [INFO] [stderr] | ----^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/spectrogram.rs:184:9 [INFO] [stderr] | [INFO] [stderr] 184 | let mut output: Mutex>> = Mutex::new(raw); [INFO] [stderr] | ----^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/hash.rs:61:9 [INFO] [stderr] | [INFO] [stderr] 61 | let mut sw = Stopwatch::start_new(); [INFO] [stderr] | ----^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/hash.rs:113:9 [INFO] [stderr] | [INFO] [stderr] 113 | let mut sw = Stopwatch::start_new(); [INFO] [stderr] | ----^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/hash.rs:119:9 [INFO] [stderr] | [INFO] [stderr] 119 | let mut output: Mutex> = Mutex::new(vec![]); [INFO] [stderr] | ----^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: function is never used: `gen_spectrogram` [INFO] [stderr] --> src/main.rs:33:1 [INFO] [stderr] | [INFO] [stderr] 33 | fn gen_spectrogram>(wav: P, image: P) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(dead_code)] on by default [INFO] [stderr] [INFO] [stderr] warning: function is never used: `test_fingerprinting` [INFO] [stderr] --> src/main.rs:39:1 [INFO] [stderr] | [INFO] [stderr] 39 | fn test_fingerprinting() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused variable: `path` [INFO] [stderr] --> src/lib.rs:53:39 [INFO] [stderr] | [INFO] [stderr] 53 | pub extern "C" fn rust_compute_hashes(path: *const c_char) -> int32_t { [INFO] [stderr] | ^^^^ help: consider prefixing with an underscore: `_path` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_variables)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `peaks_len` [INFO] [stderr] --> src/hash.rs:116:9 [INFO] [stderr] | [INFO] [stderr] 116 | let peaks_len = peaks.len(); [INFO] [stderr] | ^^^^^^^^^ help: consider prefixing with an underscore: `_peaks_len` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `peak` [INFO] [stderr] --> src/hash.rs:126:13 [INFO] [stderr] | [INFO] [stderr] 126 | for (i, peak) in peaks.iter().enumerate() { [INFO] [stderr] | ^^^^ help: consider prefixing with an underscore: `_peak` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `y` [INFO] [stderr] --> src/hash.rs:162:9 [INFO] [stderr] | [INFO] [stderr] 162 | let y = rand::random::(); [INFO] [stderr] | ^ help: consider prefixing with an underscore: `_y` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/spectrogram.rs:62:13 [INFO] [stderr] | [INFO] [stderr] 62 | let mut sw = Stopwatch::start_new(); [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 does not need to be mutable [INFO] [stderr] --> src/spectrogram.rs:109:9 [INFO] [stderr] | [INFO] [stderr] 109 | let mut new_spec = spectrum.split_off(half_index); [INFO] [stderr] | ----^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/spectrogram.rs:183:9 [INFO] [stderr] | [INFO] [stderr] 183 | let mut raw: Vec> = vec![Vec::new(); num_chunks - 1 as usize]; [INFO] [stderr] | ----^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/spectrogram.rs:184:9 [INFO] [stderr] | [INFO] [stderr] 184 | let mut output: Mutex>> = Mutex::new(raw); [INFO] [stderr] | ----^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/hash.rs:61:9 [INFO] [stderr] | [INFO] [stderr] 61 | let mut sw = Stopwatch::start_new(); [INFO] [stderr] | ----^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/hash.rs:113:9 [INFO] [stderr] | [INFO] [stderr] 113 | let mut sw = Stopwatch::start_new(); [INFO] [stderr] | ----^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/hash.rs:119:9 [INFO] [stderr] | [INFO] [stderr] 119 | let mut output: Mutex> = Mutex::new(vec![]); [INFO] [stderr] | ----^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: unnecessary `unsafe` block [INFO] [stderr] --> src/lib.rs:69:5 [INFO] [stderr] | [INFO] [stderr] 69 | unsafe { transformed[0] } [INFO] [stderr] | ^^^^^^ unnecessary `unsafe` block [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_unsafe)] on by default [INFO] [stderr] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 52.57s [INFO] running `"docker" "inspect" "a4518d0b01afc3a40776fb8c515b2b3fae570b0af5a5c3d23e9d3a246cac703b"` [INFO] running `"docker" "rm" "-f" "a4518d0b01afc3a40776fb8c515b2b3fae570b0af5a5c3d23e9d3a246cac703b"` [INFO] [stdout] a4518d0b01afc3a40776fb8c515b2b3fae570b0af5a5c3d23e9d3a246cac703b