[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] 5d0a8c0e846fcd3489c9e1f4d2226c079b38aa09
[INFO] checking Abso1ut3Zer0/nexus against master#57f772f25c5ce2bd870d6f8c3ab318eaee5a3326 for pr-133502-22
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FAbso1ut3Zer0%2Fnexus" "/workspace/builds/worker-7-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-7-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-7-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/Abso1ut3Zer0/nexus on toolchain 57f772f25c5ce2bd870d6f8c3ab318eaee5a3326
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+57f772f25c5ce2bd870d6f8c3ab318eaee5a3326" "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" "+57f772f25c5ce2bd870d6f8c3ab318eaee5a3326" "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.8)
[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" "+57f772f25c5ce2bd870d6f8c3ab318eaee5a3326" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded trybuild v1.0.116
[INFO] [stderr]   Downloaded target-triple v1.0.0
[INFO] [stderr]   Downloaded data-encoding v2.11.0
[INFO] [stderr]   Downloaded rtrb v0.3.4
[INFO] [stderr]   Downloaded sonic-simd v0.1.4
[INFO] [stderr]   Downloaded rend v0.5.3
[INFO] [stderr]   Downloaded rancor v0.1.1
[INFO] [stderr]   Downloaded ptr_meta_derive v0.3.1
[INFO] [stderr]   Downloaded munge_macro v0.4.7
[INFO] [stderr]   Downloaded ptr_meta v0.3.1
[INFO] [stderr]   Downloaded munge v0.4.7
[INFO] [stderr]   Downloaded sonic-number v0.1.2
[INFO] [stderr]   Downloaded rkyv_derive v0.8.16
[INFO] [stderr]   Downloaded seqlock v0.2.0
[INFO] [stderr]   Downloaded tungstenite v0.29.0
[INFO] [stderr]   Downloaded ascii v1.1.0
[INFO] [stderr]   Downloaded fixdec v0.1.0
[INFO] [stderr]   Downloaded winnow v1.0.3
[INFO] [stderr]   Downloaded rkyv v0.8.16
[INFO] [stderr]   Downloaded sonic-rs v0.3.17
[INFO] [stderr]   Downloaded nexus-ascii v1.6.2
[INFO] [stderr]   Downloaded rust_decimal v1.42.0
[INFO] [stderr]   Downloaded faststr v0.2.34
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+57f772f25c5ce2bd870d6f8c3ab318eaee5a3326" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 79f8cb4cab98d0f3b64c80b5d163e6a7c58ae8b6ac01326aaa4518aac4cf41e3
[INFO] running `Command { std: "docker" "start" "-a" "79f8cb4cab98d0f3b64c80b5d163e6a7c58ae8b6ac01326aaa4518aac4cf41e3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "79f8cb4cab98d0f3b64c80b5d163e6a7c58ae8b6ac01326aaa4518aac4cf41e3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "79f8cb4cab98d0f3b64c80b5d163e6a7c58ae8b6ac01326aaa4518aac4cf41e3", kill_on_drop: false }`
[INFO] [stdout] 79f8cb4cab98d0f3b64c80b5d163e6a7c58ae8b6ac01326aaa4518aac4cf41e3
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=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" "+57f772f25c5ce2bd870d6f8c3ab318eaee5a3326" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 10a1af3e93f5b644657d1126b1982092dde72faa8e64ce558b26e2a33456779c
[INFO] running `Command { std: "docker" "start" "-a" "10a1af3e93f5b644657d1126b1982092dde72faa8e64ce558b26e2a33456779c", kill_on_drop: false }`
[INFO] [stderr]    Compiling zerocopy v0.8.48
[INFO] [stderr]     Checking serde_json v1.0.149
[INFO] [stderr]     Checking errno v0.3.14
[INFO] [stderr]     Checking parking_lot_core v0.9.12
[INFO] [stderr]     Checking mio v1.2.0
[INFO] [stderr]     Checking futures-channel v0.3.32
[INFO] [stderr]     Checking simd-adler32 v0.3.9
[INFO] [stderr]     Checking plotters-backend v0.3.7
[INFO] [stderr]     Checking ciborium-io v0.2.2
[INFO] [stderr]    Compiling zerocopy-derive v0.8.48
[INFO] [stderr]     Checking serde v1.0.228
[INFO] [stderr]     Checking signal-hook-registry v1.4.8
[INFO] [stderr]     Checking futures-util v0.3.32
[INFO] [stderr]     Checking clap_builder v4.6.0
[INFO] [stderr]     Checking itertools v0.10.5
[INFO] [stderr]     Checking regex-automata v0.4.14
[INFO] [stderr]     Checking cast v0.3.0
[INFO] [stderr]     Checking nom v7.1.3
[INFO] [stderr]     Checking rayon v1.12.0
[INFO] [stderr]     Checking miniz_oxide v0.8.9
[INFO] [stderr]     Checking crossbeam-channel v0.5.15
[INFO] [stderr]     Checking is-terminal v0.4.17
[INFO] [stderr]     Checking parking_lot v0.12.5
[INFO] [stderr]     Checking plotters-svg v0.3.7
[INFO] [stderr]     Checking anes v0.1.6
[INFO] [stderr]     Checking oorandom v11.1.5
[INFO] [stderr]     Checking getrandom v0.3.4
[INFO] [stderr]     Checking plotters v0.3.7
[INFO] [stderr]     Checking tokio v1.52.3
[INFO] [stderr]     Checking rustc-hash v2.1.2
[INFO] [stderr]    Compiling nexus-rt-derive v1.2.0 (/opt/rustwide/workdir/nexus-rt-derive)
[INFO] [stderr]     Checking rand_core v0.9.5
[INFO] [stderr]     Checking nexus-slab v2.3.4 (/opt/rustwide/workdir/nexus-slab)
[INFO] [stderr]     Checking flate2 v1.1.9
[INFO] [stderr]     Checking nexus-queue v1.3.1 (/opt/rustwide/workdir/nexus-queue)
[INFO] [stderr]    Compiling cc v1.2.62
[INFO] [stderr]     Checking getrandom v0.2.17
[INFO] [stderr]     Checking winnow v1.0.3
[INFO] [stderr]    Compiling target-triple v1.0.0
[INFO] [stderr]     Checking serde_spanned v1.1.1
[INFO] [stderr]     Checking toml_datetime v1.1.1+spec-1.1.0
[INFO] [stderr]     Checking toml_writer v1.1.1+spec-1.1.0
[INFO] [stderr]     Checking typenum v1.20.0
[INFO] [stderr]     Checking nexus-logbuf v2.2.0 (/opt/rustwide/workdir/nexus-logbuf)
[INFO] [stderr]     Checking tinytemplate v1.2.1
[INFO] [stderr]    Compiling aws-lc-rs v1.17.0
[INFO] [stderr]     Checking toml_parser v1.1.2+spec-1.1.0
[INFO] [stderr]     Checking zerofrom v0.1.8
[INFO] [stderr]    Compiling signal-hook v0.3.18
[INFO] [stderr]     Checking clap v4.6.1
[INFO] [stderr]     Checking yoke v0.8.2
[INFO] [stderr]    Compiling seq-macro v0.3.6
[INFO] [stderr]     Checking nexus-timer v1.4.2 (/opt/rustwide/workdir/nexus-timer)
[INFO] [stderr]    Compiling ahash v0.8.12
[INFO] [stderr]    Compiling rustls v0.23.40
[INFO] [stderr]    Compiling nexus-async-rt v0.7.0 (/opt/rustwide/workdir/nexus-async-rt)
[INFO] [stderr]     Checking nexus-rt v2.3.0 (/opt/rustwide/workdir/nexus-rt)
[INFO] [stderr]     Checking zerovec v0.11.6
[INFO] [stderr]     Checking socket2 v0.5.10
[INFO] [stderr]    Compiling cmake v0.1.58
[INFO] [stderr]     Checking regex v1.12.3
[INFO] [stderr]     Checking nexus-pool v1.1.0 (/opt/rustwide/workdir/nexus-pool)
[INFO] [stderr]     Checking simdutf8 v0.1.5
[INFO] [stderr]     Checking criterion-plot v0.5.0
[INFO] [stderr]     Checking toml v1.1.2+spec-1.1.0
[INFO] [stderr]     Checking deranged v0.5.8
[INFO] [stderr]     Checking rustls-native-certs v0.8.3
[INFO] [stderr]    Compiling ref-cast v1.0.25
[INFO] [stderr]     Checking data-encoding v2.11.0
[INFO] [stderr]     Checking hdrhistogram v7.5.4
[INFO] [stderr]     Checking time-core v0.1.8
[INFO] [stderr]     Checking num-conv v0.2.1
[INFO] [stderr]    Compiling ref-cast-impl v1.0.25
[INFO] [stderr]     Checking faststr v0.2.34
[INFO] [stderr]     Checking pem v3.0.6
[INFO] [stderr]     Checking generic-array v0.14.7
[INFO] [stderr]     Checking zerotrie v0.2.4
[INFO] [stderr]     Checking sonic-number v0.1.2
[INFO] [stderr]     Checking sonic-simd v0.1.4
[INFO] [stderr]     Checking bumpalo v3.20.2
[INFO] [stderr]     Checking hashbrown v0.17.1
[INFO] [stderr]     Checking tinystr v0.8.3
[INFO] [stderr]     Checking potential_utf v0.1.5
[INFO] [stderr]    Compiling openssl v0.10.79
[INFO] [stderr]     Checking icu_collections v2.2.0
[INFO] [stderr]     Checking icu_locale_core v2.2.0
[INFO] [stderr]     Checking nohash-hasher v0.2.0
[INFO] [stderr]     Checking ascii v1.1.0
[INFO] [stderr]     Checking nexus-ascii v1.6.2 (/opt/rustwide/workdir/nexus-ascii)
[INFO] [stderr]    Compiling aws-lc-sys v0.41.0
[INFO] [stderr]    Compiling ring v0.17.14
[INFO] [stderr]    Compiling openssl-sys v0.9.115
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]     Checking futures v0.3.32
[INFO] [stderr]     Checking sonic-rs v0.3.17
[INFO] [stderr]    Compiling getrandom v0.4.2
[INFO] [stderr]     Checking serde_urlencoded v0.7.1
[INFO] [stderr]     Checking trybuild v1.0.116
[INFO] [stderr]     Checking rustls-pemfile v2.2.0
[INFO] [stderr]     Checking nexus-collections v1.1.5 (/opt/rustwide/workdir/nexus-collections)
[INFO] [stderr]    Compiling native-tls v0.2.18
[INFO] [stderr]     Checking time v0.3.47
[INFO] [stderr]     Checking rtrb v0.3.4
[INFO] [stderr]     Checking icu_provider v2.2.0
[INFO] [stderr]     Checking block-buffer v0.10.4
[INFO] [stderr]     Checking crypto-common v0.1.7
[INFO] [stderr]     Checking indexmap v2.14.0
[INFO] [stderr]     Checking fastrand v2.4.1
[INFO] [stderr]     Checking wait-timeout v0.2.1
[INFO] [stderr]     Checking digest v0.10.7
[INFO] [stderr]     Checking rand_xorshift v0.4.0
[INFO] [stderr]     Checking crossbeam-queue v0.3.12
[INFO] [stderr]    Compiling rust_decimal v1.42.0
[INFO] [stderr]     Checking icu_properties v2.2.0
[INFO] [stderr]     Checking icu_normalizer v2.2.0
[INFO] [stderr]     Checking arrayvec v0.7.6
[INFO] [stderr]     Checking fixdec v0.1.0
[INFO] [stderr]     Checking sha1 v0.10.6
[INFO] [stderr]     Checking nexus-stats-core v1.2.1 (/opt/rustwide/workdir/nexus-stats-core)
[INFO] [stderr]     Checking yasna v0.5.2
[INFO] [stderr]     Checking nexus-decimal v1.1.0 (/opt/rustwide/workdir/nexus-decimal)
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]    Compiling nexus-bits-derive v0.4.2 (/opt/rustwide/workdir/nexus-bits-derive)
[INFO] [stderr]     Checking unicode-ident v1.0.24
[INFO] [stderr]     Checking nexus-ascii v1.6.2
[INFO] [stderr]     Checking proc-macro2 v1.0.106
[INFO] [stderr]     Checking nexus-channel v1.2.3 (/opt/rustwide/workdir/nexus-channel)
[INFO] [stderr]     Checking nexus-notify v1.0.2 (/opt/rustwide/workdir/nexus-notify)
[INFO] [stderr]     Checking seqlock v0.2.0
[INFO] [stderr]    Compiling nexus-smartptr v0.1.1 (/opt/rustwide/workdir/nexus-smartptr)
[INFO] [stderr]     Checking nexus-slot v1.1.2 (/opt/rustwide/workdir/nexus-slot)
[INFO] [stderr]     Checking nexus-rate v2.1.3 (/opt/rustwide/workdir/nexus-rate)
[INFO] [stderr]     Checking quote v1.0.45
[INFO] [stderr]     Checking syn v2.0.117
[INFO] [stderr]     Checking idna_adapter v1.2.2
[INFO] [stderr]     Checking tempfile v3.27.0
[INFO] [stderr]     Checking idna v1.1.0
[INFO] [stderr]     Checking rusty-fork v0.3.1
[INFO] [stderr]     Checking nexus-bits v0.4.4 (/opt/rustwide/workdir/nexus-bits)
[INFO] [stderr]     Checking url v2.5.8
[INFO] [stderr]     Checking nexus-id v1.1.5 (/opt/rustwide/workdir/nexus-id)
[INFO] [stderr]     Checking nexus-stats v4.2.2 (/opt/rustwide/workdir/nexus-stats)
[INFO] [stderr]     Checking nexus-stats-smoothing v1.2.1 (/opt/rustwide/workdir/nexus-stats-smoothing)
[INFO] [stderr]     Checking nexus-stats-regression v1.2.0 (/opt/rustwide/workdir/nexus-stats-regression)
[INFO] [stderr]     Checking nexus-stats-control v1.0.2 (/opt/rustwide/workdir/nexus-stats-control)
[INFO] [stderr]     Checking nexus-stats-detection v1.0.1 (/opt/rustwide/workdir/nexus-stats-detection)
[INFO] [stderr]     Checking half v2.7.1
[INFO] [stderr]     Checking ppv-lite86 v0.2.21
[INFO] [stderr]     Checking tokio-util v0.7.18
[INFO] [stderr]     Checking tower v0.5.3
[INFO] [stderr]     Checking ciborium-ll v0.2.2
[INFO] [stderr]     Checking ciborium v0.2.2
[INFO] [stderr]     Checking rand_chacha v0.9.0
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking rand v0.9.4
[INFO] [stderr]     Checking rcgen v0.13.2
[INFO] [stderr]     Checking criterion v0.5.1
[INFO] [stderr]     Checking rand v0.8.6
[INFO] [stderr]     Checking h2 v0.4.14
[INFO] [stderr]     Checking tower-http v0.6.10
[INFO] [stderr]     Checking tungstenite v0.26.2
[INFO] [stderr]     Checking proptest v1.11.0
[INFO] [stderr]     Checking tokio-tungstenite v0.26.2
[INFO] [stderr]     Checking tokio-native-tls v0.3.1
[INFO] [stdout] warning: unused import: `Blueprint`
[INFO] [stdout]    --> nexus-rt/benches/dispatch.rs:280:30
[INFO] [stdout]     |
[INFO] [stdout] 280 |     use nexus_rt::template::{Blueprint, HandlerTemplate};
[INFO] [stdout]     |                              ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> nexus-rt/benches/dispatch.rs:39:13
[INFO] [stdout]    |
[INFO] [stdout] 39 |         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-rt/benches/dispatch.rs:100:13
[INFO] [stdout]     |
[INFO] [stdout] 100 |         let mut wb = WorldBuilder::new();
[INFO] [stdout]     |             ----^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `AsyncReadExt`
[INFO] [stdout]    --> nexus-async-rt/tests/vs_tokio.rs:127:21
[INFO] [stdout]     |
[INFO] [stdout] 127 |     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: variable does not need to be mutable
[INFO] [stdout]    --> nexus-rt/benches/dispatch.rs:146:13
[INFO] [stdout]     |
[INFO] [stdout] 146 |         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/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:83:9
[INFO] [stdout]     |
[INFO] [stdout]  83 | /         spawn_boxed(async move {
[INFO] [stdout]  84 | |             nexus_async_rt::sleep(Duration::from_millis(10)).await;
[INFO] [stdout]  85 | |             let mut c = TcpStream::connect(addr).unwrap();
[INFO] [stdout]  86 | |             c.set_nodelay(true).unwrap();
[INFO] [stdout] ...   |
[INFO] [stdout] 104 | |             writer.set(samples);
[INFO] [stdout] 105 | |         });
[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]  83 |         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:216:9
[INFO] [stdout]     |
[INFO] [stdout] 216 | /         spawn_boxed(async move {
[INFO] [stdout] 217 | |             let mut b = b;
[INFO] [stdout] 218 | |             b.connect(a_addr).unwrap();
[INFO] [stdout] 219 | |             let mut buf = [0u8; MSG_SIZE];
[INFO] [stdout] ...   |
[INFO] [stdout] 227 | |         });
[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] 216 |         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:230:9
[INFO] [stdout]     |
[INFO] [stdout] 230 | /         spawn_boxed(async move {
[INFO] [stdout] 231 | |             nexus_async_rt::sleep(Duration::from_millis(10)).await;
[INFO] [stdout] 232 | |             let mut a = a;
[INFO] [stdout] 233 | |             a.connect(b_addr).unwrap();
[INFO] [stdout] ...   |
[INFO] [stdout] 251 | |             writer.set(samples);
[INFO] [stdout] 252 | |         });
[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: 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: 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/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 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] [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: 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] [stderr]     Checking hyper v1.9.0
[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 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/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 = UdpSocket::bind("127.0.0.1:0".parse().unwrap()).unwrap();
[INFO] [stdout] 46 | |             s.send_to(b"hello udp", recv_addr).await.unwrap();
[INFO] [stdout] 47 | |         });
[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:71:9
[INFO] [stdout]    |
[INFO] [stdout] 71 | /         spawn_boxed(async move {
[INFO] [stdout] 72 | |             let mut a = a_sock;
[INFO] [stdout] 73 | |             a.connect(b_addr).unwrap();
[INFO] [stdout] 74 | |             a.send(b"connected-msg").await.unwrap();
[INFO] [stdout] 75 | |         });
[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] 71 |         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:77:9
[INFO] [stdout]    |
[INFO] [stdout] 77 | /         spawn_boxed(async move {
[INFO] [stdout] 78 | |             nexus_async_rt::sleep(Duration::from_millis(10)).await;
[INFO] [stdout] 79 | |             let mut b = b_sock;
[INFO] [stdout] 80 | |             b.connect(a_addr).unwrap();
[INFO] [stdout] ...  |
[INFO] [stdout] 84 | |             flag.set(true);
[INFO] [stdout] 85 | |         });
[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] 77 |         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:108:9
[INFO] [stdout]     |
[INFO] [stdout] 108 | /         spawn_boxed(async move {
[INFO] [stdout] 109 | |             let mut s = server_sock;
[INFO] [stdout] 110 | |             let mut buf = [0u8; 64];
[INFO] [stdout] 111 | |             let (n, peer) = s.recv_from(&mut buf).await.unwrap();
[INFO] [stdout] 112 | |             s.send_to(&buf[..n], peer).await.unwrap();
[INFO] [stdout] 113 | |         });
[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] 108 |         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:115:9
[INFO] [stdout]     |
[INFO] [stdout] 115 | /         spawn_boxed(async move {
[INFO] [stdout] 116 | |             nexus_async_rt::sleep(Duration::from_millis(10)).await;
[INFO] [stdout] 117 | |             let mut c = UdpSocket::bind("127.0.0.1:0".parse().unwrap()).unwrap();
[INFO] [stdout] 118 | |             c.send_to(b"echo-me", server_addr).await.unwrap();
[INFO] [stdout] ...   |
[INFO] [stdout] 122 | |             flag.set(true);
[INFO] [stdout] 123 | |         });
[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] 115 |         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:146:9
[INFO] [stdout]     |
[INFO] [stdout] 146 | /         spawn_boxed(async move {
[INFO] [stdout] 147 | |             let mut s = recv_sock;
[INFO] [stdout] 148 | |             let mut buf = [0u8; 64];
[INFO] [stdout] 149 | |             for _ in 0..5 {
[INFO] [stdout] ...   |
[INFO] [stdout] 154 | |         });
[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] 146 |         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:156:9
[INFO] [stdout]     |
[INFO] [stdout] 156 | /         spawn_boxed(async move {
[INFO] [stdout] 157 | |             nexus_async_rt::sleep(Duration::from_millis(10)).await;
[INFO] [stdout] 158 | |             let mut c = UdpSocket::bind("127.0.0.1:0".parse().unwrap()).unwrap();
[INFO] [stdout] 159 | |             for i in 0..5u8 {
[INFO] [stdout] ...   |
[INFO] [stdout] 163 | |         });
[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] 156 |         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:225:9
[INFO] [stdout]     |
[INFO] [stdout] 225 | /         spawn_boxed(async move {
[INFO] [stdout] 226 | |             let a = a;
[INFO] [stdout] 227 | |             a.connect(b_addr).unwrap();
[INFO] [stdout] 228 | |             let n = a.try_send(b"try-data").unwrap();
[INFO] [stdout] 229 | |             assert_eq!(n, 8);
[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] 225 |         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:232:9
[INFO] [stdout]     |
[INFO] [stdout] 232 | /         spawn_boxed(async move {
[INFO] [stdout] 233 | |             nexus_async_rt::sleep(Duration::from_millis(50)).await;
[INFO] [stdout] 234 | |             let b = b;
[INFO] [stdout] 235 | |             b.connect(a_addr).unwrap();
[INFO] [stdout] ...   |
[INFO] [stdout] 246 | |         });
[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: unused `nexus_async_rt::JoinHandle` that must be used
[INFO] [stdout]    --> nexus-async-rt/tests/net_udp.rs:273:9
[INFO] [stdout]     |
[INFO] [stdout] 273 | /         spawn_boxed(async move {
[INFO] [stdout] 274 | |             let mut s = sock;
[INFO] [stdout] 275 | |             let mut buf = [0u8; 64];
[INFO] [stdout] 276 | |             let (n, _) = s.recv_from(&mut buf).await.unwrap();
[INFO] [stdout] 277 | |             assert_eq!(&buf[..n], b"from-std");
[INFO] [stdout] 278 | |             flag.set(true);
[INFO] [stdout] 279 | |         });
[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] 273 |         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:281:9
[INFO] [stdout]     |
[INFO] [stdout] 281 | /         spawn_boxed(async move {
[INFO] [stdout] 282 | |             nexus_async_rt::sleep(Duration::from_millis(10)).await;
[INFO] [stdout] 283 | |             let mut s = UdpSocket::bind("127.0.0.1:0".parse().unwrap()).unwrap();
[INFO] [stdout] 284 | |             s.send_to(b"from-std", addr).await.unwrap();
[INFO] [stdout] 285 | |         });
[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] 281 |         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:321:9
[INFO] [stdout]     |
[INFO] [stdout] 321 | /         spawn_boxed(async move {
[INFO] [stdout] 322 | |             let mut s = recv_sock;
[INFO] [stdout] 323 | |             let mut buf = [0u8; 64];
[INFO] [stdout] 324 | |             let (n, peer) = s.peek_from(&mut buf).await.unwrap();
[INFO] [stdout] ...   |
[INFO] [stdout] 329 | |             flag.set(true);
[INFO] [stdout] 330 | |         });
[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] 321 |         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:332:9
[INFO] [stdout]     |
[INFO] [stdout] 332 | /         spawn_boxed(async move {
[INFO] [stdout] 333 | |             nexus_async_rt::sleep(Duration::from_millis(10)).await;
[INFO] [stdout] 334 | |             let mut s = UdpSocket::bind("127.0.0.1:0".parse().unwrap()).unwrap();
[INFO] [stdout] 335 | |             s.send_to(b"peek-data", recv_addr).await.unwrap();
[INFO] [stdout] 336 | |         });
[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] 332 |         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:374:9
[INFO] [stdout]     |
[INFO] [stdout] 374 | /         spawn_boxed(async move {
[INFO] [stdout] 375 | |             let mut s = recv_sock;
[INFO] [stdout] 376 | |             let mut buf = [0u8; 64];
[INFO] [stdout] 377 | |             let (n, _) = s.recv_from(&mut buf).await.unwrap();
[INFO] [stdout] 378 | |             assert_eq!(&buf[..n], b"mcast");
[INFO] [stdout] 379 | |             flag.set(true);
[INFO] [stdout] 380 | |         });
[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] 374 |         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:382:9
[INFO] [stdout]     |
[INFO] [stdout] 382 | /         spawn_boxed(async move {
[INFO] [stdout] 383 | |             nexus_async_rt::sleep(Duration::from_millis(50)).await;
[INFO] [stdout] 384 | |             let mut s = UdpSocket::bind("0.0.0.0:0".parse().unwrap()).unwrap();
[INFO] [stdout] 385 | |             let target: std::net::SocketAddr = format!("239.255.0.1:{recv_port}").parse().unwrap();
[INFO] [stdout] 386 | |             s.send_to(b"mcast", target).await.unwrap();
[INFO] [stdout] 387 | |         });
[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] 382 |         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: 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 `nexus_async_rt::JoinHandle` that must be used
[INFO] [stdout]   --> nexus-async-rt/tests/net_tcp.rs:29:9
[INFO] [stdout]    |
[INFO] [stdout] 29 | /         spawn_boxed(async move {
[INFO] [stdout] 30 | |             let (mut s, _) = listener.accept().await.unwrap();
[INFO] [stdout] 31 | |             let mut buf = [0u8; 128];
[INFO] [stdout] 32 | |             let n = s.read(&mut buf).await.unwrap();
[INFO] [stdout] 33 | |             s.write_all(&buf[..n]).await.unwrap();
[INFO] [stdout] 34 | |         });
[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] 29 |         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:36:9
[INFO] [stdout]    |
[INFO] [stdout] 36 | /         spawn_boxed(async move {
[INFO] [stdout] 37 | |             nexus_async_rt::sleep(Duration::from_millis(10)).await;
[INFO] [stdout] 38 | |             let mut c = TcpStream::connect(addr).unwrap();
[INFO] [stdout] 39 | |             c.write_all(b"hello world").await.unwrap();
[INFO] [stdout] ...  |
[INFO] [stdout] 43 | |             flag.set(true);
[INFO] [stdout] 44 | |         });
[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] 36 |         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:64:9
[INFO] [stdout]    |
[INFO] [stdout] 64 | /         spawn_boxed(async move {
[INFO] [stdout] 65 | |             for _ in 0..3 {
[INFO] [stdout] 66 | |                 let (mut s, _) = listener.accept().await.unwrap();
[INFO] [stdout] 67 | |                 let mut buf = [0u8; 64];
[INFO] [stdout] ...  |
[INFO] [stdout] 72 | |         });
[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] 64 |         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:74:9
[INFO] [stdout]    |
[INFO] [stdout] 74 | /         spawn_boxed(async move {
[INFO] [stdout] 75 | |             nexus_async_rt::sleep(Duration::from_millis(10)).await;
[INFO] [stdout] 76 | |             for i in 0..3u8 {
[INFO] [stdout] 77 | |                 let mut c = TcpStream::connect(addr).unwrap();
[INFO] [stdout] ...  |
[INFO] [stdout] 84 | |         });
[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] 74 |         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:110:9
[INFO] [stdout]     |
[INFO] [stdout] 110 | /         spawn_boxed(async move {
[INFO] [stdout] 111 | |             let (mut s, _) = listener.accept().await.unwrap();
[INFO] [stdout] 112 | |             let mut received = Vec::new();
[INFO] [stdout] 113 | |             let mut buf = [0u8; 8192];
[INFO] [stdout] ...   |
[INFO] [stdout] 123 | |             flag.set(true);
[INFO] [stdout] 124 | |         });
[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] 110 |         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:126:9
[INFO] [stdout]     |
[INFO] [stdout] 126 | /         spawn_boxed(async move {
[INFO] [stdout] 127 | |             nexus_async_rt::sleep(Duration::from_millis(10)).await;
[INFO] [stdout] 128 | |             let mut c = TcpStream::connect(addr).unwrap();
[INFO] [stdout] 129 | |             c.write_all(&data).await.unwrap();
[INFO] [stdout] 130 | |         });
[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] 126 |         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:154:9
[INFO] [stdout]     |
[INFO] [stdout] 154 | /         spawn_boxed(async move {
[INFO] [stdout] 155 | |             let (mut s, _) = listener.accept().await.unwrap();
[INFO] [stdout] 156 | |             let (mut rd, mut wr) = s.split();
[INFO] [stdout] 157 | |             let mut buf = [0u8; 64];
[INFO] [stdout] ...   |
[INFO] [stdout] 164 | |                 .unwrap();
[INFO] [stdout] 165 | |         });
[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] 154 |         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:167:9
[INFO] [stdout]     |
[INFO] [stdout] 167 | /         spawn_boxed(async move {
[INFO] [stdout] 168 | |             nexus_async_rt::sleep(Duration::from_millis(10)).await;
[INFO] [stdout] 169 | |             let mut c = TcpStream::connect(addr).unwrap();
[INFO] [stdout] 170 | |             c.write_all(b"split").await.unwrap();
[INFO] [stdout] ...   |
[INFO] [stdout] 174 | |             flag.set(true);
[INFO] [stdout] 175 | |         });
[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/net_tcp.rs:193:9
[INFO] [stdout]     |
[INFO] [stdout] 193 | /         spawn_boxed(async move {
[INFO] [stdout] 194 | |             let (s, _) = listener.accept().await.unwrap();
[INFO] [stdout] 195 | |             let (read_half, write_half) = s.into_split();
[INFO] [stdout] 196 | |             let _stream = read_half.reunite(write_half).unwrap();
[INFO] [stdout] 197 | |         });
[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] 193 |         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:199:9
[INFO] [stdout]     |
[INFO] [stdout] 199 | /         spawn_boxed(async move {
[INFO] [stdout] 200 | |             nexus_async_rt::sleep(Duration::from_millis(10)).await;
[INFO] [stdout] 201 | |             let _c = TcpStream::connect(addr).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] 199 |         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:224:9
[INFO] [stdout]     |
[INFO] [stdout] 224 | /         spawn_boxed(async move {
[INFO] [stdout] 225 | |             let (s, _) = listener.accept().await.unwrap();
[INFO] [stdout] 226 | |             s.set_nodelay(true).unwrap();
[INFO] [stdout] 227 | |             assert!(s.nodelay().unwrap());
[INFO] [stdout] ...   |
[INFO] [stdout] 237 | |             flag.set(true);
[INFO] [stdout] 238 | |         });
[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] 224 |         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:240:9
[INFO] [stdout]     |
[INFO] [stdout] 240 | /         spawn_boxed(async move {
[INFO] [stdout] 241 | |             nexus_async_rt::sleep(Duration::from_millis(10)).await;
[INFO] [stdout] 242 | |             let _c = TcpStream::connect(addr).unwrap();
[INFO] [stdout] 243 | |             nexus_async_rt::sleep(Duration::from_millis(100)).await;
[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] 240 |         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:272:9
[INFO] [stdout]     |
[INFO] [stdout] 272 | /         spawn_boxed(async move {
[INFO] [stdout] 273 | |             let (mut s, _) = listener.accept().await.unwrap();
[INFO] [stdout] 274 | |             let mut buf = [0u8; 16];
[INFO] [stdout] 275 | |             let n = s.read(&mut buf).await.unwrap();
[INFO] [stdout] 276 | |             assert_eq!(&buf[..n], b"via-socket");
[INFO] [stdout] 277 | |             flag.set(true);
[INFO] [stdout] 278 | |         });
[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] 272 |         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:280:9
[INFO] [stdout]     |
[INFO] [stdout] 280 | /         spawn_boxed(async move {
[INFO] [stdout] 281 | |             nexus_async_rt::sleep(Duration::from_millis(10)).await;
[INFO] [stdout] 282 | |             let mut c = TcpStream::connect(addr).unwrap();
[INFO] [stdout] 283 | |             c.write_all(b"via-socket").await.unwrap();
[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] 280 |         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:308:9
[INFO] [stdout]     |
[INFO] [stdout] 308 | /         spawn_boxed(async move {
[INFO] [stdout] 309 | |             let (s, _) = listener.accept().await.unwrap();
[INFO] [stdout] 310 | |             match s.try_write(b"data") {
[INFO] [stdout] 311 | |                 Ok(n) => assert!(n > 0),
[INFO] [stdout] ...   |
[INFO] [stdout] 315 | |             flag.set(true);
[INFO] [stdout] 316 | |         });
[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] 308 |         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:318:9
[INFO] [stdout]     |
[INFO] [stdout] 318 | /         spawn_boxed(async move {
[INFO] [stdout] 319 | |             nexus_async_rt::sleep(Duration::from_millis(10)).await;
[INFO] [stdout] 320 | |             let _c = TcpStream::connect(addr).unwrap();
[INFO] [stdout] 321 | |             nexus_async_rt::sleep(Duration::from_millis(100)).await;
[INFO] [stdout] 322 | |         });
[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] 318 |         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:349:9
[INFO] [stdout]     |
[INFO] [stdout] 349 | /         spawn_boxed(async move {
[INFO] [stdout] 350 | |             let (mut s, _) = listener.accept().await.unwrap();
[INFO] [stdout] 351 | |             let mut buf = [0u8; 16];
[INFO] [stdout] 352 | |             let n = s.read(&mut buf).await.unwrap();
[INFO] [stdout] 353 | |             assert_eq!(&buf[..n], b"from_std");
[INFO] [stdout] 354 | |             flag.set(true);
[INFO] [stdout] 355 | |         });
[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] 349 |         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:357:9
[INFO] [stdout]     |
[INFO] [stdout] 357 | /         spawn_boxed(async move {
[INFO] [stdout] 358 | |             nexus_async_rt::sleep(Duration::from_millis(10)).await;
[INFO] [stdout] 359 | |             let mut c = TcpStream::connect(addr).unwrap();
[INFO] [stdout] 360 | |             c.write_all(b"from_std").await.unwrap();
[INFO] [stdout] 361 | |         });
[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] 357 |         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:381:9
[INFO] [stdout]     |
[INFO] [stdout] 381 | /         spawn_boxed(async move {
[INFO] [stdout] 382 | |             let (s, _) = listener.accept().await.unwrap();
[INFO] [stdout] 383 | |             let std_stream = s.into_std().unwrap();
[INFO] [stdout] 384 | |             assert!(std_stream.peer_addr().is_ok());
[INFO] [stdout] 385 | |             flag.set(true);
[INFO] [stdout] 386 | |         });
[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] 381 |         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:388:9
[INFO] [stdout]     |
[INFO] [stdout] 388 | /         spawn_boxed(async move {
[INFO] [stdout] 389 | |             nexus_async_rt::sleep(Duration::from_millis(10)).await;
[INFO] [stdout] 390 | |             let _c = TcpStream::connect(addr).unwrap();
[INFO] [stdout] 391 | |             nexus_async_rt::sleep(Duration::from_millis(100)).await;
[INFO] [stdout] 392 | |         });
[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] 388 |         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:417:9
[INFO] [stdout]     |
[INFO] [stdout] 417 | /         spawn_boxed(async move {
[INFO] [stdout] 418 | |             match TcpStream::connect(closed_addr) {
[INFO] [stdout] 419 | |                 Err(_) => flag.set(true),
[INFO] [stdout] 420 | |                 Ok(mut c) => {
[INFO] [stdout] ...   |
[INFO] [stdout] 427 | |         });
[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] 417 |         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:447:9
[INFO] [stdout]     |
[INFO] [stdout] 447 | /         spawn_boxed(async move {
[INFO] [stdout] 448 | |             let (_s, _) = listener.accept().await.unwrap();
[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] 447 |         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:451:9
[INFO] [stdout]     |
[INFO] [stdout] 451 | /         spawn_boxed(async move {
[INFO] [stdout] 452 | |             nexus_async_rt::sleep(Duration::from_millis(10)).await;
[INFO] [stdout] 453 | |             let mut c = TcpStream::connect(addr).unwrap();
[INFO] [stdout] 454 | |             nexus_async_rt::sleep(Duration::from_millis(50)).await;
[INFO] [stdout] ...   |
[INFO] [stdout] 458 | |             flag.set(true);
[INFO] [stdout] 459 | |         });
[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] 451 |         let _ = spawn_boxed(async move {
[INFO] [stdout]     |         +++++++
[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:1011:13
[INFO] [stdout]      |
[INFO] [stdout] 1011 | /             spawn_boxed(async move {
[INFO] [stdout] 1012 | |                 let mut listener = listener;
[INFO] [stdout] 1013 | |                 let (mut stream, _peer) = listener.accept().await.unwrap();
[INFO] [stdout] 1014 | |                 let mut buf = [0u8; 64];
[INFO] [stdout] 1015 | |                 let n = stream.read(&mut buf).await.unwrap();
[INFO] [stdout] 1016 | |                 stream.write_all(&buf[..n]).await.unwrap();
[INFO] [stdout] 1017 | |             });
[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] 1011 |             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:1020:13
[INFO] [stdout]      |
[INFO] [stdout] 1020 | /             spawn_boxed(async move {
[INFO] [stdout] 1021 | |                 crate::context::sleep(std::time::Duration::from_millis(10)).await;
[INFO] [stdout] 1022 | |                 let mut client = TcpStream::connect(addr).unwrap();
[INFO] [stdout] 1023 | |                 client.write_all(b"hello").await.unwrap();
[INFO] [stdout] ...    |
[INFO] [stdout] 1027 | |                 flag.set(true);
[INFO] [stdout] 1028 | |             });
[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] 1020 |             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:451:13
[INFO] [stdout]     |
[INFO] [stdout] 451 | /             spawn_boxed(async move {
[INFO] [stdout] 452 | |                 let mut sock = recv_sock;
[INFO] [stdout] 453 | |                 let mut buf = [0u8; 64];
[INFO] [stdout] 454 | |                 let (n, _from) = sock.recv_from(&mut buf).await.unwrap();
[INFO] [stdout] 455 | |                 assert_eq!(&buf[..n], b"test");
[INFO] [stdout] 456 | |                 flag.set(true);
[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] 451 |             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:460:13
[INFO] [stdout]     |
[INFO] [stdout] 460 | /             spawn_boxed(async move {
[INFO] [stdout] 461 | |                 crate::context::sleep(Duration::from_millis(10)).await;
[INFO] [stdout] 462 | |                 let mut sock = UdpSocket::bind("127.0.0.1:0".parse().unwrap()).unwrap();
[INFO] [stdout] 463 | |                 sock.send_to(b"test", recv_addr).await.unwrap();
[INFO] [stdout] 464 | |             });
[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] warning: unused `task::JoinHandle` that must be used
[INFO] [stdout]    --> nexus-async-rt/src/net/udp.rs:487:13
[INFO] [stdout]     |
[INFO] [stdout] 487 | /             spawn_boxed(async move {
[INFO] [stdout] 488 | |                 let mut server = server_sock;
[INFO] [stdout] 489 | |                 let mut buf = [0u8; 64];
[INFO] [stdout] 490 | |                 let (n, peer) = server.recv_from(&mut buf).await.unwrap();
[INFO] [stdout] 491 | |                 server.send_to(&buf[..n], peer).await.unwrap();
[INFO] [stdout] 492 | |             });
[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] 487 |             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:496:13
[INFO] [stdout]     |
[INFO] [stdout] 496 | /             spawn_boxed(async move {
[INFO] [stdout] 497 | |                 crate::context::sleep(Duration::from_millis(10)).await;
[INFO] [stdout] 498 | |                 let client_addr: SocketAddr = "127.0.0.1:0".parse().unwrap();
[INFO] [stdout] 499 | |                 let mut client = UdpSocket::bind(client_addr).unwrap();
[INFO] [stdout] ...   |
[INFO] [stdout] 504 | |                 flag.set(true);
[INFO] [stdout] 505 | |             });
[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] 496 |             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:529:13
[INFO] [stdout]     |
[INFO] [stdout] 529 | /             spawn_boxed(async move {
[INFO] [stdout] 530 | |                 let mut a = a_sock;
[INFO] [stdout] 531 | |                 a.connect(b_addr).unwrap();
[INFO] [stdout] 532 | |                 a.send(b"connected").await.unwrap();
[INFO] [stdout] 533 | |             });
[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] 529 |             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:536:13
[INFO] [stdout]     |
[INFO] [stdout] 536 | /             spawn_boxed(async move {
[INFO] [stdout] 537 | |                 crate::context::sleep(Duration::from_millis(10)).await;
[INFO] [stdout] 538 | |                 let mut b = b_sock;
[INFO] [stdout] 539 | |                 b.connect(a_addr).unwrap();
[INFO] [stdout] ...   |
[INFO] [stdout] 543 | |                 flag.set(true);
[INFO] [stdout] 544 | |             });
[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] 536 |             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::WorldCtx::current().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::WorldCtx::current().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::WorldCtx::current().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::WorldCtx::current().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::WorldCtx::current().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::WorldCtx::current().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::WorldCtx::current().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::WorldCtx::current().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::WorldCtx::current().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::WorldCtx::current().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:249:13
[INFO] [stdout]     |
[INFO] [stdout] 249 | /             spawn_boxed(async move {
[INFO] [stdout] 250 | |                 crate::context::sleep(std::time::Duration::from_millis(50)).await;
[INFO] [stdout] 251 | |                 sh.trigger();
[INFO] [stdout] 252 | |             });
[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] 249 |             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:293:13
[INFO] [stdout]     |
[INFO] [stdout] 293 | /             spawn_boxed(async move {
[INFO] [stdout] 294 | |                 crate::context::sleep(std::time::Duration::from_millis(50)).await;
[INFO] [stdout] 295 | |                 sh.trigger();
[INFO] [stdout] 296 | |             });
[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] 293 |             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:169:9
[INFO] [stdout]     |
[INFO] [stdout] 169 | /         executor.spawn_boxed(async move {
[INFO] [stdout] 170 | |             ctx.with_world(|world| {
[INFO] [stdout] 171 | |                 let v = world.resource::<Val>().0;
[INFO] [stdout] 172 | |                 world.resource_mut::<Out>().0 = v + 10;
[INFO] [stdout] 173 | |             });
[INFO] [stdout] 174 | |         });
[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] 169 |         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:193:9
[INFO] [stdout]     |
[INFO] [stdout] 193 | /         executor.spawn_boxed(async move {
[INFO] [stdout] 194 | |             let v = ctx.with_world_ref(|world| world.resource::<Val>().0);
[INFO] [stdout] 195 | |             // SAFETY: test-only, single-threaded, Cell is alive.
[INFO] [stdout] 196 | |             unsafe { &*result_ptr }.set(v);
[INFO] [stdout] 197 | |         });
[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] 193 |         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:220:9
[INFO] [stdout]     |
[INFO] [stdout] 220 | /         executor.spawn_boxed(async move {
[INFO] [stdout] 221 | |             ctx.with_world(|world| handler.run(world, 10));
[INFO] [stdout] 222 | |         });
[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] 220 |         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:241:9
[INFO] [stdout]     |
[INFO] [stdout] 241 | /         executor.spawn_boxed(async move {
[INFO] [stdout] 242 | |             let v = ctx.with_world(|world| world.resource::<Val>().0 * 6);
[INFO] [stdout] 243 | |             // SAFETY: test-only, single-threaded, Cell is alive.
[INFO] [stdout] 244 | |             unsafe { &*result_ptr }.set(v);
[INFO] [stdout] 245 | |         });
[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] 241 |         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:264:13
[INFO] [stdout]     |
[INFO] [stdout] 264 | /             executor.spawn_boxed(async move {
[INFO] [stdout] 265 | |                 ctx.with_world(|world| {
[INFO] [stdout] 266 | |                     world.resource_mut::<Out>().0 += i;
[INFO] [stdout] 267 | |                 });
[INFO] [stdout] 268 | |             });
[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] 264 |             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] For more information about this error, try `rustc --explain E0133`.
[INFO] [stdout] 
[INFO] [stderr]     Checking hyper-util v0.1.20
[INFO] [stderr]     Checking hyper-tls v0.6.0
[INFO] [stderr]     Checking reqwest v0.12.28
[INFO] [stderr]     Checking rustls-webpki v0.103.13
[INFO] [stderr]     Checking tokio-rustls v0.26.4
[INFO] [stderr]     Checking nexus-net v0.7.1 (/opt/rustwide/workdir/nexus-net)
[INFO] [stderr]     Checking tungstenite v0.29.0
[INFO] [stderr]     Checking nexus-async-net v0.8.0 (/opt/rustwide/workdir/nexus-async-net)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 42s
[INFO] running `Command { std: "docker" "inspect" "10a1af3e93f5b644657d1126b1982092dde72faa8e64ce558b26e2a33456779c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "10a1af3e93f5b644657d1126b1982092dde72faa8e64ce558b26e2a33456779c", kill_on_drop: false }`
[INFO] [stdout] 10a1af3e93f5b644657d1126b1982092dde72faa8e64ce558b26e2a33456779c
