[INFO] cloning repository https://github.com/Abso1ut3Zer0/nexus
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Abso1ut3Zer0/nexus" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FAbso1ut3Zer0%2Fnexus", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FAbso1ut3Zer0%2Fnexus'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] c7c374eb45c94ae6b55f81ee74a68fc9e32cf572
[INFO] testing Abso1ut3Zer0/nexus against master#ec6f9a5b4413f74386267ef8efc93712c2ce6db6 for pr-155739
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FAbso1ut3Zer0%2Fnexus" "/workspace/builds/worker-6-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/Abso1ut3Zer0/nexus
[INFO] finished tweaking git repo https://github.com/Abso1ut3Zer0/nexus
[INFO] tweaked toml for git repo https://github.com/Abso1ut3Zer0/nexus written to /workspace/builds/worker-6-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/Abso1ut3Zer0/nexus on toolchain ec6f9a5b4413f74386267ef8efc93712c2ce6db6
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+ec6f9a5b4413f74386267ef8efc93712c2ce6db6" "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" "+ec6f9a5b4413f74386267ef8efc93712c2ce6db6" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]      Locking 340 packages to latest compatible versions
[INFO] [stderr]       Adding criterion v0.5.1 (available: v0.8.2)
[INFO] [stderr]       Adding generic-array v0.14.7 (available: v0.14.9)
[INFO] [stderr]       Adding getrandom v0.2.17 (available: v0.4.2)
[INFO] [stderr]       Adding getrandom v0.3.4 (available: v0.4.2)
[INFO] [stderr]       Adding rand v0.8.6 (available: v0.10.1)
[INFO] [stderr]       Adding rand v0.9.4 (available: v0.10.1)
[INFO] [stderr]       Adding rand_chacha v0.9.0 (available: v0.10.0)
[INFO] [stderr]       Adding rand_core v0.9.5 (available: v0.10.1)
[INFO] [stderr]       Adding rcgen v0.13.2 (available: v0.14.7)
[INFO] [stderr]       Adding reqwest v0.12.28 (available: v0.13.3)
[INFO] [stderr]       Adding sha1 v0.10.6 (available: v0.11.0)
[INFO] [stderr]       Adding signal-hook v0.3.18 (available: v0.4.4)
[INFO] [stderr]       Adding socket2 v0.5.10 (available: v0.6.3)
[INFO] [stderr]       Adding sonic-rs v0.3.17 (available: v0.5.8)
[INFO] [stderr]       Adding tokio-tungstenite v0.26.2 (available: v0.29.0)
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+ec6f9a5b4413f74386267ef8efc93712c2ce6db6" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded rusty-fork v0.3.1
[INFO] [stderr]   Downloaded seq-macro v0.3.6
[INFO] [stderr]   Downloaded target-triple v1.0.0
[INFO] [stderr]   Downloaded trybuild v1.0.116
[INFO] [stderr]   Downloaded rtrb v0.3.4
[INFO] [stderr]   Downloaded fs_extra v1.3.0
[INFO] [stderr]   Downloaded sonic-number v0.1.2
[INFO] [stderr]   Downloaded sonic-simd v0.1.4
[INFO] [stderr]   Downloaded rend v0.5.3
[INFO] [stderr]   Downloaded cmake v0.1.58
[INFO] [stderr]   Downloaded rkyv_derive v0.8.16
[INFO] [stderr]   Downloaded rancor v0.1.1
[INFO] [stderr]   Downloaded ptr_meta_derive v0.3.1
[INFO] [stderr]   Downloaded munge v0.4.7
[INFO] [stderr]   Downloaded wasm-bindgen-futures v0.4.71
[INFO] [stderr]   Downloaded munge_macro v0.4.7
[INFO] [stderr]   Downloaded ptr_meta v0.3.1
[INFO] [stderr]   Downloaded rustls-native-certs v0.8.3
[INFO] [stderr]   Downloaded yasna v0.5.2
[INFO] [stderr]   Downloaded rcgen v0.13.2
[INFO] [stderr]   Downloaded seqlock v0.2.0
[INFO] [stderr]   Downloaded hdrhistogram v7.5.4
[INFO] [stderr]   Downloaded fixdec v0.1.0
[INFO] [stderr]   Downloaded sonic-rs v0.3.17
[INFO] [stderr]   Downloaded rkyv v0.8.16
[INFO] [stderr]   Downloaded tower-http v0.6.10
[INFO] [stderr]   Downloaded h2 v0.4.14
[INFO] [stderr]   Downloaded nexus-ascii v1.6.2
[INFO] [stderr]   Downloaded aws-lc-rs v1.16.3
[INFO] [stderr]   Downloaded faststr v0.2.34
[INFO] [stderr]   Downloaded web-sys v0.3.98
[INFO] [stderr]   Downloaded aws-lc-sys v0.40.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+ec6f9a5b4413f74386267ef8efc93712c2ce6db6" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 9ae14c766128df5a3615cbe27c673204ffd91afed6b75bbc5f8c956e77d205f5
[INFO] running `Command { std: "docker" "start" "-a" "9ae14c766128df5a3615cbe27c673204ffd91afed6b75bbc5f8c956e77d205f5", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "9ae14c766128df5a3615cbe27c673204ffd91afed6b75bbc5f8c956e77d205f5", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "9ae14c766128df5a3615cbe27c673204ffd91afed6b75bbc5f8c956e77d205f5", kill_on_drop: false }`
[INFO] [stdout] 9ae14c766128df5a3615cbe27c673204ffd91afed6b75bbc5f8c956e77d205f5
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+ec6f9a5b4413f74386267ef8efc93712c2ce6db6" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 7c34127d209dce7149965c3461b00a78627716c6af796f7fbd79fb2db19607f4
[INFO] running `Command { std: "docker" "start" "-a" "7c34127d209dce7149965c3461b00a78627716c6af796f7fbd79fb2db19607f4", kill_on_drop: false }`
[INFO] [stderr]    Compiling fs_extra v1.3.0
[INFO] [stderr]    Compiling dunce v1.0.5
[INFO] [stderr]    Compiling aws-lc-rs v1.16.3
[INFO] [stderr]    Compiling cc v1.2.62
[INFO] [stderr]    Compiling typenum v1.20.0
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]    Compiling nexus-stats-core v1.2.1 (/opt/rustwide/workdir/nexus-stats-core)
[INFO] [stderr]    Compiling rustls v0.23.40
[INFO] [stderr]    Compiling mio v1.2.0
[INFO] [stderr]    Compiling once_cell v1.21.4
[INFO] [stderr]    Compiling getrandom v0.3.4
[INFO] [stderr]    Compiling ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling nexus-queue v1.3.1 (/opt/rustwide/workdir/nexus-queue)
[INFO] [stderr]    Compiling nexus-slab v2.3.4 (/opt/rustwide/workdir/nexus-slab)
[INFO] [stderr]    Compiling tokio v1.52.3
[INFO] [stderr]    Compiling rand_chacha v0.9.0
[INFO] [stderr]    Compiling rustls-native-certs v0.8.3
[INFO] [stderr]    Compiling rustc-hash v2.1.2
[INFO] [stderr]    Compiling nexus-smartptr v0.1.1 (/opt/rustwide/workdir/nexus-smartptr)
[INFO] [stderr]    Compiling generic-array v0.14.7
[INFO] [stderr]    Compiling cmake v0.1.58
[INFO] [stderr]    Compiling simdutf8 v0.1.5
[INFO] [stderr]    Compiling nexus-async-rt v0.6.0 (/opt/rustwide/workdir/nexus-async-rt)
[INFO] [stderr]    Compiling nexus-timer v1.4.2 (/opt/rustwide/workdir/nexus-timer)
[INFO] [stderr]    Compiling nexus-logbuf v2.2.0 (/opt/rustwide/workdir/nexus-logbuf)
[INFO] [stderr]    Compiling getrandom v0.2.17
[INFO] [stderr]    Compiling socket2 v0.5.10
[INFO] [stderr]    Compiling nexus-stats-smoothing v1.2.1 (/opt/rustwide/workdir/nexus-stats-smoothing)
[INFO] [stderr]    Compiling nexus-ascii v1.6.2
[INFO] [stderr]    Compiling nexus-pool v1.0.4 (/opt/rustwide/workdir/nexus-pool)
[INFO] [stderr]    Compiling nexus-stats-regression v1.2.0 (/opt/rustwide/workdir/nexus-stats-regression)
[INFO] [stderr]    Compiling crypto-common v0.1.7
[INFO] [stderr]    Compiling aws-lc-sys v0.40.0
[INFO] [stderr]    Compiling block-buffer v0.10.4
[INFO] [stderr]    Compiling nexus-stats-detection v1.0.1 (/opt/rustwide/workdir/nexus-stats-detection)
[INFO] [stderr]    Compiling digest v0.10.7
[INFO] [stderr]    Compiling nexus-stats v4.2.2 (/opt/rustwide/workdir/nexus-stats)
[INFO] [stderr]    Compiling nexus-stats-control v1.0.2 (/opt/rustwide/workdir/nexus-stats-control)
[INFO] [stderr]    Compiling sha1 v0.10.6
[INFO] [stderr]    Compiling nexus-collections v1.1.5 (/opt/rustwide/workdir/nexus-collections)
[INFO] [stderr]    Compiling nexus-id v1.1.5 (/opt/rustwide/workdir/nexus-id)
[INFO] [stderr]    Compiling nexus-channel v1.2.3 (/opt/rustwide/workdir/nexus-channel)
[INFO] [stderr]    Compiling nexus-notify v1.0.2 (/opt/rustwide/workdir/nexus-notify)
[INFO] [stderr]    Compiling nexus-rate v2.1.3 (/opt/rustwide/workdir/nexus-rate)
[INFO] [stderr]    Compiling nexus-ascii v1.6.2 (/opt/rustwide/workdir/nexus-ascii)
[INFO] [stderr]    Compiling nexus-slot v1.1.2 (/opt/rustwide/workdir/nexus-slot)
[INFO] [stderr]    Compiling nexus-decimal v1.1.0 (/opt/rustwide/workdir/nexus-decimal)
[INFO] [stderr]    Compiling nexus-rt-derive v1.2.0 (/opt/rustwide/workdir/nexus-rt-derive)
[INFO] [stderr]    Compiling nexus-bits-derive v0.4.2 (/opt/rustwide/workdir/nexus-bits-derive)
[INFO] [stderr]    Compiling nexus-rt v2.3.0 (/opt/rustwide/workdir/nexus-rt)
[INFO] [stderr]    Compiling nexus-bits v0.4.4 (/opt/rustwide/workdir/nexus-bits)
[INFO] [stderr]    Compiling rustls-webpki v0.103.13
[INFO] [stderr]    Compiling tokio-rustls v0.26.4
[INFO] [stderr]    Compiling nexus-net v0.7.1 (/opt/rustwide/workdir/nexus-net)
[INFO] [stderr]    Compiling nexus-async-net v0.7.1 (/opt/rustwide/workdir/nexus-async-net)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 29s
[INFO] running `Command { std: "docker" "inspect" "7c34127d209dce7149965c3461b00a78627716c6af796f7fbd79fb2db19607f4", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "7c34127d209dce7149965c3461b00a78627716c6af796f7fbd79fb2db19607f4", kill_on_drop: false }`
[INFO] [stdout] 7c34127d209dce7149965c3461b00a78627716c6af796f7fbd79fb2db19607f4
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+ec6f9a5b4413f74386267ef8efc93712c2ce6db6" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 6e70ac23858e59131bed65a155161b8aed094e48fa75ec2a94c73278639e1912
[INFO] running `Command { std: "docker" "start" "-a" "6e70ac23858e59131bed65a155161b8aed094e48fa75ec2a94c73278639e1912", kill_on_drop: false }`
[INFO] [stderr] warning: output filename collision at /opt/rustwide/target/debug/examples/asm_check
[INFO] [stderr]   |
[INFO] [stderr]   = note: the example target `asm_check` in package `nexus-slab v2.3.4 (/opt/rustwide/workdir/nexus-slab)` has the same output filename as the example target `asm_check` in package `nexus-queue v1.3.1 (/opt/rustwide/workdir/nexus-queue)`
[INFO] [stderr]   = note: this may become a hard error in the future; see <https://github.com/rust-lang/cargo/issues/6313>
[INFO] [stderr]   = help: consider changing their names to be unique or compiling them separately
[INFO] [stderr] warning: output filename collision at /opt/rustwide/target/debug/examples/asm_check.dwp
[INFO] [stderr]   |
[INFO] [stderr]   = note: the example target `asm_check` in package `nexus-slab v2.3.4 (/opt/rustwide/workdir/nexus-slab)` has the same output filename as the example target `asm_check` in package `nexus-queue v1.3.1 (/opt/rustwide/workdir/nexus-queue)`
[INFO] [stderr]   = note: this may become a hard error in the future; see <https://github.com/rust-lang/cargo/issues/6313>
[INFO] [stderr]   = help: consider changing their names to be unique or compiling them separately
[INFO] [stderr]    Compiling zerocopy v0.8.48
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling zerocopy-derive v0.8.48
[INFO] [stderr]    Compiling tokio-macros v2.7.0
[INFO] [stderr]    Compiling futures-io v0.3.32
[INFO] [stderr]    Compiling plotters-backend v0.3.7
[INFO] [stderr]    Compiling futures-util v0.3.32
[INFO] [stderr]    Compiling ciborium-io v0.2.2
[INFO] [stderr]    Compiling clap_builder v4.6.0
[INFO] [stderr]    Compiling itertools v0.10.5
[INFO] [stderr]    Compiling plotters-svg v0.3.7
[INFO] [stderr]    Compiling tokio v1.52.3
[INFO] [stderr]    Compiling regex-automata v0.4.14
[INFO] [stderr]    Compiling cast v0.3.0
[INFO] [stderr]    Compiling plotters v0.3.7
[INFO] [stderr]    Compiling criterion-plot v0.5.0
[INFO] [stderr]    Compiling is-terminal v0.4.17
[INFO] [stderr]    Compiling oorandom v11.1.5
[INFO] [stderr]    Compiling clap v4.6.1
[INFO] [stderr]    Compiling anes v0.1.6
[INFO] [stderr]    Compiling simd-adler32 v0.3.9
[INFO] [stderr]    Compiling regex v1.12.3
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling miniz_oxide v0.8.9
[INFO] [stderr]    Compiling minimal-lexical v0.2.1
[INFO] [stderr]    Compiling nom v7.1.3
[INFO] [stderr]    Compiling futures v0.3.32
[INFO] [stderr]    Compiling flate2 v1.1.9
[INFO] [stderr]    Compiling tinytemplate v1.2.1
[INFO] [stderr]    Compiling base64 v0.21.7
[INFO] [stderr]    Compiling getrandom v0.3.4
[INFO] [stderr]    Compiling nexus-rt-derive v1.2.0 (/opt/rustwide/workdir/nexus-rt-derive)
[INFO] [stderr]    Compiling bitflags v2.11.1
[INFO] [stderr]    Compiling target-triple v1.0.0
[INFO] [stderr]    Compiling winnow v1.0.2
[INFO] [stderr]    Compiling toml_datetime v1.1.1+spec-1.1.0
[INFO] [stderr]    Compiling rand_core v0.9.5
[INFO] [stderr]    Compiling serde_spanned v1.1.1
[INFO] [stderr]    Compiling termcolor v1.4.1
[INFO] [stderr]    Compiling glob v0.3.3
[INFO] [stderr]    Compiling zerofrom-derive v0.1.7
[INFO] [stderr]    Compiling toml_parser v1.1.2+spec-1.1.0
[INFO] [stderr]    Compiling yoke-derive v0.8.2
[INFO] [stderr]    Compiling nexus-rt v2.3.0 (/opt/rustwide/workdir/nexus-rt)
[INFO] [stderr]    Compiling ahash v0.8.12
[INFO] [stderr]    Compiling toml v1.1.2+spec-1.1.0
[INFO] [stderr]    Compiling hdrhistogram v7.5.4
[INFO] [stderr]    Compiling zerovec-derive v0.11.3
[INFO] [stderr]    Compiling zerofrom v0.1.7
[INFO] [stderr]    Compiling rustls v0.23.40
[INFO] [stderr]    Compiling yoke v0.8.2
[INFO] [stderr]    Compiling openssl-sys v0.9.115
[INFO] [stderr]    Compiling simdutf8 v0.1.5
[INFO] [stderr]    Compiling seq-macro v0.3.6
[INFO] [stderr]    Compiling trybuild v1.0.116
[INFO] [stderr]    Compiling half v2.7.1
[INFO] [stderr]    Compiling ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling ciborium-ll v0.2.2
[INFO] [stderr]    Compiling zerovec v0.11.6
[INFO] [stderr]    Compiling ciborium v0.2.2
[INFO] [stderr]    Compiling rand_chacha v0.9.0
[INFO] [stderr]    Compiling rand v0.9.4
[INFO] [stderr]    Compiling criterion v0.5.1
[INFO] [stderr]    Compiling tinystr v0.8.3
[INFO] [stderr]    Compiling nexus-async-rt v0.6.0 (/opt/rustwide/workdir/nexus-async-rt)
[INFO] [stderr]    Compiling icu_locale_core v2.2.0
[INFO] [stderr]    Compiling potential_utf v0.1.5
[INFO] [stderr]    Compiling zerotrie v0.2.4
[INFO] [stderr]    Compiling ring v0.17.14
[INFO] [stderr]    Compiling nohash-hasher v0.2.0
[INFO] [stderr]    Compiling ascii v1.1.0
[INFO] [stderr]    Compiling data-encoding v2.11.0
[INFO] [stderr]    Compiling time v0.3.47
[INFO] [stderr]    Compiling icu_provider v2.2.0
[INFO] [stderr]    Compiling icu_collections v2.2.0
[INFO] [stderr]    Compiling ref-cast-impl v1.0.25
[INFO] [stderr]    Compiling tungstenite v0.26.2
[INFO] [stderr]    Compiling ref-cast v1.0.25
[INFO] [stderr]    Compiling yasna v0.5.2
[INFO] [stderr]    Compiling nexus-net v0.7.1 (/opt/rustwide/workdir/nexus-net)
[INFO] [stderr]    Compiling tokio-rustls v0.26.4
[INFO] [stderr]    Compiling faststr v0.2.34
[INFO] [stderr]    Compiling sonic-simd v0.1.4
[INFO] [stderr]    Compiling sonic-number v0.1.2
[INFO] [stderr]    Compiling hashbrown v0.17.1
[INFO] [stderr]    Compiling openssl v0.10.79
[INFO] [stderr]    Compiling tracing v0.1.44
[INFO] [stderr]    Compiling sonic-rs v0.3.17
[INFO] [stderr]    Compiling icu_properties v2.2.0
[INFO] [stderr]    Compiling tokio-tungstenite v0.26.2
[INFO] [stderr]    Compiling indexmap v2.14.0
[INFO] [stderr]    Compiling icu_normalizer v2.2.0
[INFO] [stderr]    Compiling tokio-util v0.7.18
[INFO] [stderr]    Compiling openssl-macros v0.1.1
[INFO] [stderr]    Compiling native-tls v0.2.18
[INFO] [stderr]    Compiling nexus-async-net v0.7.1 (/opt/rustwide/workdir/nexus-async-net)
[INFO] [stderr]    Compiling idna_adapter v1.2.2
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]    Compiling h2 v0.4.14
[INFO] [stderr]    Compiling idna v1.1.0
[INFO] [stderr]    Compiling getrandom v0.4.2
[INFO] [stderr]    Compiling rcgen v0.13.2
[INFO] [stderr]    Compiling fastrand v2.4.1
[INFO] [stderr]    Compiling tower v0.5.3
[INFO] [stderr]    Compiling url v2.5.8
[INFO] [stderr]    Compiling tempfile v3.27.0
[INFO] [stderr]    Compiling wait-timeout v0.2.1
[INFO] [stderr]    Compiling bit-vec v0.8.0
[INFO] [stderr]    Compiling bit-set v0.8.0
[INFO] [stderr]    Compiling rusty-fork v0.3.1
[INFO] [stderr]    Compiling serde_urlencoded v0.7.1
[INFO] [stderr]    Compiling rand_xorshift v0.4.0
[INFO] [stderr]    Compiling tower-http v0.6.10
[INFO] [stderr]    Compiling unarray v0.1.4
[INFO] [stderr]    Compiling tungstenite v0.29.0
[INFO] [stderr]    Compiling proptest v1.11.0
[INFO] [stderr]    Compiling rustls-pemfile v2.2.0
[INFO] [stderr]    Compiling rust_decimal v1.42.0
[INFO] [stderr]    Compiling arrayvec v0.7.6
[INFO] [stderr]    Compiling fixdec v0.1.0
[INFO] [stderr]    Compiling nexus-bits-derive v0.4.2 (/opt/rustwide/workdir/nexus-bits-derive)
[INFO] [stderr]    Compiling crossbeam-queue v0.3.12
[INFO] [stderr]    Compiling tokio-native-tls v0.3.1
[INFO] [stderr]    Compiling rtrb v0.3.4
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling hyper v1.9.0
[INFO] [stderr]    Compiling nexus-bits v0.4.4 (/opt/rustwide/workdir/nexus-bits)
[INFO] [stderr]    Compiling rand v0.8.6
[INFO] [stderr]    Compiling seqlock v0.2.0
[INFO] [stderr]    Compiling nexus-id v1.1.5 (/opt/rustwide/workdir/nexus-id)
[INFO] [stderr]    Compiling nexus-rate v2.1.3 (/opt/rustwide/workdir/nexus-rate)
[INFO] [stderr]    Compiling nexus-slot v1.1.2 (/opt/rustwide/workdir/nexus-slot)
[INFO] [stderr]    Compiling nexus-smartptr v0.1.1 (/opt/rustwide/workdir/nexus-smartptr)
[INFO] [stderr]    Compiling nexus-decimal v1.1.0 (/opt/rustwide/workdir/nexus-decimal)
[INFO] [stderr]    Compiling hyper-util v0.1.20
[INFO] [stderr]    Compiling nexus-logbuf v2.2.0 (/opt/rustwide/workdir/nexus-logbuf)
[INFO] [stderr]    Compiling nexus-stats v4.2.2 (/opt/rustwide/workdir/nexus-stats)
[INFO] [stderr]    Compiling nexus-stats-detection v1.0.1 (/opt/rustwide/workdir/nexus-stats-detection)
[INFO] [stderr]    Compiling hyper-tls v0.6.0
[INFO] [stderr]    Compiling reqwest v0.12.28
[INFO] [stderr]    Compiling nexus-notify v1.0.2 (/opt/rustwide/workdir/nexus-notify)
[INFO] [stderr]    Compiling nexus-queue v1.3.1 (/opt/rustwide/workdir/nexus-queue)
[INFO] [stderr]    Compiling nexus-channel v1.2.3 (/opt/rustwide/workdir/nexus-channel)
[INFO] [stderr]    Compiling nexus-collections v1.1.5 (/opt/rustwide/workdir/nexus-collections)
[INFO] [stderr]    Compiling nexus-slab v2.3.4 (/opt/rustwide/workdir/nexus-slab)
[INFO] [stderr]    Compiling nexus-timer v1.4.2 (/opt/rustwide/workdir/nexus-timer)
[INFO] [stdout] warning: unused return value of `nexus_async_rt::JoinHandle::<T>::abort` that must be used
[INFO] [stdout]    --> nexus-async-rt/tests/miri_channel.rs:453:9
[INFO] [stdout]     |
[INFO] [stdout] 453 |         jh.abort();
[INFO] [stdout]     |         ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: returns whether the task was still running
[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] 453 |         let _ = jh.abort();
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `nexus_async_rt::JoinHandle::<T>::abort` that must be used
[INFO] [stdout]    --> nexus-async-rt/tests/miri_channel.rs:477:9
[INFO] [stdout]     |
[INFO] [stdout] 477 |         jh.abort();
[INFO] [stdout]     |         ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: returns whether the task was still running
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 477 |         let _ = jh.abort();
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `nexus_async_rt::JoinHandle::<T>::abort` that must be used
[INFO] [stdout]    --> nexus-async-rt/tests/miri_channel.rs:502:9
[INFO] [stdout]     |
[INFO] [stdout] 502 |         jh.abort();
[INFO] [stdout]     |         ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: returns whether the task was still running
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 502 |         let _ = jh.abort();
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `t1`
[INFO] [stdout]    --> nexus-notify/src/local.rs:255:13
[INFO] [stdout]     |
[INFO] [stdout] 255 |         let t1 = notify.register();
[INFO] [stdout]     |             ^^ help: if this is intentional, prefix it with an underscore: `_t1`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `nexus_async_rt::JoinHandle` that must be used
[INFO] [stdout]   --> nexus-async-rt/tests/channel.rs:26:9
[INFO] [stdout]    |
[INFO] [stdout] 26 | /         spawn_boxed(async move {
[INFO] [stdout] 27 | |             for i in 0..10 {
[INFO] [stdout] 28 | |                 tx.send(i).await.unwrap();
[INFO] [stdout] 29 | |             }
[INFO] [stdout] 30 | |         });
[INFO] [stdout]    | |__________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: dropping a JoinHandle detaches the task — await it or call .abort()
[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] 26 |         let _ = spawn_boxed(async move {
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `nexus_async_rt::JoinHandle` that must be used
[INFO] [stdout]   --> nexus-async-rt/tests/channel.rs:54:13
[INFO] [stdout]    |
[INFO] [stdout] 54 | /             spawn_boxed(async move {
[INFO] [stdout] 55 | |                 for i in 0..100 {
[INFO] [stdout] 56 | |                     tx.send(producer_id * 1000 + i).await.unwrap();
[INFO] [stdout] 57 | |                 }
[INFO] [stdout] 58 | |             });
[INFO] [stdout]    | |______________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: dropping a JoinHandle detaches the task — await it or call .abort()
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 54 |             let _ = spawn_boxed(async move {
[INFO] [stdout]    |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `nexus_async_rt::JoinHandle` that must be used
[INFO] [stdout]   --> nexus-async-rt/tests/channel.rs:86:9
[INFO] [stdout]    |
[INFO] [stdout] 86 | /         spawn_boxed(async move {
[INFO] [stdout] 87 | |             for i in 0..1000 {
[INFO] [stdout] 88 | |                 tx.send(i).await.unwrap();
[INFO] [stdout] 89 | |             }
[INFO] [stdout] 90 | |         });
[INFO] [stdout]    | |__________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: dropping a JoinHandle detaches the task — await it or call .abort()
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 86 |         let _ = spawn_boxed(async move {
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `nexus_async_rt::JoinHandle` that must be used
[INFO] [stdout]    --> nexus-async-rt/tests/channel.rs:111:9
[INFO] [stdout]     |
[INFO] [stdout] 111 | /         spawn_boxed(async move {
[INFO] [stdout] 112 | |             tx.send(1).await.unwrap();
[INFO] [stdout] 113 | |             tx.send(2).await.unwrap();
[INFO] [stdout] 114 | |             // sender dropped here
[INFO] [stdout] 115 | |         });
[INFO] [stdout]     | |__________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: dropping a JoinHandle detaches the task — await it or call .abort()
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 111 |         let _ = spawn_boxed(async move {
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `nexus_async_rt::JoinHandle` that must be used
[INFO] [stdout]    --> nexus-async-rt/tests/channel.rs:136:9
[INFO] [stdout]     |
[INFO] [stdout] 136 | /         spawn_boxed(async move {
[INFO] [stdout] 137 | |             // Fill buffer.
[INFO] [stdout] 138 | |             tx.send(1).await.unwrap();
[INFO] [stdout] 139 | |             tx.send(2).await.unwrap();
[INFO] [stdout] ...   |
[INFO] [stdout] 145 | |         });
[INFO] [stdout]     | |__________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: dropping a JoinHandle detaches the task — await it or call .abort()
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 136 |         let _ = spawn_boxed(async move {
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `nexus_async_rt::JoinHandle` that must be used
[INFO] [stdout]    --> nexus-async-rt/tests/channel.rs:167:9
[INFO] [stdout]     |
[INFO] [stdout] 167 | /         spawn_boxed(async move {
[INFO] [stdout] 168 | |             for i in 0..100_000u64 {
[INFO] [stdout] 169 | |                 tx.send(i).await.unwrap();
[INFO] [stdout] 170 | |             }
[INFO] [stdout] 171 | |         });
[INFO] [stdout]     | |__________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: dropping a JoinHandle detaches the task — await it or call .abort()
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 167 |         let _ = spawn_boxed(async move {
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `nexus_async_rt::JoinHandle` that must be used
[INFO] [stdout]    --> nexus-async-rt/tests/channel_latency.rs:141:9
[INFO] [stdout]     |
[INFO] [stdout] 141 | /         spawn_boxed(async move {
[INFO] [stdout] 142 | |             for i in 0..(WARMUP + ITERS) {
[INFO] [stdout] 143 | |                 tx.send(i).await.unwrap();
[INFO] [stdout] 144 | |             }
[INFO] [stdout] 145 | |         });
[INFO] [stdout]     | |__________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: dropping a JoinHandle detaches the task — await it or call .abort()
[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] 141 |         let _ = spawn_boxed(async move {
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `nexus_async_rt::JoinHandle` that must be used
[INFO] [stdout]    --> nexus-async-rt/tests/channel_latency.rs:180:9
[INFO] [stdout]     |
[INFO] [stdout] 180 | /         spawn_boxed(async move {
[INFO] [stdout] 181 | |             for i in 0..(WARMUP + ITERS) {
[INFO] [stdout] 182 | |                 tx.send(i).await.unwrap();
[INFO] [stdout] 183 | |             }
[INFO] [stdout] 184 | |         });
[INFO] [stdout]     | |__________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: dropping a JoinHandle detaches the task — await it or call .abort()
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 180 |         let _ = spawn_boxed(async move {
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `nexus_async_rt::JoinHandle` that must be used
[INFO] [stdout]    --> nexus-async-rt/tests/channel_latency.rs:406:9
[INFO] [stdout]     |
[INFO] [stdout] 406 | /         spawn_boxed(async move {
[INFO] [stdout] 407 | |             for i in 0..(WARMUP + ITERS) {
[INFO] [stdout] 408 | |                 tx.send(i).await.unwrap();
[INFO] [stdout] 409 | |             }
[INFO] [stdout] 410 | |         });
[INFO] [stdout]     | |__________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: dropping a JoinHandle detaches the task — await it or call .abort()
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 406 |         let _ = spawn_boxed(async move {
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> nexus-async-rt/src/runtime.rs:1355:13
[INFO] [stdout]      |
[INFO] [stdout] 1355 |         let mut wb = WorldBuilder::new();
[INFO] [stdout]      |             ----^^
[INFO] [stdout]      |             |
[INFO] [stdout]      |             help: remove this `mut`
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> nexus-async-rt/src/runtime.rs:1447:13
[INFO] [stdout]      |
[INFO] [stdout] 1447 |         let mut wb = WorldBuilder::new();
[INFO] [stdout]      |             ----^^
[INFO] [stdout]      |             |
[INFO] [stdout]      |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> nexus-async-rt/src/runtime.rs:1468:13
[INFO] [stdout]      |
[INFO] [stdout] 1468 |         let mut wb = WorldBuilder::new();
[INFO] [stdout]      |             ----^^
[INFO] [stdout]      |             |
[INFO] [stdout]      |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> nexus-async-rt/src/runtime.rs:1565:13
[INFO] [stdout]      |
[INFO] [stdout] 1565 |         let mut wb = WorldBuilder::new();
[INFO] [stdout]      |             ----^^
[INFO] [stdout]      |             |
[INFO] [stdout]      |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> nexus-async-rt/src/runtime.rs:1578:13
[INFO] [stdout]      |
[INFO] [stdout] 1578 |         let mut wb = WorldBuilder::new();
[INFO] [stdout]      |             ----^^
[INFO] [stdout]      |             |
[INFO] [stdout]      |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> nexus-async-rt/src/runtime.rs:1596:13
[INFO] [stdout]      |
[INFO] [stdout] 1596 |         let mut wb = WorldBuilder::new();
[INFO] [stdout]      |             ----^^
[INFO] [stdout]      |             |
[INFO] [stdout]      |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> nexus-async-rt/src/runtime.rs:1609:13
[INFO] [stdout]      |
[INFO] [stdout] 1609 |         let mut wb = WorldBuilder::new();
[INFO] [stdout]      |             ----^^
[INFO] [stdout]      |             |
[INFO] [stdout]      |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::alloc::dealloc` is unsafe and requires unsafe block
[INFO] [stdout]     --> nexus-async-rt/src/task.rs:1326:13
[INFO] [stdout]      |
[INFO] [stdout] 1326 |             std::alloc::dealloc(ptr, layout);
[INFO] [stdout]      |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]     --> nexus-async-rt/src/task.rs:1324:9
[INFO] [stdout]      |
[INFO] [stdout] 1324 |         unsafe fn slab_free(ptr: *mut u8) {
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]      = note: requested on the command line with `-W unsafe-op-in-unsafe-fn`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `BackoffBuilder::build` that must be used
[INFO] [stdout]    --> nexus-async-rt/src/backoff.rs:414:9
[INFO] [stdout]     |
[INFO] [stdout] 414 | /         Backoff::builder()
[INFO] [stdout] 415 | |             .initial(Duration::from_secs(60))
[INFO] [stdout] 416 | |             .max_delay(Duration::from_secs(5))
[INFO] [stdout] 417 | |             .build();
[INFO] [stdout]     | |____________________^
[INFO] [stdout]     |
[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] 414 |         let _ = Backoff::builder()
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `task::JoinHandle` that must be used
[INFO] [stdout]    --> nexus-async-rt/src/net/tcp.rs:985:13
[INFO] [stdout]     |
[INFO] [stdout] 985 | /             spawn_boxed(async move {
[INFO] [stdout] 986 | |                 let mut listener = listener;
[INFO] [stdout] 987 | |                 let (mut stream, _peer) = listener.accept().await.unwrap();
[INFO] [stdout] 988 | |                 let mut buf = [0u8; 64];
[INFO] [stdout] 989 | |                 let n = stream.read(&mut buf).await.unwrap();
[INFO] [stdout] 990 | |                 stream.write_all(&buf[..n]).await.unwrap();
[INFO] [stdout] 991 | |             });
[INFO] [stdout]     | |______________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: dropping a JoinHandle detaches the task — await it or call .abort()
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 985 |             let _ = spawn_boxed(async move {
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `task::JoinHandle` that must be used
[INFO] [stdout]     --> nexus-async-rt/src/net/tcp.rs:995:13
[INFO] [stdout]      |
[INFO] [stdout]  995 | /             spawn_boxed(async move {
[INFO] [stdout]  996 | |                 crate::context::sleep(std::time::Duration::from_millis(10)).await;
[INFO] [stdout]  997 | |                 let mut client = TcpStream::connect(addr, io).unwrap();
[INFO] [stdout]  998 | |                 client.write_all(b"hello").await.unwrap();
[INFO] [stdout] ...    |
[INFO] [stdout] 1002 | |                 flag.set(true);
[INFO] [stdout] 1003 | |             });
[INFO] [stdout]      | |______________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: dropping a JoinHandle detaches the task — await it or call .abort()
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]      |
[INFO] [stdout]  995 |             let _ = spawn_boxed(async move {
[INFO] [stdout]      |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `task::JoinHandle` that must be used
[INFO] [stdout]    --> nexus-async-rt/src/net/udp.rs:443:13
[INFO] [stdout]     |
[INFO] [stdout] 443 | /             spawn_boxed(async move {
[INFO] [stdout] 444 | |                 let mut sock = recv_sock;
[INFO] [stdout] 445 | |                 let mut buf = [0u8; 64];
[INFO] [stdout] 446 | |                 let (n, _from) = sock.recv_from(&mut buf).await.unwrap();
[INFO] [stdout] 447 | |                 assert_eq!(&buf[..n], b"test");
[INFO] [stdout] 448 | |                 flag.set(true);
[INFO] [stdout] 449 | |             });
[INFO] [stdout]     | |______________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: dropping a JoinHandle detaches the task — await it or call .abort()
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 443 |             let _ = spawn_boxed(async move {
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `task::JoinHandle` that must be used
[INFO] [stdout]    --> nexus-async-rt/src/net/udp.rs:452:13
[INFO] [stdout]     |
[INFO] [stdout] 452 | /             spawn_boxed(async move {
[INFO] [stdout] 453 | |                 crate::context::sleep(Duration::from_millis(10)).await;
[INFO] [stdout] 454 | |                 let mut sock =
[INFO] [stdout] 455 | |                     UdpSocket::bind("127.0.0.1:0".parse().unwrap(), crate::context::io()).unwrap();
[INFO] [stdout] 456 | |                 sock.send_to(b"test", recv_addr).await.unwrap();
[INFO] [stdout] 457 | |             });
[INFO] [stdout]     | |______________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: dropping a JoinHandle detaches the task — await it or call .abort()
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 452 |             let _ = spawn_boxed(async move {
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `task::JoinHandle` that must be used
[INFO] [stdout]    --> nexus-async-rt/src/net/udp.rs:481:13
[INFO] [stdout]     |
[INFO] [stdout] 481 | /             spawn_boxed(async move {
[INFO] [stdout] 482 | |                 let mut server = server_sock;
[INFO] [stdout] 483 | |                 let mut buf = [0u8; 64];
[INFO] [stdout] 484 | |                 let (n, peer) = server.recv_from(&mut buf).await.unwrap();
[INFO] [stdout] 485 | |                 server.send_to(&buf[..n], peer).await.unwrap();
[INFO] [stdout] 486 | |             });
[INFO] [stdout]     | |______________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: dropping a JoinHandle detaches the task — await it or call .abort()
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 481 |             let _ = spawn_boxed(async move {
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `task::JoinHandle` that must be used
[INFO] [stdout]    --> nexus-async-rt/src/net/udp.rs:490:13
[INFO] [stdout]     |
[INFO] [stdout] 490 | /             spawn_boxed(async move {
[INFO] [stdout] 491 | |                 crate::context::sleep(Duration::from_millis(10)).await;
[INFO] [stdout] 492 | |                 let client_addr: SocketAddr = "127.0.0.1:0".parse().unwrap();
[INFO] [stdout] 493 | |                 let mut client = UdpSocket::bind(client_addr, crate::context::io()).unwrap();
[INFO] [stdout] ...   |
[INFO] [stdout] 498 | |                 flag.set(true);
[INFO] [stdout] 499 | |             });
[INFO] [stdout]     | |______________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: dropping a JoinHandle detaches the task — await it or call .abort()
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 490 |             let _ = spawn_boxed(async move {
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `task::JoinHandle` that must be used
[INFO] [stdout]    --> nexus-async-rt/src/net/udp.rs:524:13
[INFO] [stdout]     |
[INFO] [stdout] 524 | /             spawn_boxed(async move {
[INFO] [stdout] 525 | |                 let mut a = a_sock;
[INFO] [stdout] 526 | |                 a.connect(b_addr).unwrap();
[INFO] [stdout] 527 | |                 a.send(b"connected").await.unwrap();
[INFO] [stdout] 528 | |             });
[INFO] [stdout]     | |______________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: dropping a JoinHandle detaches the task — await it or call .abort()
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 524 |             let _ = spawn_boxed(async move {
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `task::JoinHandle` that must be used
[INFO] [stdout]    --> nexus-async-rt/src/net/udp.rs:531:13
[INFO] [stdout]     |
[INFO] [stdout] 531 | /             spawn_boxed(async move {
[INFO] [stdout] 532 | |                 crate::context::sleep(Duration::from_millis(10)).await;
[INFO] [stdout] 533 | |                 let mut b = b_sock;
[INFO] [stdout] 534 | |                 b.connect(a_addr).unwrap();
[INFO] [stdout] ...   |
[INFO] [stdout] 538 | |                 flag.set(true);
[INFO] [stdout] 539 | |             });
[INFO] [stdout]     | |______________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: dropping a JoinHandle detaches the task — await it or call .abort()
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 531 |             let _ = spawn_boxed(async move {
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `task::JoinHandle` that must be used
[INFO] [stdout]     --> nexus-async-rt/src/runtime.rs:1281:17
[INFO] [stdout]      |
[INFO] [stdout] 1281 | /                 spawn_boxed(async move {
[INFO] [stdout] 1282 | |                     crate::context::with_world(|world| {
[INFO] [stdout] 1283 | |                         world.resource_mut::<Out>().0 += i;
[INFO] [stdout] 1284 | |                     });
[INFO] [stdout] 1285 | |                 });
[INFO] [stdout]      | |__________________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: dropping a JoinHandle detaches the task — await it or call .abort()
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]      |
[INFO] [stdout] 1281 |                 let _ = spawn_boxed(async move {
[INFO] [stdout]      |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `task::JoinHandle` that must be used
[INFO] [stdout]     --> nexus-async-rt/src/runtime.rs:1314:13
[INFO] [stdout]      |
[INFO] [stdout] 1314 | /             spawn_boxed(async move {
[INFO] [stdout] 1315 | |                 crate::context::with_world(|world| {
[INFO] [stdout] 1316 | |                     world.resource_mut::<Out>().0 = 99;
[INFO] [stdout] 1317 | |                 });
[INFO] [stdout] 1318 | |             });
[INFO] [stdout]      | |______________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: dropping a JoinHandle detaches the task — await it or call .abort()
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]      |
[INFO] [stdout] 1314 |             let _ = spawn_boxed(async move {
[INFO] [stdout]      |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `task::JoinHandle` that must be used
[INFO] [stdout]     --> nexus-async-rt/src/runtime.rs:1344:9
[INFO] [stdout]      |
[INFO] [stdout] 1344 |         spawn_boxed(async {});
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: dropping a JoinHandle detaches the task — await it or call .abort()
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]      |
[INFO] [stdout] 1344 |         let _ = spawn_boxed(async {});
[INFO] [stdout]      |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `task::JoinHandle` that must be used
[INFO] [stdout]     --> nexus-async-rt/src/runtime.rs:1360:13
[INFO] [stdout]      |
[INFO] [stdout] 1360 |             spawn_slab(async {});
[INFO] [stdout]      |             ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: dropping a JoinHandle detaches the task — await it or call .abort()
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]      |
[INFO] [stdout] 1360 |             let _ = spawn_slab(async {});
[INFO] [stdout]      |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `task::JoinHandle` that must be used
[INFO] [stdout]     --> nexus-async-rt/src/runtime.rs:1375:13
[INFO] [stdout]      |
[INFO] [stdout] 1375 | /             spawn_slab(async move {
[INFO] [stdout] 1376 | |                 crate::context::with_world(|world| {
[INFO] [stdout] 1377 | |                     world.resource_mut::<Out>().0 = 77;
[INFO] [stdout] 1378 | |                 });
[INFO] [stdout] 1379 | |             });
[INFO] [stdout]      | |______________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: dropping a JoinHandle detaches the task — await it or call .abort()
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]      |
[INFO] [stdout] 1375 |             let _ = spawn_slab(async move {
[INFO] [stdout]      |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `task::JoinHandle` that must be used
[INFO] [stdout]     --> nexus-async-rt/src/runtime.rs:1399:13
[INFO] [stdout]      |
[INFO] [stdout] 1399 | /             spawn_boxed(async move {
[INFO] [stdout] 1400 | |                 crate::context::with_world(|world| {
[INFO] [stdout] 1401 | |                     world.resource_mut::<Out>().0 += 10;
[INFO] [stdout] 1402 | |                 });
[INFO] [stdout] 1403 | |             });
[INFO] [stdout]      | |______________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: dropping a JoinHandle detaches the task — await it or call .abort()
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]      |
[INFO] [stdout] 1399 |             let _ = spawn_boxed(async move {
[INFO] [stdout]      |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `task::JoinHandle` that must be used
[INFO] [stdout]     --> nexus-async-rt/src/runtime.rs:1405:13
[INFO] [stdout]      |
[INFO] [stdout] 1405 | /             spawn_slab(async move {
[INFO] [stdout] 1406 | |                 crate::context::with_world(|world| {
[INFO] [stdout] 1407 | |                     world.resource_mut::<Out>().0 += 20;
[INFO] [stdout] 1408 | |                 });
[INFO] [stdout] 1409 | |             });
[INFO] [stdout]      | |______________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: dropping a JoinHandle detaches the task — await it or call .abort()
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]      |
[INFO] [stdout] 1405 |             let _ = spawn_slab(async move {
[INFO] [stdout]      |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `task::JoinHandle` that must be used
[INFO] [stdout]     --> nexus-async-rt/src/runtime.rs:1433:13
[INFO] [stdout]      |
[INFO] [stdout] 1433 | /             claim.spawn(async move {
[INFO] [stdout] 1434 | |                 crate::context::with_world(|world| {
[INFO] [stdout] 1435 | |                     world.resource_mut::<Out>().0 = 55;
[INFO] [stdout] 1436 | |                 });
[INFO] [stdout] 1437 | |             });
[INFO] [stdout]      | |______________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: dropping a JoinHandle detaches the task — await it or call .abort()
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]      |
[INFO] [stdout] 1433 |             let _ = claim.spawn(async move {
[INFO] [stdout]      |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `task::JoinHandle` that must be used
[INFO] [stdout]     --> nexus-async-rt/src/runtime.rs:1460:13
[INFO] [stdout]      |
[INFO] [stdout] 1460 |             claim.spawn(async {});
[INFO] [stdout]      |             ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: dropping a JoinHandle detaches the task — await it or call .abort()
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]      |
[INFO] [stdout] 1460 |             let _ = claim.spawn(async {});
[INFO] [stdout]      |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `task::JoinHandle` that must be used
[INFO] [stdout]     --> nexus-async-rt/src/runtime.rs:1491:13
[INFO] [stdout]      |
[INFO] [stdout] 1491 | /             spawn_boxed(async move {
[INFO] [stdout] 1492 | |                 crate::context::with_world(|world| {
[INFO] [stdout] 1493 | |                     world.resource_mut::<Out>().0 += 10;
[INFO] [stdout] 1494 | |                 });
[INFO] [stdout] 1495 | |             });
[INFO] [stdout]      | |______________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: dropping a JoinHandle detaches the task — await it or call .abort()
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]      |
[INFO] [stdout] 1491 |             let _ = spawn_boxed(async move {
[INFO] [stdout]      |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `task::JoinHandle` that must be used
[INFO] [stdout]     --> nexus-async-rt/src/runtime.rs:1498:13
[INFO] [stdout]      |
[INFO] [stdout] 1498 | /             claim.spawn(async move {
[INFO] [stdout] 1499 | |                 crate::context::with_world(|world| {
[INFO] [stdout] 1500 | |                     world.resource_mut::<Out>().0 += 20;
[INFO] [stdout] 1501 | |                 });
[INFO] [stdout] 1502 | |             });
[INFO] [stdout]      | |______________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: dropping a JoinHandle detaches the task — await it or call .abort()
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]      |
[INFO] [stdout] 1498 |             let _ = claim.spawn(async move {
[INFO] [stdout]      |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `task::JoinHandle` that must be used
[INFO] [stdout]     --> nexus-async-rt/src/runtime.rs:1548:13
[INFO] [stdout]      |
[INFO] [stdout] 1548 | /             spawn_boxed(async move {
[INFO] [stdout] 1549 | |                 crate::context::sleep(Duration::from_millis(50)).await;
[INFO] [stdout] 1550 | |                 crate::context::with_world(|world| {
[INFO] [stdout] 1551 | |                     world.resource_mut::<Out>().0 = 42;
[INFO] [stdout] 1552 | |                 });
[INFO] [stdout] 1553 | |             });
[INFO] [stdout]      | |______________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: dropping a JoinHandle detaches the task — await it or call .abort()
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]      |
[INFO] [stdout] 1548 |             let _ = spawn_boxed(async move {
[INFO] [stdout]      |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `task::JoinHandle` that must be used
[INFO] [stdout]     --> nexus-async-rt/src/runtime.rs:1666:13
[INFO] [stdout]      |
[INFO] [stdout] 1666 | /             spawn_boxed(async move {
[INFO] [stdout] 1667 | |                 crate::context::with_world(|world| {
[INFO] [stdout] 1668 | |                     world.resource_mut::<Out>().0 = 99;
[INFO] [stdout] 1669 | |                 });
[INFO] [stdout] 1670 | |             });
[INFO] [stdout]      | |______________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: dropping a JoinHandle detaches the task — await it or call .abort()
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]      |
[INFO] [stdout] 1666 |             let _ = spawn_boxed(async move {
[INFO] [stdout]      |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `task::JoinHandle` that must be used
[INFO] [stdout]    --> nexus-async-rt/src/shutdown.rs:208:13
[INFO] [stdout]     |
[INFO] [stdout] 208 | /             spawn_boxed(async move {
[INFO] [stdout] 209 | |                 crate::context::sleep(std::time::Duration::from_millis(50)).await;
[INFO] [stdout] 210 | |                 sh.trigger();
[INFO] [stdout] 211 | |             });
[INFO] [stdout]     | |______________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: dropping a JoinHandle detaches the task — await it or call .abort()
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 208 |             let _ = spawn_boxed(async move {
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `task::JoinHandle` that must be used
[INFO] [stdout]    --> nexus-async-rt/src/world_ctx.rs:131:9
[INFO] [stdout]     |
[INFO] [stdout] 131 | /         executor.spawn_boxed(async move {
[INFO] [stdout] 132 | |             ctx.with_world(|world| {
[INFO] [stdout] 133 | |                 let v = world.resource::<Val>().0;
[INFO] [stdout] 134 | |                 world.resource_mut::<Out>().0 = v + 10;
[INFO] [stdout] 135 | |             });
[INFO] [stdout] 136 | |         });
[INFO] [stdout]     | |__________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: dropping a JoinHandle detaches the task — await it or call .abort()
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 131 |         let _ = executor.spawn_boxed(async move {
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `task::JoinHandle` that must be used
[INFO] [stdout]    --> nexus-async-rt/src/world_ctx.rs:155:9
[INFO] [stdout]     |
[INFO] [stdout] 155 | /         executor.spawn_boxed(async move {
[INFO] [stdout] 156 | |             let v = ctx.with_world_ref(|world| world.resource::<Val>().0);
[INFO] [stdout] 157 | |             // SAFETY: test-only, single-threaded, Cell is alive.
[INFO] [stdout] 158 | |             unsafe { &*result_ptr }.set(v);
[INFO] [stdout] 159 | |         });
[INFO] [stdout]     | |__________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: dropping a JoinHandle detaches the task — await it or call .abort()
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 155 |         let _ = executor.spawn_boxed(async move {
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `task::JoinHandle` that must be used
[INFO] [stdout]    --> nexus-async-rt/src/world_ctx.rs:182:9
[INFO] [stdout]     |
[INFO] [stdout] 182 | /         executor.spawn_boxed(async move {
[INFO] [stdout] 183 | |             ctx.with_world(|world| handler.run(world, 10));
[INFO] [stdout] 184 | |         });
[INFO] [stdout]     | |__________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: dropping a JoinHandle detaches the task — await it or call .abort()
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 182 |         let _ = executor.spawn_boxed(async move {
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `task::JoinHandle` that must be used
[INFO] [stdout]    --> nexus-async-rt/src/world_ctx.rs:203:9
[INFO] [stdout]     |
[INFO] [stdout] 203 | /         executor.spawn_boxed(async move {
[INFO] [stdout] 204 | |             let v = ctx.with_world(|world| world.resource::<Val>().0 * 6);
[INFO] [stdout] 205 | |             // SAFETY: test-only, single-threaded, Cell is alive.
[INFO] [stdout] 206 | |             unsafe { &*result_ptr }.set(v);
[INFO] [stdout] 207 | |         });
[INFO] [stdout]     | |__________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: dropping a JoinHandle detaches the task — await it or call .abort()
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 203 |         let _ = executor.spawn_boxed(async move {
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `task::JoinHandle` that must be used
[INFO] [stdout]    --> nexus-async-rt/src/world_ctx.rs:226:13
[INFO] [stdout]     |
[INFO] [stdout] 226 | /             executor.spawn_boxed(async move {
[INFO] [stdout] 227 | |                 ctx.with_world(|world| {
[INFO] [stdout] 228 | |                     world.resource_mut::<Out>().0 += i;
[INFO] [stdout] 229 | |                 });
[INFO] [stdout] 230 | |             });
[INFO] [stdout]     | |______________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: dropping a JoinHandle detaches the task — await it or call .abort()
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 226 |             let _ = executor.spawn_boxed(async move {
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `task::JoinHandle` that must be used
[INFO] [stdout]    --> nexus-async-rt/src/lib.rs:840:9
[INFO] [stdout]     |
[INFO] [stdout] 840 | /         exec.spawn_boxed(async move {
[INFO] [stdout] 841 | |             // SAFETY: single-threaded, flag lives on stack.
[INFO] [stdout] 842 | |             unsafe { *flag = true };
[INFO] [stdout] 843 | |         });
[INFO] [stdout]     | |__________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: dropping a JoinHandle detaches the task — await it or call .abort()
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 840 |         let _ = exec.spawn_boxed(async move {
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `task::JoinHandle` that must be used
[INFO] [stdout]    --> nexus-async-rt/src/lib.rs:857:13
[INFO] [stdout]     |
[INFO] [stdout] 857 |             exec.spawn_boxed(async {});
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: dropping a JoinHandle detaches the task — await it or call .abort()
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 857 |             let _ = exec.spawn_boxed(async {});
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `task::JoinHandle` that must be used
[INFO] [stdout]    --> nexus-async-rt/src/lib.rs:875:9
[INFO] [stdout]     |
[INFO] [stdout] 875 |         exec.spawn_boxed(std::future::pending::<()>());
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: dropping a JoinHandle detaches the task — await it or call .abort()
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 875 |         let _ = exec.spawn_boxed(std::future::pending::<()>());
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `task::JoinHandle` that must be used
[INFO] [stdout]    --> nexus-async-rt/src/lib.rs:890:9
[INFO] [stdout]     |
[INFO] [stdout] 890 | /         exec.spawn_boxed(async {
[INFO] [stdout] 891 | |             // Immediately ready.
[INFO] [stdout] 892 | |         });
[INFO] [stdout]     | |__________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: dropping a JoinHandle detaches the task — await it or call .abort()
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 890 |         let _ = exec.spawn_boxed(async {
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `task::JoinHandle` that must be used
[INFO] [stdout]    --> nexus-async-rt/src/lib.rs:913:9
[INFO] [stdout]     |
[INFO] [stdout] 913 | /         exec.spawn_boxed(async move {
[INFO] [stdout] 914 | |             struct SelfWake {
[INFO] [stdout] 915 | |                 counter: Rc<Cell<u32>>,
[INFO] [stdout] ...   |
[INFO] [stdout] 930 | |             SelfWake { counter: c }.await;
[INFO] [stdout] 931 | |         });
[INFO] [stdout]     | |__________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: dropping a JoinHandle detaches the task — await it or call .abort()
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 913 |         let _ = exec.spawn_boxed(async move {
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `task::JoinHandle::<T>::abort` that must be used
[INFO] [stdout]    --> nexus-async-rt/src/lib.rs:964:9
[INFO] [stdout]     |
[INFO] [stdout] 964 |         handle.abort(); // consumes handle
[INFO] [stdout]     |         ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: returns whether the task was still running
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 964 |         let _ = handle.abort(); // consumes handle
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `task::JoinHandle` that must be used
[INFO] [stdout]    --> nexus-async-rt/src/lib.rs:969:9
[INFO] [stdout]     |
[INFO] [stdout] 969 |         exec.spawn_boxed(async {});
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: dropping a JoinHandle detaches the task — await it or call .abort()
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 969 |         let _ = exec.spawn_boxed(async {});
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `task::JoinHandle` that must be used
[INFO] [stdout]    --> nexus-async-rt/src/lib.rs:985:13
[INFO] [stdout]     |
[INFO] [stdout] 985 |             exec.spawn_boxed(async {});
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: dropping a JoinHandle detaches the task — await it or call .abort()
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 985 |             let _ = exec.spawn_boxed(async {});
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `task::JoinHandle::<T>::abort` that must be used
[INFO] [stdout]     --> nexus-async-rt/src/lib.rs:1037:9
[INFO] [stdout]      |
[INFO] [stdout] 1037 |         handle.abort();
[INFO] [stdout]      |         ^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: returns whether the task was still running
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]      |
[INFO] [stdout] 1037 |         let _ = handle.abort();
[INFO] [stdout]      |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `task::JoinHandle` that must be used
[INFO] [stdout]     --> nexus-async-rt/src/lib.rs:1040:9
[INFO] [stdout]      |
[INFO] [stdout] 1040 | /         exec.spawn_boxed(async move {
[INFO] [stdout] 1041 | |             p.set(true);
[INFO] [stdout] 1042 | |         });
[INFO] [stdout]      | |__________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: dropping a JoinHandle detaches the task — await it or call .abort()
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]      |
[INFO] [stdout] 1040 |         let _ = exec.spawn_boxed(async move {
[INFO] [stdout]      |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `task::JoinHandle` that must be used
[INFO] [stdout]     --> nexus-async-rt/src/lib.rs:1063:9
[INFO] [stdout]      |
[INFO] [stdout] 1063 |         exec.spawn_boxed(std::future::pending::<()>());
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: dropping a JoinHandle detaches the task — await it or call .abort()
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]      |
[INFO] [stdout] 1063 |         let _ = exec.spawn_boxed(std::future::pending::<()>());
[INFO] [stdout]      |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `task::JoinHandle` that must be used
[INFO] [stdout]     --> nexus-async-rt/src/lib.rs:1064:9
[INFO] [stdout]      |
[INFO] [stdout] 1064 |         exec.spawn_boxed(std::future::pending::<()>());
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: dropping a JoinHandle detaches the task — await it or call .abort()
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]      |
[INFO] [stdout] 1064 |         let _ = exec.spawn_boxed(std::future::pending::<()>());
[INFO] [stdout]      |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `task::JoinHandle` that must be used
[INFO] [stdout]     --> nexus-async-rt/src/lib.rs:1089:9
[INFO] [stdout]      |
[INFO] [stdout] 1089 |         exec.spawn_boxed(Noop);
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: dropping a JoinHandle detaches the task — await it or call .abort()
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]      |
[INFO] [stdout] 1089 |         let _ = exec.spawn_boxed(Noop);
[INFO] [stdout]      |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> nexus-async-rt/tests/shutdown_quiesce.rs:16:9
[INFO] [stdout]    |
[INFO] [stdout] 16 |     let mut wb = WorldBuilder::new();
[INFO] [stdout]    |         ----^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> nexus-async-rt/tests/shutdown_quiesce.rs:28:9
[INFO] [stdout]    |
[INFO] [stdout] 28 |     let mut wb = WorldBuilder::new();
[INFO] [stdout]    |         ----^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> nexus-async-rt/tests/shutdown_quiesce.rs:64:9
[INFO] [stdout]    |
[INFO] [stdout] 64 |     let mut wb = WorldBuilder::new();
[INFO] [stdout]    |         ----^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> nexus-async-rt/tests/shutdown_quiesce.rs:85:9
[INFO] [stdout]    |
[INFO] [stdout] 85 |     let mut wb = WorldBuilder::new();
[INFO] [stdout]    |         ----^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> nexus-async-rt/tests/shutdown_quiesce.rs:115:9
[INFO] [stdout]     |
[INFO] [stdout] 115 |     let mut wb = WorldBuilder::new();
[INFO] [stdout]     |         ----^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> nexus-async-rt/tests/shutdown_quiesce.rs:131:9
[INFO] [stdout]     |
[INFO] [stdout] 131 |     let mut wb = WorldBuilder::new();
[INFO] [stdout]     |         ----^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> nexus-async-rt/tests/shutdown_quiesce.rs:193:9
[INFO] [stdout]     |
[INFO] [stdout] 193 |     let mut wb = WorldBuilder::new();
[INFO] [stdout]     |         ----^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `nexus_async_rt::JoinHandle` that must be used
[INFO] [stdout]   --> nexus-async-rt/tests/net_udp.rs:34:9
[INFO] [stdout]    |
[INFO] [stdout] 34 | /         spawn_boxed(async move {
[INFO] [stdout] 35 | |             let mut s = recv_sock;
[INFO] [stdout] 36 | |             let mut buf = [0u8; 64];
[INFO] [stdout] 37 | |             let (n, from) = s.recv_from(&mut buf).await.unwrap();
[INFO] [stdout] ...  |
[INFO] [stdout] 40 | |             flag.set(true);
[INFO] [stdout] 41 | |         });
[INFO] [stdout]    | |__________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: dropping a JoinHandle detaches the task — await it or call .abort()
[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] 34 |         let _ = spawn_boxed(async move {
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `nexus_async_rt::JoinHandle` that must be used
[INFO] [stdout]   --> nexus-async-rt/tests/net_udp.rs:43:9
[INFO] [stdout]    |
[INFO] [stdout] 43 | /         spawn_boxed(async move {
[INFO] [stdout] 44 | |             nexus_async_rt::sleep(Duration::from_millis(10)).await;
[INFO] [stdout] 45 | |             let mut s =
[INFO] [stdout] 46 | |                 UdpSocket::bind("127.0.0.1:0".parse().unwrap(), nexus_async_rt::io()).unwrap();
[INFO] [stdout] 47 | |             s.send_to(b"hello udp", recv_addr).await.unwrap();
[INFO] [stdout] 48 | |         });
[INFO] [stdout]    | |__________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: dropping a JoinHandle detaches the task — await it or call .abort()
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 43 |         let _ = spawn_boxed(async move {
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `nexus_async_rt::JoinHandle` that must be used
[INFO] [stdout]   --> nexus-async-rt/tests/net_udp.rs:72:9
[INFO] [stdout]    |
[INFO] [stdout] 72 | /         spawn_boxed(async move {
[INFO] [stdout] 73 | |             let mut a = a_sock;
[INFO] [stdout] 74 | |             a.connect(b_addr).unwrap();
[INFO] [stdout] 75 | |             a.send(b"connected-msg").await.unwrap();
[INFO] [stdout] 76 | |         });
[INFO] [stdout]    | |__________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: dropping a JoinHandle detaches the task — await it or call .abort()
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 72 |         let _ = spawn_boxed(async move {
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `nexus_async_rt::JoinHandle` that must be used
[INFO] [stdout]   --> nexus-async-rt/tests/net_udp.rs:78:9
[INFO] [stdout]    |
[INFO] [stdout] 78 | /         spawn_boxed(async move {
[INFO] [stdout] 79 | |             nexus_async_rt::sleep(Duration::from_millis(10)).await;
[INFO] [stdout] 80 | |             let mut b = b_sock;
[INFO] [stdout] 81 | |             b.connect(a_addr).unwrap();
[INFO] [stdout] ...  |
[INFO] [stdout] 85 | |             flag.set(true);
[INFO] [stdout] 86 | |         });
[INFO] [stdout]    | |__________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: dropping a JoinHandle detaches the task — await it or call .abort()
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 78 |         let _ = spawn_boxed(async move {
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `nexus_async_rt::JoinHandle` that must be used
[INFO] [stdout]    --> nexus-async-rt/tests/net_udp.rs:109:9
[INFO] [stdout]     |
[INFO] [stdout] 109 | /         spawn_boxed(async move {
[INFO] [stdout] 110 | |             let mut s = server_sock;
[INFO] [stdout] 111 | |             let mut buf = [0u8; 64];
[INFO] [stdout] 112 | |             let (n, peer) = s.recv_from(&mut buf).await.unwrap();
[INFO] [stdout] 113 | |             s.send_to(&buf[..n], peer).await.unwrap();
[INFO] [stdout] 114 | |         });
[INFO] [stdout]     | |__________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: dropping a JoinHandle detaches the task — await it or call .abort()
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 109 |         let _ = spawn_boxed(async move {
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `nexus_async_rt::JoinHandle` that must be used
[INFO] [stdout]    --> nexus-async-rt/tests/net_udp.rs:116:9
[INFO] [stdout]     |
[INFO] [stdout] 116 | /         spawn_boxed(async move {
[INFO] [stdout] 117 | |             nexus_async_rt::sleep(Duration::from_millis(10)).await;
[INFO] [stdout] 118 | |             let mut c =
[INFO] [stdout] 119 | |                 UdpSocket::bind("127.0.0.1:0".parse().unwrap(), nexus_async_rt::io()).unwrap();
[INFO] [stdout] ...   |
[INFO] [stdout] 124 | |             flag.set(true);
[INFO] [stdout] 125 | |         });
[INFO] [stdout]     | |__________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: dropping a JoinHandle detaches the task — await it or call .abort()
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 116 |         let _ = spawn_boxed(async move {
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `nexus_async_rt::JoinHandle` that must be used
[INFO] [stdout]    --> nexus-async-rt/tests/net_udp.rs:148:9
[INFO] [stdout]     |
[INFO] [stdout] 148 | /         spawn_boxed(async move {
[INFO] [stdout] 149 | |             let mut s = recv_sock;
[INFO] [stdout] 150 | |             let mut buf = [0u8; 64];
[INFO] [stdout] 151 | |             for _ in 0..5 {
[INFO] [stdout] ...   |
[INFO] [stdout] 156 | |         });
[INFO] [stdout]     | |__________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: dropping a JoinHandle detaches the task — await it or call .abort()
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 148 |         let _ = spawn_boxed(async move {
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `nexus_async_rt::JoinHandle` that must be used
[INFO] [stdout]    --> nexus-async-rt/tests/net_udp.rs:158:9
[INFO] [stdout]     |
[INFO] [stdout] 158 | /         spawn_boxed(async move {
[INFO] [stdout] 159 | |             nexus_async_rt::sleep(Duration::from_millis(10)).await;
[INFO] [stdout] 160 | |             let mut c =
[INFO] [stdout] 161 | |                 UdpSocket::bind("127.0.0.1:0".parse().unwrap(), nexus_async_rt::io()).unwrap();
[INFO] [stdout] ...   |
[INFO] [stdout] 166 | |         });
[INFO] [stdout]     | |__________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: dropping a JoinHandle detaches the task — await it or call .abort()
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 158 |         let _ = spawn_boxed(async move {
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `nexus_async_rt::JoinHandle` that must be used
[INFO] [stdout]    --> nexus-async-rt/tests/net_udp.rs:228:9
[INFO] [stdout]     |
[INFO] [stdout] 228 | /         spawn_boxed(async move {
[INFO] [stdout] 229 | |             let a = a;
[INFO] [stdout] 230 | |             a.connect(b_addr).unwrap();
[INFO] [stdout] 231 | |             let n = a.try_send(b"try-data").unwrap();
[INFO] [stdout] 232 | |             assert_eq!(n, 8);
[INFO] [stdout] 233 | |         });
[INFO] [stdout]     | |__________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: dropping a JoinHandle detaches the task — await it or call .abort()
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 228 |         let _ = spawn_boxed(async move {
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `nexus_async_rt::JoinHandle` that must be used
[INFO] [stdout]    --> nexus-async-rt/tests/net_udp.rs:235:9
[INFO] [stdout]     |
[INFO] [stdout] 235 | /         spawn_boxed(async move {
[INFO] [stdout] 236 | |             nexus_async_rt::sleep(Duration::from_millis(50)).await;
[INFO] [stdout] 237 | |             let b = b;
[INFO] [stdout] 238 | |             b.connect(a_addr).unwrap();
[INFO] [stdout] ...   |
[INFO] [stdout] 249 | |         });
[INFO] [stdout]     | |__________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: dropping a JoinHandle detaches the task — await it or call .abort()
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 235 |         let _ = spawn_boxed(async move {
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `nexus_async_rt::JoinHandle` that must be used
[INFO] [stdout]    --> nexus-async-rt/tests/net_udp.rs:276:9
[INFO] [stdout]     |
[INFO] [stdout] 276 | /         spawn_boxed(async move {
[INFO] [stdout] 277 | |             let mut s = sock;
[INFO] [stdout] 278 | |             let mut buf = [0u8; 64];
[INFO] [stdout] 279 | |             let (n, _) = s.recv_from(&mut buf).await.unwrap();
[INFO] [stdout] 280 | |             assert_eq!(&buf[..n], b"from-std");
[INFO] [stdout] 281 | |             flag.set(true);
[INFO] [stdout] 282 | |         });
[INFO] [stdout]     | |__________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: dropping a JoinHandle detaches the task — await it or call .abort()
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 276 |         let _ = spawn_boxed(async move {
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `nexus_async_rt::JoinHandle` that must be used
[INFO] [stdout]    --> nexus-async-rt/tests/net_udp.rs:284:9
[INFO] [stdout]     |
[INFO] [stdout] 284 | /         spawn_boxed(async move {
[INFO] [stdout] 285 | |             nexus_async_rt::sleep(Duration::from_millis(10)).await;
[INFO] [stdout] 286 | |             let mut s =
[INFO] [stdout] 287 | |                 UdpSocket::bind("127.0.0.1:0".parse().unwrap(), nexus_async_rt::io()).unwrap();
[INFO] [stdout] 288 | |             s.send_to(b"from-std", addr).await.unwrap();
[INFO] [stdout] 289 | |         });
[INFO] [stdout]     | |__________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: dropping a JoinHandle detaches the task — await it or call .abort()
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 284 |         let _ = spawn_boxed(async move {
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `nexus_async_rt::JoinHandle` that must be used
[INFO] [stdout]    --> nexus-async-rt/tests/net_udp.rs:325:9
[INFO] [stdout]     |
[INFO] [stdout] 325 | /         spawn_boxed(async move {
[INFO] [stdout] 326 | |             let mut s = recv_sock;
[INFO] [stdout] 327 | |             let mut buf = [0u8; 64];
[INFO] [stdout] 328 | |             let (n, peer) = s.peek_from(&mut buf).await.unwrap();
[INFO] [stdout] ...   |
[INFO] [stdout] 333 | |             flag.set(true);
[INFO] [stdout] 334 | |         });
[INFO] [stdout]     | |__________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: dropping a JoinHandle detaches the task — await it or call .abort()
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 325 |         let _ = spawn_boxed(async move {
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `nexus_async_rt::JoinHandle` that must be used
[INFO] [stdout]    --> nexus-async-rt/tests/net_udp.rs:336:9
[INFO] [stdout]     |
[INFO] [stdout] 336 | /         spawn_boxed(async move {
[INFO] [stdout] 337 | |             nexus_async_rt::sleep(Duration::from_millis(10)).await;
[INFO] [stdout] 338 | |             let mut s =
[INFO] [stdout] 339 | |                 UdpSocket::bind("127.0.0.1:0".parse().unwrap(), nexus_async_rt::io()).unwrap();
[INFO] [stdout] 340 | |             s.send_to(b"peek-data", recv_addr).await.unwrap();
[INFO] [stdout] 341 | |         });
[INFO] [stdout]     | |__________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: dropping a JoinHandle detaches the task — await it or call .abort()
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 336 |         let _ = spawn_boxed(async move {
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `nexus_async_rt::JoinHandle` that must be used
[INFO] [stdout]    --> nexus-async-rt/tests/net_udp.rs:379:9
[INFO] [stdout]     |
[INFO] [stdout] 379 | /         spawn_boxed(async move {
[INFO] [stdout] 380 | |             let mut s = recv_sock;
[INFO] [stdout] 381 | |             let mut buf = [0u8; 64];
[INFO] [stdout] 382 | |             let (n, _) = s.recv_from(&mut buf).await.unwrap();
[INFO] [stdout] 383 | |             assert_eq!(&buf[..n], b"mcast");
[INFO] [stdout] 384 | |             flag.set(true);
[INFO] [stdout] 385 | |         });
[INFO] [stdout]     | |__________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: dropping a JoinHandle detaches the task — await it or call .abort()
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 379 |         let _ = spawn_boxed(async move {
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `nexus_async_rt::JoinHandle` that must be used
[INFO] [stdout]    --> nexus-async-rt/tests/net_udp.rs:387:9
[INFO] [stdout]     |
[INFO] [stdout] 387 | /         spawn_boxed(async move {
[INFO] [stdout] 388 | |             nexus_async_rt::sleep(Duration::from_millis(50)).await;
[INFO] [stdout] 389 | |             let mut s =
[INFO] [stdout] 390 | |                 UdpSocket::bind("0.0.0.0:0".parse().unwrap(), nexus_async_rt::io()).unwrap();
[INFO] [stdout] 391 | |             let target: std::net::SocketAddr = format!("239.255.0.1:{recv_port}").parse().unwrap();
[INFO] [stdout] 392 | |             s.send_to(b"mcast", target).await.unwrap();
[INFO] [stdout] 393 | |         });
[INFO] [stdout]     | |__________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: dropping a JoinHandle detaches the task — await it or call .abort()
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 387 |         let _ = spawn_boxed(async move {
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `AsyncReadExt`
[INFO] [stdout]    --> nexus-async-rt/tests/vs_tokio.rs:128:21
[INFO] [stdout]     |
[INFO] [stdout] 128 |     use tokio::io::{AsyncReadExt, AsyncWriteExt};
[INFO] [stdout]     |                     ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `nexus_async_rt::JoinHandle` that must be used
[INFO] [stdout]   --> nexus-async-rt/tests/vs_tokio.rs:68:9
[INFO] [stdout]    |
[INFO] [stdout] 68 | /         spawn_boxed(async move {
[INFO] [stdout] 69 | |             let mut listener = listener;
[INFO] [stdout] 70 | |             let (mut s, _) = listener.accept().await.unwrap();
[INFO] [stdout] 71 | |             s.set_nodelay(true).unwrap();
[INFO] [stdout] ...  |
[INFO] [stdout] 80 | |         });
[INFO] [stdout]    | |__________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: dropping a JoinHandle detaches the task — await it or call .abort()
[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] 68 |         let _ = spawn_boxed(async move {
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `nexus_async_rt::JoinHandle` that must be used
[INFO] [stdout]    --> nexus-async-rt/tests/vs_tokio.rs:84:9
[INFO] [stdout]     |
[INFO] [stdout]  84 | /         spawn_boxed(async move {
[INFO] [stdout]  85 | |             nexus_async_rt::sleep(Duration::from_millis(10)).await;
[INFO] [stdout]  86 | |             let mut c = TcpStream::connect(addr, io).unwrap();
[INFO] [stdout]  87 | |             c.set_nodelay(true).unwrap();
[INFO] [stdout] ...   |
[INFO] [stdout] 105 | |             writer.set(samples);
[INFO] [stdout] 106 | |         });
[INFO] [stdout]     | |__________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: dropping a JoinHandle detaches the task — await it or call .abort()
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout]  84 |         let _ = spawn_boxed(async move {
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `nexus_async_rt::JoinHandle` that must be used
[INFO] [stdout]    --> nexus-async-rt/tests/vs_tokio.rs:217:9
[INFO] [stdout]     |
[INFO] [stdout] 217 | /         spawn_boxed(async move {
[INFO] [stdout] 218 | |             let mut b = b;
[INFO] [stdout] 219 | |             b.connect(a_addr).unwrap();
[INFO] [stdout] 220 | |             let mut buf = [0u8; MSG_SIZE];
[INFO] [stdout] ...   |
[INFO] [stdout] 228 | |         });
[INFO] [stdout]     | |__________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: dropping a JoinHandle detaches the task — await it or call .abort()
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 217 |         let _ = spawn_boxed(async move {
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `nexus_async_rt::JoinHandle` that must be used
[INFO] [stdout]    --> nexus-async-rt/tests/vs_tokio.rs:231:9
[INFO] [stdout]     |
[INFO] [stdout] 231 | /         spawn_boxed(async move {
[INFO] [stdout] 232 | |             nexus_async_rt::sleep(Duration::from_millis(10)).await;
[INFO] [stdout] 233 | |             let mut a = a;
[INFO] [stdout] 234 | |             a.connect(b_addr).unwrap();
[INFO] [stdout] ...   |
[INFO] [stdout] 252 | |             writer.set(samples);
[INFO] [stdout] 253 | |         });
[INFO] [stdout]     | |__________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: dropping a JoinHandle detaches the task — await it or call .abort()
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 231 |         let _ = spawn_boxed(async move {
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `rdtsc` is never used
[INFO] [stdout]   --> nexus-async-rt/tests/dispatch_histo.rs:20:4
[INFO] [stdout]    |
[INFO] [stdout] 20 | fn rdtsc() -> u64 {
[INFO] [stdout]    |    ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `nexus_async_rt::JoinHandle` that must be used
[INFO] [stdout]   --> nexus-async-rt/tests/dispatch_histo.rs:69:5
[INFO] [stdout]    |
[INFO] [stdout] 69 | /     executor.spawn_boxed(InstrumentedTask {
[INFO] [stdout] 70 | |         count: 0,
[INFO] [stdout] 71 | |         target: total,
[INFO] [stdout] 72 | |         entries: e,
[INFO] [stdout] 73 | |     });
[INFO] [stdout]    | |______^
[INFO] [stdout]    |
[INFO] [stdout]    = note: dropping a JoinHandle detaches the task — await it or call .abort()
[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] 69 |     let _ = executor.spawn_boxed(InstrumentedTask {
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> nexus-async-rt/tests/shutdown_stats.rs:32:9
[INFO] [stdout]    |
[INFO] [stdout] 32 |     let mut wb = WorldBuilder::new();
[INFO] [stdout]    |         ----^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> nexus-async-rt/tests/shutdown_stats.rs:52:9
[INFO] [stdout]    |
[INFO] [stdout] 52 |     let mut wb = WorldBuilder::new();
[INFO] [stdout]    |         ----^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> nexus-async-rt/tests/shutdown_stats.rs:92:18
[INFO] [stdout]    |
[INFO] [stdout] 92 |         let (tx, mut rx) = nexus_async_rt::channel::mpsc::channel::<u64>(64);
[INFO] [stdout]    |                  ----^^
[INFO] [stdout]    |                  |
[INFO] [stdout]    |                  help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> nexus-async-rt/tests/shutdown_stats.rs:86:9
[INFO] [stdout]    |
[INFO] [stdout] 86 |     let mut wb = WorldBuilder::new();
[INFO] [stdout]    |         ----^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> nexus-async-rt/tests/shutdown_stats.rs:140:9
[INFO] [stdout]     |
[INFO] [stdout] 140 |     let mut wb = WorldBuilder::new();
[INFO] [stdout]     |         ----^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `nexus_async_rt::JoinHandle` that must be used
[INFO] [stdout]   --> nexus-async-rt/tests/net_tcp.rs:30:9
[INFO] [stdout]    |
[INFO] [stdout] 30 | /         spawn_boxed(async move {
[INFO] [stdout] 31 | |             let (mut s, _) = listener.accept().await.unwrap();
[INFO] [stdout] 32 | |             let mut buf = [0u8; 128];
[INFO] [stdout] 33 | |             let n = s.read(&mut buf).await.unwrap();
[INFO] [stdout] 34 | |             s.write_all(&buf[..n]).await.unwrap();
[INFO] [stdout] 35 | |         });
[INFO] [stdout]    | |__________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: dropping a JoinHandle detaches the task — await it or call .abort()
[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] 30 |         let _ = spawn_boxed(async move {
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `nexus_async_rt::JoinHandle` that must be used
[INFO] [stdout]   --> nexus-async-rt/tests/net_tcp.rs:37:9
[INFO] [stdout]    |
[INFO] [stdout] 37 | /         spawn_boxed(async move {
[INFO] [stdout] 38 | |             nexus_async_rt::sleep(Duration::from_millis(10)).await;
[INFO] [stdout] 39 | |             let mut c = TcpStream::connect(addr, nexus_async_rt::io()).unwrap();
[INFO] [stdout] 40 | |             c.write_all(b"hello world").await.unwrap();
[INFO] [stdout] ...  |
[INFO] [stdout] 44 | |             flag.set(true);
[INFO] [stdout] 45 | |         });
[INFO] [stdout]    | |__________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: dropping a JoinHandle detaches the task — await it or call .abort()
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 37 |         let _ = spawn_boxed(async move {
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `nexus_async_rt::JoinHandle` that must be used
[INFO] [stdout]   --> nexus-async-rt/tests/net_tcp.rs:66:9
[INFO] [stdout]    |
[INFO] [stdout] 66 | /         spawn_boxed(async move {
[INFO] [stdout] 67 | |             for _ in 0..3 {
[INFO] [stdout] 68 | |                 let (mut s, _) = listener.accept().await.unwrap();
[INFO] [stdout] 69 | |                 let mut buf = [0u8; 64];
[INFO] [stdout] ...  |
[INFO] [stdout] 74 | |         });
[INFO] [stdout]    | |__________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: dropping a JoinHandle detaches the task — await it or call .abort()
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 66 |         let _ = spawn_boxed(async move {
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `nexus_async_rt::JoinHandle` that must be used
[INFO] [stdout]   --> nexus-async-rt/tests/net_tcp.rs:76:9
[INFO] [stdout]    |
[INFO] [stdout] 76 | /         spawn_boxed(async move {
[INFO] [stdout] 77 | |             nexus_async_rt::sleep(Duration::from_millis(10)).await;
[INFO] [stdout] 78 | |             for i in 0..3u8 {
[INFO] [stdout] 79 | |                 let mut c = TcpStream::connect(addr, nexus_async_rt::io()).unwrap();
[INFO] [stdout] ...  |
[INFO] [stdout] 86 | |         });
[INFO] [stdout]    | |__________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: dropping a JoinHandle detaches the task — await it or call .abort()
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 76 |         let _ = spawn_boxed(async move {
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `nexus_async_rt::JoinHandle` that must be used
[INFO] [stdout]    --> nexus-async-rt/tests/net_tcp.rs:113:9
[INFO] [stdout]     |
[INFO] [stdout] 113 | /         spawn_boxed(async move {
[INFO] [stdout] 114 | |             let (mut s, _) = listener.accept().await.unwrap();
[INFO] [stdout] 115 | |             let mut received = Vec::new();
[INFO] [stdout] 116 | |             let mut buf = [0u8; 8192];
[INFO] [stdout] ...   |
[INFO] [stdout] 126 | |             flag.set(true);
[INFO] [stdout] 127 | |         });
[INFO] [stdout]     | |__________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: dropping a JoinHandle detaches the task — await it or call .abort()
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 113 |         let _ = spawn_boxed(async move {
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `nexus_async_rt::JoinHandle` that must be used
[INFO] [stdout]    --> nexus-async-rt/tests/net_tcp.rs:129:9
[INFO] [stdout]     |
[INFO] [stdout] 129 | /         spawn_boxed(async move {
[INFO] [stdout] 130 | |             nexus_async_rt::sleep(Duration::from_millis(10)).await;
[INFO] [stdout] 131 | |             let mut c = TcpStream::connect(addr, nexus_async_rt::io()).unwrap();
[INFO] [stdout] 132 | |             c.write_all(&data).await.unwrap();
[INFO] [stdout] 133 | |         });
[INFO] [stdout]     | |__________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: dropping a JoinHandle detaches the task — await it or call .abort()
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 129 |         let _ = spawn_boxed(async move {
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `nexus_async_rt::JoinHandle` that must be used
[INFO] [stdout]    --> nexus-async-rt/tests/net_tcp.rs:158:9
[INFO] [stdout]     |
[INFO] [stdout] 158 | /         spawn_boxed(async move {
[INFO] [stdout] 159 | |             let (mut s, _) = listener.accept().await.unwrap();
[INFO] [stdout] 160 | |             let (mut rd, mut wr) = s.split();
[INFO] [stdout] 161 | |             let mut buf = [0u8; 64];
[INFO] [stdout] ...   |
[INFO] [stdout] 168 | |                 .unwrap();
[INFO] [stdout] 169 | |         });
[INFO] [stdout]     | |__________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: dropping a JoinHandle detaches the task — await it or call .abort()
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 158 |         let _ = spawn_boxed(async move {
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `nexus_async_rt::JoinHandle` that must be used
[INFO] [stdout]    --> nexus-async-rt/tests/net_tcp.rs:171:9
[INFO] [stdout]     |
[INFO] [stdout] 171 | /         spawn_boxed(async move {
[INFO] [stdout] 172 | |             nexus_async_rt::sleep(Duration::from_millis(10)).await;
[INFO] [stdout] 173 | |             let mut c = TcpStream::connect(addr, nexus_async_rt::io()).unwrap();
[INFO] [stdout] 174 | |             c.write_all(b"split").await.unwrap();
[INFO] [stdout] ...   |
[INFO] [stdout] 178 | |             flag.set(true);
[INFO] [stdout] 179 | |         });
[INFO] [stdout]     | |__________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: dropping a JoinHandle detaches the task — await it or call .abort()
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 171 |         let _ = spawn_boxed(async move {
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `nexus_async_rt::JoinHandle` that must be used
[INFO] [stdout]    --> nexus-async-rt/tests/net_tcp.rs:198:9
[INFO] [stdout]     |
[INFO] [stdout] 198 | /         spawn_boxed(async move {
[INFO] [stdout] 199 | |             let (s, _) = listener.accept().await.unwrap();
[INFO] [stdout] 200 | |             let (read_half, write_half) = s.into_split();
[INFO] [stdout] 201 | |             let _stream = read_half.reunite(write_half).unwrap();
[INFO] [stdout] 202 | |         });
[INFO] [stdout]     | |__________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: dropping a JoinHandle detaches the task — await it or call .abort()
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 198 |         let _ = spawn_boxed(async move {
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `nexus_async_rt::JoinHandle` that must be used
[INFO] [stdout]    --> nexus-async-rt/tests/net_tcp.rs:204:9
[INFO] [stdout]     |
[INFO] [stdout] 204 | /         spawn_boxed(async move {
[INFO] [stdout] 205 | |             nexus_async_rt::sleep(Duration::from_millis(10)).await;
[INFO] [stdout] 206 | |             let _c = TcpStream::connect(addr, nexus_async_rt::io()).unwrap();
[INFO] [stdout] 207 | |         });
[INFO] [stdout]     | |__________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: dropping a JoinHandle detaches the task — await it or call .abort()
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 204 |         let _ = spawn_boxed(async move {
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `nexus_async_rt::JoinHandle` that must be used
[INFO] [stdout]    --> nexus-async-rt/tests/net_tcp.rs:230:9
[INFO] [stdout]     |
[INFO] [stdout] 230 | /         spawn_boxed(async move {
[INFO] [stdout] 231 | |             let (s, _) = listener.accept().await.unwrap();
[INFO] [stdout] 232 | |             s.set_nodelay(true).unwrap();
[INFO] [stdout] 233 | |             assert!(s.nodelay().unwrap());
[INFO] [stdout] ...   |
[INFO] [stdout] 243 | |             flag.set(true);
[INFO] [stdout] 244 | |         });
[INFO] [stdout]     | |__________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: dropping a JoinHandle detaches the task — await it or call .abort()
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 230 |         let _ = spawn_boxed(async move {
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `nexus_async_rt::JoinHandle` that must be used
[INFO] [stdout]    --> nexus-async-rt/tests/net_tcp.rs:246:9
[INFO] [stdout]     |
[INFO] [stdout] 246 | /         spawn_boxed(async move {
[INFO] [stdout] 247 | |             nexus_async_rt::sleep(Duration::from_millis(10)).await;
[INFO] [stdout] 248 | |             let _c = TcpStream::connect(addr, nexus_async_rt::io()).unwrap();
[INFO] [stdout] 249 | |             nexus_async_rt::sleep(Duration::from_millis(100)).await;
[INFO] [stdout] 250 | |         });
[INFO] [stdout]     | |__________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: dropping a JoinHandle detaches the task — await it or call .abort()
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 246 |         let _ = spawn_boxed(async move {
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `nexus_async_rt::JoinHandle` that must be used
[INFO] [stdout]    --> nexus-async-rt/tests/net_tcp.rs:278:9
[INFO] [stdout]     |
[INFO] [stdout] 278 | /         spawn_boxed(async move {
[INFO] [stdout] 279 | |             let (mut s, _) = listener.accept().await.unwrap();
[INFO] [stdout] 280 | |             let mut buf = [0u8; 16];
[INFO] [stdout] 281 | |             let n = s.read(&mut buf).await.unwrap();
[INFO] [stdout] 282 | |             assert_eq!(&buf[..n], b"via-socket");
[INFO] [stdout] 283 | |             flag.set(true);
[INFO] [stdout] 284 | |         });
[INFO] [stdout]     | |__________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: dropping a JoinHandle detaches the task — await it or call .abort()
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 278 |         let _ = spawn_boxed(async move {
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `nexus_async_rt::JoinHandle` that must be used
[INFO] [stdout]    --> nexus-async-rt/tests/net_tcp.rs:286:9
[INFO] [stdout]     |
[INFO] [stdout] 286 | /         spawn_boxed(async move {
[INFO] [stdout] 287 | |             nexus_async_rt::sleep(Duration::from_millis(10)).await;
[INFO] [stdout] 288 | |             let mut c = TcpStream::connect(addr, nexus_async_rt::io()).unwrap();
[INFO] [stdout] 289 | |             c.write_all(b"via-socket").await.unwrap();
[INFO] [stdout] 290 | |         });
[INFO] [stdout]     | |__________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: dropping a JoinHandle detaches the task — await it or call .abort()
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 286 |         let _ = spawn_boxed(async move {
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `nexus_async_rt::JoinHandle` that must be used
[INFO] [stdout]    --> nexus-async-rt/tests/net_tcp.rs:315:9
[INFO] [stdout]     |
[INFO] [stdout] 315 | /         spawn_boxed(async move {
[INFO] [stdout] 316 | |             let (s, _) = listener.accept().await.unwrap();
[INFO] [stdout] 317 | |             match s.try_write(b"data") {
[INFO] [stdout] 318 | |                 Ok(n) => assert!(n > 0),
[INFO] [stdout] ...   |
[INFO] [stdout] 322 | |             flag.set(true);
[INFO] [stdout] 323 | |         });
[INFO] [stdout]     | |__________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: dropping a JoinHandle detaches the task — await it or call .abort()
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 315 |         let _ = spawn_boxed(async move {
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `nexus_async_rt::JoinHandle` that must be used
[INFO] [stdout]    --> nexus-async-rt/tests/net_tcp.rs:325:9
[INFO] [stdout]     |
[INFO] [stdout] 325 | /         spawn_boxed(async move {
[INFO] [stdout] 326 | |             nexus_async_rt::sleep(Duration::from_millis(10)).await;
[INFO] [stdout] 327 | |             let _c = TcpStream::connect(addr, nexus_async_rt::io()).unwrap();
[INFO] [stdout] 328 | |             nexus_async_rt::sleep(Duration::from_millis(100)).await;
[INFO] [stdout] 329 | |         });
[INFO] [stdout]     | |__________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: dropping a JoinHandle detaches the task — await it or call .abort()
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 325 |         let _ = spawn_boxed(async move {
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `nexus_async_rt::JoinHandle` that must be used
[INFO] [stdout]    --> nexus-async-rt/tests/net_tcp.rs:356:9
[INFO] [stdout]     |
[INFO] [stdout] 356 | /         spawn_boxed(async move {
[INFO] [stdout] 357 | |             let (mut s, _) = listener.accept().await.unwrap();
[INFO] [stdout] 358 | |             let mut buf = [0u8; 16];
[INFO] [stdout] 359 | |             let n = s.read(&mut buf).await.unwrap();
[INFO] [stdout] 360 | |             assert_eq!(&buf[..n], b"from_std");
[INFO] [stdout] 361 | |             flag.set(true);
[INFO] [stdout] 362 | |         });
[INFO] [stdout]     | |__________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: dropping a JoinHandle detaches the task — await it or call .abort()
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 356 |         let _ = spawn_boxed(async move {
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `nexus_async_rt::JoinHandle` that must be used
[INFO] [stdout]    --> nexus-async-rt/tests/net_tcp.rs:364:9
[INFO] [stdout]     |
[INFO] [stdout] 364 | /         spawn_boxed(async move {
[INFO] [stdout] 365 | |             nexus_async_rt::sleep(Duration::from_millis(10)).await;
[INFO] [stdout] 366 | |             let mut c = TcpStream::connect(addr, nexus_async_rt::io()).unwrap();
[INFO] [stdout] 367 | |             c.write_all(b"from_std").await.unwrap();
[INFO] [stdout] 368 | |         });
[INFO] [stdout]     | |__________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: dropping a JoinHandle detaches the task — await it or call .abort()
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 364 |         let _ = spawn_boxed(async move {
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `nexus_async_rt::JoinHandle` that must be used
[INFO] [stdout]    --> nexus-async-rt/tests/net_tcp.rs:389:9
[INFO] [stdout]     |
[INFO] [stdout] 389 | /         spawn_boxed(async move {
[INFO] [stdout] 390 | |             let (s, _) = listener.accept().await.unwrap();
[INFO] [stdout] 391 | |             let std_stream = s.into_std().unwrap();
[INFO] [stdout] 392 | |             assert!(std_stream.peer_addr().is_ok());
[INFO] [stdout] 393 | |             flag.set(true);
[INFO] [stdout] 394 | |         });
[INFO] [stdout]     | |__________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: dropping a JoinHandle detaches the task — await it or call .abort()
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 389 |         let _ = spawn_boxed(async move {
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `nexus_async_rt::JoinHandle` that must be used
[INFO] [stdout]    --> nexus-async-rt/tests/net_tcp.rs:396:9
[INFO] [stdout]     |
[INFO] [stdout] 396 | /         spawn_boxed(async move {
[INFO] [stdout] 397 | |             nexus_async_rt::sleep(Duration::from_millis(10)).await;
[INFO] [stdout] 398 | |             let _c = TcpStream::connect(addr, nexus_async_rt::io()).unwrap();
[INFO] [stdout] 399 | |             nexus_async_rt::sleep(Duration::from_millis(100)).await;
[INFO] [stdout] 400 | |         });
[INFO] [stdout]     | |__________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: dropping a JoinHandle detaches the task — await it or call .abort()
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 396 |         let _ = spawn_boxed(async move {
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `nexus_async_rt::JoinHandle` that must be used
[INFO] [stdout]    --> nexus-async-rt/tests/net_tcp.rs:425:9
[INFO] [stdout]     |
[INFO] [stdout] 425 | /         spawn_boxed(async move {
[INFO] [stdout] 426 | |             match TcpStream::connect(closed_addr, nexus_async_rt::io()) {
[INFO] [stdout] 427 | |                 Err(_) => flag.set(true),
[INFO] [stdout] 428 | |                 Ok(mut c) => {
[INFO] [stdout] ...   |
[INFO] [stdout] 435 | |         });
[INFO] [stdout]     | |__________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: dropping a JoinHandle detaches the task — await it or call .abort()
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 425 |         let _ = spawn_boxed(async move {
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `nexus_async_rt::JoinHandle` that must be used
[INFO] [stdout]    --> nexus-async-rt/tests/net_tcp.rs:456:9
[INFO] [stdout]     |
[INFO] [stdout] 456 | /         spawn_boxed(async move {
[INFO] [stdout] 457 | |             let (_s, _) = listener.accept().await.unwrap();
[INFO] [stdout] 458 | |         });
[INFO] [stdout]     | |__________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: dropping a JoinHandle detaches the task — await it or call .abort()
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 456 |         let _ = spawn_boxed(async move {
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `nexus_async_rt::JoinHandle` that must be used
[INFO] [stdout]    --> nexus-async-rt/tests/net_tcp.rs:460:9
[INFO] [stdout]     |
[INFO] [stdout] 460 | /         spawn_boxed(async move {
[INFO] [stdout] 461 | |             nexus_async_rt::sleep(Duration::from_millis(10)).await;
[INFO] [stdout] 462 | |             let mut c = TcpStream::connect(addr, nexus_async_rt::io()).unwrap();
[INFO] [stdout] 463 | |             nexus_async_rt::sleep(Duration::from_millis(50)).await;
[INFO] [stdout] ...   |
[INFO] [stdout] 467 | |             flag.set(true);
[INFO] [stdout] 468 | |         });
[INFO] [stdout]     | |__________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: dropping a JoinHandle detaches the task — await it or call .abort()
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 460 |         let _ = spawn_boxed(async move {
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0133`.
[INFO] [stdout] 
[INFO] [stdout] warning: unused `nexus_async_rt::JoinHandle` that must be used
[INFO] [stdout]   --> nexus-async-rt/tests/channel_deadlock.rs:34:9
[INFO] [stdout]    |
[INFO] [stdout] 34 | /         spawn_boxed(async move {
[INFO] [stdout] 35 | |             f.await;
[INFO] [stdout] 36 | |             flag.set(true);
[INFO] [stdout] 37 | |         });
[INFO] [stdout]    | |__________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: dropping a JoinHandle detaches the task — await it or call .abort()
[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] 34 |         let _ = spawn_boxed(async move {
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `nexus_async_rt::JoinHandle` that must be used
[INFO] [stdout]   --> nexus-async-rt/tests/channel_deadlock.rs:62:9
[INFO] [stdout]    |
[INFO] [stdout] 62 | /         spawn_boxed(async move {
[INFO] [stdout] 63 | |             for i in 0..10_000 {
[INFO] [stdout] 64 | |                 tx.send(i).await.unwrap();
[INFO] [stdout] 65 | |             }
[INFO] [stdout] 66 | |         });
[INFO] [stdout]    | |__________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: dropping a JoinHandle detaches the task — await it or call .abort()
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 62 |         let _ = spawn_boxed(async move {
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `nexus_async_rt::JoinHandle` that must be used
[INFO] [stdout]   --> nexus-async-rt/tests/channel_deadlock.rs:85:9
[INFO] [stdout]    |
[INFO] [stdout] 85 | /         spawn_boxed(async move {
[INFO] [stdout] 86 | |             for i in 0..10_000 {
[INFO] [stdout] 87 | |                 tx.send(i).await.unwrap();
[INFO] [stdout] 88 | |             }
[INFO] [stdout] 89 | |         });
[INFO] [stdout]    | |__________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: dropping a JoinHandle detaches the task — await it or call .abort()
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 85 |         let _ = spawn_boxed(async move {
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `nexus_async_rt::JoinHandle` that must be used
[INFO] [stdout]    --> nexus-async-rt/tests/channel_deadlock.rs:106:13
[INFO] [stdout]     |
[INFO] [stdout] 106 | /             spawn_boxed(async move {
[INFO] [stdout] 107 | |                 for i in 0..1000 {
[INFO] [stdout] 108 | |                     tx.send(producer_id * 10_000 + i).await.unwrap();
[INFO] [stdout] 109 | |                 }
[INFO] [stdout] 110 | |             });
[INFO] [stdout]     | |______________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: dropping a JoinHandle detaches the task — await it or call .abort()
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 106 |             let _ = spawn_boxed(async move {
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `nexus_async_rt::JoinHandle` that must be used
[INFO] [stdout]    --> nexus-async-rt/tests/channel_deadlock.rs:135:9
[INFO] [stdout]     |
[INFO] [stdout] 135 | /         spawn_boxed(async move {
[INFO] [stdout] 136 | |             for i in 0..10_000 {
[INFO] [stdout] 137 | |                 tx.send(i).await.unwrap();
[INFO] [stdout] 138 | |             }
[INFO] [stdout] 139 | |         });
[INFO] [stdout]     | |__________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: dropping a JoinHandle detaches the task — await it or call .abort()
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 135 |         let _ = spawn_boxed(async move {
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `nexus_async_rt::JoinHandle` that must be used
[INFO] [stdout]    --> nexus-async-rt/tests/channel_deadlock.rs:159:9
[INFO] [stdout]     |
[INFO] [stdout] 159 | /         spawn_boxed(async move {
[INFO] [stdout] 160 | |             let data = [0xABu8; 32];
[INFO] [stdout] 161 | |             for _ in 0..10_000 {
[INFO] [stdout] 162 | |                 let mut claim = tx.claim(32).await.unwrap();
[INFO] [stdout] ...   |
[INFO] [stdout] 166 | |         });
[INFO] [stdout]     | |__________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: dropping a JoinHandle detaches the task — await it or call .abort()
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 159 |         let _ = spawn_boxed(async move {
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `nexus_async_rt::JoinHandle` that must be used
[INFO] [stdout]    --> nexus-async-rt/tests/channel_deadlock.rs:183:9
[INFO] [stdout]     |
[INFO] [stdout] 183 | /         spawn_boxed(async move {
[INFO] [stdout] 184 | |             for i in 0u64..5_000 {
[INFO] [stdout] 185 | |                 let mut claim = tx.claim(8).await.unwrap();
[INFO] [stdout] 186 | |                 claim.copy_from_slice(&i.to_le_bytes());
[INFO] [stdout] ...   |
[INFO] [stdout] 189 | |         });
[INFO] [stdout]     | |__________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: dropping a JoinHandle detaches the task — await it or call .abort()
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 183 |         let _ = spawn_boxed(async move {
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `nexus_async_rt::JoinHandle` that must be used
[INFO] [stdout]    --> nexus-async-rt/tests/channel_deadlock.rs:208:9
[INFO] [stdout]     |
[INFO] [stdout] 208 | /         spawn_boxed(async move {
[INFO] [stdout] 209 | |             let data = [0xCDu8; 32];
[INFO] [stdout] 210 | |             for _ in 0..10_000 {
[INFO] [stdout] 211 | |                 let mut claim = tx.claim(32).await.unwrap();
[INFO] [stdout] ...   |
[INFO] [stdout] 215 | |         });
[INFO] [stdout]     | |__________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: dropping a JoinHandle detaches the task — await it or call .abort()
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 208 |         let _ = spawn_boxed(async move {
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `nexus_async_rt::JoinHandle` that must be used
[INFO] [stdout]    --> nexus-async-rt/tests/channel_deadlock.rs:232:13
[INFO] [stdout]     |
[INFO] [stdout] 232 | /             spawn_boxed(async move {
[INFO] [stdout] 233 | |                 for i in 0u32..500 {
[INFO] [stdout] 234 | |                     let val = producer_id * 10_000 + i;
[INFO] [stdout] 235 | |                     let mut claim = tx.claim(4).await.unwrap();
[INFO] [stdout] ...   |
[INFO] [stdout] 239 | |             });
[INFO] [stdout]     | |______________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: dropping a JoinHandle detaches the task — await it or call .abort()
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 232 |             let _ = spawn_boxed(async move {
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `rdtsc` is never used
[INFO] [stdout]   --> nexus-async-rt/tests/vs_tokio_dispatch.rs:21:4
[INFO] [stdout]    |
[INFO] [stdout] 21 | fn rdtsc() -> u64 {
[INFO] [stdout]    |    ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `nexus_async_rt::JoinHandle` that must be used
[INFO] [stdout]    --> nexus-async-rt/tests/vs_tokio_dispatch.rs:111:9
[INFO] [stdout]     |
[INFO] [stdout] 111 | /         executor.spawn_boxed(BenchTask {
[INFO] [stdout] 112 | |             count: 0,
[INFO] [stdout] 113 | |             target: TOTAL_POLLS as u64,
[INFO] [stdout] 114 | |             timestamps: ts,
[INFO] [stdout] 115 | |         });
[INFO] [stdout]     | |__________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: dropping a JoinHandle detaches the task — await it or call .abort()
[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] 111 |         let _ = executor.spawn_boxed(BenchTask {
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `World`
[INFO] [stdout]   --> nexus-rt/tests/miri_tests.rs:11:26
[INFO] [stdout]    |
[INFO] [stdout] 11 | use nexus_rt::{Resource, World, WorldBuilder};
[INFO] [stdout]    |                          ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DropTracker` is never constructed
[INFO] [stdout]   --> nexus-rt/tests/miri_tests.rs:28:8
[INFO] [stdout]    |
[INFO] [stdout] 28 | struct DropTracker(#[allow(dead_code)] u64);
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> nexus-rt/tests/miri_tests.rs:182:11
[INFO] [stdout]     |
[INFO] [stdout] 182 | struct R1(u64);
[INFO] [stdout]     |        -- ^^^
[INFO] [stdout]     |        |
[INFO] [stdout]     |        field in this struct
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider removing this field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> nexus-rt/tests/miri_tests.rs:184:11
[INFO] [stdout]     |
[INFO] [stdout] 184 | struct R2(u64);
[INFO] [stdout]     |        -- ^^^
[INFO] [stdout]     |        |
[INFO] [stdout]     |        field in this struct
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider removing this field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> nexus-rt/tests/miri_tests.rs:188:11
[INFO] [stdout]     |
[INFO] [stdout] 188 | struct R4(u64);
[INFO] [stdout]     |        -- ^^^
[INFO] [stdout]     |        |
[INFO] [stdout]     |        field in this struct
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider removing this field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> nexus-rt/tests/miri_tests.rs:190:11
[INFO] [stdout]     |
[INFO] [stdout] 190 | struct R5(u64);
[INFO] [stdout]     |        -- ^^^
[INFO] [stdout]     |        |
[INFO] [stdout]     |        field in this struct
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider removing this field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> nexus-rt/tests/miri_tests.rs:192:11
[INFO] [stdout]     |
[INFO] [stdout] 192 | struct R6(u64);
[INFO] [stdout]     |        -- ^^^
[INFO] [stdout]     |        |
[INFO] [stdout]     |        field in this struct
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider removing this field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling nexus-stats-regression v1.2.0 (/opt/rustwide/workdir/nexus-stats-regression)
[INFO] [stderr]    Compiling nexus-stats-smoothing v1.2.1 (/opt/rustwide/workdir/nexus-stats-smoothing)
[INFO] [stderr]    Compiling nexus-stats-control v1.0.2 (/opt/rustwide/workdir/nexus-stats-control)
[INFO] [stderr]    Compiling nexus-ascii v1.6.2 (/opt/rustwide/workdir/nexus-ascii)
[INFO] [stderr]    Compiling nexus-pool v1.0.4 (/opt/rustwide/workdir/nexus-pool)
[INFO] [stderr]    Compiling nexus-stats-core v1.2.1 (/opt/rustwide/workdir/nexus-stats-core)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 4m 28s
[INFO] running `Command { std: "docker" "inspect" "6e70ac23858e59131bed65a155161b8aed094e48fa75ec2a94c73278639e1912", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "6e70ac23858e59131bed65a155161b8aed094e48fa75ec2a94c73278639e1912", kill_on_drop: false }`
[INFO] [stdout] 6e70ac23858e59131bed65a155161b8aed094e48fa75ec2a94c73278639e1912
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+ec6f9a5b4413f74386267ef8efc93712c2ce6db6" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 3c206e5c095dc721445a8609fb77268eb39c69ec16f02e55a30a15e52f931a6d
[INFO] running `Command { std: "docker" "start" "-a" "3c206e5c095dc721445a8609fb77268eb39c69ec16f02e55a30a15e52f931a6d", kill_on_drop: false }`
[INFO] [stderr] warning: output filename collision at /opt/rustwide/target/debug/examples/asm_check
[INFO] [stderr]   |
[INFO] [stderr]   = note: the example target `asm_check` in package `nexus-slab v2.3.4 (/opt/rustwide/workdir/nexus-slab)` has the same output filename as the example target `asm_check` in package `nexus-queue v1.3.1 (/opt/rustwide/workdir/nexus-queue)`
[INFO] [stderr]   = note: this may become a hard error in the future; see <https://github.com/rust-lang/cargo/issues/6313>
[INFO] [stderr]   = help: consider changing their names to be unique or compiling them separately
[INFO] [stderr] warning: output filename collision at /opt/rustwide/target/debug/examples/asm_check.dwp
[INFO] [stderr]   |
[INFO] [stderr]   = note: the example target `asm_check` in package `nexus-slab v2.3.4 (/opt/rustwide/workdir/nexus-slab)` has the same output filename as the example target `asm_check` in package `nexus-queue v1.3.1 (/opt/rustwide/workdir/nexus-queue)`
[INFO] [stderr]   = note: this may become a hard error in the future; see <https://github.com/rust-lang/cargo/issues/6313>
[INFO] [stderr]   = help: consider changing their names to be unique or compiling them separately
[INFO] [stderr] warning: function `rdtsc` is never used
[INFO] [stderr]   --> nexus-async-rt/tests/dispatch_histo.rs:20:4
[INFO] [stderr]    |
[INFO] [stderr] 20 | fn rdtsc() -> u64 {
[INFO] [stderr]    |    ^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused `nexus_async_rt::JoinHandle` that must be used
[INFO] [stderr]   --> nexus-async-rt/tests/dispatch_histo.rs:69:5
[INFO] [stderr]    |
[INFO] [stderr] 69 | /     executor.spawn_boxed(InstrumentedTask {
[INFO] [stderr] 70 | |         count: 0,
[INFO] [stderr] 71 | |         target: total,
[INFO] [stderr] 72 | |         entries: e,
[INFO] [stderr] 73 | |     });
[INFO] [stderr]    | |______^
[INFO] [stderr]    |
[INFO] [stderr]    = note: dropping a JoinHandle detaches the task — await it or call .abort()
[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] 69 |     let _ = executor.spawn_boxed(InstrumentedTask {
[INFO] [stderr]    |     +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused return value of `nexus_async_rt::JoinHandle::<T>::abort` that must be used
[INFO] [stderr]    --> nexus-async-rt/tests/miri_channel.rs:453:9
[INFO] [stderr]     |
[INFO] [stderr] 453 |         jh.abort();
[INFO] [stderr]     |         ^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: returns whether the task was still running
[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] 453 |         let _ = jh.abort();
[INFO] [stderr]     |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused return value of `nexus_async_rt::JoinHandle::<T>::abort` that must be used
[INFO] [stderr]    --> nexus-async-rt/tests/miri_channel.rs:477:9
[INFO] [stderr]     |
[INFO] [stderr] 477 |         jh.abort();
[INFO] [stderr]     |         ^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: returns whether the task was still running
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 477 |         let _ = jh.abort();
[INFO] [stderr]     |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused return value of `nexus_async_rt::JoinHandle::<T>::abort` that must be used
[INFO] [stderr]    --> nexus-async-rt/tests/miri_channel.rs:502:9
[INFO] [stderr]     |
[INFO] [stderr] 502 |         jh.abort();
[INFO] [stderr]     |         ^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: returns whether the task was still running
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 502 |         let _ = jh.abort();
[INFO] [stderr]     |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: function `rdtsc` is never used
[INFO] [stderr]   --> nexus-async-rt/tests/vs_tokio_dispatch.rs:21:4
[INFO] [stderr]    |
[INFO] [stderr] 21 | fn rdtsc() -> u64 {
[INFO] [stderr]    |    ^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused `nexus_async_rt::JoinHandle` that must be used
[INFO] [stderr]    --> nexus-async-rt/tests/vs_tokio_dispatch.rs:111:9
[INFO] [stderr]     |
[INFO] [stderr] 111 | /         executor.spawn_boxed(BenchTask {
[INFO] [stderr] 112 | |             count: 0,
[INFO] [stderr] 113 | |             target: TOTAL_POLLS as u64,
[INFO] [stderr] 114 | |             timestamps: ts,
[INFO] [stderr] 115 | |         });
[INFO] [stderr]     | |__________^
[INFO] [stderr]     |
[INFO] [stderr]     = note: dropping a JoinHandle detaches the task — await it or call .abort()
[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] 111 |         let _ = executor.spawn_boxed(BenchTask {
[INFO] [stderr]     |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `nexus_async_rt::JoinHandle` that must be used
[INFO] [stderr]   --> nexus-async-rt/tests/channel.rs:26:9
[INFO] [stderr]    |
[INFO] [stderr] 26 | /         spawn_boxed(async move {
[INFO] [stderr] 27 | |             for i in 0..10 {
[INFO] [stderr] 28 | |                 tx.send(i).await.unwrap();
[INFO] [stderr] 29 | |             }
[INFO] [stderr] 30 | |         });
[INFO] [stderr]    | |__________^
[INFO] [stderr]    |
[INFO] [stderr]    = note: dropping a JoinHandle detaches the task — await it or call .abort()
[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] 26 |         let _ = spawn_boxed(async move {
[INFO] [stderr]    |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `nexus_async_rt::JoinHandle` that must be used
[INFO] [stderr]   --> nexus-async-rt/tests/channel.rs:54:13
[INFO] [stderr]    |
[INFO] [stderr] 54 | /             spawn_boxed(async move {
[INFO] [stderr] 55 | |                 for i in 0..100 {
[INFO] [stderr] 56 | |                     tx.send(producer_id * 1000 + i).await.unwrap();
[INFO] [stderr] 57 | |                 }
[INFO] [stderr] 58 | |             });
[INFO] [stderr]    | |______________^
[INFO] [stderr]    |
[INFO] [stderr]    = note: dropping a JoinHandle detaches the task — await it or call .abort()
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]    |
[INFO] [stderr] 54 |             let _ = spawn_boxed(async move {
[INFO] [stderr]    |             +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `nexus_async_rt::JoinHandle` that must be used
[INFO] [stderr]   --> nexus-async-rt/tests/channel.rs:86:9
[INFO] [stderr]    |
[INFO] [stderr] 86 | /         spawn_boxed(async move {
[INFO] [stderr] 87 | |             for i in 0..1000 {
[INFO] [stderr] 88 | |                 tx.send(i).await.unwrap();
[INFO] [stderr] 89 | |             }
[INFO] [stderr] 90 | |         });
[INFO] [stderr]    | |__________^
[INFO] [stderr]    |
[INFO] [stderr]    = note: dropping a JoinHandle detaches the task — await it or call .abort()
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]    |
[INFO] [stderr] 86 |         let _ = spawn_boxed(async move {
[INFO] [stderr]    |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `nexus_async_rt::JoinHandle` that must be used
[INFO] [stderr]    --> nexus-async-rt/tests/channel.rs:111:9
[INFO] [stderr]     |
[INFO] [stderr] 111 | /         spawn_boxed(async move {
[INFO] [stderr] 112 | |             tx.send(1).await.unwrap();
[INFO] [stderr] 113 | |             tx.send(2).await.unwrap();
[INFO] [stderr] 114 | |             // sender dropped here
[INFO] [stderr] 115 | |         });
[INFO] [stderr]     | |__________^
[INFO] [stderr]     |
[INFO] [stderr]     = note: dropping a JoinHandle detaches the task — await it or call .abort()
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 111 |         let _ = spawn_boxed(async move {
[INFO] [stderr]     |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `nexus_async_rt::JoinHandle` that must be used
[INFO] [stderr]    --> nexus-async-rt/tests/channel.rs:136:9
[INFO] [stderr]     |
[INFO] [stderr] 136 | /         spawn_boxed(async move {
[INFO] [stderr] 137 | |             // Fill buffer.
[INFO] [stderr] 138 | |             tx.send(1).await.unwrap();
[INFO] [stderr] 139 | |             tx.send(2).await.unwrap();
[INFO] [stderr] ...   |
[INFO] [stderr] 145 | |         });
[INFO] [stderr]     | |__________^
[INFO] [stderr]     |
[INFO] [stderr]     = note: dropping a JoinHandle detaches the task — await it or call .abort()
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 136 |         let _ = spawn_boxed(async move {
[INFO] [stderr]     |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `nexus_async_rt::JoinHandle` that must be used
[INFO] [stderr]    --> nexus-async-rt/tests/channel.rs:167:9
[INFO] [stderr]     |
[INFO] [stderr] 167 | /         spawn_boxed(async move {
[INFO] [stderr] 168 | |             for i in 0..100_000u64 {
[INFO] [stderr] 169 | |                 tx.send(i).await.unwrap();
[INFO] [stderr] 170 | |             }
[INFO] [stderr] 171 | |         });
[INFO] [stderr]     | |__________^
[INFO] [stderr]     |
[INFO] [stderr]     = note: dropping a JoinHandle detaches the task — await it or call .abort()
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 167 |         let _ = spawn_boxed(async move {
[INFO] [stderr]     |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: `nexus-async-rt` (test "dispatch_histo") generated 2 warnings
[INFO] [stderr] warning: `nexus-async-rt` (test "miri_channel") generated 3 warnings
[INFO] [stderr] warning: `nexus-async-rt` (test "vs_tokio_dispatch") generated 2 warnings
[INFO] [stderr] warning: `nexus-async-rt` (test "channel") generated 6 warnings
[INFO] [stderr] warning: unused import: `AsyncReadExt`
[INFO] [stderr]    --> nexus-async-rt/tests/vs_tokio.rs:128:21
[INFO] [stderr]     |
[INFO] [stderr] 128 |     use tokio::io::{AsyncReadExt, AsyncWriteExt};
[INFO] [stderr]     |                     ^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused `nexus_async_rt::JoinHandle` that must be used
[INFO] [stderr]   --> nexus-async-rt/tests/vs_tokio.rs:68:9
[INFO] [stderr]    |
[INFO] [stderr] 68 | /         spawn_boxed(async move {
[INFO] [stderr] 69 | |             let mut listener = listener;
[INFO] [stderr] 70 | |             let (mut s, _) = listener.accept().await.unwrap();
[INFO] [stderr] 71 | |             s.set_nodelay(true).unwrap();
[INFO] [stderr] ...  |
[INFO] [stderr] 80 | |         });
[INFO] [stderr]    | |__________^
[INFO] [stderr]    |
[INFO] [stderr]    = note: dropping a JoinHandle detaches the task — await it or call .abort()
[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] 68 |         let _ = spawn_boxed(async move {
[INFO] [stderr]    |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `nexus_async_rt::JoinHandle` that must be used
[INFO] [stderr]    --> nexus-async-rt/tests/vs_tokio.rs:84:9
[INFO] [stderr]     |
[INFO] [stderr]  84 | /         spawn_boxed(async move {
[INFO] [stderr]  85 | |             nexus_async_rt::sleep(Duration::from_millis(10)).await;
[INFO] [stderr]  86 | |             let mut c = TcpStream::connect(addr, io).unwrap();
[INFO] [stderr]  87 | |             c.set_nodelay(true).unwrap();
[INFO] [stderr] ...   |
[INFO] [stderr] 105 | |             writer.set(samples);
[INFO] [stderr] 106 | |         });
[INFO] [stderr]     | |__________^
[INFO] [stderr]     |
[INFO] [stderr]     = note: dropping a JoinHandle detaches the task — await it or call .abort()
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr]  84 |         let _ = spawn_boxed(async move {
[INFO] [stderr]     |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `nexus_async_rt::JoinHandle` that must be used
[INFO] [stderr]    --> nexus-async-rt/tests/vs_tokio.rs:217:9
[INFO] [stderr]     |
[INFO] [stderr] 217 | /         spawn_boxed(async move {
[INFO] [stderr] 218 | |             let mut b = b;
[INFO] [stderr] 219 | |             b.connect(a_addr).unwrap();
[INFO] [stderr] 220 | |             let mut buf = [0u8; MSG_SIZE];
[INFO] [stderr] ...   |
[INFO] [stderr] 228 | |         });
[INFO] [stderr]     | |__________^
[INFO] [stderr]     |
[INFO] [stderr]     = note: dropping a JoinHandle detaches the task — await it or call .abort()
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 217 |         let _ = spawn_boxed(async move {
[INFO] [stderr]     |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `nexus_async_rt::JoinHandle` that must be used
[INFO] [stderr]    --> nexus-async-rt/tests/vs_tokio.rs:231:9
[INFO] [stderr]     |
[INFO] [stderr] 231 | /         spawn_boxed(async move {
[INFO] [stderr] 232 | |             nexus_async_rt::sleep(Duration::from_millis(10)).await;
[INFO] [stderr] 233 | |             let mut a = a;
[INFO] [stderr] 234 | |             a.connect(b_addr).unwrap();
[INFO] [stderr] ...   |
[INFO] [stderr] 252 | |             writer.set(samples);
[INFO] [stderr] 253 | |         });
[INFO] [stderr]     | |__________^
[INFO] [stderr]     |
[INFO] [stderr]     = note: dropping a JoinHandle detaches the task — await it or call .abort()
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 231 |         let _ = spawn_boxed(async move {
[INFO] [stderr]     |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `nexus_async_rt::JoinHandle` that must be used
[INFO] [stderr]    --> nexus-async-rt/tests/channel_latency.rs:141:9
[INFO] [stderr]     |
[INFO] [stderr] 141 | /         spawn_boxed(async move {
[INFO] [stderr] 142 | |             for i in 0..(WARMUP + ITERS) {
[INFO] [stderr] 143 | |                 tx.send(i).await.unwrap();
[INFO] [stderr] 144 | |             }
[INFO] [stderr] 145 | |         });
[INFO] [stderr]     | |__________^
[INFO] [stderr]     |
[INFO] [stderr]     = note: dropping a JoinHandle detaches the task — await it or call .abort()
[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] 141 |         let _ = spawn_boxed(async move {
[INFO] [stderr]     |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `nexus_async_rt::JoinHandle` that must be used
[INFO] [stderr]    --> nexus-async-rt/tests/channel_latency.rs:180:9
[INFO] [stderr]     |
[INFO] [stderr] 180 | /         spawn_boxed(async move {
[INFO] [stderr] 181 | |             for i in 0..(WARMUP + ITERS) {
[INFO] [stderr] 182 | |                 tx.send(i).await.unwrap();
[INFO] [stderr] 183 | |             }
[INFO] [stderr] 184 | |         });
[INFO] [stderr]     | |__________^
[INFO] [stderr]     |
[INFO] [stderr]     = note: dropping a JoinHandle detaches the task — await it or call .abort()
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 180 |         let _ = spawn_boxed(async move {
[INFO] [stderr]     |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `nexus_async_rt::JoinHandle` that must be used
[INFO] [stderr]    --> nexus-async-rt/tests/channel_latency.rs:406:9
[INFO] [stderr]     |
[INFO] [stderr] 406 | /         spawn_boxed(async move {
[INFO] [stderr] 407 | |             for i in 0..(WARMUP + ITERS) {
[INFO] [stderr] 408 | |                 tx.send(i).await.unwrap();
[INFO] [stderr] 409 | |             }
[INFO] [stderr] 410 | |         });
[INFO] [stderr]     | |__________^
[INFO] [stderr]     |
[INFO] [stderr]     = note: dropping a JoinHandle detaches the task — await it or call .abort()
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 406 |         let _ = spawn_boxed(async move {
[INFO] [stderr]     |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `nexus_async_rt::JoinHandle` that must be used
[INFO] [stderr]   --> nexus-async-rt/tests/net_udp.rs:34:9
[INFO] [stderr]    |
[INFO] [stderr] 34 | /         spawn_boxed(async move {
[INFO] [stderr] 35 | |             let mut s = recv_sock;
[INFO] [stderr] 36 | |             let mut buf = [0u8; 64];
[INFO] [stderr] 37 | |             let (n, from) = s.recv_from(&mut buf).await.unwrap();
[INFO] [stderr] ...  |
[INFO] [stderr] 40 | |             flag.set(true);
[INFO] [stderr] 41 | |         });
[INFO] [stderr]    | |__________^
[INFO] [stderr]    |
[INFO] [stderr]    = note: dropping a JoinHandle detaches the task — await it or call .abort()
[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] 34 |         let _ = spawn_boxed(async move {
[INFO] [stderr]    |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `nexus_async_rt::JoinHandle` that must be used
[INFO] [stderr]   --> nexus-async-rt/tests/net_udp.rs:43:9
[INFO] [stderr]    |
[INFO] [stderr] 43 | /         spawn_boxed(async move {
[INFO] [stderr] 44 | |             nexus_async_rt::sleep(Duration::from_millis(10)).await;
[INFO] [stderr] 45 | |             let mut s =
[INFO] [stderr] 46 | |                 UdpSocket::bind("127.0.0.1:0".parse().unwrap(), nexus_async_rt::io()).unwrap();
[INFO] [stderr] 47 | |             s.send_to(b"hello udp", recv_addr).await.unwrap();
[INFO] [stderr] 48 | |         });
[INFO] [stderr]    | |__________^
[INFO] [stderr]    |
[INFO] [stderr]    = note: dropping a JoinHandle detaches the task — await it or call .abort()
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]    |
[INFO] [stderr] 43 |         let _ = spawn_boxed(async move {
[INFO] [stderr]    |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `nexus_async_rt::JoinHandle` that must be used
[INFO] [stderr]   --> nexus-async-rt/tests/net_udp.rs:72:9
[INFO] [stderr]    |
[INFO] [stderr] 72 | /         spawn_boxed(async move {
[INFO] [stderr] 73 | |             let mut a = a_sock;
[INFO] [stderr] 74 | |             a.connect(b_addr).unwrap();
[INFO] [stderr] 75 | |             a.send(b"connected-msg").await.unwrap();
[INFO] [stderr] 76 | |         });
[INFO] [stderr]    | |__________^
[INFO] [stderr]    |
[INFO] [stderr]    = note: dropping a JoinHandle detaches the task — await it or call .abort()
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]    |
[INFO] [stderr] 72 |         let _ = spawn_boxed(async move {
[INFO] [stderr]    |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `nexus_async_rt::JoinHandle` that must be used
[INFO] [stderr]   --> nexus-async-rt/tests/net_udp.rs:78:9
[INFO] [stderr]    |
[INFO] [stderr] 78 | /         spawn_boxed(async move {
[INFO] [stderr] 79 | |             nexus_async_rt::sleep(Duration::from_millis(10)).await;
[INFO] [stderr] 80 | |             let mut b = b_sock;
[INFO] [stderr] 81 | |             b.connect(a_addr).unwrap();
[INFO] [stderr] ...  |
[INFO] [stderr] 85 | |             flag.set(true);
[INFO] [stderr] 86 | |         });
[INFO] [stderr]    | |__________^
[INFO] [stderr]    |
[INFO] [stderr]    = note: dropping a JoinHandle detaches the task — await it or call .abort()
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]    |
[INFO] [stderr] 78 |         let _ = spawn_boxed(async move {
[INFO] [stderr]    |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `nexus_async_rt::JoinHandle` that must be used
[INFO] [stderr]    --> nexus-async-rt/tests/net_udp.rs:109:9
[INFO] [stderr]     |
[INFO] [stderr] 109 | /         spawn_boxed(async move {
[INFO] [stderr] 110 | |             let mut s = server_sock;
[INFO] [stderr] 111 | |             let mut buf = [0u8; 64];
[INFO] [stderr] 112 | |             let (n, peer) = s.recv_from(&mut buf).await.unwrap();
[INFO] [stderr] 113 | |             s.send_to(&buf[..n], peer).await.unwrap();
[INFO] [stderr] 114 | |         });
[INFO] [stderr]     | |__________^
[INFO] [stderr]     |
[INFO] [stderr]     = note: dropping a JoinHandle detaches the task — await it or call .abort()
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 109 |         let _ = spawn_boxed(async move {
[INFO] [stderr]     |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `nexus_async_rt::JoinHandle` that must be used
[INFO] [stderr]    --> nexus-async-rt/tests/net_udp.rs:116:9
[INFO] [stderr]     |
[INFO] [stderr] 116 | /         spawn_boxed(async move {
[INFO] [stderr] 117 | |             nexus_async_rt::sleep(Duration::from_millis(10)).await;
[INFO] [stderr] 118 | |             let mut c =
[INFO] [stderr] 119 | |                 UdpSocket::bind("127.0.0.1:0".parse().unwrap(), nexus_async_rt::io()).unwrap();
[INFO] [stderr] ...   |
[INFO] [stderr] 124 | |             flag.set(true);
[INFO] [stderr] 125 | |         });
[INFO] [stderr]     | |__________^
[INFO] [stderr]     |
[INFO] [stderr]     = note: dropping a JoinHandle detaches the task — await it or call .abort()
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 116 |         let _ = spawn_boxed(async move {
[INFO] [stderr]     |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `nexus_async_rt::JoinHandle` that must be used
[INFO] [stderr]    --> nexus-async-rt/tests/net_udp.rs:148:9
[INFO] [stderr]     |
[INFO] [stderr] 148 | /         spawn_boxed(async move {
[INFO] [stderr] 149 | |             let mut s = recv_sock;
[INFO] [stderr] 150 | |             let mut buf = [0u8; 64];
[INFO] [stderr] 151 | |             for _ in 0..5 {
[INFO] [stderr] ...   |
[INFO] [stderr] 156 | |         });
[INFO] [stderr]     | |__________^
[INFO] [stderr]     |
[INFO] [stderr]     = note: dropping a JoinHandle detaches the task — await it or call .abort()
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 148 |         let _ = spawn_boxed(async move {
[INFO] [stderr]     |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `nexus_async_rt::JoinHandle` that must be used
[INFO] [stderr]    --> nexus-async-rt/tests/net_udp.rs:158:9
[INFO] [stderr]     |
[INFO] [stderr] 158 | /         spawn_boxed(async move {
[INFO] [stderr] 159 | |             nexus_async_rt::sleep(Duration::from_millis(10)).await;
[INFO] [stderr] 160 | |             let mut c =
[INFO] [stderr] 161 | |                 UdpSocket::bind("127.0.0.1:0".parse().unwrap(), nexus_async_rt::io()).unwrap();
[INFO] [stderr] ...   |
[INFO] [stderr] 166 | |         });
[INFO] [stderr]     | |__________^
[INFO] [stderr]     |
[INFO] [stderr]     = note: dropping a JoinHandle detaches the task — await it or call .abort()
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 158 |         let _ = spawn_boxed(async move {
[INFO] [stderr]     |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `nexus_async_rt::JoinHandle` that must be used
[INFO] [stderr]    --> nexus-async-rt/tests/net_udp.rs:228:9
[INFO] [stderr]     |
[INFO] [stderr] 228 | /         spawn_boxed(async move {
[INFO] [stderr] 229 | |             let a = a;
[INFO] [stderr] 230 | |             a.connect(b_addr).unwrap();
[INFO] [stderr] 231 | |             let n = a.try_send(b"try-data").unwrap();
[INFO] [stderr] 232 | |             assert_eq!(n, 8);
[INFO] [stderr] 233 | |         });
[INFO] [stderr]     | |__________^
[INFO] [stderr]     |
[INFO] [stderr]     = note: dropping a JoinHandle detaches the task — await it or call .abort()
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 228 |         let _ = spawn_boxed(async move {
[INFO] [stderr]     |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `nexus_async_rt::JoinHandle` that must be used
[INFO] [stderr]    --> nexus-async-rt/tests/net_udp.rs:235:9
[INFO] [stderr]     |
[INFO] [stderr] 235 | /         spawn_boxed(async move {
[INFO] [stderr] 236 | |             nexus_async_rt::sleep(Duration::from_millis(50)).await;
[INFO] [stderr] 237 | |             let b = b;
[INFO] [stderr] 238 | |             b.connect(a_addr).unwrap();
[INFO] [stderr] ...   |
[INFO] [stderr] 249 | |         });
[INFO] [stderr]     | |__________^
[INFO] [stderr]     |
[INFO] [stderr]     = note: dropping a JoinHandle detaches the task — await it or call .abort()
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 235 |         let _ = spawn_boxed(async move {
[INFO] [stderr]     |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `nexus_async_rt::JoinHandle` that must be used
[INFO] [stderr]    --> nexus-async-rt/tests/net_udp.rs:276:9
[INFO] [stderr]     |
[INFO] [stderr] 276 | /         spawn_boxed(async move {
[INFO] [stderr] 277 | |             let mut s = sock;
[INFO] [stderr] 278 | |             let mut buf = [0u8; 64];
[INFO] [stderr] 279 | |             let (n, _) = s.recv_from(&mut buf).await.unwrap();
[INFO] [stderr] 280 | |             assert_eq!(&buf[..n], b"from-std");
[INFO] [stderr] 281 | |             flag.set(true);
[INFO] [stderr] 282 | |         });
[INFO] [stderr]     | |__________^
[INFO] [stderr]     |
[INFO] [stderr]     = note: dropping a JoinHandle detaches the task — await it or call .abort()
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 276 |         let _ = spawn_boxed(async move {
[INFO] [stderr]     |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `nexus_async_rt::JoinHandle` that must be used
[INFO] [stderr]    --> nexus-async-rt/tests/net_udp.rs:284:9
[INFO] [stderr]     |
[INFO] [stderr] 284 | /         spawn_boxed(async move {
[INFO] [stderr] 285 | |             nexus_async_rt::sleep(Duration::from_millis(10)).await;
[INFO] [stderr] 286 | |             let mut s =
[INFO] [stderr] 287 | |                 UdpSocket::bind("127.0.0.1:0".parse().unwrap(), nexus_async_rt::io()).unwrap();
[INFO] [stderr] 288 | |             s.send_to(b"from-std", addr).await.unwrap();
[INFO] [stderr] 289 | |         });
[INFO] [stderr]     | |__________^
[INFO] [stderr]     |
[INFO] [stderr]     = note: dropping a JoinHandle detaches the task — await it or call .abort()
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 284 |         let _ = spawn_boxed(async move {
[INFO] [stderr]     |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `nexus_async_rt::JoinHandle` that must be used
[INFO] [stderr]    --> nexus-async-rt/tests/net_udp.rs:325:9
[INFO] [stderr]     |
[INFO] [stderr] 325 | /         spawn_boxed(async move {
[INFO] [stderr] 326 | |             let mut s = recv_sock;
[INFO] [stderr] 327 | |             let mut buf = [0u8; 64];
[INFO] [stderr] 328 | |             let (n, peer) = s.peek_from(&mut buf).await.unwrap();
[INFO] [stderr] ...   |
[INFO] [stderr] 333 | |             flag.set(true);
[INFO] [stderr] 334 | |         });
[INFO] [stderr]     | |__________^
[INFO] [stderr]     |
[INFO] [stderr]     = note: dropping a JoinHandle detaches the task — await it or call .abort()
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 325 |         let _ = spawn_boxed(async move {
[INFO] [stderr]     |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `nexus_async_rt::JoinHandle` that must be used
[INFO] [stderr]    --> nexus-async-rt/tests/net_udp.rs:336:9
[INFO] [stderr]     |
[INFO] [stderr] 336 | /         spawn_boxed(async move {
[INFO] [stderr] 337 | |             nexus_async_rt::sleep(Duration::from_millis(10)).await;
[INFO] [stderr] 338 | |             let mut s =
[INFO] [stderr] 339 | |                 UdpSocket::bind("127.0.0.1:0".parse().unwrap(), nexus_async_rt::io()).unwrap();
[INFO] [stderr] 340 | |             s.send_to(b"peek-data", recv_addr).await.unwrap();
[INFO] [stderr] 341 | |         });
[INFO] [stderr]     | |__________^
[INFO] [stderr]     |
[INFO] [stderr]     = note: dropping a JoinHandle detaches the task — await it or call .abort()
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 336 |         let _ = spawn_boxed(async move {
[INFO] [stderr]     |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `nexus_async_rt::JoinHandle` that must be used
[INFO] [stderr]    --> nexus-async-rt/tests/net_udp.rs:379:9
[INFO] [stderr]     |
[INFO] [stderr] 379 | /         spawn_boxed(async move {
[INFO] [stderr] 380 | |             let mut s = recv_sock;
[INFO] [stderr] 381 | |             let mut buf = [0u8; 64];
[INFO] [stderr] 382 | |             let (n, _) = s.recv_from(&mut buf).await.unwrap();
[INFO] [stderr] 383 | |             assert_eq!(&buf[..n], b"mcast");
[INFO] [stderr] 384 | |             flag.set(true);
[INFO] [stderr] 385 | |         });
[INFO] [stderr]     | |__________^
[INFO] [stderr]     |
[INFO] [stderr]     = note: dropping a JoinHandle detaches the task — await it or call .abort()
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 379 |         let _ = spawn_boxed(async move {
[INFO] [stderr]     |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `nexus_async_rt::JoinHandle` that must be used
[INFO] [stderr]    --> nexus-async-rt/tests/net_udp.rs:387:9
[INFO] [stderr]     |
[INFO] [stderr] 387 | /         spawn_boxed(async move {
[INFO] [stderr] 388 | |             nexus_async_rt::sleep(Duration::from_millis(50)).await;
[INFO] [stderr] 389 | |             let mut s =
[INFO] [stderr] 390 | |                 UdpSocket::bind("0.0.0.0:0".parse().unwrap(), nexus_async_rt::io()).unwrap();
[INFO] [stderr] 391 | |             let target: std::net::SocketAddr = format!("239.255.0.1:{recv_port}").parse().unwrap();
[INFO] [stderr] 392 | |             s.send_to(b"mcast", target).await.unwrap();
[INFO] [stderr] 393 | |         });
[INFO] [stderr]     | |__________^
[INFO] [stderr]     |
[INFO] [stderr]     = note: dropping a JoinHandle detaches the task — await it or call .abort()
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 387 |         let _ = spawn_boxed(async move {
[INFO] [stderr]     |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: `nexus-async-rt` (test "vs_tokio") generated 5 warnings
[INFO] [stderr] warning: `nexus-async-rt` (test "channel_latency") generated 3 warnings
[INFO] [stderr] warning: `nexus-async-rt` (test "net_udp") generated 16 warnings
[INFO] [stderr] warning: unused `nexus_async_rt::JoinHandle` that must be used
[INFO] [stderr]   --> nexus-async-rt/tests/channel_deadlock.rs:34:9
[INFO] [stderr]    |
[INFO] [stderr] 34 | /         spawn_boxed(async move {
[INFO] [stderr] 35 | |             f.await;
[INFO] [stderr] 36 | |             flag.set(true);
[INFO] [stderr] 37 | |         });
[INFO] [stderr]    | |__________^
[INFO] [stderr]    |
[INFO] [stderr]    = note: dropping a JoinHandle detaches the task — await it or call .abort()
[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] 34 |         let _ = spawn_boxed(async move {
[INFO] [stderr]    |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `nexus_async_rt::JoinHandle` that must be used
[INFO] [stderr]   --> nexus-async-rt/tests/channel_deadlock.rs:62:9
[INFO] [stderr]    |
[INFO] [stderr] 62 | /         spawn_boxed(async move {
[INFO] [stderr] 63 | |             for i in 0..10_000 {
[INFO] [stderr] 64 | |                 tx.send(i).await.unwrap();
[INFO] [stderr] 65 | |             }
[INFO] [stderr] 66 | |         });
[INFO] [stderr]    | |__________^
[INFO] [stderr]    |
[INFO] [stderr]    = note: dropping a JoinHandle detaches the task — await it or call .abort()
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]    |
[INFO] [stderr] 62 |         let _ = spawn_boxed(async move {
[INFO] [stderr]    |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `nexus_async_rt::JoinHandle` that must be used
[INFO] [stderr]   --> nexus-async-rt/tests/channel_deadlock.rs:85:9
[INFO] [stderr]    |
[INFO] [stderr] 85 | /         spawn_boxed(async move {
[INFO] [stderr] 86 | |             for i in 0..10_000 {
[INFO] [stderr] 87 | |                 tx.send(i).await.unwrap();
[INFO] [stderr] 88 | |             }
[INFO] [stderr] 89 | |         });
[INFO] [stderr]    | |__________^
[INFO] [stderr]    |
[INFO] [stderr]    = note: dropping a JoinHandle detaches the task — await it or call .abort()
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]    |
[INFO] [stderr] 85 |         let _ = spawn_boxed(async move {
[INFO] [stderr]    |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `nexus_async_rt::JoinHandle` that must be used
[INFO] [stderr]    --> nexus-async-rt/tests/channel_deadlock.rs:106:13
[INFO] [stderr]     |
[INFO] [stderr] 106 | /             spawn_boxed(async move {
[INFO] [stderr] 107 | |                 for i in 0..1000 {
[INFO] [stderr] 108 | |                     tx.send(producer_id * 10_000 + i).await.unwrap();
[INFO] [stderr] 109 | |                 }
[INFO] [stderr] 110 | |             });
[INFO] [stderr]     | |______________^
[INFO] [stderr]     |
[INFO] [stderr]     = note: dropping a JoinHandle detaches the task — await it or call .abort()
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 106 |             let _ = spawn_boxed(async move {
[INFO] [stderr]     |             +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `nexus_async_rt::JoinHandle` that must be used
[INFO] [stderr]    --> nexus-async-rt/tests/channel_deadlock.rs:135:9
[INFO] [stderr]     |
[INFO] [stderr] 135 | /         spawn_boxed(async move {
[INFO] [stderr] 136 | |             for i in 0..10_000 {
[INFO] [stderr] 137 | |                 tx.send(i).await.unwrap();
[INFO] [stderr] 138 | |             }
[INFO] [stderr] 139 | |         });
[INFO] [stderr]     | |__________^
[INFO] [stderr]     |
[INFO] [stderr]     = note: dropping a JoinHandle detaches the task — await it or call .abort()
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 135 |         let _ = spawn_boxed(async move {
[INFO] [stderr]     |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `nexus_async_rt::JoinHandle` that must be used
[INFO] [stderr]    --> nexus-async-rt/tests/channel_deadlock.rs:159:9
[INFO] [stderr]     |
[INFO] [stderr] 159 | /         spawn_boxed(async move {
[INFO] [stderr] 160 | |             let data = [0xABu8; 32];
[INFO] [stderr] 161 | |             for _ in 0..10_000 {
[INFO] [stderr] 162 | |                 let mut claim = tx.claim(32).await.unwrap();
[INFO] [stderr] ...   |
[INFO] [stderr] 166 | |         });
[INFO] [stderr]     | |__________^
[INFO] [stderr]     |
[INFO] [stderr]     = note: dropping a JoinHandle detaches the task — await it or call .abort()
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 159 |         let _ = spawn_boxed(async move {
[INFO] [stderr]     |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `nexus_async_rt::JoinHandle` that must be used
[INFO] [stderr]    --> nexus-async-rt/tests/channel_deadlock.rs:183:9
[INFO] [stderr]     |
[INFO] [stderr] 183 | /         spawn_boxed(async move {
[INFO] [stderr] 184 | |             for i in 0u64..5_000 {
[INFO] [stderr] 185 | |                 let mut claim = tx.claim(8).await.unwrap();
[INFO] [stderr] 186 | |                 claim.copy_from_slice(&i.to_le_bytes());
[INFO] [stderr] ...   |
[INFO] [stderr] 189 | |         });
[INFO] [stderr]     | |__________^
[INFO] [stderr]     |
[INFO] [stderr]     = note: dropping a JoinHandle detaches the task — await it or call .abort()
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 183 |         let _ = spawn_boxed(async move {
[INFO] [stderr]     |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `nexus_async_rt::JoinHandle` that must be used
[INFO] [stderr]    --> nexus-async-rt/tests/channel_deadlock.rs:208:9
[INFO] [stderr]     |
[INFO] [stderr] 208 | /         spawn_boxed(async move {
[INFO] [stderr] 209 | |             let data = [0xCDu8; 32];
[INFO] [stderr] 210 | |             for _ in 0..10_000 {
[INFO] [stderr] 211 | |                 let mut claim = tx.claim(32).await.unwrap();
[INFO] [stderr] ...   |
[INFO] [stderr] 215 | |         });
[INFO] [stderr]     | |__________^
[INFO] [stderr]     |
[INFO] [stderr]     = note: dropping a JoinHandle detaches the task — await it or call .abort()
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 208 |         let _ = spawn_boxed(async move {
[INFO] [stderr]     |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `nexus_async_rt::JoinHandle` that must be used
[INFO] [stderr]    --> nexus-async-rt/tests/channel_deadlock.rs:232:13
[INFO] [stderr]     |
[INFO] [stderr] 232 | /             spawn_boxed(async move {
[INFO] [stderr] 233 | |                 for i in 0u32..500 {
[INFO] [stderr] 234 | |                     let val = producer_id * 10_000 + i;
[INFO] [stderr] 235 | |                     let mut claim = tx.claim(4).await.unwrap();
[INFO] [stderr] ...   |
[INFO] [stderr] 239 | |             });
[INFO] [stderr]     | |______________^
[INFO] [stderr]     |
[INFO] [stderr]     = note: dropping a JoinHandle detaches the task — await it or call .abort()
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 232 |             let _ = spawn_boxed(async move {
[INFO] [stderr]     |             +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> nexus-async-rt/tests/shutdown_stats.rs:32:9
[INFO] [stderr]    |
[INFO] [stderr] 32 |     let mut wb = WorldBuilder::new();
[INFO] [stderr]    |         ----^^
[INFO] [stderr]    |         |
[INFO] [stderr]    |         help: remove this `mut`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> nexus-async-rt/tests/shutdown_stats.rs:52:9
[INFO] [stderr]    |
[INFO] [stderr] 52 |     let mut wb = WorldBuilder::new();
[INFO] [stderr]    |         ----^^
[INFO] [stderr]    |         |
[INFO] [stderr]    |         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> nexus-async-rt/tests/shutdown_stats.rs:92:18
[INFO] [stderr]    |
[INFO] [stderr] 92 |         let (tx, mut rx) = nexus_async_rt::channel::mpsc::channel::<u64>(64);
[INFO] [stderr]    |                  ----^^
[INFO] [stderr]    |                  |
[INFO] [stderr]    |                  help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> nexus-async-rt/tests/shutdown_stats.rs:86:9
[INFO] [stderr]    |
[INFO] [stderr] 86 |     let mut wb = WorldBuilder::new();
[INFO] [stderr]    |         ----^^
[INFO] [stderr]    |         |
[INFO] [stderr]    |         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> nexus-async-rt/tests/shutdown_stats.rs:140:9
[INFO] [stderr]     |
[INFO] [stderr] 140 |     let mut wb = WorldBuilder::new();
[INFO] [stderr]     |         ----^^
[INFO] [stderr]     |         |
[INFO] [stderr]     |         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> nexus-async-rt/tests/shutdown_quiesce.rs:16:9
[INFO] [stderr]    |
[INFO] [stderr] 16 |     let mut wb = WorldBuilder::new();
[INFO] [stderr]    |         ----^^
[INFO] [stderr]    |         |
[INFO] [stderr]    |         help: remove this `mut`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> nexus-async-rt/tests/shutdown_quiesce.rs:28:9
[INFO] [stderr]    |
[INFO] [stderr] 28 |     let mut wb = WorldBuilder::new();
[INFO] [stderr]    |         ----^^
[INFO] [stderr]    |         |
[INFO] [stderr]    |         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> nexus-async-rt/tests/shutdown_quiesce.rs:64:9
[INFO] [stderr]    |
[INFO] [stderr] 64 |     let mut wb = WorldBuilder::new();
[INFO] [stderr]    |         ----^^
[INFO] [stderr]    |         |
[INFO] [stderr]    |         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> nexus-async-rt/tests/shutdown_quiesce.rs:85:9
[INFO] [stderr]    |
[INFO] [stderr] 85 |     let mut wb = WorldBuilder::new();
[INFO] [stderr]    |         ----^^
[INFO] [stderr]    |         |
[INFO] [stderr]    |         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> nexus-async-rt/tests/shutdown_quiesce.rs:115:9
[INFO] [stderr]     |
[INFO] [stderr] 115 |     let mut wb = WorldBuilder::new();
[INFO] [stderr]     |         ----^^
[INFO] [stderr]     |         |
[INFO] [stderr]     |         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> nexus-async-rt/tests/shutdown_quiesce.rs:131:9
[INFO] [stderr]     |
[INFO] [stderr] 131 |     let mut wb = WorldBuilder::new();
[INFO] [stderr]     |         ----^^
[INFO] [stderr]     |         |
[INFO] [stderr]     |         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> nexus-async-rt/tests/shutdown_quiesce.rs:193:9
[INFO] [stderr]     |
[INFO] [stderr] 193 |     let mut wb = WorldBuilder::new();
[INFO] [stderr]     |         ----^^
[INFO] [stderr]     |         |
[INFO] [stderr]     |         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: unused `nexus_async_rt::JoinHandle` that must be used
[INFO] [stderr]   --> nexus-async-rt/tests/net_tcp.rs:30:9
[INFO] [stderr]    |
[INFO] [stderr] 30 | /         spawn_boxed(async move {
[INFO] [stderr] 31 | |             let (mut s, _) = listener.accept().await.unwrap();
[INFO] [stderr] 32 | |             let mut buf = [0u8; 128];
[INFO] [stderr] 33 | |             let n = s.read(&mut buf).await.unwrap();
[INFO] [stderr] 34 | |             s.write_all(&buf[..n]).await.unwrap();
[INFO] [stderr] 35 | |         });
[INFO] [stderr]    | |__________^
[INFO] [stderr]    |
[INFO] [stderr]    = note: dropping a JoinHandle detaches the task — await it or call .abort()
[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] 30 |         let _ = spawn_boxed(async move {
[INFO] [stderr]    |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `nexus_async_rt::JoinHandle` that must be used
[INFO] [stderr]   --> nexus-async-rt/tests/net_tcp.rs:37:9
[INFO] [stderr]    |
[INFO] [stderr] 37 | /         spawn_boxed(async move {
[INFO] [stderr] 38 | |             nexus_async_rt::sleep(Duration::from_millis(10)).await;
[INFO] [stderr] 39 | |             let mut c = TcpStream::connect(addr, nexus_async_rt::io()).unwrap();
[INFO] [stderr] 40 | |             c.write_all(b"hello world").await.unwrap();
[INFO] [stderr] ...  |
[INFO] [stderr] 44 | |             flag.set(true);
[INFO] [stderr] 45 | |         });
[INFO] [stderr]    | |__________^
[INFO] [stderr]    |
[INFO] [stderr]    = note: dropping a JoinHandle detaches the task — await it or call .abort()
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]    |
[INFO] [stderr] 37 |         let _ = spawn_boxed(async move {
[INFO] [stderr]    |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `nexus_async_rt::JoinHandle` that must be used
[INFO] [stderr]   --> nexus-async-rt/tests/net_tcp.rs:66:9
[INFO] [stderr]    |
[INFO] [stderr] 66 | /         spawn_boxed(async move {
[INFO] [stderr] 67 | |             for _ in 0..3 {
[INFO] [stderr] 68 | |                 let (mut s, _) = listener.accept().await.unwrap();
[INFO] [stderr] 69 | |                 let mut buf = [0u8; 64];
[INFO] [stderr] ...  |
[INFO] [stderr] 74 | |         });
[INFO] [stderr]    | |__________^
[INFO] [stderr]    |
[INFO] [stderr]    = note: dropping a JoinHandle detaches the task — await it or call .abort()
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]    |
[INFO] [stderr] 66 |         let _ = spawn_boxed(async move {
[INFO] [stderr]    |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `nexus_async_rt::JoinHandle` that must be used
[INFO] [stderr]   --> nexus-async-rt/tests/net_tcp.rs:76:9
[INFO] [stderr]    |
[INFO] [stderr] 76 | /         spawn_boxed(async move {
[INFO] [stderr] 77 | |             nexus_async_rt::sleep(Duration::from_millis(10)).await;
[INFO] [stderr] 78 | |             for i in 0..3u8 {
[INFO] [stderr] 79 | |                 let mut c = TcpStream::connect(addr, nexus_async_rt::io()).unwrap();
[INFO] [stderr] ...  |
[INFO] [stderr] 86 | |         });
[INFO] [stderr]    | |__________^
[INFO] [stderr]    |
[INFO] [stderr]    = note: dropping a JoinHandle detaches the task — await it or call .abort()
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]    |
[INFO] [stderr] 76 |         let _ = spawn_boxed(async move {
[INFO] [stderr]    |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `nexus_async_rt::JoinHandle` that must be used
[INFO] [stderr]    --> nexus-async-rt/tests/net_tcp.rs:113:9
[INFO] [stderr]     |
[INFO] [stderr] 113 | /         spawn_boxed(async move {
[INFO] [stderr] 114 | |             let (mut s, _) = listener.accept().await.unwrap();
[INFO] [stderr] 115 | |             let mut received = Vec::new();
[INFO] [stderr] 116 | |             let mut buf = [0u8; 8192];
[INFO] [stderr] ...   |
[INFO] [stderr] 126 | |             flag.set(true);
[INFO] [stderr] 127 | |         });
[INFO] [stderr]     | |__________^
[INFO] [stderr]     |
[INFO] [stderr]     = note: dropping a JoinHandle detaches the task — await it or call .abort()
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 113 |         let _ = spawn_boxed(async move {
[INFO] [stderr]     |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `nexus_async_rt::JoinHandle` that must be used
[INFO] [stderr]    --> nexus-async-rt/tests/net_tcp.rs:129:9
[INFO] [stderr]     |
[INFO] [stderr] 129 | /         spawn_boxed(async move {
[INFO] [stderr] 130 | |             nexus_async_rt::sleep(Duration::from_millis(10)).await;
[INFO] [stderr] 131 | |             let mut c = TcpStream::connect(addr, nexus_async_rt::io()).unwrap();
[INFO] [stderr] 132 | |             c.write_all(&data).await.unwrap();
[INFO] [stderr] 133 | |         });
[INFO] [stderr]     | |__________^
[INFO] [stderr]     |
[INFO] [stderr]     = note: dropping a JoinHandle detaches the task — await it or call .abort()
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 129 |         let _ = spawn_boxed(async move {
[INFO] [stderr]     |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `nexus_async_rt::JoinHandle` that must be used
[INFO] [stderr]    --> nexus-async-rt/tests/net_tcp.rs:158:9
[INFO] [stderr]     |
[INFO] [stderr] 158 | /         spawn_boxed(async move {
[INFO] [stderr] 159 | |             let (mut s, _) = listener.accept().await.unwrap();
[INFO] [stderr] 160 | |             let (mut rd, mut wr) = s.split();
[INFO] [stderr] 161 | |             let mut buf = [0u8; 64];
[INFO] [stderr] ...   |
[INFO] [stderr] 168 | |                 .unwrap();
[INFO] [stderr] 169 | |         });
[INFO] [stderr]     | |__________^
[INFO] [stderr]     |
[INFO] [stderr]     = note: dropping a JoinHandle detaches the task — await it or call .abort()
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 158 |         let _ = spawn_boxed(async move {
[INFO] [stderr]     |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `nexus_async_rt::JoinHandle` that must be used
[INFO] [stderr]    --> nexus-async-rt/tests/net_tcp.rs:171:9
[INFO] [stderr]     |
[INFO] [stderr] 171 | /         spawn_boxed(async move {
[INFO] [stderr] 172 | |             nexus_async_rt::sleep(Duration::from_millis(10)).await;
[INFO] [stderr] 173 | |             let mut c = TcpStream::connect(addr, nexus_async_rt::io()).unwrap();
[INFO] [stderr] 174 | |             c.write_all(b"split").await.unwrap();
[INFO] [stderr] ...   |
[INFO] [stderr] 178 | |             flag.set(true);
[INFO] [stderr] 179 | |         });
[INFO] [stderr]     | |__________^
[INFO] [stderr]     |
[INFO] [stderr]     = note: dropping a JoinHandle detaches the task — await it or call .abort()
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 171 |         let _ = spawn_boxed(async move {
[INFO] [stderr]     |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `nexus_async_rt::JoinHandle` that must be used
[INFO] [stderr]    --> nexus-async-rt/tests/net_tcp.rs:198:9
[INFO] [stderr]     |
[INFO] [stderr] 198 | /         spawn_boxed(async move {
[INFO] [stderr] 199 | |             let (s, _) = listener.accept().await.unwrap();
[INFO] [stderr] 200 | |             let (read_half, write_half) = s.into_split();
[INFO] [stderr] 201 | |             let _stream = read_half.reunite(write_half).unwrap();
[INFO] [stderr] 202 | |         });
[INFO] [stderr]     | |__________^
[INFO] [stderr]     |
[INFO] [stderr]     = note: dropping a JoinHandle detaches the task — await it or call .abort()
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 198 |         let _ = spawn_boxed(async move {
[INFO] [stderr]     |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `nexus_async_rt::JoinHandle` that must be used
[INFO] [stderr]    --> nexus-async-rt/tests/net_tcp.rs:204:9
[INFO] [stderr]     |
[INFO] [stderr] 204 | /         spawn_boxed(async move {
[INFO] [stderr] 205 | |             nexus_async_rt::sleep(Duration::from_millis(10)).await;
[INFO] [stderr] 206 | |             let _c = TcpStream::connect(addr, nexus_async_rt::io()).unwrap();
[INFO] [stderr] 207 | |         });
[INFO] [stderr]     | |__________^
[INFO] [stderr]     |
[INFO] [stderr]     = note: dropping a JoinHandle detaches the task — await it or call .abort()
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 204 |         let _ = spawn_boxed(async move {
[INFO] [stderr]     |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `nexus_async_rt::JoinHandle` that must be used
[INFO] [stderr]    --> nexus-async-rt/tests/net_tcp.rs:230:9
[INFO] [stderr]     |
[INFO] [stderr] 230 | /         spawn_boxed(async move {
[INFO] [stderr] 231 | |             let (s, _) = listener.accept().await.unwrap();
[INFO] [stderr] 232 | |             s.set_nodelay(true).unwrap();
[INFO] [stderr] 233 | |             assert!(s.nodelay().unwrap());
[INFO] [stderr] ...   |
[INFO] [stderr] 243 | |             flag.set(true);
[INFO] [stderr] 244 | |         });
[INFO] [stderr]     | |__________^
[INFO] [stderr]     |
[INFO] [stderr]     = note: dropping a JoinHandle detaches the task — await it or call .abort()
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 230 |         let _ = spawn_boxed(async move {
[INFO] [stderr]     |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `nexus_async_rt::JoinHandle` that must be used
[INFO] [stderr]    --> nexus-async-rt/tests/net_tcp.rs:246:9
[INFO] [stderr]     |
[INFO] [stderr] 246 | /         spawn_boxed(async move {
[INFO] [stderr] 247 | |             nexus_async_rt::sleep(Duration::from_millis(10)).await;
[INFO] [stderr] 248 | |             let _c = TcpStream::connect(addr, nexus_async_rt::io()).unwrap();
[INFO] [stderr] 249 | |             nexus_async_rt::sleep(Duration::from_millis(100)).await;
[INFO] [stderr] 250 | |         });
[INFO] [stderr]     | |__________^
[INFO] [stderr]     |
[INFO] [stderr]     = note: dropping a JoinHandle detaches the task — await it or call .abort()
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 246 |         let _ = spawn_boxed(async move {
[INFO] [stderr]     |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `nexus_async_rt::JoinHandle` that must be used
[INFO] [stderr]    --> nexus-async-rt/tests/net_tcp.rs:278:9
[INFO] [stderr]     |
[INFO] [stderr] 278 | /         spawn_boxed(async move {
[INFO] [stderr] 279 | |             let (mut s, _) = listener.accept().await.unwrap();
[INFO] [stderr] 280 | |             let mut buf = [0u8; 16];
[INFO] [stderr] 281 | |             let n = s.read(&mut buf).await.unwrap();
[INFO] [stderr] 282 | |             assert_eq!(&buf[..n], b"via-socket");
[INFO] [stderr] 283 | |             flag.set(true);
[INFO] [stderr] 284 | |         });
[INFO] [stderr]     | |__________^
[INFO] [stderr]     |
[INFO] [stderr]     = note: dropping a JoinHandle detaches the task — await it or call .abort()
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 278 |         let _ = spawn_boxed(async move {
[INFO] [stderr]     |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `nexus_async_rt::JoinHandle` that must be used
[INFO] [stderr]    --> nexus-async-rt/tests/net_tcp.rs:286:9
[INFO] [stderr]     |
[INFO] [stderr] 286 | /         spawn_boxed(async move {
[INFO] [stderr] 287 | |             nexus_async_rt::sleep(Duration::from_millis(10)).await;
[INFO] [stderr] 288 | |             let mut c = TcpStream::connect(addr, nexus_async_rt::io()).unwrap();
[INFO] [stderr] 289 | |             c.write_all(b"via-socket").await.unwrap();
[INFO] [stderr] 290 | |         });
[INFO] [stderr]     | |__________^
[INFO] [stderr]     |
[INFO] [stderr]     = note: dropping a JoinHandle detaches the task — await it or call .abort()
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 286 |         let _ = spawn_boxed(async move {
[INFO] [stderr]     |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `nexus_async_rt::JoinHandle` that must be used
[INFO] [stderr]    --> nexus-async-rt/tests/net_tcp.rs:315:9
[INFO] [stderr]     |
[INFO] [stderr] 315 | /         spawn_boxed(async move {
[INFO] [stderr] 316 | |             let (s, _) = listener.accept().await.unwrap();
[INFO] [stderr] 317 | |             match s.try_write(b"data") {
[INFO] [stderr] 318 | |                 Ok(n) => assert!(n > 0),
[INFO] [stderr] ...   |
[INFO] [stderr] 322 | |             flag.set(true);
[INFO] [stderr] 323 | |         });
[INFO] [stderr]     | |__________^
[INFO] [stderr]     |
[INFO] [stderr]     = note: dropping a JoinHandle detaches the task — await it or call .abort()
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 315 |         let _ = spawn_boxed(async move {
[INFO] [stderr]     |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `nexus_async_rt::JoinHandle` that must be used
[INFO] [stderr]    --> nexus-async-rt/tests/net_tcp.rs:325:9
[INFO] [stderr]     |
[INFO] [stderr] 325 | /         spawn_boxed(async move {
[INFO] [stderr] 326 | |             nexus_async_rt::sleep(Duration::from_millis(10)).await;
[INFO] [stderr] 327 | |             let _c = TcpStream::connect(addr, nexus_async_rt::io()).unwrap();
[INFO] [stderr] 328 | |             nexus_async_rt::sleep(Duration::from_millis(100)).await;
[INFO] [stderr] 329 | |         });
[INFO] [stderr]     | |__________^
[INFO] [stderr]     |
[INFO] [stderr]     = note: dropping a JoinHandle detaches the task — await it or call .abort()
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 325 |         let _ = spawn_boxed(async move {
[INFO] [stderr]     |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `nexus_async_rt::JoinHandle` that must be used
[INFO] [stderr]    --> nexus-async-rt/tests/net_tcp.rs:356:9
[INFO] [stderr]     |
[INFO] [stderr] 356 | /         spawn_boxed(async move {
[INFO] [stderr] 357 | |             let (mut s, _) = listener.accept().await.unwrap();
[INFO] [stderr] 358 | |             let mut buf = [0u8; 16];
[INFO] [stderr] 359 | |             let n = s.read(&mut buf).await.unwrap();
[INFO] [stderr] 360 | |             assert_eq!(&buf[..n], b"from_std");
[INFO] [stderr] 361 | |             flag.set(true);
[INFO] [stderr] 362 | |         });
[INFO] [stderr]     | |__________^
[INFO] [stderr]     |
[INFO] [stderr]     = note: dropping a JoinHandle detaches the task — await it or call .abort()
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 356 |         let _ = spawn_boxed(async move {
[INFO] [stderr]     |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `nexus_async_rt::JoinHandle` that must be used
[INFO] [stderr]    --> nexus-async-rt/tests/net_tcp.rs:364:9
[INFO] [stderr]     |
[INFO] [stderr] 364 | /         spawn_boxed(async move {
[INFO] [stderr] 365 | |             nexus_async_rt::sleep(Duration::from_millis(10)).await;
[INFO] [stderr] 366 | |             let mut c = TcpStream::connect(addr, nexus_async_rt::io()).unwrap();
[INFO] [stderr] 367 | |             c.write_all(b"from_std").await.unwrap();
[INFO] [stderr] 368 | |         });
[INFO] [stderr]     | |__________^
[INFO] [stderr]     |
[INFO] [stderr]     = note: dropping a JoinHandle detaches the task — await it or call .abort()
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 364 |         let _ = spawn_boxed(async move {
[INFO] [stderr]     |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `nexus_async_rt::JoinHandle` that must be used
[INFO] [stderr]    --> nexus-async-rt/tests/net_tcp.rs:389:9
[INFO] [stderr]     |
[INFO] [stderr] 389 | /         spawn_boxed(async move {
[INFO] [stderr] 390 | |             let (s, _) = listener.accept().await.unwrap();
[INFO] [stderr] 391 | |             let std_stream = s.into_std().unwrap();
[INFO] [stderr] 392 | |             assert!(std_stream.peer_addr().is_ok());
[INFO] [stderr] 393 | |             flag.set(true);
[INFO] [stderr] 394 | |         });
[INFO] [stderr]     | |__________^
[INFO] [stderr]     |
[INFO] [stderr]     = note: dropping a JoinHandle detaches the task — await it or call .abort()
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 389 |         let _ = spawn_boxed(async move {
[INFO] [stderr]     |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `nexus_async_rt::JoinHandle` that must be used
[INFO] [stderr]    --> nexus-async-rt/tests/net_tcp.rs:396:9
[INFO] [stderr]     |
[INFO] [stderr] 396 | /         spawn_boxed(async move {
[INFO] [stderr] 397 | |             nexus_async_rt::sleep(Duration::from_millis(10)).await;
[INFO] [stderr] 398 | |             let _c = TcpStream::connect(addr, nexus_async_rt::io()).unwrap();
[INFO] [stderr] 399 | |             nexus_async_rt::sleep(Duration::from_millis(100)).await;
[INFO] [stderr] 400 | |         });
[INFO] [stderr]     | |__________^
[INFO] [stderr]     |
[INFO] [stderr]     = note: dropping a JoinHandle detaches the task — await it or call .abort()
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 396 |         let _ = spawn_boxed(async move {
[INFO] [stderr]     |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `nexus_async_rt::JoinHandle` that must be used
[INFO] [stderr]    --> nexus-async-rt/tests/net_tcp.rs:425:9
[INFO] [stderr]     |
[INFO] [stderr] 425 | /         spawn_boxed(async move {
[INFO] [stderr] 426 | |             match TcpStream::connect(closed_addr, nexus_async_rt::io()) {
[INFO] [stderr] 427 | |                 Err(_) => flag.set(true),
[INFO] [stderr] 428 | |                 Ok(mut c) => {
[INFO] [stderr] ...   |
[INFO] [stderr] 435 | |         });
[INFO] [stderr]     | |__________^
[INFO] [stderr]     |
[INFO] [stderr]     = note: dropping a JoinHandle detaches the task — await it or call .abort()
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 425 |         let _ = spawn_boxed(async move {
[INFO] [stderr]     |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `nexus_async_rt::JoinHandle` that must be used
[INFO] [stderr]    --> nexus-async-rt/tests/net_tcp.rs:456:9
[INFO] [stderr]     |
[INFO] [stderr] 456 | /         spawn_boxed(async move {
[INFO] [stderr] 457 | |             let (_s, _) = listener.accept().await.unwrap();
[INFO] [stderr] 458 | |         });
[INFO] [stderr]     | |__________^
[INFO] [stderr]     |
[INFO] [stderr]     = note: dropping a JoinHandle detaches the task — await it or call .abort()
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 456 |         let _ = spawn_boxed(async move {
[INFO] [stderr]     |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `nexus_async_rt::JoinHandle` that must be used
[INFO] [stderr]    --> nexus-async-rt/tests/net_tcp.rs:460:9
[INFO] [stderr]     |
[INFO] [stderr] 460 | /         spawn_boxed(async move {
[INFO] [stderr] 461 | |             nexus_async_rt::sleep(Duration::from_millis(10)).await;
[INFO] [stderr] 462 | |             let mut c = TcpStream::connect(addr, nexus_async_rt::io()).unwrap();
[INFO] [stderr] 463 | |             nexus_async_rt::sleep(Duration::from_millis(50)).await;
[INFO] [stderr] ...   |
[INFO] [stderr] 467 | |             flag.set(true);
[INFO] [stderr] 468 | |         });
[INFO] [stderr]     | |__________^
[INFO] [stderr]     |
[INFO] [stderr]     = note: dropping a JoinHandle detaches the task — await it or call .abort()
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 460 |         let _ = spawn_boxed(async move {
[INFO] [stderr]     |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: `nexus-async-rt` (test "channel_deadlock") generated 9 warnings
[INFO] [stderr] warning: `nexus-async-rt` (test "shutdown_stats") generated 5 warnings (run `cargo fix --test "shutdown_stats" -p nexus-async-rt` to apply 5 suggestions)
[INFO] [stderr] warning: `nexus-async-rt` (test "shutdown_quiesce") generated 7 warnings (run `cargo fix --test "shutdown_quiesce" -p nexus-async-rt` to apply 7 suggestions)
[INFO] [stderr] warning: `nexus-async-rt` (test "net_tcp") generated 23 warnings
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]     --> nexus-async-rt/src/runtime.rs:1355:13
[INFO] [stderr]      |
[INFO] [stderr] 1355 |         let mut wb = WorldBuilder::new();
[INFO] [stderr]      |             ----^^
[INFO] [stderr]      |             |
[INFO] [stderr]      |             help: remove this `mut`
[INFO] [stderr]      |
[INFO] [stderr]      = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]     --> nexus-async-rt/src/runtime.rs:1447:13
[INFO] [stderr]      |
[INFO] [stderr] 1447 |         let mut wb = WorldBuilder::new();
[INFO] [stderr]      |             ----^^
[INFO] [stderr]      |             |
[INFO] [stderr]      |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]     --> nexus-async-rt/src/runtime.rs:1468:13
[INFO] [stderr]      |
[INFO] [stderr] 1468 |         let mut wb = WorldBuilder::new();
[INFO] [stderr]      |             ----^^
[INFO] [stderr]      |             |
[INFO] [stderr]      |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]     --> nexus-async-rt/src/runtime.rs:1565:13
[INFO] [stderr]      |
[INFO] [stderr] 1565 |         let mut wb = WorldBuilder::new();
[INFO] [stderr]      |             ----^^
[INFO] [stderr]      |             |
[INFO] [stderr]      |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]     --> nexus-async-rt/src/runtime.rs:1578:13
[INFO] [stderr]      |
[INFO] [stderr] 1578 |         let mut wb = WorldBuilder::new();
[INFO] [stderr]      |             ----^^
[INFO] [stderr]      |             |
[INFO] [stderr]      |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]     --> nexus-async-rt/src/runtime.rs:1596:13
[INFO] [stderr]      |
[INFO] [stderr] 1596 |         let mut wb = WorldBuilder::new();
[INFO] [stderr]      |             ----^^
[INFO] [stderr]      |             |
[INFO] [stderr]      |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]     --> nexus-async-rt/src/runtime.rs:1609:13
[INFO] [stderr]      |
[INFO] [stderr] 1609 |         let mut wb = WorldBuilder::new();
[INFO] [stderr]      |             ----^^
[INFO] [stderr]      |             |
[INFO] [stderr]      |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning[E0133]: call to unsafe function `std::alloc::dealloc` is unsafe and requires unsafe block
[INFO] [stderr]     --> nexus-async-rt/src/task.rs:1326:13
[INFO] [stderr]      |
[INFO] [stderr] 1326 |             std::alloc::dealloc(ptr, layout);
[INFO] [stderr]      |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stderr]      |
[INFO] [stderr]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stderr] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stderr]     --> nexus-async-rt/src/task.rs:1324:9
[INFO] [stderr]      |
[INFO] [stderr] 1324 |         unsafe fn slab_free(ptr: *mut u8) {
[INFO] [stderr]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stderr]      = note: requested on the command line with `-W unsafe-op-in-unsafe-fn`
[INFO] [stderr] 
[INFO] [stderr] warning: unused return value of `BackoffBuilder::build` that must be used
[INFO] [stderr]    --> nexus-async-rt/src/backoff.rs:414:9
[INFO] [stderr]     |
[INFO] [stderr] 414 | /         Backoff::builder()
[INFO] [stderr] 415 | |             .initial(Duration::from_secs(60))
[INFO] [stderr] 416 | |             .max_delay(Duration::from_secs(5))
[INFO] [stderr] 417 | |             .build();
[INFO] [stderr]     | |____________________^
[INFO] [stderr]     |
[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] 414 |         let _ = Backoff::builder()
[INFO] [stderr]     |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `task::JoinHandle` that must be used
[INFO] [stderr]    --> nexus-async-rt/src/net/tcp.rs:985:13
[INFO] [stderr]     |
[INFO] [stderr] 985 | /             spawn_boxed(async move {
[INFO] [stderr] 986 | |                 let mut listener = listener;
[INFO] [stderr] 987 | |                 let (mut stream, _peer) = listener.accept().await.unwrap();
[INFO] [stderr] 988 | |                 let mut buf = [0u8; 64];
[INFO] [stderr] 989 | |                 let n = stream.read(&mut buf).await.unwrap();
[INFO] [stderr] 990 | |                 stream.write_all(&buf[..n]).await.unwrap();
[INFO] [stderr] 991 | |             });
[INFO] [stderr]     | |______________^
[INFO] [stderr]     |
[INFO] [stderr]     = note: dropping a JoinHandle detaches the task — await it or call .abort()
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 985 |             let _ = spawn_boxed(async move {
[INFO] [stderr]     |             +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `task::JoinHandle` that must be used
[INFO] [stderr]     --> nexus-async-rt/src/net/tcp.rs:995:13
[INFO] [stderr]      |
[INFO] [stderr]  995 | /             spawn_boxed(async move {
[INFO] [stderr]  996 | |                 crate::context::sleep(std::time::Duration::from_millis(10)).await;
[INFO] [stderr]  997 | |                 let mut client = TcpStream::connect(addr, io).unwrap();
[INFO] [stderr]  998 | |                 client.write_all(b"hello").await.unwrap();
[INFO] [stderr] ...    |
[INFO] [stderr] 1002 | |                 flag.set(true);
[INFO] [stderr] 1003 | |             });
[INFO] [stderr]      | |______________^
[INFO] [stderr]      |
[INFO] [stderr]      = note: dropping a JoinHandle detaches the task — await it or call .abort()
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]      |
[INFO] [stderr]  995 |             let _ = spawn_boxed(async move {
[INFO] [stderr]      |             +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `task::JoinHandle` that must be used
[INFO] [stderr]    --> nexus-async-rt/src/net/udp.rs:443:13
[INFO] [stderr]     |
[INFO] [stderr] 443 | /             spawn_boxed(async move {
[INFO] [stderr] 444 | |                 let mut sock = recv_sock;
[INFO] [stderr] 445 | |                 let mut buf = [0u8; 64];
[INFO] [stderr] 446 | |                 let (n, _from) = sock.recv_from(&mut buf).await.unwrap();
[INFO] [stderr] 447 | |                 assert_eq!(&buf[..n], b"test");
[INFO] [stderr] 448 | |                 flag.set(true);
[INFO] [stderr] 449 | |             });
[INFO] [stderr]     | |______________^
[INFO] [stderr]     |
[INFO] [stderr]     = note: dropping a JoinHandle detaches the task — await it or call .abort()
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 443 |             let _ = spawn_boxed(async move {
[INFO] [stderr]     |             +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `task::JoinHandle` that must be used
[INFO] [stderr]    --> nexus-async-rt/src/net/udp.rs:452:13
[INFO] [stderr]     |
[INFO] [stderr] 452 | /             spawn_boxed(async move {
[INFO] [stderr] 453 | |                 crate::context::sleep(Duration::from_millis(10)).await;
[INFO] [stderr] 454 | |                 let mut sock =
[INFO] [stderr] 455 | |                     UdpSocket::bind("127.0.0.1:0".parse().unwrap(), crate::context::io()).unwrap();
[INFO] [stderr] 456 | |                 sock.send_to(b"test", recv_addr).await.unwrap();
[INFO] [stderr] 457 | |             });
[INFO] [stderr]     | |______________^
[INFO] [stderr]     |
[INFO] [stderr]     = note: dropping a JoinHandle detaches the task — await it or call .abort()
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 452 |             let _ = spawn_boxed(async move {
[INFO] [stderr]     |             +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `task::JoinHandle` that must be used
[INFO] [stderr]    --> nexus-async-rt/src/net/udp.rs:481:13
[INFO] [stderr]     |
[INFO] [stderr] 481 | /             spawn_boxed(async move {
[INFO] [stderr] 482 | |                 let mut server = server_sock;
[INFO] [stderr] 483 | |                 let mut buf = [0u8; 64];
[INFO] [stderr] 484 | |                 let (n, peer) = server.recv_from(&mut buf).await.unwrap();
[INFO] [stderr] 485 | |                 server.send_to(&buf[..n], peer).await.unwrap();
[INFO] [stderr] 486 | |             });
[INFO] [stderr]     | |______________^
[INFO] [stderr]     |
[INFO] [stderr]     = note: dropping a JoinHandle detaches the task — await it or call .abort()
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 481 |             let _ = spawn_boxed(async move {
[INFO] [stderr]     |             +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `task::JoinHandle` that must be used
[INFO] [stderr]    --> nexus-async-rt/src/net/udp.rs:490:13
[INFO] [stderr]     |
[INFO] [stderr] 490 | /             spawn_boxed(async move {
[INFO] [stderr] 491 | |                 crate::context::sleep(Duration::from_millis(10)).await;
[INFO] [stderr] 492 | |                 let client_addr: SocketAddr = "127.0.0.1:0".parse().unwrap();
[INFO] [stderr] 493 | |                 let mut client = UdpSocket::bind(client_addr, crate::context::io()).unwrap();
[INFO] [stderr] ...   |
[INFO] [stderr] 498 | |                 flag.set(true);
[INFO] [stderr] 499 | |             });
[INFO] [stderr]     | |______________^
[INFO] [stderr]     |
[INFO] [stderr]     = note: dropping a JoinHandle detaches the task — await it or call .abort()
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 490 |             let _ = spawn_boxed(async move {
[INFO] [stderr]     |             +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `task::JoinHandle` that must be used
[INFO] [stderr]    --> nexus-async-rt/src/net/udp.rs:524:13
[INFO] [stderr]     |
[INFO] [stderr] 524 | /             spawn_boxed(async move {
[INFO] [stderr] 525 | |                 let mut a = a_sock;
[INFO] [stderr] 526 | |                 a.connect(b_addr).unwrap();
[INFO] [stderr] 527 | |                 a.send(b"connected").await.unwrap();
[INFO] [stderr] 528 | |             });
[INFO] [stderr]     | |______________^
[INFO] [stderr]     |
[INFO] [stderr]     = note: dropping a JoinHandle detaches the task — await it or call .abort()
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 524 |             let _ = spawn_boxed(async move {
[INFO] [stderr]     |             +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `task::JoinHandle` that must be used
[INFO] [stderr]    --> nexus-async-rt/src/net/udp.rs:531:13
[INFO] [stderr]     |
[INFO] [stderr] 531 | /             spawn_boxed(async move {
[INFO] [stderr] 532 | |                 crate::context::sleep(Duration::from_millis(10)).await;
[INFO] [stderr] 533 | |                 let mut b = b_sock;
[INFO] [stderr] 534 | |                 b.connect(a_addr).unwrap();
[INFO] [stderr] ...   |
[INFO] [stderr] 538 | |                 flag.set(true);
[INFO] [stderr] 539 | |             });
[INFO] [stderr]     | |______________^
[INFO] [stderr]     |
[INFO] [stderr]     = note: dropping a JoinHandle detaches the task — await it or call .abort()
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 531 |             let _ = spawn_boxed(async move {
[INFO] [stderr]     |             +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `task::JoinHandle` that must be used
[INFO] [stderr]     --> nexus-async-rt/src/runtime.rs:1281:17
[INFO] [stderr]      |
[INFO] [stderr] 1281 | /                 spawn_boxed(async move {
[INFO] [stderr] 1282 | |                     crate::context::with_world(|world| {
[INFO] [stderr] 1283 | |                         world.resource_mut::<Out>().0 += i;
[INFO] [stderr] 1284 | |                     });
[INFO] [stderr] 1285 | |                 });
[INFO] [stderr]      | |__________________^
[INFO] [stderr]      |
[INFO] [stderr]      = note: dropping a JoinHandle detaches the task — await it or call .abort()
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]      |
[INFO] [stderr] 1281 |                 let _ = spawn_boxed(async move {
[INFO] [stderr]      |                 +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `task::JoinHandle` that must be used
[INFO] [stderr]     --> nexus-async-rt/src/runtime.rs:1314:13
[INFO] [stderr]      |
[INFO] [stderr] 1314 | /             spawn_boxed(async move {
[INFO] [stderr] 1315 | |                 crate::context::with_world(|world| {
[INFO] [stderr] 1316 | |                     world.resource_mut::<Out>().0 = 99;
[INFO] [stderr] 1317 | |                 });
[INFO] [stderr] 1318 | |             });
[INFO] [stderr]      | |______________^
[INFO] [stderr]      |
[INFO] [stderr]      = note: dropping a JoinHandle detaches the task — await it or call .abort()
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]      |
[INFO] [stderr] 1314 |             let _ = spawn_boxed(async move {
[INFO] [stderr]      |             +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `task::JoinHandle` that must be used
[INFO] [stderr]     --> nexus-async-rt/src/runtime.rs:1344:9
[INFO] [stderr]      |
[INFO] [stderr] 1344 |         spawn_boxed(async {});
[INFO] [stderr]      |         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]      |
[INFO] [stderr]      = note: dropping a JoinHandle detaches the task — await it or call .abort()
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]      |
[INFO] [stderr] 1344 |         let _ = spawn_boxed(async {});
[INFO] [stderr]      |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `task::JoinHandle` that must be used
[INFO] [stderr]     --> nexus-async-rt/src/runtime.rs:1360:13
[INFO] [stderr]      |
[INFO] [stderr] 1360 |             spawn_slab(async {});
[INFO] [stderr]      |             ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]      |
[INFO] [stderr]      = note: dropping a JoinHandle detaches the task — await it or call .abort()
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]      |
[INFO] [stderr] 1360 |             let _ = spawn_slab(async {});
[INFO] [stderr]      |             +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `task::JoinHandle` that must be used
[INFO] [stderr]     --> nexus-async-rt/src/runtime.rs:1375:13
[INFO] [stderr]      |
[INFO] [stderr] 1375 | /             spawn_slab(async move {
[INFO] [stderr] 1376 | |                 crate::context::with_world(|world| {
[INFO] [stderr] 1377 | |                     world.resource_mut::<Out>().0 = 77;
[INFO] [stderr] 1378 | |                 });
[INFO] [stderr] 1379 | |             });
[INFO] [stderr]      | |______________^
[INFO] [stderr]      |
[INFO] [stderr]      = note: dropping a JoinHandle detaches the task — await it or call .abort()
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]      |
[INFO] [stderr] 1375 |             let _ = spawn_slab(async move {
[INFO] [stderr]      |             +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `task::JoinHandle` that must be used
[INFO] [stderr]     --> nexus-async-rt/src/runtime.rs:1399:13
[INFO] [stderr]      |
[INFO] [stderr] 1399 | /             spawn_boxed(async move {
[INFO] [stderr] 1400 | |                 crate::context::with_world(|world| {
[INFO] [stderr] 1401 | |                     world.resource_mut::<Out>().0 += 10;
[INFO] [stderr] 1402 | |                 });
[INFO] [stderr] 1403 | |             });
[INFO] [stderr]      | |______________^
[INFO] [stderr]      |
[INFO] [stderr]      = note: dropping a JoinHandle detaches the task — await it or call .abort()
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]      |
[INFO] [stderr] 1399 |             let _ = spawn_boxed(async move {
[INFO] [stderr]      |             +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `task::JoinHandle` that must be used
[INFO] [stderr]     --> nexus-async-rt/src/runtime.rs:1405:13
[INFO] [stderr]      |
[INFO] [stderr] 1405 | /             spawn_slab(async move {
[INFO] [stderr] 1406 | |                 crate::context::with_world(|world| {
[INFO] [stderr] 1407 | |                     world.resource_mut::<Out>().0 += 20;
[INFO] [stderr] 1408 | |                 });
[INFO] [stderr] 1409 | |             });
[INFO] [stderr]      | |______________^
[INFO] [stderr]      |
[INFO] [stderr]      = note: dropping a JoinHandle detaches the task — await it or call .abort()
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]      |
[INFO] [stderr] 1405 |             let _ = spawn_slab(async move {
[INFO] [stderr]      |             +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `task::JoinHandle` that must be used
[INFO] [stderr]     --> nexus-async-rt/src/runtime.rs:1433:13
[INFO] [stderr]      |
[INFO] [stderr] 1433 | /             claim.spawn(async move {
[INFO] [stderr] 1434 | |                 crate::context::with_world(|world| {
[INFO] [stderr] 1435 | |                     world.resource_mut::<Out>().0 = 55;
[INFO] [stderr] 1436 | |                 });
[INFO] [stderr] 1437 | |             });
[INFO] [stderr]      | |______________^
[INFO] [stderr]      |
[INFO] [stderr]      = note: dropping a JoinHandle detaches the task — await it or call .abort()
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]      |
[INFO] [stderr] 1433 |             let _ = claim.spawn(async move {
[INFO] [stderr]      |             +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `task::JoinHandle` that must be used
[INFO] [stderr]     --> nexus-async-rt/src/runtime.rs:1460:13
[INFO] [stderr]      |
[INFO] [stderr] 1460 |             claim.spawn(async {});
[INFO] [stderr]      |             ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]      |
[INFO] [stderr]      = note: dropping a JoinHandle detaches the task — await it or call .abort()
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]      |
[INFO] [stderr] 1460 |             let _ = claim.spawn(async {});
[INFO] [stderr]      |             +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `task::JoinHandle` that must be used
[INFO] [stderr]     --> nexus-async-rt/src/runtime.rs:1491:13
[INFO] [stderr]      |
[INFO] [stderr] 1491 | /             spawn_boxed(async move {
[INFO] [stderr] 1492 | |                 crate::context::with_world(|world| {
[INFO] [stderr] 1493 | |                     world.resource_mut::<Out>().0 += 10;
[INFO] [stderr] 1494 | |                 });
[INFO] [stderr] 1495 | |             });
[INFO] [stderr]      | |______________^
[INFO] [stderr]      |
[INFO] [stderr]      = note: dropping a JoinHandle detaches the task — await it or call .abort()
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]      |
[INFO] [stderr] 1491 |             let _ = spawn_boxed(async move {
[INFO] [stderr]      |             +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `task::JoinHandle` that must be used
[INFO] [stderr]     --> nexus-async-rt/src/runtime.rs:1498:13
[INFO] [stderr]      |
[INFO] [stderr] 1498 | /             claim.spawn(async move {
[INFO] [stderr] 1499 | |                 crate::context::with_world(|world| {
[INFO] [stderr] 1500 | |                     world.resource_mut::<Out>().0 += 20;
[INFO] [stderr] 1501 | |                 });
[INFO] [stderr] 1502 | |             });
[INFO] [stderr]      | |______________^
[INFO] [stderr]      |
[INFO] [stderr]      = note: dropping a JoinHandle detaches the task — await it or call .abort()
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]      |
[INFO] [stderr] 1498 |             let _ = claim.spawn(async move {
[INFO] [stderr]      |             +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `task::JoinHandle` that must be used
[INFO] [stderr]     --> nexus-async-rt/src/runtime.rs:1548:13
[INFO] [stderr]      |
[INFO] [stderr] 1548 | /             spawn_boxed(async move {
[INFO] [stderr] 1549 | |                 crate::context::sleep(Duration::from_millis(50)).await;
[INFO] [stderr] 1550 | |                 crate::context::with_world(|world| {
[INFO] [stderr] 1551 | |                     world.resource_mut::<Out>().0 = 42;
[INFO] [stderr] 1552 | |                 });
[INFO] [stderr] 1553 | |             });
[INFO] [stderr]      | |______________^
[INFO] [stderr]      |
[INFO] [stderr]      = note: dropping a JoinHandle detaches the task — await it or call .abort()
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]      |
[INFO] [stderr] 1548 |             let _ = spawn_boxed(async move {
[INFO] [stderr]      |             +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `task::JoinHandle` that must be used
[INFO] [stderr]     --> nexus-async-rt/src/runtime.rs:1666:13
[INFO] [stderr]      |
[INFO] [stderr] 1666 | /             spawn_boxed(async move {
[INFO] [stderr] 1667 | |                 crate::context::with_world(|world| {
[INFO] [stderr] 1668 | |                     world.resource_mut::<Out>().0 = 99;
[INFO] [stderr] 1669 | |                 });
[INFO] [stderr] 1670 | |             });
[INFO] [stderr]      | |______________^
[INFO] [stderr]      |
[INFO] [stderr]      = note: dropping a JoinHandle detaches the task — await it or call .abort()
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]      |
[INFO] [stderr] 1666 |             let _ = spawn_boxed(async move {
[INFO] [stderr]      |             +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `task::JoinHandle` that must be used
[INFO] [stderr]    --> nexus-async-rt/src/shutdown.rs:208:13
[INFO] [stderr]     |
[INFO] [stderr] 208 | /             spawn_boxed(async move {
[INFO] [stderr] 209 | |                 crate::context::sleep(std::time::Duration::from_millis(50)).await;
[INFO] [stderr] 210 | |                 sh.trigger();
[INFO] [stderr] 211 | |             });
[INFO] [stderr]     | |______________^
[INFO] [stderr]     |
[INFO] [stderr]     = note: dropping a JoinHandle detaches the task — await it or call .abort()
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 208 |             let _ = spawn_boxed(async move {
[INFO] [stderr]     |             +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `task::JoinHandle` that must be used
[INFO] [stderr]    --> nexus-async-rt/src/world_ctx.rs:131:9
[INFO] [stderr]     |
[INFO] [stderr] 131 | /         executor.spawn_boxed(async move {
[INFO] [stderr] 132 | |             ctx.with_world(|world| {
[INFO] [stderr] 133 | |                 let v = world.resource::<Val>().0;
[INFO] [stderr] 134 | |                 world.resource_mut::<Out>().0 = v + 10;
[INFO] [stderr] 135 | |             });
[INFO] [stderr] 136 | |         });
[INFO] [stderr]     | |__________^
[INFO] [stderr]     |
[INFO] [stderr]     = note: dropping a JoinHandle detaches the task — await it or call .abort()
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 131 |         let _ = executor.spawn_boxed(async move {
[INFO] [stderr]     |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `task::JoinHandle` that must be used
[INFO] [stderr]    --> nexus-async-rt/src/world_ctx.rs:155:9
[INFO] [stderr]     |
[INFO] [stderr] 155 | /         executor.spawn_boxed(async move {
[INFO] [stderr] 156 | |             let v = ctx.with_world_ref(|world| world.resource::<Val>().0);
[INFO] [stderr] 157 | |             // SAFETY: test-only, single-threaded, Cell is alive.
[INFO] [stderr] 158 | |             unsafe { &*result_ptr }.set(v);
[INFO] [stderr] 159 | |         });
[INFO] [stderr]     | |__________^
[INFO] [stderr]     |
[INFO] [stderr]     = note: dropping a JoinHandle detaches the task — await it or call .abort()
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 155 |         let _ = executor.spawn_boxed(async move {
[INFO] [stderr]     |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `task::JoinHandle` that must be used
[INFO] [stderr]    --> nexus-async-rt/src/world_ctx.rs:182:9
[INFO] [stderr]     |
[INFO] [stderr] 182 | /         executor.spawn_boxed(async move {
[INFO] [stderr] 183 | |             ctx.with_world(|world| handler.run(world, 10));
[INFO] [stderr] 184 | |         });
[INFO] [stderr]     | |__________^
[INFO] [stderr]     |
[INFO] [stderr]     = note: dropping a JoinHandle detaches the task — await it or call .abort()
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 182 |         let _ = executor.spawn_boxed(async move {
[INFO] [stderr]     |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `task::JoinHandle` that must be used
[INFO] [stderr]    --> nexus-async-rt/src/world_ctx.rs:203:9
[INFO] [stderr]     |
[INFO] [stderr] 203 | /         executor.spawn_boxed(async move {
[INFO] [stderr] 204 | |             let v = ctx.with_world(|world| world.resource::<Val>().0 * 6);
[INFO] [stderr] 205 | |             // SAFETY: test-only, single-threaded, Cell is alive.
[INFO] [stderr] 206 | |             unsafe { &*result_ptr }.set(v);
[INFO] [stderr] 207 | |         });
[INFO] [stderr]     | |__________^
[INFO] [stderr]     |
[INFO] [stderr]     = note: dropping a JoinHandle detaches the task — await it or call .abort()
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 203 |         let _ = executor.spawn_boxed(async move {
[INFO] [stderr]     |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `task::JoinHandle` that must be used
[INFO] [stderr]    --> nexus-async-rt/src/world_ctx.rs:226:13
[INFO] [stderr]     |
[INFO] [stderr] 226 | /             executor.spawn_boxed(async move {
[INFO] [stderr] 227 | |                 ctx.with_world(|world| {
[INFO] [stderr] 228 | |                     world.resource_mut::<Out>().0 += i;
[INFO] [stderr] 229 | |                 });
[INFO] [stderr] 230 | |             });
[INFO] [stderr]     | |______________^
[INFO] [stderr]     |
[INFO] [stderr]     = note: dropping a JoinHandle detaches the task — await it or call .abort()
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 226 |             let _ = executor.spawn_boxed(async move {
[INFO] [stderr]     |             +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `task::JoinHandle` that must be used
[INFO] [stderr]    --> nexus-async-rt/src/lib.rs:840:9
[INFO] [stderr]     |
[INFO] [stderr] 840 | /         exec.spawn_boxed(async move {
[INFO] [stderr] 841 | |             // SAFETY: single-threaded, flag lives on stack.
[INFO] [stderr] 842 | |             unsafe { *flag = true };
[INFO] [stderr] 843 | |         });
[INFO] [stderr]     | |__________^
[INFO] [stderr]     |
[INFO] [stderr]     = note: dropping a JoinHandle detaches the task — await it or call .abort()
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 840 |         let _ = exec.spawn_boxed(async move {
[INFO] [stderr]     |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `task::JoinHandle` that must be used
[INFO] [stderr]    --> nexus-async-rt/src/lib.rs:857:13
[INFO] [stderr]     |
[INFO] [stderr] 857 |             exec.spawn_boxed(async {});
[INFO] [stderr]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: dropping a JoinHandle detaches the task — await it or call .abort()
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 857 |             let _ = exec.spawn_boxed(async {});
[INFO] [stderr]     |             +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `task::JoinHandle` that must be used
[INFO] [stderr]    --> nexus-async-rt/src/lib.rs:875:9
[INFO] [stderr]     |
[INFO] [stderr] 875 |         exec.spawn_boxed(std::future::pending::<()>());
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: dropping a JoinHandle detaches the task — await it or call .abort()
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 875 |         let _ = exec.spawn_boxed(std::future::pending::<()>());
[INFO] [stderr]     |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `task::JoinHandle` that must be used
[INFO] [stderr]    --> nexus-async-rt/src/lib.rs:890:9
[INFO] [stderr]     |
[INFO] [stderr] 890 | /         exec.spawn_boxed(async {
[INFO] [stderr] 891 | |             // Immediately ready.
[INFO] [stderr] 892 | |         });
[INFO] [stderr]     | |__________^
[INFO] [stderr]     |
[INFO] [stderr]     = note: dropping a JoinHandle detaches the task — await it or call .abort()
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 890 |         let _ = exec.spawn_boxed(async {
[INFO] [stderr]     |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `task::JoinHandle` that must be used
[INFO] [stderr]    --> nexus-async-rt/src/lib.rs:913:9
[INFO] [stderr]     |
[INFO] [stderr] 913 | /         exec.spawn_boxed(async move {
[INFO] [stderr] 914 | |             struct SelfWake {
[INFO] [stderr] 915 | |                 counter: Rc<Cell<u32>>,
[INFO] [stderr] ...   |
[INFO] [stderr] 930 | |             SelfWake { counter: c }.await;
[INFO] [stderr] 931 | |         });
[INFO] [stderr]     | |__________^
[INFO] [stderr]     |
[INFO] [stderr]     = note: dropping a JoinHandle detaches the task — await it or call .abort()
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 913 |         let _ = exec.spawn_boxed(async move {
[INFO] [stderr]     |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused return value of `task::JoinHandle::<T>::abort` that must be used
[INFO] [stderr]    --> nexus-async-rt/src/lib.rs:964:9
[INFO] [stderr]     |
[INFO] [stderr] 964 |         handle.abort(); // consumes handle
[INFO] [stderr]     |         ^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: returns whether the task was still running
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 964 |         let _ = handle.abort(); // consumes handle
[INFO] [stderr]     |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `task::JoinHandle` that must be used
[INFO] [stderr]    --> nexus-async-rt/src/lib.rs:969:9
[INFO] [stderr]     |
[INFO] [stderr] 969 |         exec.spawn_boxed(async {});
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: dropping a JoinHandle detaches the task — await it or call .abort()
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 969 |         let _ = exec.spawn_boxed(async {});
[INFO] [stderr]     |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `task::JoinHandle` that must be used
[INFO] [stderr]    --> nexus-async-rt/src/lib.rs:985:13
[INFO] [stderr]     |
[INFO] [stderr] 985 |             exec.spawn_boxed(async {});
[INFO] [stderr]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: dropping a JoinHandle detaches the task — await it or call .abort()
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 985 |             let _ = exec.spawn_boxed(async {});
[INFO] [stderr]     |             +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused return value of `task::JoinHandle::<T>::abort` that must be used
[INFO] [stderr]     --> nexus-async-rt/src/lib.rs:1037:9
[INFO] [stderr]      |
[INFO] [stderr] 1037 |         handle.abort();
[INFO] [stderr]      |         ^^^^^^^^^^^^^^
[INFO] [stderr]      |
[INFO] [stderr]      = note: returns whether the task was still running
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]      |
[INFO] [stderr] 1037 |         let _ = handle.abort();
[INFO] [stderr]      |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `task::JoinHandle` that must be used
[INFO] [stderr]     --> nexus-async-rt/src/lib.rs:1040:9
[INFO] [stderr]      |
[INFO] [stderr] 1040 | /         exec.spawn_boxed(async move {
[INFO] [stderr] 1041 | |             p.set(true);
[INFO] [stderr] 1042 | |         });
[INFO] [stderr]      | |__________^
[INFO] [stderr]      |
[INFO] [stderr]      = note: dropping a JoinHandle detaches the task — await it or call .abort()
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]      |
[INFO] [stderr] 1040 |         let _ = exec.spawn_boxed(async move {
[INFO] [stderr]      |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `task::JoinHandle` that must be used
[INFO] [stderr]     --> nexus-async-rt/src/lib.rs:1063:9
[INFO] [stderr]      |
[INFO] [stderr] 1063 |         exec.spawn_boxed(std::future::pending::<()>());
[INFO] [stderr]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]      |
[INFO] [stderr]      = note: dropping a JoinHandle detaches the task — await it or call .abort()
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]      |
[INFO] [stderr] 1063 |         let _ = exec.spawn_boxed(std::future::pending::<()>());
[INFO] [stderr]      |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `task::JoinHandle` that must be used
[INFO] [stderr]     --> nexus-async-rt/src/lib.rs:1064:9
[INFO] [stderr]      |
[INFO] [stderr] 1064 |         exec.spawn_boxed(std::future::pending::<()>());
[INFO] [stderr]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]      |
[INFO] [stderr]      = note: dropping a JoinHandle detaches the task — await it or call .abort()
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]      |
[INFO] [stderr] 1064 |         let _ = exec.spawn_boxed(std::future::pending::<()>());
[INFO] [stderr]      |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `task::JoinHandle` that must be used
[INFO] [stderr]     --> nexus-async-rt/src/lib.rs:1089:9
[INFO] [stderr]      |
[INFO] [stderr] 1089 |         exec.spawn_boxed(Noop);
[INFO] [stderr]      |         ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]      |
[INFO] [stderr]      = note: dropping a JoinHandle detaches the task — await it or call .abort()
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]      |
[INFO] [stderr] 1089 |         let _ = exec.spawn_boxed(Noop);
[INFO] [stderr]      |         +++++++
[INFO] [stderr] 
[INFO] [stderr] For more information about this error, try `rustc --explain E0133`.
[INFO] [stderr] warning: unused import: `World`
[INFO] [stderr]   --> nexus-rt/tests/miri_tests.rs:11:26
[INFO] [stderr]    |
[INFO] [stderr] 11 | use nexus_rt::{Resource, World, WorldBuilder};
[INFO] [stderr]    |                          ^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: struct `DropTracker` is never constructed
[INFO] [stderr]   --> nexus-rt/tests/miri_tests.rs:28:8
[INFO] [stderr]    |
[INFO] [stderr] 28 | struct DropTracker(#[allow(dead_code)] u64);
[INFO] [stderr]    |        ^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: field `0` is never read
[INFO] [stderr]    --> nexus-rt/tests/miri_tests.rs:182:11
[INFO] [stderr]     |
[INFO] [stderr] 182 | struct R1(u64);
[INFO] [stderr]     |        -- ^^^
[INFO] [stderr]     |        |
[INFO] [stderr]     |        field in this struct
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider removing this field
[INFO] [stderr] 
[INFO] [stderr] warning: field `0` is never read
[INFO] [stderr]    --> nexus-rt/tests/miri_tests.rs:184:11
[INFO] [stderr]     |
[INFO] [stderr] 184 | struct R2(u64);
[INFO] [stderr]     |        -- ^^^
[INFO] [stderr]     |        |
[INFO] [stderr]     |        field in this struct
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider removing this field
[INFO] [stderr] 
[INFO] [stderr] warning: field `0` is never read
[INFO] [stderr]    --> nexus-rt/tests/miri_tests.rs:188:11
[INFO] [stderr]     |
[INFO] [stderr] 188 | struct R4(u64);
[INFO] [stderr]     |        -- ^^^
[INFO] [stderr]     |        |
[INFO] [stderr]     |        field in this struct
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider removing this field
[INFO] [stderr] 
[INFO] [stderr] warning: field `0` is never read
[INFO] [stderr]    --> nexus-rt/tests/miri_tests.rs:190:11
[INFO] [stderr]     |
[INFO] [stderr] 190 | struct R5(u64);
[INFO] [stderr]     |        -- ^^^
[INFO] [stderr]     |        |
[INFO] [stderr]     |        field in this struct
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider removing this field
[INFO] [stderr] 
[INFO] [stderr] warning: field `0` is never read
[INFO] [stderr]    --> nexus-rt/tests/miri_tests.rs:192:11
[INFO] [stderr]     |
[INFO] [stderr] 192 | struct R6(u64);
[INFO] [stderr]     |        -- ^^^
[INFO] [stderr]     |        |
[INFO] [stderr]     |        field in this struct
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider removing this field
[INFO] [stderr] 
[INFO] [stderr] warning: `nexus-async-rt` (lib test) generated 49 warnings (run `cargo fix --lib -p nexus-async-rt --tests` to apply 8 suggestions)
[INFO] [stderr] warning: `nexus-rt` (test "miri_tests") generated 7 warnings (run `cargo fix --test "miri_tests" -p nexus-rt` to apply 1 suggestion)
[INFO] [stderr] warning: unused variable: `t1`
[INFO] [stderr]    --> nexus-notify/src/local.rs:255:13
[INFO] [stderr]     |
[INFO] [stderr] 255 |         let t1 = notify.register();
[INFO] [stderr]     |             ^^ help: if this is intentional, prefix it with an underscore: `_t1`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: `nexus-notify` (lib test) generated 1 warning (run `cargo fix --lib -p nexus-notify --tests` to apply 1 suggestion)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.91s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/nexus_ascii-e3548edb49513aa5)
[INFO] [stdout] 
[INFO] [stdout] running 683 tests
[INFO] [stdout] test builder::tests::test_build_empty ... ok
[INFO] [stdout] test builder::tests::test_build_hash_correct ... ok
[INFO] [stdout] test builder::tests::test_build ... ok
[INFO] [stdout] test builder::tests::test_capacity_exhausted ... ok
[INFO] [stdout] test builder::tests::test_clear ... ok
[INFO] [stdout] test builder::tests::test_debug ... ok
[INFO] [stdout] test builder::tests::test_clone ... ok
[INFO] [stdout] test builder::tests::test_default ... ok
[INFO] [stdout] test builder::tests::test_display ... ok
[INFO] [stdout] test builder::tests::test_from_ascii_string ... ok
[INFO] [stdout] test builder::tests::test_new_empty ... ok
[INFO] [stdout] test builder::tests::test_push_ascii_str ... ok
[INFO] [stdout] test builder::tests::test_push_ascii_string ... ok
[INFO] [stdout] test builder::tests::test_push_byte ... ok
[INFO] [stdout] test builder::tests::test_push_byte_invalid ... ok
[INFO] [stdout] test builder::tests::test_push_bytes ... ok
[INFO] [stdout] test builder::tests::test_push_bytes_unchecked ... ok
[INFO] [stdout] test builder::tests::test_push_char ... ok
[INFO] [stdout] test builder::tests::test_push_raw ... ok
[INFO] [stdout] test builder::tests::test_push_raw_full_buffer ... ok
[INFO] [stdout] test builder::tests::test_push_raw_unchecked ... ok
[INFO] [stdout] test builder::tests::test_push_str ... ok
[INFO] [stdout] test builder::tests::test_push_str_too_long ... ok
[INFO] [stdout] test builder::tests::test_truncate ... ok
[INFO] [stdout] test builder::tests::test_truncate_noop ... ok
[INFO] [stdout] test char::tests::as_char_roundtrip ... ok
[INFO] [stdout] test char::tests::as_u8_roundtrip ... ok
[INFO] [stdout] test char::tests::control_char_constants ... ok
[INFO] [stdout] test char::tests::debug_control ... ok
[INFO] [stdout] test char::tests::debug_printable ... ok
[INFO] [stdout] test char::tests::default_is_null ... ok
[INFO] [stdout] test char::tests::digit_constants ... ok
[INFO] [stdout] test char::tests::display ... ok
[INFO] [stdout] test char::tests::eq_ignore_case ... ok
[INFO] [stdout] test char::tests::error_display_byte ... ok
[INFO] [stdout] test char::tests::error_display_unicode ... ok
[INFO] [stdout] test char::tests::from_char_invalid ... ok
[INFO] [stdout] test char::tests::from_char_valid ... ok
[INFO] [stdout] test char::tests::from_traits ... ok
[INFO] [stdout] test char::tests::hash_works ... ok
[INFO] [stdout] test char::tests::is_alphabetic ... ok
[INFO] [stdout] test char::tests::is_alphanumeric ... ok
[INFO] [stdout] test char::tests::is_control ... ok
[INFO] [stdout] test char::tests::is_digit ... ok
[INFO] [stdout] test char::tests::is_hex_digit ... ok
[INFO] [stdout] test char::tests::is_lowercase ... ok
[INFO] [stdout] test char::tests::is_printable ... ok
[INFO] [stdout] test char::tests::is_uppercase ... ok
[INFO] [stdout] test char::tests::is_whitespace ... ok
[INFO] [stdout] test char::tests::letter_constants ... ok
[INFO] [stdout] test char::tests::new_unchecked_valid ... ok
[INFO] [stdout] test char::tests::ordering ... ok
[INFO] [stdout] test char::tests::printable_constants ... ok
[INFO] [stdout] test char::tests::to_lowercase ... ok
[INFO] [stdout] test char::tests::to_uppercase ... ok
[INFO] [stdout] test char::tests::try_from_traits ... ok
[INFO] [stdout] test char::tests::try_new_invalid ... ok
[INFO] [stdout] test char::tests::try_new_valid ... ok
[INFO] [stdout] test flat_string::tests::as_raw_mut_write ... ok
[INFO] [stdout] test flat_string::tests::capacity ... ok
[INFO] [stdout] test flat_string::tests::classification ... ok
[INFO] [stdout] test flat_string::tests::contains_empty_pattern ... ok
[INFO] [stdout] test flat_string::tests::debug ... ok
[INFO] [stdout] test flat_string::tests::default_is_empty ... ok
[INFO] [stdout] test flat_string::tests::deref_to_ascii_str ... ok
[INFO] [stdout] test flat_string::tests::display ... ok
[INFO] [stdout] test flat_string::tests::empty_string ... ok
[INFO] [stdout] test flat_string::tests::eq_ignore_ascii_case ... ok
[INFO] [stdout] test flat_string::tests::find_and_contains ... ok
[INFO] [stdout] test flat_string::tests::flat_string_cap12_full_fill ... ok
[INFO] [stdout] test flat_string::tests::flat_string_cap1_empty ... ok
[INFO] [stdout] test flat_string::tests::flat_string_cap1_eq_and_cmp ... ok
[INFO] [stdout] test flat_string::tests::flat_string_cap1_from_static ... ok
[INFO] [stdout] test flat_string::tests::flat_string_cap1_full_fill ... ok
[INFO] [stdout] test flat_string::tests::flat_string_cap1_too_long ... ok
[INFO] [stdout] test flat_string::tests::flat_string_cap3_full_fill ... ok
[INFO] [stdout] test flat_string::tests::flat_string_cap3_partial_fill ... ok
[INFO] [stdout] test flat_string::tests::flat_string_cap4_as_raw_mut ... ok
[INFO] [stdout] test flat_string::tests::flat_string_cap4_display ... ok
[INFO] [stdout] test flat_string::tests::flat_string_cap4_empty ... ok
[INFO] [stdout] test flat_string::tests::flat_string_cap4_eq_and_cmp ... ok
[INFO] [stdout] test flat_string::tests::flat_string_cap4_from_static ... ok
[INFO] [stdout] test flat_string::tests::flat_string_cap4_hashmap ... ok
[INFO] [stdout] test flat_string::tests::flat_string_cap4_partial_fill ... ok
[INFO] [stdout] test flat_string::tests::flat_string_cap4_too_long ... ok
[INFO] [stdout] test flat_string::tests::flat_string_cap4_widen_to_8 ... ok
[INFO] [stdout] test flat_string::tests::flat_string_cap8_tighten_to_4 ... ok
[INFO] [stdout] test flat_string::tests::flat_string_cap8_tighten_to_4_too_long ... ok
[INFO] [stdout] test flat_string::tests::flat_string_tighten_cap12_full_to_cap4 ... ok
[INFO] [stdout] test flat_string::tests::flat_string_tighten_cap12_to_cap4 ... ok
[INFO] [stdout] test flat_string::tests::flat_string_tighten_cap12_too_long_to_cap4 ... ok
[INFO] [stdout] test flat_string::tests::flat_string_tighten_cap7_to_cap3 ... ok
[INFO] [stdout] test flat_string::tests::flat_string_widen_cap3_to_cap7 ... ok
[INFO] [stdout] test flat_string::tests::flat_string_widen_cap4_full_to_cap12 ... ok
[INFO] [stdout] test flat_string::tests::flat_string_widen_cap4_to_cap12 ... ok
[INFO] [stdout] test flat_string::tests::from_bytes ... ok
[INFO] [stdout] test flat_string::tests::from_static_bytes_const ... ok
[INFO] [stdout] test flat_string::tests::from_static_const ... ok
[INFO] [stdout] test flat_string::tests::from_str ... ok
[INFO] [stdout] test flat_string::tests::from_str_invalid ... ok
[INFO] [stdout] test flat_string::tests::from_str_parse ... ok
[INFO] [stdout] test flat_string::tests::full_buffer_no_null ... ok
[INFO] [stdout] test flat_string::tests::get_first_last ... ok
[INFO] [stdout] test flat_string::tests::index_range ... ok
[INFO] [stdout] test flat_string::tests::index_usize ... ok
[INFO] [stdout] test flat_string::tests::invalid_ascii ... ok
[INFO] [stdout] test flat_string::tests::null_termination ... ok
[INFO] [stdout] test flat_string::tests::replace_first ... ok
[INFO] [stdout] test flat_string::tests::replace_first_byte ... ok
[INFO] [stdout] test flat_string::tests::replace_first_char ... ok
[INFO] [stdout] test flat_string::tests::replace_first_only_first ... ok
[INFO] [stdout] test flat_string::tests::replaced ... ok
[INFO] [stdout] test flat_string::tests::replaced_byte ... ok
[INFO] [stdout] test flat_string::tests::replaced_char ... ok
[INFO] [stdout] test flat_string::tests::replaced_empty_from_is_noop ... ok
[INFO] [stdout] test flat_string::tests::split ... ok
[INFO] [stdout] test flat_string::tests::split_once ... ok
[INFO] [stdout] test flat_string::tests::strip_prefix_suffix ... ok
[INFO] [stdout] test flat_string::tests::tighten ... ok
[INFO] [stdout] test flat_string::tests::tighten_too_long ... ok
[INFO] [stdout] test flat_string::tests::too_long ... ok
[INFO] [stdout] test flat_string::tests::trimmed ... ok
[INFO] [stdout] test flat_string::tests::truncated ... ok
[INFO] [stdout] test flat_string::tests::try_from_bytes_rejects_embedded_null ... ok
[INFO] [stdout] test flat_string::tests::to_ascii_string_promotion ... ok
[INFO] [stdout] test flat_string::tests::try_from_bytes_rejects_leading_null ... ok
[INFO] [stdout] test flat_string::tests::try_from_null_terminated ... ok
[INFO] [stdout] test flat_string::tests::try_from_null_terminated_full_buffer ... ok
[INFO] [stdout] test flat_string::tests::try_from_null_terminated_too_long ... ok
[INFO] [stdout] test flat_string::tests::try_from_raw ... ok
[INFO] [stdout] test flat_string::tests::try_from_raw_invalid ... ok
[INFO] [stdout] test flat_string::tests::try_from_raw_rejects_non_ascii_before_null ... ok
[INFO] [stdout] test flat_string::tests::try_from_raw_ref ... ok
[INFO] [stdout] test flat_string::tests::try_from_raw_zero_fills_after_null ... ok
[INFO] [stdout] test flat_string::tests::try_from_right_padded ... ok
[INFO] [stdout] test flat_string::tests::uppercase_lowercase ... ok
[INFO] [stdout] test flat_string::tests::widen ... ok
[INFO] [stdout] test flat_text::tests::classification_via_deref ... ok
[INFO] [stdout] test flat_text::tests::debug ... ok
[INFO] [stdout] test flat_text::tests::default_is_empty ... ok
[INFO] [stdout] test flat_text::tests::deref_to_flat_ascii_string ... ok
[INFO] [stdout] test flat_text::tests::display ... ok
[INFO] [stdout] test flat_text::tests::empty_text ... ok
[INFO] [stdout] test flat_text::tests::flat_text_cap4_from_static ... ok
[INFO] [stdout] test flat_text::tests::flat_text_cap4_empty ... ok
[INFO] [stdout] test flat_text::tests::flat_text_cap4_try_from_partial ... ok
[INFO] [stdout] test flat_text::tests::from_static_bytes_const ... ok
[INFO] [stdout] test flat_text::tests::from_static_const ... ok
[INFO] [stdout] test flat_text::tests::from_str_non_printable ... ok
[INFO] [stdout] test flat_text::tests::from_str_parse ... ok
[INFO] [stdout] test flat_text::tests::from_str_printable ... ok
[INFO] [stdout] test flat_text::tests::index_range_returns_text_str ... ok
[INFO] [stdout] test flat_text::tests::into_flat_ascii_string ... ok
[INFO] [stdout] test flat_text::tests::rejects_control_chars ... ok
[INFO] [stdout] test flat_text::tests::rejects_null_in_content ... ok
[INFO] [stdout] test flat_text::tests::replace_first_char_checked ... ok
[INFO] [stdout] test flat_text::tests::replace_first_char_rejects_non_printable ... ok
[INFO] [stdout] test flat_text::tests::replaced_char_checked ... ok
[INFO] [stdout] test flat_text::tests::replaced_char_rejects_non_printable ... ok
[INFO] [stdout] test flat_text::tests::replaced_char_unchecked ... ok
[INFO] [stdout] test flat_text::tests::split_once_text ... ok
[INFO] [stdout] test flat_text::tests::to_ascii_text_promotion ... ok
[INFO] [stdout] test flat_text::tests::try_from_flat_ascii_string ... ok
[INFO] [stdout] test flat_text::tests::try_from_flat_ascii_string_trait ... ok
[INFO] [stdout] test flat_text::tests::try_from_flat_ascii_string_with_control ... ok
[INFO] [stdout] test flat_text::tests::try_from_null_terminated_full_buffer ... ok
[INFO] [stdout] test flat_text::tests::try_from_null_terminated_printable ... ok
[INFO] [stdout] test flat_text::tests::try_from_null_terminated_rejects_control ... ok
[INFO] [stdout] test flat_text::tests::try_from_raw_buffer ... ok
[INFO] [stdout] test flat_text::tests::try_from_right_padded ... ok
[INFO] [stdout] test hash::tests::hash_const_matches_runtime_dispatch ... ok
[INFO] [stdout] test hash::tests::hash_const_usable_in_const_context ... ok
[INFO] [stdout] test hash::tests::hash_deterministic ... ok
[INFO] [stdout] test hash::tests::hash_different_inputs ... ok
[INFO] [stdout] test hash::xxh3::tests::bounded_matches_unbounded_cap_128 ... ok
[INFO] [stdout] test hash::tests::hash_matches_scalar ... ok
[INFO] [stdout] test hash::xxh3::tests::bounded_matches_unbounded_cap_16 ... ok
[INFO] [stdout] test hash::tests::hash_with_seed_works ... ok
[INFO] [stdout] test hash::tests::truncate_roundtrip ... ok
[INFO] [stdout] test hash::tests::truncate_upper_captures_high_bits ... ok
[INFO] [stdout] test hash::xxh3::tests::bounded_matches_unbounded_cap_32 ... ok
[INFO] [stdout] test hash::xxh3::tests::bounded_matches_unbounded_cap_8 ... ok
[INFO] [stdout] test hash::xxh3::tests::bounded_matches_unbounded_cap_large ... ok
[INFO] [stdout] test hash::xxh3::tests::bounded_with_seed ... ok
[INFO] [stdout] test hash::xxh3::tests::const_can_be_used_in_const_context ... ok
[INFO] [stdout] test hash::xxh3::tests::const_matches_runtime_33to64_bytes ... ok
[INFO] [stdout] test hash::xxh3::tests::const_matches_runtime_4to8_bytes ... ok
[INFO] [stdout] test hash::xxh3::tests::const_matches_runtime_97to128_bytes ... ok
[INFO] [stdout] test hash::xxh3::tests::const_matches_runtime_65to96_bytes ... ok
[INFO] [stdout] test hash::xxh3::tests::bounded_matches_unbounded_cap_240 ... ok
[INFO] [stdout] test hash::xxh3::tests::const_hash_no_seed_helper ... ok
[INFO] [stdout] test hash::xxh3::tests::const_matches_runtime_bit_patterns ... ok
[INFO] [stdout] test hash::xxh3::tests::const_matches_runtime_17to32_bytes ... ok
[INFO] [stdout] test hash::xxh3::tests::const_matches_runtime_9to16_bytes ... ok
[INFO] [stdout] test hash::xxh3::tests::const_matches_runtime_edge_cases ... ok
[INFO] [stdout] test hash::xxh3::tests::const_matches_runtime_empty ... ok
[INFO] [stdout] test hash::xxh3::tests::const_matches_runtime_boundary_lengths ... ok
[INFO] [stdout] test hash::xxh3::tests::const_matches_runtime_all_lengths_0_to_128 ... ok
[INFO] [stdout] test hash::xxh3::tests::const_matches_runtime_1to3_bytes ... ok
[INFO] [stdout] test hash::xxh3::tests::const_matches_runtime_content_diversity ... ok
[INFO] [stdout] test hash::xxh3::tests::const_matches_runtime_exhaustive_1_byte ... ok
[INFO] [stdout] test hash::xxh3::tests::const_matches_runtime_incrementing_patterns ... ok
[INFO] [stdout] test hash::xxh3::tests::const_matches_runtime_one_byte_difference ... ok
[INFO] [stdout] test hash::xxh3::tests::const_matches_runtime_exhaustive_3_bytes_sampled ... ok
[INFO] [stdout] test hash::xxh3::tests::const_matches_runtime_realistic_strings ... ok
[INFO] [stdout] test hash::xxh3::tests::const_matches_runtime_with_various_seeds ... ok
[INFO] [stdout] test hash::xxh3::tests::deterministic ... ok
[INFO] [stdout] test hash::xxh3::tests::different_inputs_different_hashes ... ok
[INFO] [stdout] test hash::xxh3::tests::empty ... ok
[INFO] [stdout] test hash::xxh3::tests::seed_affects_hash ... ok
[INFO] [stdout] test hash::xxh3::tests::various_lengths ... ok
[INFO] [stdout] test hash::xxh3_sse2::tests::deterministic ... ok
[INFO] [stdout] test hash::xxh3_sse2::tests::large_input ... ok
[INFO] [stdout] test hash::xxh3_sse2::tests::matches_scalar_large ... ok
[INFO] [stdout] test hash::xxh3_sse2::tests::matches_scalar_small ... ok
[INFO] [stdout] test hash::xxh3::tests::const_matches_runtime_exhaustive_2_bytes ... ok
[INFO] [stdout] test simd::scalar::tests::test_case_conversion_all_ascii ... ok
[INFO] [stdout] test simd::scalar::tests::test_contains_control_chars_boundary_bytes ... ok
[INFO] [stdout] test simd::scalar::tests::test_contains_control_chars_exhaustive_single_byte ... ok
[INFO] [stdout] test simd::scalar::tests::test_contains_control_chars_found ... ok
[INFO] [stdout] test simd::scalar::tests::test_contains_control_chars_long ... ok
[INFO] [stdout] test simd::scalar::tests::test_contains_control_chars_none ... ok
[INFO] [stdout] test simd::scalar::tests::test_eq_ignore_ascii_case_boundary_letters ... ok
[INFO] [stdout] test simd::scalar::tests::test_eq_ignore_ascii_case_different ... ok
[INFO] [stdout] test simd::scalar::tests::test_eq_ignore_ascii_case_different_case ... ok
[INFO] [stdout] test simd::scalar::tests::test_eq_ignore_ascii_case_equal ... ok
[INFO] [stdout] test simd::scalar::tests::test_eq_ignore_ascii_case_exhaustive_lengths ... ok
[INFO] [stdout] test simd::scalar::tests::test_eq_ignore_ascii_case_exhaustive_single_byte ... ok
[INFO] [stdout] test simd::scalar::tests::test_eq_ignore_ascii_case_long_strings ... ok
[INFO] [stdout] test simd::scalar::tests::test_eq_ignore_ascii_case_non_letter_0x20_diff ... ok
[INFO] [stdout] test simd::scalar::tests::test_eq_ignore_ascii_case_non_letter_differs_by_0x20 ... ok
[INFO] [stdout] test simd::scalar::tests::test_eq_ignore_ascii_case_with_symbols ... ok
[INFO] [stdout] test simd::scalar::tests::test_has_control_chars_word ... ok
[INFO] [stdout] test simd::scalar::tests::test_has_non_printable_boundaries ... ok
[INFO] [stdout] test simd::scalar::tests::test_is_all_alphanumeric_boundaries ... ok
[INFO] [stdout] test simd::scalar::tests::test_is_all_alphanumeric_exhaustive_lengths ... ok
[INFO] [stdout] test simd::scalar::tests::test_is_all_alphanumeric_exhaustive_single_byte ... ok
[INFO] [stdout] test simd::scalar::tests::test_is_all_alphanumeric_invalid ... ok
[INFO] [stdout] test simd::scalar::tests::test_is_all_alphanumeric_valid ... ok
[INFO] [stdout] test simd::scalar::tests::test_is_all_alphanumeric_with_invalid_at_positions ... ok
[INFO] [stdout] test simd::scalar::tests::test_is_all_numeric_boundaries ... ok
[INFO] [stdout] test simd::scalar::tests::test_is_all_numeric_exhaustive_lengths ... ok
[INFO] [stdout] test simd::scalar::tests::test_is_all_numeric_exhaustive_single_byte ... ok
[INFO] [stdout] test simd::scalar::tests::test_is_all_numeric_invalid ... ok
[INFO] [stdout] test simd::scalar::tests::test_is_all_numeric_valid ... ok
[INFO] [stdout] test simd::scalar::tests::test_is_all_numeric_with_invalid_at_positions ... ok
[INFO] [stdout] test simd::scalar::tests::test_is_all_printable_boundary_bytes ... ok
[INFO] [stdout] test simd::scalar::tests::test_contains_control_chars_exhaustive_positions ... ok
[INFO] [stdout] test simd::scalar::tests::test_is_all_printable_exhaustive_single_byte ... ok
[INFO] [stdout] test simd::scalar::tests::test_is_all_printable_exhaustive_positions ... ok
[INFO] [stdout] test hash::xxh3::tests::const_matches_runtime_random_4_to_8_bytes ... ok
[INFO] [stdout] test simd::scalar::tests::test_is_all_printable_false ... ok
[INFO] [stdout] test simd::scalar::tests::test_is_all_printable_long ... ok
[INFO] [stdout] test simd::scalar::tests::test_is_all_printable_true ... ok
[INFO] [stdout] test simd::scalar::tests::test_make_lowercase ... ok
[INFO] [stdout] test simd::scalar::tests::test_make_uppercase ... ok
[INFO] [stdout] test hash::xxh3::tests::const_matches_runtime_random_with_seeds ... ok
[INFO] [stdout] test simd::scalar::tests::test_to_uppercase_branchless ... ok
[INFO] [stdout] test simd::scalar::tests::test_validate_ascii_valid ... ok
[INFO] [stdout] test simd::scalar::tests::test_validate_printable_invalid ... ok
[INFO] [stdout] test simd::scalar::tests::test_validate_printable_valid ... ok
[INFO] [stdout] test simd::sse2::tests::test_ascii_matches_scalar ... ok
[INFO] [stdout] test simd::scalar::tests::test_to_lowercase_branchless ... ok
[INFO] [stdout] test simd::sse2::tests::test_eq_ignore_case_matches_scalar ... ok
[INFO] [stdout] test simd::scalar::tests::test_validate_ascii_invalid ... ok
[INFO] [stdout] test simd::scalar::tests::test_validate_ascii_null_rejected ... ok
[INFO] [stdout] test simd::sse2::tests::test_eq_ignore_case_exhaustive_single_byte ... ok
[INFO] [stdout] test simd::sse2::tests::test_make_uppercase_all_bytes ... ok
[INFO] [stdout] test simd::sse2::tests::test_make_uppercase_matches_scalar ... ok
[INFO] [stdout] test simd::sse2::tests::test_printable_invalid_matches_scalar ... ok
[INFO] [stdout] test simd::sse2::tests::test_printable_matches_scalar ... ok
[INFO] [stdout] test simd::sse2::tests::test_validate_ascii_all_positions ... ok
[INFO] [stdout] test simd::sse2::tests::test_make_lowercase_matches_scalar ... ok
[INFO] [stdout] test simd::sse2::tests::test_validate_ascii_empty ... ok
[INFO] [stdout] test simd::sse2::tests::test_eq_ignore_case_not_equal ... ok
[INFO] [stdout] test simd::sse2::tests::test_validate_ascii_exact_16 ... ok
[INFO] [stdout] test simd::sse2::tests::test_validate_ascii_invalid_in_first_16 ... ok
[INFO] [stdout] test simd::sse2::tests::test_validate_ascii_invalid_in_remainder ... ok
[INFO] [stdout] test simd::sse2::tests::test_validate_ascii_null_at_various_positions ... ok
[INFO] [stdout] test simd::sse2::tests::test_validate_ascii_over_16 ... ok
[INFO] [stdout] test simd::sse2::tests::test_validate_ascii_short ... ok
[INFO] [stdout] test simd::sse2::tests::test_validate_printable_all_printable_chars ... ok
[INFO] [stdout] test simd::sse2::tests::test_validate_printable_boundary_values ... ok
[INFO] [stdout] test simd::sse2::tests::test_validate_printable_del_rejected ... ok
[INFO] [stdout] test simd::sse2::tests::test_validate_printable_empty ... ok
[INFO] [stdout] test simd::sse2::tests::test_validate_printable_control_rejected ... ok
[INFO] [stdout] test simd::sse2::tests::test_validate_printable_exact_16 ... ok
[INFO] [stdout] test simd::sse2::tests::test_validate_printable_high_ascii_rejected ... ok
[INFO] [stdout] test simd::sse2::tests::test_validate_printable_invalid_in_remainder ... ok
[INFO] [stdout] test simd::sse2::tests::test_validate_printable_invalid_in_simd_chunk ... ok
[INFO] [stdout] test simd::sse2::tests::test_validate_printable_short ... ok
[INFO] [stdout] test simd::tests::validate_ascii_all_valid ... ok
[INFO] [stdout] test simd::tests::validate_ascii_boundary_lengths ... ok
[INFO] [stdout] test simd::tests::validate_ascii_bounded_large_cap ... ok
[INFO] [stdout] test simd::tests::validate_ascii_bounded_matches_unbounded ... ok
[INFO] [stdout] test simd::tests::validate_ascii_bounded_medium_cap ... ok
[INFO] [stdout] test simd::tests::validate_ascii_bounded_small_cap ... ok
[INFO] [stdout] test simd::tests::validate_ascii_empty ... ok
[INFO] [stdout] test simd::tests::validate_ascii_matches_scalar ... ok
[INFO] [stdout] test simd::tests::validate_ascii_null_at_various_positions ... ok
[INFO] [stdout] test simd::tests::validate_ascii_invalid_at_various_positions ... ok
[INFO] [stdout] test simd::tests::validate_ascii_null_rejected ... ok
[INFO] [stdout] test simd::tests::validate_ascii_short_strings ... ok
[INFO] [stdout] test simd::tests::validate_ascii_single_invalid ... ok
[INFO] [stdout] test simd::tests::validate_ascii_single_valid ... ok
[INFO] [stdout] test simd::tests::validate_printable_all_printable ... ok
[INFO] [stdout] test simd::tests::validate_printable_boundary_chars ... ok
[INFO] [stdout] test simd::tests::validate_printable_boundary_lengths ... ok
[INFO] [stdout] test simd::tests::validate_printable_bounded_matches_unbounded ... ok
[INFO] [stdout] test simd::tests::validate_printable_bounded_small_cap ... ok
[INFO] [stdout] test simd::tests::validate_printable_control_chars_rejected ... ok
[INFO] [stdout] test simd::sse2::tests::test_validate_ascii_null_rejected ... ok
[INFO] [stdout] test simd::tests::validate_printable_del_rejected ... ok
[INFO] [stdout] test simd::tests::validate_printable_empty ... ok
[INFO] [stdout] test simd::sse2::tests::test_make_lowercase_all_bytes ... ok
[INFO] [stdout] test simd::tests::validate_printable_high_ascii_rejected ... ok
[INFO] [stdout] test str_ref::tests::as_ref_bytes ... ok
[INFO] [stdout] test str_ref::tests::as_ref_str ... ok
[INFO] [stdout] test str_ref::tests::bytes_iterator ... ok
[INFO] [stdout] test simd::tests::validate_printable_matches_scalar ... ok
[INFO] [stdout] test str_ref::tests::chars_iterator ... ok
[INFO] [stdout] test str_ref::tests::contains ... ok
[INFO] [stdout] test str_ref::tests::cross_type_equality_bytes ... ok
[INFO] [stdout] test str_ref::tests::cross_type_equality_str ... ok
[INFO] [stdout] test str_ref::tests::debug ... ok
[INFO] [stdout] test str_ref::tests::display ... ok
[INFO] [stdout] test str_ref::tests::empty ... ok
[INFO] [stdout] test str_ref::tests::ends_with ... ok
[INFO] [stdout] test str_ref::tests::eq_ignore_ascii_case ... ok
[INFO] [stdout] test str_ref::tests::equality ... ok
[INFO] [stdout] test str_ref::tests::first_and_last ... ok
[INFO] [stdout] test str_ref::tests::from_bytes_unchecked ... ok
[INFO] [stdout] test str_ref::tests::from_str_unchecked ... ok
[INFO] [stdout] test str_ref::tests::get_out_of_bounds ... ok
[INFO] [stdout] test str_ref::tests::get_unchecked_valid ... ok
[INFO] [stdout] test str_ref::tests::get_valid ... ok
[INFO] [stdout] test str_ref::tests::hash_works ... ok
[INFO] [stdout] test str_ref::tests::index ... ok
[INFO] [stdout] test simd::tests::validate_printable_invalid_at_various_positions ... ok
[INFO] [stdout] test str_ref::tests::ordering ... ok
[INFO] [stdout] test str_ref::tests::starts_with ... ok
[INFO] [stdout] test str_ref::tests::try_from_bytes_invalid ... ok
[INFO] [stdout] test str_ref::tests::try_from_str_invalid ... ok
[INFO] [stdout] test str_ref::tests::try_from_str_valid ... ok
[INFO] [stdout] test string::tests::as_ascii_str ... ok
[INFO] [stdout] test string::tests::as_raw_empty ... ok
[INFO] [stdout] test string::tests::as_raw_full_capacity ... ok
[INFO] [stdout] test string::tests::as_raw_returns_full_buffer ... ok
[INFO] [stdout] test string::tests::as_ref_array ... ok
[INFO] [stdout] test string::tests::as_ref_bytes ... ok
[INFO] [stdout] test string::tests::as_ref_str ... ok
[INFO] [stdout] test string::tests::bytes_empty ... ok
[INFO] [stdout] test string::tests::bytes_iterator ... ok
[INFO] [stdout] test string::tests::bytes_matches_as_bytes ... ok
[INFO] [stdout] test string::tests::capacity ... ok
[INFO] [stdout] test string::tests::case_roundtrip ... ok
[INFO] [stdout] test string::tests::chars_count_alphabetic ... ok
[INFO] [stdout] test string::tests::chars_empty ... ok
[INFO] [stdout] test string::tests::chars_iterate_and_transform ... ok
[INFO] [stdout] test string::tests::chars_iterator ... ok
[INFO] [stdout] test string::tests::chars_with_digits ... ok
[INFO] [stdout] test string::tests::contains_at_end ... ok
[INFO] [stdout] test string::tests::contains_at_start ... ok
[INFO] [stdout] test string::tests::contains_bytes ... ok
[INFO] [stdout] test string::tests::contains_empty ... ok
[INFO] [stdout] test string::tests::contains_empty_string ... ok
[INFO] [stdout] test string::tests::contains_full_string ... ok
[INFO] [stdout] test string::tests::contains_in_middle ... ok
[INFO] [stdout] test string::tests::contains_longer_needle ... ok
[INFO] [stdout] test string::tests::contains_single_char ... ok
[INFO] [stdout] test string::tests::contains_str ... ok
[INFO] [stdout] test string::tests::control_characters_allowed ... ok
[INFO] [stdout] test string::tests::copy_semantics ... ok
[INFO] [stdout] test string::tests::cross_type_equality_ascii_str ... ok
[INFO] [stdout] test string::tests::debug ... ok
[INFO] [stdout] test string::tests::default_is_empty ... ok
[INFO] [stdout] test string::tests::deref_method_access ... ok
[INFO] [stdout] test string::tests::deref_to_ascii_str ... ok
[INFO] [stdout] test string::tests::display ... ok
[INFO] [stdout] test string::tests::empty_string ... ok
[INFO] [stdout] test string::tests::ends_with_bytes ... ok
[INFO] [stdout] test string::tests::ends_with_empty ... ok
[INFO] [stdout] test string::tests::ends_with_empty_string ... ok
[INFO] [stdout] test string::tests::ends_with_full_string ... ok
[INFO] [stdout] test string::tests::ends_with_longer_suffix ... ok
[INFO] [stdout] test string::tests::ends_with_str ... ok
[INFO] [stdout] test string::tests::eq_ignore_case_different_case ... ok
[INFO] [stdout] test string::tests::eq_ignore_case_different_lengths ... ok
[INFO] [stdout] test string::tests::eq_ignore_case_different_strings ... ok
[INFO] [stdout] test string::tests::eq_ignore_case_empty ... ok
[INFO] [stdout] test string::tests::eq_ignore_case_same_case ... ok
[INFO] [stdout] test string::tests::eq_ignore_case_with_digits ... ok
[INFO] [stdout] test string::tests::eq_ignore_case_with_symbols ... ok
[INFO] [stdout] test string::tests::equality_different ... ok
[INFO] [stdout] test string::tests::equality_different_length ... ok
[INFO] [stdout] test string::tests::equality_same ... ok
[INFO] [stdout] test string::tests::find_null_byte_unit_tests ... ok
[INFO] [stdout] test string::tests::first_empty ... ok
[INFO] [stdout] test string::tests::first_last_same_for_single ... ok
[INFO] [stdout] test string::tests::first_non_empty ... ok
[INFO] [stdout] test string::tests::first_single_char ... ok
[INFO] [stdout] test string::tests::format_then_parse_roundtrip ... ok
[INFO] [stdout] test string::tests::format_then_parse_roundtrip_negative ... ok
[INFO] [stdout] test string::tests::from_bytes ... ok
[INFO] [stdout] test string::tests::from_i64_min ... ok
[INFO] [stdout] test string::tests::from_i8_negative ... ok
[INFO] [stdout] test string::tests::from_int_too_small_capacity ... ok
[INFO] [stdout] test string::tests::from_raw_unchecked_basic ... ok
[INFO] [stdout] test string::tests::from_raw_unchecked_empty ... ok
[INFO] [stdout] test string::tests::from_raw_unchecked_matches_checked ... ok
[INFO] [stdout] test string::tests::from_raw_unchecked_no_null ... ok
[INFO] [stdout] test str_ref::tests::try_from_bytes_valid ... ok
[INFO] [stdout] test string::tests::from_static_basic ... ok
[INFO] [stdout] test string::tests::from_static_bytes_all_ascii_values ... ok
[INFO] [stdout] test string::tests::from_static_bytes_basic ... ok
[INFO] [stdout] test string::tests::from_static_bytes_empty ... ok
[INFO] [stdout] test string::tests::from_static_bytes_fix_delimiter ... ok
[INFO] [stdout] test string::tests::from_static_bytes_matches_from_static_str ... ok
[INFO] [stdout] test string::tests::from_static_bytes_in_hashmap ... ok
[INFO] [stdout] test string::tests::from_static_bytes_various_lengths ... ok
[INFO] [stdout] test string::tests::from_static_bytes_with_control_chars ... ok
[INFO] [stdout] test string::tests::from_static_bytes_matches_runtime ... ok
[INFO] [stdout] test string::tests::from_static_empty ... ok
[INFO] [stdout] test string::tests::from_static_full_capacity ... ok
[INFO] [stdout] test string::tests::from_static_equality_with_runtime ... ok
[INFO] [stdout] test string::tests::from_static_hash_matches_runtime ... ok
[INFO] [stdout] test string::tests::from_static_matches_runtime ... ok
[INFO] [stdout] test string::tests::from_static_in_hashmap ... ok
[INFO] [stdout] test string::tests::from_static_various_lengths ... ok
[INFO] [stdout] test string::tests::from_static_realistic_identifiers ... ok
[INFO] [stdout] test string::tests::from_static_with_digits ... ok
[INFO] [stdout] test string::tests::from_static_with_symbols ... ok
[INFO] [stdout] test string::tests::from_str ... ok
[INFO] [stdout] test string::tests::from_str_parse ... ok
[INFO] [stdout] test string::tests::from_str_invalid ... ok
[INFO] [stdout] test string::tests::from_str_too_long ... ok
[INFO] [stdout] test string::tests::from_str_unchecked_basic ... ok
[INFO] [stdout] test string::tests::from_str_unchecked_empty ... ok
[INFO] [stdout] test string::tests::from_str_unchecked_matches_checked ... ok
[INFO] [stdout] test string::tests::from_u64_large ... ok
[INFO] [stdout] test string::tests::from_u8_basic ... ok
[INFO] [stdout] test string::tests::from_u8_zero ... ok
[INFO] [stdout] test string::tests::get_empty_string ... ok
[INFO] [stdout] test string::tests::full_capacity ... ok
[INFO] [stdout] test string::tests::get_out_of_bounds ... ok
[INFO] [stdout] test string::tests::get_unchecked_valid ... ok
[INFO] [stdout] test string::tests::get_valid_index ... ok
[INFO] [stdout] test string::tests::hash_in_hashmap ... ok
[INFO] [stdout] test string::tests::hash_consistency ... ok
[INFO] [stdout] test string::tests::function_accepting_ascii_str ... ok
[INFO] [stdout] test string::tests::index_matches_get ... ok
[INFO] [stdout] test string::tests::index_valid ... ok
[INFO] [stdout] test string::tests::into_raw_basic ... ok
[INFO] [stdout] test string::tests::into_raw_empty ... ok
[INFO] [stdout] test string::tests::into_raw_full_capacity ... ok
[INFO] [stdout] test string::tests::into_raw_roundtrip ... ok
[INFO] [stdout] test string::tests::invalid_ascii ... ok
[INFO] [stdout] test string::tests::is_alphanumeric_empty ... ok
[INFO] [stdout] test string::tests::is_alphanumeric_false ... ok
[INFO] [stdout] test string::tests::is_alphanumeric_true ... ok
[INFO] [stdout] test string::tests::is_numeric_empty ... ok
[INFO] [stdout] test string::tests::is_numeric_false ... ok
[INFO] [stdout] test string::tests::is_numeric_true ... ok
[INFO] [stdout] test string::tests::last_empty ... ok
[INFO] [stdout] test string::tests::last_non_empty ... ok
[INFO] [stdout] test string::tests::last_single_char ... ok
[INFO] [stdout] test string::tests::ord_case_sensitive ... ok
[INFO] [stdout] test string::tests::ord_digits_before_letters ... ok
[INFO] [stdout] test string::tests::ord_equal_strings ... ok
[INFO] [stdout] test string::tests::ord_greater_than ... ok
[INFO] [stdout] test string::tests::ord_less_than ... ok
[INFO] [stdout] test string::tests::ord_prefix_is_less ... ok
[INFO] [stdout] test string::tests::ord_sortable ... ok
[INFO] [stdout] test hash::xxh3::tests::const_matches_runtime_random_9_to_16_bytes ... ok
[INFO] [stdout] test string::tests::parse_i64_negative ... ok
[INFO] [stdout] test string::tests::parse_i8_negative ... ok
[INFO] [stdout] test string::tests::parse_invalid_format ... ok
[INFO] [stdout] test string::tests::parse_u64_valid ... ok
[INFO] [stdout] test string::tests::parse_u8_valid ... ok
[INFO] [stdout] test string::tests::partial_ord_consistent ... ok
[INFO] [stdout] test string::tests::split_once_at_end ... ok
[INFO] [stdout] test string::tests::split_once_at_start ... ok
[INFO] [stdout] test string::tests::split_once_found ... ok
[INFO] [stdout] test string::tests::split_once_multiple_delimiters ... ok
[INFO] [stdout] test string::tests::split_once_not_found ... ok
[INFO] [stdout] test string::tests::starts_with_bytes ... ok
[INFO] [stdout] test string::tests::starts_with_empty ... ok
[INFO] [stdout] test string::tests::starts_with_empty_string ... ok
[INFO] [stdout] test string::tests::starts_with_full_string ... ok
[INFO] [stdout] test string::tests::starts_with_longer_prefix ... ok
[INFO] [stdout] test string::tests::starts_with_str ... ok
[INFO] [stdout] test string::tests::strip_prefix_entire_string ... ok
[INFO] [stdout] test string::tests::strip_prefix_found ... ok
[INFO] [stdout] test string::tests::strip_prefix_not_found ... ok
[INFO] [stdout] test string::tests::strip_suffix_entire_string ... ok
[INFO] [stdout] test string::tests::strip_suffix_found ... ok
[INFO] [stdout] test string::tests::strip_suffix_not_found ... ok
[INFO] [stdout] test string::tests::tighten_basic ... ok
[INFO] [stdout] test string::tests::tighten_empty ... ok
[INFO] [stdout] test string::tests::tighten_exact_fit ... ok
[INFO] [stdout] test string::tests::tighten_preserves_hash ... ok
[INFO] [stdout] test string::tests::tighten_same_size ... ok
[INFO] [stdout] test string::tests::tighten_too_long ... ok
[INFO] [stdout] test string::tests::to_ascii_lowercase_all_upper ... ok
[INFO] [stdout] test string::tests::to_ascii_lowercase_already_lower ... ok
[INFO] [stdout] test string::tests::to_ascii_lowercase_basic ... ok
[INFO] [stdout] test string::tests::to_ascii_lowercase_empty ... ok
[INFO] [stdout] test string::tests::to_ascii_lowercase_hash_changes ... ok
[INFO] [stdout] test string::tests::to_ascii_lowercase_with_symbols ... ok
[INFO] [stdout] test string::tests::to_ascii_uppercase_all_lower ... ok
[INFO] [stdout] test string::tests::to_ascii_uppercase_already_upper ... ok
[INFO] [stdout] test string::tests::to_ascii_uppercase_basic ... ok
[INFO] [stdout] test string::tests::to_ascii_uppercase_empty ... ok
[INFO] [stdout] test string::tests::to_ascii_uppercase_hash_changes ... ok
[INFO] [stdout] test string::tests::to_ascii_uppercase_mixed ... ok
[INFO] [stdout] test string::tests::to_ascii_uppercase_with_numbers ... ok
[INFO] [stdout] test string::tests::too_long ... ok
[INFO] [stdout] test string::tests::transformations_preserve_capacity ... ok
[INFO] [stdout] test string::tests::truncated_basic ... ok
[INFO] [stdout] test string::tests::truncated_hash_changes ... ok
[INFO] [stdout] test string::tests::truncated_hash_matches_direct ... ok
[INFO] [stdout] test string::tests::parse_u8_overflow ... ok
[INFO] [stdout] test string::tests::truncated_to_same_length ... ok
[INFO] [stdout] test string::tests::truncated_to_zero ... ok
[INFO] [stdout] test string::tests::try_from_null_terminated_basic ... ok
[INFO] [stdout] test string::tests::try_from_null_terminated_empty ... ok
[INFO] [stdout] test string::tests::try_from_null_terminated_invalid_ascii ... ok
[INFO] [stdout] test string::tests::try_from_null_terminated_no_null ... ok
[INFO] [stdout] test string::tests::try_from_null_terminated_roundtrip ... ok
[INFO] [stdout] test string::tests::try_from_null_terminated_slice ... ok
[INFO] [stdout] test string::tests::try_from_null_terminated_too_long ... ok
[INFO] [stdout] test string::tests::try_from_raw_32_bytes ... ok
[INFO] [stdout] test string::tests::try_from_raw_hashmap_lookup ... ok
[INFO] [stdout] test string::tests::try_from_raw_immediate_null ... ok
[INFO] [stdout] test string::tests::try_from_raw_invalid_ascii_after_null_ok ... ok
[INFO] [stdout] test string::tests::try_from_raw_invalid_ascii_before_null ... ok
[INFO] [stdout] test hash::xxh3::tests::const_matches_runtime_random_17_to_32_bytes ... ok
[INFO] [stdout] test string::tests::try_from_raw_no_null ... ok
[INFO] [stdout] test string::tests::try_from_raw_matches_try_from_bytes ... ok
[INFO] [stdout] test string::tests::try_from_raw_null_in_middle ... ok
[INFO] [stdout] test string::tests::try_from_raw_null_terminated ... ok
[INFO] [stdout] test string::tests::try_from_raw_ref_basic ... ok
[INFO] [stdout] test string::tests::try_from_raw_ref_empty ... ok
[INFO] [stdout] test string::tests::try_from_raw_ref_invalid_ascii ... ok
[INFO] [stdout] test string::tests::try_from_raw_ref_matches_try_from_null_terminated ... ok
[INFO] [stdout] test string::tests::try_from_raw_ref_no_null ... ok
[INFO] [stdout] test string::tests::try_from_raw_various_positions ... ok
[INFO] [stdout] test string::tests::try_from_raw_ref_roundtrip ... ok
[INFO] [stdout] test string::tests::try_from_right_padded_all_padding ... ok
[INFO] [stdout] test string::tests::try_from_right_padded_custom_pad ... ok
[INFO] [stdout] test string::tests::try_from_right_padded_internal_padding_preserved ... ok
[INFO] [stdout] test string::tests::try_from_right_padded_invalid_ascii ... ok
[INFO] [stdout] test string::tests::try_from_right_padded_matches_try_from_bytes ... ok
[INFO] [stdout] test string::tests::try_from_right_padded_no_padding ... ok
[INFO] [stdout] test string::tests::try_from_right_padded_null ... ok
[INFO] [stdout] test string::tests::try_truncated_basic ... ok
[INFO] [stdout] test string::tests::try_from_right_padded_space ... ok
[INFO] [stdout] test string::tests::try_truncated_exact_length ... ok
[INFO] [stdout] test string::tests::try_truncated_to_zero ... ok
[INFO] [stdout] test string::tests::try_truncated_too_long ... ok
[INFO] [stdout] test string::tests::widen_basic ... ok
[INFO] [stdout] test string::tests::widen_empty ... ok
[INFO] [stdout] test string::tests::widen_preserves_hash ... ok
[INFO] [stdout] test string::tests::widen_same_size ... ok
[INFO] [stdout] test text::tests::as_raw_returns_full_buffer ... ok
[INFO] [stdout] test string::tests::widen_tighten_roundtrip ... ok
[INFO] [stdout] test text::tests::format_then_parse_roundtrip ... ok
[INFO] [stdout] test text::tests::from_bytes_unchecked_basic ... ok
[INFO] [stdout] test str_ref::tests::index_out_of_bounds - should panic ... ok
[INFO] [stdout] test text::tests::as_ref_array ... ok
[INFO] [stdout] test text::tests::from_bytes_unchecked_matches_checked ... ok
[INFO] [stdout] test string::tests::index_out_of_bounds - should panic ... ok
[INFO] [stdout] test string::tests::truncated_panics_on_longer - should panic ... ok
[INFO] [stdout] test string::tests::index_empty_string - should panic ... ok
[INFO] [stdout] test text::tests::from_i64_min ... ok
[INFO] [stdout] test text::tests::from_raw_unchecked_basic ... ok
[INFO] [stdout] test text::tests::from_str_non_printable ... ok
[INFO] [stdout] test text::tests::from_str_unchecked_matches_checked ... ok
[INFO] [stdout] test text::tests::from_str_unchecked_basic ... ok
[INFO] [stdout] test text::tests::from_u64_large ... ok
[INFO] [stdout] test text::tests::into_raw_basic ... ok
[INFO] [stdout] test text::tests::from_u8_basic ... ok
[INFO] [stdout] test text::tests::from_str_parse ... ok
[INFO] [stdout] test text::tests::is_alphanumeric_false ... ok
[INFO] [stdout] test text::tests::into_raw_empty ... ok
[INFO] [stdout] test text::tests::into_raw_roundtrip ... ok
[INFO] [stdout] test text::tests::is_numeric_true ... ok
[INFO] [stdout] test text::tests::parse_i64_negative ... ok
[INFO] [stdout] test text::tests::parse_u8_valid ... ok
[INFO] [stdout] test text::tests::split_once_found ... ok
[INFO] [stdout] test text::tests::split_once_multiple_delimiters ... ok
[INFO] [stdout] test text::tests::parse_u64_valid ... ok
[INFO] [stdout] test text::tests::is_numeric_false ... ok
[INFO] [stdout] test text::tests::strip_prefix_not_found ... ok
[INFO] [stdout] test text::tests::split_once_not_found ... ok
[INFO] [stdout] test text::tests::strip_suffix_found ... ok
[INFO] [stdout] test text::tests::strip_prefix_found ... ok
[INFO] [stdout] test text::tests::strip_suffix_not_found ... ok
[INFO] [stdout] test text::tests::test_all_printable_chars ... ok
[INFO] [stdout] test text::tests::test_as_ref_ascii_str ... ok
[INFO] [stdout] test text::tests::test_as_ref_ascii_string ... ok
[INFO] [stdout] test text::tests::test_as_ref_bytes ... ok
[INFO] [stdout] test text::tests::test_as_ascii_string ... ok
[INFO] [stdout] test text::tests::test_as_ref_str ... ok
[INFO] [stdout] test text::tests::test_copy ... ok
[INFO] [stdout] test text::tests::test_default ... ok
[INFO] [stdout] test text::tests::test_deref ... ok
[INFO] [stdout] test text::tests::test_empty ... ok
[INFO] [stdout] test text::tests::test_debug ... ok
[INFO] [stdout] test text::tests::test_clone ... ok
[INFO] [stdout] test text::tests::test_equality_with_ascii_string ... ok
[INFO] [stdout] test text::tests::test_equality ... ok
[INFO] [stdout] test text::tests::test_equality_with_str ... ok
[INFO] [stdout] test text::tests::test_equality_with_bytes ... ok
[INFO] [stdout] test text::tests::test_from_ascii_string_unchecked ... ok
[INFO] [stdout] test text::tests::test_from_static ... ok
[INFO] [stdout] test text::tests::test_from_static_empty ... ok
[INFO] [stdout] test text::tests::test_from_static_with_space ... ok
[INFO] [stdout] test text::tests::test_display ... ok
[INFO] [stdout] test text::tests::test_hash ... ok
[INFO] [stdout] test text::tests::test_into_ascii_string ... ok
[INFO] [stdout] test text::tests::test_ordering ... ok
[INFO] [stdout] test text::tests::test_printable_boundary_high ... ok
[INFO] [stdout] test text::tests::test_printable_boundary_low ... ok
[INFO] [stdout] test text::tests::test_try_from_bytes_control_in_middle ... ok
[INFO] [stdout] test text::tests::test_try_from_bytes_control_rejected ... ok
[INFO] [stdout] test text::tests::test_try_from_bytes_del_rejected ... ok
[INFO] [stdout] test text::tests::test_try_from_bytes_high_ascii_rejected ... ok
[INFO] [stdout] test text::tests::test_try_from_bytes_null_rejected ... ok
[INFO] [stdout] test text::tests::test_try_from_bytes_too_long ... ok
[INFO] [stdout] test text::tests::test_try_from_bytes_valid ... ok
[INFO] [stdout] test text::tests::test_try_from_bytes_with_space ... ok
[INFO] [stdout] test text::tests::test_try_from_bytes_with_tilde ... ok
[INFO] [stdout] test text::tests::test_try_from_str ... ok
[INFO] [stdout] test text::tests::test_try_from_trait_ascii_string ... ok
[INFO] [stdout] test text::tests::test_try_from_trait_bytes ... ok
[INFO] [stdout] test text::tests::test_try_from_trait_str ... ok
[INFO] [stdout] test text::tests::test_try_from_trait_string ... ok
[INFO] [stdout] test text::tests::tighten_basic ... ok
[INFO] [stdout] test text::tests::tighten_empty ... ok
[INFO] [stdout] test text::tests::tighten_preserves_hash ... ok
[INFO] [stdout] test text::tests::tighten_too_long ... ok
[INFO] [stdout] test text::tests::try_from_null_terminated_basic ... ok
[INFO] [stdout] test text::tests::try_from_null_terminated_empty ... ok
[INFO] [stdout] test text::tests::try_from_null_terminated_no_null ... ok
[INFO] [stdout] test text::tests::try_from_null_terminated_non_printable ... ok
[INFO] [stdout] test text::tests::try_from_null_terminated_roundtrip ... ok
[INFO] [stdout] test text::tests::try_from_null_terminated_slice ... ok
[INFO] [stdout] test text::tests::try_from_null_terminated_too_long ... ok
[INFO] [stdout] test text::tests::try_from_raw_basic ... ok
[INFO] [stdout] test text::tests::try_from_raw_full_buffer ... ok
[INFO] [stdout] test text::tests::try_from_raw_ref_basic ... ok
[INFO] [stdout] test text::tests::try_from_raw_ref_empty ... ok
[INFO] [stdout] test text::tests::from_static_bytes_basic ... ok
[INFO] [stdout] test text::tests::try_from_raw_ref_matches_try_from_null_terminated ... ok
[INFO] [stdout] test text::tests::try_from_raw_ref_non_printable ... ok
[INFO] [stdout] test text::tests::try_from_raw_ref_roundtrip ... ok
[INFO] [stdout] test text::tests::test_try_from_ascii_string_with_control ... ok
[INFO] [stdout] test text::tests::test_try_from_ascii_string ... ok
[INFO] [stdout] test text::tests::try_from_right_padded_full ... ok
[INFO] [stdout] test text::tests::try_from_right_padded_non_printable ... ok
[INFO] [stdout] test text::tests::try_from_right_padded_null ... ok
[INFO] [stdout] test text::tests::try_from_right_padded_space ... ok
[INFO] [stdout] test text::tests::widen_basic ... ok
[INFO] [stdout] test text::tests::widen_empty ... ok
[INFO] [stdout] test text::tests::widen_preserves_hash ... ok
[INFO] [stdout] test text::tests::widen_tighten_roundtrip ... ok
[INFO] [stdout] test text_ref::tests::as_ascii_str ... ok
[INFO] [stdout] test text_ref::tests::cross_type_equality ... ok
[INFO] [stdout] test text_ref::tests::empty ... ok
[INFO] [stdout] test text_ref::tests::equality ... ok
[INFO] [stdout] test text_ref::tests::from_bytes_unchecked ... ok
[INFO] [stdout] test text_ref::tests::trim ... ok
[INFO] [stdout] test text_ref::tests::try_from_bytes_control_char ... ok
[INFO] [stdout] test text_ref::tests::try_from_bytes_non_printable ... ok
[INFO] [stdout] test text_ref::tests::try_from_bytes_valid ... ok
[INFO] [stdout] test text_ref::tests::try_from_str_valid ... ok
[INFO] [stdout] test text::tests::try_from_raw_ref_no_null ... ok
[INFO] [stdout] test text::tests::is_alphanumeric_true ... ok
[INFO] [stdout] test text::tests::try_from_raw_rejects_non_printable ... ok
[INFO] [stdout] test text::tests::try_from_right_padded_all_padding ... ok
[INFO] [stdout] test hash::xxh3::tests::const_matches_runtime_random_33_to_64_bytes ... ok
[INFO] [stdout] test hash::xxh3::tests::const_matches_runtime_random_65_to_128_bytes ... ok
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/nexus_async_net-d386d84c56cfc137)
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 683 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.26s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 43 tests
[INFO] [stdout] test rest::tokio::atomic_pool::tests::atomic_slot_needs_reconnect ... ok
[INFO] [stdout] test rest::tokio::atomic_pool::tests::atomic_conn_and_reader_error_when_no_conn ... ok
[INFO] [stdout] test rest::tokio::atomic_pool::tests::atomic_pool_acquire_release ... ok
[INFO] [stdout] test rest::tokio::atomic_pool::tests::atomic_try_acquire_none_when_all_in_use ... ok
[INFO] [stdout] test rest::tokio::atomic_pool::tests::atomic_try_acquire_returns_some_after_release ... ok
[INFO] [stdout] test rest::tokio::atomic_pool::tests::atomic_builder_validates_empty_url ... ok
[INFO] [stdout] test rest::tokio::atomic_pool::tests::atomic_try_acquire_none_when_exhausted ... ok
[INFO] [stdout] test rest::tokio::atomic_pool::tests::atomic_builder_validates_zero_connections ... ok
[INFO] [stdout] test rest::tokio::pool::tests::builder_validates_empty_url ... ok
[INFO] [stdout] test rest::tokio::pool::tests::builder_validates_zero_connections ... ok
[INFO] [stdout] test rest::tokio::atomic_pool::tests::atomic_pool_loopback ... ok
[INFO] [stdout] test rest::tokio::pool::tests::pool_acquire_release_cycle ... ok
[INFO] [stdout] test rest::tokio::connection::tests::async_connection_poisoned ... ok
[INFO] [stdout] test rest::tokio::pool::tests::pool_acquire_returns_available ... ok
[INFO] [stdout] test rest::tokio::connection::tests::async_post_with_body ... ok
[INFO] [stdout] test rest::tokio::connection::tests::async_get_request ... ok
[INFO] [stdout] test rest::tokio::atomic_pool::tests::atomic_pool_four_connections ... ok
[INFO] [stdout] test rest::tokio::pool::tests::pool_multiple_slots ... ok
[INFO] [stdout] test rest::tokio::connection::tests::async_response_headers ... ok
[INFO] [stdout] test rest::tokio::pool::tests::pool_reset_clears_dead_conn ... ok
[INFO] [stdout] test rest::tokio::pool::tests::pool_loopback_send ... ok
[INFO] [stdout] test rest::tokio::pool::tests::pool_keep_alive_multiple_requests ... ok
[INFO] [stdout] test rest::tokio::pool::tests::slot_needs_reconnect_when_no_conn ... ok
[INFO] [stdout] test rest::tokio::pool::tests::try_acquire_returns_none_when_all_in_use ... ok
[INFO] [stdout] test rest::tokio::pool::tests::try_acquire_returns_none_when_exhausted ... ok
[INFO] [stdout] test rest::tokio::pool::tests::try_acquire_returns_some_after_slot_released ... ok
[INFO] [stdout] test wire::tests::tokio_adapter_empty_spare_returns_invalid_input ... ok
[INFO] [stdout] test wire::tests::tokio_adapter_max_zero_returns_invalid_input ... ok
[INFO] [stdout] test rest::tokio::pool::tests::pool_four_connections_all_succeed ... ok
[INFO] [stdout] test ws::tokio::stream::tests::recv_binary ... ok
[INFO] [stdout] test ws::tokio::stream::tests::recv_close ... ok
[INFO] [stdout] test ws::tokio::stream::tests::eof_returns_none ... ok
[INFO] [stdout] test ws::tokio::stream::tests::recv_fragment_with_control ... ok
[INFO] [stdout] test ws::tokio::stream::tests::fifo_three_messages ... ok
[INFO] [stdout] test ws::tokio::stream::tests::recv_ping ... ok
[INFO] [stdout] test ws::tokio::stream::tests::recv_fragmented_text ... ok
[INFO] [stdout] test ws::tokio::stream::tests::recv_text ... ok
[INFO] [stdout] test ws::tokio::stream::tests::stream_yields_owned_messages ... ok
[INFO] [stdout] test ws::tokio::stream::tests::send_on_broken_stream_returns_error ... ok
[INFO] [stdout] test rest::tokio::connection::tests::async_chunked_decoded ... ok
[INFO] [stdout] test ws::tokio::stream::tests::accept_server_side ... ok
[INFO] [stdout] test rest::tokio::pool::tests::dead_connection_heals_via_reconnect_task ... ok
[INFO] [stdout] test rest::tokio::pool::tests::stale_connection_timeout_not_hang ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 43 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.13s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/httpbin.rs (/opt/rustwide/target/debug/deps/httpbin-507a9dfa05236e46)
[INFO] [stdout] 
[INFO] [stdout] running 7 tests
[INFO] [stdout] test async_httpbin_get ... ignored, requires network access to httpbin.org
[INFO] [stdout] test async_httpbin_get_with_query ... ignored, requires network access to httpbin.org
[INFO] [stdout] test async_httpbin_keep_alive ... ignored, requires network access to httpbin.org
[INFO] [stdout] test async_httpbin_large_response ... ignored, requires network access to httpbin.org
[INFO] [stdout] test async_httpbin_post_json ... ignored, requires network access to httpbin.org
[INFO] [stdout] test async_httpbin_response_headers ... ignored, requires network access to httpbin.org
[INFO] [stdout] test async_httpbin_status_codes ... ignored, requires network access to httpbin.org
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 7 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/ws_nexus_integration.rs (/opt/rustwide/target/debug/deps/ws_nexus_integration-f163af263d4559eb)
[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] [stderr]      Running tests/ws_nexus_tls_loopback.rs (/opt/rustwide/target/debug/deps/ws_nexus_tls_loopback-6d7472badee014b3)
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/nexus_async_rt-506bf9291acda5b8)
[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] [stdout] 
[INFO] [stdout] running 211 tests
[INFO] [stdout] test backoff::tests::deadline_exhausts ... ok
[INFO] [stdout] test backoff::tests::deadline_remaining ... ok
[INFO] [stdout] test backoff::tests::caps_at_max ... ok
[INFO] [stdout] test backoff::tests::default_values ... ok
[INFO] [stdout] test backoff::tests::different_instances_different_jitter ... ok
[INFO] [stdout] test backoff::tests::doubles_each_step ... ok
[INFO] [stdout] test backoff::tests::advance_does_not_overflow_large_delay ... ok
[INFO] [stdout] test backoff::tests::effective_delay_capped_by_deadline ... ok
[INFO] [stdout] test backoff::tests::exhausted_after_max_retries ... ok
[INFO] [stdout] test backoff::tests::reset_does_not_clear_deadline ... ok
[INFO] [stdout] test backoff::tests::jitter_stays_in_range ... ok
[INFO] [stdout] test backoff::tests::reset_restores_initial ... ok
[INFO] [stdout] test backoff::tests::unlimited_retries ... ok
[INFO] [stdout] test cancel::tests::cancelled_future_ready_when_cancelled ... ok
[INFO] [stdout] test cancel::tests::cancel_sets_flag ... ok
[INFO] [stdout] test cancel::tests::cancelled_future_pending_then_ready ... ok
[INFO] [stdout] test cancel::tests::cancel_is_idempotent ... ok
[INFO] [stdout] test cancel::tests::child_cancel_does_not_affect_parent ... ok
[INFO] [stdout] test cancel::tests::child_cancelled_future_from_parent ... ok
[INFO] [stdout] test cancel::tests::child_created_after_parent_cancelled ... ok
[INFO] [stdout] test cancel::tests::child_sees_parent_cancel ... ok
[INFO] [stdout] test cancel::tests::clone_shares_state ... ok
[INFO] [stdout] test cancel::tests::drop_guard_cancels_on_drop ... ok
[INFO] [stdout] test cancel::tests::drop_guard_disarm ... ok
[INFO] [stdout] test cancel::tests::drop_without_cancel_cleans_up ... ok
[INFO] [stdout] test cancel::tests::many_children ... ok
[INFO] [stdout] test cancel::tests::grandchild_sees_ancestor_cancel ... ok
[INFO] [stdout] test cancel::tests::multiple_waiters ... ok
[INFO] [stdout] test cancel::tests::not_cancelled_by_default ... ok
[INFO] [stdout] test cancel::tests::poll_after_cancel_drained_uses_in_list_false_path ... ok
[INFO] [stdout] test cancel::tests::send_sync ... ok
[INFO] [stdout] test channel::local::tests::capacity_one ... ok
[INFO] [stdout] test channel::local::tests::clone_sender_increments_count ... ok
[INFO] [stdout] test channel::local::tests::drop_values_on_channel_close ... ok
[INFO] [stdout] test channel::local::tests::fifo_ordering ... ok
[INFO] [stdout] test channel::local::tests::multiple_senders ... ok
[INFO] [stdout] test channel::local::tests::last_sender_drop_wakes_receiver ... ok
[INFO] [stdout] test channel::local::tests::non_power_of_two_rounds_up ... ok
[INFO] [stdout] test channel::local::tests::receiver_drop_signals_closed ... ok
[INFO] [stdout] test channel::local::tests::receiver_drop_wakes_blocked_senders ... ok
[INFO] [stdout] test channel::local::tests::multiple_senders_blocked_then_unblocked ... ok
[INFO] [stdout] test channel::local::tests::recv_drains_buffer_after_all_senders_drop ... ok
[INFO] [stdout] test channel::local::tests::recv_pending_then_ready ... ok
[INFO] [stdout] test channel::local::tests::ring_buffer_drop_remaining ... ok
[INFO] [stdout] test channel::local::tests::ring_buffer_full ... ok
[INFO] [stdout] test channel::local::tests::ring_buffer_push_pop ... ok
[INFO] [stdout] test channel::local::tests::ring_buffer_rounds_up_to_power_of_two ... ok
[INFO] [stdout] test channel::local::tests::ring_buffer_wrap_around ... ok
[INFO] [stdout] test channel::local::tests::send_after_receiver_drop_returns_closed ... ok
[INFO] [stdout] test channel::local::tests::send_cancelled_on_drop ... ok
[INFO] [stdout] test channel::local::tests::send_pending_then_ready ... ok
[INFO] [stdout] test channel::local::tests::send_recv_single ... ok
[INFO] [stdout] test channel::local::tests::sender_drop_signals_closed ... ok
[INFO] [stdout] test channel::local::tests::stress_interleaved_small_buffer ... ok
[INFO] [stdout] test channel::local::tests::stress_fill_drain_cycles ... ok
[INFO] [stdout] test channel::local::tests::try_recv_empty ... ok
[INFO] [stdout] test channel::local::tests::try_send_full ... ok
[INFO] [stdout] test cancel::tests::cross_thread_cancel ... ok
[INFO] [stdout] test channel::mpsc::tests::cross_thread_sender_drop ... ok
[INFO] [stdout] test channel::mpsc::tests::cross_thread_multiple_producers ... ok
[INFO] [stdout] test channel::mpsc::tests::cross_thread_try_send ... ok
[INFO] [stdout] test channel::mpsc::tests::fifo_ordering ... ok
[INFO] [stdout] test channel::mpsc::tests::multiple_senders ... ok
[INFO] [stdout] test channel::mpsc::tests::multiple_senders_dropped_then_receiver_dropped ... ok
[INFO] [stdout] test channel::mpsc::tests::receiver_drop_signals_closed ... ok
[INFO] [stdout] test channel::mpsc::tests::receiver_is_send ... ok
[INFO] [stdout] test channel::mpsc::tests::send_recv_single ... ok
[INFO] [stdout] test channel::mpsc::tests::sender_drop_signals_closed ... ok
[INFO] [stdout] test channel::mpsc::tests::sender_drop_while_queued_in_waiter_list ... ok
[INFO] [stdout] test channel::local::tests::stress_sequential_send_recv ... ok
[INFO] [stdout] test channel::mpsc::tests::sender_is_send_sync ... ok
[INFO] [stdout] test channel::mpsc::tests::try_recv_empty ... ok
[INFO] [stdout] test channel::mpsc::tests::try_send_full ... ok
[INFO] [stdout] test channel::mpsc::uaf_tests::register_during_wake_does_not_leak_ref ... ok
[INFO] [stdout] test channel::mpsc::uaf_tests::waker_slot_uaf_when_task_freed_mid_dispatch ... ok
[INFO] [stdout] test channel::mpsc::uaf_tests::slot_drop_releases_ref_when_still_registered ... ok
[INFO] [stdout] test channel::mpsc_bytes::tests::claim_without_commit_aborts ... ok
[INFO] [stdout] test channel::mpsc_bytes::tests::claim_commit_recv ... ok
[INFO] [stdout] test channel::mpsc_bytes::tests::fifo_ordering ... ok
[INFO] [stdout] test channel::mpsc_bytes::tests::cross_thread_claim_send ... ok
[INFO] [stdout] test channel::mpsc_bytes::tests::multiple_senders ... ok
[INFO] [stdout] test channel::mpsc_bytes::tests::receiver_drop_signals_sender ... ok
[INFO] [stdout] test channel::mpsc_bytes::tests::sender_drop_signals_closed ... ok
[INFO] [stdout] test channel::mpsc_bytes::tests::sender_drop_while_queued ... ok
[INFO] [stdout] test channel::mpsc_bytes::tests::variable_length_messages ... ok
[INFO] [stdout] test channel::mpsc_bytes::tests::stress_sequential ... ok
[INFO] [stdout] test channel::mpsc_bytes::uaf_tests::register_during_wake_does_not_leak_ref ... ok
[INFO] [stdout] test channel::mpsc_bytes::uaf_tests::waker_slot_uaf_when_task_freed_mid_dispatch ... ok
[INFO] [stdout] test channel::mpsc_bytes::uaf_tests::slot_drop_releases_ref_when_still_registered ... ok
[INFO] [stdout] test channel::spsc::tests::fifo_ordering ... ok
[INFO] [stdout] test channel::spsc::tests::cross_thread_try_send ... ok
[INFO] [stdout] test channel::spsc::tests::receiver_drop_signals_closed ... ok
[INFO] [stdout] test channel::spsc::tests::receiver_is_send ... ok
[INFO] [stdout] test channel::spsc::tests::send_recv_single ... ok
[INFO] [stdout] test channel::spsc::tests::sender_drop_signals_closed ... ok
[INFO] [stdout] test channel::spsc::tests::sender_drop_while_receiver_alive ... ok
[INFO] [stdout] test channel::spsc::tests::sender_is_send ... ok
[INFO] [stdout] test channel::spsc::tests::try_recv_empty ... ok
[INFO] [stdout] test channel::spsc::tests::try_send_full ... ok
[INFO] [stdout] test channel::spsc::uaf_tests::register_during_wake_does_not_leak_ref ... ok
[INFO] [stdout] test channel::spsc::uaf_tests::slot_drop_releases_ref_when_still_registered ... ok
[INFO] [stdout] test channel::spsc::uaf_tests::waker_slot_uaf_when_task_freed_mid_dispatch ... ok
[INFO] [stdout] test channel::spsc_bytes::tests::claim_commit_recv ... ok
[INFO] [stdout] test channel::spsc_bytes::tests::claim_without_commit_aborts ... ok
[INFO] [stdout] test channel::spsc_bytes::tests::cross_thread_claim_send ... ok
[INFO] [stdout] test channel::spsc_bytes::tests::fifo_ordering ... ok
[INFO] [stdout] test channel::spsc_bytes::tests::receiver_drop_signals_sender ... ok
[INFO] [stdout] test channel::spsc_bytes::tests::sender_drop_signals_closed ... ok
[INFO] [stdout] test channel::spsc_bytes::tests::stress_sequential ... ok
[INFO] [stdout] test channel::spsc_bytes::tests::variable_length_messages ... ok
[INFO] [stdout] test channel::spsc_bytes::uaf_tests::register_during_wake_does_not_leak_ref ... ok
[INFO] [stdout] test channel::spsc_bytes::uaf_tests::slot_drop_releases_ref_when_still_registered ... ok
[INFO] [stdout] test channel::spsc_bytes::uaf_tests::waker_slot_uaf_when_task_freed_mid_dispatch ... ok
[INFO] [stdout] test cross_wake::tests::dispose_terminal_null_ctx_no_tls_leaks ... ok
[INFO] [stdout] test cross_wake::tests::dispose_terminal_off_thread_queues ... ok
[INFO] [stdout] test cross_wake::tests::dispose_terminal_on_executor_defers_when_tls_set ... ok
[INFO] [stdout] test cross_wake::tests::dispose_terminal_on_executor_leaks_when_tls_null ... ok
[INFO] [stdout] test cross_wake::tests::executor_drop_handles_terminal_in_cross_queue ... ok
[INFO] [stdout] test cross_wake::tests::queue_empty ... ok
[INFO] [stdout] test cross_wake::tests::queue_interleaved_push_pop ... ok
[INFO] [stdout] test cross_wake::tests::queue_push_pop_multiple ... ok
[INFO] [stdout] test cross_wake::tests::queue_push_pop_single ... ok
[INFO] [stdout] test cross_wake::tests::queue_reuse_after_drain ... ok
[INFO] [stdout] test channel::mpsc::tests::stress_sequential ... ok
[INFO] [stdout] test net::tcp::tests::tcp_socket_builder ... ok
[INFO] [stdout] test channel::spsc::tests::stress_sequential ... ok
[INFO] [stdout] test backoff::tests::jitter_out_of_range_panics - should panic ... ok
[INFO] [stdout] test backoff::tests::initial_exceeds_max_delay_panics - should panic ... ok
[INFO] [stdout] test runtime::tests::block_on_busy_returns_value ... ok
[INFO] [stdout] test runtime::tests::block_on_busy_with_spawned_tasks ... ok
[INFO] [stdout] test runtime::tests::block_on_returns_value ... ok
[INFO] [stdout] test runtime::tests::block_on_with_pre_resolved_handler ... ok
[INFO] [stdout] test runtime::tests::block_on_with_world_access ... ok
[INFO] [stdout] test runtime::tests::claim_slab_drop_returns_slot ... ok
[INFO] [stdout] test cancel::tests::drop_guard_on_panic ... ok
[INFO] [stdout] test runtime::tests::claim_slab_spawn_executes ... ok
[INFO] [stdout] test runtime::tests::event_time_is_set ... ok
[INFO] [stdout] test runtime::tests::join_handle_abort_completed_returns_false ... ok
[INFO] [stdout] test runtime::tests::join_handle_abort_returns_true ... ok
[INFO] [stdout] test runtime::tests::join_handle_await_gets_value ... ok
[INFO] [stdout] test runtime::tests::join_handle_await_string ... ok
[INFO] [stdout] test runtime::tests::join_handle_detach ... ok
[INFO] [stdout] test runtime::tests::join_handle_drop_after_completion_drops_output ... ok
[INFO] [stdout] test runtime::tests::join_handle_is_finished ... ok
[INFO] [stdout] test runtime::tests::join_handle_multiple_concurrent ... ok
[INFO] [stdout] test runtime::tests::join_handle_output_larger_than_future ... ok
[INFO] [stdout] test runtime::tests::mixed_spawn_and_spawn_slab ... ok
[INFO] [stdout] test runtime::tests::mixed_spawn_boxed_and_claim_slab ... ok
[INFO] [stdout] test channel::local::tests::ring_buffer_zero_capacity_panics - should panic ... ok
[INFO] [stdout] test runtime::tests::sleep_completes ... ok
[INFO] [stdout] test runtime::tests::sleep_past_deadline_ready_immediately ... ok
[INFO] [stdout] test runtime::tests::interval_ticks ... ok
[INFO] [stdout] test runtime::tests::spawn_from_root_future ... ok
[INFO] [stdout] test runtime::tests::spawn_outside_runtime_panics - should panic ... ok
[INFO] [stdout] test runtime::tests::spawn_slab_with_slab ... ok
[INFO] [stdout] test runtime::tests::spawn_slab_without_slab_panics - should panic ... ok
[INFO] [stdout] test runtime::tests::timeout_completes_before_deadline ... ok
[INFO] [stdout] test runtime::tests::timeout_expires ... ok
[INFO] [stdout] test runtime::tests::sleep_in_spawned_task ... ok
[INFO] [stdout] test runtime::tests::yield_now_lets_other_tasks_run ... ok
[INFO] [stdout] test shutdown::tests::shutdown_handle_trigger ... ok
[INFO] [stdout] test shutdown::tests::shutdown_signal_already_triggered ... ok
[INFO] [stdout] test runtime::tests::try_claim_slab_returns_none_when_full ... ok
[INFO] [stdout] test shutdown::tests::shutdown_signal_waker_updates_on_repoll ... ok
[INFO] [stdout] test runtime::tests::sleep_zero_duration_ready_immediately ... FAILED
[INFO] [stdout] test task::tests::drop_fn_transitions_correctly_on_normal_completion ... ok
[INFO] [stdout] test task::tests::packed_state_fire_and_forget ... ok
[INFO] [stdout] test task::tests::packed_state_cross_thread_waker_scenario ... ok
[INFO] [stdout] test task::tests::packed_state_fire_and_forget_terminal ... ok
[INFO] [stdout] test task::tests::packed_state_joinable ... ok
[INFO] [stdout] test task::tests::packed_state_joinable_completion_before_handle_drop ... ok
[INFO] [stdout] test task::tests::packed_state_joinable_completion_first_then_handle ... ok
[INFO] [stdout] test task::tests::packed_state_joinable_handle_drops_first ... ok
[INFO] [stdout] test task::tests::packed_state_leaked_flag_prevents_terminal ... ok
[INFO] [stdout] test task::tests::packed_state_many_refs_converge ... ok
[INFO] [stdout] test task::tests::packed_state_slab_flag_terminal ... ok
[INFO] [stdout] test task::tests::packed_state_waker_clone_lifecycle ... ok
[INFO] [stdout] test task::tests::task_header_size ... ok
[INFO] [stdout] test task::tests::poll_join_panic_in_drop_prevents_double_drop ... ok
[INFO] [stdout] test task::tests::task_layout_offsets ... ok
[INFO] [stdout] test task::tests::task_size_with_future ... ok
[INFO] [stdout] test task::tests::taskref_acquire_drop_balances_refcount ... ok
[INFO] [stdout] test task::tests::taskref_drop_non_terminal_no_dispose ... ok
[INFO] [stdout] test task::tests::taskref_from_owned_drop_balances_refcount ... ok
[INFO] [stdout] test tests::abort_task ... ok
[INFO] [stdout] test tests::abort_frees_slot_for_reuse ... ok
[INFO] [stdout] test tests::dispatch_latency ... ignored
[INFO] [stdout] test tests::cancel_with_stale_ready_entry ... ok
[INFO] [stdout] test cancel::tests::cancel_drain_race_regression ... ok
[INFO] [stdout] test tests::executor_drop_cleans_up_queued_tasks ... ok
[INFO] [stdout] test tests::immediate_task_completes ... ok
[INFO] [stdout] test tests::pending_task_not_completed ... ok
[INFO] [stdout] test tests::poll_limit_respected ... ok
[INFO] [stdout] test tests::refcount_starts_at_one ... ok
[INFO] [stdout] test tests::self_waking_task_polled_again ... ok
[INFO] [stdout] test tests::spawn_and_poll_single_task ... ok
[INFO] [stdout] test timer::tests::timer_driver_fire_expired ... ok
[INFO] [stdout] test tests::spawn_multiple_tasks ... ok
[INFO] [stdout] test waker::tests::task_ptr_from_foreign_waker_returns_none ... ok
[INFO] [stdout] test timer::tests::timer_driver_next_deadline ... ok
[INFO] [stdout] test waker::tests::task_ptr_from_local_waker_roundtrip ... ok
[INFO] [stdout] test world_ctx::tests::multiple_tasks_share_ctx ... ok
[INFO] [stdout] test world_ctx::tests::with_world_pre_resolved_handler ... ok
[INFO] [stdout] test world_ctx::tests::with_world_raw_access ... ok
[INFO] [stdout] test world_ctx::tests::with_world_ref_read_only ... ok
[INFO] [stdout] test world_ctx::tests::with_world_returns_value ... ok
[INFO] [stdout] test shutdown::tests::shutdown_signal_resolves_after_trigger ... ok
[INFO] [stdout] test net::tcp::tests::tcp_echo ... ok
[INFO] [stdout] test net::udp::tests::udp_connected ... ok
[INFO] [stdout] test net::udp::tests::udp_echo ... ok
[INFO] [stdout] test net::udp::tests::udp_send_recv ... ok
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- runtime::tests::sleep_zero_duration_ready_immediately stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'runtime::tests::sleep_zero_duration_ready_immediately' (1142) panicked at nexus-async-rt/src/runtime.rs:1573:9:
[INFO] [stdout] assertion failed: before.elapsed() < Duration::from_millis(10)
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x56c442d8b1ea - std[29689e6404d28ef9]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x56c442d8b1ea - std[29689e6404d28ef9]::backtrace_rs::backtrace::trace_unsynchronized::<std[29689e6404d28ef9]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x56c442d8b1ea - std[29689e6404d28ef9]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x56c442d8b1ea - <<std[29689e6404d28ef9]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[e929cb53b82a81ca]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x56c442da026a - <core[e929cb53b82a81ca]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x56c442da026a - core[e929cb53b82a81ca]::fmt::write
[INFO] [stdout]    6:     0x56c442d8fb92 - std[29689e6404d28ef9]::io::default_write_fmt::<alloc[9d7caffeb3b5d2c6]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/io/mod.rs:621:11
[INFO] [stdout]    7:     0x56c442d8fb92 - <alloc[9d7caffeb3b5d2c6]::vec::Vec<u8> as std[29689e6404d28ef9]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/io/mod.rs:1976:13
[INFO] [stdout]    8:     0x56c442d69bcf - <std[29689e6404d28ef9]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x56c442d69bcf - std[29689e6404d28ef9]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x56c442d834a9 - std[29689e6404d28ef9]::panicking::default_hook
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x56c442d0eb8c - <alloc[9d7caffeb3b5d2c6]::boxed::Box<dyn for<'a, 'b> core[e929cb53b82a81ca]::ops::function::Fn<(&'a std[29689e6404d28ef9]::panic::PanicHookInfo<'b>,), Output = ()> + core[e929cb53b82a81ca]::marker::Send + core[e929cb53b82a81ca]::marker::Sync> as core[e929cb53b82a81ca]::ops::function::Fn<(&std[29689e6404d28ef9]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/alloc/src/boxed.rs:2285:9
[INFO] [stdout]   12:     0x56c442d0eb8c - test[a24b3028667022f7]::test_main_inner::<test[a24b3028667022f7]::test_main_static::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/test/src/lib.rs:155:21
[INFO] [stdout]   13:     0x56c442d83662 - <alloc[9d7caffeb3b5d2c6]::boxed::Box<dyn for<'a, 'b> core[e929cb53b82a81ca]::ops::function::Fn<(&'a std[29689e6404d28ef9]::panic::PanicHookInfo<'b>,), Output = ()> + core[e929cb53b82a81ca]::marker::Send + core[e929cb53b82a81ca]::marker::Sync> as core[e929cb53b82a81ca]::ops::function::Fn<(&std[29689e6404d28ef9]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/alloc/src/boxed.rs:2285:9
[INFO] [stdout]   14:     0x56c442d83662 - std[29689e6404d28ef9]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x56c442d69cba - std[29689e6404d28ef9]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:691:13
[INFO] [stdout]   16:     0x56c442d5ee99 - std[29689e6404d28ef9]::sys::backtrace::__rust_end_short_backtrace::<std[29689e6404d28ef9]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x56c442d6a99d - __rustc[3aed6af316653e63]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x56c442da09fc - core[e929cb53b82a81ca]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x56c442da09c2 - core[e929cb53b82a81ca]::panicking::panic
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/panicking.rs:150:5
[INFO] [stdout]   20:     0x56c442ccdc23 - nexus_async_rt[d5036504092aee2f]::runtime::tests::sleep_zero_duration_ready_immediately
[INFO] [stdout]                                at /opt/rustwide/workdir/nexus-async-rt/src/runtime.rs:1573:9
[INFO] [stdout]   21:     0x56c442cc4547 - nexus_async_rt[d5036504092aee2f]::runtime::tests::sleep_zero_duration_ready_immediately::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/nexus-async-rt/src/runtime.rs:1564:47
[INFO] [stdout]   22:     0x56c442c65dd6 - <nexus_async_rt[d5036504092aee2f]::runtime::tests::sleep_zero_duration_ready_immediately::{closure#0} as core[e929cb53b82a81ca]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   23:     0x56c442d01e6b - <fn() -> core[e929cb53b82a81ca]::result::Result<(), alloc[9d7caffeb3b5d2c6]::string::String> as core[e929cb53b82a81ca]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   24:     0x56c442d01e6b - test[a24b3028667022f7]::__rust_begin_short_backtrace::<core[e929cb53b82a81ca]::result::Result<(), alloc[9d7caffeb3b5d2c6]::string::String>, fn() -> core[e929cb53b82a81ca]::result::Result<(), alloc[9d7caffeb3b5d2c6]::string::String>>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/test/src/lib.rs:724:18
[INFO] [stdout]   25:     0x56c442d0f65b - test[a24b3028667022f7]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/test/src/lib.rs:747:74
[INFO] [stdout]   26:     0x56c442d0f65b - <core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<test[a24b3028667022f7]::run_test_in_process::{closure#0}> as core[e929cb53b82a81ca]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   27:     0x56c442d0f65b - std[29689e6404d28ef9]::panicking::catch_unwind::do_call::<core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<test[a24b3028667022f7]::run_test_in_process::{closure#0}>, core[e929cb53b82a81ca]::result::Result<(), alloc[9d7caffeb3b5d2c6]::string::String>>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:581:40
[INFO] [stdout]   28:     0x56c442d0f65b - std[29689e6404d28ef9]::panicking::catch_unwind::<core[e929cb53b82a81ca]::result::Result<(), alloc[9d7caffeb3b5d2c6]::string::String>, core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<test[a24b3028667022f7]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:544:19
[INFO] [stdout]   29:     0x56c442d0f65b - std[29689e6404d28ef9]::panic::catch_unwind::<core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<test[a24b3028667022f7]::run_test_in_process::{closure#0}>, core[e929cb53b82a81ca]::result::Result<(), alloc[9d7caffeb3b5d2c6]::string::String>>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panic.rs:359:14
[INFO] [stdout]   30:     0x56c442d0f65b - test[a24b3028667022f7]::run_test_in_process
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/test/src/lib.rs:747:27
[INFO] [stdout]   31:     0x56c442d0f65b - test[a24b3028667022f7]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/test/src/lib.rs:668:43
[INFO] [stdout]   32:     0x56c442d08d74 - test[a24b3028667022f7]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/test/src/lib.rs:698:41
[INFO] [stdout]   33:     0x56c442d08d74 - std[29689e6404d28ef9]::sys::backtrace::__rust_begin_short_backtrace::<test[a24b3028667022f7]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   34:     0x56c442d12262 - std[29689e6404d28ef9]::thread::lifecycle::spawn_unchecked::<test[a24b3028667022f7]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/thread/lifecycle.rs:70:13
[INFO] [stdout]   35:     0x56c442d12262 - <core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<std[29689e6404d28ef9]::thread::lifecycle::spawn_unchecked<test[a24b3028667022f7]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[e929cb53b82a81ca]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   36:     0x56c442d12262 - std[29689e6404d28ef9]::panicking::catch_unwind::do_call::<core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<std[29689e6404d28ef9]::thread::lifecycle::spawn_unchecked<test[a24b3028667022f7]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:581:40
[INFO] [stdout]   37:     0x56c442d12262 - std[29689e6404d28ef9]::panicking::catch_unwind::<(), core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<std[29689e6404d28ef9]::thread::lifecycle::spawn_unchecked<test[a24b3028667022f7]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:544:19
[INFO] [stdout]   38:     0x56c442d12262 - std[29689e6404d28ef9]::panic::catch_unwind::<core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<std[29689e6404d28ef9]::thread::lifecycle::spawn_unchecked<test[a24b3028667022f7]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panic.rs:359:14
[INFO] [stdout]   39:     0x56c442d12262 - std[29689e6404d28ef9]::thread::lifecycle::spawn_unchecked::<test[a24b3028667022f7]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/thread/lifecycle.rs:68:26
[INFO] [stdout]   40:     0x56c442d12262 - <std[29689e6404d28ef9]::thread::lifecycle::spawn_unchecked<test[a24b3028667022f7]::run_test::{closure#1}, ()>::{closure#1} as core[e929cb53b82a81ca]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   41:     0x56c442d8aa1f - <alloc[9d7caffeb3b5d2c6]::boxed::Box<dyn core[e929cb53b82a81ca]::ops::function::FnOnce<(), Output = ()> + core[e929cb53b82a81ca]::marker::Send> as core[e929cb53b82a81ca]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/alloc/src/boxed.rs:2271:9
[INFO] [stdout]   42:     0x56c442d8aa1f - <std[29689e6404d28ef9]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/sys/thread/unix.rs:118:17
[INFO] [stdout]   43:     0x7dfb0156baa4 - <unknown>
[INFO] [stdout]   44:     0x7dfb015f8a64 - clone
[INFO] [stdout]   45:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     runtime::tests::sleep_zero_duration_ready_immediately
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 209 passed; 1 failed; 1 ignored; 0 measured; 0 filtered out; finished in 0.59s
[INFO] [stdout] 
[INFO] [stderr] error: test failed, to rerun pass `-p nexus-async-rt --lib`
[INFO] running `Command { std: "docker" "inspect" "3c206e5c095dc721445a8609fb77268eb39c69ec16f02e55a30a15e52f931a6d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "3c206e5c095dc721445a8609fb77268eb39c69ec16f02e55a30a15e52f931a6d", kill_on_drop: false }`
[INFO] [stdout] 3c206e5c095dc721445a8609fb77268eb39c69ec16f02e55a30a15e52f931a6d
