[INFO] fetching crate syncbox 0.2.4...
[INFO] testing syncbox-0.2.4 against beta-2026-04-21 for beta-1.96-2
[INFO] extracting crate syncbox 0.2.4 into /workspace/builds/worker-3-tc2/source
[INFO] started tweaking crates.io crate syncbox 0.2.4
[INFO] removed 1 missing tests
[INFO] finished tweaking crates.io crate syncbox 0.2.4
[INFO] tweaked toml for crates.io crate syncbox 0.2.4 written to /workspace/builds/worker-3-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate syncbox 0.2.4 on toolchain beta-2026-04-21
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2026-04-21" "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" "+beta-2026-04-21" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]      Locking 19 packages to latest compatible versions
[INFO] [stderr]       Adding env_logger v0.3.5 (available: v0.11.10)
[INFO] [stderr]       Adding log v0.3.9 (available: v0.4.29)
[INFO] [stderr]       Adding time v0.1.45 (available: v0.3.47)
[INFO] [stderr]       Adding wasi v0.10.0+wasi-snapshot-preview1 (available: v0.10.2+wasi-snapshot-preview1)
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2026-04-21" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: `package.edition` is unspecified, defaulting to `2015` while the latest is `2024`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-04-21" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 931579316b52d9efd79223d5b93f019afb367b459b8fefddb06538e505a4a2ee
[INFO] running `Command { std: "docker" "start" "-a" "931579316b52d9efd79223d5b93f019afb367b459b8fefddb06538e505a4a2ee", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "931579316b52d9efd79223d5b93f019afb367b459b8fefddb06538e505a4a2ee", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "931579316b52d9efd79223d5b93f019afb367b459b8fefddb06538e505a4a2ee", kill_on_drop: false }`
[INFO] [stdout] 931579316b52d9efd79223d5b93f019afb367b459b8fefddb06538e505a4a2ee
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-04-21" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] ec4556cff8d54c9150b38c4d717eacf58ae24c91a285dfc29df2ed9a5fe5d4df
[INFO] running `Command { std: "docker" "start" "-a" "ec4556cff8d54c9150b38c4d717eacf58ae24c91a285dfc29df2ed9a5fe5d4df", kill_on_drop: false }`
[INFO] [stderr] warning: `package.edition` is unspecified, defaulting to `2015` while the latest is `2024`
[INFO] [stderr]    Compiling log v0.3.9
[INFO] [stderr]    Compiling time v0.1.45
[INFO] [stderr]    Compiling syncbox v0.2.4 (/opt/rustwide/workdir)
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/thread_pool.rs:121:17
[INFO] [stdout]     |
[INFO] [stdout] 121 |     Delayed(Box<BoxedTask>, Duration),
[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: the lint level is defined here
[INFO] [stdout]    --> src/lib.rs:4:9
[INFO] [stdout]     |
[INFO] [stdout]   4 | #![deny(warnings)]
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout]     = note: `#[warn(bare_trait_objects)]` implied by `#[warn(warnings)]`
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 121 |     Delayed(Box<dyn BoxedTask>, Duration),
[INFO] [stdout]     |                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/run.rs:22:19
[INFO] [stdout]    |
[INFO] [stdout] 22 | impl Task for Box<TaskBox>{
[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] 22 | impl Task for Box<dyn TaskBox>{
[INFO] [stdout]    |                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::sync::atomic::Atomic::<usize>::compare_and_swap`: Use `compare_exchange` or `compare_exchange_weak` instead
[INFO] [stdout]    --> src/atomic.rs:121:22
[INFO] [stdout]     |
[INFO] [stdout] 121 |         AtomicUsize::compare_and_swap(self, old, new, order)
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` implied by `#[warn(warnings)]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::sync::atomic::Atomic::<usize>::compare_and_swap`: Use `compare_exchange` or `compare_exchange_weak` instead
[INFO] [stdout]    --> src/atomic.rs:156:20
[INFO] [stdout]     |
[INFO] [stdout] 156 |             self.v.compare_and_swap(old as usize, new as usize, order) as u64
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::sync::atomic::Atomic::<isize>::compare_and_swap`: Use `compare_exchange` or `compare_exchange_weak` instead
[INFO] [stdout]    --> src/atomic.rs:212:20
[INFO] [stdout]     |
[INFO] [stdout] 212 |             self.v.compare_and_swap(old as isize, new as isize, order) as i64
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::sync::atomic::Atomic::<usize>::compare_and_swap`: Use `compare_exchange` or `compare_exchange_weak` instead
[INFO] [stdout]    --> src/array_queue.rs:118:52
[INFO] [stdout]     |
[INFO] [stdout] 118 |                 let enqueue_pos = self.enqueue_pos.compare_and_swap(pos, pos+1, Relaxed);
[INFO] [stdout]     |                                                    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::sync::atomic::Atomic::<usize>::compare_and_swap`: Use `compare_exchange` or `compare_exchange_weak` instead
[INFO] [stdout]    --> src/array_queue.rs:145:52
[INFO] [stdout]     |
[INFO] [stdout] 145 |                 let dequeue_pos = self.dequeue_pos.compare_and_swap(pos, pos+1, Relaxed);
[INFO] [stdout]     |                                                    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::sync::Condvar::wait_timeout_ms`: replaced by `std::sync::Condvar::wait_timeout`
[INFO] [stdout]   --> src/delay_queue.rs:99:40
[INFO] [stdout]    |
[INFO] [stdout] 99 |             queue = self.inner.condvar.wait_timeout_ms(queue, timeout).unwrap().0;
[INFO] [stdout]    |                                        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::sync::Condvar::wait_timeout_ms`: replaced by `std::sync::Condvar::wait_timeout`
[INFO] [stdout]    --> src/delay_queue.rs:184:40
[INFO] [stdout]     |
[INFO] [stdout] 184 |                     self.inner.condvar.wait_timeout_ms(queue, timeout).unwrap().0
[INFO] [stdout]     |                                        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::sync::Condvar::wait_timeout_ms`: replaced by `std::sync::Condvar::wait_timeout`
[INFO] [stdout]    --> src/linked_queue.rs:188:38
[INFO] [stdout]     |
[INFO] [stdout] 188 |                 last = self.not_full.wait_timeout_ms(last, dur)
[INFO] [stdout]     |                                      ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::sync::Condvar::wait_timeout_ms`: replaced by `std::sync::Condvar::wait_timeout`
[INFO] [stdout]    --> src/linked_queue.rs:251:39
[INFO] [stdout]     |
[INFO] [stdout] 251 |                 head = self.not_empty.wait_timeout_ms(head, dur)
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::sync::atomic::Atomic::<usize>::compare_and_swap`: Use `compare_exchange` or `compare_exchange_weak` instead
[INFO] [stdout]    --> src/thread_pool.rs:676:34
[INFO] [stdout]     |
[INFO] [stdout] 676 |         let actual = self.atomic.compare_and_swap(expect.as_usize(), val.as_usize(), order);
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::sync::atomic::Atomic::<usize>::compare_and_swap`: Use `compare_exchange` or `compare_exchange_weak` instead
[INFO] [stdout]    --> src/thread_pool.rs:682:21
[INFO] [stdout]     |
[INFO] [stdout] 682 |         self.atomic.compare_and_swap(num, num + (1 << LIFECYCLE_BITS), order) == num
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::sync::atomic::Atomic::<usize>::compare_and_swap`: Use `compare_exchange` or `compare_exchange_weak` instead
[INFO] [stdout]    --> src/thread_pool.rs:691:21
[INFO] [stdout]     |
[INFO] [stdout] 691 |         self.atomic.compare_and_swap(num, num - (1 << LIFECYCLE_BITS), order) == num
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Queue`
[INFO] [stdout]  --> src/thread_pool.rs:1:19
[INFO] [stdout]   |
[INFO] [stdout] 1 | use {LinkedQueue, Queue, SyncQueue, Run, Task, Delayed, DelayQueue};
[INFO] [stdout]   |                   ^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` implied by `#[warn(warnings)]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/linked_queue.rs:315:21
[INFO] [stdout]     |
[INFO] [stdout] 315 | fn dequeue<T: Send>(mut head: &mut MutexGuard<NodePtr<T>>) -> T {
[INFO] [stdout]     |                     ----^^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` implied by `#[warn(warnings)]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/linked_queue.rs:323:36
[INFO] [stdout]     |
[INFO] [stdout] 323 | fn enqueue<T: Send>(node: Node<T>, mut last: &mut MutexGuard<NodePtr<T>>) {
[INFO] [stdout]     |                                    ----^^^^
[INFO] [stdout]     |                                    |
[INFO] [stdout]     |                                    help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.86s
[INFO] running `Command { std: "docker" "inspect" "ec4556cff8d54c9150b38c4d717eacf58ae24c91a285dfc29df2ed9a5fe5d4df", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ec4556cff8d54c9150b38c4d717eacf58ae24c91a285dfc29df2ed9a5fe5d4df", kill_on_drop: false }`
[INFO] [stdout] ec4556cff8d54c9150b38c4d717eacf58ae24c91a285dfc29df2ed9a5fe5d4df
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-04-21" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 1b368c09d88ee3411929efba666d7552d8253113d1bd5829246dd2c463c5de73
[INFO] running `Command { std: "docker" "start" "-a" "1b368c09d88ee3411929efba666d7552d8253113d1bd5829246dd2c463c5de73", kill_on_drop: false }`
[INFO] [stderr] warning: `package.edition` is unspecified, defaulting to `2015` while the latest is `2024`
[INFO] [stderr]    Compiling winapi-build v0.1.1
[INFO] [stderr]    Compiling winapi v0.2.8
[INFO] [stderr]    Compiling utf8-ranges v0.1.3
[INFO] [stderr]    Compiling regex-syntax v0.3.9
[INFO] [stderr]    Compiling memchr v0.1.11
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/thread_pool.rs:121:17
[INFO] [stdout]     |
[INFO] [stdout] 121 |     Delayed(Box<BoxedTask>, Duration),
[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: the lint level is defined here
[INFO] [stdout]    --> src/lib.rs:4:9
[INFO] [stdout]     |
[INFO] [stdout]   4 | #![deny(warnings)]
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout]     = note: `#[warn(bare_trait_objects)]` implied by `#[warn(warnings)]`
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 121 |     Delayed(Box<dyn BoxedTask>, Duration),
[INFO] [stdout]     |                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/run.rs:22:19
[INFO] [stdout]    |
[INFO] [stdout] 22 | impl Task for Box<TaskBox>{
[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] 22 | impl Task for Box<dyn TaskBox>{
[INFO] [stdout]    |                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::sync::atomic::Atomic::<usize>::compare_and_swap`: Use `compare_exchange` or `compare_exchange_weak` instead
[INFO] [stdout]    --> src/atomic.rs:121:22
[INFO] [stdout]     |
[INFO] [stdout] 121 |         AtomicUsize::compare_and_swap(self, old, new, order)
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` implied by `#[warn(warnings)]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::sync::atomic::Atomic::<usize>::compare_and_swap`: Use `compare_exchange` or `compare_exchange_weak` instead
[INFO] [stdout]    --> src/atomic.rs:156:20
[INFO] [stdout]     |
[INFO] [stdout] 156 |             self.v.compare_and_swap(old as usize, new as usize, order) as u64
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::sync::atomic::Atomic::<isize>::compare_and_swap`: Use `compare_exchange` or `compare_exchange_weak` instead
[INFO] [stdout]    --> src/atomic.rs:212:20
[INFO] [stdout]     |
[INFO] [stdout] 212 |             self.v.compare_and_swap(old as isize, new as isize, order) as i64
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::sync::atomic::Atomic::<usize>::compare_and_swap`: Use `compare_exchange` or `compare_exchange_weak` instead
[INFO] [stdout]    --> src/array_queue.rs:118:52
[INFO] [stdout]     |
[INFO] [stdout] 118 |                 let enqueue_pos = self.enqueue_pos.compare_and_swap(pos, pos+1, Relaxed);
[INFO] [stdout]     |                                                    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::sync::atomic::Atomic::<usize>::compare_and_swap`: Use `compare_exchange` or `compare_exchange_weak` instead
[INFO] [stdout]    --> src/array_queue.rs:145:52
[INFO] [stdout]     |
[INFO] [stdout] 145 |                 let dequeue_pos = self.dequeue_pos.compare_and_swap(pos, pos+1, Relaxed);
[INFO] [stdout]     |                                                    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::sync::Condvar::wait_timeout_ms`: replaced by `std::sync::Condvar::wait_timeout`
[INFO] [stdout]   --> src/delay_queue.rs:99:40
[INFO] [stdout]    |
[INFO] [stdout] 99 |             queue = self.inner.condvar.wait_timeout_ms(queue, timeout).unwrap().0;
[INFO] [stdout]    |                                        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::sync::Condvar::wait_timeout_ms`: replaced by `std::sync::Condvar::wait_timeout`
[INFO] [stdout]    --> src/delay_queue.rs:184:40
[INFO] [stdout]     |
[INFO] [stdout] 184 |                     self.inner.condvar.wait_timeout_ms(queue, timeout).unwrap().0
[INFO] [stdout]     |                                        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::sync::Condvar::wait_timeout_ms`: replaced by `std::sync::Condvar::wait_timeout`
[INFO] [stdout]    --> src/linked_queue.rs:188:38
[INFO] [stdout]     |
[INFO] [stdout] 188 |                 last = self.not_full.wait_timeout_ms(last, dur)
[INFO] [stdout]     |                                      ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::sync::Condvar::wait_timeout_ms`: replaced by `std::sync::Condvar::wait_timeout`
[INFO] [stdout]    --> src/linked_queue.rs:251:39
[INFO] [stdout]     |
[INFO] [stdout] 251 |                 head = self.not_empty.wait_timeout_ms(head, dur)
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::sync::atomic::Atomic::<usize>::compare_and_swap`: Use `compare_exchange` or `compare_exchange_weak` instead
[INFO] [stdout]    --> src/thread_pool.rs:676:34
[INFO] [stdout]     |
[INFO] [stdout] 676 |         let actual = self.atomic.compare_and_swap(expect.as_usize(), val.as_usize(), order);
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::sync::atomic::Atomic::<usize>::compare_and_swap`: Use `compare_exchange` or `compare_exchange_weak` instead
[INFO] [stdout]    --> src/thread_pool.rs:682:21
[INFO] [stdout]     |
[INFO] [stdout] 682 |         self.atomic.compare_and_swap(num, num + (1 << LIFECYCLE_BITS), order) == num
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::sync::atomic::Atomic::<usize>::compare_and_swap`: Use `compare_exchange` or `compare_exchange_weak` instead
[INFO] [stdout]    --> src/thread_pool.rs:691:21
[INFO] [stdout]     |
[INFO] [stdout] 691 |         self.atomic.compare_and_swap(num, num - (1 << LIFECYCLE_BITS), order) == num
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Queue`
[INFO] [stdout]  --> src/thread_pool.rs:1:19
[INFO] [stdout]   |
[INFO] [stdout] 1 | use {LinkedQueue, Queue, SyncQueue, Run, Task, Delayed, DelayQueue};
[INFO] [stdout]   |                   ^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` implied by `#[warn(warnings)]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/linked_queue.rs:315:21
[INFO] [stdout]     |
[INFO] [stdout] 315 | fn dequeue<T: Send>(mut head: &mut MutexGuard<NodePtr<T>>) -> T {
[INFO] [stdout]     |                     ----^^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` implied by `#[warn(warnings)]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/linked_queue.rs:323:36
[INFO] [stdout]     |
[INFO] [stdout] 323 | fn enqueue<T: Send>(node: Node<T>, mut last: &mut MutexGuard<NodePtr<T>>) {
[INFO] [stdout]     |                                    ----^^^^
[INFO] [stdout]     |                                    |
[INFO] [stdout]     |                                    help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling aho-corasick v0.5.3
[INFO] [stderr]    Compiling kernel32-sys v0.2.2
[INFO] [stderr]    Compiling thread-id v2.0.0
[INFO] [stderr]    Compiling thread_local v0.2.7
[INFO] [stderr]    Compiling regex v0.1.80
[INFO] [stderr]    Compiling env_logger v0.3.5
[INFO] [stderr]    Compiling syncbox v0.2.4 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unnecessary parentheses around `for` iterator expression
[INFO] [stdout]    --> src/array_queue.rs:178:18
[INFO] [stdout]     |
[INFO] [stdout] 178 |         for _ in (0..nthreads) {
[INFO] [stdout]     |                  ^           ^
[INFO] [stdout]     |
[INFO] [stdout] note: the lint level is defined here
[INFO] [stdout]    --> src/lib.rs:4:9
[INFO] [stdout]     |
[INFO] [stdout]   4 | #![deny(warnings)]
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout]     = note: `#[warn(unused_parens)]` implied by `#[warn(warnings)]`
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 178 -         for _ in (0..nthreads) {
[INFO] [stdout] 178 +         for _ in 0..nthreads {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `for` iterator expression
[INFO] [stdout]    --> src/array_queue.rs:183:26
[INFO] [stdout]     |
[INFO] [stdout] 183 |                 for i in (0..nmsgs) {
[INFO] [stdout]     |                          ^        ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 183 -                 for i in (0..nmsgs) {
[INFO] [stdout] 183 +                 for i in 0..nmsgs {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `for` iterator expression
[INFO] [stdout]    --> src/array_queue.rs:191:18
[INFO] [stdout]     |
[INFO] [stdout] 191 |         for _ in (0..nthreads) {
[INFO] [stdout]     |                  ^           ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 191 -         for _ in (0..nthreads) {
[INFO] [stdout] 191 +         for _ in 0..nthreads {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `for` iterator expression
[INFO] [stdout]    --> src/array_queue.rs:214:18
[INFO] [stdout]     |
[INFO] [stdout] 214 |         for _ in (0..nthreads) {
[INFO] [stdout]     |                  ^           ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 214 -         for _ in (0..nthreads) {
[INFO] [stdout] 214 +         for _ in 0..nthreads {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/thread_pool.rs:121:17
[INFO] [stdout]     |
[INFO] [stdout] 121 |     Delayed(Box<BoxedTask>, Duration),
[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)]` implied by `#[warn(warnings)]`
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 121 |     Delayed(Box<dyn BoxedTask>, Duration),
[INFO] [stdout]     |                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/run.rs:22:19
[INFO] [stdout]    |
[INFO] [stdout] 22 | impl Task for Box<TaskBox>{
[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] 22 | impl Task for Box<dyn TaskBox>{
[INFO] [stdout]    |                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::sync::atomic::Atomic::<usize>::compare_and_swap`: Use `compare_exchange` or `compare_exchange_weak` instead
[INFO] [stdout]    --> src/atomic.rs:121:22
[INFO] [stdout]     |
[INFO] [stdout] 121 |         AtomicUsize::compare_and_swap(self, old, new, order)
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` implied by `#[warn(warnings)]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::sync::atomic::Atomic::<usize>::compare_and_swap`: Use `compare_exchange` or `compare_exchange_weak` instead
[INFO] [stdout]    --> src/atomic.rs:156:20
[INFO] [stdout]     |
[INFO] [stdout] 156 |             self.v.compare_and_swap(old as usize, new as usize, order) as u64
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::sync::atomic::Atomic::<isize>::compare_and_swap`: Use `compare_exchange` or `compare_exchange_weak` instead
[INFO] [stdout]    --> src/atomic.rs:212:20
[INFO] [stdout]     |
[INFO] [stdout] 212 |             self.v.compare_and_swap(old as isize, new as isize, order) as i64
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::sync::atomic::Atomic::<usize>::compare_and_swap`: Use `compare_exchange` or `compare_exchange_weak` instead
[INFO] [stdout]    --> src/array_queue.rs:118:52
[INFO] [stdout]     |
[INFO] [stdout] 118 |                 let enqueue_pos = self.enqueue_pos.compare_and_swap(pos, pos+1, Relaxed);
[INFO] [stdout]     |                                                    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::sync::atomic::Atomic::<usize>::compare_and_swap`: Use `compare_exchange` or `compare_exchange_weak` instead
[INFO] [stdout]    --> src/array_queue.rs:145:52
[INFO] [stdout]     |
[INFO] [stdout] 145 |                 let dequeue_pos = self.dequeue_pos.compare_and_swap(pos, pos+1, Relaxed);
[INFO] [stdout]     |                                                    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::sync::Condvar::wait_timeout_ms`: replaced by `std::sync::Condvar::wait_timeout`
[INFO] [stdout]   --> src/delay_queue.rs:99:40
[INFO] [stdout]    |
[INFO] [stdout] 99 |             queue = self.inner.condvar.wait_timeout_ms(queue, timeout).unwrap().0;
[INFO] [stdout]    |                                        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::sync::Condvar::wait_timeout_ms`: replaced by `std::sync::Condvar::wait_timeout`
[INFO] [stdout]    --> src/delay_queue.rs:184:40
[INFO] [stdout]     |
[INFO] [stdout] 184 |                     self.inner.condvar.wait_timeout_ms(queue, timeout).unwrap().0
[INFO] [stdout]     |                                        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::sync::Condvar::wait_timeout_ms`: replaced by `std::sync::Condvar::wait_timeout`
[INFO] [stdout]    --> src/linked_queue.rs:188:38
[INFO] [stdout]     |
[INFO] [stdout] 188 |                 last = self.not_full.wait_timeout_ms(last, dur)
[INFO] [stdout]     |                                      ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::sync::Condvar::wait_timeout_ms`: replaced by `std::sync::Condvar::wait_timeout`
[INFO] [stdout]    --> src/linked_queue.rs:251:39
[INFO] [stdout]     |
[INFO] [stdout] 251 |                 head = self.not_empty.wait_timeout_ms(head, dur)
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::sync::atomic::Atomic::<usize>::compare_and_swap`: Use `compare_exchange` or `compare_exchange_weak` instead
[INFO] [stdout]    --> src/thread_pool.rs:676:34
[INFO] [stdout]     |
[INFO] [stdout] 676 |         let actual = self.atomic.compare_and_swap(expect.as_usize(), val.as_usize(), order);
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::sync::atomic::Atomic::<usize>::compare_and_swap`: Use `compare_exchange` or `compare_exchange_weak` instead
[INFO] [stdout]    --> src/thread_pool.rs:682:21
[INFO] [stdout]     |
[INFO] [stdout] 682 |         self.atomic.compare_and_swap(num, num + (1 << LIFECYCLE_BITS), order) == num
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::sync::atomic::Atomic::<usize>::compare_and_swap`: Use `compare_exchange` or `compare_exchange_weak` instead
[INFO] [stdout]    --> src/thread_pool.rs:691:21
[INFO] [stdout]     |
[INFO] [stdout] 691 |         self.atomic.compare_and_swap(num, num - (1 << LIFECYCLE_BITS), order) == num
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Queue`
[INFO] [stdout]  --> src/thread_pool.rs:1:19
[INFO] [stdout]   |
[INFO] [stdout] 1 | use {LinkedQueue, Queue, SyncQueue, Run, Task, Delayed, DelayQueue};
[INFO] [stdout]   |                   ^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` implied by `#[warn(warnings)]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/linked_queue.rs:315:21
[INFO] [stdout]     |
[INFO] [stdout] 315 | fn dequeue<T: Send>(mut head: &mut MutexGuard<NodePtr<T>>) -> T {
[INFO] [stdout]     |                     ----^^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` implied by `#[warn(warnings)]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/linked_queue.rs:323:36
[INFO] [stdout]     |
[INFO] [stdout] 323 | fn enqueue<T: Send>(node: Node<T>, mut last: &mut MutexGuard<NodePtr<T>>) {
[INFO] [stdout]     |                                    ----^^^^
[INFO] [stdout]     |                                    |
[INFO] [stdout]     |                                    help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 4.29s
[INFO] running `Command { std: "docker" "inspect" "1b368c09d88ee3411929efba666d7552d8253113d1bd5829246dd2c463c5de73", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "1b368c09d88ee3411929efba666d7552d8253113d1bd5829246dd2c463c5de73", kill_on_drop: false }`
[INFO] [stdout] 1b368c09d88ee3411929efba666d7552d8253113d1bd5829246dd2c463c5de73
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-04-21" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 820e2b9d2b67271240ce137a09e7757ccc9bbc0c1a059f23468b3ff36c88d278
[INFO] running `Command { std: "docker" "start" "-a" "820e2b9d2b67271240ce137a09e7757ccc9bbc0c1a059f23468b3ff36c88d278", kill_on_drop: false }`
[INFO] [stderr] warning: `package.edition` is unspecified, defaulting to `2015` while the latest is `2024`
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/thread_pool.rs:121:17
[INFO] [stderr]     |
[INFO] [stderr] 121 |     Delayed(Box<BoxedTask>, Duration),
[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: the lint level is defined here
[INFO] [stderr]    --> src/lib.rs:4:9
[INFO] [stderr]     |
[INFO] [stderr]   4 | #![deny(warnings)]
[INFO] [stderr]     |         ^^^^^^^^
[INFO] [stderr]     = note: `#[warn(bare_trait_objects)]` implied by `#[warn(warnings)]`
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]     |
[INFO] [stderr] 121 |     Delayed(Box<dyn BoxedTask>, Duration),
[INFO] [stderr]     |                 +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/run.rs:22:19
[INFO] [stderr]    |
[INFO] [stderr] 22 | impl Task for Box<TaskBox>{
[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] 22 | impl Task for Box<dyn TaskBox>{
[INFO] [stderr]    |                   +++
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated method `std::sync::atomic::Atomic::<usize>::compare_and_swap`: Use `compare_exchange` or `compare_exchange_weak` instead
[INFO] [stderr]    --> src/atomic.rs:121:22
[INFO] [stderr]     |
[INFO] [stderr] 121 |         AtomicUsize::compare_and_swap(self, old, new, order)
[INFO] [stderr]     |                      ^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(deprecated)]` implied by `#[warn(warnings)]`
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated method `std::sync::atomic::Atomic::<usize>::compare_and_swap`: Use `compare_exchange` or `compare_exchange_weak` instead
[INFO] [stderr]    --> src/atomic.rs:156:20
[INFO] [stderr]     |
[INFO] [stderr] 156 |             self.v.compare_and_swap(old as usize, new as usize, order) as u64
[INFO] [stderr]     |                    ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated method `std::sync::atomic::Atomic::<isize>::compare_and_swap`: Use `compare_exchange` or `compare_exchange_weak` instead
[INFO] [stderr]    --> src/atomic.rs:212:20
[INFO] [stderr]     |
[INFO] [stderr] 212 |             self.v.compare_and_swap(old as isize, new as isize, order) as i64
[INFO] [stderr]     |                    ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated method `std::sync::atomic::Atomic::<usize>::compare_and_swap`: Use `compare_exchange` or `compare_exchange_weak` instead
[INFO] [stderr]    --> src/array_queue.rs:118:52
[INFO] [stderr]     |
[INFO] [stderr] 118 |                 let enqueue_pos = self.enqueue_pos.compare_and_swap(pos, pos+1, Relaxed);
[INFO] [stderr]     |                                                    ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated method `std::sync::atomic::Atomic::<usize>::compare_and_swap`: Use `compare_exchange` or `compare_exchange_weak` instead
[INFO] [stderr]    --> src/array_queue.rs:145:52
[INFO] [stderr]     |
[INFO] [stderr] 145 |                 let dequeue_pos = self.dequeue_pos.compare_and_swap(pos, pos+1, Relaxed);
[INFO] [stderr]     |                                                    ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated method `std::sync::Condvar::wait_timeout_ms`: replaced by `std::sync::Condvar::wait_timeout`
[INFO] [stderr]   --> src/delay_queue.rs:99:40
[INFO] [stderr]    |
[INFO] [stderr] 99 |             queue = self.inner.condvar.wait_timeout_ms(queue, timeout).unwrap().0;
[INFO] [stderr]    |                                        ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated method `std::sync::Condvar::wait_timeout_ms`: replaced by `std::sync::Condvar::wait_timeout`
[INFO] [stderr]    --> src/delay_queue.rs:184:40
[INFO] [stderr]     |
[INFO] [stderr] 184 |                     self.inner.condvar.wait_timeout_ms(queue, timeout).unwrap().0
[INFO] [stderr]     |                                        ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated method `std::sync::Condvar::wait_timeout_ms`: replaced by `std::sync::Condvar::wait_timeout`
[INFO] [stderr]    --> src/linked_queue.rs:188:38
[INFO] [stderr]     |
[INFO] [stderr] 188 |                 last = self.not_full.wait_timeout_ms(last, dur)
[INFO] [stderr]     |                                      ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated method `std::sync::Condvar::wait_timeout_ms`: replaced by `std::sync::Condvar::wait_timeout`
[INFO] [stderr]    --> src/linked_queue.rs:251:39
[INFO] [stderr]     |
[INFO] [stderr] 251 |                 head = self.not_empty.wait_timeout_ms(head, dur)
[INFO] [stderr]     |                                       ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated method `std::sync::atomic::Atomic::<usize>::compare_and_swap`: Use `compare_exchange` or `compare_exchange_weak` instead
[INFO] [stderr]    --> src/thread_pool.rs:676:34
[INFO] [stderr]     |
[INFO] [stderr] 676 |         let actual = self.atomic.compare_and_swap(expect.as_usize(), val.as_usize(), order);
[INFO] [stderr]     |                                  ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated method `std::sync::atomic::Atomic::<usize>::compare_and_swap`: Use `compare_exchange` or `compare_exchange_weak` instead
[INFO] [stderr]    --> src/thread_pool.rs:682:21
[INFO] [stderr]     |
[INFO] [stderr] 682 |         self.atomic.compare_and_swap(num, num + (1 << LIFECYCLE_BITS), order) == num
[INFO] [stderr]     |                     ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated method `std::sync::atomic::Atomic::<usize>::compare_and_swap`: Use `compare_exchange` or `compare_exchange_weak` instead
[INFO] [stderr]    --> src/thread_pool.rs:691:21
[INFO] [stderr]     |
[INFO] [stderr] 691 |         self.atomic.compare_and_swap(num, num - (1 << LIFECYCLE_BITS), order) == num
[INFO] [stderr]     |                     ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Queue`
[INFO] [stderr]  --> src/thread_pool.rs:1:19
[INFO] [stderr]   |
[INFO] [stderr] 1 | use {LinkedQueue, Queue, SyncQueue, Run, Task, Delayed, DelayQueue};
[INFO] [stderr]   |                   ^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` implied by `#[warn(warnings)]`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/linked_queue.rs:315:21
[INFO] [stderr]     |
[INFO] [stderr] 315 | fn dequeue<T: Send>(mut head: &mut MutexGuard<NodePtr<T>>) -> T {
[INFO] [stderr]     |                     ----^^^^
[INFO] [stderr]     |                     |
[INFO] [stderr]     |                     help: remove this `mut`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_mut)]` implied by `#[warn(warnings)]`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/linked_queue.rs:323:36
[INFO] [stderr]     |
[INFO] [stderr] 323 | fn enqueue<T: Send>(node: Node<T>, mut last: &mut MutexGuard<NodePtr<T>>) {
[INFO] [stderr]     |                                    ----^^^^
[INFO] [stderr]     |                                    |
[INFO] [stderr]     |                                    help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: `syncbox` (lib) generated 17 warnings (run `cargo fix --lib -p syncbox` to apply 4 suggestions)
[INFO] [stderr] warning: unnecessary parentheses around `for` iterator expression
[INFO] [stderr]    --> src/array_queue.rs:178:18
[INFO] [stderr]     |
[INFO] [stderr] 178 |         for _ in (0..nthreads) {
[INFO] [stderr]     |                  ^           ^
[INFO] [stderr]     |
[INFO] [stderr] note: the lint level is defined here
[INFO] [stderr]    --> src/lib.rs:4:9
[INFO] [stderr]     |
[INFO] [stderr]   4 | #![deny(warnings)]
[INFO] [stderr]     |         ^^^^^^^^
[INFO] [stderr]     = note: `#[warn(unused_parens)]` implied by `#[warn(warnings)]`
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 178 -         for _ in (0..nthreads) {
[INFO] [stderr] 178 +         for _ in 0..nthreads {
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `for` iterator expression
[INFO] [stderr]    --> src/array_queue.rs:183:26
[INFO] [stderr]     |
[INFO] [stderr] 183 |                 for i in (0..nmsgs) {
[INFO] [stderr]     |                          ^        ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 183 -                 for i in (0..nmsgs) {
[INFO] [stderr] 183 +                 for i in 0..nmsgs {
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `for` iterator expression
[INFO] [stderr]    --> src/array_queue.rs:191:18
[INFO] [stderr]     |
[INFO] [stderr] 191 |         for _ in (0..nthreads) {
[INFO] [stderr]     |                  ^           ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 191 -         for _ in (0..nthreads) {
[INFO] [stderr] 191 +         for _ in 0..nthreads {
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `for` iterator expression
[INFO] [stderr]    --> src/array_queue.rs:214:18
[INFO] [stderr]     |
[INFO] [stderr] 214 |         for _ in (0..nthreads) {
[INFO] [stderr]     |                  ^           ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 214 -         for _ in (0..nthreads) {
[INFO] [stderr] 214 +         for _ in 0..nthreads {
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/thread_pool.rs:121:17
[INFO] [stderr]     |
[INFO] [stderr] 121 |     Delayed(Box<BoxedTask>, Duration),
[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)]` implied by `#[warn(warnings)]`
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]     |
[INFO] [stderr] 121 |     Delayed(Box<dyn BoxedTask>, Duration),
[INFO] [stderr]     |                 +++
[INFO] [stderr] 
[INFO] [stderr] warning: `syncbox` (lib test) generated 21 warnings (16 duplicates) (run `cargo fix --lib -p syncbox --tests` to apply 5 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/syncbox-c04a409a86d06c60)
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test array_queue::tests::test ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests syncbox
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "820e2b9d2b67271240ce137a09e7757ccc9bbc0c1a059f23468b3ff36c88d278", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "820e2b9d2b67271240ce137a09e7757ccc9bbc0c1a059f23468b3ff36c88d278", kill_on_drop: false }`
[INFO] [stdout] 820e2b9d2b67271240ce137a09e7757ccc9bbc0c1a059f23468b3ff36c88d278
