[INFO] cloning repository https://github.com/sandin/usbmux-rs
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/sandin/usbmux-rs" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fsandin%2Fusbmux-rs", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fsandin%2Fusbmux-rs'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] eb536a5ac11433ad95ee767e0cced9b9f286e7e2
[INFO] checking sandin/usbmux-rs against master#80399064afa4a2cd153f30d02c25f7ea0383ed65 for opaque-soundness-fix
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fsandin%2Fusbmux-rs" "/workspace/builds/worker-2-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc1/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/sandin/usbmux-rs on toolchain 80399064afa4a2cd153f30d02c25f7ea0383ed65
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+80399064afa4a2cd153f30d02c25f7ea0383ed65" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/sandin/usbmux-rs
[INFO] finished tweaking git repo https://github.com/sandin/usbmux-rs
[INFO] tweaked toml for git repo https://github.com/sandin/usbmux-rs written to /workspace/builds/worker-2-tc1/source/Cargo.toml
[INFO] crate git repo https://github.com/sandin/usbmux-rs 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" "+80399064afa4a2cd153f30d02c25f7ea0383ed65" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+80399064afa4a2cd153f30d02c25f7ea0383ed65" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] a260c557a4223a80c9670b204b9571e86df48b7aef59d997feb545053d9d7847
[INFO] running `Command { std: "docker" "start" "-a" "a260c557a4223a80c9670b204b9571e86df48b7aef59d997feb545053d9d7847", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "a260c557a4223a80c9670b204b9571e86df48b7aef59d997feb545053d9d7847", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "a260c557a4223a80c9670b204b9571e86df48b7aef59d997feb545053d9d7847", kill_on_drop: false }`
[INFO] [stdout] a260c557a4223a80c9670b204b9571e86df48b7aef59d997feb545053d9d7847
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+80399064afa4a2cd153f30d02c25f7ea0383ed65" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] b72ea5a3c73e4975c8522336cadeca5de52b0fe73934a589d6253892fa971345
[INFO] running `Command { std: "docker" "start" "-a" "b72ea5a3c73e4975c8522336cadeca5de52b0fe73934a589d6253892fa971345", kill_on_drop: false }`
[INFO] [stderr]    Compiling autocfg v1.0.1
[INFO] [stderr]    Compiling proc-macro2 v1.0.26
[INFO] [stderr]    Compiling unicode-xid v0.2.1
[INFO] [stderr]    Compiling syn v1.0.71
[INFO] [stderr]    Compiling serde_derive v1.0.125
[INFO] [stderr]    Compiling serde v1.0.125
[INFO] [stderr]     Checking safemem v0.3.3
[INFO] [stderr]     Checking hashbrown v0.9.1
[INFO] [stderr]     Checking line-wrap v0.1.1
[INFO] [stderr]     Checking base64 v0.13.0
[INFO] [stderr]     Checking xml-rs v0.8.3
[INFO] [stderr]    Compiling num-traits v0.2.14
[INFO] [stderr]    Compiling num-integer v0.1.44
[INFO] [stderr]    Compiling indexmap v1.6.2
[INFO] [stderr]    Compiling quote v1.0.9
[INFO] [stderr]     Checking chrono v0.4.19
[INFO] [stderr]     Checking plist v1.1.0
[INFO] [stderr]     Checking bincode v1.3.3
[INFO] [stderr]     Checking usbmux v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: the item `bincode` is imported redundantly
[INFO] [stdout]  --> src/error.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use bincode;
[INFO] [stdout]   |     ^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]  ::: src/lib.rs:2:1
[INFO] [stdout]   |
[INFO] [stdout] 2 | extern crate bincode;
[INFO] [stdout]   | --------------------- the item `bincode` is already imported here
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io`
[INFO] [stdout]   --> src/lib.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::io;
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::result`
[INFO] [stdout]   --> src/lib.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use std::result;
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cmp::PartialEq`
[INFO] [stdout]   --> src/lib.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use std::cmp::PartialEq;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io::Cursor`
[INFO] [stdout]   --> src/lib.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use std::io::Cursor;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BufReader`, `BufWriter`
[INFO] [stdout]   --> src/lib.rs:15:15
[INFO] [stdout]    |
[INFO] [stdout] 15 | use std::io::{BufReader, BufWriter, Read, Write};
[INFO] [stdout]    |               ^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::time::Duration`
[INFO] [stdout]   --> src/lib.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | use std::time::Duration;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::path::Path`
[INFO] [stdout]   --> src/lib.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | use std::path::Path;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `bincode` is imported redundantly
[INFO] [stdout]  --> src/error.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use bincode;
[INFO] [stdout]   |     ^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]  ::: src/lib.rs:2:1
[INFO] [stdout]   |
[INFO] [stdout] 2 | extern crate bincode;
[INFO] [stdout]   | --------------------- the item `bincode` is already imported here
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `Vec` is imported redundantly
[INFO] [stdout]   --> src/lib.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 20 | use std::vec::Vec;
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout]   --> /rustc/80399064afa4a2cd153f30d02c25f7ea0383ed65/library/std/src/prelude/mod.rs:115:13
[INFO] [stdout]    |
[INFO] [stdout]    = note: the item `Vec` is already defined here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Error`
[INFO] [stdout]   --> src/lib.rs:28:13
[INFO] [stdout]    |
[INFO] [stdout] 28 | use error::{Error, ErrorKind, Result};
[INFO] [stdout]    |             ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io`
[INFO] [stdout]   --> src/lib.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::io;
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `PLIST_LIBUSBMUX_VERSION`
[INFO] [stdout]   --> src/lib.rs:31:70
[INFO] [stdout]    |
[INFO] [stdout] 31 |     UsbmuxdDevice, UsbmuxdDeviceList, UsbmuxdHeader, UsbmuxdMsgType, PLIST_LIBUSBMUX_VERSION,
[INFO] [stdout]    |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cmp::PartialEq`
[INFO] [stdout]   --> src/lib.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use std::cmp::PartialEq;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io::Cursor`
[INFO] [stdout]   --> src/lib.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use std::io::Cursor;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BufReader`, `BufWriter`
[INFO] [stdout]   --> src/lib.rs:15:15
[INFO] [stdout]    |
[INFO] [stdout] 15 | use std::io::{BufReader, BufWriter, Read, Write};
[INFO] [stdout]    |               ^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::time::Duration`
[INFO] [stdout]   --> src/lib.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | use std::time::Duration;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::path::Path`
[INFO] [stdout]   --> src/lib.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | use std::path::Path;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `PLIST_LIBUSBMUX_VERSION`
[INFO] [stdout]   --> src/lib.rs:31:70
[INFO] [stdout]    |
[INFO] [stdout] 31 |     UsbmuxdDevice, UsbmuxdDeviceList, UsbmuxdHeader, UsbmuxdMsgType, PLIST_LIBUSBMUX_VERSION,
[INFO] [stdout]    |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::thread::sleep_ms`: replaced by `std::thread::sleep`
[INFO] [stdout]    --> src/lib.rs:147:25
[INFO] [stdout]     |
[INFO] [stdout] 147 |                 thread::sleep_ms(100); // TODO: use tokio select
[INFO] [stdout]     |                         ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::thread::sleep_ms`: replaced by `std::thread::sleep`
[INFO] [stdout]    --> src/lib.rs:147:25
[INFO] [stdout]     |
[INFO] [stdout] 147 |                 thread::sleep_ms(100); // TODO: use tokio select
[INFO] [stdout]     |                         ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::slice::<impl [T]>::connect`: renamed to join
[INFO] [stdout]    --> src/lib.rs:194:14
[INFO] [stdout]     |
[INFO] [stdout] 194 |         strs.connect(" ")
[INFO] [stdout]     |              ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: replace the use of the deprecated method
[INFO] [stdout]     |
[INFO] [stdout] 194 |         strs.join(" ")
[INFO] [stdout]     |              ~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> src/lib.rs:116:17
[INFO] [stdout]     |
[INFO] [stdout] 116 |             Err(e) => return Err(Box::new(ErrorKind::Connection())),
[INFO] [stdout]     |                 ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> src/lib.rs:122:17
[INFO] [stdout]     |
[INFO] [stdout] 122 |             Err(e) => return Err(Box::new(ErrorKind::Connection())),
[INFO] [stdout]     |                 ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> src/lib.rs:116:17
[INFO] [stdout]     |
[INFO] [stdout] 116 |             Err(e) => return Err(Box::new(ErrorKind::Connection())),
[INFO] [stdout]     |                 ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> src/lib.rs:122:17
[INFO] [stdout]     |
[INFO] [stdout] 122 |             Err(e) => return Err(Box::new(ErrorKind::Connection())),
[INFO] [stdout]     |                 ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `listeners`
[INFO] [stdout]    --> src/lib.rs:175:13
[INFO] [stdout]     |
[INFO] [stdout] 175 |         let listeners = self.listeners.lock().unwrap();
[INFO] [stdout]     |             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_listeners`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `listener`
[INFO] [stdout]    --> src/lib.rs:173:42
[INFO] [stdout]     |
[INFO] [stdout] 173 |     pub fn events_unsubscribe(&mut self, listener: Box<dyn UsbmuxdEventListener + Send + 'static>) 
[INFO] [stdout]     |                                          ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_listener`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `disconnect_usbmuxd_socket` are never used
[INFO] [stdout]   --> src/lib.rs:49:8
[INFO] [stdout]    |
[INFO] [stdout] 48 | impl UsbmuxdClient {
[INFO] [stdout]    | ------------------ associated items in this implementation
[INFO] [stdout] 49 |     fn new() -> UsbmuxdClient {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 62 |     fn disconnect_usbmuxd_socket(&mut self, stream: &TcpStream) -> Result<()> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `plist_to_xml_data` is never used
[INFO] [stdout]   --> src/plist_utils.rs:11:8
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub fn plist_to_xml_data(value: &Value) -> Vec<u8> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `UsbmuxdResult` is never used
[INFO] [stdout]   --> src/protocol.rs:15:10
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub enum UsbmuxdResult {
[INFO] [stdout]    |          ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Result`, `Connect`, `Listen`, `DeviceAdd`, `DeviceRemove`, and `DevicePaired` are never constructed
[INFO] [stdout]   --> src/protocol.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub enum UsbmuxdMsgType {
[INFO] [stdout]    |          -------------- variants in this enum
[INFO] [stdout] 26 |     Result = 1,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 27 |     Connect = 2,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 28 |     Listen = 3,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 29 |     DeviceAdd = 4,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 30 |     DeviceRemove = 5,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 31 |     DevicePaired = 6,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `UsbmuxdResultMsg` is never constructed
[INFO] [stdout]   --> src/protocol.rs:45:12
[INFO] [stdout]    |
[INFO] [stdout] 45 | pub struct UsbmuxdResultMsg {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `UsbmuxdResultMsg` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `UsbmuxdConnectRequest` is never constructed
[INFO] [stdout]   --> src/protocol.rs:51:12
[INFO] [stdout]    |
[INFO] [stdout] 51 | pub struct UsbmuxdConnectRequest {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `UsbmuxdConnectRequest` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `UsbmuxdListenRequest` is never constructed
[INFO] [stdout]   --> src/protocol.rs:59:12
[INFO] [stdout]    |
[INFO] [stdout] 59 | pub struct UsbmuxdListenRequest {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `UsbmuxdListenRequest` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `listeners`
[INFO] [stdout]    --> src/lib.rs:175:13
[INFO] [stdout]     |
[INFO] [stdout] 175 |         let listeners = self.listeners.lock().unwrap();
[INFO] [stdout]     |             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_listeners`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `listener`
[INFO] [stdout]    --> src/lib.rs:173:42
[INFO] [stdout]     |
[INFO] [stdout] 173 |     pub fn events_unsubscribe(&mut self, listener: Box<dyn UsbmuxdEventListener + Send + 'static>) 
[INFO] [stdout]     |                                          ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_listener`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `client`
[INFO] [stdout]    --> src/lib.rs:200:17
[INFO] [stdout]     |
[INFO] [stdout] 200 |         let mut client = create_client()?;
[INFO] [stdout]     |                 ^^^^^^ help: if this is intentional, prefix it with an underscore: `_client`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/lib.rs:200:13
[INFO] [stdout]     |
[INFO] [stdout] 200 |         let mut client = create_client()?;
[INFO] [stdout]     |             ----^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `disconnect_usbmuxd_socket` is never used
[INFO] [stdout]   --> src/lib.rs:62:8
[INFO] [stdout]    |
[INFO] [stdout] 48 | impl UsbmuxdClient {
[INFO] [stdout]    | ------------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 62 |     fn disconnect_usbmuxd_socket(&mut self, stream: &TcpStream) -> Result<()> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `plist_to_xml_data` is never used
[INFO] [stdout]   --> src/plist_utils.rs:11:8
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub fn plist_to_xml_data(value: &Value) -> Vec<u8> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `UsbmuxdResult` is never used
[INFO] [stdout]   --> src/protocol.rs:15:10
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub enum UsbmuxdResult {
[INFO] [stdout]    |          ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Result`, `Connect`, `Listen`, `DeviceAdd`, `DeviceRemove`, and `DevicePaired` are never constructed
[INFO] [stdout]   --> src/protocol.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub enum UsbmuxdMsgType {
[INFO] [stdout]    |          -------------- variants in this enum
[INFO] [stdout] 26 |     Result = 1,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 27 |     Connect = 2,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 28 |     Listen = 3,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 29 |     DeviceAdd = 4,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 30 |     DeviceRemove = 5,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 31 |     DevicePaired = 6,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `UsbmuxdResultMsg` is never constructed
[INFO] [stdout]   --> src/protocol.rs:45:12
[INFO] [stdout]    |
[INFO] [stdout] 45 | pub struct UsbmuxdResultMsg {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `UsbmuxdResultMsg` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `UsbmuxdConnectRequest` is never constructed
[INFO] [stdout]   --> src/protocol.rs:51:12
[INFO] [stdout]    |
[INFO] [stdout] 51 | pub struct UsbmuxdConnectRequest {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `UsbmuxdConnectRequest` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `UsbmuxdListenRequest` is never constructed
[INFO] [stdout]   --> src/protocol.rs:59:12
[INFO] [stdout]    |
[INFO] [stdout] 59 | pub struct UsbmuxdListenRequest {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `UsbmuxdListenRequest` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `to_hex_string` is never used
[INFO] [stdout]    --> src/lib.rs:192:12
[INFO] [stdout]     |
[INFO] [stdout] 192 |     pub fn to_hex_string(bytes: &Vec<u8>) -> String {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 23 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 24 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 5.17s
[INFO] running `Command { std: "docker" "inspect" "b72ea5a3c73e4975c8522336cadeca5de52b0fe73934a589d6253892fa971345", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "b72ea5a3c73e4975c8522336cadeca5de52b0fe73934a589d6253892fa971345", kill_on_drop: false }`
[INFO] [stdout] b72ea5a3c73e4975c8522336cadeca5de52b0fe73934a589d6253892fa971345
