[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] b531897455248cee36cfcd7909e9e4c7b4e7eeb3
[INFO] checking sandin/usbmux-rs against beta-2021-10-15 for beta-1.56-3
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fsandin%2Fusbmux-rs" "/workspace/builds/worker-34/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-34/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/sandin/usbmux-rs on toolchain beta-2021-10-15
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+beta-2021-10-15" "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-34/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: "/workspace/cargo-home/bin/cargo" "+beta-2021-10-15" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-34/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-34/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:a89201d6b5b9fd45c15d5952ece0a0129e7e80cb26ec023fd59cf09bc26f1604" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2021-10-15" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 05c8b56d93ebcce89eed56a21bc2510c76855585955e53dbeb0890966b403bbe
[INFO] running `Command { std: "docker" "start" "-a" "05c8b56d93ebcce89eed56a21bc2510c76855585955e53dbeb0890966b403bbe", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "05c8b56d93ebcce89eed56a21bc2510c76855585955e53dbeb0890966b403bbe", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "05c8b56d93ebcce89eed56a21bc2510c76855585955e53dbeb0890966b403bbe", kill_on_drop: false }`
[INFO] [stdout] 05c8b56d93ebcce89eed56a21bc2510c76855585955e53dbeb0890966b403bbe
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-34/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-34/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=warn" "-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:a89201d6b5b9fd45c15d5952ece0a0129e7e80cb26ec023fd59cf09bc26f1604" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2021-10-15" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 5f15b79d726a63418adce8361ad49b78c3a0623aa2c06971b6789827a0a57ec9
[INFO] running `Command { std: "docker" "start" "-a" "5f15b79d726a63418adce8361ad49b78c3a0623aa2c06971b6789827a0a57ec9", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.26
[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 xml-rs v0.8.3
[INFO] [stderr]    Compiling indexmap v1.6.2
[INFO] [stderr]     Checking chrono v0.4.19
[INFO] [stderr]     Checking line-wrap v0.1.1
[INFO] [stderr]    Compiling quote v1.0.9
[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: 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]    = note: `#[warn(unused_imports)]` on by default
[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::io::Cursor`
[INFO] [stdout]   --> src/lib.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use std::io::Cursor;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BufReader`, `BufWriter`
[INFO] [stdout]   --> src/lib.rs:14:15
[INFO] [stdout]    |
[INFO] [stdout] 14 | 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:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | use std::time::Duration;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::path::Path`
[INFO] [stdout]   --> src/lib.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | use std::path::Path;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Error`
[INFO] [stdout]   --> src/lib.rs:27:13
[INFO] [stdout]    |
[INFO] [stdout] 27 | use error::{Error, ErrorKind, Result};
[INFO] [stdout]    |             ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `PLIST_LIBUSBMUX_VERSION`
[INFO] [stdout]   --> src/lib.rs:30:70
[INFO] [stdout]    |
[INFO] [stdout] 30 |     UsbmuxdDevice, UsbmuxdDeviceList, UsbmuxdHeader, UsbmuxdMsgType, PLIST_LIBUSBMUX_VERSION,
[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]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io::Cursor`
[INFO] [stdout]   --> src/lib.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use std::io::Cursor;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BufReader`, `BufWriter`
[INFO] [stdout]   --> src/lib.rs:14:15
[INFO] [stdout]    |
[INFO] [stdout] 14 | use std::io::{BufReader, BufWriter, Read, Write};
[INFO] [stdout]    |               ^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::path::Path`
[INFO] [stdout]   --> src/lib.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | use std::path::Path;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `PLIST_LIBUSBMUX_VERSION`
[INFO] [stdout]   --> src/lib.rs:30:70
[INFO] [stdout]    |
[INFO] [stdout] 30 |     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:145:25
[INFO] [stdout]     |
[INFO] [stdout] 145 |                 thread::sleep_ms(100);
[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:145:25
[INFO] [stdout]     |
[INFO] [stdout] 145 |                 thread::sleep_ms(100);
[INFO] [stdout]     |                         ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `(dyn UsbmuxdEventListener + 'static)` cannot be sent between threads safely
[INFO] [stdout]    --> src/lib.rs:133:28
[INFO] [stdout]     |
[INFO] [stdout] 133 |         self.worker = Some(thread::spawn(move || {
[INFO] [stdout]     |                            ^^^^^^^^^^^^^ `(dyn UsbmuxdEventListener + 'static)` cannot be sent between threads safely
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Send` is not implemented for `(dyn UsbmuxdEventListener + 'static)`
[INFO] [stdout]     = note: required because of the requirements on the impl of `Send` for `Unique<(dyn UsbmuxdEventListener + 'static)>`
[INFO] [stdout]     = note: required because it appears within the type `Box<(dyn UsbmuxdEventListener + 'static)>`
[INFO] [stdout]     = note: required because of the requirements on the impl of `Send` for `Unique<Box<(dyn UsbmuxdEventListener + 'static)>>`
[INFO] [stdout]     = note: required because it appears within the type `alloc::raw_vec::RawVec<Box<(dyn UsbmuxdEventListener + 'static)>>`
[INFO] [stdout]     = note: required because it appears within the type `Vec<Box<(dyn UsbmuxdEventListener + 'static)>>`
[INFO] [stdout]     = note: required because of the requirements on the impl of `Sync` for `Mutex<Vec<Box<(dyn UsbmuxdEventListener + 'static)>>>`
[INFO] [stdout]     = note: 1 redundant requirements hidden
[INFO] [stdout]     = note: required because of the requirements on the impl of `Send` for `Arc<Mutex<Vec<Box<(dyn UsbmuxdEventListener + 'static)>>>>`
[INFO] [stdout]     = note: required because it appears within the type `[closure@src/lib.rs:133:42: 148:10]`
[INFO] [stdout] note: required by a bound in `spawn`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0369]: binary operation `==` cannot be applied to type `dyn UsbmuxdEventListener`
[INFO] [stdout]    --> src/lib.rs:175:27
[INFO] [stdout]     |
[INFO] [stdout] 175 |             return **item == listener;
[INFO] [stdout]     |                    ------ ^^ -------- Box<dyn UsbmuxdEventListener>
[INFO] [stdout]     |                    |
[INFO] [stdout]     |                    dyn UsbmuxdEventListener
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `(dyn UsbmuxdEventListener + 'static)` cannot be sent between threads safely
[INFO] [stdout]    --> src/lib.rs:133:28
[INFO] [stdout]     |
[INFO] [stdout] 133 |         self.worker = Some(thread::spawn(move || {
[INFO] [stdout]     |                            ^^^^^^^^^^^^^ `(dyn UsbmuxdEventListener + 'static)` cannot be sent between threads safely
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Send` is not implemented for `(dyn UsbmuxdEventListener + 'static)`
[INFO] [stdout]     = note: required because of the requirements on the impl of `Send` for `Unique<(dyn UsbmuxdEventListener + 'static)>`
[INFO] [stdout]     = note: required because it appears within the type `Box<(dyn UsbmuxdEventListener + 'static)>`
[INFO] [stdout]     = note: required because of the requirements on the impl of `Send` for `Unique<Box<(dyn UsbmuxdEventListener + 'static)>>`
[INFO] [stdout]     = note: required because it appears within the type `alloc::raw_vec::RawVec<Box<(dyn UsbmuxdEventListener + 'static)>>`
[INFO] [stdout]     = note: required because it appears within the type `std::vec::Vec<Box<(dyn UsbmuxdEventListener + 'static)>>`
[INFO] [stdout]     = note: required because of the requirements on the impl of `Sync` for `Mutex<std::vec::Vec<Box<(dyn UsbmuxdEventListener + 'static)>>>`
[INFO] [stdout]     = note: 1 redundant requirements hidden
[INFO] [stdout]     = note: required because of the requirements on the impl of `Send` for `Arc<Mutex<std::vec::Vec<Box<(dyn UsbmuxdEventListener + 'static)>>>>`
[INFO] [stdout]     = note: required because it appears within the type `[closure@src/lib.rs:133:42: 148:10]`
[INFO] [stdout] note: required by a bound in `spawn`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0369]: binary operation `==` cannot be applied to type `dyn UsbmuxdEventListener`
[INFO] [stdout]    --> src/lib.rs:175:27
[INFO] [stdout]     |
[INFO] [stdout] 175 |             return **item == listener;
[INFO] [stdout]     |                    ------ ^^ -------- Box<dyn UsbmuxdEventListener>
[INFO] [stdout]     |                    |
[INFO] [stdout]     |                    dyn UsbmuxdEventListener
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `std::slice::<impl [T]>::connect`: renamed to join
[INFO] [stdout]    --> src/lib.rs:187:14
[INFO] [stdout]     |
[INFO] [stdout] 187 |         strs.connect(" ")
[INFO] [stdout]     |              ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 2 previous errors; 9 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0277, E0369.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0277`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `usbmux` due to 3 previous errors; 9 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/lib.rs:197:33
[INFO] [stdout]     |
[INFO] [stdout] 194 |           let callback = || {
[INFO] [stdout]     |  ________________________-
[INFO] [stdout] 195 | |             println!("on event listener callback");
[INFO] [stdout] 196 | |         };
[INFO] [stdout]     | |_________- the found closure
[INFO] [stdout] 197 |           client.events_subscribe(callback);
[INFO] [stdout]     |                                   ^^^^^^^^ expected struct `Box`, found closure
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected struct `Box<(dyn UsbmuxdEventListener + 'static)>`
[INFO] [stdout]               found closure `[closure@src/lib.rs:194:24: 196:10]`
[INFO] [stdout]     = note: for more on the distinction between the stack and the heap, read https://doc.rust-lang.org/book/ch15-01-box.html, https://doc.rust-lang.org/rust-by-example/std/box.html, and https://doc.rust-lang.org/std/boxed/index.html
[INFO] [stdout] help: store this in the heap by calling `Box::new`
[INFO] [stdout]     |
[INFO] [stdout] 197 |         client.events_subscribe(Box::new(callback));
[INFO] [stdout]     |                                 +++++++++        +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/lib.rs:202:35
[INFO] [stdout]     |
[INFO] [stdout] 194 |           let callback = || {
[INFO] [stdout]     |  ________________________-
[INFO] [stdout] 195 | |             println!("on event listener callback");
[INFO] [stdout] 196 | |         };
[INFO] [stdout]     | |_________- the found closure
[INFO] [stdout] ...
[INFO] [stdout] 202 |           client.events_unsubscribe(callback);
[INFO] [stdout]     |                                     ^^^^^^^^ expected struct `Box`, found closure
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected struct `Box<(dyn UsbmuxdEventListener + 'static)>`
[INFO] [stdout]               found closure `[closure@src/lib.rs:194:24: 196:10]`
[INFO] [stdout]     = note: for more on the distinction between the stack and the heap, read https://doc.rust-lang.org/book/ch15-01-box.html, https://doc.rust-lang.org/rust-by-example/std/box.html, and https://doc.rust-lang.org/std/boxed/index.html
[INFO] [stdout] help: store this in the heap by calling `Box::new`
[INFO] [stdout]     |
[INFO] [stdout] 202 |         client.events_unsubscribe(Box::new(callback));
[INFO] [stdout]     |                                   +++++++++        +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 4 previous errors; 7 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0277, E0308, E0369.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0277`.
[INFO] [stdout] 
[INFO] [stderr] error: build failed
[INFO] running `Command { std: "docker" "inspect" "5f15b79d726a63418adce8361ad49b78c3a0623aa2c06971b6789827a0a57ec9", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "5f15b79d726a63418adce8361ad49b78c3a0623aa2c06971b6789827a0a57ec9", kill_on_drop: false }`
[INFO] [stdout] 5f15b79d726a63418adce8361ad49b78c3a0623aa2c06971b6789827a0a57ec9
