[INFO] fetching crate cpvc 0.6.0...
[INFO] testing cpvc-0.6.0 against 1.100.0-beta.1+cargoflags=--release for beta-release-1.100-2
[INFO] extracting crate cpvc 0.6.0 into /workspace/builds/worker-6-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-6-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate cpvc 0.6.0 on toolchain 1.100.0-beta.1
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.100.0-beta.1" "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" "+1.100.0-beta.1" "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] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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] 2c4d2e13cb02f500bac7e6ecb63559ffcf63b6adb5e10a01fb033884fc4e8699
[INFO] running `Command { std: "docker" "start" "2c4d2e13cb02f500bac7e6ecb63559ffcf63b6adb5e10a01fb033884fc4e8699", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "2c4d2e13cb02f500bac7e6ecb63559ffcf63b6adb5e10a01fb033884fc4e8699", 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" "2c4d2e13cb02f500bac7e6ecb63559ffcf63b6adb5e10a01fb033884fc4e8699" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "2c4d2e13cb02f500bac7e6ecb63559ffcf63b6adb5e10a01fb033884fc4e8699", 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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "2c4d2e13cb02f500bac7e6ecb63559ffcf63b6adb5e10a01fb033884fc4e8699" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "build" "--frozen" "--message-format=json" "--release", 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 bitflags v2.9.1
[INFO] [stderr]    Compiling libpulse-sys v1.23.0
[INFO] [stderr]    Compiling alsa-sys v0.3.1
[INFO] [stderr]    Compiling quote v1.0.40
[INFO] [stderr]    Compiling syn v2.0.104
[INFO] [stderr]    Compiling alsa v0.9.1
[INFO] [stderr]    Compiling num-derive v0.4.2
[INFO] [stderr]    Compiling libpulse-binding v2.30.1
[INFO] [stderr]    Compiling 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: 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] [stderr]     Finished `release` profile [optimized] target(s) in 9.62s
[INFO] running `Command { std: "docker" "inspect" "2c4d2e13cb02f500bac7e6ecb63559ffcf63b6adb5e10a01fb033884fc4e8699", 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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "2c4d2e13cb02f500bac7e6ecb63559ffcf63b6adb5e10a01fb033884fc4e8699" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "test" "--frozen" "--no-run" "--message-format=json" "--release", 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] [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] [stderr]    Compiling cpvc v0.6.0 (/opt/rustwide/workdir)
[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: 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: 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: 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 `release` profile [optimized] target(s) in 1.18s
[INFO] running `Command { std: "docker" "inspect" "2c4d2e13cb02f500bac7e6ecb63559ffcf63b6adb5e10a01fb033884fc4e8699", 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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "2c4d2e13cb02f500bac7e6ecb63559ffcf63b6adb5e10a01fb033884fc4e8699" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "test" "--frozen" "--release", 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] warning: unused imports: `Access`, `Format`, `HwParams`, `PCM`, and `State`
[INFO] [stderr]    --> src/legacy/mod.rs:167:25
[INFO] [stderr]     |
[INFO] [stderr] 167 |         use alsa::pcm::{PCM, HwParams, Access, Format, State};
[INFO] [stderr]     |                         ^^^  ^^^^^^^^  ^^^^^^  ^^^^^^  ^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::collections::HashSet`
[INFO] [stderr]    --> src/legacy/mod.rs:168:13
[INFO] [stderr]     |
[INFO] [stderr] 168 |         use std::collections::HashSet;
[INFO] [stderr]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `self`
[INFO] [stderr]  --> src/device/mod.rs:1:20
[INFO] [stderr]   |
[INFO] [stderr] 1 | use crate::error::{self, Error};
[INFO] [stderr]   |                    ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `debug_eprintln`
[INFO] [stderr]    --> src/coreaudio/device.rs:239:17
[INFO] [stderr]     |
[INFO] [stderr] 239 |     use crate::{debug_eprintln, device::DeviceTrait, error::Error};
[INFO] [stderr]     |                 ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `device::*`
[INFO] [stderr]    --> src/coreaudio/device.rs:262:16
[INFO] [stderr]     |
[INFO] [stderr] 262 | pub(crate) use device::*; 
[INFO] [stderr]     |                ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `coreaudio::*`
[INFO] [stderr]    --> src/coreaudio/mod.rs:387:16
[INFO] [stderr]     |
[INFO] [stderr] 387 | pub(crate) use coreaudio::*; 
[INFO] [stderr]     |                ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unreachable expression
[INFO] [stderr]    --> src/lib.rs:186:5
[INFO] [stderr]     |
[INFO] [stderr] 184 |         return pulseaudio::get_mute().unwrap_or(false);
[INFO] [stderr]     |         ---------------------------------------------- any code following this expression is unreachable
[INFO] [stderr] 185 |     }
[INFO] [stderr] 186 |     false
[INFO] [stderr]     |     ^^^^^ unreachable expression
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `VolumeControl`
[INFO] [stderr]   --> src/pulseaudio/mod.rs:14:17
[INFO] [stderr]    |
[INFO] [stderr] 14 |     use crate::{VolumeControl, debug_eprintln, debug_println, device::DeviceTrait, error::Error, pulseaudio::device::PulseAudioDevice};
[INFO] [stderr]    |                 ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/legacy/mod.rs:565:9
[INFO] [stderr]     |
[INFO] [stderr] 565 |     let mut device_name = String::new();
[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: `name`
[INFO] [stderr]   --> src/device/mod.rs:19:18
[INFO] [stderr]    |
[INFO] [stderr] 19 |     fn from_name(name: String) -> Result<Self, Error> where Self: Sized {
[INFO] [stderr]    |                  ^^^^ help: if this is intentional, prefix it with an underscore: `_name`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `uid`
[INFO] [stderr]   --> src/device/mod.rs:23:17
[INFO] [stderr]    |
[INFO] [stderr] 23 |     fn from_uid(uid: String) -> Result<Self, Error> where Self: Sized {
[INFO] [stderr]    |                 ^^^ help: if this is intentional, prefix it with an underscore: `_uid`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `value`
[INFO] [stderr]   --> src/device/mod.rs:35:23
[INFO] [stderr]    |
[INFO] [stderr] 35 |     fn set_vol(&self, value: f32) -> Result<(), Error> {
[INFO] [stderr]    |                       ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `state`
[INFO] [stderr]   --> src/device/mod.rs:43:24
[INFO] [stderr]    |
[INFO] [stderr] 43 |     fn set_mute(&self, state: bool) -> Result<(), Error> {
[INFO] [stderr]    |                        ^^^^^ help: if this is intentional, prefix it with an underscore: `_state`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `hw_id`
[INFO] [stderr]    --> src/coreaudio/device.rs:246:27
[INFO] [stderr]     |
[INFO] [stderr] 246 |         pub fn from_hw_id(hw_id: u32) -> Result<Self, Error> {
[INFO] [stderr]     |                           ^^^^^ help: if this is intentional, prefix it with an underscore: `_hw_id`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `device_id`
[INFO] [stderr]    --> src/coreaudio/mod.rs:355:30
[INFO] [stderr]     |
[INFO] [stderr] 355 |     pub fn check_device_type(device_id: u32) -> DeviceType {
[INFO] [stderr]     |                              ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_device_id`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `device_id`
[INFO] [stderr]    --> src/coreaudio/mod.rs:359:28
[INFO] [stderr]     |
[INFO] [stderr] 359 |     pub fn get_device_name(device_id: u32) -> Result<String, Error> {
[INFO] [stderr]     |                            ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_device_id`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `vol`
[INFO] [stderr]    --> src/coreaudio/mod.rs:372:20
[INFO] [stderr]     |
[INFO] [stderr] 372 |     pub fn set_vol(vol: f32) -> Result<(), Error> {
[INFO] [stderr]     |                    ^^^ help: if this is intentional, prefix it with an underscore: `_vol`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `mute`
[INFO] [stderr]    --> src/coreaudio/mod.rs:380:21
[INFO] [stderr]     |
[INFO] [stderr] 380 |     pub fn set_mute(mute: bool) -> Result<(), Error> {
[INFO] [stderr]     |                     ^^^^ help: if this is intentional, prefix it with an underscore: `_mute`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `wrapper`
[INFO] [stderr]    --> src/wasapi/device.rs:220:32
[INFO] [stderr]     |
[INFO] [stderr] 220 |         pub fn from_imm_device(wrapper: IMMWrapper) -> Result<Self, Error> {
[INFO] [stderr]     |                                ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_wrapper`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `wrapper`
[INFO] [stderr]    --> src/wasapi/mod.rs:127:31
[INFO] [stderr]     |
[INFO] [stderr] 127 |     pub fn get_imm_device_uid(wrapper: &IMMWrapper) -> Result<String, Error> {
[INFO] [stderr]     |                               ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_wrapper`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `value`
[INFO] [stderr]    --> src/wasapi/mod.rs:140:20
[INFO] [stderr]     |
[INFO] [stderr] 140 |     pub fn set_vol(value: f32) -> Result<(), Error> {
[INFO] [stderr]     |                    ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `state`
[INFO] [stderr]    --> src/wasapi/mod.rs:148:21
[INFO] [stderr]     |
[INFO] [stderr] 148 |     pub fn set_mute(state: bool) -> Result<(), Error> {
[INFO] [stderr]     |                     ^^^^^ help: if this is intentional, prefix it with an underscore: `_state`
[INFO] [stderr] 
[INFO] [stderr] warning: value assigned to `devices` is never read
[INFO] [stderr]   --> src/lib.rs:90:35
[INFO] [stderr]    |
[INFO] [stderr] 90 |     let mut devices:Vec<String> = Vec::new();
[INFO] [stderr]    |                                   ^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stderr] ...
[INFO] [stderr] 98 |         devices = pulseaudio::get_sound_devices().unwrap_or(Vec::new())
[INFO] [stderr]    |         ------- `devices` is overwritten here before the previous value is read
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: value assigned to `status` is never read
[INFO] [stderr]    --> src/lib.rs:150:22
[INFO] [stderr]     |
[INFO] [stderr] 150 |     let mut status = false;
[INFO] [stderr]     |                      ^^^^^ this value is reassigned later and never used
[INFO] [stderr] ...
[INFO] [stderr] 168 |             status = true
[INFO] [stderr]     |             ------------- `status` is overwritten here before the previous value is read
[INFO] [stderr] 
[INFO] [stderr] warning: type `DeviceType` is more private than the item `check_device_type`
[INFO] [stderr]    --> src/coreaudio/mod.rs:355:5
[INFO] [stderr]     |
[INFO] [stderr] 355 |     pub fn check_device_type(device_id: u32) -> DeviceType {
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ function `check_device_type` is reachable at visibility `pub`
[INFO] [stderr]     |
[INFO] [stderr] note: but type `DeviceType` is only usable at visibility `pub(crate)`
[INFO] [stderr]    --> src/lib.rs:82:1
[INFO] [stderr]     |
[INFO] [stderr]  82 | enum DeviceType {
[INFO] [stderr]     | ^^^^^^^^^^^^^^^
[INFO] [stderr]     = note: `#[warn(private_interfaces)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: enum `DeviceType` is never used
[INFO] [stderr]   --> src/legacy/mod.rs:45:6
[INFO] [stderr]    |
[INFO] [stderr] 45 | enum DeviceType {
[INFO] [stderr]    |      ^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: enum `Error` is never used
[INFO] [stderr]   --> src/legacy/mod.rs:52:6
[INFO] [stderr]    |
[INFO] [stderr] 52 | enum Error {
[INFO] [stderr]    |      ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `CoreAudioDevice` is never constructed
[INFO] [stderr]    --> src/coreaudio/device.rs:241:16
[INFO] [stderr]     |
[INFO] [stderr] 241 |     pub struct CoreAudioDevice {
[INFO] [stderr]     |                ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `from_hw_id`, `get_device_hw_id`, and `get_hardware_device_name` are never used
[INFO] [stderr]    --> src/coreaudio/device.rs:246:16
[INFO] [stderr]     |
[INFO] [stderr] 245 |     impl CoreAudioDevice {        
[INFO] [stderr]     |     -------------------- associated items in this implementation
[INFO] [stderr] 246 |         pub fn from_hw_id(hw_id: u32) -> Result<Self, Error> {
[INFO] [stderr]     |                ^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 250 |         pub fn get_device_hw_id(&self) -> u32 {
[INFO] [stderr]     |                ^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 254 |         pub fn get_hardware_device_name(&self) -> Result<String, Error> {
[INFO] [stderr]     |                ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: for loop over an `Option`. This is more readably written as an `if let` statement
[INFO] [stderr]    --> src/legacy/mod.rs:177:18
[INFO] [stderr]     |
[INFO] [stderr] 177 |         for i in dev.next() {
[INFO] [stderr]     |                  ^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(for_loops_over_fallibles)]` on by default
[INFO] [stderr] help: to iterate over `dev` remove the call to `next`
[INFO] [stderr]     |
[INFO] [stderr] 177 -         for i in dev.next() {
[INFO] [stderr] 177 +         for i in dev.by_ref() {
[INFO] [stderr]     |
[INFO] [stderr] help: consider using `if let` to clear intent
[INFO] [stderr]     |
[INFO] [stderr] 177 -         for i in dev.next() {
[INFO] [stderr] 177 +         if let Some(i) = dev.next() {
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: `cpvc` (lib) generated 30 warnings (run `cargo fix --lib -p cpvc` to apply 20 suggestions)
[INFO] [stderr] warning: unused import: `std::env`
[INFO] [stderr]    --> src/lib.rs:193:9
[INFO] [stderr]     |
[INFO] [stderr] 193 |     use std::env;
[INFO] [stderr]     |         ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary `unsafe` block
[INFO] [stderr]    --> src/lib.rs:258:67
[INFO] [stderr]     |
[INFO] [stderr] 258 |                 println!("{}", format!("DEVICE STR {}, NAME: {}", unsafe {device_id.to_string()}, name));
[INFO] [stderr]     |                                                                   ^^^^^^ unnecessary `unsafe` block
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_unsafe)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused `std::result::Result` that must be used
[INFO] [stderr]    --> src/device/mod.rs:119:9
[INFO] [stderr]     |
[INFO] [stderr] 119 |         dbg!(device.get_mute());
[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] 119 |         let _ = dbg!(device.get_mute());
[INFO] [stderr]     |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `std::result::Result` that must be used
[INFO] [stderr]    --> src/lib.rs:234:13
[INFO] [stderr]     |
[INFO] [stderr] 234 |             dbg!(device.get_name());
[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 _ = dbg!(device.get_name());
[INFO] [stderr]     |             +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `std::result::Result` that must be used
[INFO] [stderr]    --> src/lib.rs:235:13
[INFO] [stderr]     |
[INFO] [stderr] 235 |             dbg!(device.set_mute(false));
[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 _ = dbg!(device.set_mute(false));
[INFO] [stderr]     |             +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `std::result::Result` that must be used
[INFO] [stderr]    --> src/lib.rs:236:13
[INFO] [stderr]     |
[INFO] [stderr] 236 |             dbg!(device.get_vol());
[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] 236 |             let _ = dbg!(device.get_vol());
[INFO] [stderr]     |             +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `std::result::Result` that must be used
[INFO] [stderr]    --> src/lib.rs:237:13
[INFO] [stderr]     |
[INFO] [stderr] 237 |             dbg!(device.set_vol(0.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] 237 |             let _ = dbg!(device.set_vol(0.1));
[INFO] [stderr]     |             +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: `cpvc` (lib test) generated 37 warnings (30 duplicates) (run `cargo fix --lib -p cpvc --tests` to apply 1 suggestion)
[INFO] [stderr]     Finished `release` profile [optimized] target(s) in 0.03s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/release/build/cpvc/8a38153102c649db/out/cpvc-8a38153102c649db)
[INFO] [stdout] 
[INFO] [stdout] running 10 tests
[INFO] [stdout] test legacy::command::tests::current_output ... ignored
[INFO] [stdout] test legacy::command::tests::sound_devices ... ignored
[INFO] [stdout] test tests::get_mute_status ... FAILED
[INFO] [stdout] test tests::get_device_idents ... FAILED
[INFO] [stdout] test tests::set_mute_test ... FAILED
[INFO] [stdout] test tests::get_sound_test ... FAILED
[INFO] [stdout] test tests::set_sound_test ... FAILED
[INFO] [stdout] test device::test::test_unified_device ... FAILED
[INFO] [stdout] test tests::sound_devices ... FAILED
[INFO] [stdout] test tests::test_non_default_device ... FAILED
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- tests::get_mute_status stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'tests::get_mute_status' (492) panicked at src/pulseaudio/mod.rs:86:14:
[INFO] [stdout] Failed to connect context: PAErr(-1)
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5744c3e08ef1 - <<std[617be2ca0a6fd877]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[a373ad73a504971]::fmt::Display>::fmt
[INFO] [stdout]    1:     0x5744c3e1dbfa - core[a373ad73a504971]::fmt::write
[INFO] [stdout]    2:     0x5744c3e0d10c - <alloc[2e1b2a31b91974c5]::vec::Vec<u8> as core[a373ad73a504971]::io::write::Write>::write_fmt
[INFO] [stdout]    3:     0x5744c3de51b6 - std[617be2ca0a6fd877]::panicking::default_hook::{closure#0}
[INFO] [stdout]    4:     0x5744c3e01589 - std[617be2ca0a6fd877]::panicking::default_hook
[INFO] [stdout]    5:     0x5744c3d9b940 - test[aada8e7e76ba119b]::test_main_inner::{closure#0}
[INFO] [stdout]    6:     0x5744c3e01742 - std[617be2ca0a6fd877]::panicking::panic_with_hook
[INFO] [stdout]    7:     0x5744c3de5262 - std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}
[INFO] [stdout]    8:     0x5744c3dddf79 - std[617be2ca0a6fd877]::sys::backtrace::__rust_end_short_backtrace::<std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]    9:     0x5744c3de5e6d - __rustc[ea4f61d10b84890b]::rust_begin_unwind
[INFO] [stdout]   10:     0x5744c3e1e32c - core[a373ad73a504971]::panicking::panic_fmt
[INFO] [stdout]   11:     0x5744c3e1e102 - core[a373ad73a504971]::result::unwrap_failed
[INFO] [stdout]   12:     0x5744c3d86e25 - cpvc[38a25e4b03d67ef2]::pulseaudio::pulseaudio::acquire_mainloop_and_context
[INFO] [stdout]   13:     0x5744c3d86169 - cpvc[38a25e4b03d67ef2]::pulseaudio::pulseaudio::get_default_output_dev
[INFO] [stdout]   14:     0x5744c3d84004 - cpvc[38a25e4b03d67ef2]::get_mute
[INFO] [stdout]   15:     0x5744c3d85d22 - cpvc[38a25e4b03d67ef2]::tests::get_mute_status
[INFO] [stdout]   16:     0x5744c3d878c6 - <cpvc[38a25e4b03d67ef2]::tests::get_mute_status::{closure#0} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]   17:     0x5744c3d8ed8b - test[aada8e7e76ba119b]::__rust_begin_short_backtrace::<core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>, fn() -> core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>>
[INFO] [stdout]   18:     0x5744c3d9bf65 - test[aada8e7e76ba119b]::run_test::{closure#0}
[INFO] [stdout]   19:     0x5744c3d95854 - std[617be2ca0a6fd877]::sys::backtrace::__rust_begin_short_backtrace::<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>
[INFO] [stdout]   20:     0x5744c3d9eff2 - <std[617be2ca0a6fd877]::thread::lifecycle::spawn_unchecked<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>::{closure#1} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]   21:     0x5744c3e0874f - <std[617be2ca0a6fd877]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]   22:     0x750f83c1fdfa - <unknown>
[INFO] [stdout]   23:     0x750f83cb33d4 - clone
[INFO] [stdout]   24:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- tests::get_device_idents stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'tests::get_device_idents' (491) panicked at src/pulseaudio/mod.rs:27:14:
[INFO] [stderr] error: test failed, to rerun pass `--lib`
[INFO] [stdout] Failed to connect context: PAErr(-1)
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5744c3e08ef1 - <<std[617be2ca0a6fd877]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[a373ad73a504971]::fmt::Display>::fmt
[INFO] [stdout]    1:     0x5744c3e1dbfa - core[a373ad73a504971]::fmt::write
[INFO] [stdout]    2:     0x5744c3e0d10c - <alloc[2e1b2a31b91974c5]::vec::Vec<u8> as core[a373ad73a504971]::io::write::Write>::write_fmt
[INFO] [stdout]    3:     0x5744c3de51b6 - std[617be2ca0a6fd877]::panicking::default_hook::{closure#0}
[INFO] [stdout]    4:     0x5744c3e01589 - std[617be2ca0a6fd877]::panicking::default_hook
[INFO] [stdout]    5:     0x5744c3d9b940 - test[aada8e7e76ba119b]::test_main_inner::{closure#0}
[INFO] [stdout]    6:     0x5744c3e01742 - std[617be2ca0a6fd877]::panicking::panic_with_hook
[INFO] [stdout]    7:     0x5744c3de5262 - std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}
[INFO] [stdout]    8:     0x5744c3dddf79 - std[617be2ca0a6fd877]::sys::backtrace::__rust_end_short_backtrace::<std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]    9:     0x5744c3de5e6d - __rustc[ea4f61d10b84890b]::rust_begin_unwind
[INFO] [stdout]   10:     0x5744c3e1e32c - core[a373ad73a504971]::panicking::panic_fmt
[INFO] [stdout]   11:     0x5744c3e1e102 - core[a373ad73a504971]::result::unwrap_failed
[INFO] [stdout]   12:     0x5744c3d86a16 - cpvc[38a25e4b03d67ef2]::pulseaudio::pulseaudio::get_device_identifiers
[INFO] [stdout]   13:     0x5744c3d878ee - <cpvc[38a25e4b03d67ef2]::tests::get_device_idents::{closure#0} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]   14:     0x5744c3d8ed8b - test[aada8e7e76ba119b]::__rust_begin_short_backtrace::<core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>, fn() -> core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>>
[INFO] [stdout]   15:     0x5744c3d9bf65 - test[aada8e7e76ba119b]::run_test::{closure#0}
[INFO] [stdout]   16:     0x5744c3d95854 - std[617be2ca0a6fd877]::sys::backtrace::__rust_begin_short_backtrace::<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>
[INFO] [stdout]   17:     0x5744c3d9eff2 - <std[617be2ca0a6fd877]::thread::lifecycle::spawn_unchecked<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>::{closure#1} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]   18:     0x5744c3e0874f - <std[617be2ca0a6fd877]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]   19:     0x750f83c1fdfa - <unknown>
[INFO] [stdout]   20:     0x750f83cb33d4 - clone
[INFO] [stdout]   21:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- tests::set_mute_test stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'tests::set_mute_test' (494) panicked at src/pulseaudio/mod.rs:86:14:
[INFO] [stdout] Failed to connect context: PAErr(-1)
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5744c3e08ef1 - <<std[617be2ca0a6fd877]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[a373ad73a504971]::fmt::Display>::fmt
[INFO] [stdout]    1:     0x5744c3e1dbfa - core[a373ad73a504971]::fmt::write
[INFO] [stdout]    2:     0x5744c3e0d10c - <alloc[2e1b2a31b91974c5]::vec::Vec<u8> as core[a373ad73a504971]::io::write::Write>::write_fmt
[INFO] [stdout]    3:     0x5744c3de51b6 - std[617be2ca0a6fd877]::panicking::default_hook::{closure#0}
[INFO] [stdout]    4:     0x5744c3e01589 - std[617be2ca0a6fd877]::panicking::default_hook
[INFO] [stdout]    5:     0x5744c3d9b940 - test[aada8e7e76ba119b]::test_main_inner::{closure#0}
[INFO] [stdout]    6:     0x5744c3e01742 - std[617be2ca0a6fd877]::panicking::panic_with_hook
[INFO] [stdout]    7:     0x5744c3de5262 - std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}
[INFO] [stdout]    8:     0x5744c3dddf79 - std[617be2ca0a6fd877]::sys::backtrace::__rust_end_short_backtrace::<std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]    9:     0x5744c3de5e6d - __rustc[ea4f61d10b84890b]::rust_begin_unwind
[INFO] [stdout]   10:     0x5744c3e1e32c - core[a373ad73a504971]::panicking::panic_fmt
[INFO] [stdout]   11:     0x5744c3e1e102 - core[a373ad73a504971]::result::unwrap_failed
[INFO] [stdout]   12:     0x5744c3d86e25 - cpvc[38a25e4b03d67ef2]::pulseaudio::pulseaudio::acquire_mainloop_and_context
[INFO] [stdout]   13:     0x5744c3d86169 - cpvc[38a25e4b03d67ef2]::pulseaudio::pulseaudio::get_default_output_dev
[INFO] [stdout]   14:     0x5744c3d840e8 - cpvc[38a25e4b03d67ef2]::set_mute
[INFO] [stdout]   15:     0x5744c3d85b77 - cpvc[38a25e4b03d67ef2]::tests::set_mute_test
[INFO] [stdout]   16:     0x5744c3d877ae - <cpvc[38a25e4b03d67ef2]::tests::set_mute_test::{closure#0} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]   17:     0x5744c3d8ed8b - test[aada8e7e76ba119b]::__rust_begin_short_backtrace::<core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>, fn() -> core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>>
[INFO] [stdout]   18:     0x5744c3d9bf65 - test[aada8e7e76ba119b]::run_test::{closure#0}
[INFO] [stdout]   19:     0x5744c3d95854 - std[617be2ca0a6fd877]::sys::backtrace::__rust_begin_short_backtrace::<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>
[INFO] [stdout]   20:     0x5744c3d9eff2 - <std[617be2ca0a6fd877]::thread::lifecycle::spawn_unchecked<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>::{closure#1} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]   21:     0x5744c3e0874f - <std[617be2ca0a6fd877]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]   22:     0x750f83c1fdfa - <unknown>
[INFO] [stdout]   23:     0x750f83cb33d4 - clone
[INFO] [stdout]   24:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- tests::get_sound_test stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'tests::get_sound_test' (493) panicked at src/pulseaudio/mod.rs:86:14:
[INFO] [stdout] Failed to connect context: PAErr(-1)
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5744c3e08ef1 - <<std[617be2ca0a6fd877]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[a373ad73a504971]::fmt::Display>::fmt
[INFO] [stdout]    1:     0x5744c3e1dbfa - core[a373ad73a504971]::fmt::write
[INFO] [stdout]    2:     0x5744c3e0d10c - <alloc[2e1b2a31b91974c5]::vec::Vec<u8> as core[a373ad73a504971]::io::write::Write>::write_fmt
[INFO] [stdout]    3:     0x5744c3de51b6 - std[617be2ca0a6fd877]::panicking::default_hook::{closure#0}
[INFO] [stdout]    4:     0x5744c3e01589 - std[617be2ca0a6fd877]::panicking::default_hook
[INFO] [stdout]    5:     0x5744c3d9b940 - test[aada8e7e76ba119b]::test_main_inner::{closure#0}
[INFO] [stdout]    6:     0x5744c3e01742 - std[617be2ca0a6fd877]::panicking::panic_with_hook
[INFO] [stdout]    7:     0x5744c3de5262 - std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}
[INFO] [stdout]    8:     0x5744c3dddf79 - std[617be2ca0a6fd877]::sys::backtrace::__rust_end_short_backtrace::<std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]    9:     0x5744c3de5e6d - __rustc[ea4f61d10b84890b]::rust_begin_unwind
[INFO] [stdout]   10:     0x5744c3e1e32c - core[a373ad73a504971]::panicking::panic_fmt
[INFO] [stdout]   11:     0x5744c3e1e102 - core[a373ad73a504971]::result::unwrap_failed
[INFO] [stdout]   12:     0x5744c3d86e25 - cpvc[38a25e4b03d67ef2]::pulseaudio::pulseaudio::acquire_mainloop_and_context
[INFO] [stdout]   13:     0x5744c3d86169 - cpvc[38a25e4b03d67ef2]::pulseaudio::pulseaudio::get_default_output_dev
[INFO] [stdout]   14:     0x5744c3d83d64 - cpvc[38a25e4b03d67ef2]::get_system_volume
[INFO] [stdout]   15:     0x5744c3d85c29 - cpvc[38a25e4b03d67ef2]::tests::get_sound_test
[INFO] [stdout]   16:     0x5744c3d878b6 - <cpvc[38a25e4b03d67ef2]::tests::get_sound_test::{closure#0} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]   17:     0x5744c3d8ed8b - test[aada8e7e76ba119b]::__rust_begin_short_backtrace::<core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>, fn() -> core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>>
[INFO] [stdout]   18:     0x5744c3d9bf65 - test[aada8e7e76ba119b]::run_test::{closure#0}
[INFO] [stdout]   19:     0x5744c3d95854 - std[617be2ca0a6fd877]::sys::backtrace::__rust_begin_short_backtrace::<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>
[INFO] [stdout]   20:     0x5744c3d9eff2 - <std[617be2ca0a6fd877]::thread::lifecycle::spawn_unchecked<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>::{closure#1} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]   21:     0x5744c3e0874f - <std[617be2ca0a6fd877]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]   22:     0x750f83c1fdfa - <unknown>
[INFO] [stdout]   23:     0x750f83cb33d4 - clone
[INFO] [stdout]   24:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- tests::set_sound_test stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'tests::set_sound_test' (495) panicked at src/pulseaudio/mod.rs:86:14:
[INFO] [stdout] Failed to connect context: PAErr(-1)
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5744c3e08ef1 - <<std[617be2ca0a6fd877]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[a373ad73a504971]::fmt::Display>::fmt
[INFO] [stdout]    1:     0x5744c3e1dbfa - core[a373ad73a504971]::fmt::write
[INFO] [stdout]    2:     0x5744c3e0d10c - <alloc[2e1b2a31b91974c5]::vec::Vec<u8> as core[a373ad73a504971]::io::write::Write>::write_fmt
[INFO] [stdout]    3:     0x5744c3de51b6 - std[617be2ca0a6fd877]::panicking::default_hook::{closure#0}
[INFO] [stdout]    4:     0x5744c3e01589 - std[617be2ca0a6fd877]::panicking::default_hook
[INFO] [stdout]    5:     0x5744c3d9b940 - test[aada8e7e76ba119b]::test_main_inner::{closure#0}
[INFO] [stdout]    6:     0x5744c3e01742 - std[617be2ca0a6fd877]::panicking::panic_with_hook
[INFO] [stdout]    7:     0x5744c3de5262 - std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}
[INFO] [stdout]    8:     0x5744c3dddf79 - std[617be2ca0a6fd877]::sys::backtrace::__rust_end_short_backtrace::<std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]    9:     0x5744c3de5e6d - __rustc[ea4f61d10b84890b]::rust_begin_unwind
[INFO] [stdout]   10:     0x5744c3e1e32c - core[a373ad73a504971]::panicking::panic_fmt
[INFO] [stdout]   11:     0x5744c3e1e102 - core[a373ad73a504971]::result::unwrap_failed
[INFO] [stdout]   12:     0x5744c3d86e25 - cpvc[38a25e4b03d67ef2]::pulseaudio::pulseaudio::acquire_mainloop_and_context
[INFO] [stdout]   13:     0x5744c3d86169 - cpvc[38a25e4b03d67ef2]::pulseaudio::pulseaudio::get_default_output_dev
[INFO] [stdout]   14:     0x5744c3d83e68 - cpvc[38a25e4b03d67ef2]::set_system_volume
[INFO] [stdout]   15:     0x5744c3d85c9e - cpvc[38a25e4b03d67ef2]::tests::set_sound_test
[INFO] [stdout]   16:     0x5744c3d878be - <cpvc[38a25e4b03d67ef2]::tests::set_sound_test::{closure#0} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]   17:     0x5744c3d8ed8b - test[aada8e7e76ba119b]::__rust_begin_short_backtrace::<core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>, fn() -> core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>>
[INFO] [stdout]   18:     0x5744c3d9bf65 - test[aada8e7e76ba119b]::run_test::{closure#0}
[INFO] [stdout]   19:     0x5744c3d95854 - std[617be2ca0a6fd877]::sys::backtrace::__rust_begin_short_backtrace::<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>
[INFO] [stdout]   20:     0x5744c3d9eff2 - <std[617be2ca0a6fd877]::thread::lifecycle::spawn_unchecked<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>::{closure#1} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]   21:     0x5744c3e0874f - <std[617be2ca0a6fd877]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]   22:     0x750f83c1fdfa - <unknown>
[INFO] [stdout]   23:     0x750f83cb33d4 - clone
[INFO] [stdout]   24:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- device::test::test_unified_device stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'device::test::test_unified_device' (490) panicked at src/pulseaudio/mod.rs:27:14:
[INFO] [stdout] Failed to connect context: PAErr(-1)
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5744c3e08ef1 - <<std[617be2ca0a6fd877]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[a373ad73a504971]::fmt::Display>::fmt
[INFO] [stdout]    1:     0x5744c3e1dbfa - core[a373ad73a504971]::fmt::write
[INFO] [stdout]    2:     0x5744c3e0d10c - <alloc[2e1b2a31b91974c5]::vec::Vec<u8> as core[a373ad73a504971]::io::write::Write>::write_fmt
[INFO] [stdout]    3:     0x5744c3de51b6 - std[617be2ca0a6fd877]::panicking::default_hook::{closure#0}
[INFO] [stdout]    4:     0x5744c3e01589 - std[617be2ca0a6fd877]::panicking::default_hook
[INFO] [stdout]    5:     0x5744c3d9b940 - test[aada8e7e76ba119b]::test_main_inner::{closure#0}
[INFO] [stdout]    6:     0x5744c3e01742 - std[617be2ca0a6fd877]::panicking::panic_with_hook
[INFO] [stdout]    7:     0x5744c3de5262 - std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}
[INFO] [stdout]    8:     0x5744c3dddf79 - std[617be2ca0a6fd877]::sys::backtrace::__rust_end_short_backtrace::<std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]    9:     0x5744c3de5e6d - __rustc[ea4f61d10b84890b]::rust_begin_unwind
[INFO] [stdout]   10:     0x5744c3e1e32c - core[a373ad73a504971]::panicking::panic_fmt
[INFO] [stdout]   11:     0x5744c3e1e102 - core[a373ad73a504971]::result::unwrap_failed
[INFO] [stdout]   12:     0x5744c3d86a16 - cpvc[38a25e4b03d67ef2]::pulseaudio::pulseaudio::get_device_identifiers
[INFO] [stdout]   13:     0x5744c3d8ea8e - <cpvc[38a25e4b03d67ef2]::pulseaudio::device::device::PulseAudioDevice as cpvc[38a25e4b03d67ef2]::device::DeviceTrait>::from_name
[INFO] [stdout]   14:     0x5744c3d84edf - <cpvc[38a25e4b03d67ef2]::device::test::test_unified_device::{closure#0} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]   15:     0x5744c3d8ed8b - test[aada8e7e76ba119b]::__rust_begin_short_backtrace::<core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>, fn() -> core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>>
[INFO] [stdout]   16:     0x5744c3d9bf65 - test[aada8e7e76ba119b]::run_test::{closure#0}
[INFO] [stdout]   17:     0x5744c3d95854 - std[617be2ca0a6fd877]::sys::backtrace::__rust_begin_short_backtrace::<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>
[INFO] [stdout]   18:     0x5744c3d9eff2 - <std[617be2ca0a6fd877]::thread::lifecycle::spawn_unchecked<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>::{closure#1} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]   19:     0x5744c3e0874f - <std[617be2ca0a6fd877]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]   20:     0x750f83c1fdfa - <unknown>
[INFO] [stdout]   21:     0x750f83cb33d4 - clone
[INFO] [stdout]   22:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- tests::sound_devices stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'tests::sound_devices' (496) panicked at src/pulseaudio/mod.rs:27:14:
[INFO] [stdout] Failed to connect context: PAErr(-1)
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5744c3e08ef1 - <<std[617be2ca0a6fd877]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[a373ad73a504971]::fmt::Display>::fmt
[INFO] [stdout]    1:     0x5744c3e1dbfa - core[a373ad73a504971]::fmt::write
[INFO] [stdout]    2:     0x5744c3e0d10c - <alloc[2e1b2a31b91974c5]::vec::Vec<u8> as core[a373ad73a504971]::io::write::Write>::write_fmt
[INFO] [stdout]    3:     0x5744c3de51b6 - std[617be2ca0a6fd877]::panicking::default_hook::{closure#0}
[INFO] [stdout]    4:     0x5744c3e01589 - std[617be2ca0a6fd877]::panicking::default_hook
[INFO] [stdout]    5:     0x5744c3d9b940 - test[aada8e7e76ba119b]::test_main_inner::{closure#0}
[INFO] [stdout]    6:     0x5744c3e01742 - std[617be2ca0a6fd877]::panicking::panic_with_hook
[INFO] [stdout]    7:     0x5744c3de5262 - std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}
[INFO] [stdout]    8:     0x5744c3dddf79 - std[617be2ca0a6fd877]::sys::backtrace::__rust_end_short_backtrace::<std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]    9:     0x5744c3de5e6d - __rustc[ea4f61d10b84890b]::rust_begin_unwind
[INFO] [stdout]   10:     0x5744c3e1e32c - core[a373ad73a504971]::panicking::panic_fmt
[INFO] [stdout]   11:     0x5744c3e1e102 - core[a373ad73a504971]::result::unwrap_failed
[INFO] [stdout]   12:     0x5744c3d86a16 - cpvc[38a25e4b03d67ef2]::pulseaudio::pulseaudio::get_device_identifiers
[INFO] [stdout]   13:     0x5744c3d83c05 - cpvc[38a25e4b03d67ef2]::get_sound_devices
[INFO] [stdout]   14:     0x5744c3d877c8 - <cpvc[38a25e4b03d67ef2]::tests::sound_devices::{closure#0} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]   15:     0x5744c3d8ed8b - test[aada8e7e76ba119b]::__rust_begin_short_backtrace::<core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>, fn() -> core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>>
[INFO] [stdout]   16:     0x5744c3d9bf65 - test[aada8e7e76ba119b]::run_test::{closure#0}
[INFO] [stdout]   17:     0x5744c3d95854 - std[617be2ca0a6fd877]::sys::backtrace::__rust_begin_short_backtrace::<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>
[INFO] [stdout]   18:     0x5744c3d9eff2 - <std[617be2ca0a6fd877]::thread::lifecycle::spawn_unchecked<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>::{closure#1} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]   19:     0x5744c3e0874f - <std[617be2ca0a6fd877]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]   20:     0x750f83c1fdfa - <unknown>
[INFO] [stdout]   21:     0x750f83cb33d4 - clone
[INFO] [stdout]   22:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- tests::test_non_default_device stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'tests::test_non_default_device' (497) panicked at src/pulseaudio/mod.rs:27:14:
[INFO] [stdout] Failed to connect context: PAErr(-1)
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5744c3e08ef1 - <<std[617be2ca0a6fd877]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[a373ad73a504971]::fmt::Display>::fmt
[INFO] [stdout]    1:     0x5744c3e1dbfa - core[a373ad73a504971]::fmt::write
[INFO] [stdout]    2:     0x5744c3e0d10c - <alloc[2e1b2a31b91974c5]::vec::Vec<u8> as core[a373ad73a504971]::io::write::Write>::write_fmt
[INFO] [stdout]    3:     0x5744c3de51b6 - std[617be2ca0a6fd877]::panicking::default_hook::{closure#0}
[INFO] [stdout]    4:     0x5744c3e01589 - std[617be2ca0a6fd877]::panicking::default_hook
[INFO] [stdout]    5:     0x5744c3d9b940 - test[aada8e7e76ba119b]::test_main_inner::{closure#0}
[INFO] [stdout]    6:     0x5744c3e01742 - std[617be2ca0a6fd877]::panicking::panic_with_hook
[INFO] [stdout]    7:     0x5744c3de5262 - std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}
[INFO] [stdout]    8:     0x5744c3dddf79 - std[617be2ca0a6fd877]::sys::backtrace::__rust_end_short_backtrace::<std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]    9:     0x5744c3de5e6d - __rustc[ea4f61d10b84890b]::rust_begin_unwind
[INFO] [stdout]   10:     0x5744c3e1e32c - core[a373ad73a504971]::panicking::panic_fmt
[INFO] [stdout]   11:     0x5744c3e1e102 - core[a373ad73a504971]::result::unwrap_failed
[INFO] [stdout]   12:     0x5744c3d86a16 - cpvc[38a25e4b03d67ef2]::pulseaudio::pulseaudio::get_device_identifiers
[INFO] [stdout]   13:     0x5744c3d8d51e - <cpvc[38a25e4b03d67ef2]::pulseaudio::device::device::PulseAudioDevice as cpvc[38a25e4b03d67ef2]::device::DeviceTrait>::from_uid
[INFO] [stdout]   14:     0x5744c3d87e3a - <cpvc[38a25e4b03d67ef2]::tests::test_non_default_device::{closure#0} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]   15:     0x5744c3d8ed8b - test[aada8e7e76ba119b]::__rust_begin_short_backtrace::<core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>, fn() -> core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>>
[INFO] [stdout]   16:     0x5744c3d9bf65 - test[aada8e7e76ba119b]::run_test::{closure#0}
[INFO] [stdout]   17:     0x5744c3d95854 - std[617be2ca0a6fd877]::sys::backtrace::__rust_begin_short_backtrace::<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>
[INFO] [stdout]   18:     0x5744c3d9eff2 - <std[617be2ca0a6fd877]::thread::lifecycle::spawn_unchecked<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>::{closure#1} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]   19:     0x5744c3e0874f - <std[617be2ca0a6fd877]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]   20:     0x750f83c1fdfa - <unknown>
[INFO] [stdout]   21:     0x750f83cb33d4 - clone
[INFO] [stdout]   22:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     device::test::test_unified_device
[INFO] [stdout]     tests::get_device_idents
[INFO] [stdout]     tests::get_mute_status
[INFO] [stdout]     tests::get_sound_test
[INFO] [stdout]     tests::set_mute_test
[INFO] [stdout]     tests::set_sound_test
[INFO] [stdout]     tests::sound_devices
[INFO] [stdout]     tests::test_non_default_device
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 0 passed; 8 failed; 2 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "2c4d2e13cb02f500bac7e6ecb63559ffcf63b6adb5e10a01fb033884fc4e8699", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "2c4d2e13cb02f500bac7e6ecb63559ffcf63b6adb5e10a01fb033884fc4e8699", kill_on_drop: false }`
[INFO] [stdout] 2c4d2e13cb02f500bac7e6ecb63559ffcf63b6adb5e10a01fb033884fc4e8699
