[INFO] fetching crate parking_lot_mpsc 0.1.5...
[INFO] testing parking_lot_mpsc-0.1.5 against 1.91.0 for beta-1.92-2
[INFO] extracting crate parking_lot_mpsc 0.1.5 into /workspace/builds/worker-7-tc1/source
[INFO] started tweaking crates.io crate parking_lot_mpsc 0.1.5
[INFO] finished tweaking crates.io crate parking_lot_mpsc 0.1.5
[INFO] tweaked toml for crates.io crate parking_lot_mpsc 0.1.5 written to /workspace/builds/worker-7-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate parking_lot_mpsc 0.1.5 on toolchain 1.91.0
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.91.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.91.0" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]      Locking 15 packages to latest compatible versions
[INFO] [stderr]       Adding parking_lot v0.4.8 (available: v0.12.5)
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.91.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded owning_ref v0.3.3
[INFO] [stderr]   Downloaded parking_lot_core v0.2.14
[INFO] [stderr]   Downloaded parking_lot v0.4.8
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+1.91.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 2c27856429f0788ded1e593cc71b0f15f8e884116af1b62790cfa123b4a3bb4e
[INFO] running `Command { std: "docker" "start" "-a" "2c27856429f0788ded1e593cc71b0f15f8e884116af1b62790cfa123b4a3bb4e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "2c27856429f0788ded1e593cc71b0f15f8e884116af1b62790cfa123b4a3bb4e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "2c27856429f0788ded1e593cc71b0f15f8e884116af1b62790cfa123b4a3bb4e", kill_on_drop: false }`
[INFO] [stdout] 2c27856429f0788ded1e593cc71b0f15f8e884116af1b62790cfa123b4a3bb4e
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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=warn" "-e" "RUSTDOCFLAGS=--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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+1.91.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 529471b6b42a322be6790823d35408d66cc66005cf90e3faa74cbb64b04678fe
[INFO] running `Command { std: "docker" "start" "-a" "529471b6b42a322be6790823d35408d66cc66005cf90e3faa74cbb64b04678fe", kill_on_drop: false }`
[INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] [stderr]    Compiling rand v0.4.6
[INFO] [stderr]    Compiling smallvec v0.6.14
[INFO] [stderr]    Compiling stable_deref_trait v1.2.1
[INFO] [stderr]    Compiling owning_ref v0.3.3
[INFO] [stderr]    Compiling parking_lot_core v0.2.14
[INFO] [stderr]    Compiling parking_lot v0.4.8
[INFO] [stderr]    Compiling parking_lot_mpsc v0.1.5 (/opt/rustwide/workdir)
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/select.rs:108:19
[INFO] [stdout]     |
[INFO] [stdout] 108 |     packet: &'rx (Packet+'rx),
[INFO] [stdout]     |                   ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: `#[warn(bare_trait_objects)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 108 |     packet: &'rx (dyn Packet+'rx),
[INFO] [stdout]     |                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]     --> src/lib.rs:1538:32
[INFO] [stdout]      |
[INFO] [stdout] 1538 |     fn cause(&self) -> Option<&error::Error> {
[INFO] [stdout]      |                                ^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]      |
[INFO] [stdout] 1538 |     fn cause(&self) -> Option<&dyn error::Error> {
[INFO] [stdout]      |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]     --> src/lib.rs:1578:32
[INFO] [stdout]      |
[INFO] [stdout] 1578 |     fn cause(&self) -> Option<&error::Error> {
[INFO] [stdout]      |                                ^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]      |
[INFO] [stdout] 1578 |     fn cause(&self) -> Option<&dyn error::Error> {
[INFO] [stdout]      |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]     --> src/lib.rs:1595:32
[INFO] [stdout]      |
[INFO] [stdout] 1595 |     fn cause(&self) -> Option<&error::Error> {
[INFO] [stdout]      |                                ^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]      |
[INFO] [stdout] 1595 |     fn cause(&self) -> Option<&dyn error::Error> {
[INFO] [stdout]      |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]     --> src/lib.rs:1626:32
[INFO] [stdout]      |
[INFO] [stdout] 1626 |     fn cause(&self) -> Option<&error::Error> {
[INFO] [stdout]      |                                ^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]      |
[INFO] [stdout] 1626 |     fn cause(&self) -> Option<&dyn error::Error> {
[INFO] [stdout]      |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]     --> src/lib.rs:1656:32
[INFO] [stdout]      |
[INFO] [stdout] 1656 |     fn cause(&self) -> Option<&error::Error> {
[INFO] [stdout]      |                                ^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]      |
[INFO] [stdout] 1656 |     fn cause(&self) -> Option<&dyn error::Error> {
[INFO] [stdout]      |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::sync::atomic::AtomicUsize::compare_and_swap`: Use `compare_exchange` or `compare_exchange_weak` instead
[INFO] [stdout]    --> src/oneshot.rs:155:27
[INFO] [stdout]     |
[INFO] [stdout] 155 |             if self.state.compare_and_swap(EMPTY, ptr, Ordering::SeqCst) == EMPTY {
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::sync::atomic::AtomicUsize::compare_and_swap`: Use `compare_exchange` or `compare_exchange_weak` instead
[INFO] [stdout]    --> src/oneshot.rs:187:32
[INFO] [stdout]     |
[INFO] [stdout] 187 |                     self.state.compare_and_swap(DATA, EMPTY, Ordering::SeqCst);
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::sync::atomic::AtomicUsize::compare_and_swap`: Use `compare_exchange` or `compare_exchange_weak` instead
[INFO] [stdout]    --> src/oneshot.rs:308:30
[INFO] [stdout]     |
[INFO] [stdout] 308 |             match self.state.compare_and_swap(EMPTY, ptr, Ordering::SeqCst) {
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::sync::atomic::AtomicUsize::compare_and_swap`: Use `compare_exchange` or `compare_exchange_weak` instead
[INFO] [stdout]    --> src/oneshot.rs:356:31
[INFO] [stdout]     |
[INFO] [stdout] 356 |             ptr => self.state.compare_and_swap(ptr, EMPTY, Ordering::SeqCst)
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::sync::atomic::AtomicIsize::compare_and_swap`: Use `compare_exchange` or `compare_exchange_weak` instead
[INFO] [stdout]    --> src/shared.rs:377:32
[INFO] [stdout]     |
[INFO] [stdout] 377 |             let cnt = self.cnt.compare_and_swap(steals, DISCONNECTED, Ordering::SeqCst);
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::sync::atomic::AtomicIsize::compare_and_swap`: Use `compare_exchange` or `compare_exchange_weak` instead
[INFO] [stdout]    --> src/stream.rs:315:32
[INFO] [stdout]     |
[INFO] [stdout] 315 |             let cnt = self.cnt.compare_and_swap(
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> src/lib.rs:1351:17
[INFO] [stdout]      |
[INFO] [stdout] 1351 |     pub fn iter(&self) -> Iter<T> {
[INFO] [stdout]      |                 ^^^^^     ^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]      |                 |
[INFO] [stdout]      |                 the lifetime is elided here
[INFO] [stdout]      |
[INFO] [stdout]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]      = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]      |
[INFO] [stdout] 1351 |     pub fn iter(&self) -> Iter<'_, T> {
[INFO] [stdout]      |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> src/lib.rs:1393:21
[INFO] [stdout]      |
[INFO] [stdout] 1393 |     pub fn try_iter(&self) -> TryIter<T> {
[INFO] [stdout]      |                     ^^^^^     ^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     the lifetime is elided here
[INFO] [stdout]      |
[INFO] [stdout]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]      |
[INFO] [stdout] 1393 |     pub fn try_iter(&self) -> TryIter<'_, T> {
[INFO] [stdout]      |                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/shared.rs:89:26
[INFO] [stdout]    |
[INFO] [stdout] 89 |     pub fn postinit_lock(&self) -> MutexGuard<()> {
[INFO] [stdout]    |                          ^^^^^     ^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                          |
[INFO] [stdout]    |                          the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 89 |     pub fn postinit_lock(&self) -> MutexGuard<'_, ()> {
[INFO] [stdout]    |                                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/sync.rs:196:26
[INFO] [stdout]     |
[INFO] [stdout] 196 |     fn acquire_send_slot(&self) -> MutexGuard<State<T>> {
[INFO] [stdout]     |                          ^^^^^     ^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                          |
[INFO] [stdout]     |                          the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 196 |     fn acquire_send_slot(&self) -> MutexGuard<'_, State<T>> {
[INFO] [stdout]     |                                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1.71s
[INFO] running `Command { std: "docker" "inspect" "529471b6b42a322be6790823d35408d66cc66005cf90e3faa74cbb64b04678fe", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "529471b6b42a322be6790823d35408d66cc66005cf90e3faa74cbb64b04678fe", kill_on_drop: false }`
[INFO] [stdout] 529471b6b42a322be6790823d35408d66cc66005cf90e3faa74cbb64b04678fe
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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=warn" "-e" "RUSTDOCFLAGS=--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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+1.91.0" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 3c5e47b7331dc56b86aebd4ac1a865a6707ed2bef67334325c0757c3958832dc
[INFO] running `Command { std: "docker" "start" "-a" "3c5e47b7331dc56b86aebd4ac1a865a6707ed2bef67334325c0757c3958832dc", kill_on_drop: false }`
[INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] [stderr]    Compiling parking_lot_mpsc v0.1.5 (/opt/rustwide/workdir)
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/select.rs:108:19
[INFO] [stdout]     |
[INFO] [stdout] 108 |     packet: &'rx (Packet+'rx),
[INFO] [stdout]     |                   ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: `#[warn(bare_trait_objects)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 108 |     packet: &'rx (dyn Packet+'rx),
[INFO] [stdout]     |                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]     --> src/lib.rs:1538:32
[INFO] [stdout]      |
[INFO] [stdout] 1538 |     fn cause(&self) -> Option<&error::Error> {
[INFO] [stdout]      |                                ^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]      |
[INFO] [stdout] 1538 |     fn cause(&self) -> Option<&dyn error::Error> {
[INFO] [stdout]      |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]     --> src/lib.rs:1578:32
[INFO] [stdout]      |
[INFO] [stdout] 1578 |     fn cause(&self) -> Option<&error::Error> {
[INFO] [stdout]      |                                ^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]      |
[INFO] [stdout] 1578 |     fn cause(&self) -> Option<&dyn error::Error> {
[INFO] [stdout]      |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]     --> src/lib.rs:1595:32
[INFO] [stdout]      |
[INFO] [stdout] 1595 |     fn cause(&self) -> Option<&error::Error> {
[INFO] [stdout]      |                                ^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]      |
[INFO] [stdout] 1595 |     fn cause(&self) -> Option<&dyn error::Error> {
[INFO] [stdout]      |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]     --> src/lib.rs:1626:32
[INFO] [stdout]      |
[INFO] [stdout] 1626 |     fn cause(&self) -> Option<&error::Error> {
[INFO] [stdout]      |                                ^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]      |
[INFO] [stdout] 1626 |     fn cause(&self) -> Option<&dyn error::Error> {
[INFO] [stdout]      |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]     --> src/lib.rs:1656:32
[INFO] [stdout]      |
[INFO] [stdout] 1656 |     fn cause(&self) -> Option<&error::Error> {
[INFO] [stdout]      |                                ^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]      |
[INFO] [stdout] 1656 |     fn cause(&self) -> Option<&dyn error::Error> {
[INFO] [stdout]      |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::sync::atomic::AtomicUsize::compare_and_swap`: Use `compare_exchange` or `compare_exchange_weak` instead
[INFO] [stdout]    --> src/oneshot.rs:155:27
[INFO] [stdout]     |
[INFO] [stdout] 155 |             if self.state.compare_and_swap(EMPTY, ptr, Ordering::SeqCst) == EMPTY {
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::sync::atomic::AtomicUsize::compare_and_swap`: Use `compare_exchange` or `compare_exchange_weak` instead
[INFO] [stdout]    --> src/oneshot.rs:187:32
[INFO] [stdout]     |
[INFO] [stdout] 187 |                     self.state.compare_and_swap(DATA, EMPTY, Ordering::SeqCst);
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::sync::atomic::AtomicUsize::compare_and_swap`: Use `compare_exchange` or `compare_exchange_weak` instead
[INFO] [stdout]    --> src/oneshot.rs:308:30
[INFO] [stdout]     |
[INFO] [stdout] 308 |             match self.state.compare_and_swap(EMPTY, ptr, Ordering::SeqCst) {
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::sync::atomic::AtomicUsize::compare_and_swap`: Use `compare_exchange` or `compare_exchange_weak` instead
[INFO] [stdout]    --> src/oneshot.rs:356:31
[INFO] [stdout]     |
[INFO] [stdout] 356 |             ptr => self.state.compare_and_swap(ptr, EMPTY, Ordering::SeqCst)
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::sync::atomic::AtomicIsize::compare_and_swap`: Use `compare_exchange` or `compare_exchange_weak` instead
[INFO] [stdout]    --> src/shared.rs:377:32
[INFO] [stdout]     |
[INFO] [stdout] 377 |             let cnt = self.cnt.compare_and_swap(steals, DISCONNECTED, Ordering::SeqCst);
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::sync::atomic::AtomicIsize::compare_and_swap`: Use `compare_exchange` or `compare_exchange_weak` instead
[INFO] [stdout]    --> src/stream.rs:315:32
[INFO] [stdout]     |
[INFO] [stdout] 315 |             let cnt = self.cnt.compare_and_swap(
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> src/lib.rs:1351:17
[INFO] [stdout]      |
[INFO] [stdout] 1351 |     pub fn iter(&self) -> Iter<T> {
[INFO] [stdout]      |                 ^^^^^     ^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]      |                 |
[INFO] [stdout]      |                 the lifetime is elided here
[INFO] [stdout]      |
[INFO] [stdout]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]      = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]      |
[INFO] [stdout] 1351 |     pub fn iter(&self) -> Iter<'_, T> {
[INFO] [stdout]      |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> src/lib.rs:1393:21
[INFO] [stdout]      |
[INFO] [stdout] 1393 |     pub fn try_iter(&self) -> TryIter<T> {
[INFO] [stdout]      |                     ^^^^^     ^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     the lifetime is elided here
[INFO] [stdout]      |
[INFO] [stdout]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]      |
[INFO] [stdout] 1393 |     pub fn try_iter(&self) -> TryIter<'_, T> {
[INFO] [stdout]      |                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/shared.rs:89:26
[INFO] [stdout]    |
[INFO] [stdout] 89 |     pub fn postinit_lock(&self) -> MutexGuard<()> {
[INFO] [stdout]    |                          ^^^^^     ^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                          |
[INFO] [stdout]    |                          the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 89 |     pub fn postinit_lock(&self) -> MutexGuard<'_, ()> {
[INFO] [stdout]    |                                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/sync.rs:196:26
[INFO] [stdout]     |
[INFO] [stdout] 196 |     fn acquire_send_slot(&self) -> MutexGuard<State<T>> {
[INFO] [stdout]     |                          ^^^^^     ^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                          |
[INFO] [stdout]     |                          the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 196 |     fn acquire_send_slot(&self) -> MutexGuard<'_, State<T>> {
[INFO] [stdout]     |                                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary braces around block return value
[INFO] [stdout]    --> src/select.rs:390:34
[INFO] [stdout]     |
[INFO] [stdout] 390 |             _bar = rx2.recv() => { panic!() }
[INFO] [stdout]     |                                  ^^        ^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_braces)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these braces
[INFO] [stdout]     |
[INFO] [stdout] 390 -             _bar = rx2.recv() => { panic!() }
[INFO] [stdout] 390 +             _bar = rx2.recv() => panic!()
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary braces around block return value
[INFO] [stdout]    --> src/select.rs:394:34
[INFO] [stdout]     |
[INFO] [stdout] 394 |             _foo = rx1.recv() => { panic!() },
[INFO] [stdout]     |                                  ^^        ^^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these braces
[INFO] [stdout]     |
[INFO] [stdout] 394 -             _foo = rx1.recv() => { panic!() },
[INFO] [stdout] 394 +             _foo = rx1.recv() => panic!(),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary braces around block return value
[INFO] [stdout]    --> src/select.rs:395:33
[INFO] [stdout]     |
[INFO] [stdout] 395 |             bar = rx2.recv() => { assert_eq!(bar.unwrap(), 2) }
[INFO] [stdout]     |                                 ^^                           ^^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these braces
[INFO] [stdout]     |
[INFO] [stdout] 395 -             bar = rx2.recv() => { assert_eq!(bar.unwrap(), 2) }
[INFO] [stdout] 395 +             bar = rx2.recv() => assert_eq!(bar.unwrap(), 2)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary braces around block return value
[INFO] [stdout]    --> src/select.rs:400:34
[INFO] [stdout]     |
[INFO] [stdout] 400 |             _bar = rx2.recv() => { panic!() }
[INFO] [stdout]     |                                  ^^        ^^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these braces
[INFO] [stdout]     |
[INFO] [stdout] 400 -             _bar = rx2.recv() => { panic!() }
[INFO] [stdout] 400 +             _bar = rx2.recv() => panic!()
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary braces around block return value
[INFO] [stdout]    --> src/select.rs:417:34
[INFO] [stdout]     |
[INFO] [stdout] 417 |             _foo = rx1.recv() => { panic!("1") },
[INFO] [stdout]     |                                  ^^           ^^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these braces
[INFO] [stdout]     |
[INFO] [stdout] 417 -             _foo = rx1.recv() => { panic!("1") },
[INFO] [stdout] 417 +             _foo = rx1.recv() => panic!("1"),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary braces around block return value
[INFO] [stdout]    --> src/select.rs:418:34
[INFO] [stdout]     |
[INFO] [stdout] 418 |             _foo = rx2.recv() => { panic!("2") },
[INFO] [stdout]     |                                  ^^           ^^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these braces
[INFO] [stdout]     |
[INFO] [stdout] 418 -             _foo = rx2.recv() => { panic!("2") },
[INFO] [stdout] 418 +             _foo = rx2.recv() => panic!("2"),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary braces around block return value
[INFO] [stdout]    --> src/select.rs:419:34
[INFO] [stdout]     |
[INFO] [stdout] 419 |             _foo = rx3.recv() => { panic!("3") },
[INFO] [stdout]     |                                  ^^           ^^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these braces
[INFO] [stdout]     |
[INFO] [stdout] 419 -             _foo = rx3.recv() => { panic!("3") },
[INFO] [stdout] 419 +             _foo = rx3.recv() => panic!("3"),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary braces around block return value
[INFO] [stdout]    --> src/select.rs:420:34
[INFO] [stdout]     |
[INFO] [stdout] 420 |             _foo = rx4.recv() => { panic!("4") },
[INFO] [stdout]     |                                  ^^           ^^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these braces
[INFO] [stdout]     |
[INFO] [stdout] 420 -             _foo = rx4.recv() => { panic!("4") },
[INFO] [stdout] 420 +             _foo = rx4.recv() => panic!("4"),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary braces around block return value
[INFO] [stdout]    --> src/select.rs:432:33
[INFO] [stdout]     |
[INFO] [stdout] 432 |             _a1 = rx1.recv() => { panic!() },
[INFO] [stdout]     |                                 ^^        ^^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these braces
[INFO] [stdout]     |
[INFO] [stdout] 432 -             _a1 = rx1.recv() => { panic!() },
[INFO] [stdout] 432 +             _a1 = rx1.recv() => panic!(),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary braces around block return value
[INFO] [stdout]    --> src/select.rs:452:32
[INFO] [stdout]     |
[INFO] [stdout] 452 |             _b = rx2.recv() => { panic!() }
[INFO] [stdout]     |                                ^^        ^^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these braces
[INFO] [stdout]     |
[INFO] [stdout] 452 -             _b = rx2.recv() => { panic!() }
[INFO] [stdout] 452 +             _b = rx2.recv() => panic!()
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary braces around block return value
[INFO] [stdout]    --> src/select.rs:456:31
[INFO] [stdout]     |
[INFO] [stdout] 456 |             a = rx1.recv() => { assert!(a.is_err()) },
[INFO] [stdout]     |                               ^^                   ^^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these braces
[INFO] [stdout]     |
[INFO] [stdout] 456 -             a = rx1.recv() => { assert!(a.is_err()) },
[INFO] [stdout] 456 +             a = rx1.recv() => assert!(a.is_err()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary braces around block return value
[INFO] [stdout]    --> src/select.rs:457:32
[INFO] [stdout]     |
[INFO] [stdout] 457 |             _b = rx2.recv() => { panic!() }
[INFO] [stdout]     |                                ^^        ^^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these braces
[INFO] [stdout]     |
[INFO] [stdout] 457 -             _b = rx2.recv() => { panic!() }
[INFO] [stdout] 457 +             _b = rx2.recv() => panic!()
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/select.rs:108:19
[INFO] [stdout]     |
[INFO] [stdout] 108 |     packet: &'rx (Packet+'rx),
[INFO] [stdout]     |                   ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: `#[warn(bare_trait_objects)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 108 |     packet: &'rx (dyn Packet+'rx),
[INFO] [stdout]     |                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]     --> src/lib.rs:1538:32
[INFO] [stdout]      |
[INFO] [stdout] 1538 |     fn cause(&self) -> Option<&error::Error> {
[INFO] [stdout]      |                                ^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]      |
[INFO] [stdout] 1538 |     fn cause(&self) -> Option<&dyn error::Error> {
[INFO] [stdout]      |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]     --> src/lib.rs:1578:32
[INFO] [stdout]      |
[INFO] [stdout] 1578 |     fn cause(&self) -> Option<&error::Error> {
[INFO] [stdout]      |                                ^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]      |
[INFO] [stdout] 1578 |     fn cause(&self) -> Option<&dyn error::Error> {
[INFO] [stdout]      |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]     --> src/lib.rs:1595:32
[INFO] [stdout]      |
[INFO] [stdout] 1595 |     fn cause(&self) -> Option<&error::Error> {
[INFO] [stdout]      |                                ^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]      |
[INFO] [stdout] 1595 |     fn cause(&self) -> Option<&dyn error::Error> {
[INFO] [stdout]      |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]     --> src/lib.rs:1626:32
[INFO] [stdout]      |
[INFO] [stdout] 1626 |     fn cause(&self) -> Option<&error::Error> {
[INFO] [stdout]      |                                ^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]      |
[INFO] [stdout] 1626 |     fn cause(&self) -> Option<&dyn error::Error> {
[INFO] [stdout]      |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]     --> src/lib.rs:1656:32
[INFO] [stdout]      |
[INFO] [stdout] 1656 |     fn cause(&self) -> Option<&error::Error> {
[INFO] [stdout]      |                                ^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]      |
[INFO] [stdout] 1656 |     fn cause(&self) -> Option<&dyn error::Error> {
[INFO] [stdout]      |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::sync::atomic::AtomicUsize::compare_and_swap`: Use `compare_exchange` or `compare_exchange_weak` instead
[INFO] [stdout]    --> src/oneshot.rs:155:27
[INFO] [stdout]     |
[INFO] [stdout] 155 |             if self.state.compare_and_swap(EMPTY, ptr, Ordering::SeqCst) == EMPTY {
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::sync::atomic::AtomicUsize::compare_and_swap`: Use `compare_exchange` or `compare_exchange_weak` instead
[INFO] [stdout]    --> src/oneshot.rs:187:32
[INFO] [stdout]     |
[INFO] [stdout] 187 |                     self.state.compare_and_swap(DATA, EMPTY, Ordering::SeqCst);
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::sync::atomic::AtomicUsize::compare_and_swap`: Use `compare_exchange` or `compare_exchange_weak` instead
[INFO] [stdout]    --> src/oneshot.rs:308:30
[INFO] [stdout]     |
[INFO] [stdout] 308 |             match self.state.compare_and_swap(EMPTY, ptr, Ordering::SeqCst) {
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::sync::atomic::AtomicUsize::compare_and_swap`: Use `compare_exchange` or `compare_exchange_weak` instead
[INFO] [stdout]    --> src/oneshot.rs:356:31
[INFO] [stdout]     |
[INFO] [stdout] 356 |             ptr => self.state.compare_and_swap(ptr, EMPTY, Ordering::SeqCst)
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::sync::atomic::AtomicIsize::compare_and_swap`: Use `compare_exchange` or `compare_exchange_weak` instead
[INFO] [stdout]    --> src/shared.rs:377:32
[INFO] [stdout]     |
[INFO] [stdout] 377 |             let cnt = self.cnt.compare_and_swap(steals, DISCONNECTED, Ordering::SeqCst);
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::sync::atomic::AtomicIsize::compare_and_swap`: Use `compare_exchange` or `compare_exchange_weak` instead
[INFO] [stdout]    --> src/stream.rs:315:32
[INFO] [stdout]     |
[INFO] [stdout] 315 |             let cnt = self.cnt.compare_and_swap(
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> src/lib.rs:1351:17
[INFO] [stdout]      |
[INFO] [stdout] 1351 |     pub fn iter(&self) -> Iter<T> {
[INFO] [stdout]      |                 ^^^^^     ^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]      |                 |
[INFO] [stdout]      |                 the lifetime is elided here
[INFO] [stdout]      |
[INFO] [stdout]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]      = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]      |
[INFO] [stdout] 1351 |     pub fn iter(&self) -> Iter<'_, T> {
[INFO] [stdout]      |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> src/lib.rs:1393:21
[INFO] [stdout]      |
[INFO] [stdout] 1393 |     pub fn try_iter(&self) -> TryIter<T> {
[INFO] [stdout]      |                     ^^^^^     ^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     the lifetime is elided here
[INFO] [stdout]      |
[INFO] [stdout]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]      |
[INFO] [stdout] 1393 |     pub fn try_iter(&self) -> TryIter<'_, T> {
[INFO] [stdout]      |                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `clone` that must be used
[INFO] [stdout]    --> src/select.rs:522:13
[INFO] [stdout]     |
[INFO] [stdout] 522 |             tx1.clone();
[INFO] [stdout]     |             ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: cloning is often expensive and is not expected to have side effects
[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] 522 |             let _ = tx1.clone();
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `clone` that must be used
[INFO] [stdout]    --> src/select.rs:544:13
[INFO] [stdout]     |
[INFO] [stdout] 544 |             tx1.clone();
[INFO] [stdout]     |             ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: cloning is often expensive and is not expected to have side effects
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 544 |             let _ = tx1.clone();
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/shared.rs:89:26
[INFO] [stdout]    |
[INFO] [stdout] 89 |     pub fn postinit_lock(&self) -> MutexGuard<()> {
[INFO] [stdout]    |                          ^^^^^     ^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                          |
[INFO] [stdout]    |                          the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 89 |     pub fn postinit_lock(&self) -> MutexGuard<'_, ()> {
[INFO] [stdout]    |                                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/sync.rs:196:26
[INFO] [stdout]     |
[INFO] [stdout] 196 |     fn acquire_send_slot(&self) -> MutexGuard<State<T>> {
[INFO] [stdout]     |                          ^^^^^     ^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                          |
[INFO] [stdout]     |                          the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 196 |     fn acquire_send_slot(&self) -> MutexGuard<'_, State<T>> {
[INFO] [stdout]     |                                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 2.89s
[INFO] running `Command { std: "docker" "inspect" "3c5e47b7331dc56b86aebd4ac1a865a6707ed2bef67334325c0757c3958832dc", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "3c5e47b7331dc56b86aebd4ac1a865a6707ed2bef67334325c0757c3958832dc", kill_on_drop: false }`
[INFO] [stdout] 3c5e47b7331dc56b86aebd4ac1a865a6707ed2bef67334325c0757c3958832dc
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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=warn" "-e" "RUSTDOCFLAGS=--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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+1.91.0" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] ca0ff001c55bb9c02f65714634ed3d4e00f65519467941b300b7c722ff0648d1
[INFO] running `Command { std: "docker" "start" "-a" "ca0ff001c55bb9c02f65714634ed3d4e00f65519467941b300b7c722ff0648d1", kill_on_drop: false }`
[INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/select.rs:108:19
[INFO] [stderr]     |
[INFO] [stderr] 108 |     packet: &'rx (Packet+'rx),
[INFO] [stderr]     |                   ^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr]     = note: `#[warn(bare_trait_objects)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]     |
[INFO] [stderr] 108 |     packet: &'rx (dyn Packet+'rx),
[INFO] [stderr]     |                   +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]     --> src/lib.rs:1538:32
[INFO] [stderr]      |
[INFO] [stderr] 1538 |     fn cause(&self) -> Option<&error::Error> {
[INFO] [stderr]      |                                ^^^^^^^^^^^^
[INFO] [stderr]      |
[INFO] [stderr]      = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]      |
[INFO] [stderr] 1538 |     fn cause(&self) -> Option<&dyn error::Error> {
[INFO] [stderr]      |                                +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]     --> src/lib.rs:1578:32
[INFO] [stderr]      |
[INFO] [stderr] 1578 |     fn cause(&self) -> Option<&error::Error> {
[INFO] [stderr]      |                                ^^^^^^^^^^^^
[INFO] [stderr]      |
[INFO] [stderr]      = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]      |
[INFO] [stderr] 1578 |     fn cause(&self) -> Option<&dyn error::Error> {
[INFO] [stderr]      |                                +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]     --> src/lib.rs:1595:32
[INFO] [stderr]      |
[INFO] [stderr] 1595 |     fn cause(&self) -> Option<&error::Error> {
[INFO] [stderr]      |                                ^^^^^^^^^^^^
[INFO] [stderr]      |
[INFO] [stderr]      = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]      |
[INFO] [stderr] 1595 |     fn cause(&self) -> Option<&dyn error::Error> {
[INFO] [stderr]      |                                +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]     --> src/lib.rs:1626:32
[INFO] [stderr]      |
[INFO] [stderr] 1626 |     fn cause(&self) -> Option<&error::Error> {
[INFO] [stderr]      |                                ^^^^^^^^^^^^
[INFO] [stderr]      |
[INFO] [stderr]      = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]      |
[INFO] [stderr] 1626 |     fn cause(&self) -> Option<&dyn error::Error> {
[INFO] [stderr]      |                                +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]     --> src/lib.rs:1656:32
[INFO] [stderr]      |
[INFO] [stderr] 1656 |     fn cause(&self) -> Option<&error::Error> {
[INFO] [stderr]      |                                ^^^^^^^^^^^^
[INFO] [stderr]      |
[INFO] [stderr]      = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]      |
[INFO] [stderr] 1656 |     fn cause(&self) -> Option<&dyn error::Error> {
[INFO] [stderr]      |                                +++
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated method `std::sync::atomic::AtomicUsize::compare_and_swap`: Use `compare_exchange` or `compare_exchange_weak` instead
[INFO] [stderr]    --> src/oneshot.rs:155:27
[INFO] [stderr]     |
[INFO] [stderr] 155 |             if self.state.compare_and_swap(EMPTY, ptr, Ordering::SeqCst) == EMPTY {
[INFO] [stderr]     |                           ^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(deprecated)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated method `std::sync::atomic::AtomicUsize::compare_and_swap`: Use `compare_exchange` or `compare_exchange_weak` instead
[INFO] [stderr]    --> src/oneshot.rs:187:32
[INFO] [stderr]     |
[INFO] [stderr] 187 |                     self.state.compare_and_swap(DATA, EMPTY, Ordering::SeqCst);
[INFO] [stderr]     |                                ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated method `std::sync::atomic::AtomicUsize::compare_and_swap`: Use `compare_exchange` or `compare_exchange_weak` instead
[INFO] [stderr]    --> src/oneshot.rs:308:30
[INFO] [stderr]     |
[INFO] [stderr] 308 |             match self.state.compare_and_swap(EMPTY, ptr, Ordering::SeqCst) {
[INFO] [stderr]     |                              ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated method `std::sync::atomic::AtomicUsize::compare_and_swap`: Use `compare_exchange` or `compare_exchange_weak` instead
[INFO] [stderr]    --> src/oneshot.rs:356:31
[INFO] [stderr]     |
[INFO] [stderr] 356 |             ptr => self.state.compare_and_swap(ptr, EMPTY, Ordering::SeqCst)
[INFO] [stderr]     |                               ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated method `std::sync::atomic::AtomicIsize::compare_and_swap`: Use `compare_exchange` or `compare_exchange_weak` instead
[INFO] [stderr]    --> src/shared.rs:377:32
[INFO] [stderr]     |
[INFO] [stderr] 377 |             let cnt = self.cnt.compare_and_swap(steals, DISCONNECTED, Ordering::SeqCst);
[INFO] [stderr]     |                                ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated method `std::sync::atomic::AtomicIsize::compare_and_swap`: Use `compare_exchange` or `compare_exchange_weak` instead
[INFO] [stderr]    --> src/stream.rs:315:32
[INFO] [stderr]     |
[INFO] [stderr] 315 |             let cnt = self.cnt.compare_and_swap(
[INFO] [stderr]     |                                ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]     --> src/lib.rs:1351:17
[INFO] [stderr]      |
[INFO] [stderr] 1351 |     pub fn iter(&self) -> Iter<T> {
[INFO] [stderr]      |                 ^^^^^     ^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]      |                 |
[INFO] [stderr]      |                 the lifetime is elided here
[INFO] [stderr]      |
[INFO] [stderr]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr]      = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]      |
[INFO] [stderr] 1351 |     pub fn iter(&self) -> Iter<'_, T> {
[INFO] [stderr]      |                                +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]     --> src/lib.rs:1393:21
[INFO] [stderr]      |
[INFO] [stderr] 1393 |     pub fn try_iter(&self) -> TryIter<T> {
[INFO] [stderr]      |                     ^^^^^     ^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]      |                     |
[INFO] [stderr]      |                     the lifetime is elided here
[INFO] [stderr]      |
[INFO] [stderr]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]      |
[INFO] [stderr] 1393 |     pub fn try_iter(&self) -> TryIter<'_, T> {
[INFO] [stderr]      |                                       +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]   --> src/shared.rs:89:26
[INFO] [stderr]    |
[INFO] [stderr] 89 |     pub fn postinit_lock(&self) -> MutexGuard<()> {
[INFO] [stderr]    |                          ^^^^^     ^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]    |                          |
[INFO] [stderr]    |                          the lifetime is elided here
[INFO] [stderr]    |
[INFO] [stderr]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]    |
[INFO] [stderr] 89 |     pub fn postinit_lock(&self) -> MutexGuard<'_, ()> {
[INFO] [stderr]    |                                               +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/sync.rs:196:26
[INFO] [stderr]     |
[INFO] [stderr] 196 |     fn acquire_send_slot(&self) -> MutexGuard<State<T>> {
[INFO] [stderr]     |                          ^^^^^     ^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]     |                          |
[INFO] [stderr]     |                          the lifetime is elided here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 196 |     fn acquire_send_slot(&self) -> MutexGuard<'_, State<T>> {
[INFO] [stderr]     |                                               +++
[INFO] [stderr] 
[INFO] [stderr] warning: `parking_lot_mpsc` (lib) generated 16 warnings (run `cargo fix --lib -p parking_lot_mpsc` to apply 10 suggestions)
[INFO] [stderr] warning: unnecessary braces around block return value
[INFO] [stderr]    --> src/select.rs:390:34
[INFO] [stderr]     |
[INFO] [stderr] 390 |             _bar = rx2.recv() => { panic!() }
[INFO] [stderr]     |                                  ^^        ^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_braces)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] help: remove these braces
[INFO] [stderr]     |
[INFO] [stderr] 390 -             _bar = rx2.recv() => { panic!() }
[INFO] [stderr] 390 +             _bar = rx2.recv() => panic!()
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary braces around block return value
[INFO] [stderr]    --> src/select.rs:394:34
[INFO] [stderr]     |
[INFO] [stderr] 394 |             _foo = rx1.recv() => { panic!() },
[INFO] [stderr]     |                                  ^^        ^^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these braces
[INFO] [stderr]     |
[INFO] [stderr] 394 -             _foo = rx1.recv() => { panic!() },
[INFO] [stderr] 394 +             _foo = rx1.recv() => panic!(),
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary braces around block return value
[INFO] [stderr]    --> src/select.rs:395:33
[INFO] [stderr]     |
[INFO] [stderr] 395 |             bar = rx2.recv() => { assert_eq!(bar.unwrap(), 2) }
[INFO] [stderr]     |                                 ^^                           ^^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these braces
[INFO] [stderr]     |
[INFO] [stderr] 395 -             bar = rx2.recv() => { assert_eq!(bar.unwrap(), 2) }
[INFO] [stderr] 395 +             bar = rx2.recv() => assert_eq!(bar.unwrap(), 2)
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary braces around block return value
[INFO] [stderr]    --> src/select.rs:400:34
[INFO] [stderr]     |
[INFO] [stderr] 400 |             _bar = rx2.recv() => { panic!() }
[INFO] [stderr]     |                                  ^^        ^^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these braces
[INFO] [stderr]     |
[INFO] [stderr] 400 -             _bar = rx2.recv() => { panic!() }
[INFO] [stderr] 400 +             _bar = rx2.recv() => panic!()
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary braces around block return value
[INFO] [stderr]    --> src/select.rs:417:34
[INFO] [stderr]     |
[INFO] [stderr] 417 |             _foo = rx1.recv() => { panic!("1") },
[INFO] [stderr]     |                                  ^^           ^^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these braces
[INFO] [stderr]     |
[INFO] [stderr] 417 -             _foo = rx1.recv() => { panic!("1") },
[INFO] [stderr] 417 +             _foo = rx1.recv() => panic!("1"),
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary braces around block return value
[INFO] [stderr]    --> src/select.rs:418:34
[INFO] [stderr]     |
[INFO] [stderr] 418 |             _foo = rx2.recv() => { panic!("2") },
[INFO] [stderr]     |                                  ^^           ^^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these braces
[INFO] [stderr]     |
[INFO] [stderr] 418 -             _foo = rx2.recv() => { panic!("2") },
[INFO] [stderr] 418 +             _foo = rx2.recv() => panic!("2"),
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary braces around block return value
[INFO] [stderr]    --> src/select.rs:419:34
[INFO] [stderr]     |
[INFO] [stderr] 419 |             _foo = rx3.recv() => { panic!("3") },
[INFO] [stderr]     |                                  ^^           ^^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these braces
[INFO] [stderr]     |
[INFO] [stderr] 419 -             _foo = rx3.recv() => { panic!("3") },
[INFO] [stderr] 419 +             _foo = rx3.recv() => panic!("3"),
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary braces around block return value
[INFO] [stderr]    --> src/select.rs:420:34
[INFO] [stderr]     |
[INFO] [stderr] 420 |             _foo = rx4.recv() => { panic!("4") },
[INFO] [stderr]     |                                  ^^           ^^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these braces
[INFO] [stderr]     |
[INFO] [stderr] 420 -             _foo = rx4.recv() => { panic!("4") },
[INFO] [stderr] 420 +             _foo = rx4.recv() => panic!("4"),
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary braces around block return value
[INFO] [stderr]    --> src/select.rs:432:33
[INFO] [stderr]     |
[INFO] [stderr] 432 |             _a1 = rx1.recv() => { panic!() },
[INFO] [stderr]     |                                 ^^        ^^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these braces
[INFO] [stderr]     |
[INFO] [stderr] 432 -             _a1 = rx1.recv() => { panic!() },
[INFO] [stderr] 432 +             _a1 = rx1.recv() => panic!(),
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary braces around block return value
[INFO] [stderr]    --> src/select.rs:452:32
[INFO] [stderr]     |
[INFO] [stderr] 452 |             _b = rx2.recv() => { panic!() }
[INFO] [stderr]     |                                ^^        ^^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these braces
[INFO] [stderr]     |
[INFO] [stderr] 452 -             _b = rx2.recv() => { panic!() }
[INFO] [stderr] 452 +             _b = rx2.recv() => panic!()
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary braces around block return value
[INFO] [stderr]    --> src/select.rs:456:31
[INFO] [stderr]     |
[INFO] [stderr] 456 |             a = rx1.recv() => { assert!(a.is_err()) },
[INFO] [stderr]     |                               ^^                   ^^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these braces
[INFO] [stderr]     |
[INFO] [stderr] 456 -             a = rx1.recv() => { assert!(a.is_err()) },
[INFO] [stderr] 456 +             a = rx1.recv() => assert!(a.is_err()),
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary braces around block return value
[INFO] [stderr]    --> src/select.rs:457:32
[INFO] [stderr]     |
[INFO] [stderr] 457 |             _b = rx2.recv() => { panic!() }
[INFO] [stderr]     |                                ^^        ^^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these braces
[INFO] [stderr]     |
[INFO] [stderr] 457 -             _b = rx2.recv() => { panic!() }
[INFO] [stderr] 457 +             _b = rx2.recv() => panic!()
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unused return value of `clone` that must be used
[INFO] [stderr]    --> src/select.rs:522:13
[INFO] [stderr]     |
[INFO] [stderr] 522 |             tx1.clone();
[INFO] [stderr]     |             ^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: cloning is often expensive and is not expected to have side effects
[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] 522 |             let _ = tx1.clone();
[INFO] [stderr]     |             +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused return value of `clone` that must be used
[INFO] [stderr]    --> src/select.rs:544:13
[INFO] [stderr]     |
[INFO] [stderr] 544 |             tx1.clone();
[INFO] [stderr]     |             ^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: cloning is often expensive and is not expected to have side effects
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 544 |             let _ = tx1.clone();
[INFO] [stderr]     |             +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: `parking_lot_mpsc` (lib test) generated 30 warnings (16 duplicates) (run `cargo fix --lib -p parking_lot_mpsc --tests` to apply 12 suggestions)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.06s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/parking_lot_mpsc-c66c5d84dac98ebb)
[INFO] [stdout] 
[INFO] [stdout] running 139 tests
[INFO] [stdout] test mpsc_queue::tests::test_full ... ok
[INFO] [stdout] test select::tests::both_ready ... ok
[INFO] [stdout] test select::tests::fmt_debug_handle ... ok
[INFO] [stdout] test select::tests::fmt_debug_select ... ok
[INFO] [stdout] test select::tests::preflight1 ... ok
[INFO] [stdout] test select::tests::cloning2 ... ok
[INFO] [stdout] test select::tests::cloning ... ok
[INFO] [stdout] test select::tests::closed ... ok
[INFO] [stdout] test select::tests::preflight2 ... ok
[INFO] [stdout] test select::tests::preflight7 ... ok
[INFO] [stdout] test select::tests::preflight8 ... ok
[INFO] [stdout] test select::tests::preflight6 ... ok
[INFO] [stdout] test select::tests::smoke2 ... ok
[INFO] [stdout] test select::tests::preflight9 ... ok
[INFO] [stdout] test select::tests::smoke ... ok
[INFO] [stdout] test select::tests::sync1 ... ok
[INFO] [stdout] test select::tests::preflight3 ... ok
[INFO] [stdout] test spsc_queue::tests::drop_full ... ok
[INFO] [stdout] test spsc_queue::tests::peek ... ok
[INFO] [stdout] test spsc_queue::tests::smoke ... ok
[INFO] [stdout] test spsc_queue::tests::smoke_bound ... ok
[INFO] [stdout] test select::tests::cloning3 ... ok
[INFO] [stdout] test mpsc_queue::tests::test ... ok
[INFO] [stdout] test sync_tests::fmt_debug_sender ... ok
[INFO] [stdout] test select::tests::oneshot_data_waiting ... ok
[INFO] [stdout] test sync_tests::fmt_debug_sync_sender ... ok
[INFO] [stdout] test sync_tests::drop_full ... ok
[INFO] [stdout] test sync_tests::fmt_debug_recv ... ok
[INFO] [stdout] test select::tests::preflight4 ... ok
[INFO] [stdout] test sync_tests::oneshot_multi_thread_close_stress ... ok
[INFO] [stdout] test sync_tests::oneshot_multi_thread_recv_close_stress ... ok
[INFO] [stdout] test select::tests::preflight5 ... ok
[INFO] [stdout] test select::tests::unblocks ... ok
[INFO] [stdout] test select::tests::sync2 ... ok
[INFO] [stdout] test select::tests::sync3 ... ok
[INFO] [stdout] test select::tests::stream_data_waiting ... ok
[INFO] [stdout] test sync_tests::oneshot_multi_task_recv_then_send ... ok
[INFO] [stdout] test sync_tests::oneshot_multi_thread_send_recv_stress ... ok
[INFO] [stdout] test sync_tests::chan_gone_concurrent ... ok
[INFO] [stdout] test select::tests::shared_data_waiting ... ok
[INFO] [stdout] test sync_tests::oneshot_single_thread_close_port_first ... ok
[INFO] [stdout] test sync_tests::oneshot_single_thread_peek_close ... ok
[INFO] [stdout] test sync_tests::oneshot_single_thread_send_then_recv ... ok
[INFO] [stdout] test sync_tests::oneshot_single_thread_try_recv_closed ... ok
[INFO] [stdout] test sync_tests::oneshot_single_thread_close_chan_first ... ok
[INFO] [stdout] test sync_tests::oneshot_single_thread_try_recv_open ... ok
[INFO] [stdout] test sync_tests::oneshot_single_thread_try_send_closed ... ok
[INFO] [stdout] test sync_tests::oneshot_single_thread_peek_data ... ok
[INFO] [stdout] test sync_tests::oneshot_single_thread_peek_open ... ok
[INFO] [stdout] test sync_tests::oneshot_single_thread_try_recv_closed_with_data ... ok
[INFO] [stdout] test sync_tests::oneshot_single_thread_send_port_close ... ok
[INFO] [stdout] test sync_tests::oneshot_single_thread_try_send_closed2 ... ok
[INFO] [stdout] test sync_tests::oneshot_single_thread_try_send_open ... ok
[INFO] [stdout] test sync_tests::recv_timeout ... ok
[INFO] [stdout] test sync_tests::port_gone_concurrent_shared ... ok
[INFO] [stdout] test sync_tests::port_gone_concurrent ... ok
[INFO] [stdout] test sync_tests::send2 ... ok
[INFO] [stdout] test sync_tests::send3 ... ok
[INFO] [stdout] test sync_tests::send4 ... ok
[INFO] [stdout] test sync_tests::destroy_upgraded_shared_port_when_sender_still_active ... ok
[INFO] [stdout] test sync_tests::smoke ... ok
[INFO] [stdout] test sync_tests::send1 ... ok
[INFO] [stdout] test sync_tests::smoke_chan_gone ... ok
[INFO] [stdout] test sync_tests::stream_send_recv_stress ... ok
[INFO] [stdout] test sync_tests::smoke_port_gone ... ok
[INFO] [stdout] test sync_tests::smoke_shared ... ok
[INFO] [stdout] test sync_tests::smoke_shared_port_gone2 ... ok
[INFO] [stdout] test sync_tests::smoke_chan_gone_shared ... ok
[INFO] [stdout] test sync_tests::smoke_threads ... ok
[INFO] [stdout] test sync_tests::try_send1 ... ok
[INFO] [stdout] test sync_tests::test_recv_iter_break ... ok
[INFO] [stdout] test sync_tests::try_recv_states ... ok
[INFO] [stdout] test sync_tests::recv_a_lot ... ok
[INFO] [stdout] test sync_tests::try_send2 ... ok
[INFO] [stdout] test sync_tests::try_send3 ... ok
[INFO] [stdout] test sync_tests::test_nested_recv_iter ... ok
[INFO] [stdout] test tests::drop_full_shared ... ok
[INFO] [stdout] test tests::issue_32114 ... ok
[INFO] [stdout] test tests::chan_gone_concurrent ... ok
[INFO] [stdout] test tests::oneshot_multi_task_recv_then_send ... ok
[INFO] [stdout] test tests::oneshot_multi_thread_close_stress ... ok
[INFO] [stdout] test tests::no_runtime ... ok
[INFO] [stdout] test tests::oneshot_multi_thread_recv_close_stress ... ok
[INFO] [stdout] test tests::oneshot_multi_thread_send_recv_stress ... ok
[INFO] [stdout] test tests::oneshot_single_thread_close_chan_first ... ok
[INFO] [stdout] test tests::oneshot_single_thread_close_port_first ... ok
[INFO] [stdout] test tests::oneshot_single_thread_peek_close ... ok
[INFO] [stdout] test tests::oneshot_single_thread_peek_data ... ok
[INFO] [stdout] test tests::oneshot_single_thread_peek_open ... ok
[INFO] [stdout] test tests::destroy_upgraded_shared_port_when_sender_still_active ... ok
[INFO] [stdout] test tests::drop_full ... ok
[INFO] [stdout] test sync_tests::oneshot_multi_thread_send_close_stress ... ok
[INFO] [stdout] test tests::oneshot_single_thread_send_port_close ... ok
[INFO] [stdout] test tests::oneshot_single_thread_send_then_recv ... ok
[INFO] [stdout] test tests::oneshot_single_thread_try_recv_closed ... ok
[INFO] [stdout] test tests::oneshot_single_thread_try_recv_open ... ok
[INFO] [stdout] test tests::oneshot_single_thread_try_send_open ... ok
[INFO] [stdout] test tests::oneshot_single_thread_recv_timeout ... ok
[INFO] [stdout] test tests::port_gone_concurrent ... ok
[INFO] [stdout] test tests::port_gone_concurrent_shared ... ok
[INFO] [stdout] test tests::oneshot_single_thread_try_send_closed ... ok
[INFO] [stdout] test sync_tests::oneshot_multi_task_recv_then_close ... ok
[INFO] [stdout] test sync_tests::oneshot_single_thread_recv_chan_close ... ok
[INFO] [stdout] test tests::oneshot_single_thread_recv_chan_close ... ok
[INFO] [stdout] test tests::oneshot_multi_task_recv_then_close ... ok
[INFO] [stdout] test tests::oneshot_multi_thread_send_close_stress ... ok
[INFO] [stdout] test tests::recv_timeout_upgrade ... ok
[INFO] [stdout] test tests::recv_from_outside_runtime ... ok
[INFO] [stdout] test tests::smoke_chan_gone_shared ... ok
[INFO] [stdout] test tests::shared_recv_timeout ... ok
[INFO] [stdout] test tests::send_from_outside_runtime ... ok
[INFO] [stdout] test tests::smoke_chan_gone ... ok
[INFO] [stdout] test tests::smoke_port_gone ... ok
[INFO] [stdout] test tests::smoke_shared ... ok
[INFO] [stdout] test tests::smoke_shared_port_gone ... ok
[INFO] [stdout] test tests::smoke_shared_port_gone2 ... ok
[INFO] [stdout] test tests::smoke ... ok
[INFO] [stdout] test tests::smoke_threads ... ok
[INFO] [stdout] test tests::stream_send_recv_stress ... ok
[INFO] [stdout] test spsc_queue::tests::stress ... ok
[INFO] [stdout] test tests::test_recv_into_iter_owned ... ok
[INFO] [stdout] test tests::test_recv_iter_break ... ok
[INFO] [stdout] test tests::test_recv_try_iter ... ok
[INFO] [stdout] test tests::try_recv_states ... ok
[INFO] [stdout] test tests::recv_a_lot ... ok
[INFO] [stdout] test tests::test_recv_into_iter_borrowed ... ok
[INFO] [stdout] test tests::stress ... ok
[INFO] [stdout] test tests::test_nested_recv_iter ... ok
[INFO] [stdout] test tests::shared_chan_stress ... ok
[INFO] [stdout] test sync_tests::shared_chan_stress ... ok
[INFO] [stdout] test tests::stress_shared ... ok
[INFO] [stdout] test sync_tests::issue_15761 ... ok
[INFO] [stdout] test tests::stress_recv_timeout_shared ... ok
[INFO] [stdout] test sync_tests::stress_recv_timeout_shared ... ok
[INFO] [stdout] test sync_tests::stress ... ok
[INFO] [stdout] test sync_tests::stress_shared ... ok
[INFO] [stdout] test select::tests::stress ... ok
[INFO] [stdout] test sync_tests::stress_recv_timeout_two_threads ... ok
[INFO] [stdout] test tests::stress_recv_timeout_two_threads ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 139 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 10.41s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests parking_lot_mpsc
[INFO] [stdout] 
[INFO] [stdout] running 24 tests
[INFO] [stdout] test src/lib.rs - Receiver<T>::recv_timeout (line 1244) - compile ... ok
[INFO] [stdout] test src/lib.rs - Receiver<T>::recv_timeout (line 1225) - compile ... ok
[INFO] [stdout] test src/lib.rs - Receiver<T>::try_iter (line 1364) - compile ... ok
[INFO] [stdout] test src/lib.rs - Sender<T>::send (line 790) ... ok
[INFO] [stdout] test src/lib.rs - Receiver<T>::try_recv (line 1056) ... ok
[INFO] [stdout] test src/lib.rs - Receiver<T>::recv (line 1148) ... ok
[INFO] [stdout] test src/lib.rs - Receiver<T>::recv (line 1132) ... ok
[INFO] [stdout] test src/lib.rs - Sender (line 463) ... ok
[INFO] [stdout] test src/lib.rs - (line 102) ... ok
[INFO] [stdout] test src/lib.rs - SyncSender<T>::send (line 933) ... ok
[INFO] [stdout] test src/lib.rs - (line 65) ... ok
[INFO] [stdout] test src/lib.rs - (line 114) ... ok
[INFO] [stdout] test src/lib.rs - Receiver<T>::iter (line 1333) ... ok
[INFO] [stdout] test src/lib.rs - SyncSender (line 508) ... ok
[INFO] [stdout] test src/lib.rs - IntoIter (line 432) ... ok
[INFO] [stdout] test src/lib.rs - Iter (line 354) ... ok
[INFO] [stdout] test src/select.rs - select::Select::new (line 139) ... ok
[INFO] [stdout] test src/lib.rs - SyncSender<T>::try_send (line 969) ... ok
[INFO] [stdout] test src/lib.rs - channel (line 686) ... ok
[INFO] [stdout] test src/lib.rs - (line 79) ... ok
[INFO] [stdout] test src/select.rs - select (line 29) ... ok
[INFO] [stdout] test src/lib.rs - sync_channel (line 738) ... ok
[INFO] [stdout] test src/lib.rs - Receiver (line 313) ... ok
[INFO] [stdout] test src/lib.rs - TryIter (line 390) ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 24 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 3.74s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "ca0ff001c55bb9c02f65714634ed3d4e00f65519467941b300b7c722ff0648d1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ca0ff001c55bb9c02f65714634ed3d4e00f65519467941b300b7c722ff0648d1", kill_on_drop: false }`
[INFO] [stdout] ca0ff001c55bb9c02f65714634ed3d4e00f65519467941b300b7c722ff0648d1
