[INFO] fetching crate cpvc 0.6.0...
[INFO] checking cpvc-0.6.0 against 895980e0290783bb09b1ccf1b11f14eb09b10430 for pr-160186
[INFO] extracting crate cpvc 0.6.0 into /workspace/builds/worker-1-tc2/source
[INFO] started tweaking crates.io crate cpvc 0.6.0
[INFO] removed 0 missing examples
[INFO] finished tweaking crates.io crate cpvc 0.6.0
[INFO] tweaked toml for crates.io crate cpvc 0.6.0 written to /workspace/builds/worker-1-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate cpvc 0.6.0 on toolchain 895980e0290783bb09b1ccf1b11f14eb09b10430
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+895980e0290783bb09b1ccf1b11f14eb09b10430" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate cpvc 0.6.0 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" "+895980e0290783bb09b1ccf1b11f14eb09b10430" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: Cargo.toml: only one of `license` or `license-file` is necessary
[INFO] [stderr] `license` should be used if the package license can be expressed with a standard SPDX expression.
[INFO] [stderr] `license-file` should be used if the package uses a non-standard license.
[INFO] [stderr] See https://doc.rust-lang.org/cargo/reference/manifest.html#the-license-and-license-file-fields for more information.
[INFO] [stderr] warning: `cpvc` (manifest) generated 1 warning
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded unicode-ident v1.0.18
[INFO] [stderr]   Downloaded windows-interface v0.59.1
[INFO] [stderr]   Downloaded proc-macro2 v1.0.95
[INFO] [stderr]   Downloaded windows-implement v0.60.0
[INFO] [stderr]   Downloaded objc2-core-audio v0.3.1
[INFO] [stderr]   Downloaded objc2-core-audio-types v0.3.1
[INFO] [stderr]   Downloaded block2 v0.6.1
[INFO] [stderr]   Downloaded libpulse-sys v1.23.0
[INFO] [stderr]   Downloaded bitflags v2.9.1
[INFO] [stderr]   Downloaded dispatch2 v0.3.0
[INFO] [stderr]   Downloaded syn v2.0.104
[INFO] [stderr]   Downloaded libpulse-binding v2.30.1
[INFO] [stderr]   Downloaded objc2-core-foundation v0.3.1
[INFO] [stderr]   Downloaded objc2 v0.6.2
[INFO] [stderr]   Downloaded objc2-foundation v0.3.1
[INFO] [stderr]   Downloaded libc v0.2.172
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,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" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:77db811e55d90add9212f6832c23229e3de5f1c1f9905e8cb07319ea15df73ac" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] d9ffe41d4edfde96bdbcb856796b8f1868ca3197f301ff57140e5ccc24d00218
[INFO] running `Command { std: "docker" "start" "d9ffe41d4edfde96bdbcb856796b8f1868ca3197f301ff57140e5ccc24d00218", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "d9ffe41d4edfde96bdbcb856796b8f1868ca3197f301ff57140e5ccc24d00218", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "d9ffe41d4edfde96bdbcb856796b8f1868ca3197f301ff57140e5ccc24d00218" "/opt/rustwide/cargo-home/bin/cargo" "+895980e0290783bb09b1ccf1b11f14eb09b10430" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "d9ffe41d4edfde96bdbcb856796b8f1868ca3197f301ff57140e5ccc24d00218", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-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" "-w" "/opt/rustwide/workdir" "--user" "0:0" "d9ffe41d4edfde96bdbcb856796b8f1868ca3197f301ff57140e5ccc24d00218" "/opt/rustwide/cargo-home/bin/cargo" "+895980e0290783bb09b1ccf1b11f14eb09b10430" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr] warning: Cargo.toml: only one of `license` or `license-file` is necessary
[INFO] [stderr] `license` should be used if the package license can be expressed with a standard SPDX expression.
[INFO] [stderr] `license-file` should be used if the package uses a non-standard license.
[INFO] [stderr] See https://doc.rust-lang.org/cargo/reference/manifest.html#the-license-and-license-file-fields for more information.
[INFO] [stderr] warning: `cpvc` (manifest) generated 1 warning
[INFO] [stderr]    Compiling pkg-config v0.3.32
[INFO] [stderr]    Compiling proc-macro2 v1.0.95
[INFO] [stderr]    Compiling libc v0.2.172
[INFO] [stderr]    Compiling unicode-ident v1.0.18
[INFO] [stderr]    Compiling autocfg v1.5.0
[INFO] [stderr]     Checking bitflags v2.9.1
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling alsa-sys v0.3.1
[INFO] [stderr]    Compiling libpulse-sys v1.23.0
[INFO] [stderr]    Compiling quote v1.0.40
[INFO] [stderr]    Compiling syn v2.0.104
[INFO] [stderr]     Checking alsa v0.9.1
[INFO] [stderr]    Compiling num-derive v0.4.2
[INFO] [stderr]     Checking libpulse-binding v2.30.1
[INFO] [stderr]     Checking cpvc v0.6.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused imports: `Access`, `Format`, `HwParams`, `PCM`, and `State`
[INFO] [stdout]    --> src/legacy/mod.rs:167:25
[INFO] [stdout]     |
[INFO] [stdout] 167 |         use alsa::pcm::{PCM, HwParams, Access, Format, State};
[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: `std::collections::HashSet`
[INFO] [stdout]    --> src/legacy/mod.rs:168:13
[INFO] [stdout]     |
[INFO] [stdout] 168 |         use std::collections::HashSet;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self`
[INFO] [stdout]  --> src/device/mod.rs:1:20
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::error::{self, Error};
[INFO] [stdout]   |                    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `debug_eprintln`
[INFO] [stdout]    --> src/coreaudio/device.rs:239:17
[INFO] [stdout]     |
[INFO] [stdout] 239 |     use crate::{debug_eprintln, device::DeviceTrait, error::Error};
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `device::*`
[INFO] [stdout]    --> src/coreaudio/device.rs:262:16
[INFO] [stdout]     |
[INFO] [stdout] 262 | pub(crate) use device::*; 
[INFO] [stdout]     |                ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `coreaudio::*`
[INFO] [stdout]    --> src/coreaudio/mod.rs:387:16
[INFO] [stdout]     |
[INFO] [stdout] 387 | pub(crate) use coreaudio::*; 
[INFO] [stdout]     |                ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable expression
[INFO] [stdout]    --> src/lib.rs:186:5
[INFO] [stdout]     |
[INFO] [stdout] 184 |         return pulseaudio::get_mute().unwrap_or(false);
[INFO] [stdout]     |         ---------------------------------------------- any code following this expression is unreachable
[INFO] [stdout] 185 |     }
[INFO] [stdout] 186 |     false
[INFO] [stdout]     |     ^^^^^ unreachable expression
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `VolumeControl`
[INFO] [stdout]   --> src/pulseaudio/mod.rs:14:17
[INFO] [stdout]    |
[INFO] [stdout] 14 |     use crate::{VolumeControl, debug_eprintln, debug_println, device::DeviceTrait, error::Error, pulseaudio::device::PulseAudioDevice};
[INFO] [stdout]    |                 ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Access`, `Format`, `HwParams`, `PCM`, and `State`
[INFO] [stdout]    --> src/legacy/mod.rs:167:25
[INFO] [stdout]     |
[INFO] [stdout] 167 |         use alsa::pcm::{PCM, HwParams, Access, Format, State};
[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: `std::collections::HashSet`
[INFO] [stdout]    --> src/legacy/mod.rs:168:13
[INFO] [stdout]     |
[INFO] [stdout] 168 |         use std::collections::HashSet;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self`
[INFO] [stdout]  --> src/device/mod.rs:1:20
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::error::{self, Error};
[INFO] [stdout]   |                    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `debug_eprintln`
[INFO] [stdout]    --> src/coreaudio/device.rs:239:17
[INFO] [stdout]     |
[INFO] [stdout] 239 |     use crate::{debug_eprintln, device::DeviceTrait, error::Error};
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `device::*`
[INFO] [stdout]    --> src/coreaudio/device.rs:262:16
[INFO] [stdout]     |
[INFO] [stdout] 262 | pub(crate) use device::*; 
[INFO] [stdout]     |                ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `coreaudio::*`
[INFO] [stdout]    --> src/coreaudio/mod.rs:387:16
[INFO] [stdout]     |
[INFO] [stdout] 387 | pub(crate) use coreaudio::*; 
[INFO] [stdout]     |                ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::env`
[INFO] [stdout]    --> src/lib.rs:193:9
[INFO] [stdout]     |
[INFO] [stdout] 193 |     use std::env;
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/legacy/mod.rs:565:9
[INFO] [stdout]     |
[INFO] [stdout] 565 |     let mut device_name = String::new();
[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: `name`
[INFO] [stdout]   --> src/device/mod.rs:19:18
[INFO] [stdout]    |
[INFO] [stdout] 19 |     fn from_name(name: String) -> Result<Self, Error> where Self: Sized {
[INFO] [stdout]    |                  ^^^^ help: if this is intentional, prefix it with an underscore: `_name`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `uid`
[INFO] [stdout]   --> src/device/mod.rs:23:17
[INFO] [stdout]    |
[INFO] [stdout] 23 |     fn from_uid(uid: String) -> Result<Self, Error> where Self: Sized {
[INFO] [stdout]    |                 ^^^ help: if this is intentional, prefix it with an underscore: `_uid`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]   --> src/device/mod.rs:35:23
[INFO] [stdout]    |
[INFO] [stdout] 35 |     fn set_vol(&self, value: f32) -> Result<(), Error> {
[INFO] [stdout]    |                       ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `state`
[INFO] [stdout]   --> src/device/mod.rs:43:24
[INFO] [stdout]    |
[INFO] [stdout] 43 |     fn set_mute(&self, state: bool) -> Result<(), Error> {
[INFO] [stdout]    |                        ^^^^^ help: if this is intentional, prefix it with an underscore: `_state`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `hw_id`
[INFO] [stdout]    --> src/coreaudio/device.rs:246:27
[INFO] [stdout]     |
[INFO] [stdout] 246 |         pub fn from_hw_id(hw_id: u32) -> Result<Self, Error> {
[INFO] [stdout]     |                           ^^^^^ help: if this is intentional, prefix it with an underscore: `_hw_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `device_id`
[INFO] [stdout]    --> src/coreaudio/mod.rs:355:30
[INFO] [stdout]     |
[INFO] [stdout] 355 |     pub fn check_device_type(device_id: u32) -> DeviceType {
[INFO] [stdout]     |                              ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_device_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `device_id`
[INFO] [stdout]    --> src/coreaudio/mod.rs:359:28
[INFO] [stdout]     |
[INFO] [stdout] 359 |     pub fn get_device_name(device_id: u32) -> Result<String, Error> {
[INFO] [stdout]     |                            ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_device_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `vol`
[INFO] [stdout]    --> src/coreaudio/mod.rs:372:20
[INFO] [stdout]     |
[INFO] [stdout] 372 |     pub fn set_vol(vol: f32) -> Result<(), Error> {
[INFO] [stdout]     |                    ^^^ help: if this is intentional, prefix it with an underscore: `_vol`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `mute`
[INFO] [stdout]    --> src/coreaudio/mod.rs:380:21
[INFO] [stdout]     |
[INFO] [stdout] 380 |     pub fn set_mute(mute: bool) -> Result<(), Error> {
[INFO] [stdout]     |                     ^^^^ help: if this is intentional, prefix it with an underscore: `_mute`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `wrapper`
[INFO] [stdout]    --> src/wasapi/device.rs:220:32
[INFO] [stdout]     |
[INFO] [stdout] 220 |         pub fn from_imm_device(wrapper: IMMWrapper) -> Result<Self, Error> {
[INFO] [stdout]     |                                ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_wrapper`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `wrapper`
[INFO] [stdout]    --> src/wasapi/mod.rs:127:31
[INFO] [stdout]     |
[INFO] [stdout] 127 |     pub fn get_imm_device_uid(wrapper: &IMMWrapper) -> Result<String, Error> {
[INFO] [stdout]     |                               ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_wrapper`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]    --> src/wasapi/mod.rs:140:20
[INFO] [stdout]     |
[INFO] [stdout] 140 |     pub fn set_vol(value: f32) -> Result<(), Error> {
[INFO] [stdout]     |                    ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `state`
[INFO] [stdout]    --> src/wasapi/mod.rs:148:21
[INFO] [stdout]     |
[INFO] [stdout] 148 |     pub fn set_mute(state: bool) -> Result<(), Error> {
[INFO] [stdout]     |                     ^^^^^ help: if this is intentional, prefix it with an underscore: `_state`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `devices` is never read
[INFO] [stdout]   --> src/lib.rs:90:35
[INFO] [stdout]    |
[INFO] [stdout] 90 |     let mut devices:Vec<String> = Vec::new();
[INFO] [stdout]    |                                   ^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 98 |         devices = pulseaudio::get_sound_devices().unwrap_or(Vec::new())
[INFO] [stdout]    |         ------- `devices` is overwritten here before the previous value is read
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `status` is never read
[INFO] [stdout]    --> src/lib.rs:150:22
[INFO] [stdout]     |
[INFO] [stdout] 150 |     let mut status = false;
[INFO] [stdout]     |                      ^^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 168 |             status = true
[INFO] [stdout]     |             ------------- `status` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `DeviceType` is more private than the item `check_device_type`
[INFO] [stdout]    --> src/coreaudio/mod.rs:355:5
[INFO] [stdout]     |
[INFO] [stdout] 355 |     pub fn check_device_type(device_id: u32) -> DeviceType {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ function `check_device_type` is reachable at visibility `pub`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `DeviceType` is only usable at visibility `pub(crate)`
[INFO] [stdout]    --> src/lib.rs:82:1
[INFO] [stdout]     |
[INFO] [stdout]  82 | enum DeviceType {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#[warn(private_interfaces)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `DeviceType` is never used
[INFO] [stdout]   --> src/legacy/mod.rs:45:6
[INFO] [stdout]    |
[INFO] [stdout] 45 | enum DeviceType {
[INFO] [stdout]    |      ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Error` is never used
[INFO] [stdout]   --> src/legacy/mod.rs:52:6
[INFO] [stdout]    |
[INFO] [stdout] 52 | enum Error {
[INFO] [stdout]    |      ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CoreAudioDevice` is never constructed
[INFO] [stdout]    --> src/coreaudio/device.rs:241:16
[INFO] [stdout]     |
[INFO] [stdout] 241 |     pub struct CoreAudioDevice {
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `from_hw_id`, `get_device_hw_id`, and `get_hardware_device_name` are never used
[INFO] [stdout]    --> src/coreaudio/device.rs:246:16
[INFO] [stdout]     |
[INFO] [stdout] 245 |     impl CoreAudioDevice {        
[INFO] [stdout]     |     -------------------- associated items in this implementation
[INFO] [stdout] 246 |         pub fn from_hw_id(hw_id: u32) -> Result<Self, Error> {
[INFO] [stdout]     |                ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 250 |         pub fn get_device_hw_id(&self) -> u32 {
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 254 |         pub fn get_hardware_device_name(&self) -> Result<String, Error> {
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: for loop over an `Option`. This is more readably written as an `if let` statement
[INFO] [stdout]    --> src/legacy/mod.rs:177:18
[INFO] [stdout]     |
[INFO] [stdout] 177 |         for i in dev.next() {
[INFO] [stdout]     |                  ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(for_loops_over_fallibles)]` on by default
[INFO] [stdout] help: to iterate over `dev` remove the call to `next`
[INFO] [stdout]     |
[INFO] [stdout] 177 -         for i in dev.next() {
[INFO] [stdout] 177 +         for i in dev.by_ref() {
[INFO] [stdout]     |
[INFO] [stdout] help: consider using `if let` to clear intent
[INFO] [stdout]     |
[INFO] [stdout] 177 -         for i in dev.next() {
[INFO] [stdout] 177 +         if let Some(i) = dev.next() {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable expression
[INFO] [stdout]    --> src/lib.rs:186:5
[INFO] [stdout]     |
[INFO] [stdout] 184 |         return pulseaudio::get_mute().unwrap_or(false);
[INFO] [stdout]     |         ---------------------------------------------- any code following this expression is unreachable
[INFO] [stdout] 185 |     }
[INFO] [stdout] 186 |     false
[INFO] [stdout]     |     ^^^^^ unreachable expression
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `VolumeControl`
[INFO] [stdout]   --> src/pulseaudio/mod.rs:14:17
[INFO] [stdout]    |
[INFO] [stdout] 14 |     use crate::{VolumeControl, debug_eprintln, debug_println, device::DeviceTrait, error::Error, pulseaudio::device::PulseAudioDevice};
[INFO] [stdout]    |                 ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/legacy/mod.rs:565:9
[INFO] [stdout]     |
[INFO] [stdout] 565 |     let mut device_name = String::new();
[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: `name`
[INFO] [stdout]   --> src/device/mod.rs:19:18
[INFO] [stdout]    |
[INFO] [stdout] 19 |     fn from_name(name: String) -> Result<Self, Error> where Self: Sized {
[INFO] [stdout]    |                  ^^^^ help: if this is intentional, prefix it with an underscore: `_name`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `uid`
[INFO] [stdout]   --> src/device/mod.rs:23:17
[INFO] [stdout]    |
[INFO] [stdout] 23 |     fn from_uid(uid: String) -> Result<Self, Error> where Self: Sized {
[INFO] [stdout]    |                 ^^^ help: if this is intentional, prefix it with an underscore: `_uid`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]   --> src/device/mod.rs:35:23
[INFO] [stdout]    |
[INFO] [stdout] 35 |     fn set_vol(&self, value: f32) -> Result<(), Error> {
[INFO] [stdout]    |                       ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `state`
[INFO] [stdout]   --> src/device/mod.rs:43:24
[INFO] [stdout]    |
[INFO] [stdout] 43 |     fn set_mute(&self, state: bool) -> Result<(), Error> {
[INFO] [stdout]    |                        ^^^^^ help: if this is intentional, prefix it with an underscore: `_state`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `hw_id`
[INFO] [stdout]    --> src/coreaudio/device.rs:246:27
[INFO] [stdout]     |
[INFO] [stdout] 246 |         pub fn from_hw_id(hw_id: u32) -> Result<Self, Error> {
[INFO] [stdout]     |                           ^^^^^ help: if this is intentional, prefix it with an underscore: `_hw_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `device_id`
[INFO] [stdout]    --> src/coreaudio/mod.rs:355:30
[INFO] [stdout]     |
[INFO] [stdout] 355 |     pub fn check_device_type(device_id: u32) -> DeviceType {
[INFO] [stdout]     |                              ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_device_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `device_id`
[INFO] [stdout]    --> src/coreaudio/mod.rs:359:28
[INFO] [stdout]     |
[INFO] [stdout] 359 |     pub fn get_device_name(device_id: u32) -> Result<String, Error> {
[INFO] [stdout]     |                            ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_device_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `vol`
[INFO] [stdout]    --> src/coreaudio/mod.rs:372:20
[INFO] [stdout]     |
[INFO] [stdout] 372 |     pub fn set_vol(vol: f32) -> Result<(), Error> {
[INFO] [stdout]     |                    ^^^ help: if this is intentional, prefix it with an underscore: `_vol`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `mute`
[INFO] [stdout]    --> src/coreaudio/mod.rs:380:21
[INFO] [stdout]     |
[INFO] [stdout] 380 |     pub fn set_mute(mute: bool) -> Result<(), Error> {
[INFO] [stdout]     |                     ^^^^ help: if this is intentional, prefix it with an underscore: `_mute`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `wrapper`
[INFO] [stdout]    --> src/wasapi/device.rs:220:32
[INFO] [stdout]     |
[INFO] [stdout] 220 |         pub fn from_imm_device(wrapper: IMMWrapper) -> Result<Self, Error> {
[INFO] [stdout]     |                                ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_wrapper`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `wrapper`
[INFO] [stdout]    --> src/wasapi/mod.rs:127:31
[INFO] [stdout]     |
[INFO] [stdout] 127 |     pub fn get_imm_device_uid(wrapper: &IMMWrapper) -> Result<String, Error> {
[INFO] [stdout]     |                               ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_wrapper`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]    --> src/wasapi/mod.rs:140:20
[INFO] [stdout]     |
[INFO] [stdout] 140 |     pub fn set_vol(value: f32) -> Result<(), Error> {
[INFO] [stdout]     |                    ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `state`
[INFO] [stdout]    --> src/wasapi/mod.rs:148:21
[INFO] [stdout]     |
[INFO] [stdout] 148 |     pub fn set_mute(state: bool) -> Result<(), Error> {
[INFO] [stdout]     |                     ^^^^^ help: if this is intentional, prefix it with an underscore: `_state`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `devices` is never read
[INFO] [stdout]   --> src/lib.rs:90:35
[INFO] [stdout]    |
[INFO] [stdout] 90 |     let mut devices:Vec<String> = Vec::new();
[INFO] [stdout]    |                                   ^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 98 |         devices = pulseaudio::get_sound_devices().unwrap_or(Vec::new())
[INFO] [stdout]    |         ------- `devices` is overwritten here before the previous value is read
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `status` is never read
[INFO] [stdout]    --> src/lib.rs:150:22
[INFO] [stdout]     |
[INFO] [stdout] 150 |     let mut status = false;
[INFO] [stdout]     |                      ^^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 168 |             status = true
[INFO] [stdout]     |             ------------- `status` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/lib.rs:258:67
[INFO] [stdout]     |
[INFO] [stdout] 258 |                 println!("{}", format!("DEVICE STR {}, NAME: {}", unsafe {device_id.to_string()}, name));
[INFO] [stdout]     |                                                                   ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_unsafe)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `DeviceType` is more private than the item `check_device_type`
[INFO] [stdout]    --> src/coreaudio/mod.rs:355:5
[INFO] [stdout]     |
[INFO] [stdout] 355 |     pub fn check_device_type(device_id: u32) -> DeviceType {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ function `check_device_type` is reachable at visibility `pub`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `DeviceType` is only usable at visibility `pub(crate)`
[INFO] [stdout]    --> src/lib.rs:82:1
[INFO] [stdout]     |
[INFO] [stdout]  82 | enum DeviceType {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#[warn(private_interfaces)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `DeviceType` is never used
[INFO] [stdout]   --> src/legacy/mod.rs:45:6
[INFO] [stdout]    |
[INFO] [stdout] 45 | enum DeviceType {
[INFO] [stdout]    |      ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Error` is never used
[INFO] [stdout]   --> src/legacy/mod.rs:52:6
[INFO] [stdout]    |
[INFO] [stdout] 52 | enum Error {
[INFO] [stdout]    |      ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CoreAudioDevice` is never constructed
[INFO] [stdout]    --> src/coreaudio/device.rs:241:16
[INFO] [stdout]     |
[INFO] [stdout] 241 |     pub struct CoreAudioDevice {
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `from_hw_id`, `get_device_hw_id`, and `get_hardware_device_name` are never used
[INFO] [stdout]    --> src/coreaudio/device.rs:246:16
[INFO] [stdout]     |
[INFO] [stdout] 245 |     impl CoreAudioDevice {        
[INFO] [stdout]     |     -------------------- associated items in this implementation
[INFO] [stdout] 246 |         pub fn from_hw_id(hw_id: u32) -> Result<Self, Error> {
[INFO] [stdout]     |                ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 250 |         pub fn get_device_hw_id(&self) -> u32 {
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 254 |         pub fn get_hardware_device_name(&self) -> Result<String, Error> {
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: for loop over an `Option`. This is more readably written as an `if let` statement
[INFO] [stdout]    --> src/legacy/mod.rs:177:18
[INFO] [stdout]     |
[INFO] [stdout] 177 |         for i in dev.next() {
[INFO] [stdout]     |                  ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(for_loops_over_fallibles)]` on by default
[INFO] [stdout] help: to iterate over `dev` remove the call to `next`
[INFO] [stdout]     |
[INFO] [stdout] 177 -         for i in dev.next() {
[INFO] [stdout] 177 +         for i in dev.by_ref() {
[INFO] [stdout]     |
[INFO] [stdout] help: consider using `if let` to clear intent
[INFO] [stdout]     |
[INFO] [stdout] 177 -         for i in dev.next() {
[INFO] [stdout] 177 +         if let Some(i) = dev.next() {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]    --> src/device/mod.rs:119:9
[INFO] [stdout]     |
[INFO] [stdout] 119 |         dbg!(device.get_mute());
[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] 119 |         let _ = dbg!(device.get_mute());
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]    --> src/lib.rs:234:13
[INFO] [stdout]     |
[INFO] [stdout] 234 |             dbg!(device.get_name());
[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 _ = dbg!(device.get_name());
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]    --> src/lib.rs:235:13
[INFO] [stdout]     |
[INFO] [stdout] 235 |             dbg!(device.set_mute(false));
[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 _ = dbg!(device.set_mute(false));
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]    --> src/lib.rs:236:13
[INFO] [stdout]     |
[INFO] [stdout] 236 |             dbg!(device.get_vol());
[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] 236 |             let _ = dbg!(device.get_vol());
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]    --> src/lib.rs:237:13
[INFO] [stdout]     |
[INFO] [stdout] 237 |             dbg!(device.set_vol(0.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] 237 |             let _ = dbg!(device.set_vol(0.1));
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 7.33s
[INFO] running `Command { std: "docker" "inspect" "d9ffe41d4edfde96bdbcb856796b8f1868ca3197f301ff57140e5ccc24d00218", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "d9ffe41d4edfde96bdbcb856796b8f1868ca3197f301ff57140e5ccc24d00218", kill_on_drop: false }`
[INFO] [stdout] d9ffe41d4edfde96bdbcb856796b8f1868ca3197f301ff57140e5ccc24d00218
