[INFO] cloning repository https://github.com/Bronstein0x113c1c3/com_music_with_rust
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Bronstein0x113c1c3/com_music_with_rust" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FBronstein0x113c1c3%2Fcom_music_with_rust", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FBronstein0x113c1c3%2Fcom_music_with_rust'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] eff50d3ea9199c110f9b67c2a5aedb9ed288f16e
[INFO] testing Bronstein0x113c1c3/com_music_with_rust against master#2fd6efc32704647e64d3d646d21c4c68eae100e4 for pr-149852-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FBronstein0x113c1c3%2Fcom_music_with_rust" "/workspace/builds/worker-4-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc1/source'...
[INFO] [stderr] done.
[INFO] [stderr] Updating files:  15% (20/129)
Updating files:  16% (21/129)
Updating files:  17% (22/129)
Updating files:  18% (24/129)
Updating files:  19% (25/129)
Updating files:  20% (26/129)
Updating files:  21% (28/129)
Updating files:  22% (29/129)
Updating files:  23% (30/129)
Updating files:  24% (31/129)
Updating files:  25% (33/129)
Updating files:  26% (34/129)
Updating files:  27% (35/129)
Updating files:  28% (37/129)
Updating files:  29% (38/129)
Updating files:  30% (39/129)
Updating files:  31% (40/129)
Updating files:  32% (42/129)
Updating files:  33% (43/129)
Updating files:  34% (44/129)
Updating files:  35% (46/129)
Updating files:  36% (47/129)
Updating files:  37% (48/129)
Updating files:  38% (50/129)
Updating files:  39% (51/129)
Updating files:  40% (52/129)
Updating files:  41% (53/129)
Updating files:  42% (55/129)
Updating files:  43% (56/129)
Updating files:  44% (57/129)
Updating files:  45% (59/129)
Updating files:  46% (60/129)
Updating files:  47% (61/129)
Updating files:  48% (62/129)
Updating files:  49% (64/129)
Updating files:  50% (65/129)
Updating files:  51% (66/129)
Updating files:  52% (68/129)
Updating files:  53% (69/129)
Updating files:  54% (70/129)
Updating files:  55% (71/129)
Updating files:  55% (72/129)
Updating files:  56% (73/129)
Updating files:  57% (74/129)
Updating files:  58% (75/129)
Updating files:  59% (77/129)
Updating files:  60% (78/129)
Updating files:  61% (79/129)
Updating files:  62% (80/129)
Updating files:  63% (82/129)
Updating files:  64% (83/129)
Updating files:  65% (84/129)
Updating files:  65% (85/129)
Updating files:  66% (86/129)
Updating files:  67% (87/129)
Updating files:  68% (88/129)
Updating files:  69% (90/129)
Updating files:  70% (91/129)
Updating files:  71% (92/129)
Updating files:  72% (93/129)
Updating files:  73% (95/129)
Updating files:  74% (96/129)
Updating files:  75% (97/129)
Updating files:  76% (99/129)
Updating files:  77% (100/129)
Updating files:  78% (101/129)
Updating files:  79% (102/129)
Updating files:  80% (104/129)
Updating files:  81% (105/129)
Updating files:  82% (106/129)
Updating files:  83% (108/129)
Updating files:  84% (109/129)
Updating files:  85% (110/129)
Updating files:  86% (111/129)
Updating files:  87% (113/129)
Updating files:  88% (114/129)
Updating files:  89% (115/129)
Updating files:  90% (117/129)
Updating files:  91% (118/129)
Updating files:  92% (119/129)
Updating files:  93% (120/129)
Updating files:  94% (122/129)
Updating files:  95% (123/129)
Updating files:  96% (124/129)
Updating files:  97% (126/129)
Updating files:  98% (127/129)
Updating files:  99% (128/129)
Updating files: 100% (129/129)
Updating files: 100% (129/129), done.
[INFO] started tweaking git repo https://github.com/Bronstein0x113c1c3/com_music_with_rust
[INFO] finished tweaking git repo https://github.com/Bronstein0x113c1c3/com_music_with_rust
[INFO] tweaked toml for git repo https://github.com/Bronstein0x113c1c3/com_music_with_rust written to /workspace/builds/worker-4-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/Bronstein0x113c1c3/com_music_with_rust on toolchain 2fd6efc32704647e64d3d646d21c4c68eae100e4
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+2fd6efc32704647e64d3d646d21c4c68eae100e4" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/Bronstein0x113c1c3/com_music_with_rust 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" "+2fd6efc32704647e64d3d646d21c4c68eae100e4" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded cmake v0.1.54
[INFO] [stderr]   Downloaded redox_syscall v0.5.10
[INFO] [stderr]   Downloaded quinn-udp v0.5.11
[INFO] [stderr]   Downloaded yasna v0.5.2
[INFO] [stderr]   Downloaded rcgen v0.13.2
[INFO] [stderr]   Downloaded rustls-platform-verifier v0.5.1
[INFO] [stderr]   Downloaded cc v1.2.17
[INFO] [stderr]   Downloaded aws-lc-rs v1.13.0
[INFO] [stderr]   Downloaded quinn v0.11.7
[INFO] [stderr]   Downloaded winnow v0.7.4
[INFO] [stderr]   Downloaded miniz_oxide v0.8.7
[INFO] [stderr]   Downloaded webpki-root-certs v0.26.8
[INFO] [stderr]   Downloaded quinn-proto v0.11.11
[INFO] [stderr]   Downloaded bindgen v0.69.5
[INFO] [stderr]   Downloaded aws-lc-sys v0.28.2
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+2fd6efc32704647e64d3d646d21c4c68eae100e4" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] d85e4b5564b9889fb795a2be61c2890db703c208503d3aa1b98864e66ac85d31
[INFO] running `Command { std: "docker" "start" "-a" "d85e4b5564b9889fb795a2be61c2890db703c208503d3aa1b98864e66ac85d31", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "d85e4b5564b9889fb795a2be61c2890db703c208503d3aa1b98864e66ac85d31", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "d85e4b5564b9889fb795a2be61c2890db703c208503d3aa1b98864e66ac85d31", kill_on_drop: false }`
[INFO] [stdout] d85e4b5564b9889fb795a2be61c2890db703c208503d3aa1b98864e66ac85d31
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+2fd6efc32704647e64d3d646d21c4c68eae100e4" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 7a920b378975cc1f7805b485b0b563abb636d07b831a7dd020c223333abbd2ea
[INFO] running `Command { std: "docker" "start" "-a" "7a920b378975cc1f7805b485b0b563abb636d07b831a7dd020c223333abbd2ea", kill_on_drop: false }`
[INFO] [stderr]    Compiling jobserver v0.1.33
[INFO] [stderr]    Compiling dunce v1.0.5
[INFO] [stderr]    Compiling fs_extra v1.3.0
[INFO] [stderr]    Compiling log v0.4.27
[INFO] [stderr]    Compiling aws-lc-rs v1.13.0
[INFO] [stderr]    Compiling getrandom v0.2.16
[INFO] [stderr]    Compiling zerocopy v0.8.24
[INFO] [stderr]    Compiling once_cell v1.21.3
[INFO] [stderr]    Compiling getrandom v0.3.2
[INFO] [stderr]    Compiling zeroize v1.8.1
[INFO] [stderr]    Compiling lock_api v0.4.12
[INFO] [stderr]    Compiling alsa-sys v0.3.1
[INFO] [stderr]    Compiling arrayvec v0.7.6
[INFO] [stderr]    Compiling syn v2.0.100
[INFO] [stderr]    Compiling bytemuck v1.22.0
[INFO] [stderr]    Compiling rustls v0.23.26
[INFO] [stderr]    Compiling smallvec v1.14.0
[INFO] [stderr]    Compiling cc v1.2.17
[INFO] [stderr]    Compiling socket2 v0.5.9
[INFO] [stderr]    Compiling thiserror v2.0.12
[INFO] [stderr]    Compiling rustls-native-certs v0.8.1
[INFO] [stderr]    Compiling tracing-core v0.1.33
[INFO] [stderr]    Compiling symphonia-core v0.5.4
[INFO] [stderr]    Compiling deranged v0.4.0
[INFO] [stderr]    Compiling quinn-udp v0.5.11
[INFO] [stderr]    Compiling signal-hook-registry v1.4.2
[INFO] [stderr]    Compiling time-core v0.1.4
[INFO] [stderr]    Compiling parking_lot_core v0.9.10
[INFO] [stderr]    Compiling cpal v0.15.3
[INFO] [stderr]    Compiling ogg v0.8.0
[INFO] [stderr]    Compiling quinn v0.11.7
[INFO] [stderr]    Compiling rand_core v0.9.3
[INFO] [stderr]    Compiling parking_lot v0.12.3
[INFO] [stderr]    Compiling tracing v0.1.41
[INFO] [stderr]    Compiling alsa v0.9.1
[INFO] [stderr]    Compiling dasp_sample v0.11.0
[INFO] [stderr]    Compiling rustc-hash v2.1.1
[INFO] [stderr]    Compiling futures-task v0.3.31
[INFO] [stderr]    Compiling pem v3.0.5
[INFO] [stderr]    Compiling hound v3.5.1
[INFO] [stderr]    Compiling claxon v0.4.3
[INFO] [stderr]    Compiling lewton v0.10.2
[INFO] [stderr]    Compiling time v0.3.41
[INFO] [stderr]    Compiling yasna v0.5.2
[INFO] [stderr]    Compiling cmake v0.1.54
[INFO] [stderr]    Compiling symphonia-metadata v0.5.4
[INFO] [stderr]    Compiling ring v0.17.14
[INFO] [stderr]    Compiling aws-lc-sys v0.28.2
[INFO] [stderr]    Compiling symphonia-bundle-mp3 v0.5.4
[INFO] [stderr]    Compiling ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling symphonia v0.5.4
[INFO] [stderr]    Compiling rodio v0.20.1
[INFO] [stderr]    Compiling rand_chacha v0.9.0
[INFO] [stderr]    Compiling rand v0.9.1
[INFO] [stderr]    Compiling tokio-macros v2.5.0
[INFO] [stderr]    Compiling thiserror-impl v2.0.12
[INFO] [stderr]    Compiling futures-macro v0.3.31
[INFO] [stderr]    Compiling tokio v1.44.1
[INFO] [stderr]    Compiling futures-util v0.3.31
[INFO] [stderr]    Compiling rcgen v0.13.2
[INFO] [stderr]    Compiling tokio-util v0.7.14
[INFO] [stderr]    Compiling rustls-webpki v0.103.1
[INFO] [stderr]    Compiling rustls-platform-verifier v0.5.1
[INFO] [stderr]    Compiling quinn-proto v0.11.11
[INFO] [stderr]    Compiling audio_streaming v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `sync::mpsc::unbounded_channel`
[INFO] [stdout]  --> src/experimental/experimental.rs:3:19
[INFO] [stdout]   |
[INFO] [stdout] 3 | use tokio::{self, sync::mpsc::unbounded_channel};
[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: `string`
[INFO] [stdout]  --> src/client/client.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 |     string,
[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 imports: `Receiver`, `UnboundedSender`, `net::UdpSocket`, and `unbounded_channel`
[INFO] [stdout]   --> src/client/client.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 |     net::UdpSocket,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 12 |     sync::mpsc::{
[INFO] [stdout] 13 |         self, Receiver, Sender, UnboundedReceiver, UnboundedSender, channel, unbounded_channel,
[INFO] [stdout]    |               ^^^^^^^^                             ^^^^^^^^^^^^^^^           ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Decoder`
[INFO] [stdout]   --> src/client/client.rs:18:13
[INFO] [stdout]    |
[INFO] [stdout] 18 | use rodio::{Decoder, OutputStream, Sink};
[INFO] [stdout]    |             ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `run_unsafe_client`
[INFO] [stdout]  --> src/quic/client/client.rs:4:19
[INFO] [stdout]   |
[INFO] [stdout] 4 | use client_util::{run_unsafe_client, setup_unsafe};
[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: `AsyncWriteExt`
[INFO] [stdout]  --> src/quic/client/client.rs:6:24
[INFO] [stdout]   |
[INFO] [stdout] 6 |     io::{AsyncReadExt, AsyncWriteExt},
[INFO] [stdout]   |                        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `SocketAddrV4`
[INFO] [stdout]  --> src/quic/server/server.rs:3:23
[INFO] [stdout]   |
[INFO] [stdout] 3 |     net::{SocketAddr, SocketAddrV4}, time::Duration,
[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: `rustls::crypto::aws_lc_rs::default_provider`
[INFO] [stdout]  --> src/quic/server/server.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use rustls::crypto::aws_lc_rs::default_provider;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `TransportConfig`
[INFO] [stdout]  --> src/quic/server/server_util.rs:1:37
[INFO] [stdout]   |
[INFO] [stdout] 1 | use quinn::{Endpoint, ServerConfig, TransportConfig};
[INFO] [stdout]   |                                     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/experimental/experimental.rs:22:10
[INFO] [stdout]    |
[INFO] [stdout] 22 |     let (mut tx, mut rx) = tokio::sync::mpsc::unbounded_channel();
[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: unused variable: `stream`
[INFO] [stdout]   --> src/experimental/experimental.rs:20:10
[INFO] [stdout]    |
[INFO] [stdout] 20 |     let (stream, stream_handle) = OutputStream::try_default().unwrap();
[INFO] [stdout]    |          ^^^^^^ help: if this is intentional, prefix it with an underscore: `_stream`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `io::Read`
[INFO] [stdout]  --> src/quic/server/server.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 |     io::Read,
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/experimental/experimental.rs:44:13
[INFO] [stdout]    |
[INFO] [stdout] 44 |             tx.send(res);
[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] 44 |             let _ = tx.send(res);
[INFO] [stdout]    |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Decoder`
[INFO] [stdout]  --> src/client/client_optimized.rs:1:13
[INFO] [stdout]   |
[INFO] [stdout] 1 | use rodio::{Decoder, OutputStream, Sink};
[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 imports: `fs::read`, `self`, and `time::Duration`
[INFO] [stdout]  --> src/client/client_optimized.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 |     fs::read, net::{self, SocketAddr}, sync::{Arc, Mutex}, time::Duration
[INFO] [stdout]   |     ^^^^^^^^        ^^^^                                   ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BufReader` and `time::timeout`
[INFO] [stdout]  --> src/client/client_optimized.rs:8:33
[INFO] [stdout]   |
[INFO] [stdout] 8 |     io::{self, AsyncBufReadExt, BufReader},
[INFO] [stdout]   |                                 ^^^^^^^^^
[INFO] [stdout] 9 |     time::timeout,
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `UnboundedSender`, `self`, and `time::sleep`
[INFO] [stdout]   --> src/client/client_optimized.rs:14:18
[INFO] [stdout]    |
[INFO] [stdout] 14 |     sync::mpsc::{self, Receiver, UnboundedReceiver, UnboundedSender, channel, unbounded_channel},
[INFO] [stdout]    |                  ^^^^                               ^^^^^^^^^^^^^^^
[INFO] [stdout] 15 |     time::sleep,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/client/client.rs:124:14
[INFO] [stdout]     |
[INFO] [stdout] 124 |     let (tx, mut rx) = mpsc::unbounded_channel::<String>();
[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/quic/server/server.rs:35:9
[INFO] [stdout]    |
[INFO] [stdout] 35 |     let mut conn = incoming.await.unwrap();
[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: unused `Result` that must be used
[INFO] [stdout]   --> src/quic/server/server.rs:42:9
[INFO] [stdout]    |
[INFO] [stdout] 42 |         bi.0.write_all(chunk).await;
[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] 42 |         let _ = bi.0.write_all(chunk).await;
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/quic/server/server.rs:45:9
[INFO] [stdout]    |
[INFO] [stdout] 45 |         bi.0.flush().await;
[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] 45 |         let _ = bi.0.flush().await;
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/quic/server/server.rs:60:5
[INFO] [stdout]    |
[INFO] [stdout] 60 |     bi.0.finish();
[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] 60 |     let _ = bi.0.finish();
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/quic/server/server.rs:61:5
[INFO] [stdout]    |
[INFO] [stdout] 61 |     bi.0.shutdown().await;
[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] 61 |     let _ = bi.0.shutdown().await;
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `process::Output` and `time::Duration`
[INFO] [stdout]  --> src/server/server_struct/song_processing.rs:1:28
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{net::SocketAddr, process::Output, sync::Arc, time::Duration};
[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 imports: `select` and `time::sleep`
[INFO] [stdout]  --> src/server/server_struct/song_processing.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 |     select,
[INFO] [stdout]   |     ^^^^^^
[INFO] [stdout] 7 |     sync::mpsc::{self, Receiver, UnboundedReceiver, UnboundedSender, unbounded_channel},
[INFO] [stdout] 8 |     time::sleep,
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rodio::Decoder`
[INFO] [stdout]  --> src/server/server_struct.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use rodio::Decoder;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `path::Path`
[INFO] [stdout]  --> src/server/server_struct.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 |     path::Path,
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `oneshot`
[INFO] [stdout]   --> src/server/server_struct.rs:19:9
[INFO] [stdout]    |
[INFO] [stdout] 19 |         oneshot,
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io::Read`
[INFO] [stdout]  --> src/server/server.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::io::Read;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `collections::HashMap`, `net::SocketAddr`, and `sync::Arc`
[INFO] [stdout]  --> src/server/server.rs:8:11
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::{collections::HashMap, net::SocketAddr, sync::Arc};
[INFO] [stdout]   |           ^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `clone` and `io`
[INFO] [stdout]   --> src/server/server.rs:10:11
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::{clone, fs, io};
[INFO] [stdout]    |           ^^^^^      ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::select`
[INFO] [stdout]   --> src/server/server.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use tokio::select;
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::signal`
[INFO] [stdout]   --> src/server/server.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use tokio::signal;
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Receiver`, `Sender`, `UnboundedReceiver`, and `UnboundedSender`
[INFO] [stdout]   --> src/server/server.rs:14:25
[INFO] [stdout]    |
[INFO] [stdout] 14 | use tokio::sync::mpsc::{Receiver, Sender, UnboundedReceiver, UnboundedSender};
[INFO] [stdout]    |                         ^^^^^^^^  ^^^^^^  ^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::time`
[INFO] [stdout]   --> src/server/server.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use tokio::time;
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/client/client.rs:28:9
[INFO] [stdout]    |
[INFO] [stdout] 28 |     let mut client_socket = tokio::net::UdpSocket::bind("0.0.0.0:0").await.unwrap();
[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/client/client.rs:29:9
[INFO] [stdout]    |
[INFO] [stdout] 29 |     let mut client_socket = Arc::new(client_socket);
[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/client/client.rs:57:9
[INFO] [stdout]    |
[INFO] [stdout] 57 |     let mut present: u8 = 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/client/client.rs:58:9
[INFO] [stdout]    |
[INFO] [stdout] 58 |     let mut size: usize = 0;
[INFO] [stdout]    |         ----^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `stream`
[INFO] [stdout]   --> src/client/client.rs:33:10
[INFO] [stdout]    |
[INFO] [stdout] 33 |     let (stream, stream_handle) = OutputStream::try_default().unwrap();
[INFO] [stdout]    |          ^^^^^^ help: if this is intentional, prefix it with an underscore: `_stream`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `present`
[INFO] [stdout]   --> src/client/client.rs:57:9
[INFO] [stdout]    |
[INFO] [stdout] 57 |     let mut present: u8 = 0;
[INFO] [stdout]    |         ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_present`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `size`
[INFO] [stdout]   --> src/client/client.rs:58:9
[INFO] [stdout]    |
[INFO] [stdout] 58 |     let mut size: usize = 0;
[INFO] [stdout]    |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_size`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tx`
[INFO] [stdout]    --> src/client/client.rs:124:10
[INFO] [stdout]     |
[INFO] [stdout] 124 |     let (tx, mut rx) = mpsc::unbounded_channel::<String>();
[INFO] [stdout]     |          ^^ help: if this is intentional, prefix it with an underscore: `_tx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `control_instance` is never used
[INFO] [stdout]    --> src/client/client.rs:123:4
[INFO] [stdout]     |
[INFO] [stdout] 123 | fn control_instance() -> (impl Future<Output = ()>, UnboundedReceiver<String>) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `sound_instance` is never used
[INFO] [stdout]    --> src/client/client.rs:134:4
[INFO] [stdout]     |
[INFO] [stdout] 134 | fn sound_instance() {}
[INFO] [stdout]     |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/client/client.rs:35:5
[INFO] [stdout]    |
[INFO] [stdout] 35 |     client_socket.send("".as_bytes()).await;
[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] 35 |     let _ = client_socket.send("".as_bytes()).await;
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/server/server_struct/song_processing.rs:164:10
[INFO] [stdout]     |
[INFO] [stdout] 164 |     let (mut find_song_tx, mut find_song_rx) = mpsc::unbounded_channel(); //find song command
[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/server/server_struct/song_processing.rs:164:28
[INFO] [stdout]     |
[INFO] [stdout] 164 |     let (mut find_song_tx, mut find_song_rx) = mpsc::unbounded_channel(); //find song command
[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/server/server_struct/song_processing.rs:165:10
[INFO] [stdout]     |
[INFO] [stdout] 165 |     let (mut seq_tx, mut seq_rx) = mpsc::unbounded_channel(); //sequence number
[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/server/server_struct/song_processing.rs:165:22
[INFO] [stdout]     |
[INFO] [stdout] 165 |     let (mut seq_tx, mut seq_rx) = mpsc::unbounded_channel(); //sequence number
[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/server/server_struct/song_processing.rs:166:10
[INFO] [stdout]     |
[INFO] [stdout] 166 |     let (mut fail_alert_tx, mut fail_alert_rx) = mpsc::unbounded_channel(); //wrong command
[INFO] [stdout]     |          ----^^^^^^^^^^^^^
[INFO] [stdout]     |          |
[INFO] [stdout]     |          help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/client/client.rs:39:9
[INFO] [stdout]    |
[INFO] [stdout] 39 |         client_socket.recv_buf(&mut buf).await;
[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] 39 |         let _ = client_socket.recv_buf(&mut buf).await;
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/client/client.rs:56:5
[INFO] [stdout]    |
[INFO] [stdout] 56 |     client_socket.send(&song).await;
[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] 56 |     let _ = client_socket.send(&song).await;
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/client/client.rs:67:9
[INFO] [stdout]    |
[INFO] [stdout] 67 |         client_socket.send(&seq).await;
[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] 67 |         let _ = client_socket.send(&seq).await;
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/client/client.rs:80:9
[INFO] [stdout]    |
[INFO] [stdout] 80 |         sender.send(buf[..buf.len() - 1].to_vec()).await;
[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] 80 |         let _ = sender.send(buf[..buf.len() - 1].to_vec()).await;
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `AsyncReadExt`
[INFO] [stdout]  --> src/quic/client/client.rs:6:10
[INFO] [stdout]   |
[INFO] [stdout] 6 |     io::{AsyncReadExt, AsyncWriteExt},
[INFO] [stdout]   |          ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/client/client_optimized.rs:23:10
[INFO] [stdout]    |
[INFO] [stdout] 23 |     let (mut tx, mut rx) = tokio::sync::mpsc::unbounded_channel::<Vec<u8>>();
[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/server/server_struct/song_processing.rs:166:29
[INFO] [stdout]     |
[INFO] [stdout] 166 |     let (mut fail_alert_tx, mut fail_alert_rx) = mpsc::unbounded_channel(); //wrong command
[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/server/server_struct/song_processing.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 |     mut song_rx: Receiver<([u8; 1024], usize)>,
[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/server/server_struct/song_processing.rs:18:19
[INFO] [stdout]    |
[INFO] [stdout] 18 |     let (control, mut song_id_rx, mut seq_rx, _) = control(song_rx);
[INFO] [stdout]    |                   ----^^^^^^^^^^
[INFO] [stdout]    |                   |
[INFO] [stdout]    |                   help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/client/client.rs:97:5
[INFO] [stdout]    |
[INFO] [stdout] 97 |     t1.await;
[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] 97 |     let _ = t1.await;
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/server/server_struct/song_processing.rs:19:10
[INFO] [stdout]    |
[INFO] [stdout] 19 |     let (mut chunk_tx, mut chunk_rx) = unbounded_channel();
[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/server/server_struct.rs:208:14
[INFO] [stdout]     |
[INFO] [stdout] 208 |         let (mut song_tx, mut song_rx) = mpsc::channel(100);
[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/server/server_struct.rs:208:27
[INFO] [stdout]     |
[INFO] [stdout] 208 |         let (mut song_tx, mut song_rx) = mpsc::channel(100);
[INFO] [stdout]     |                           ----^^^^^^^
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: irrefutable `if let` pattern
[INFO] [stdout]    --> src/server/server_struct.rs:141:27
[INFO] [stdout]     |
[INFO] [stdout] 141 |                 } else if let x = std::str::from_utf8(&buf[..len]) {
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this pattern will always match, so the `if let` is useless
[INFO] [stdout]     = help: consider replacing the `if let` with a `let`
[INFO] [stdout]     = note: `#[warn(irrefutable_let_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `user_req` is never read
[INFO] [stdout]   --> src/server/server_struct/song_processing.rs:28:28
[INFO] [stdout]    |
[INFO] [stdout] 28 |     let mut user_req: u8 = 0; // -> request chunk
[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: variable does not need to be mutable
[INFO] [stdout]    --> src/client/client_optimized.rs:147:10
[INFO] [stdout]     |
[INFO] [stdout] 147 |     let (mut song_request_sender, mut song_request_receiver) = channel(1);
[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/server/server_struct/song_processing.rs:148:8
[INFO] [stdout]     |
[INFO] [stdout] 148 | fn add(mut i: u8) -> u8 {
[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/client/client_optimized.rs:147:35
[INFO] [stdout]     |
[INFO] [stdout] 147 |     let (mut song_request_sender, mut song_request_receiver) = channel(1);
[INFO] [stdout]     |                                   ----^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> src/server/server_struct.rs:153:29
[INFO] [stdout]     |
[INFO] [stdout] 153 |                         Err(e) => {
[INFO] [stdout]     |                             ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `timeout`
[INFO] [stdout]    --> src/server/server_struct.rs:192:9
[INFO] [stdout]     |
[INFO] [stdout] 192 |         timeout: Duration,
[INFO] [stdout]     |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_timeout`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `adding` is never used
[INFO] [stdout]    --> src/server/server_struct/song_processing.rs:100:4
[INFO] [stdout]     |
[INFO] [stdout] 100 | fn adding(i: u8) -> u8 {
[INFO] [stdout]     |    ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/server/server_struct.rs:227:25
[INFO] [stdout]     |
[INFO] [stdout] 227 |                         socket.send_to(i.as_bytes(), addr).await;
[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] 227 |                         let _ = socket.send_to(i.as_bytes(), addr).await;
[INFO] [stdout]     |                         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/server/server_struct.rs:230:25
[INFO] [stdout]     |
[INFO] [stdout] 230 |                         socket.send_to("".as_bytes(), addr).await;
[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] 230 |                         let _ = socket.send_to("".as_bytes(), addr).await;
[INFO] [stdout]     |                         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/server/server_struct.rs:234:25
[INFO] [stdout]     |
[INFO] [stdout] 234 |                         song_tx.send((buf,len)).await;
[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] 234 |                         let _ = song_tx.send((buf,len)).await;
[INFO] [stdout]     |                         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/server/server_struct/song_processing.rs:73:13
[INFO] [stdout]    |
[INFO] [stdout] 73 |             socket.send_to(&cache, addr).await;
[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] 73 |             let _ = socket.send_to(&cache, addr).await;
[INFO] [stdout]    |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/quic/client/client.rs:21:10
[INFO] [stdout]    |
[INFO] [stdout] 21 |     let (mut connection, mut endpoint) = setup_unsafe(addr).await.unwrap();
[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: unused `Result` that must be used
[INFO] [stdout]   --> src/server/server_struct/song_processing.rs:81:13
[INFO] [stdout]    |
[INFO] [stdout] 81 |             socket.send_to(&cache, addr).await;
[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] 81 |             let _ = socket.send_to(&cache, addr).await;
[INFO] [stdout]    |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/server/server_struct/song_processing.rs:116:13
[INFO] [stdout]     |
[INFO] [stdout] 116 |             chunk_tx.send(vec![]);
[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] 116 |             let _ = chunk_tx.send(vec![]);
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/server/server_struct/song_processing.rs:138:13
[INFO] [stdout]     |
[INFO] [stdout] 138 |             chunk_tx.send(res);
[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] 138 |             let _ = chunk_tx.send(res);
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/server/server_struct/song_processing.rs:184:17
[INFO] [stdout]     |
[INFO] [stdout] 184 |                 seq_tx.send(seq_num);
[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] 184 |                 let _ = seq_tx.send(seq_num);
[INFO] [stdout]     |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/server/server_struct/song_processing.rs:189:21
[INFO] [stdout]     |
[INFO] [stdout] 189 |                     fail_alert_tx.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] 189 |                     let _ = fail_alert_tx.send(());
[INFO] [stdout]     |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/server/server_struct/song_processing.rs:193:25
[INFO] [stdout]     |
[INFO] [stdout] 193 |                         find_song_tx.send(res);
[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] 193 |                         let _ = find_song_tx.send(res);
[INFO] [stdout]     |                         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/server/server_struct/song_processing.rs:196:25
[INFO] [stdout]     |
[INFO] [stdout] 196 |                         fail_alert_tx.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] 196 |                         let _ = fail_alert_tx.send(());
[INFO] [stdout]     |                         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/quic/client/client.rs:21:26
[INFO] [stdout]    |
[INFO] [stdout] 21 |     let (mut connection, mut endpoint) = setup_unsafe(addr).await.unwrap();
[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/quic/client/client.rs:22:10
[INFO] [stdout]    |
[INFO] [stdout] 22 |     let (mut send_stream, mut recv_stream) = connection.accept_bi().await.unwrap();
[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/quic/client/client.rs:30:9
[INFO] [stdout]    |
[INFO] [stdout] 30 |     let mut s1 = sink.clone();
[INFO] [stdout]    |         ----^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]   --> src/quic/client/client.rs:37:20
[INFO] [stdout]    |
[INFO] [stdout] 37 |                 Ok(x) => {
[INFO] [stdout]    |                    ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]   --> src/quic/client/client.rs:53:21
[INFO] [stdout]    |
[INFO] [stdout] 53 |                 Err(e) => {
[INFO] [stdout]    |                     ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `endpoint`
[INFO] [stdout]   --> src/quic/client/client.rs:21:26
[INFO] [stdout]    |
[INFO] [stdout] 21 |     let (mut connection, mut endpoint) = setup_unsafe(addr).await.unwrap();
[INFO] [stdout]    |                          ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_endpoint`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `send_stream`
[INFO] [stdout]   --> src/quic/client/client.rs:22:10
[INFO] [stdout]    |
[INFO] [stdout] 22 |     let (mut send_stream, mut recv_stream) = connection.accept_bi().await.unwrap();
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_send_stream`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `stream`
[INFO] [stdout]   --> src/quic/client/client.rs:24:10
[INFO] [stdout]    |
[INFO] [stdout] 24 |     let (stream, stream_handle) = rodio::OutputStream::try_default().unwrap();
[INFO] [stdout]    |          ^^^^^^ help: if this is intentional, prefix it with an underscore: `_stream`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/client/client_optimized.rs:231:20
[INFO] [stdout]     |
[INFO] [stdout] 231 |     let (chunk_tx, mut chunk_rx) = unbounded_channel();
[INFO] [stdout]     |                    ----^^^^^^^^
[INFO] [stdout]     |                    |
[INFO] [stdout]     |                    help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `run_unsafe_client` is never used
[INFO] [stdout]   --> src/quic/client/client_util/mod.rs:53:14
[INFO] [stdout]    |
[INFO] [stdout] 53 | pub async fn run_unsafe_client(
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/client/client_optimized.rs:283:17
[INFO] [stdout]     |
[INFO] [stdout] 283 |             let mut res: Vec<i16> = buf
[INFO] [stdout]     |                 ----^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/quic/client/client.rs:45:21
[INFO] [stdout]    |
[INFO] [stdout] 45 |                     sender.send(res);
[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] 45 |                     let _ = sender.send(res);
[INFO] [stdout]    |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/quic/client/client.rs:61:21
[INFO] [stdout]    |
[INFO] [stdout] 61 |                     sender.send(res);
[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] 61 |                     let _ = sender.send(res);
[INFO] [stdout]    |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `stream`
[INFO] [stdout]   --> src/client/client_optimized.rs:21:10
[INFO] [stdout]    |
[INFO] [stdout] 21 |     let (stream, stream_handle) = OutputStream::try_default().unwrap();
[INFO] [stdout]    |          ^^^^^^ help: if this is intentional, prefix it with an underscore: `_stream`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tx`
[INFO] [stdout]   --> src/client/client_optimized.rs:23:10
[INFO] [stdout]    |
[INFO] [stdout] 23 |     let (mut tx, mut rx) = tokio::sync::mpsc::unbounded_channel::<Vec<u8>>();
[INFO] [stdout]    |          ^^^^^^ help: if this is intentional, prefix it with an underscore: `_tx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/client/client_optimized.rs:89:9
[INFO] [stdout]    |
[INFO] [stdout] 89 |     let mut client_socket = tokio::net::UdpSocket::bind("0.0.0.0:0").await.unwrap();
[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/client/client_optimized.rs:90:9
[INFO] [stdout]    |
[INFO] [stdout] 90 |     let mut client_socket = Arc::new(client_socket);
[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/client/client_optimized.rs:95:9
[INFO] [stdout]    |
[INFO] [stdout] 95 |     let mut client_socket_network_block = client_socket.clone();
[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/client/client_optimized.rs:114:19
[INFO] [stdout]     |
[INFO] [stdout] 114 |     let (control, mut receiver) = control_block();
[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/client/client_optimized.rs:115:10
[INFO] [stdout]     |
[INFO] [stdout] 115 |     let (mut data_rx, network_loop) = network_block(receiver, client_socket_network_block);
[INFO] [stdout]     |          ----^^^^^^^
[INFO] [stdout]     |          |
[INFO] [stdout]     |          help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `t1`
[INFO] [stdout]    --> src/client/client_optimized.rs:117:9
[INFO] [stdout]     |
[INFO] [stdout] 117 |     let t1 = tokio::spawn(control);
[INFO] [stdout]     |         ^^ help: if this is intentional, prefix it with an underscore: `_t1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `t2`
[INFO] [stdout]    --> src/client/client_optimized.rs:118:9
[INFO] [stdout]     |
[INFO] [stdout] 118 |     let t2 = tokio::spawn(network_loop);
[INFO] [stdout]     |         ^^ help: if this is intentional, prefix it with an underscore: `_t2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `stream`
[INFO] [stdout]    --> src/client/client_optimized.rs:274:10
[INFO] [stdout]     |
[INFO] [stdout] 274 |     let (stream, stream_handle) = OutputStream::try_default().unwrap();
[INFO] [stdout]     |          ^^^^^^ help: if this is intentional, prefix it with an underscore: `_stream`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `main2` is never used
[INFO] [stdout]   --> src/client/client_optimized.rs:19:10
[INFO] [stdout]    |
[INFO] [stdout] 19 | async fn main2() {
[INFO] [stdout]    |          ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/client/client_optimized.rs:99:5
[INFO] [stdout]    |
[INFO] [stdout] 99 |     client_socket.send("".as_bytes()).await;
[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] 99 |     let _ = client_socket.send("".as_bytes()).await;
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/client/client_optimized.rs:103:9
[INFO] [stdout]     |
[INFO] [stdout] 103 |         client_socket.recv_buf(&mut buf).await;
[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] 103 |         let _ = client_socket.recv_buf(&mut buf).await;
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/client/client_optimized.rs:235:13
[INFO] [stdout]     |
[INFO] [stdout] 235 |             client_socket.send(&res).await;
[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] 235 |             let _ = client_socket.send(&res).await;
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/client/client_optimized.rs:239:17
[INFO] [stdout]     |
[INFO] [stdout] 239 |                 client_socket.send(&seq).await;
[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] 239 |                 let _ = client_socket.send(&seq).await;
[INFO] [stdout]     |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/client/client_optimized.rs:253:17
[INFO] [stdout]     |
[INFO] [stdout] 253 |                 chunk_tx.send(buf[..buf.len() - 1].to_vec());
[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] 253 |                 let _ = chunk_tx.send(buf[..buf.len() - 1].to_vec());
[INFO] [stdout]     |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 13s
[INFO] running `Command { std: "docker" "inspect" "7a920b378975cc1f7805b485b0b563abb636d07b831a7dd020c223333abbd2ea", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "7a920b378975cc1f7805b485b0b563abb636d07b831a7dd020c223333abbd2ea", kill_on_drop: false }`
[INFO] [stdout] 7a920b378975cc1f7805b485b0b563abb636d07b831a7dd020c223333abbd2ea
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+2fd6efc32704647e64d3d646d21c4c68eae100e4" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] e457c8d71b9742344b92906353b3bae3a57816d472f29a8861ab07a762dd39ba
[INFO] running `Command { std: "docker" "start" "-a" "e457c8d71b9742344b92906353b3bae3a57816d472f29a8861ab07a762dd39ba", kill_on_drop: false }`
[INFO] [stderr]    Compiling audio_streaming v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `Decoder`
[INFO] [stdout]  --> src/client/client_optimized.rs:1:13
[INFO] [stdout]   |
[INFO] [stdout] 1 | use rodio::{Decoder, OutputStream, Sink};
[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 imports: `fs::read`, `self`, and `time::Duration`
[INFO] [stdout]  --> src/client/client_optimized.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 |     fs::read, net::{self, SocketAddr}, sync::{Arc, Mutex}, time::Duration
[INFO] [stdout]   |     ^^^^^^^^        ^^^^                                   ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BufReader` and `time::timeout`
[INFO] [stdout]  --> src/client/client_optimized.rs:8:33
[INFO] [stdout]   |
[INFO] [stdout] 8 |     io::{self, AsyncBufReadExt, BufReader},
[INFO] [stdout]   |                                 ^^^^^^^^^
[INFO] [stdout] 9 |     time::timeout,
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `UnboundedSender`, `self`, and `time::sleep`
[INFO] [stdout]   --> src/client/client_optimized.rs:14:18
[INFO] [stdout]    |
[INFO] [stdout] 14 |     sync::mpsc::{self, Receiver, UnboundedReceiver, UnboundedSender, channel, unbounded_channel},
[INFO] [stdout]    |                  ^^^^                               ^^^^^^^^^^^^^^^
[INFO] [stdout] 15 |     time::sleep,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `process::Output` and `time::Duration`
[INFO] [stdout]  --> src/server/server_struct/song_processing.rs:1:28
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{net::SocketAddr, process::Output, sync::Arc, time::Duration};
[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 imports: `select` and `time::sleep`
[INFO] [stdout]  --> src/server/server_struct/song_processing.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 |     select,
[INFO] [stdout]   |     ^^^^^^
[INFO] [stdout] 7 |     sync::mpsc::{self, Receiver, UnboundedReceiver, UnboundedSender, unbounded_channel},
[INFO] [stdout] 8 |     time::sleep,
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rodio::Decoder`
[INFO] [stdout]  --> src/server/server_struct.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use rodio::Decoder;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `path::Path`
[INFO] [stdout]  --> src/server/server_struct.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 |     path::Path,
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `oneshot`
[INFO] [stdout]   --> src/server/server_struct.rs:19:9
[INFO] [stdout]    |
[INFO] [stdout] 19 |         oneshot,
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io::Read`
[INFO] [stdout]  --> src/server/server.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::io::Read;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `collections::HashMap`, `net::SocketAddr`, and `sync::Arc`
[INFO] [stdout]  --> src/server/server.rs:8:11
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::{collections::HashMap, net::SocketAddr, sync::Arc};
[INFO] [stdout]   |           ^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `clone` and `io`
[INFO] [stdout]   --> src/server/server.rs:10:11
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::{clone, fs, io};
[INFO] [stdout]    |           ^^^^^      ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::select`
[INFO] [stdout]   --> src/server/server.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use tokio::select;
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::signal`
[INFO] [stdout]   --> src/server/server.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use tokio::signal;
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Receiver`, `Sender`, `UnboundedReceiver`, and `UnboundedSender`
[INFO] [stdout]   --> src/server/server.rs:14:25
[INFO] [stdout]    |
[INFO] [stdout] 14 | use tokio::sync::mpsc::{Receiver, Sender, UnboundedReceiver, UnboundedSender};
[INFO] [stdout]    |                         ^^^^^^^^  ^^^^^^  ^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::time`
[INFO] [stdout]   --> src/server/server.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use tokio::time;
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `run_unsafe_client`
[INFO] [stdout]  --> src/quic/client/client.rs:4:19
[INFO] [stdout]   |
[INFO] [stdout] 4 | use client_util::{run_unsafe_client, setup_unsafe};
[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: `AsyncWriteExt`
[INFO] [stdout]  --> src/quic/client/client.rs:6:24
[INFO] [stdout]   |
[INFO] [stdout] 6 |     io::{AsyncReadExt, AsyncWriteExt},
[INFO] [stdout]   |                        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `SocketAddrV4`
[INFO] [stdout]  --> src/quic/server/server.rs:3:23
[INFO] [stdout]   |
[INFO] [stdout] 3 |     net::{SocketAddr, SocketAddrV4}, time::Duration,
[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: `rustls::crypto::aws_lc_rs::default_provider`
[INFO] [stdout]  --> src/quic/server/server.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use rustls::crypto::aws_lc_rs::default_provider;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `TransportConfig`
[INFO] [stdout]  --> src/quic/server/server_util.rs:1:37
[INFO] [stdout]   |
[INFO] [stdout] 1 | use quinn::{Endpoint, ServerConfig, TransportConfig};
[INFO] [stdout]   |                                     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/server/server_struct/song_processing.rs:164:10
[INFO] [stdout]     |
[INFO] [stdout] 164 |     let (mut find_song_tx, mut find_song_rx) = mpsc::unbounded_channel(); //find song command
[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/server/server_struct/song_processing.rs:164:28
[INFO] [stdout]     |
[INFO] [stdout] 164 |     let (mut find_song_tx, mut find_song_rx) = mpsc::unbounded_channel(); //find song command
[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/server/server_struct/song_processing.rs:165:10
[INFO] [stdout]     |
[INFO] [stdout] 165 |     let (mut seq_tx, mut seq_rx) = mpsc::unbounded_channel(); //sequence number
[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/server/server_struct/song_processing.rs:165:22
[INFO] [stdout]     |
[INFO] [stdout] 165 |     let (mut seq_tx, mut seq_rx) = mpsc::unbounded_channel(); //sequence number
[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/server/server_struct/song_processing.rs:166:10
[INFO] [stdout]     |
[INFO] [stdout] 166 |     let (mut fail_alert_tx, mut fail_alert_rx) = mpsc::unbounded_channel(); //wrong command
[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/server/server_struct/song_processing.rs:166:29
[INFO] [stdout]     |
[INFO] [stdout] 166 |     let (mut fail_alert_tx, mut fail_alert_rx) = mpsc::unbounded_channel(); //wrong command
[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/server/server_struct/song_processing.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 |     mut song_rx: Receiver<([u8; 1024], usize)>,
[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/server/server_struct/song_processing.rs:18:19
[INFO] [stdout]    |
[INFO] [stdout] 18 |     let (control, mut song_id_rx, mut seq_rx, _) = control(song_rx);
[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/server/server_struct/song_processing.rs:19:10
[INFO] [stdout]    |
[INFO] [stdout] 19 |     let (mut chunk_tx, mut chunk_rx) = unbounded_channel();
[INFO] [stdout]    |          ----^^^^^^^^
[INFO] [stdout]    |          |
[INFO] [stdout]    |          help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `string`
[INFO] [stdout]  --> src/client/client.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 |     string,
[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 imports: `Receiver`, `UnboundedSender`, `net::UdpSocket`, and `unbounded_channel`
[INFO] [stdout]   --> src/client/client.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 |     net::UdpSocket,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 12 |     sync::mpsc::{
[INFO] [stdout] 13 |         self, Receiver, Sender, UnboundedReceiver, UnboundedSender, channel, unbounded_channel,
[INFO] [stdout]    |               ^^^^^^^^                             ^^^^^^^^^^^^^^^           ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Decoder`
[INFO] [stdout]   --> src/client/client.rs:18:13
[INFO] [stdout]    |
[INFO] [stdout] 18 | use rodio::{Decoder, OutputStream, Sink};
[INFO] [stdout]    |             ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `io::Read`
[INFO] [stdout]  --> src/quic/server/server.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 |     io::Read,
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/server/server_struct.rs:208:14
[INFO] [stdout]     |
[INFO] [stdout] 208 |         let (mut song_tx, mut song_rx) = mpsc::channel(100);
[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/server/server_struct.rs:208:27
[INFO] [stdout]     |
[INFO] [stdout] 208 |         let (mut song_tx, mut song_rx) = mpsc::channel(100);
[INFO] [stdout]     |                           ----^^^^^^^
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: irrefutable `if let` pattern
[INFO] [stdout]    --> src/server/server_struct.rs:141:27
[INFO] [stdout]     |
[INFO] [stdout] 141 |                 } else if let x = std::str::from_utf8(&buf[..len]) {
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this pattern will always match, so the `if let` is useless
[INFO] [stdout]     = help: consider replacing the `if let` with a `let`
[INFO] [stdout]     = note: `#[warn(irrefutable_let_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `user_req` is never read
[INFO] [stdout]   --> src/server/server_struct/song_processing.rs:28:28
[INFO] [stdout]    |
[INFO] [stdout] 28 |     let mut user_req: u8 = 0; // -> request chunk
[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: variable does not need to be mutable
[INFO] [stdout]    --> src/client/client.rs:124:14
[INFO] [stdout]     |
[INFO] [stdout] 124 |     let (tx, mut rx) = mpsc::unbounded_channel::<String>();
[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/server/server_struct/song_processing.rs:148:8
[INFO] [stdout]     |
[INFO] [stdout] 148 | fn add(mut i: u8) -> u8 {
[INFO] [stdout]     |        ----^
[INFO] [stdout]     |        |
[INFO] [stdout]     |        help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> src/server/server_struct.rs:153:29
[INFO] [stdout]     |
[INFO] [stdout] 153 |                         Err(e) => {
[INFO] [stdout]     |                             ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `timeout`
[INFO] [stdout]    --> src/server/server_struct.rs:192:9
[INFO] [stdout]     |
[INFO] [stdout] 192 |         timeout: Duration,
[INFO] [stdout]     |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_timeout`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `adding` is never used
[INFO] [stdout]    --> src/server/server_struct/song_processing.rs:100:4
[INFO] [stdout]     |
[INFO] [stdout] 100 | fn adding(i: u8) -> u8 {
[INFO] [stdout]     |    ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/client/client_optimized.rs:23:10
[INFO] [stdout]    |
[INFO] [stdout] 23 |     let (mut tx, mut rx) = tokio::sync::mpsc::unbounded_channel::<Vec<u8>>();
[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/client/client.rs:28:9
[INFO] [stdout]    |
[INFO] [stdout] 28 |     let mut client_socket = tokio::net::UdpSocket::bind("0.0.0.0:0").await.unwrap();
[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/client/client.rs:29:9
[INFO] [stdout]    |
[INFO] [stdout] 29 |     let mut client_socket = Arc::new(client_socket);
[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/client/client.rs:57:9
[INFO] [stdout]    |
[INFO] [stdout] 57 |     let mut present: u8 = 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/client/client.rs:58:9
[INFO] [stdout]    |
[INFO] [stdout] 58 |     let mut size: usize = 0;
[INFO] [stdout]    |         ----^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `stream`
[INFO] [stdout]   --> src/client/client.rs:33:10
[INFO] [stdout]    |
[INFO] [stdout] 33 |     let (stream, stream_handle) = OutputStream::try_default().unwrap();
[INFO] [stdout]    |          ^^^^^^ help: if this is intentional, prefix it with an underscore: `_stream`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `present`
[INFO] [stdout]   --> src/client/client.rs:57:9
[INFO] [stdout]    |
[INFO] [stdout] 57 |     let mut present: u8 = 0;
[INFO] [stdout]    |         ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_present`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `size`
[INFO] [stdout]   --> src/client/client.rs:58:9
[INFO] [stdout]    |
[INFO] [stdout] 58 |     let mut size: usize = 0;
[INFO] [stdout]    |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_size`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/client/client_optimized.rs:147:10
[INFO] [stdout]     |
[INFO] [stdout] 147 |     let (mut song_request_sender, mut song_request_receiver) = channel(1);
[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/client/client_optimized.rs:147:35
[INFO] [stdout]     |
[INFO] [stdout] 147 |     let (mut song_request_sender, mut song_request_receiver) = channel(1);
[INFO] [stdout]     |                                   ----^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/server/server_struct.rs:227:25
[INFO] [stdout]     |
[INFO] [stdout] 227 |                         socket.send_to(i.as_bytes(), addr).await;
[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] 227 |                         let _ = socket.send_to(i.as_bytes(), addr).await;
[INFO] [stdout]     |                         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/server/server_struct.rs:230:25
[INFO] [stdout]     |
[INFO] [stdout] 230 |                         socket.send_to("".as_bytes(), addr).await;
[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] 230 |                         let _ = socket.send_to("".as_bytes(), addr).await;
[INFO] [stdout]     |                         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/server/server_struct.rs:234:25
[INFO] [stdout]     |
[INFO] [stdout] 234 |                         song_tx.send((buf,len)).await;
[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] 234 |                         let _ = song_tx.send((buf,len)).await;
[INFO] [stdout]     |                         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/server/server_struct/song_processing.rs:73:13
[INFO] [stdout]    |
[INFO] [stdout] 73 |             socket.send_to(&cache, addr).await;
[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] 73 |             let _ = socket.send_to(&cache, addr).await;
[INFO] [stdout]    |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/server/server_struct/song_processing.rs:81:13
[INFO] [stdout]    |
[INFO] [stdout] 81 |             socket.send_to(&cache, addr).await;
[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] 81 |             let _ = socket.send_to(&cache, addr).await;
[INFO] [stdout]    |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/server/server_struct/song_processing.rs:116:13
[INFO] [stdout]     |
[INFO] [stdout] 116 |             chunk_tx.send(vec![]);
[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] 116 |             let _ = chunk_tx.send(vec![]);
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/server/server_struct/song_processing.rs:138:13
[INFO] [stdout]     |
[INFO] [stdout] 138 |             chunk_tx.send(res);
[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] 138 |             let _ = chunk_tx.send(res);
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/server/server_struct/song_processing.rs:184:17
[INFO] [stdout]     |
[INFO] [stdout] 184 |                 seq_tx.send(seq_num);
[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] 184 |                 let _ = seq_tx.send(seq_num);
[INFO] [stdout]     |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/server/server_struct/song_processing.rs:189:21
[INFO] [stdout]     |
[INFO] [stdout] 189 |                     fail_alert_tx.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] 189 |                     let _ = fail_alert_tx.send(());
[INFO] [stdout]     |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/server/server_struct/song_processing.rs:193:25
[INFO] [stdout]     |
[INFO] [stdout] 193 |                         find_song_tx.send(res);
[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] 193 |                         let _ = find_song_tx.send(res);
[INFO] [stdout]     |                         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/server/server_struct/song_processing.rs:196:25
[INFO] [stdout]     |
[INFO] [stdout] 196 |                         fail_alert_tx.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] 196 |                         let _ = fail_alert_tx.send(());
[INFO] [stdout]     |                         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tx`
[INFO] [stdout]    --> src/client/client.rs:124:10
[INFO] [stdout]     |
[INFO] [stdout] 124 |     let (tx, mut rx) = mpsc::unbounded_channel::<String>();
[INFO] [stdout]     |          ^^ help: if this is intentional, prefix it with an underscore: `_tx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `control_instance` is never used
[INFO] [stdout]    --> src/client/client.rs:123:4
[INFO] [stdout]     |
[INFO] [stdout] 123 | fn control_instance() -> (impl Future<Output = ()>, UnboundedReceiver<String>) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `sound_instance` is never used
[INFO] [stdout]    --> src/client/client.rs:134:4
[INFO] [stdout]     |
[INFO] [stdout] 134 | fn sound_instance() {}
[INFO] [stdout]     |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/client/client_optimized.rs:231:20
[INFO] [stdout]     |
[INFO] [stdout] 231 |     let (chunk_tx, mut chunk_rx) = unbounded_channel();
[INFO] [stdout]     |                    ----^^^^^^^^
[INFO] [stdout]     |                    |
[INFO] [stdout]     |                    help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/client/client.rs:35:5
[INFO] [stdout]    |
[INFO] [stdout] 35 |     client_socket.send("".as_bytes()).await;
[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] 35 |     let _ = client_socket.send("".as_bytes()).await;
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/client/client.rs:39:9
[INFO] [stdout]    |
[INFO] [stdout] 39 |         client_socket.recv_buf(&mut buf).await;
[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] 39 |         let _ = client_socket.recv_buf(&mut buf).await;
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/client/client.rs:56:5
[INFO] [stdout]    |
[INFO] [stdout] 56 |     client_socket.send(&song).await;
[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] 56 |     let _ = client_socket.send(&song).await;
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/client/client.rs:67:9
[INFO] [stdout]    |
[INFO] [stdout] 67 |         client_socket.send(&seq).await;
[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] 67 |         let _ = client_socket.send(&seq).await;
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/client/client.rs:80:9
[INFO] [stdout]    |
[INFO] [stdout] 80 |         sender.send(buf[..buf.len() - 1].to_vec()).await;
[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] 80 |         let _ = sender.send(buf[..buf.len() - 1].to_vec()).await;
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/client/client.rs:97:5
[INFO] [stdout]    |
[INFO] [stdout] 97 |     t1.await;
[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] 97 |     let _ = t1.await;
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/client/client_optimized.rs:283:17
[INFO] [stdout]     |
[INFO] [stdout] 283 |             let mut res: Vec<i16> = buf
[INFO] [stdout]     |                 ----^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `stream`
[INFO] [stdout]   --> src/client/client_optimized.rs:21:10
[INFO] [stdout]    |
[INFO] [stdout] 21 |     let (stream, stream_handle) = OutputStream::try_default().unwrap();
[INFO] [stdout]    |          ^^^^^^ help: if this is intentional, prefix it with an underscore: `_stream`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tx`
[INFO] [stdout]   --> src/client/client_optimized.rs:23:10
[INFO] [stdout]    |
[INFO] [stdout] 23 |     let (mut tx, mut rx) = tokio::sync::mpsc::unbounded_channel::<Vec<u8>>();
[INFO] [stdout]    |          ^^^^^^ help: if this is intentional, prefix it with an underscore: `_tx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/client/client_optimized.rs:89:9
[INFO] [stdout]    |
[INFO] [stdout] 89 |     let mut client_socket = tokio::net::UdpSocket::bind("0.0.0.0:0").await.unwrap();
[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/client/client_optimized.rs:90:9
[INFO] [stdout]    |
[INFO] [stdout] 90 |     let mut client_socket = Arc::new(client_socket);
[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/client/client_optimized.rs:95:9
[INFO] [stdout]    |
[INFO] [stdout] 95 |     let mut client_socket_network_block = client_socket.clone();
[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/client/client_optimized.rs:114:19
[INFO] [stdout]     |
[INFO] [stdout] 114 |     let (control, mut receiver) = control_block();
[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/client/client_optimized.rs:115:10
[INFO] [stdout]     |
[INFO] [stdout] 115 |     let (mut data_rx, network_loop) = network_block(receiver, client_socket_network_block);
[INFO] [stdout]     |          ----^^^^^^^
[INFO] [stdout]     |          |
[INFO] [stdout]     |          help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `t1`
[INFO] [stdout]    --> src/client/client_optimized.rs:117:9
[INFO] [stdout]     |
[INFO] [stdout] 117 |     let t1 = tokio::spawn(control);
[INFO] [stdout]     |         ^^ help: if this is intentional, prefix it with an underscore: `_t1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `t2`
[INFO] [stdout]    --> src/client/client_optimized.rs:118:9
[INFO] [stdout]     |
[INFO] [stdout] 118 |     let t2 = tokio::spawn(network_loop);
[INFO] [stdout]     |         ^^ help: if this is intentional, prefix it with an underscore: `_t2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `stream`
[INFO] [stdout]    --> src/client/client_optimized.rs:274:10
[INFO] [stdout]     |
[INFO] [stdout] 274 |     let (stream, stream_handle) = OutputStream::try_default().unwrap();
[INFO] [stdout]     |          ^^^^^^ help: if this is intentional, prefix it with an underscore: `_stream`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `main2` is never used
[INFO] [stdout]   --> src/client/client_optimized.rs:19:10
[INFO] [stdout]    |
[INFO] [stdout] 19 | async fn main2() {
[INFO] [stdout]    |          ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/client/client_optimized.rs:99:5
[INFO] [stdout]    |
[INFO] [stdout] 99 |     client_socket.send("".as_bytes()).await;
[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] 99 |     let _ = client_socket.send("".as_bytes()).await;
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/client/client_optimized.rs:103:9
[INFO] [stdout]     |
[INFO] [stdout] 103 |         client_socket.recv_buf(&mut buf).await;
[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] 103 |         let _ = client_socket.recv_buf(&mut buf).await;
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/client/client_optimized.rs:235:13
[INFO] [stdout]     |
[INFO] [stdout] 235 |             client_socket.send(&res).await;
[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] 235 |             let _ = client_socket.send(&res).await;
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/client/client_optimized.rs:239:17
[INFO] [stdout]     |
[INFO] [stdout] 239 |                 client_socket.send(&seq).await;
[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] 239 |                 let _ = client_socket.send(&seq).await;
[INFO] [stdout]     |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/client/client_optimized.rs:253:17
[INFO] [stdout]     |
[INFO] [stdout] 253 |                 chunk_tx.send(buf[..buf.len() - 1].to_vec());
[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] 253 |                 let _ = chunk_tx.send(buf[..buf.len() - 1].to_vec());
[INFO] [stdout]     |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/quic/server/server.rs:35:9
[INFO] [stdout]    |
[INFO] [stdout] 35 |     let mut conn = incoming.await.unwrap();
[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: unused `Result` that must be used
[INFO] [stdout]   --> src/quic/server/server.rs:42:9
[INFO] [stdout]    |
[INFO] [stdout] 42 |         bi.0.write_all(chunk).await;
[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] 42 |         let _ = bi.0.write_all(chunk).await;
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/quic/server/server.rs:45:9
[INFO] [stdout]    |
[INFO] [stdout] 45 |         bi.0.flush().await;
[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] 45 |         let _ = bi.0.flush().await;
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/quic/server/server.rs:60:5
[INFO] [stdout]    |
[INFO] [stdout] 60 |     bi.0.finish();
[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] 60 |     let _ = bi.0.finish();
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/quic/server/server.rs:61:5
[INFO] [stdout]    |
[INFO] [stdout] 61 |     bi.0.shutdown().await;
[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] 61 |     let _ = bi.0.shutdown().await;
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `AsyncReadExt`
[INFO] [stdout]  --> src/quic/client/client.rs:6:10
[INFO] [stdout]   |
[INFO] [stdout] 6 |     io::{AsyncReadExt, AsyncWriteExt},
[INFO] [stdout]   |          ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/quic/client/client.rs:21:10
[INFO] [stdout]    |
[INFO] [stdout] 21 |     let (mut connection, mut endpoint) = setup_unsafe(addr).await.unwrap();
[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/quic/client/client.rs:21:26
[INFO] [stdout]    |
[INFO] [stdout] 21 |     let (mut connection, mut endpoint) = setup_unsafe(addr).await.unwrap();
[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/quic/client/client.rs:22:10
[INFO] [stdout]    |
[INFO] [stdout] 22 |     let (mut send_stream, mut recv_stream) = connection.accept_bi().await.unwrap();
[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/quic/client/client.rs:30:9
[INFO] [stdout]    |
[INFO] [stdout] 30 |     let mut s1 = sink.clone();
[INFO] [stdout]    |         ----^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]   --> src/quic/client/client.rs:37:20
[INFO] [stdout]    |
[INFO] [stdout] 37 |                 Ok(x) => {
[INFO] [stdout]    |                    ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]   --> src/quic/client/client.rs:53:21
[INFO] [stdout]    |
[INFO] [stdout] 53 |                 Err(e) => {
[INFO] [stdout]    |                     ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `endpoint`
[INFO] [stdout]   --> src/quic/client/client.rs:21:26
[INFO] [stdout]    |
[INFO] [stdout] 21 |     let (mut connection, mut endpoint) = setup_unsafe(addr).await.unwrap();
[INFO] [stdout]    |                          ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_endpoint`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `send_stream`
[INFO] [stdout]   --> src/quic/client/client.rs:22:10
[INFO] [stdout]    |
[INFO] [stdout] 22 |     let (mut send_stream, mut recv_stream) = connection.accept_bi().await.unwrap();
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_send_stream`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `stream`
[INFO] [stdout]   --> src/quic/client/client.rs:24:10
[INFO] [stdout]    |
[INFO] [stdout] 24 |     let (stream, stream_handle) = rodio::OutputStream::try_default().unwrap();
[INFO] [stdout]    |          ^^^^^^ help: if this is intentional, prefix it with an underscore: `_stream`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `run_unsafe_client` is never used
[INFO] [stdout]   --> src/quic/client/client_util/mod.rs:53:14
[INFO] [stdout]    |
[INFO] [stdout] 53 | pub async fn run_unsafe_client(
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/quic/client/client.rs:45:21
[INFO] [stdout]    |
[INFO] [stdout] 45 |                     sender.send(res);
[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] 45 |                     let _ = sender.send(res);
[INFO] [stdout]    |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/quic/client/client.rs:61:21
[INFO] [stdout]    |
[INFO] [stdout] 61 |                     sender.send(res);
[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] 61 |                     let _ = sender.send(res);
[INFO] [stdout]    |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/experimental/experimental.rs:22:10
[INFO] [stdout]    |
[INFO] [stdout] 22 |     let (mut tx, mut rx) = tokio::sync::mpsc::unbounded_channel();
[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: unused variable: `stream`
[INFO] [stdout]   --> src/experimental/experimental.rs:20:10
[INFO] [stdout]    |
[INFO] [stdout] 20 |     let (stream, stream_handle) = OutputStream::try_default().unwrap();
[INFO] [stdout]    |          ^^^^^^ help: if this is intentional, prefix it with an underscore: `_stream`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/experimental/experimental.rs:89:9
[INFO] [stdout]    |
[INFO] [stdout] 89 |     let mut vec2 = vec![4, 5, 6, 8];
[INFO] [stdout]    |         ----^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `vec1` is never read
[INFO] [stdout]   --> src/experimental/experimental.rs:88:20
[INFO] [stdout]    |
[INFO] [stdout] 88 |     let mut vec1 = Vec::with_capacity(300);
[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: variable does not need to be mutable
[INFO] [stdout]    --> src/experimental/experimental.rs:128:10
[INFO] [stdout]     |
[INFO] [stdout] 128 |     let (mut tx, mut rx) = tokio::sync::mpsc::unbounded_channel();
[INFO] [stdout]     |          ----^^
[INFO] [stdout]     |          |
[INFO] [stdout]     |          help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `stream`
[INFO] [stdout]    --> src/experimental/experimental.rs:125:10
[INFO] [stdout]     |
[INFO] [stdout] 125 |     let (stream, stream_handle) = OutputStream::try_default().unwrap();
[INFO] [stdout]     |          ^^^^^^ help: if this is intentional, prefix it with an underscore: `_stream`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/experimental/experimental.rs:192:10
[INFO] [stdout]     |
[INFO] [stdout] 192 |     let (mut tx, mut rx) = unbounded_channel();
[INFO] [stdout]     |          ----^^
[INFO] [stdout]     |          |
[INFO] [stdout]     |          help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/experimental/experimental.rs:200:9
[INFO] [stdout]     |
[INFO] [stdout] 200 |     for i in 0..3 {
[INFO] [stdout]     |         ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/experimental/experimental.rs:44:13
[INFO] [stdout]    |
[INFO] [stdout] 44 |             tx.send(res);
[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] 44 |             let _ = tx.send(res);
[INFO] [stdout]    |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/experimental/experimental.rs:146:13
[INFO] [stdout]     |
[INFO] [stdout] 146 |             tx.send(res.to_owned());
[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] 146 |             let _ = tx.send(res.to_owned());
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/experimental/experimental.rs:173:5
[INFO] [stdout]     |
[INFO] [stdout] 173 |     t.await;
[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] 173 |     let _ = t.await;
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/experimental/experimental.rs:174:5
[INFO] [stdout]     |
[INFO] [stdout] 174 |     t2.await;
[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] 174 |     let _ = t2.await;
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/experimental/experimental.rs:175:5
[INFO] [stdout]     |
[INFO] [stdout] 175 |     t3.await;
[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] 175 |     let _ = t3.await;
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/experimental/experimental.rs:195:13
[INFO] [stdout]     |
[INFO] [stdout] 195 |             tx.send(1);
[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] 195 |             let _ = tx.send(1);
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/experimental/experimental.rs:209:5
[INFO] [stdout]     |
[INFO] [stdout] 209 |     t1.await;
[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] 209 |     let _ = t1.await;
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 3.88s
[INFO] running `Command { std: "docker" "inspect" "e457c8d71b9742344b92906353b3bae3a57816d472f29a8861ab07a762dd39ba", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "e457c8d71b9742344b92906353b3bae3a57816d472f29a8861ab07a762dd39ba", kill_on_drop: false }`
[INFO] [stdout] e457c8d71b9742344b92906353b3bae3a57816d472f29a8861ab07a762dd39ba
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+2fd6efc32704647e64d3d646d21c4c68eae100e4" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] d4d45629b990c124879ff528cd31674db40a72c082b3a8ede186734aa12625e5
[INFO] running `Command { std: "docker" "start" "-a" "d4d45629b990c124879ff528cd31674db40a72c082b3a8ede186734aa12625e5", kill_on_drop: false }`
[INFO] [stderr] warning: unused imports: `process::Output` and `time::Duration`
[INFO] [stderr]  --> src/server/server_struct/song_processing.rs:1:28
[INFO] [stderr]   |
[INFO] [stderr] 1 | use std::{net::SocketAddr, process::Output, sync::Arc, time::Duration};
[INFO] [stderr]   |                            ^^^^^^^^^^^^^^^             ^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `select` and `time::sleep`
[INFO] [stderr]  --> src/server/server_struct/song_processing.rs:6:5
[INFO] [stderr]   |
[INFO] [stderr] 6 |     select,
[INFO] [stderr]   |     ^^^^^^
[INFO] [stderr] 7 |     sync::mpsc::{self, Receiver, UnboundedReceiver, UnboundedSender, unbounded_channel},
[INFO] [stderr] 8 |     time::sleep,
[INFO] [stderr]   |     ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `rodio::Decoder`
[INFO] [stderr]  --> src/server/server_struct.rs:5:5
[INFO] [stderr]   |
[INFO] [stderr] 5 | use rodio::Decoder;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `path::Path`
[INFO] [stderr]  --> src/server/server_struct.rs:9:5
[INFO] [stderr]   |
[INFO] [stderr] 9 |     path::Path,
[INFO] [stderr]   |     ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `oneshot`
[INFO] [stderr]   --> src/server/server_struct.rs:19:9
[INFO] [stderr]    |
[INFO] [stderr] 19 |         oneshot,
[INFO] [stderr]    |         ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::io::Read`
[INFO] [stderr]  --> src/server/server.rs:6:5
[INFO] [stderr]   |
[INFO] [stderr] 6 | use std::io::Read;
[INFO] [stderr]   |     ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `collections::HashMap`, `net::SocketAddr`, and `sync::Arc`
[INFO] [stderr]  --> src/server/server.rs:8:11
[INFO] [stderr]   |
[INFO] [stderr] 8 | use std::{collections::HashMap, net::SocketAddr, sync::Arc};
[INFO] [stderr]   |           ^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `clone` and `io`
[INFO] [stderr]   --> src/server/server.rs:10:11
[INFO] [stderr]    |
[INFO] [stderr] 10 | use std::{clone, fs, io};
[INFO] [stderr]    |           ^^^^^      ^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `tokio::select`
[INFO] [stderr]   --> src/server/server.rs:12:5
[INFO] [stderr]    |
[INFO] [stderr] 12 | use tokio::select;
[INFO] [stderr]    |     ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `tokio::signal`
[INFO] [stderr]   --> src/server/server.rs:13:5
[INFO] [stderr]    |
[INFO] [stderr] 13 | use tokio::signal;
[INFO] [stderr]    |     ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `Receiver`, `Sender`, `UnboundedReceiver`, and `UnboundedSender`
[INFO] [stderr]   --> src/server/server.rs:14:25
[INFO] [stderr]    |
[INFO] [stderr] 14 | use tokio::sync::mpsc::{Receiver, Sender, UnboundedReceiver, UnboundedSender};
[INFO] [stderr]    |                         ^^^^^^^^  ^^^^^^  ^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `tokio::time`
[INFO] [stderr]   --> src/server/server.rs:15:5
[INFO] [stderr]    |
[INFO] [stderr] 15 | use tokio::time;
[INFO] [stderr]    |     ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/server/server_struct/song_processing.rs:164:10
[INFO] [stderr]     |
[INFO] [stderr] 164 |     let (mut find_song_tx, mut find_song_rx) = mpsc::unbounded_channel(); //find song command
[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/server/server_struct/song_processing.rs:164:28
[INFO] [stderr]     |
[INFO] [stderr] 164 |     let (mut find_song_tx, mut find_song_rx) = mpsc::unbounded_channel(); //find song command
[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/server/server_struct/song_processing.rs:165:10
[INFO] [stderr]     |
[INFO] [stderr] 165 |     let (mut seq_tx, mut seq_rx) = mpsc::unbounded_channel(); //sequence number
[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/server/server_struct/song_processing.rs:165:22
[INFO] [stderr]     |
[INFO] [stderr] 165 |     let (mut seq_tx, mut seq_rx) = mpsc::unbounded_channel(); //sequence number
[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/server/server_struct/song_processing.rs:166:10
[INFO] [stderr]     |
[INFO] [stderr] 166 |     let (mut fail_alert_tx, mut fail_alert_rx) = mpsc::unbounded_channel(); //wrong command
[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/server/server_struct/song_processing.rs:166:29
[INFO] [stderr]     |
[INFO] [stderr] 166 |     let (mut fail_alert_tx, mut fail_alert_rx) = mpsc::unbounded_channel(); //wrong command
[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/server/server_struct/song_processing.rs:14:5
[INFO] [stderr]    |
[INFO] [stderr] 14 |     mut song_rx: Receiver<([u8; 1024], 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/server/server_struct/song_processing.rs:18:19
[INFO] [stderr]    |
[INFO] [stderr] 18 |     let (control, mut song_id_rx, mut seq_rx, _) = control(song_rx);
[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/server/server_struct/song_processing.rs:19:10
[INFO] [stderr]    |
[INFO] [stderr] 19 |     let (mut chunk_tx, mut chunk_rx) = unbounded_channel();
[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/server/server_struct.rs:208:14
[INFO] [stderr]     |
[INFO] [stderr] 208 |         let (mut song_tx, mut song_rx) = mpsc::channel(100);
[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/server/server_struct.rs:208:27
[INFO] [stderr]     |
[INFO] [stderr] 208 |         let (mut song_tx, mut song_rx) = mpsc::channel(100);
[INFO] [stderr]     |                           ----^^^^^^^
[INFO] [stderr]     |                           |
[INFO] [stderr]     |                           help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: irrefutable `if let` pattern
[INFO] [stderr]    --> src/server/server_struct.rs:141:27
[INFO] [stderr]     |
[INFO] [stderr] 141 |                 } else if let x = std::str::from_utf8(&buf[..len]) {
[INFO] [stderr]     |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this pattern will always match, so the `if let` is useless
[INFO] [stderr]     = help: consider replacing the `if let` with a `let`
[INFO] [stderr]     = note: `#[warn(irrefutable_let_patterns)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: value assigned to `user_req` is never read
[INFO] [stderr]   --> src/server/server_struct/song_processing.rs:28:28
[INFO] [stderr]    |
[INFO] [stderr] 28 |     let mut user_req: u8 = 0; // -> request chunk
[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: variable does not need to be mutable
[INFO] [stderr]    --> src/server/server_struct/song_processing.rs:148:8
[INFO] [stderr]     |
[INFO] [stderr] 148 | fn add(mut i: u8) -> u8 {
[INFO] [stderr]     |        ----^
[INFO] [stderr]     |        |
[INFO] [stderr]     |        help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `e`
[INFO] [stderr]    --> src/server/server_struct.rs:153:29
[INFO] [stderr]     |
[INFO] [stderr] 153 |                         Err(e) => {
[INFO] [stderr]     |                             ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `timeout`
[INFO] [stderr]    --> src/server/server_struct.rs:192:9
[INFO] [stderr]     |
[INFO] [stderr] 192 |         timeout: Duration,
[INFO] [stderr]     |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_timeout`
[INFO] [stderr] 
[INFO] [stderr] warning: function `adding` is never used
[INFO] [stderr]    --> src/server/server_struct/song_processing.rs:100:4
[INFO] [stderr]     |
[INFO] [stderr] 100 | fn adding(i: u8) -> u8 {
[INFO] [stderr]     |    ^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> src/server/server_struct.rs:227:25
[INFO] [stderr]     |
[INFO] [stderr] 227 |                         socket.send_to(i.as_bytes(), addr).await;
[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] 227 |                         let _ = socket.send_to(i.as_bytes(), addr).await;
[INFO] [stderr]     |                         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> src/server/server_struct.rs:230:25
[INFO] [stderr]     |
[INFO] [stderr] 230 |                         socket.send_to("".as_bytes(), addr).await;
[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] 230 |                         let _ = socket.send_to("".as_bytes(), addr).await;
[INFO] [stderr]     |                         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> src/server/server_struct.rs:234:25
[INFO] [stderr]     |
[INFO] [stderr] 234 |                         song_tx.send((buf,len)).await;
[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] 234 |                         let _ = song_tx.send((buf,len)).await;
[INFO] [stderr]     |                         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]   --> src/server/server_struct/song_processing.rs:73:13
[INFO] [stderr]    |
[INFO] [stderr] 73 |             socket.send_to(&cache, addr).await;
[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] 73 |             let _ = socket.send_to(&cache, addr).await;
[INFO] [stderr]    |             +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]   --> src/server/server_struct/song_processing.rs:81:13
[INFO] [stderr]    |
[INFO] [stderr] 81 |             socket.send_to(&cache, addr).await;
[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] 81 |             let _ = socket.send_to(&cache, addr).await;
[INFO] [stderr]    |             +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> src/server/server_struct/song_processing.rs:116:13
[INFO] [stderr]     |
[INFO] [stderr] 116 |             chunk_tx.send(vec![]);
[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] 116 |             let _ = chunk_tx.send(vec![]);
[INFO] [stderr]     |             +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> src/server/server_struct/song_processing.rs:138:13
[INFO] [stderr]     |
[INFO] [stderr] 138 |             chunk_tx.send(res);
[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] 138 |             let _ = chunk_tx.send(res);
[INFO] [stderr]     |             +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> src/server/server_struct/song_processing.rs:184:17
[INFO] [stderr]     |
[INFO] [stderr] 184 |                 seq_tx.send(seq_num);
[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] 184 |                 let _ = seq_tx.send(seq_num);
[INFO] [stderr]     |                 +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> src/server/server_struct/song_processing.rs:189:21
[INFO] [stderr]     |
[INFO] [stderr] 189 |                     fail_alert_tx.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] 189 |                     let _ = fail_alert_tx.send(());
[INFO] [stderr]     |                     +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> src/server/server_struct/song_processing.rs:193:25
[INFO] [stderr]     |
[INFO] [stderr] 193 |                         find_song_tx.send(res);
[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] 193 |                         let _ = find_song_tx.send(res);
[INFO] [stderr]     |                         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> src/server/server_struct/song_processing.rs:196:25
[INFO] [stderr]     |
[INFO] [stderr] 196 |                         fail_alert_tx.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] 196 |                         let _ = fail_alert_tx.send(());
[INFO] [stderr]     |                         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `SocketAddrV4`
[INFO] [stderr]  --> src/quic/server/server.rs:3:23
[INFO] [stderr]   |
[INFO] [stderr] 3 |     net::{SocketAddr, SocketAddrV4}, time::Duration,
[INFO] [stderr]   |                       ^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `rustls::crypto::aws_lc_rs::default_provider`
[INFO] [stderr]  --> src/quic/server/server.rs:6:5
[INFO] [stderr]   |
[INFO] [stderr] 6 | use rustls::crypto::aws_lc_rs::default_provider;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `TransportConfig`
[INFO] [stderr]  --> src/quic/server/server_util.rs:1:37
[INFO] [stderr]   |
[INFO] [stderr] 1 | use quinn::{Endpoint, ServerConfig, TransportConfig};
[INFO] [stderr]   |                                     ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `io::Read`
[INFO] [stderr]  --> src/quic/server/server.rs:2:5
[INFO] [stderr]   |
[INFO] [stderr] 2 |     io::Read,
[INFO] [stderr]   |     ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/quic/server/server.rs:35:9
[INFO] [stderr]    |
[INFO] [stderr] 35 |     let mut conn = incoming.await.unwrap();
[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: unused `Result` that must be used
[INFO] [stderr]   --> src/quic/server/server.rs:42:9
[INFO] [stderr]    |
[INFO] [stderr] 42 |         bi.0.write_all(chunk).await;
[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] 42 |         let _ = bi.0.write_all(chunk).await;
[INFO] [stderr]    |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]   --> src/quic/server/server.rs:45:9
[INFO] [stderr]    |
[INFO] [stderr] 45 |         bi.0.flush().await;
[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] 45 |         let _ = bi.0.flush().await;
[INFO] [stderr]    |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]   --> src/quic/server/server.rs:60:5
[INFO] [stderr]    |
[INFO] [stderr] 60 |     bi.0.finish();
[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] 60 |     let _ = bi.0.finish();
[INFO] [stderr]    |     +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]   --> src/quic/server/server.rs:61:5
[INFO] [stderr]    |
[INFO] [stderr] 61 |     bi.0.shutdown().await;
[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] 61 |     let _ = bi.0.shutdown().await;
[INFO] [stderr]    |     +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `run_unsafe_client`
[INFO] [stderr]  --> src/quic/client/client.rs:4:19
[INFO] [stderr]   |
[INFO] [stderr] 4 | use client_util::{run_unsafe_client, setup_unsafe};
[INFO] [stderr]   |                   ^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `AsyncWriteExt`
[INFO] [stderr]  --> src/quic/client/client.rs:6:24
[INFO] [stderr]   |
[INFO] [stderr] 6 |     io::{AsyncReadExt, AsyncWriteExt},
[INFO] [stderr]   |                        ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `AsyncReadExt`
[INFO] [stderr]  --> src/quic/client/client.rs:6:10
[INFO] [stderr]   |
[INFO] [stderr] 6 |     io::{AsyncReadExt, AsyncWriteExt},
[INFO] [stderr]   |          ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/quic/client/client.rs:21:10
[INFO] [stderr]    |
[INFO] [stderr] 21 |     let (mut connection, mut endpoint) = setup_unsafe(addr).await.unwrap();
[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/quic/client/client.rs:21:26
[INFO] [stderr]    |
[INFO] [stderr] 21 |     let (mut connection, mut endpoint) = setup_unsafe(addr).await.unwrap();
[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/quic/client/client.rs:22:10
[INFO] [stderr]    |
[INFO] [stderr] 22 |     let (mut send_stream, mut recv_stream) = connection.accept_bi().await.unwrap();
[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/quic/client/client.rs:30:9
[INFO] [stderr]    |
[INFO] [stderr] 30 |     let mut s1 = sink.clone();
[INFO] [stderr]    |         ----^^
[INFO] [stderr]    |         |
[INFO] [stderr]    |         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `x`
[INFO] [stderr]   --> src/quic/client/client.rs:37:20
[INFO] [stderr]    |
[INFO] [stderr] 37 |                 Ok(x) => {
[INFO] [stderr]    |                    ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `e`
[INFO] [stderr]   --> src/quic/client/client.rs:53:21
[INFO] [stderr]    |
[INFO] [stderr] 53 |                 Err(e) => {
[INFO] [stderr]    |                     ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `endpoint`
[INFO] [stderr]   --> src/quic/client/client.rs:21:26
[INFO] [stderr]    |
[INFO] [stderr] 21 |     let (mut connection, mut endpoint) = setup_unsafe(addr).await.unwrap();
[INFO] [stderr]    |                          ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_endpoint`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `send_stream`
[INFO] [stderr]   --> src/quic/client/client.rs:22:10
[INFO] [stderr]    |
[INFO] [stderr] 22 |     let (mut send_stream, mut recv_stream) = connection.accept_bi().await.unwrap();
[INFO] [stderr]    |          ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_send_stream`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `stream`
[INFO] [stderr]   --> src/quic/client/client.rs:24:10
[INFO] [stderr]    |
[INFO] [stderr] 24 |     let (stream, stream_handle) = rodio::OutputStream::try_default().unwrap();
[INFO] [stderr]    |          ^^^^^^ help: if this is intentional, prefix it with an underscore: `_stream`
[INFO] [stderr] 
[INFO] [stderr] warning: function `run_unsafe_client` is never used
[INFO] [stderr]   --> src/quic/client/client_util/mod.rs:53:14
[INFO] [stderr]    |
[INFO] [stderr] 53 | pub async fn run_unsafe_client(
[INFO] [stderr]    |              ^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]   --> src/quic/client/client.rs:45:21
[INFO] [stderr]    |
[INFO] [stderr] 45 |                     sender.send(res);
[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] 45 |                     let _ = sender.send(res);
[INFO] [stderr]    |                     +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]   --> src/quic/client/client.rs:61:21
[INFO] [stderr]    |
[INFO] [stderr] 61 |                     sender.send(res);
[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] 61 |                     let _ = sender.send(res);
[INFO] [stderr]    |                     +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `string`
[INFO] [stderr]  --> src/client/client.rs:5:5
[INFO] [stderr]   |
[INFO] [stderr] 5 |     string,
[INFO] [stderr]   |     ^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `Receiver`, `UnboundedSender`, `net::UdpSocket`, and `unbounded_channel`
[INFO] [stderr]   --> src/client/client.rs:11:5
[INFO] [stderr]    |
[INFO] [stderr] 11 |     net::UdpSocket,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^
[INFO] [stderr] 12 |     sync::mpsc::{
[INFO] [stderr] 13 |         self, Receiver, Sender, UnboundedReceiver, UnboundedSender, channel, unbounded_channel,
[INFO] [stderr]    |               ^^^^^^^^                             ^^^^^^^^^^^^^^^           ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Decoder`
[INFO] [stderr]   --> src/client/client.rs:18:13
[INFO] [stderr]    |
[INFO] [stderr] 18 | use rodio::{Decoder, OutputStream, Sink};
[INFO] [stderr]    |             ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/client/client.rs:124:14
[INFO] [stderr]     |
[INFO] [stderr] 124 |     let (tx, mut rx) = mpsc::unbounded_channel::<String>();
[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/client/client.rs:28:9
[INFO] [stderr]    |
[INFO] [stderr] 28 |     let mut client_socket = tokio::net::UdpSocket::bind("0.0.0.0:0").await.unwrap();
[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/client/client.rs:29:9
[INFO] [stderr]    |
[INFO] [stderr] 29 |     let mut client_socket = Arc::new(client_socket);
[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/client/client.rs:57:9
[INFO] [stderr]    |
[INFO] [stderr] 57 |     let mut present: u8 = 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/client/client.rs:58:9
[INFO] [stderr]    |
[INFO] [stderr] 58 |     let mut size: usize = 0;
[INFO] [stderr]    |         ----^^^^
[INFO] [stderr]    |         |
[INFO] [stderr]    |         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `stream`
[INFO] [stderr]   --> src/client/client.rs:33:10
[INFO] [stderr]    |
[INFO] [stderr] 33 |     let (stream, stream_handle) = OutputStream::try_default().unwrap();
[INFO] [stderr]    |          ^^^^^^ help: if this is intentional, prefix it with an underscore: `_stream`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `present`
[INFO] [stderr]   --> src/client/client.rs:57:9
[INFO] [stderr]    |
[INFO] [stderr] 57 |     let mut present: u8 = 0;
[INFO] [stderr]    |         ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_present`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `size`
[INFO] [stderr]   --> src/client/client.rs:58:9
[INFO] [stderr]    |
[INFO] [stderr] 58 |     let mut size: usize = 0;
[INFO] [stderr]    |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_size`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `tx`
[INFO] [stderr]    --> src/client/client.rs:124:10
[INFO] [stderr]     |
[INFO] [stderr] 124 |     let (tx, mut rx) = mpsc::unbounded_channel::<String>();
[INFO] [stderr]     |          ^^ help: if this is intentional, prefix it with an underscore: `_tx`
[INFO] [stderr] 
[INFO] [stderr] warning: function `control_instance` is never used
[INFO] [stderr]    --> src/client/client.rs:123:4
[INFO] [stderr]     |
[INFO] [stderr] 123 | fn control_instance() -> (impl Future<Output = ()>, UnboundedReceiver<String>) {
[INFO] [stderr]     |    ^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: function `sound_instance` is never used
[INFO] [stderr]    --> src/client/client.rs:134:4
[INFO] [stderr]     |
[INFO] [stderr] 134 | fn sound_instance() {}
[INFO] [stderr]     |    ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]   --> src/client/client.rs:35:5
[INFO] [stderr]    |
[INFO] [stderr] 35 |     client_socket.send("".as_bytes()).await;
[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] 35 |     let _ = client_socket.send("".as_bytes()).await;
[INFO] [stderr]    |     +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]   --> src/client/client.rs:39:9
[INFO] [stderr]    |
[INFO] [stderr] 39 |         client_socket.recv_buf(&mut buf).await;
[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] 39 |         let _ = client_socket.recv_buf(&mut buf).await;
[INFO] [stderr]    |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]   --> src/client/client.rs:56:5
[INFO] [stderr]    |
[INFO] [stderr] 56 |     client_socket.send(&song).await;
[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] 56 |     let _ = client_socket.send(&song).await;
[INFO] [stderr]    |     +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]   --> src/client/client.rs:67:9
[INFO] [stderr]    |
[INFO] [stderr] 67 |         client_socket.send(&seq).await;
[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] 67 |         let _ = client_socket.send(&seq).await;
[INFO] [stderr]    |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]   --> src/client/client.rs:80:9
[INFO] [stderr]    |
[INFO] [stderr] 80 |         sender.send(buf[..buf.len() - 1].to_vec()).await;
[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] 80 |         let _ = sender.send(buf[..buf.len() - 1].to_vec()).await;
[INFO] [stderr]    |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]   --> src/client/client.rs:97:5
[INFO] [stderr]    |
[INFO] [stderr] 97 |     t1.await;
[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] 97 |     let _ = t1.await;
[INFO] [stderr]    |     +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/experimental/experimental.rs:22:10
[INFO] [stderr]    |
[INFO] [stderr] 22 |     let (mut tx, mut rx) = tokio::sync::mpsc::unbounded_channel();
[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: unused variable: `stream`
[INFO] [stderr]   --> src/experimental/experimental.rs:20:10
[INFO] [stderr]    |
[INFO] [stderr] 20 |     let (stream, stream_handle) = OutputStream::try_default().unwrap();
[INFO] [stderr]    |          ^^^^^^ help: if this is intentional, prefix it with an underscore: `_stream`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/experimental/experimental.rs:89:9
[INFO] [stderr]    |
[INFO] [stderr] 89 |     let mut vec2 = vec![4, 5, 6, 8];
[INFO] [stderr]    |         ----^^^^
[INFO] [stderr]    |         |
[INFO] [stderr]    |         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: value assigned to `vec1` is never read
[INFO] [stderr]   --> src/experimental/experimental.rs:88:20
[INFO] [stderr]    |
[INFO] [stderr] 88 |     let mut vec1 = Vec::with_capacity(300);
[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: variable does not need to be mutable
[INFO] [stderr]    --> src/experimental/experimental.rs:128:10
[INFO] [stderr]     |
[INFO] [stderr] 128 |     let (mut tx, mut rx) = tokio::sync::mpsc::unbounded_channel();
[INFO] [stderr]     |          ----^^
[INFO] [stderr]     |          |
[INFO] [stderr]     |          help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `stream`
[INFO] [stderr]    --> src/experimental/experimental.rs:125:10
[INFO] [stderr]     |
[INFO] [stderr] 125 |     let (stream, stream_handle) = OutputStream::try_default().unwrap();
[INFO] [stderr]     |          ^^^^^^ help: if this is intentional, prefix it with an underscore: `_stream`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/experimental/experimental.rs:192:10
[INFO] [stderr]     |
[INFO] [stderr] 192 |     let (mut tx, mut rx) = unbounded_channel();
[INFO] [stderr]     |          ----^^
[INFO] [stderr]     |          |
[INFO] [stderr]     |          help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `i`
[INFO] [stderr]    --> src/experimental/experimental.rs:200:9
[INFO] [stderr]     |
[INFO] [stderr] 200 |     for i in 0..3 {
[INFO] [stderr]     |         ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]   --> src/experimental/experimental.rs:44:13
[INFO] [stderr]    |
[INFO] [stderr] 44 |             tx.send(res);
[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] 44 |             let _ = tx.send(res);
[INFO] [stderr]    |             +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> src/experimental/experimental.rs:146:13
[INFO] [stderr]     |
[INFO] [stderr] 146 |             tx.send(res.to_owned());
[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] 146 |             let _ = tx.send(res.to_owned());
[INFO] [stderr]     |             +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> src/experimental/experimental.rs:173:5
[INFO] [stderr]     |
[INFO] [stderr] 173 |     t.await;
[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] 173 |     let _ = t.await;
[INFO] [stderr]     |     +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> src/experimental/experimental.rs:174:5
[INFO] [stderr]     |
[INFO] [stderr] 174 |     t2.await;
[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] 174 |     let _ = t2.await;
[INFO] [stderr]     |     +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> src/experimental/experimental.rs:175:5
[INFO] [stderr]     |
[INFO] [stderr] 175 |     t3.await;
[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] 175 |     let _ = t3.await;
[INFO] [stderr]     |     +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> src/experimental/experimental.rs:195:13
[INFO] [stderr]     |
[INFO] [stderr] 195 |             tx.send(1);
[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] 195 |             let _ = tx.send(1);
[INFO] [stderr]     |             +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> src/experimental/experimental.rs:209:5
[INFO] [stderr]     |
[INFO] [stderr] 209 |     t1.await;
[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] 209 |     let _ = t1.await;
[INFO] [stderr]     |     +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Decoder`
[INFO] [stderr]  --> src/client/client_optimized.rs:1:13
[INFO] [stderr]   |
[INFO] [stderr] 1 | use rodio::{Decoder, OutputStream, Sink};
[INFO] [stderr]   |             ^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `fs::read`, `self`, and `time::Duration`
[INFO] [stderr]  --> src/client/client_optimized.rs:4:5
[INFO] [stderr]   |
[INFO] [stderr] 4 |     fs::read, net::{self, SocketAddr}, sync::{Arc, Mutex}, time::Duration
[INFO] [stderr]   |     ^^^^^^^^        ^^^^                                   ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `BufReader` and `time::timeout`
[INFO] [stderr]  --> src/client/client_optimized.rs:8:33
[INFO] [stderr]   |
[INFO] [stderr] 8 |     io::{self, AsyncBufReadExt, BufReader},
[INFO] [stderr]   |                                 ^^^^^^^^^
[INFO] [stderr] 9 |     time::timeout,
[INFO] [stderr]   |     ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `UnboundedSender`, `self`, and `time::sleep`
[INFO] [stderr]   --> src/client/client_optimized.rs:14:18
[INFO] [stderr]    |
[INFO] [stderr] 14 |     sync::mpsc::{self, Receiver, UnboundedReceiver, UnboundedSender, channel, unbounded_channel},
[INFO] [stderr]    |                  ^^^^                               ^^^^^^^^^^^^^^^
[INFO] [stderr] 15 |     time::sleep,
[INFO] [stderr]    |     ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/client/client_optimized.rs:23:10
[INFO] [stderr]    |
[INFO] [stderr] 23 |     let (mut tx, mut rx) = tokio::sync::mpsc::unbounded_channel::<Vec<u8>>();
[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/client/client_optimized.rs:147:10
[INFO] [stderr]     |
[INFO] [stderr] 147 |     let (mut song_request_sender, mut song_request_receiver) = channel(1);
[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/client/client_optimized.rs:147:35
[INFO] [stderr]     |
[INFO] [stderr] 147 |     let (mut song_request_sender, mut song_request_receiver) = channel(1);
[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/client/client_optimized.rs:231:20
[INFO] [stderr]     |
[INFO] [stderr] 231 |     let (chunk_tx, mut chunk_rx) = unbounded_channel();
[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/client/client_optimized.rs:283:17
[INFO] [stderr]     |
[INFO] [stderr] 283 |             let mut res: Vec<i16> = buf
[INFO] [stderr]     |                 ----^^^
[INFO] [stderr]     |                 |
[INFO] [stderr]     |                 help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `stream`
[INFO] [stderr]   --> src/client/client_optimized.rs:21:10
[INFO] [stderr]    |
[INFO] [stderr] 21 |     let (stream, stream_handle) = OutputStream::try_default().unwrap();
[INFO] [stderr]    |          ^^^^^^ help: if this is intentional, prefix it with an underscore: `_stream`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `tx`
[INFO] [stderr]   --> src/client/client_optimized.rs:23:10
[INFO] [stderr]    |
[INFO] [stderr] 23 |     let (mut tx, mut rx) = tokio::sync::mpsc::unbounded_channel::<Vec<u8>>();
[INFO] [stderr]    |          ^^^^^^ help: if this is intentional, prefix it with an underscore: `_tx`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/client/client_optimized.rs:89:9
[INFO] [stderr]    |
[INFO] [stderr] 89 |     let mut client_socket = tokio::net::UdpSocket::bind("0.0.0.0:0").await.unwrap();
[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/client/client_optimized.rs:90:9
[INFO] [stderr]    |
[INFO] [stderr] 90 |     let mut client_socket = Arc::new(client_socket);
[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/client/client_optimized.rs:95:9
[INFO] [stderr]    |
[INFO] [stderr] 95 |     let mut client_socket_network_block = client_socket.clone();
[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/client/client_optimized.rs:114:19
[INFO] [stderr]     |
[INFO] [stderr] 114 |     let (control, mut receiver) = control_block();
[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/client/client_optimized.rs:115:10
[INFO] [stderr]     |
[INFO] [stderr] 115 |     let (mut data_rx, network_loop) = network_block(receiver, client_socket_network_block);
[INFO] [stderr]     |          ----^^^^^^^
[INFO] [stderr]     |          |
[INFO] [stderr]     |          help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `t1`
[INFO] [stderr]    --> src/client/client_optimized.rs:117:9
[INFO] [stderr]     |
[INFO] [stderr] 117 |     let t1 = tokio::spawn(control);
[INFO] [stderr]     |         ^^ help: if this is intentional, prefix it with an underscore: `_t1`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `t2`
[INFO] [stderr]    --> src/client/client_optimized.rs:118:9
[INFO] [stderr]     |
[INFO] [stderr] 118 |     let t2 = tokio::spawn(network_loop);
[INFO] [stderr]     |         ^^ help: if this is intentional, prefix it with an underscore: `_t2`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `stream`
[INFO] [stderr]    --> src/client/client_optimized.rs:274:10
[INFO] [stderr]     |
[INFO] [stderr] 274 |     let (stream, stream_handle) = OutputStream::try_default().unwrap();
[INFO] [stderr]     |          ^^^^^^ help: if this is intentional, prefix it with an underscore: `_stream`
[INFO] [stderr] 
[INFO] [stderr] warning: function `main2` is never used
[INFO] [stderr]   --> src/client/client_optimized.rs:19:10
[INFO] [stderr]    |
[INFO] [stderr] 19 | async fn main2() {
[INFO] [stderr]    |          ^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]   --> src/client/client_optimized.rs:99:5
[INFO] [stderr]    |
[INFO] [stderr] 99 |     client_socket.send("".as_bytes()).await;
[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] 99 |     let _ = client_socket.send("".as_bytes()).await;
[INFO] [stderr]    |     +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> src/client/client_optimized.rs:103:9
[INFO] [stderr]     |
[INFO] [stderr] 103 |         client_socket.recv_buf(&mut buf).await;
[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] 103 |         let _ = client_socket.recv_buf(&mut buf).await;
[INFO] [stderr]     |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> src/client/client_optimized.rs:235:13
[INFO] [stderr]     |
[INFO] [stderr] 235 |             client_socket.send(&res).await;
[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] 235 |             let _ = client_socket.send(&res).await;
[INFO] [stderr]     |             +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> src/client/client_optimized.rs:239:17
[INFO] [stderr]     |
[INFO] [stderr] 239 |                 client_socket.send(&seq).await;
[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] 239 |                 let _ = client_socket.send(&seq).await;
[INFO] [stderr]     |                 +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> src/client/client_optimized.rs:253:17
[INFO] [stderr]     |
[INFO] [stderr] 253 |                 chunk_tx.send(buf[..buf.len() - 1].to_vec());
[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] 253 |                 let _ = chunk_tx.send(buf[..buf.len() - 1].to_vec());
[INFO] [stderr]     |                 +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: `audio_streaming` (bin "server" test) generated 40 warnings (run `cargo fix --bin "server" -p audio_streaming --tests` to apply 26 suggestions)
[INFO] [stderr] warning: `audio_streaming` (bin "quic_server" test) generated 9 warnings (run `cargo fix --bin "quic_server" -p audio_streaming --tests` to apply 4 suggestions)
[INFO] [stderr] warning: `audio_streaming` (bin "quic_client" test) generated 15 warnings (run `cargo fix --bin "quic_client" -p audio_streaming --tests` to apply 11 suggestions)
[INFO] [stderr] warning: `audio_streaming` (bin "client" test) generated 20 warnings (run `cargo fix --bin "client" -p audio_streaming --tests` to apply 12 suggestions)
[INFO] [stderr] warning: `audio_streaming` (bin "experimental" test) generated 15 warnings (run `cargo fix --bin "experimental" -p audio_streaming --tests` to apply 7 suggestions)
[INFO] [stderr] warning: `audio_streaming` (bin "client_optimized" test) generated 25 warnings (run `cargo fix --bin "client_optimized" -p audio_streaming --tests` to apply 19 suggestions)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.19s
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/audio_streaming-d7ca1c33c6ec825d)
[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] [stderr]      Running unittests src/client/client.rs (/opt/rustwide/target/debug/deps/client-a7781747398e54d2)
[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] [stderr]      Running unittests src/client/client_optimized.rs (/opt/rustwide/target/debug/deps/client_optimized-79692de65c5061da)
[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] [stderr]      Running unittests src/experimental/experimental.rs (/opt/rustwide/target/debug/deps/experimental-0f4d3641198895a1)
[INFO] [stdout] 
[INFO] [stdout] running 7 tests
[INFO] [stdout] test comparing ... ok
[INFO] [stdout] test test_some ... ok
[INFO] [stdout] test test_plus ... FAILED
[INFO] [stdout] test test_eq ... FAILED
[INFO] [stdout] test test_equal ... ok
[INFO] [stderr] ALSA lib confmisc.c:855:(parse_card) cannot find card '0'
[INFO] [stderr] ALSA lib conf.c:5204:(_snd_config_evaluate) function snd_func_card_inum returned error: No such file or directory
[INFO] [stderr] ALSA lib confmisc.c:422:(snd_func_concat) error evaluating strings
[INFO] [stderr] ALSA lib conf.c:5204:(_snd_config_evaluate) function snd_func_concat returned error: No such file or directory
[INFO] [stderr] ALSA lib confmisc.c:1342:(snd_func_refer) error evaluating name
[INFO] [stderr] ALSA lib conf.c:5204:(_snd_config_evaluate) function snd_func_refer returned error: No such file or directory
[INFO] [stderr] ALSA lib conf.c:5727:(snd_config_expand) Evaluate error: No such file or directory
[INFO] [stderr] ALSA lib pcm.c:2721:(snd_pcm_open_noupdate) Unknown PCM default
[INFO] [stdout] test test_transferring ... FAILED
[INFO] [stdout] test test_close has been running for over 60 seconds
[INFO] [stderr] error: test failed, to rerun pass `--bin experimental`
[INFO] [stderr] 
[INFO] [stderr] Caused by:
[INFO] [stderr]   process didn't exit successfully: `/opt/rustwide/target/debug/deps/experimental-0f4d3641198895a1` (signal: 9, SIGKILL: kill)
[INFO] running `Command { std: "docker" "inspect" "d4d45629b990c124879ff528cd31674db40a72c082b3a8ede186734aa12625e5", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "d4d45629b990c124879ff528cd31674db40a72c082b3a8ede186734aa12625e5", kill_on_drop: false }`
[INFO] [stdout] d4d45629b990c124879ff528cd31674db40a72c082b3a8ede186734aa12625e5
