[INFO] cloning repository https://github.com/zhpixel517/rust-audio
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/zhpixel517/rust-audio" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fzhpixel517%2Frust-audio", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fzhpixel517%2Frust-audio'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 3f7b8b252b90c5a5be966bd65c64bcdd50280f7c
[INFO] testing zhpixel517/rust-audio against try#c2e32f1c9652b13ed99608599c1e855462f421f3 for pr-146098-7
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fzhpixel517%2Frust-audio" "/workspace/builds/worker-3-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/zhpixel517/rust-audio
[INFO] finished tweaking git repo https://github.com/zhpixel517/rust-audio
[INFO] tweaked toml for git repo https://github.com/zhpixel517/rust-audio written to /workspace/builds/worker-3-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/zhpixel517/rust-audio on toolchain c2e32f1c9652b13ed99608599c1e855462f421f3
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c2e32f1c9652b13ed99608599c1e855462f421f3" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/zhpixel517/rust-audio 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" "+c2e32f1c9652b13ed99608599c1e855462f421f3" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c2e32f1c9652b13ed99608599c1e855462f421f3" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 179aca86a2cfc2533cea315961d9f0f1841eaec1d6e80556488af76ba855a78c
[INFO] running `Command { std: "docker" "start" "-a" "179aca86a2cfc2533cea315961d9f0f1841eaec1d6e80556488af76ba855a78c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "179aca86a2cfc2533cea315961d9f0f1841eaec1d6e80556488af76ba855a78c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "179aca86a2cfc2533cea315961d9f0f1841eaec1d6e80556488af76ba855a78c", kill_on_drop: false }`
[INFO] [stdout] 179aca86a2cfc2533cea315961d9f0f1841eaec1d6e80556488af76ba855a78c
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c2e32f1c9652b13ed99608599c1e855462f421f3" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] a801ab648aea347e826367eb6fa5e38efa980a2c8fd06a522468fc3bbbf9a6f7
[INFO] running `Command { std: "docker" "start" "-a" "a801ab648aea347e826367eb6fa5e38efa980a2c8fd06a522468fc3bbbf9a6f7", kill_on_drop: false }`
[INFO] [stderr]    Compiling cc v1.1.4
[INFO] [stderr]    Compiling memchr v2.7.4
[INFO] [stderr]    Compiling libc v0.2.155
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]    Compiling glob v0.3.1
[INFO] [stderr]    Compiling rustix v0.38.34
[INFO] [stderr]    Compiling prettyplease v0.2.20
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling failure_derive v0.1.8
[INFO] [stderr]    Compiling gimli v0.29.0
[INFO] [stderr]    Compiling adler v1.0.2
[INFO] [stderr]    Compiling regex-syntax v0.8.4
[INFO] [stderr]    Compiling either v1.13.0
[INFO] [stderr]    Compiling syn v2.0.71
[INFO] [stderr]    Compiling bitflags v2.6.0
[INFO] [stderr]    Compiling libloading v0.8.4
[INFO] [stderr]    Compiling miniz_oxide v0.7.4
[INFO] [stderr]    Compiling memoffset v0.7.1
[INFO] [stderr]    Compiling rustc-demangle v0.1.24
[INFO] [stderr]    Compiling home v0.5.9
[INFO] [stderr]    Compiling bindgen v0.69.4
[INFO] [stderr]    Compiling itertools v0.12.1
[INFO] [stderr]    Compiling parking_lot_core v0.9.10
[INFO] [stderr]    Compiling portable-atomic v1.7.0
[INFO] [stderr]    Compiling clang-sys v1.8.1
[INFO] [stderr]    Compiling thiserror v1.0.62
[INFO] [stderr]    Compiling parking_lot v0.12.3
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling mio v1.0.1
[INFO] [stderr]    Compiling socket2 v0.5.7
[INFO] [stderr]    Compiling alsa-sys v0.3.1
[INFO] [stderr]    Compiling num-integer v0.1.46
[INFO] [stderr]    Compiling serde v1.0.204
[INFO] [stderr]    Compiling bytes v1.6.1
[INFO] [stderr]    Compiling aho-corasick v1.1.3
[INFO] [stderr]    Compiling nom v7.1.3
[INFO] [stderr]    Compiling object v0.36.1
[INFO] [stderr]    Compiling fs_extra v1.3.0
[INFO] [stderr]    Compiling nix v0.26.4
[INFO] [stderr]    Compiling autotools v0.2.7
[INFO] [stderr]    Compiling cmake v0.1.50
[INFO] [stderr]    Compiling rand v0.8.5
[INFO] [stderr]    Compiling matrixmultiply v0.3.8
[INFO] [stderr]    Compiling crossbeam-utils v0.8.20
[INFO] [stderr]    Compiling rustfft v6.2.0
[INFO] [stderr]    Compiling addr2line v0.22.0
[INFO] [stderr]    Compiling backtrace v0.3.73
[INFO] [stderr]    Compiling audiopus_sys v0.2.2
[INFO] [stderr]    Compiling webrtc-vad v0.4.0
[INFO] [stderr]    Compiling num-complex v0.4.6
[INFO] [stderr]    Compiling cpal v0.15.3
[INFO] [stderr]    Compiling strength_reduce v0.2.4
[INFO] [stderr]    Compiling rawpointer v0.2.1
[INFO] [stderr]    Compiling alsa v0.9.0
[INFO] [stderr]    Compiling transpose v0.2.3
[INFO] [stderr]    Compiling synstructure v0.12.6
[INFO] [stderr]    Compiling regex-automata v0.4.7
[INFO] [stderr]    Compiling cexpr v0.6.0
[INFO] [stderr]    Compiling primal-check v0.3.4
[INFO] [stderr]    Compiling dasp_sample v0.11.0
[INFO] [stderr]    Compiling ringbuf v0.4.1
[INFO] [stderr]    Compiling ndarray v0.15.6
[INFO] [stderr]    Compiling opus v0.3.0
[INFO] [stderr]    Compiling rtp-rs v0.6.0
[INFO] [stderr]    Compiling rtrb v0.3.1
[INFO] [stderr]    Compiling ringbuffer v0.15.0
[INFO] [stderr]    Compiling which v4.4.2
[INFO] [stderr]    Compiling thiserror-impl v1.0.62
[INFO] [stderr]    Compiling tokio-macros v2.4.0
[INFO] [stderr]    Compiling async-trait v0.1.81
[INFO] [stderr]    Compiling serde_derive v1.0.204
[INFO] [stderr]    Compiling tokio v1.39.2
[INFO] [stderr]    Compiling regex v1.10.5
[INFO] [stderr]    Compiling failure v0.1.8
[INFO] [stderr]    Compiling webrtc-util v0.9.0
[INFO] [stderr]    Compiling rtcp v0.11.0
[INFO] [stderr]    Compiling rtp v0.11.0
[INFO] [stderr]    Compiling bincode v1.3.3
[INFO] [stderr]    Compiling webrtc-audio-processing-sys v0.4.0
[INFO] [stderr]    Compiling webrtc-audio-processing v0.4.0
[INFO] [stderr]    Compiling udp_latency_test v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused imports: `Simd` and `f32x4`
[INFO] [stdout]  --> src/aec.rs:2:17
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::simd::{f32x4, Simd};
[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: `num_complex::Complex`
[INFO] [stdout]  --> src/feedback_suppressor.rs:1:27
[INFO] [stdout]   |
[INFO] [stdout] 1 | use rustfft::{FftPlanner, num_complex::Complex};
[INFO] [stdout]   |                           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `packet`
[INFO] [stdout]   --> src/main.rs:10:12
[INFO] [stdout]    |
[INFO] [stdout] 10 | use opus::{packet, Decoder, Encoder};
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rtcp::payload_feedbacks`
[INFO] [stdout]   --> src/main.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use rtcp::payload_feedbacks;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rtp::sequence`
[INFO] [stdout]   --> src/main.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use rtp::sequence;
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Seq`
[INFO] [stdout]   --> src/main.rs:13:43
[INFO] [stdout]    |
[INFO] [stdout] 13 | use rtp_rs::{RtpPacketBuilder, RtpReader, Seq};
[INFO] [stdout]    |                                           ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: crate-level attribute should be in the root module
[INFO] [stdout]  --> src/aec.rs:1:1
[INFO] [stdout]   |
[INFO] [stdout] 1 | #![feature(portable_simd)]
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_attributes)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `input`
[INFO] [stdout]   --> src/feedback_suppressor.rs:22:37
[INFO] [stdout]    |
[INFO] [stdout] 22 |     pub fn process_block(&mut self, input: &[f32], output: &mut [f32]) {
[INFO] [stdout]    |                                     ^^^^^ help: if this is intentional, prefix it with an underscore: `_input`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `output`
[INFO] [stdout]   --> src/feedback_suppressor.rs:22:52
[INFO] [stdout]    |
[INFO] [stdout] 22 |     pub fn process_block(&mut self, input: &[f32], output: &mut [f32]) {
[INFO] [stdout]    |                                                    ^^^^^^ help: if this is intentional, prefix it with an underscore: `_output`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `start`
[INFO] [stdout]   --> src/noise_gate.rs:50:13
[INFO] [stdout]    |
[INFO] [stdout] 50 |         let start = Instant::now();
[INFO] [stdout]    |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_start`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `samples_attenuated` is assigned to, but never used
[INFO] [stdout]   --> src/noise_gate.rs:58:13
[INFO] [stdout]    |
[INFO] [stdout] 58 |         let mut samples_attenuated = 0;
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: consider using `_samples_attenuated` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `samples_attenuated` is never read
[INFO] [stdout]    --> src/noise_gate.rs:102:17
[INFO] [stdout]     |
[INFO] [stdout] 102 |                 samples_attenuated += 1;
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `noise_gate`
[INFO] [stdout]    --> src/main.rs:105:13
[INFO] [stdout]     |
[INFO] [stdout] 105 |         let noise_gate = NoiseGate::new(-23.5, 0.01, 0.0001, 0.02, 0.3, 48000.0);
[INFO] [stdout]     |             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_noise_gate`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `low_pass_filter`
[INFO] [stdout]    --> src/main.rs:107:13
[INFO] [stdout]     |
[INFO] [stdout] 107 |         let low_pass_filter = LowPassFilter::new(cutoff_freq, 48000.0);
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_low_pass_filter`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/main.rs:180:22
[INFO] [stdout]     |
[INFO] [stdout] 180 |                 for (i, sample) in data.iter_mut().enumerate().take(samples_to_play) {
[INFO] [stdout]     |                      ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/main.rs:318:13
[INFO] [stdout]     |
[INFO] [stdout] 318 |         let mut noise_gate = NoiseGate::new(-23.5, 0.01, 0.0001, 0.02, 0.3, 48000.0);
[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/main.rs:320:13
[INFO] [stdout]     |
[INFO] [stdout] 320 |         let mut low_pass_filter = LowPassFilter::new(cutoff_freq, 48000.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:337:17
[INFO] [stdout]     |
[INFO] [stdout] 337 |             let mut rtp_packet = RtpPacketBuilder::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:268:10
[INFO] [stdout]     |
[INFO] [stdout] 268 |     let (mut prod, mut cons) = RingBuffer::<u8>::new(RINGBUFFER_SIZE);
[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:268:20
[INFO] [stdout]     |
[INFO] [stdout] 268 |     let (mut prod, mut cons) = RingBuffer::<u8>::new(RINGBUFFER_SIZE);
[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:365:9
[INFO] [stdout]     |
[INFO] [stdout] 365 |     let mut decode_buffer = [0.0f32; MAX_DECODE_BUFFER_SIZE];
[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:368:9
[INFO] [stdout]     |
[INFO] [stdout] 368 |     let mut decoder = Decoder::new(48000, opus::Channels::Mono).unwrap();
[INFO] [stdout]     |         ----^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/main.rs:382:22
[INFO] [stdout]     |
[INFO] [stdout] 382 |                 for (i, sample) in data.iter_mut().enumerate().take(samples_to_play) {
[INFO] [stdout]     |                      ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `noise_gate`
[INFO] [stdout]    --> src/main.rs:318:13
[INFO] [stdout]     |
[INFO] [stdout] 318 |         let mut noise_gate = NoiseGate::new(-23.5, 0.01, 0.0001, 0.02, 0.3, 48000.0);
[INFO] [stdout]     |             ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_noise_gate`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `low_pass_filter`
[INFO] [stdout]    --> src/main.rs:320:13
[INFO] [stdout]     |
[INFO] [stdout] 320 |         let mut low_pass_filter = LowPassFilter::new(cutoff_freq, 48000.0);
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_low_pass_filter`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `prod`
[INFO] [stdout]    --> src/main.rs:268:10
[INFO] [stdout]     |
[INFO] [stdout] 268 |     let (mut prod, mut cons) = RingBuffer::<u8>::new(RINGBUFFER_SIZE);
[INFO] [stdout]     |          ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_prod`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cons`
[INFO] [stdout]    --> src/main.rs:268:20
[INFO] [stdout]     |
[INFO] [stdout] 268 |     let (mut prod, mut cons) = RingBuffer::<u8>::new(RINGBUFFER_SIZE);
[INFO] [stdout]     |                    ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_cons`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `decode_buffer`
[INFO] [stdout]    --> src/main.rs:365:9
[INFO] [stdout]     |
[INFO] [stdout] 365 |     let mut decode_buffer = [0.0f32; MAX_DECODE_BUFFER_SIZE];
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_decode_buffer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `decoder`
[INFO] [stdout]    --> src/main.rs:368:9
[INFO] [stdout]     |
[INFO] [stdout] 368 |     let mut decoder = Decoder::new(48000, opus::Channels::Mono).unwrap();
[INFO] [stdout]     |         ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_decoder`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AEC` is never constructed
[INFO] [stdout]  --> src/aec.rs:6:12
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct AEC {
[INFO] [stdout]   |            ^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/aec.rs:15:12
[INFO] [stdout]    |
[INFO] [stdout] 14 | impl AEC {
[INFO] [stdout]    | -------- associated function in this implementation
[INFO] [stdout] 15 |     pub fn new(filter_length: usize, step_size: f32, double_talk_threshold: f32) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `FeedbackSuppressor` is never constructed
[INFO] [stdout]  --> src/feedback_suppressor.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub struct FeedbackSuppressor {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `process_block` are never used
[INFO] [stdout]   --> src/feedback_suppressor.rs:11:12
[INFO] [stdout]    |
[INFO] [stdout] 10 | impl FeedbackSuppressor {
[INFO] [stdout]    | ----------------------- associated items in this implementation
[INFO] [stdout] 11 |     pub fn new(sample_rate: f32, fft_size: usize, threshold: f32) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 22 |     pub fn process_block(&mut self, input: &[f32], output: &mut [f32]) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `alpha` and `prev_output` are never read
[INFO] [stdout]   --> src/low_pass_filter.rs:63:5
[INFO] [stdout]    |
[INFO] [stdout] 62 | pub struct LowPassFilter {
[INFO] [stdout]    |            ------------- fields in this struct
[INFO] [stdout] 63 |     alpha: f32,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 64 |     prev_output: f32,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `process` is never used
[INFO] [stdout]   --> src/low_pass_filter.rs:79:12
[INFO] [stdout]    |
[INFO] [stdout] 67 | impl LowPassFilter {
[INFO] [stdout]    | ------------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 79 |     pub fn process(&mut self, input: &[f32], output: &mut [f32]){
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]   --> src/noise_gate.rs:8:5
[INFO] [stdout]    |
[INFO] [stdout]  6 | pub struct NoiseGate {
[INFO] [stdout]    |            --------- fields in this struct
[INFO] [stdout]  7 |     /// Decibels scale
[INFO] [stdout]  8 |     threshold_linear: f32,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout]  9 |     alpha: f32,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 10 |     low_pass_coeff: f32,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 11 |
[INFO] [stdout] 12 |     attack_time: f32,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 13 |     release_time: f32,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 14 |     hold_time: f32,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 15 |
[INFO] [stdout] 16 |     sample_rate: f32,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 17 |
[INFO] [stdout] 18 |     envelope: f32,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 19 |
[INFO] [stdout] 20 |     hold_counter: usize,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 21 |     current_gain: f32,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `process_block` is never used
[INFO] [stdout]   --> src/noise_gate.rs:49:12
[INFO] [stdout]    |
[INFO] [stdout] 24 | impl NoiseGate {
[INFO] [stdout]    | -------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 49 |     pub fn process_block(&mut self, input: &[f32], output: &mut [f32]) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/main.rs:254:5
[INFO] [stdout]     |
[INFO] [stdout] 254 |     socket.bind(&loopback.into());
[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)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 254 |     let _ = socket.bind(&loopback.into());
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/main.rs:423:25
[INFO] [stdout]     |
[INFO] [stdout] 423 |                         ap.process_render_frame(&mut buffer_to_send);
[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] 423 |                         let _ = ap.process_render_frame(&mut buffer_to_send);
[INFO] [stdout]     |                         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 43s
[INFO] running `Command { std: "docker" "inspect" "a801ab648aea347e826367eb6fa5e38efa980a2c8fd06a522468fc3bbbf9a6f7", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "a801ab648aea347e826367eb6fa5e38efa980a2c8fd06a522468fc3bbbf9a6f7", kill_on_drop: false }`
[INFO] [stdout] a801ab648aea347e826367eb6fa5e38efa980a2c8fd06a522468fc3bbbf9a6f7
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c2e32f1c9652b13ed99608599c1e855462f421f3" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] e6076eac78ba45721c0e2166ec6042b49dd1f321286e3824dd33965cd8de11fa
[INFO] running `Command { std: "docker" "start" "-a" "e6076eac78ba45721c0e2166ec6042b49dd1f321286e3824dd33965cd8de11fa", kill_on_drop: false }`
[INFO] [stderr]    Compiling udp_latency_test v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused imports: `Simd` and `f32x4`
[INFO] [stdout]  --> src/aec.rs:2:17
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::simd::{f32x4, Simd};
[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: `num_complex::Complex`
[INFO] [stdout]  --> src/feedback_suppressor.rs:1:27
[INFO] [stdout]   |
[INFO] [stdout] 1 | use rustfft::{FftPlanner, num_complex::Complex};
[INFO] [stdout]   |                           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `packet`
[INFO] [stdout]   --> src/main.rs:10:12
[INFO] [stdout]    |
[INFO] [stdout] 10 | use opus::{packet, Decoder, Encoder};
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rtcp::payload_feedbacks`
[INFO] [stdout]   --> src/main.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use rtcp::payload_feedbacks;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rtp::sequence`
[INFO] [stdout]   --> src/main.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use rtp::sequence;
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Seq`
[INFO] [stdout]   --> src/main.rs:13:43
[INFO] [stdout]    |
[INFO] [stdout] 13 | use rtp_rs::{RtpPacketBuilder, RtpReader, Seq};
[INFO] [stdout]    |                                           ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: crate-level attribute should be in the root module
[INFO] [stdout]  --> src/aec.rs:1:1
[INFO] [stdout]   |
[INFO] [stdout] 1 | #![feature(portable_simd)]
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_attributes)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `input`
[INFO] [stdout]   --> src/feedback_suppressor.rs:22:37
[INFO] [stdout]    |
[INFO] [stdout] 22 |     pub fn process_block(&mut self, input: &[f32], output: &mut [f32]) {
[INFO] [stdout]    |                                     ^^^^^ help: if this is intentional, prefix it with an underscore: `_input`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `output`
[INFO] [stdout]   --> src/feedback_suppressor.rs:22:52
[INFO] [stdout]    |
[INFO] [stdout] 22 |     pub fn process_block(&mut self, input: &[f32], output: &mut [f32]) {
[INFO] [stdout]    |                                                    ^^^^^^ help: if this is intentional, prefix it with an underscore: `_output`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `start`
[INFO] [stdout]   --> src/noise_gate.rs:50:13
[INFO] [stdout]    |
[INFO] [stdout] 50 |         let start = Instant::now();
[INFO] [stdout]    |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_start`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `samples_attenuated` is assigned to, but never used
[INFO] [stdout]   --> src/noise_gate.rs:58:13
[INFO] [stdout]    |
[INFO] [stdout] 58 |         let mut samples_attenuated = 0;
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: consider using `_samples_attenuated` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `samples_attenuated` is never read
[INFO] [stdout]    --> src/noise_gate.rs:102:17
[INFO] [stdout]     |
[INFO] [stdout] 102 |                 samples_attenuated += 1;
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `noise_gate`
[INFO] [stdout]    --> src/main.rs:105:13
[INFO] [stdout]     |
[INFO] [stdout] 105 |         let noise_gate = NoiseGate::new(-23.5, 0.01, 0.0001, 0.02, 0.3, 48000.0);
[INFO] [stdout]     |             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_noise_gate`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `low_pass_filter`
[INFO] [stdout]    --> src/main.rs:107:13
[INFO] [stdout]     |
[INFO] [stdout] 107 |         let low_pass_filter = LowPassFilter::new(cutoff_freq, 48000.0);
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_low_pass_filter`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/main.rs:180:22
[INFO] [stdout]     |
[INFO] [stdout] 180 |                 for (i, sample) in data.iter_mut().enumerate().take(samples_to_play) {
[INFO] [stdout]     |                      ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/main.rs:318:13
[INFO] [stdout]     |
[INFO] [stdout] 318 |         let mut noise_gate = NoiseGate::new(-23.5, 0.01, 0.0001, 0.02, 0.3, 48000.0);
[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/main.rs:320:13
[INFO] [stdout]     |
[INFO] [stdout] 320 |         let mut low_pass_filter = LowPassFilter::new(cutoff_freq, 48000.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:337:17
[INFO] [stdout]     |
[INFO] [stdout] 337 |             let mut rtp_packet = RtpPacketBuilder::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:268:10
[INFO] [stdout]     |
[INFO] [stdout] 268 |     let (mut prod, mut cons) = RingBuffer::<u8>::new(RINGBUFFER_SIZE);
[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:268:20
[INFO] [stdout]     |
[INFO] [stdout] 268 |     let (mut prod, mut cons) = RingBuffer::<u8>::new(RINGBUFFER_SIZE);
[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:365:9
[INFO] [stdout]     |
[INFO] [stdout] 365 |     let mut decode_buffer = [0.0f32; MAX_DECODE_BUFFER_SIZE];
[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:368:9
[INFO] [stdout]     |
[INFO] [stdout] 368 |     let mut decoder = Decoder::new(48000, opus::Channels::Mono).unwrap();
[INFO] [stdout]     |         ----^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/main.rs:382:22
[INFO] [stdout]     |
[INFO] [stdout] 382 |                 for (i, sample) in data.iter_mut().enumerate().take(samples_to_play) {
[INFO] [stdout]     |                      ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `noise_gate`
[INFO] [stdout]    --> src/main.rs:318:13
[INFO] [stdout]     |
[INFO] [stdout] 318 |         let mut noise_gate = NoiseGate::new(-23.5, 0.01, 0.0001, 0.02, 0.3, 48000.0);
[INFO] [stdout]     |             ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_noise_gate`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `low_pass_filter`
[INFO] [stdout]    --> src/main.rs:320:13
[INFO] [stdout]     |
[INFO] [stdout] 320 |         let mut low_pass_filter = LowPassFilter::new(cutoff_freq, 48000.0);
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_low_pass_filter`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `prod`
[INFO] [stdout]    --> src/main.rs:268:10
[INFO] [stdout]     |
[INFO] [stdout] 268 |     let (mut prod, mut cons) = RingBuffer::<u8>::new(RINGBUFFER_SIZE);
[INFO] [stdout]     |          ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_prod`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cons`
[INFO] [stdout]    --> src/main.rs:268:20
[INFO] [stdout]     |
[INFO] [stdout] 268 |     let (mut prod, mut cons) = RingBuffer::<u8>::new(RINGBUFFER_SIZE);
[INFO] [stdout]     |                    ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_cons`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `decode_buffer`
[INFO] [stdout]    --> src/main.rs:365:9
[INFO] [stdout]     |
[INFO] [stdout] 365 |     let mut decode_buffer = [0.0f32; MAX_DECODE_BUFFER_SIZE];
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_decode_buffer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `decoder`
[INFO] [stdout]    --> src/main.rs:368:9
[INFO] [stdout]     |
[INFO] [stdout] 368 |     let mut decoder = Decoder::new(48000, opus::Channels::Mono).unwrap();
[INFO] [stdout]     |         ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_decoder`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AEC` is never constructed
[INFO] [stdout]  --> src/aec.rs:6:12
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct AEC {
[INFO] [stdout]   |            ^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/aec.rs:15:12
[INFO] [stdout]    |
[INFO] [stdout] 14 | impl AEC {
[INFO] [stdout]    | -------- associated function in this implementation
[INFO] [stdout] 15 |     pub fn new(filter_length: usize, step_size: f32, double_talk_threshold: f32) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `FeedbackSuppressor` is never constructed
[INFO] [stdout]  --> src/feedback_suppressor.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub struct FeedbackSuppressor {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `process_block` are never used
[INFO] [stdout]   --> src/feedback_suppressor.rs:11:12
[INFO] [stdout]    |
[INFO] [stdout] 10 | impl FeedbackSuppressor {
[INFO] [stdout]    | ----------------------- associated items in this implementation
[INFO] [stdout] 11 |     pub fn new(sample_rate: f32, fft_size: usize, threshold: f32) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 22 |     pub fn process_block(&mut self, input: &[f32], output: &mut [f32]) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `alpha` and `prev_output` are never read
[INFO] [stdout]   --> src/low_pass_filter.rs:63:5
[INFO] [stdout]    |
[INFO] [stdout] 62 | pub struct LowPassFilter {
[INFO] [stdout]    |            ------------- fields in this struct
[INFO] [stdout] 63 |     alpha: f32,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 64 |     prev_output: f32,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `process` is never used
[INFO] [stdout]   --> src/low_pass_filter.rs:79:12
[INFO] [stdout]    |
[INFO] [stdout] 67 | impl LowPassFilter {
[INFO] [stdout]    | ------------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 79 |     pub fn process(&mut self, input: &[f32], output: &mut [f32]){
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]   --> src/noise_gate.rs:8:5
[INFO] [stdout]    |
[INFO] [stdout]  6 | pub struct NoiseGate {
[INFO] [stdout]    |            --------- fields in this struct
[INFO] [stdout]  7 |     /// Decibels scale
[INFO] [stdout]  8 |     threshold_linear: f32,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout]  9 |     alpha: f32,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 10 |     low_pass_coeff: f32,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 11 |
[INFO] [stdout] 12 |     attack_time: f32,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 13 |     release_time: f32,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 14 |     hold_time: f32,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 15 |
[INFO] [stdout] 16 |     sample_rate: f32,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 17 |
[INFO] [stdout] 18 |     envelope: f32,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 19 |
[INFO] [stdout] 20 |     hold_counter: usize,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 21 |     current_gain: f32,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `process_block` is never used
[INFO] [stdout]   --> src/noise_gate.rs:49:12
[INFO] [stdout]    |
[INFO] [stdout] 24 | impl NoiseGate {
[INFO] [stdout]    | -------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 49 |     pub fn process_block(&mut self, input: &[f32], output: &mut [f32]) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/main.rs:254:5
[INFO] [stdout]     |
[INFO] [stdout] 254 |     socket.bind(&loopback.into());
[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)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 254 |     let _ = socket.bind(&loopback.into());
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/main.rs:423:25
[INFO] [stdout]     |
[INFO] [stdout] 423 |                         ap.process_render_frame(&mut buffer_to_send);
[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] 423 |                         let _ = ap.process_render_frame(&mut buffer_to_send);
[INFO] [stdout]     |                         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.77s
[INFO] running `Command { std: "docker" "inspect" "e6076eac78ba45721c0e2166ec6042b49dd1f321286e3824dd33965cd8de11fa", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "e6076eac78ba45721c0e2166ec6042b49dd1f321286e3824dd33965cd8de11fa", kill_on_drop: false }`
[INFO] [stdout] e6076eac78ba45721c0e2166ec6042b49dd1f321286e3824dd33965cd8de11fa
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c2e32f1c9652b13ed99608599c1e855462f421f3" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] ad13c7b17a08ce0bc704e02c8c0b555ab00cf3b740e8d8113321ccfbecaade8e
[INFO] running `Command { std: "docker" "start" "-a" "ad13c7b17a08ce0bc704e02c8c0b555ab00cf3b740e8d8113321ccfbecaade8e", kill_on_drop: false }`
[INFO] [stderr] warning: unused imports: `Simd` and `f32x4`
[INFO] [stderr]  --> src/aec.rs:2:17
[INFO] [stderr]   |
[INFO] [stderr] 2 | use std::simd::{f32x4, Simd};
[INFO] [stderr]   |                 ^^^^^  ^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `num_complex::Complex`
[INFO] [stderr]  --> src/feedback_suppressor.rs:1:27
[INFO] [stderr]   |
[INFO] [stderr] 1 | use rustfft::{FftPlanner, num_complex::Complex};
[INFO] [stderr]   |                           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `packet`
[INFO] [stderr]   --> src/main.rs:10:12
[INFO] [stderr]    |
[INFO] [stderr] 10 | use opus::{packet, Decoder, Encoder};
[INFO] [stderr]    |            ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `rtcp::payload_feedbacks`
[INFO] [stderr]   --> src/main.rs:11:5
[INFO] [stderr]    |
[INFO] [stderr] 11 | use rtcp::payload_feedbacks;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `rtp::sequence`
[INFO] [stderr]   --> src/main.rs:12:5
[INFO] [stderr]    |
[INFO] [stderr] 12 | use rtp::sequence;
[INFO] [stderr]    |     ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Seq`
[INFO] [stderr]   --> src/main.rs:13:43
[INFO] [stderr]    |
[INFO] [stderr] 13 | use rtp_rs::{RtpPacketBuilder, RtpReader, Seq};
[INFO] [stderr]    |                                           ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: crate-level attribute should be in the root module
[INFO] [stderr]  --> src/aec.rs:1:1
[INFO] [stderr]   |
[INFO] [stderr] 1 | #![feature(portable_simd)]
[INFO] [stderr]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_attributes)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `input`
[INFO] [stderr]   --> src/feedback_suppressor.rs:22:37
[INFO] [stderr]    |
[INFO] [stderr] 22 |     pub fn process_block(&mut self, input: &[f32], output: &mut [f32]) {
[INFO] [stderr]    |                                     ^^^^^ help: if this is intentional, prefix it with an underscore: `_input`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `output`
[INFO] [stderr]   --> src/feedback_suppressor.rs:22:52
[INFO] [stderr]    |
[INFO] [stderr] 22 |     pub fn process_block(&mut self, input: &[f32], output: &mut [f32]) {
[INFO] [stderr]    |                                                    ^^^^^^ help: if this is intentional, prefix it with an underscore: `_output`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `start`
[INFO] [stderr]   --> src/noise_gate.rs:50:13
[INFO] [stderr]    |
[INFO] [stderr] 50 |         let start = Instant::now();
[INFO] [stderr]    |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_start`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `samples_attenuated` is assigned to, but never used
[INFO] [stderr]   --> src/noise_gate.rs:58:13
[INFO] [stderr]    |
[INFO] [stderr] 58 |         let mut samples_attenuated = 0;
[INFO] [stderr]    |             ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: consider using `_samples_attenuated` instead
[INFO] [stderr] 
[INFO] [stderr] warning: value assigned to `samples_attenuated` is never read
[INFO] [stderr]    --> src/noise_gate.rs:102:17
[INFO] [stderr]     |
[INFO] [stderr] 102 |                 samples_attenuated += 1;
[INFO] [stderr]     |                 ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = help: maybe it is overwritten before being read?
[INFO] [stderr]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `noise_gate`
[INFO] [stderr]    --> src/main.rs:105:13
[INFO] [stderr]     |
[INFO] [stderr] 105 |         let noise_gate = NoiseGate::new(-23.5, 0.01, 0.0001, 0.02, 0.3, 48000.0);
[INFO] [stderr]     |             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_noise_gate`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `low_pass_filter`
[INFO] [stderr]    --> src/main.rs:107:13
[INFO] [stderr]     |
[INFO] [stderr] 107 |         let low_pass_filter = LowPassFilter::new(cutoff_freq, 48000.0);
[INFO] [stderr]     |             ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_low_pass_filter`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `i`
[INFO] [stderr]    --> src/main.rs:180:22
[INFO] [stderr]     |
[INFO] [stderr] 180 |                 for (i, sample) in data.iter_mut().enumerate().take(samples_to_play) {
[INFO] [stderr]     |                      ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/main.rs:318:13
[INFO] [stderr]     |
[INFO] [stderr] 318 |         let mut noise_gate = NoiseGate::new(-23.5, 0.01, 0.0001, 0.02, 0.3, 48000.0);
[INFO] [stderr]     |             ----^^^^^^^^^^
[INFO] [stderr]     |             |
[INFO] [stderr]     |             help: remove this `mut`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/main.rs:320:13
[INFO] [stderr]     |
[INFO] [stderr] 320 |         let mut low_pass_filter = LowPassFilter::new(cutoff_freq, 48000.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:337:17
[INFO] [stderr]     |
[INFO] [stderr] 337 |             let mut rtp_packet = RtpPacketBuilder::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/main.rs:268:10
[INFO] [stderr]     |
[INFO] [stderr] 268 |     let (mut prod, mut cons) = RingBuffer::<u8>::new(RINGBUFFER_SIZE);
[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:268:20
[INFO] [stderr]     |
[INFO] [stderr] 268 |     let (mut prod, mut cons) = RingBuffer::<u8>::new(RINGBUFFER_SIZE);
[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:365:9
[INFO] [stderr]     |
[INFO] [stderr] 365 |     let mut decode_buffer = [0.0f32; MAX_DECODE_BUFFER_SIZE];
[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:368:9
[INFO] [stderr]     |
[INFO] [stderr] 368 |     let mut decoder = Decoder::new(48000, opus::Channels::Mono).unwrap();
[INFO] [stderr]     |         ----^^^^^^^
[INFO] [stderr]     |         |
[INFO] [stderr]     |         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `i`
[INFO] [stderr]    --> src/main.rs:382:22
[INFO] [stderr]     |
[INFO] [stderr] 382 |                 for (i, sample) in data.iter_mut().enumerate().take(samples_to_play) {
[INFO] [stderr]     |                      ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `noise_gate`
[INFO] [stderr]    --> src/main.rs:318:13
[INFO] [stderr]     |
[INFO] [stderr] 318 |         let mut noise_gate = NoiseGate::new(-23.5, 0.01, 0.0001, 0.02, 0.3, 48000.0);
[INFO] [stderr]     |             ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_noise_gate`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `low_pass_filter`
[INFO] [stderr]    --> src/main.rs:320:13
[INFO] [stderr]     |
[INFO] [stderr] 320 |         let mut low_pass_filter = LowPassFilter::new(cutoff_freq, 48000.0);
[INFO] [stderr]     |             ^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_low_pass_filter`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `prod`
[INFO] [stderr]    --> src/main.rs:268:10
[INFO] [stderr]     |
[INFO] [stderr] 268 |     let (mut prod, mut cons) = RingBuffer::<u8>::new(RINGBUFFER_SIZE);
[INFO] [stderr]     |          ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_prod`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `cons`
[INFO] [stderr]    --> src/main.rs:268:20
[INFO] [stderr]     |
[INFO] [stderr] 268 |     let (mut prod, mut cons) = RingBuffer::<u8>::new(RINGBUFFER_SIZE);
[INFO] [stderr]     |                    ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_cons`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `decode_buffer`
[INFO] [stderr]    --> src/main.rs:365:9
[INFO] [stderr]     |
[INFO] [stderr] 365 |     let mut decode_buffer = [0.0f32; MAX_DECODE_BUFFER_SIZE];
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_decode_buffer`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `decoder`
[INFO] [stderr]    --> src/main.rs:368:9
[INFO] [stderr]     |
[INFO] [stderr] 368 |     let mut decoder = Decoder::new(48000, opus::Channels::Mono).unwrap();
[INFO] [stderr]     |         ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_decoder`
[INFO] [stderr] 
[INFO] [stderr] warning: struct `AEC` is never constructed
[INFO] [stderr]  --> src/aec.rs:6:12
[INFO] [stderr]   |
[INFO] [stderr] 6 | pub struct AEC {
[INFO] [stderr]   |            ^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `new` is never used
[INFO] [stderr]   --> src/aec.rs:15:12
[INFO] [stderr]    |
[INFO] [stderr] 14 | impl AEC {
[INFO] [stderr]    | -------- associated function in this implementation
[INFO] [stderr] 15 |     pub fn new(filter_length: usize, step_size: f32, double_talk_threshold: f32) -> Self {
[INFO] [stderr]    |            ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `FeedbackSuppressor` is never constructed
[INFO] [stderr]  --> src/feedback_suppressor.rs:3:12
[INFO] [stderr]   |
[INFO] [stderr] 3 | pub struct FeedbackSuppressor {
[INFO] [stderr]   |            ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `new` and `process_block` are never used
[INFO] [stderr]   --> src/feedback_suppressor.rs:11:12
[INFO] [stderr]    |
[INFO] [stderr] 10 | impl FeedbackSuppressor {
[INFO] [stderr]    | ----------------------- associated items in this implementation
[INFO] [stderr] 11 |     pub fn new(sample_rate: f32, fft_size: usize, threshold: f32) -> Self {
[INFO] [stderr]    |            ^^^
[INFO] [stderr] ...
[INFO] [stderr] 22 |     pub fn process_block(&mut self, input: &[f32], output: &mut [f32]) {
[INFO] [stderr]    |            ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: fields `alpha` and `prev_output` are never read
[INFO] [stderr]   --> src/low_pass_filter.rs:63:5
[INFO] [stderr]    |
[INFO] [stderr] 62 | pub struct LowPassFilter {
[INFO] [stderr]    |            ------------- fields in this struct
[INFO] [stderr] 63 |     alpha: f32,
[INFO] [stderr]    |     ^^^^^
[INFO] [stderr] 64 |     prev_output: f32,
[INFO] [stderr]    |     ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `process` is never used
[INFO] [stderr]   --> src/low_pass_filter.rs:79:12
[INFO] [stderr]    |
[INFO] [stderr] 67 | impl LowPassFilter {
[INFO] [stderr]    | ------------------ method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 79 |     pub fn process(&mut self, input: &[f32], output: &mut [f32]){
[INFO] [stderr]    |            ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: multiple fields are never read
[INFO] [stderr]   --> src/noise_gate.rs:8:5
[INFO] [stderr]    |
[INFO] [stderr]  6 | pub struct NoiseGate {
[INFO] [stderr]    |            --------- fields in this struct
[INFO] [stderr]  7 |     /// Decibels scale
[INFO] [stderr]  8 |     threshold_linear: f32,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^
[INFO] [stderr]  9 |     alpha: f32,
[INFO] [stderr]    |     ^^^^^
[INFO] [stderr] 10 |     low_pass_coeff: f32,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^
[INFO] [stderr] 11 |
[INFO] [stderr] 12 |     attack_time: f32,
[INFO] [stderr]    |     ^^^^^^^^^^^
[INFO] [stderr] 13 |     release_time: f32,
[INFO] [stderr]    |     ^^^^^^^^^^^^
[INFO] [stderr] 14 |     hold_time: f32,
[INFO] [stderr]    |     ^^^^^^^^^
[INFO] [stderr] 15 |
[INFO] [stderr] 16 |     sample_rate: f32,
[INFO] [stderr]    |     ^^^^^^^^^^^
[INFO] [stderr] 17 |
[INFO] [stderr] 18 |     envelope: f32,
[INFO] [stderr]    |     ^^^^^^^^
[INFO] [stderr] 19 |
[INFO] [stderr] 20 |     hold_counter: usize,
[INFO] [stderr]    |     ^^^^^^^^^^^^
[INFO] [stderr] 21 |     current_gain: f32,
[INFO] [stderr]    |     ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `process_block` is never used
[INFO] [stderr]   --> src/noise_gate.rs:49:12
[INFO] [stderr]    |
[INFO] [stderr] 24 | impl NoiseGate {
[INFO] [stderr]    | -------------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 49 |     pub fn process_block(&mut self, input: &[f32], output: &mut [f32]) {
[INFO] [stderr]    |            ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> src/main.rs:254:5
[INFO] [stderr]     |
[INFO] [stderr] 254 |     socket.bind(&loopback.into());
[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)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 254 |     let _ = socket.bind(&loopback.into());
[INFO] [stderr]     |     +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> src/main.rs:423:25
[INFO] [stderr]     |
[INFO] [stderr] 423 |                         ap.process_render_frame(&mut buffer_to_send);
[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] 423 |                         let _ = ap.process_render_frame(&mut buffer_to_send);
[INFO] [stderr]     |                         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: `udp_latency_test` (bin "udp_latency_test" test) generated 39 warnings (run `cargo fix --bin "udp_latency_test" -p udp_latency_test --tests` to apply 26 suggestions)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.18s
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/udp_latency_test-bdbd5ce444a6c694)
[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" "ad13c7b17a08ce0bc704e02c8c0b555ab00cf3b740e8d8113321ccfbecaade8e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ad13c7b17a08ce0bc704e02c8c0b555ab00cf3b740e8d8113321ccfbecaade8e", kill_on_drop: false }`
[INFO] [stdout] ad13c7b17a08ce0bc704e02c8c0b555ab00cf3b740e8d8113321ccfbecaade8e
