[INFO] cloning repository https://github.com/mathisbot/forgedbackup [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/mathisbot/forgedbackup" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmathisbot%2Fforgedbackup", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmathisbot%2Fforgedbackup'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 5c8a7023f62e599746f17f858c132e7cafdf732a [INFO] checking mathisbot/forgedbackup against try#028201683a76a5cd349729c6819c46607119c4e8 for pr-144157 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmathisbot%2Fforgedbackup" "/workspace/builds/worker-0-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc2/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/mathisbot/forgedbackup [INFO] finished tweaking git repo https://github.com/mathisbot/forgedbackup [INFO] tweaked toml for git repo https://github.com/mathisbot/forgedbackup written to /workspace/builds/worker-0-tc2/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/mathisbot/forgedbackup on toolchain 028201683a76a5cd349729c6819c46607119c4e8 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+028201683a76a5cd349729c6819c46607119c4e8" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/mathisbot/forgedbackup already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+028201683a76a5cd349729c6819c46607119c4e8" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:cf8efcab8866f2cf4285301c7418e2f4f2a9b088c91ba69c40d5b659f81557f7" "/opt/rustwide/cargo-home/bin/cargo" "+028201683a76a5cd349729c6819c46607119c4e8" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 834c6ea94d1b0e45bb722d8ce7f467d09b69d91545a883cc2dcd736da7b8aeeb [INFO] running `Command { std: "docker" "start" "-a" "834c6ea94d1b0e45bb722d8ce7f467d09b69d91545a883cc2dcd736da7b8aeeb", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "834c6ea94d1b0e45bb722d8ce7f467d09b69d91545a883cc2dcd736da7b8aeeb", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "834c6ea94d1b0e45bb722d8ce7f467d09b69d91545a883cc2dcd736da7b8aeeb", kill_on_drop: false }` [INFO] [stdout] 834c6ea94d1b0e45bb722d8ce7f467d09b69d91545a883cc2dcd736da7b8aeeb [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=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:cf8efcab8866f2cf4285301c7418e2f4f2a9b088c91ba69c40d5b659f81557f7" "/opt/rustwide/cargo-home/bin/cargo" "+028201683a76a5cd349729c6819c46607119c4e8" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] a7620dc1d212b62f9aad40bd87e3540b58f9749347b8bb51355220658bc50fa6 [INFO] running `Command { std: "docker" "start" "-a" "a7620dc1d212b62f9aad40bd87e3540b58f9749347b8bb51355220658bc50fa6", kill_on_drop: false }` [INFO] [stderr] Compiling semver v1.0.23 [INFO] [stderr] Checking cpufeatures v0.2.13 [INFO] [stderr] Checking subtle v2.6.1 [INFO] [stderr] Compiling serde v1.0.209 [INFO] [stderr] Checking memchr v2.7.4 [INFO] [stderr] Checking byteorder v1.5.0 [INFO] [stderr] Compiling proc-macro2 v1.0.86 [INFO] [stderr] Checking winnow v0.6.18 [INFO] [stderr] Checking signature v2.2.0 [INFO] [stderr] Checking zeroize v1.8.1 [INFO] [stderr] Checking crypto-common v0.1.6 [INFO] [stderr] Checking inout v0.1.3 [INFO] [stderr] Checking bytes v1.7.1 [INFO] [stderr] Checking lz4_flex v0.11.3 [INFO] [stderr] Checking ed25519 v2.2.3 [INFO] [stderr] Checking digest v0.10.7 [INFO] [stderr] Checking cipher v0.4.4 [INFO] [stderr] Checking aead v0.5.2 [INFO] [stderr] Checking universal-hash v0.5.1 [INFO] [stderr] Checking polyval v0.6.2 [INFO] [stderr] Checking aes v0.8.4 [INFO] [stderr] Checking ctr v0.9.2 [INFO] [stderr] Checking sha2 v0.10.8 [INFO] [stderr] Checking ghash v0.5.1 [INFO] [stderr] Compiling rustc_version v0.4.1 [INFO] [stderr] Compiling quote v1.0.37 [INFO] [stderr] Checking aho-corasick v1.1.3 [INFO] [stderr] Compiling curve25519-dalek v4.1.3 [INFO] [stderr] Compiling syn v2.0.77 [INFO] [stderr] Checking aes-gcm v0.10.3 [INFO] [stderr] Checking regex-automata v0.4.7 [INFO] [stderr] Checking regex v1.10.6 [INFO] [stderr] Checking serde_spanned v0.6.7 [INFO] [stderr] Checking toml_datetime v0.6.8 [INFO] [stderr] Checking env_logger v0.10.2 [INFO] [stderr] Checking toml_edit v0.22.20 [INFO] [stderr] Checking pretty_env_logger v0.5.0 [INFO] [stderr] Compiling zerocopy-derive v0.7.35 [INFO] [stderr] Compiling curve25519-dalek-derive v0.1.1 [INFO] [stderr] Compiling tokio-macros v2.4.0 [INFO] [stderr] Checking tokio v1.40.0 [INFO] [stderr] Checking toml v0.8.19 [INFO] [stderr] Checking zerocopy v0.7.35 [INFO] [stderr] Checking ppv-lite86 v0.2.20 [INFO] [stderr] Checking rand_chacha v0.3.1 [INFO] [stderr] Checking rand v0.8.5 [INFO] [stderr] Checking ed25519-dalek v2.1.1 [INFO] [stderr] Checking forgedbackup v0.1.1 (/opt/rustwide/workdir) [INFO] [stdout] error[E0275]: overflow evaluating the requirement `(tokio::fs::ReadDir, &mut DuplexStream): Send` [INFO] [stdout] | [INFO] [stdout] = help: consider increasing the recursion limit by adding a `#![recursion_limit = "256"]` attribute to your crate (`forgedbackup`) [INFO] [stdout] note: required because it's used within this `async` block [INFO] [stdout] --> /opt/rustwide/workdir/src/fadc.rs:11:14 [INFO] [stdout] | [INFO] [stdout] 11 | Box::pin(async move { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] = note: required for `Unique<{async block@fadc::crawl_dir::{closure#0}::{closure#0}}>` to implement `Send` [INFO] [stdout] note: required because it appears within the type `Box<{async block@fadc::crawl_dir::{closure#0}::{closure#0}}>` [INFO] [stdout] --> /rustc/028201683a76a5cd349729c6819c46607119c4e8/library/alloc/src/boxed.rs:231:12 [INFO] [stdout] note: required because it appears within the type `Pin>` [INFO] [stdout] --> /rustc/028201683a76a5cd349729c6819c46607119c4e8/library/core/src/pin.rs:1094:12 [INFO] [stdout] note: required because it's used within this `async` fn body [INFO] [stdout] --> /opt/rustwide/workdir/src/fadc.rs:10:97 [INFO] [stdout] | [INFO] [stdout] 10 | async fn crawl_dir(mut directory: ReadDir, tx: &mut DuplexStream) -> Result<(), std::io::Error> { [INFO] [stdout] | _________________________________________________________________________________________________^ [INFO] [stdout] 11 | | Box::pin(async move { [INFO] [stdout] 12 | | while let Some(entry) = directory.next_entry().await? { [INFO] [stdout] 13 | | let metadata = entry.metadata().await?; [INFO] [stdout] ... | [INFO] [stdout] 48 | | .await [INFO] [stdout] 49 | | } [INFO] [stdout] | |_^ [INFO] [stdout] note: required because it's used within this `async` block [INFO] [stdout] --> /opt/rustwide/workdir/src/fadc.rs:11:14 [INFO] [stdout] | [INFO] [stdout] 11 | Box::pin(async move { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] = note: required for `Unique<{async block@fadc::crawl_dir::{closure#0}::{closure#0}}>` to implement `Send` [INFO] [stdout] note: required because it appears within the type `Box<{async block@fadc::crawl_dir::{closure#0}::{closure#0}}>` [INFO] [stdout] --> /rustc/028201683a76a5cd349729c6819c46607119c4e8/library/alloc/src/boxed.rs:231:12 [INFO] [stdout] note: required because it appears within the type `Pin>` [INFO] [stdout] --> /rustc/028201683a76a5cd349729c6819c46607119c4e8/library/core/src/pin.rs:1094:12 [INFO] [stdout] note: required because it's used within this `async` fn body [INFO] [stdout] --> /opt/rustwide/workdir/src/fadc.rs:10:97 [INFO] [stdout] | [INFO] [stdout] 10 | async fn crawl_dir(mut directory: ReadDir, tx: &mut DuplexStream) -> Result<(), std::io::Error> { [INFO] [stdout] | _________________________________________________________________________________________________^ [INFO] [stdout] 11 | | Box::pin(async move { [INFO] [stdout] 12 | | while let Some(entry) = directory.next_entry().await? { [INFO] [stdout] 13 | | let metadata = entry.metadata().await?; [INFO] [stdout] ... | [INFO] [stdout] 48 | | .await [INFO] [stdout] 49 | | } [INFO] [stdout] | |_^ [INFO] [stdout] note: required because it's used within this `async` block [INFO] [stdout] --> /opt/rustwide/workdir/src/fadc.rs:11:14 [INFO] [stdout] | [INFO] [stdout] 11 | Box::pin(async move { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] = note: required for `Unique<{async block@fadc::crawl_dir::{closure#0}::{closure#0}}>` to implement `Send` [INFO] [stdout] note: required because it appears within the type `Box<{async block@fadc::crawl_dir::{closure#0}::{closure#0}}>` [INFO] [stdout] --> /rustc/028201683a76a5cd349729c6819c46607119c4e8/library/alloc/src/boxed.rs:231:12 [INFO] [stdout] note: required because it appears within the type `Pin>` [INFO] [stdout] --> /rustc/028201683a76a5cd349729c6819c46607119c4e8/library/core/src/pin.rs:1094:12 [INFO] [stdout] note: required because it's used within this `async` fn body [INFO] [stdout] --> /opt/rustwide/workdir/src/fadc.rs:10:97 [INFO] [stdout] | [INFO] [stdout] 10 | async fn crawl_dir(mut directory: ReadDir, tx: &mut DuplexStream) -> Result<(), std::io::Error> { [INFO] [stdout] | _________________________________________________________________________________________________^ [INFO] [stdout] 11 | | Box::pin(async move { [INFO] [stdout] 12 | | while let Some(entry) = directory.next_entry().await? { [INFO] [stdout] 13 | | let metadata = entry.metadata().await?; [INFO] [stdout] ... | [INFO] [stdout] 48 | | .await [INFO] [stdout] 49 | | } [INFO] [stdout] | |_^ [INFO] [stdout] note: required because it's used within this `async` block [INFO] [stdout] --> /opt/rustwide/workdir/src/fadc.rs:11:14 [INFO] [stdout] | [INFO] [stdout] 11 | Box::pin(async move { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] = note: required for `Unique<{async block@fadc::crawl_dir::{closure#0}::{closure#0}}>` to implement `Send` [INFO] [stdout] note: required because it appears within the type `Box<{async block@fadc::crawl_dir::{closure#0}::{closure#0}}>` [INFO] [stdout] --> /rustc/028201683a76a5cd349729c6819c46607119c4e8/library/alloc/src/boxed.rs:231:12 [INFO] [stdout] note: required because it appears within the type `Pin>` [INFO] [stdout] --> /rustc/028201683a76a5cd349729c6819c46607119c4e8/library/core/src/pin.rs:1094:12 [INFO] [stdout] note: required because it's used within this `async` fn body [INFO] [stdout] --> /opt/rustwide/workdir/src/fadc.rs:10:97 [INFO] [stdout] | [INFO] [stdout] 10 | async fn crawl_dir(mut directory: ReadDir, tx: &mut DuplexStream) -> Result<(), std::io::Error> { [INFO] [stdout] | _________________________________________________________________________________________________^ [INFO] [stdout] 11 | | Box::pin(async move { [INFO] [stdout] 12 | | while let Some(entry) = directory.next_entry().await? { [INFO] [stdout] 13 | | let metadata = entry.metadata().await?; [INFO] [stdout] ... | [INFO] [stdout] 48 | | .await [INFO] [stdout] 49 | | } [INFO] [stdout] | |_^ [INFO] [stdout] note: required because it's used within this `async` block [INFO] [stdout] --> /opt/rustwide/workdir/src/fadc.rs:11:14 [INFO] [stdout] | [INFO] [stdout] 11 | Box::pin(async move { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] = note: required for `Unique<{async block@fadc::crawl_dir::{closure#0}::{closure#0}}>` to implement `Send` [INFO] [stdout] note: required because it appears within the type `Box<{async block@fadc::crawl_dir::{closure#0}::{closure#0}}>` [INFO] [stdout] --> /rustc/028201683a76a5cd349729c6819c46607119c4e8/library/alloc/src/boxed.rs:231:12 [INFO] [stdout] note: required because it appears within the type `Pin>` [INFO] [stdout] --> /rustc/028201683a76a5cd349729c6819c46607119c4e8/library/core/src/pin.rs:1094:12 [INFO] [stdout] note: required because it's used within this `async` fn body [INFO] [stdout] --> /opt/rustwide/workdir/src/fadc.rs:10:97 [INFO] [stdout] | [INFO] [stdout] 10 | async fn crawl_dir(mut directory: ReadDir, tx: &mut DuplexStream) -> Result<(), std::io::Error> { [INFO] [stdout] | _________________________________________________________________________________________________^ [INFO] [stdout] 11 | | Box::pin(async move { [INFO] [stdout] 12 | | while let Some(entry) = directory.next_entry().await? { [INFO] [stdout] 13 | | let metadata = entry.metadata().await?; [INFO] [stdout] ... | [INFO] [stdout] 48 | | .await [INFO] [stdout] 49 | | } [INFO] [stdout] | |_^ [INFO] [stdout] note: required because it's used within this `async` block [INFO] [stdout] --> /opt/rustwide/workdir/src/fadc.rs:11:14 [INFO] [stdout] | [INFO] [stdout] 11 | Box::pin(async move { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] = note: required for `Unique<{async block@fadc::crawl_dir::{closure#0}::{closure#0}}>` to implement `Send` [INFO] [stdout] note: required because it appears within the type `Box<{async block@fadc::crawl_dir::{closure#0}::{closure#0}}>` [INFO] [stdout] --> /rustc/028201683a76a5cd349729c6819c46607119c4e8/library/alloc/src/boxed.rs:231:12 [INFO] [stdout] note: required because it appears within the type `Pin>` [INFO] [stdout] --> /rustc/028201683a76a5cd349729c6819c46607119c4e8/library/core/src/pin.rs:1094:12 [INFO] [stdout] note: required because it's used within this `async` fn body [INFO] [stdout] --> /opt/rustwide/workdir/src/fadc.rs:10:97 [INFO] [stdout] | [INFO] [stdout] 10 | async fn crawl_dir(mut directory: ReadDir, tx: &mut DuplexStream) -> Result<(), std::io::Error> { [INFO] [stdout] | _________________________________________________________________________________________________^ [INFO] [stdout] 11 | | Box::pin(async move { [INFO] [stdout] 12 | | while let Some(entry) = directory.next_entry().await? { [INFO] [stdout] 13 | | let metadata = entry.metadata().await?; [INFO] [stdout] ... | [INFO] [stdout] 48 | | .await [INFO] [stdout] 49 | | } [INFO] [stdout] | |_^ [INFO] [stdout] note: required because it's used within this `async` block [INFO] [stdout] --> /opt/rustwide/workdir/src/fadc.rs:11:14 [INFO] [stdout] | [INFO] [stdout] 11 | Box::pin(async move { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] = note: required for `Unique<{async block@fadc::crawl_dir::{closure#0}::{closure#0}}>` to implement `Send` [INFO] [stdout] note: required because it appears within the type `Box<{async block@fadc::crawl_dir::{closure#0}::{closure#0}}>` [INFO] [stdout] --> /rustc/028201683a76a5cd349729c6819c46607119c4e8/library/alloc/src/boxed.rs:231:12 [INFO] [stdout] note: required because it appears within the type `Pin>` [INFO] [stdout] --> /rustc/028201683a76a5cd349729c6819c46607119c4e8/library/core/src/pin.rs:1094:12 [INFO] [stdout] note: required because it's used within this `async` fn body [INFO] [stdout] --> /opt/rustwide/workdir/src/fadc.rs:10:97 [INFO] [stdout] | [INFO] [stdout] 10 | async fn crawl_dir(mut directory: ReadDir, tx: &mut DuplexStream) -> Result<(), std::io::Error> { [INFO] [stdout] | _________________________________________________________________________________________________^ [INFO] [stdout] 11 | | Box::pin(async move { [INFO] [stdout] 12 | | while let Some(entry) = directory.next_entry().await? { [INFO] [stdout] 13 | | let metadata = entry.metadata().await?; [INFO] [stdout] ... | [INFO] [stdout] 48 | | .await [INFO] [stdout] 49 | | } [INFO] [stdout] | |_^ [INFO] [stdout] note: required because it's used within this `async` block [INFO] [stdout] --> /opt/rustwide/workdir/src/fadc.rs:11:14 [INFO] [stdout] | [INFO] [stdout] 11 | Box::pin(async move { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] = note: required for `Unique<{async block@fadc::crawl_dir::{closure#0}::{closure#0}}>` to implement `Send` [INFO] [stdout] note: required because it appears within the type `Box<{async block@fadc::crawl_dir::{closure#0}::{closure#0}}>` [INFO] [stdout] --> /rustc/028201683a76a5cd349729c6819c46607119c4e8/library/alloc/src/boxed.rs:231:12 [INFO] [stdout] note: required because it appears within the type `Pin>` [INFO] [stdout] --> /rustc/028201683a76a5cd349729c6819c46607119c4e8/library/core/src/pin.rs:1094:12 [INFO] [stdout] note: required because it's used within this `async` fn body [INFO] [stdout] --> /opt/rustwide/workdir/src/fadc.rs:10:97 [INFO] [stdout] | [INFO] [stdout] 10 | async fn crawl_dir(mut directory: ReadDir, tx: &mut DuplexStream) -> Result<(), std::io::Error> { [INFO] [stdout] | _________________________________________________________________________________________________^ [INFO] [stdout] 11 | | Box::pin(async move { [INFO] [stdout] 12 | | while let Some(entry) = directory.next_entry().await? { [INFO] [stdout] 13 | | let metadata = entry.metadata().await?; [INFO] [stdout] ... | [INFO] [stdout] 48 | | .await [INFO] [stdout] 49 | | } [INFO] [stdout] | |_^ [INFO] [stdout] note: required because it's used within this `async` block [INFO] [stdout] --> /opt/rustwide/workdir/src/fadc.rs:11:14 [INFO] [stdout] | [INFO] [stdout] 11 | Box::pin(async move { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] = note: required for `Unique<{async block@fadc::crawl_dir::{closure#0}::{closure#0}}>` to implement `Send` [INFO] [stdout] note: required because it appears within the type `Box<{async block@fadc::crawl_dir::{closure#0}::{closure#0}}>` [INFO] [stdout] --> /rustc/028201683a76a5cd349729c6819c46607119c4e8/library/alloc/src/boxed.rs:231:12 [INFO] [stdout] note: required because it appears within the type `Pin>` [INFO] [stdout] --> /rustc/028201683a76a5cd349729c6819c46607119c4e8/library/core/src/pin.rs:1094:12 [INFO] [stdout] note: required because it's used within this `async` fn body [INFO] [stdout] --> /opt/rustwide/workdir/src/fadc.rs:10:97 [INFO] [stdout] | [INFO] [stdout] 10 | async fn crawl_dir(mut directory: ReadDir, tx: &mut DuplexStream) -> Result<(), std::io::Error> { [INFO] [stdout] | _________________________________________________________________________________________________^ [INFO] [stdout] 11 | | Box::pin(async move { [INFO] [stdout] 12 | | while let Some(entry) = directory.next_entry().await? { [INFO] [stdout] 13 | | let metadata = entry.metadata().await?; [INFO] [stdout] ... | [INFO] [stdout] 48 | | .await [INFO] [stdout] 49 | | } [INFO] [stdout] | |_^ [INFO] [stdout] note: required because it's used within this `async` block [INFO] [stdout] --> /opt/rustwide/workdir/src/fadc.rs:11:14 [INFO] [stdout] | [INFO] [stdout] 11 | Box::pin(async move { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] = note: required for `Unique<{async block@fadc::crawl_dir::{closure#0}::{closure#0}}>` to implement `Send` [INFO] [stdout] note: required because it appears within the type `Box<{async block@fadc::crawl_dir::{closure#0}::{closure#0}}>` [INFO] [stdout] --> /rustc/028201683a76a5cd349729c6819c46607119c4e8/library/alloc/src/boxed.rs:231:12 [INFO] [stdout] note: required because it appears within the type `Pin>` [INFO] [stdout] --> /rustc/028201683a76a5cd349729c6819c46607119c4e8/library/core/src/pin.rs:1094:12 [INFO] [stdout] note: required because it's used within this `async` fn body [INFO] [stdout] --> /opt/rustwide/workdir/src/fadc.rs:10:97 [INFO] [stdout] | [INFO] [stdout] 10 | async fn crawl_dir(mut directory: ReadDir, tx: &mut DuplexStream) -> Result<(), std::io::Error> { [INFO] [stdout] | _________________________________________________________________________________________________^ [INFO] [stdout] 11 | | Box::pin(async move { [INFO] [stdout] 12 | | while let Some(entry) = directory.next_entry().await? { [INFO] [stdout] 13 | | let metadata = entry.metadata().await?; [INFO] [stdout] ... | [INFO] [stdout] 48 | | .await [INFO] [stdout] 49 | | } [INFO] [stdout] | |_^ [INFO] [stdout] note: required because it's used within this `async` block [INFO] [stdout] --> /opt/rustwide/workdir/src/fadc.rs:11:14 [INFO] [stdout] | [INFO] [stdout] 11 | Box::pin(async move { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] = note: required for `Unique<{async block@fadc::crawl_dir::{closure#0}::{closure#0}}>` to implement `Send` [INFO] [stdout] note: required because it appears within the type `Box<{async block@fadc::crawl_dir::{closure#0}::{closure#0}}>` [INFO] [stdout] --> /rustc/028201683a76a5cd349729c6819c46607119c4e8/library/alloc/src/boxed.rs:231:12 [INFO] [stdout] note: required because it appears within the type `Pin>` [INFO] [stdout] --> /rustc/028201683a76a5cd349729c6819c46607119c4e8/library/core/src/pin.rs:1094:12 [INFO] [stdout] note: required because it's used within this `async` fn body [INFO] [stdout] --> /opt/rustwide/workdir/src/fadc.rs:10:97 [INFO] [stdout] | [INFO] [stdout] 10 | async fn crawl_dir(mut directory: ReadDir, tx: &mut DuplexStream) -> Result<(), std::io::Error> { [INFO] [stdout] | _________________________________________________________________________________________________^ [INFO] [stdout] 11 | | Box::pin(async move { [INFO] [stdout] 12 | | while let Some(entry) = directory.next_entry().await? { [INFO] [stdout] 13 | | let metadata = entry.metadata().await?; [INFO] [stdout] ... | [INFO] [stdout] 48 | | .await [INFO] [stdout] 49 | | } [INFO] [stdout] | |_^ [INFO] [stdout] note: required because it's used within this `async` block [INFO] [stdout] --> /opt/rustwide/workdir/src/fadc.rs:11:14 [INFO] [stdout] | [INFO] [stdout] 11 | Box::pin(async move { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] = note: required for `Unique<{async block@fadc::crawl_dir::{closure#0}::{closure#0}}>` to implement `Send` [INFO] [stdout] note: required because it appears within the type `Box<{async block@fadc::crawl_dir::{closure#0}::{closure#0}}>` [INFO] [stdout] --> /rustc/028201683a76a5cd349729c6819c46607119c4e8/library/alloc/src/boxed.rs:231:12 [INFO] [stdout] note: required because it appears within the type `Pin>` [INFO] [stdout] --> /rustc/028201683a76a5cd349729c6819c46607119c4e8/library/core/src/pin.rs:1094:12 [INFO] [stdout] note: required because it's used within this `async` fn body [INFO] [stdout] --> /opt/rustwide/workdir/src/fadc.rs:10:97 [INFO] [stdout] | [INFO] [stdout] 10 | async fn crawl_dir(mut directory: ReadDir, tx: &mut DuplexStream) -> Result<(), std::io::Error> { [INFO] [stdout] | _________________________________________________________________________________________________^ [INFO] [stdout] 11 | | Box::pin(async move { [INFO] [stdout] 12 | | while let Some(entry) = directory.next_entry().await? { [INFO] [stdout] 13 | | let metadata = entry.metadata().await?; [INFO] [stdout] ... | [INFO] [stdout] 48 | | .await [INFO] [stdout] 49 | | } [INFO] [stdout] | |_^ [INFO] [stdout] note: required because it's used within this `async` block [INFO] [stdout] --> /opt/rustwide/workdir/src/fadc.rs:11:14 [INFO] [stdout] | [INFO] [stdout] 11 | Box::pin(async move { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] = note: required for `Unique<{async block@fadc::crawl_dir::{closure#0}::{closure#0}}>` to implement `Send` [INFO] [stdout] note: required because it appears within the type `Box<{async block@fadc::crawl_dir::{closure#0}::{closure#0}}>` [INFO] [stdout] --> /rustc/028201683a76a5cd349729c6819c46607119c4e8/library/alloc/src/boxed.rs:231:12 [INFO] [stdout] note: required because it appears within the type `Pin>` [INFO] [stdout] --> /rustc/028201683a76a5cd349729c6819c46607119c4e8/library/core/src/pin.rs:1094:12 [INFO] [stdout] note: required because it's used within this `async` fn body [INFO] [stdout] --> /opt/rustwide/workdir/src/fadc.rs:10:97 [INFO] [stdout] | [INFO] [stdout] 10 | async fn crawl_dir(mut directory: ReadDir, tx: &mut DuplexStream) -> Result<(), std::io::Error> { [INFO] [stdout] | _________________________________________________________________________________________________^ [INFO] [stdout] 11 | | Box::pin(async move { [INFO] [stdout] 12 | | while let Some(entry) = directory.next_entry().await? { [INFO] [stdout] 13 | | let metadata = entry.metadata().await?; [INFO] [stdout] ... | [INFO] [stdout] 48 | | .await [INFO] [stdout] 49 | | } [INFO] [stdout] | |_^ [INFO] [stdout] note: required because it's used within this `async` block [INFO] [stdout] --> /opt/rustwide/workdir/src/fadc.rs:11:14 [INFO] [stdout] | [INFO] [stdout] 11 | Box::pin(async move { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] = note: required for `Unique<{async block@fadc::crawl_dir::{closure#0}::{closure#0}}>` to implement `Send` [INFO] [stdout] note: required because it appears within the type `Box<{async block@fadc::crawl_dir::{closure#0}::{closure#0}}>` [INFO] [stdout] --> /rustc/028201683a76a5cd349729c6819c46607119c4e8/library/alloc/src/boxed.rs:231:12 [INFO] [stdout] note: required because it appears within the type `Pin>` [INFO] [stdout] --> /rustc/028201683a76a5cd349729c6819c46607119c4e8/library/core/src/pin.rs:1094:12 [INFO] [stdout] note: required because it's used within this `async` fn body [INFO] [stdout] --> /opt/rustwide/workdir/src/fadc.rs:10:97 [INFO] [stdout] | [INFO] [stdout] 10 | async fn crawl_dir(mut directory: ReadDir, tx: &mut DuplexStream) -> Result<(), std::io::Error> { [INFO] [stdout] | _________________________________________________________________________________________________^ [INFO] [stdout] 11 | | Box::pin(async move { [INFO] [stdout] 12 | | while let Some(entry) = directory.next_entry().await? { [INFO] [stdout] 13 | | let metadata = entry.metadata().await?; [INFO] [stdout] ... | [INFO] [stdout] 48 | | .await [INFO] [stdout] 49 | | } [INFO] [stdout] | |_^ [INFO] [stdout] note: required because it's used within this `async` block [INFO] [stdout] --> /opt/rustwide/workdir/src/fadc.rs:11:14 [INFO] [stdout] | [INFO] [stdout] 11 | Box::pin(async move { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] = note: required for `Unique<{async block@fadc::crawl_dir::{closure#0}::{closure#0}}>` to implement `Send` [INFO] [stdout] note: required because it appears within the type `Box<{async block@fadc::crawl_dir::{closure#0}::{closure#0}}>` [INFO] [stdout] --> /rustc/028201683a76a5cd349729c6819c46607119c4e8/library/alloc/src/boxed.rs:231:12 [INFO] [stdout] note: required because it appears within the type `Pin>` [INFO] [stdout] --> /rustc/028201683a76a5cd349729c6819c46607119c4e8/library/core/src/pin.rs:1094:12 [INFO] [stdout] note: required because it's used within this `async` fn body [INFO] [stdout] --> /opt/rustwide/workdir/src/fadc.rs:10:97 [INFO] [stdout] | [INFO] [stdout] 10 | async fn crawl_dir(mut directory: ReadDir, tx: &mut DuplexStream) -> Result<(), std::io::Error> { [INFO] [stdout] | _________________________________________________________________________________________________^ [INFO] [stdout] 11 | | Box::pin(async move { [INFO] [stdout] 12 | | while let Some(entry) = directory.next_entry().await? { [INFO] [stdout] 13 | | let metadata = entry.metadata().await?; [INFO] [stdout] ... | [INFO] [stdout] 48 | | .await [INFO] [stdout] 49 | | } [INFO] [stdout] | |_^ [INFO] [stdout] note: required because it's used within this `async` block [INFO] [stdout] --> /opt/rustwide/workdir/src/fadc.rs:11:14 [INFO] [stdout] | [INFO] [stdout] 11 | Box::pin(async move { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] = note: required for `Unique<{async block@fadc::crawl_dir::{closure#0}::{closure#0}}>` to implement `Send` [INFO] [stdout] note: required because it appears within the type `Box<{async block@fadc::crawl_dir::{closure#0}::{closure#0}}>` [INFO] [stdout] --> /rustc/028201683a76a5cd349729c6819c46607119c4e8/library/alloc/src/boxed.rs:231:12 [INFO] [stdout] note: required because it appears within the type `Pin>` [INFO] [stdout] --> /rustc/028201683a76a5cd349729c6819c46607119c4e8/library/core/src/pin.rs:1094:12 [INFO] [stdout] note: required because it's used within this `async` fn body [INFO] [stdout] --> /opt/rustwide/workdir/src/fadc.rs:10:97 [INFO] [stdout] | [INFO] [stdout] 10 | async fn crawl_dir(mut directory: ReadDir, tx: &mut DuplexStream) -> Result<(), std::io::Error> { [INFO] [stdout] | _________________________________________________________________________________________________^ [INFO] [stdout] 11 | | Box::pin(async move { [INFO] [stdout] 12 | | while let Some(entry) = directory.next_entry().await? { [INFO] [stdout] 13 | | let metadata = entry.metadata().await?; [INFO] [stdout] ... | [INFO] [stdout] 48 | | .await [INFO] [stdout] 49 | | } [INFO] [stdout] | |_^ [INFO] [stdout] note: required because it's used within this `async` block [INFO] [stdout] --> /opt/rustwide/workdir/src/fadc.rs:11:14 [INFO] [stdout] | [INFO] [stdout] 11 | Box::pin(async move { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] = note: required for `Unique<{async block@fadc::crawl_dir::{closure#0}::{closure#0}}>` to implement `Send` [INFO] [stdout] note: required because it appears within the type `Box<{async block@fadc::crawl_dir::{closure#0}::{closure#0}}>` [INFO] [stdout] --> /rustc/028201683a76a5cd349729c6819c46607119c4e8/library/alloc/src/boxed.rs:231:12 [INFO] [stdout] note: required because it appears within the type `Pin>` [INFO] [stdout] --> /rustc/028201683a76a5cd349729c6819c46607119c4e8/library/core/src/pin.rs:1094:12 [INFO] [stdout] note: required because it's used within this `async` fn body [INFO] [stdout] --> /opt/rustwide/workdir/src/fadc.rs:10:97 [INFO] [stdout] | [INFO] [stdout] 10 | async fn crawl_dir(mut directory: ReadDir, tx: &mut DuplexStream) -> Result<(), std::io::Error> { [INFO] [stdout] | _________________________________________________________________________________________________^ [INFO] [stdout] 11 | | Box::pin(async move { [INFO] [stdout] 12 | | while let Some(entry) = directory.next_entry().await? { [INFO] [stdout] 13 | | let metadata = entry.metadata().await?; [INFO] [stdout] ... | [INFO] [stdout] 48 | | .await [INFO] [stdout] 49 | | } [INFO] [stdout] | |_^ [INFO] [stdout] note: required because it's used within this `async` block [INFO] [stdout] --> /opt/rustwide/workdir/src/fadc.rs:11:14 [INFO] [stdout] | [INFO] [stdout] 11 | Box::pin(async move { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] = note: required for `Unique<{async block@fadc::crawl_dir::{closure#0}::{closure#0}}>` to implement `Send` [INFO] [stdout] note: required because it appears within the type `Box<{async block@fadc::crawl_dir::{closure#0}::{closure#0}}>` [INFO] [stdout] --> /rustc/028201683a76a5cd349729c6819c46607119c4e8/library/alloc/src/boxed.rs:231:12 [INFO] [stdout] note: required because it appears within the type `Pin>` [INFO] [stdout] --> /rustc/028201683a76a5cd349729c6819c46607119c4e8/library/core/src/pin.rs:1094:12 [INFO] [stdout] note: required because it's used within this `async` fn body [INFO] [stdout] --> /opt/rustwide/workdir/src/fadc.rs:10:97 [INFO] [stdout] | [INFO] [stdout] 10 | async fn crawl_dir(mut directory: ReadDir, tx: &mut DuplexStream) -> Result<(), std::io::Error> { [INFO] [stdout] | _________________________________________________________________________________________________^ [INFO] [stdout] 11 | | Box::pin(async move { [INFO] [stdout] 12 | | while let Some(entry) = directory.next_entry().await? { [INFO] [stdout] 13 | | let metadata = entry.metadata().await?; [INFO] [stdout] ... | [INFO] [stdout] 48 | | .await [INFO] [stdout] 49 | | } [INFO] [stdout] | |_^ [INFO] [stdout] note: required because it's used within this `async` block [INFO] [stdout] --> /opt/rustwide/workdir/src/fadc.rs:11:14 [INFO] [stdout] | [INFO] [stdout] 11 | Box::pin(async move { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] = note: required for `Unique<{async block@fadc::crawl_dir::{closure#0}::{closure#0}}>` to implement `Send` [INFO] [stdout] note: required because it appears within the type `Box<{async block@fadc::crawl_dir::{closure#0}::{closure#0}}>` [INFO] [stdout] --> /rustc/028201683a76a5cd349729c6819c46607119c4e8/library/alloc/src/boxed.rs:231:12 [INFO] [stdout] note: required because it appears within the type `Pin>` [INFO] [stdout] --> /rustc/028201683a76a5cd349729c6819c46607119c4e8/library/core/src/pin.rs:1094:12 [INFO] [stdout] note: required because it's used within this `async` fn body [INFO] [stdout] --> /opt/rustwide/workdir/src/fadc.rs:10:97 [INFO] [stdout] | [INFO] [stdout] 10 | async fn crawl_dir(mut directory: ReadDir, tx: &mut DuplexStream) -> Result<(), std::io::Error> { [INFO] [stdout] | _________________________________________________________________________________________________^ [INFO] [stdout] 11 | | Box::pin(async move { [INFO] [stdout] 12 | | while let Some(entry) = directory.next_entry().await? { [INFO] [stdout] 13 | | let metadata = entry.metadata().await?; [INFO] [stdout] ... | [INFO] [stdout] 48 | | .await [INFO] [stdout] 49 | | } [INFO] [stdout] | |_^ [INFO] [stdout] note: required because it's used within this `async` block [INFO] [stdout] --> /opt/rustwide/workdir/src/fadc.rs:11:14 [INFO] [stdout] | [INFO] [stdout] 11 | Box::pin(async move { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] = note: required for `Unique<{async block@fadc::crawl_dir::{closure#0}::{closure#0}}>` to implement `Send` [INFO] [stdout] note: required because it appears within the type `Box<{async block@fadc::crawl_dir::{closure#0}::{closure#0}}>` [INFO] [stdout] --> /rustc/028201683a76a5cd349729c6819c46607119c4e8/library/alloc/src/boxed.rs:231:12 [INFO] [stdout] note: required because it appears within the type `Pin>` [INFO] [stdout] --> /rustc/028201683a76a5cd349729c6819c46607119c4e8/library/core/src/pin.rs:1094:12 [INFO] [stdout] note: required because it's used within this `async` fn body [INFO] [stdout] --> /opt/rustwide/workdir/src/fadc.rs:10:97 [INFO] [stdout] | [INFO] [stdout] 10 | async fn crawl_dir(mut directory: ReadDir, tx: &mut DuplexStream) -> Result<(), std::io::Error> { [INFO] [stdout] | _________________________________________________________________________________________________^ [INFO] [stdout] 11 | | Box::pin(async move { [INFO] [stdout] 12 | | while let Some(entry) = directory.next_entry().await? { [INFO] [stdout] 13 | | let metadata = entry.metadata().await?; [INFO] [stdout] ... | [INFO] [stdout] 48 | | .await [INFO] [stdout] 49 | | } [INFO] [stdout] | |_^ [INFO] [stdout] note: required because it's used within this `async` block [INFO] [stdout] --> /opt/rustwide/workdir/src/fadc.rs:11:14 [INFO] [stdout] | [INFO] [stdout] 11 | Box::pin(async move { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] = note: required for `Unique<{async block@fadc::crawl_dir::{closure#0}::{closure#0}}>` to implement `Send` [INFO] [stdout] note: required because it appears within the type `Box<{async block@fadc::crawl_dir::{closure#0}::{closure#0}}>` [INFO] [stdout] --> /rustc/028201683a76a5cd349729c6819c46607119c4e8/library/alloc/src/boxed.rs:231:12 [INFO] [stdout] note: required because it appears within the type `Pin>` [INFO] [stdout] --> /rustc/028201683a76a5cd349729c6819c46607119c4e8/library/core/src/pin.rs:1094:12 [INFO] [stdout] note: required because it's used within this `async` fn body [INFO] [stdout] --> /opt/rustwide/workdir/src/fadc.rs:10:97 [INFO] [stdout] | [INFO] [stdout] 10 | async fn crawl_dir(mut directory: ReadDir, tx: &mut DuplexStream) -> Result<(), std::io::Error> { [INFO] [stdout] | _________________________________________________________________________________________________^ [INFO] [stdout] 11 | | Box::pin(async move { [INFO] [stdout] 12 | | while let Some(entry) = directory.next_entry().await? { [INFO] [stdout] 13 | | let metadata = entry.metadata().await?; [INFO] [stdout] ... | [INFO] [stdout] 48 | | .await [INFO] [stdout] 49 | | } [INFO] [stdout] | |_^ [INFO] [stdout] note: required because it's used within this `async` fn body [INFO] [stdout] --> /opt/rustwide/workdir/src/fadc.rs:53:95 [INFO] [stdout] | [INFO] [stdout] 53 | pub async fn read_dir(dir_path: PathBuf, tx: &mut DuplexStream) -> Result<(), std::io::Error> { [INFO] [stdout] | _______________________________________________________________________________________________^ [INFO] [stdout] 54 | | let directory = tokio::fs::read_dir(dir_path).await?; [INFO] [stdout] 55 | | crawl_dir(directory, tx).await?; [INFO] [stdout] ... | [INFO] [stdout] 58 | | } [INFO] [stdout] | |_^ [INFO] [stdout] note: required because it's used within this `async` block [INFO] [stdout] --> src/main.rs:99:43 [INFO] [stdout] | [INFO] [stdout] 99 | let dir_handle = tokio::spawn(async move { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0275]: overflow evaluating the requirement `(tokio::fs::ReadDir, &mut DuplexStream): Send` [INFO] [stdout] | [INFO] [stdout] = help: consider increasing the recursion limit by adding a `#![recursion_limit = "256"]` attribute to your crate (`forgedbackup`) [INFO] [stdout] note: required because it's used within this `async` block [INFO] [stdout] --> /opt/rustwide/workdir/src/fadc.rs:11:14 [INFO] [stdout] | [INFO] [stdout] 11 | Box::pin(async move { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] = note: required for `Unique<{async block@fadc::crawl_dir::{closure#0}::{closure#0}}>` to implement `Send` [INFO] [stdout] note: required because it appears within the type `Box<{async block@fadc::crawl_dir::{closure#0}::{closure#0}}>` [INFO] [stdout] --> /rustc/028201683a76a5cd349729c6819c46607119c4e8/library/alloc/src/boxed.rs:231:12 [INFO] [stdout] note: required because it appears within the type `Pin>` [INFO] [stdout] --> /rustc/028201683a76a5cd349729c6819c46607119c4e8/library/core/src/pin.rs:1094:12 [INFO] [stdout] note: required because it's used within this `async` fn body [INFO] [stdout] --> /opt/rustwide/workdir/src/fadc.rs:10:97 [INFO] [stdout] | [INFO] [stdout] 10 | async fn crawl_dir(mut directory: ReadDir, tx: &mut DuplexStream) -> Result<(), std::io::Error> { [INFO] [stdout] | _________________________________________________________________________________________________^ [INFO] [stdout] 11 | | Box::pin(async move { [INFO] [stdout] 12 | | while let Some(entry) = directory.next_entry().await? { [INFO] [stdout] 13 | | let metadata = entry.metadata().await?; [INFO] [stdout] ... | [INFO] [stdout] 48 | | .await [INFO] [stdout] 49 | | } [INFO] [stdout] | |_^ [INFO] [stdout] note: required because it's used within this `async` block [INFO] [stdout] --> /opt/rustwide/workdir/src/fadc.rs:11:14 [INFO] [stdout] | [INFO] [stdout] 11 | Box::pin(async move { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] = note: required for `Unique<{async block@fadc::crawl_dir::{closure#0}::{closure#0}}>` to implement `Send` [INFO] [stdout] note: required because it appears within the type `Box<{async block@fadc::crawl_dir::{closure#0}::{closure#0}}>` [INFO] [stdout] --> /rustc/028201683a76a5cd349729c6819c46607119c4e8/library/alloc/src/boxed.rs:231:12 [INFO] [stdout] note: required because it appears within the type `Pin>` [INFO] [stdout] --> /rustc/028201683a76a5cd349729c6819c46607119c4e8/library/core/src/pin.rs:1094:12 [INFO] [stdout] note: required because it's used within this `async` fn body [INFO] [stdout] --> /opt/rustwide/workdir/src/fadc.rs:10:97 [INFO] [stdout] | [INFO] [stdout] 10 | async fn crawl_dir(mut directory: ReadDir, tx: &mut DuplexStream) -> Result<(), std::io::Error> { [INFO] [stdout] | _________________________________________________________________________________________________^ [INFO] [stdout] 11 | | Box::pin(async move { [INFO] [stdout] 12 | | while let Some(entry) = directory.next_entry().await? { [INFO] [stdout] 13 | | let metadata = entry.metadata().await?; [INFO] [stdout] ... | [INFO] [stdout] 48 | | .await [INFO] [stdout] 49 | | } [INFO] [stdout] | |_^ [INFO] [stdout] note: required because it's used within this `async` block [INFO] [stdout] --> /opt/rustwide/workdir/src/fadc.rs:11:14 [INFO] [stdout] | [INFO] [stdout] 11 | Box::pin(async move { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] = note: required for `Unique<{async block@fadc::crawl_dir::{closure#0}::{closure#0}}>` to implement `Send` [INFO] [stdout] note: required because it appears within the type `Box<{async block@fadc::crawl_dir::{closure#0}::{closure#0}}>` [INFO] [stdout] --> /rustc/028201683a76a5cd349729c6819c46607119c4e8/library/alloc/src/boxed.rs:231:12 [INFO] [stdout] note: required because it appears within the type `Pin>` [INFO] [stdout] --> /rustc/028201683a76a5cd349729c6819c46607119c4e8/library/core/src/pin.rs:1094:12 [INFO] [stdout] note: required because it's used within this `async` fn body [INFO] [stdout] --> /opt/rustwide/workdir/src/fadc.rs:10:97 [INFO] [stdout] | [INFO] [stdout] 10 | async fn crawl_dir(mut directory: ReadDir, tx: &mut DuplexStream) -> Result<(), std::io::Error> { [INFO] [stdout] | _________________________________________________________________________________________________^ [INFO] [stdout] 11 | | Box::pin(async move { [INFO] [stdout] 12 | | while let Some(entry) = directory.next_entry().await? { [INFO] [stdout] 13 | | let metadata = entry.metadata().await?; [INFO] [stdout] ... | [INFO] [stdout] 48 | | .await [INFO] [stdout] 49 | | } [INFO] [stdout] | |_^ [INFO] [stdout] note: required because it's used within this `async` block [INFO] [stdout] --> /opt/rustwide/workdir/src/fadc.rs:11:14 [INFO] [stdout] | [INFO] [stdout] 11 | Box::pin(async move { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] = note: required for `Unique<{async block@fadc::crawl_dir::{closure#0}::{closure#0}}>` to implement `Send` [INFO] [stdout] note: required because it appears within the type `Box<{async block@fadc::crawl_dir::{closure#0}::{closure#0}}>` [INFO] [stdout] --> /rustc/028201683a76a5cd349729c6819c46607119c4e8/library/alloc/src/boxed.rs:231:12 [INFO] [stdout] note: required because it appears within the type `Pin>` [INFO] [stdout] --> /rustc/028201683a76a5cd349729c6819c46607119c4e8/library/core/src/pin.rs:1094:12 [INFO] [stdout] note: required because it's used within this `async` fn body [INFO] [stdout] --> /opt/rustwide/workdir/src/fadc.rs:10:97 [INFO] [stdout] | [INFO] [stdout] 10 | async fn crawl_dir(mut directory: ReadDir, tx: &mut DuplexStream) -> Result<(), std::io::Error> { [INFO] [stdout] | _________________________________________________________________________________________________^ [INFO] [stdout] 11 | | Box::pin(async move { [INFO] [stdout] 12 | | while let Some(entry) = directory.next_entry().await? { [INFO] [stdout] 13 | | let metadata = entry.metadata().await?; [INFO] [stdout] ... | [INFO] [stdout] 48 | | .await [INFO] [stdout] 49 | | } [INFO] [stdout] | |_^ [INFO] [stdout] note: required because it's used within this `async` block [INFO] [stdout] --> /opt/rustwide/workdir/src/fadc.rs:11:14 [INFO] [stdout] | [INFO] [stdout] 11 | Box::pin(async move { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] = note: required for `Unique<{async block@fadc::crawl_dir::{closure#0}::{closure#0}}>` to implement `Send` [INFO] [stdout] note: required because it appears within the type `Box<{async block@fadc::crawl_dir::{closure#0}::{closure#0}}>` [INFO] [stdout] --> /rustc/028201683a76a5cd349729c6819c46607119c4e8/library/alloc/src/boxed.rs:231:12 [INFO] [stdout] note: required because it appears within the type `Pin>` [INFO] [stdout] --> /rustc/028201683a76a5cd349729c6819c46607119c4e8/library/core/src/pin.rs:1094:12 [INFO] [stdout] note: required because it's used within this `async` fn body [INFO] [stdout] --> /opt/rustwide/workdir/src/fadc.rs:10:97 [INFO] [stdout] | [INFO] [stdout] 10 | async fn crawl_dir(mut directory: ReadDir, tx: &mut DuplexStream) -> Result<(), std::io::Error> { [INFO] [stdout] | _________________________________________________________________________________________________^ [INFO] [stdout] 11 | | Box::pin(async move { [INFO] [stdout] 12 | | while let Some(entry) = directory.next_entry().await? { [INFO] [stdout] 13 | | let metadata = entry.metadata().await?; [INFO] [stdout] ... | [INFO] [stdout] 48 | | .await [INFO] [stdout] 49 | | } [INFO] [stdout] | |_^ [INFO] [stdout] note: required because it's used within this `async` block [INFO] [stdout] --> /opt/rustwide/workdir/src/fadc.rs:11:14 [INFO] [stdout] | [INFO] [stdout] 11 | Box::pin(async move { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] = note: required for `Unique<{async block@fadc::crawl_dir::{closure#0}::{closure#0}}>` to implement `Send` [INFO] [stdout] note: required because it appears within the type `Box<{async block@fadc::crawl_dir::{closure#0}::{closure#0}}>` [INFO] [stdout] --> /rustc/028201683a76a5cd349729c6819c46607119c4e8/library/alloc/src/boxed.rs:231:12 [INFO] [stdout] note: required because it appears within the type `Pin>` [INFO] [stdout] --> /rustc/028201683a76a5cd349729c6819c46607119c4e8/library/core/src/pin.rs:1094:12 [INFO] [stdout] note: required because it's used within this `async` fn body [INFO] [stdout] --> /opt/rustwide/workdir/src/fadc.rs:10:97 [INFO] [stdout] | [INFO] [stdout] 10 | async fn crawl_dir(mut directory: ReadDir, tx: &mut DuplexStream) -> Result<(), std::io::Error> { [INFO] [stdout] | _________________________________________________________________________________________________^ [INFO] [stdout] 11 | | Box::pin(async move { [INFO] [stdout] 12 | | while let Some(entry) = directory.next_entry().await? { [INFO] [stdout] 13 | | let metadata = entry.metadata().await?; [INFO] [stdout] ... | [INFO] [stdout] 48 | | .await [INFO] [stdout] 49 | | } [INFO] [stdout] | |_^ [INFO] [stdout] note: required because it's used within this `async` block [INFO] [stdout] --> /opt/rustwide/workdir/src/fadc.rs:11:14 [INFO] [stdout] | [INFO] [stdout] 11 | Box::pin(async move { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] = note: required for `Unique<{async block@fadc::crawl_dir::{closure#0}::{closure#0}}>` to implement `Send` [INFO] [stdout] note: required because it appears within the type `Box<{async block@fadc::crawl_dir::{closure#0}::{closure#0}}>` [INFO] [stdout] --> /rustc/028201683a76a5cd349729c6819c46607119c4e8/library/alloc/src/boxed.rs:231:12 [INFO] [stdout] note: required because it appears within the type `Pin>` [INFO] [stdout] --> /rustc/028201683a76a5cd349729c6819c46607119c4e8/library/core/src/pin.rs:1094:12 [INFO] [stdout] note: required because it's used within this `async` fn body [INFO] [stdout] --> /opt/rustwide/workdir/src/fadc.rs:10:97 [INFO] [stdout] | [INFO] [stdout] 10 | async fn crawl_dir(mut directory: ReadDir, tx: &mut DuplexStream) -> Result<(), std::io::Error> { [INFO] [stdout] | _________________________________________________________________________________________________^ [INFO] [stdout] 11 | | Box::pin(async move { [INFO] [stdout] 12 | | while let Some(entry) = directory.next_entry().await? { [INFO] [stdout] 13 | | let metadata = entry.metadata().await?; [INFO] [stdout] ... | [INFO] [stdout] 48 | | .await [INFO] [stdout] 49 | | } [INFO] [stdout] | |_^ [INFO] [stdout] note: required because it's used within this `async` block [INFO] [stdout] --> /opt/rustwide/workdir/src/fadc.rs:11:14 [INFO] [stdout] | [INFO] [stdout] 11 | Box::pin(async move { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] = note: required for `Unique<{async block@fadc::crawl_dir::{closure#0}::{closure#0}}>` to implement `Send` [INFO] [stdout] note: required because it appears within the type `Box<{async block@fadc::crawl_dir::{closure#0}::{closure#0}}>` [INFO] [stdout] --> /rustc/028201683a76a5cd349729c6819c46607119c4e8/library/alloc/src/boxed.rs:231:12 [INFO] [stdout] note: required because it appears within the type `Pin>` [INFO] [stdout] --> /rustc/028201683a76a5cd349729c6819c46607119c4e8/library/core/src/pin.rs:1094:12 [INFO] [stdout] note: required because it's used within this `async` fn body [INFO] [stdout] --> /opt/rustwide/workdir/src/fadc.rs:10:97 [INFO] [stdout] | [INFO] [stdout] 10 | async fn crawl_dir(mut directory: ReadDir, tx: &mut DuplexStream) -> Result<(), std::io::Error> { [INFO] [stdout] | _________________________________________________________________________________________________^ [INFO] [stdout] 11 | | Box::pin(async move { [INFO] [stdout] 12 | | while let Some(entry) = directory.next_entry().await? { [INFO] [stdout] 13 | | let metadata = entry.metadata().await?; [INFO] [stdout] ... | [INFO] [stdout] 48 | | .await [INFO] [stdout] 49 | | } [INFO] [stdout] | |_^ [INFO] [stdout] note: required because it's used within this `async` block [INFO] [stdout] --> /opt/rustwide/workdir/src/fadc.rs:11:14 [INFO] [stdout] | [INFO] [stdout] 11 | Box::pin(async move { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] = note: required for `Unique<{async block@fadc::crawl_dir::{closure#0}::{closure#0}}>` to implement `Send` [INFO] [stdout] note: required because it appears within the type `Box<{async block@fadc::crawl_dir::{closure#0}::{closure#0}}>` [INFO] [stdout] --> /rustc/028201683a76a5cd349729c6819c46607119c4e8/library/alloc/src/boxed.rs:231:12 [INFO] [stdout] note: required because it appears within the type `Pin>` [INFO] [stdout] --> /rustc/028201683a76a5cd349729c6819c46607119c4e8/library/core/src/pin.rs:1094:12 [INFO] [stdout] note: required because it's used within this `async` fn body [INFO] [stdout] --> /opt/rustwide/workdir/src/fadc.rs:10:97 [INFO] [stdout] | [INFO] [stdout] 10 | async fn crawl_dir(mut directory: ReadDir, tx: &mut DuplexStream) -> Result<(), std::io::Error> { [INFO] [stdout] | _________________________________________________________________________________________________^ [INFO] [stdout] 11 | | Box::pin(async move { [INFO] [stdout] 12 | | while let Some(entry) = directory.next_entry().await? { [INFO] [stdout] 13 | | let metadata = entry.metadata().await?; [INFO] [stdout] ... | [INFO] [stdout] 48 | | .await [INFO] [stdout] 49 | | } [INFO] [stdout] | |_^ [INFO] [stdout] note: required because it's used within this `async` block [INFO] [stdout] --> /opt/rustwide/workdir/src/fadc.rs:11:14 [INFO] [stdout] | [INFO] [stdout] 11 | Box::pin(async move { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] = note: required for `Unique<{async block@fadc::crawl_dir::{closure#0}::{closure#0}}>` to implement `Send` [INFO] [stdout] note: required because it appears within the type `Box<{async block@fadc::crawl_dir::{closure#0}::{closure#0}}>` [INFO] [stdout] --> /rustc/028201683a76a5cd349729c6819c46607119c4e8/library/alloc/src/boxed.rs:231:12 [INFO] [stdout] note: required because it appears within the type `Pin>` [INFO] [stdout] --> /rustc/028201683a76a5cd349729c6819c46607119c4e8/library/core/src/pin.rs:1094:12 [INFO] [stdout] note: required because it's used within this `async` fn body [INFO] [stdout] --> /opt/rustwide/workdir/src/fadc.rs:10:97 [INFO] [stdout] | [INFO] [stdout] 10 | async fn crawl_dir(mut directory: ReadDir, tx: &mut DuplexStream) -> Result<(), std::io::Error> { [INFO] [stdout] | _________________________________________________________________________________________________^ [INFO] [stdout] 11 | | Box::pin(async move { [INFO] [stdout] 12 | | while let Some(entry) = directory.next_entry().await? { [INFO] [stdout] 13 | | let metadata = entry.metadata().await?; [INFO] [stdout] ... | [INFO] [stdout] 48 | | .await [INFO] [stdout] 49 | | } [INFO] [stdout] | |_^ [INFO] [stdout] note: required because it's used within this `async` block [INFO] [stdout] --> /opt/rustwide/workdir/src/fadc.rs:11:14 [INFO] [stdout] | [INFO] [stdout] 11 | Box::pin(async move { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] = note: required for `Unique<{async block@fadc::crawl_dir::{closure#0}::{closure#0}}>` to implement `Send` [INFO] [stdout] note: required because it appears within the type `Box<{async block@fadc::crawl_dir::{closure#0}::{closure#0}}>` [INFO] [stdout] --> /rustc/028201683a76a5cd349729c6819c46607119c4e8/library/alloc/src/boxed.rs:231:12 [INFO] [stdout] note: required because it appears within the type `Pin>` [INFO] [stdout] --> /rustc/028201683a76a5cd349729c6819c46607119c4e8/library/core/src/pin.rs:1094:12 [INFO] [stdout] note: required because it's used within this `async` fn body [INFO] [stdout] --> /opt/rustwide/workdir/src/fadc.rs:10:97 [INFO] [stdout] | [INFO] [stdout] 10 | async fn crawl_dir(mut directory: ReadDir, tx: &mut DuplexStream) -> Result<(), std::io::Error> { [INFO] [stdout] | _________________________________________________________________________________________________^ [INFO] [stdout] 11 | | Box::pin(async move { [INFO] [stdout] 12 | | while let Some(entry) = directory.next_entry().await? { [INFO] [stdout] 13 | | let metadata = entry.metadata().await?; [INFO] [stdout] ... | [INFO] [stdout] 48 | | .await [INFO] [stdout] 49 | | } [INFO] [stdout] | |_^ [INFO] [stdout] note: required because it's used within this `async` block [INFO] [stdout] --> /opt/rustwide/workdir/src/fadc.rs:11:14 [INFO] [stdout] | [INFO] [stdout] 11 | Box::pin(async move { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] = note: required for `Unique<{async block@fadc::crawl_dir::{closure#0}::{closure#0}}>` to implement `Send` [INFO] [stdout] note: required because it appears within the type `Box<{async block@fadc::crawl_dir::{closure#0}::{closure#0}}>` [INFO] [stdout] --> /rustc/028201683a76a5cd349729c6819c46607119c4e8/library/alloc/src/boxed.rs:231:12 [INFO] [stdout] note: required because it appears within the type `Pin>` [INFO] [stdout] --> /rustc/028201683a76a5cd349729c6819c46607119c4e8/library/core/src/pin.rs:1094:12 [INFO] [stdout] note: required because it's used within this `async` fn body [INFO] [stdout] --> /opt/rustwide/workdir/src/fadc.rs:10:97 [INFO] [stdout] | [INFO] [stdout] 10 | async fn crawl_dir(mut directory: ReadDir, tx: &mut DuplexStream) -> Result<(), std::io::Error> { [INFO] [stdout] | _________________________________________________________________________________________________^ [INFO] [stdout] 11 | | Box::pin(async move { [INFO] [stdout] 12 | | while let Some(entry) = directory.next_entry().await? { [INFO] [stdout] 13 | | let metadata = entry.metadata().await?; [INFO] [stdout] ... | [INFO] [stdout] 48 | | .await [INFO] [stdout] 49 | | } [INFO] [stdout] | |_^ [INFO] [stdout] note: required because it's used within this `async` block [INFO] [stdout] --> /opt/rustwide/workdir/src/fadc.rs:11:14 [INFO] [stdout] | [INFO] [stdout] 11 | Box::pin(async move { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] = note: required for `Unique<{async block@fadc::crawl_dir::{closure#0}::{closure#0}}>` to implement `Send` [INFO] [stdout] note: required because it appears within the type `Box<{async block@fadc::crawl_dir::{closure#0}::{closure#0}}>` [INFO] [stdout] --> /rustc/028201683a76a5cd349729c6819c46607119c4e8/library/alloc/src/boxed.rs:231:12 [INFO] [stdout] note: required because it appears within the type `Pin>` [INFO] [stdout] --> /rustc/028201683a76a5cd349729c6819c46607119c4e8/library/core/src/pin.rs:1094:12 [INFO] [stdout] note: required because it's used within this `async` fn body [INFO] [stdout] --> /opt/rustwide/workdir/src/fadc.rs:10:97 [INFO] [stdout] | [INFO] [stdout] 10 | async fn crawl_dir(mut directory: ReadDir, tx: &mut DuplexStream) -> Result<(), std::io::Error> { [INFO] [stdout] | _________________________________________________________________________________________________^ [INFO] [stdout] 11 | | Box::pin(async move { [INFO] [stdout] 12 | | while let Some(entry) = directory.next_entry().await? { [INFO] [stdout] 13 | | let metadata = entry.metadata().await?; [INFO] [stdout] ... | [INFO] [stdout] 48 | | .await [INFO] [stdout] 49 | | } [INFO] [stdout] | |_^ [INFO] [stdout] note: required because it's used within this `async` block [INFO] [stdout] --> /opt/rustwide/workdir/src/fadc.rs:11:14 [INFO] [stdout] | [INFO] [stdout] 11 | Box::pin(async move { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] = note: required for `Unique<{async block@fadc::crawl_dir::{closure#0}::{closure#0}}>` to implement `Send` [INFO] [stdout] note: required because it appears within the type `Box<{async block@fadc::crawl_dir::{closure#0}::{closure#0}}>` [INFO] [stdout] --> /rustc/028201683a76a5cd349729c6819c46607119c4e8/library/alloc/src/boxed.rs:231:12 [INFO] [stdout] note: required because it appears within the type `Pin>` [INFO] [stdout] --> /rustc/028201683a76a5cd349729c6819c46607119c4e8/library/core/src/pin.rs:1094:12 [INFO] [stdout] note: required because it's used within this `async` fn body [INFO] [stdout] --> /opt/rustwide/workdir/src/fadc.rs:10:97 [INFO] [stdout] | [INFO] [stdout] 10 | async fn crawl_dir(mut directory: ReadDir, tx: &mut DuplexStream) -> Result<(), std::io::Error> { [INFO] [stdout] | _________________________________________________________________________________________________^ [INFO] [stdout] 11 | | Box::pin(async move { [INFO] [stdout] 12 | | while let Some(entry) = directory.next_entry().await? { [INFO] [stdout] 13 | | let metadata = entry.metadata().await?; [INFO] [stdout] ... | [INFO] [stdout] 48 | | .await [INFO] [stdout] 49 | | } [INFO] [stdout] | |_^ [INFO] [stdout] note: required because it's used within this `async` block [INFO] [stdout] --> /opt/rustwide/workdir/src/fadc.rs:11:14 [INFO] [stdout] | [INFO] [stdout] 11 | Box::pin(async move { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] = note: required for `Unique<{async block@fadc::crawl_dir::{closure#0}::{closure#0}}>` to implement `Send` [INFO] [stdout] note: required because it appears within the type `Box<{async block@fadc::crawl_dir::{closure#0}::{closure#0}}>` [INFO] [stdout] --> /rustc/028201683a76a5cd349729c6819c46607119c4e8/library/alloc/src/boxed.rs:231:12 [INFO] [stdout] note: required because it appears within the type `Pin>` [INFO] [stdout] --> /rustc/028201683a76a5cd349729c6819c46607119c4e8/library/core/src/pin.rs:1094:12 [INFO] [stdout] note: required because it's used within this `async` fn body [INFO] [stdout] --> /opt/rustwide/workdir/src/fadc.rs:10:97 [INFO] [stdout] | [INFO] [stdout] 10 | async fn crawl_dir(mut directory: ReadDir, tx: &mut DuplexStream) -> Result<(), std::io::Error> { [INFO] [stdout] | _________________________________________________________________________________________________^ [INFO] [stdout] 11 | | Box::pin(async move { [INFO] [stdout] 12 | | while let Some(entry) = directory.next_entry().await? { [INFO] [stdout] 13 | | let metadata = entry.metadata().await?; [INFO] [stdout] ... | [INFO] [stdout] 48 | | .await [INFO] [stdout] 49 | | } [INFO] [stdout] | |_^ [INFO] [stdout] note: required because it's used within this `async` block [INFO] [stdout] --> /opt/rustwide/workdir/src/fadc.rs:11:14 [INFO] [stdout] | [INFO] [stdout] 11 | Box::pin(async move { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] = note: required for `Unique<{async block@fadc::crawl_dir::{closure#0}::{closure#0}}>` to implement `Send` [INFO] [stdout] note: required because it appears within the type `Box<{async block@fadc::crawl_dir::{closure#0}::{closure#0}}>` [INFO] [stdout] --> /rustc/028201683a76a5cd349729c6819c46607119c4e8/library/alloc/src/boxed.rs:231:12 [INFO] [stdout] note: required because it appears within the type `Pin>` [INFO] [stdout] --> /rustc/028201683a76a5cd349729c6819c46607119c4e8/library/core/src/pin.rs:1094:12 [INFO] [stdout] note: required because it's used within this `async` fn body [INFO] [stdout] --> /opt/rustwide/workdir/src/fadc.rs:10:97 [INFO] [stdout] | [INFO] [stdout] 10 | async fn crawl_dir(mut directory: ReadDir, tx: &mut DuplexStream) -> Result<(), std::io::Error> { [INFO] [stdout] | _________________________________________________________________________________________________^ [INFO] [stdout] 11 | | Box::pin(async move { [INFO] [stdout] 12 | | while let Some(entry) = directory.next_entry().await? { [INFO] [stdout] 13 | | let metadata = entry.metadata().await?; [INFO] [stdout] ... | [INFO] [stdout] 48 | | .await [INFO] [stdout] 49 | | } [INFO] [stdout] | |_^ [INFO] [stdout] note: required because it's used within this `async` block [INFO] [stdout] --> /opt/rustwide/workdir/src/fadc.rs:11:14 [INFO] [stdout] | [INFO] [stdout] 11 | Box::pin(async move { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] = note: required for `Unique<{async block@fadc::crawl_dir::{closure#0}::{closure#0}}>` to implement `Send` [INFO] [stdout] note: required because it appears within the type `Box<{async block@fadc::crawl_dir::{closure#0}::{closure#0}}>` [INFO] [stdout] --> /rustc/028201683a76a5cd349729c6819c46607119c4e8/library/alloc/src/boxed.rs:231:12 [INFO] [stdout] note: required because it appears within the type `Pin>` [INFO] [stdout] --> /rustc/028201683a76a5cd349729c6819c46607119c4e8/library/core/src/pin.rs:1094:12 [INFO] [stdout] note: required because it's used within this `async` fn body [INFO] [stdout] --> /opt/rustwide/workdir/src/fadc.rs:10:97 [INFO] [stdout] | [INFO] [stdout] 10 | async fn crawl_dir(mut directory: ReadDir, tx: &mut DuplexStream) -> Result<(), std::io::Error> { [INFO] [stdout] | _________________________________________________________________________________________________^ [INFO] [stdout] 11 | | Box::pin(async move { [INFO] [stdout] 12 | | while let Some(entry) = directory.next_entry().await? { [INFO] [stdout] 13 | | let metadata = entry.metadata().await?; [INFO] [stdout] ... | [INFO] [stdout] 48 | | .await [INFO] [stdout] 49 | | } [INFO] [stdout] | |_^ [INFO] [stdout] note: required because it's used within this `async` block [INFO] [stdout] --> /opt/rustwide/workdir/src/fadc.rs:11:14 [INFO] [stdout] | [INFO] [stdout] 11 | Box::pin(async move { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] = note: required for `Unique<{async block@fadc::crawl_dir::{closure#0}::{closure#0}}>` to implement `Send` [INFO] [stdout] note: required because it appears within the type `Box<{async block@fadc::crawl_dir::{closure#0}::{closure#0}}>` [INFO] [stdout] --> /rustc/028201683a76a5cd349729c6819c46607119c4e8/library/alloc/src/boxed.rs:231:12 [INFO] [stdout] note: required because it appears within the type `Pin>` [INFO] [stdout] --> /rustc/028201683a76a5cd349729c6819c46607119c4e8/library/core/src/pin.rs:1094:12 [INFO] [stdout] note: required because it's used within this `async` fn body [INFO] [stdout] --> /opt/rustwide/workdir/src/fadc.rs:10:97 [INFO] [stdout] | [INFO] [stdout] 10 | async fn crawl_dir(mut directory: ReadDir, tx: &mut DuplexStream) -> Result<(), std::io::Error> { [INFO] [stdout] | _________________________________________________________________________________________________^ [INFO] [stdout] 11 | | Box::pin(async move { [INFO] [stdout] 12 | | while let Some(entry) = directory.next_entry().await? { [INFO] [stdout] 13 | | let metadata = entry.metadata().await?; [INFO] [stdout] ... | [INFO] [stdout] 48 | | .await [INFO] [stdout] 49 | | } [INFO] [stdout] | |_^ [INFO] [stdout] note: required because it's used within this `async` block [INFO] [stdout] --> /opt/rustwide/workdir/src/fadc.rs:11:14 [INFO] [stdout] | [INFO] [stdout] 11 | Box::pin(async move { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] = note: required for `Unique<{async block@fadc::crawl_dir::{closure#0}::{closure#0}}>` to implement `Send` [INFO] [stdout] note: required because it appears within the type `Box<{async block@fadc::crawl_dir::{closure#0}::{closure#0}}>` [INFO] [stdout] --> /rustc/028201683a76a5cd349729c6819c46607119c4e8/library/alloc/src/boxed.rs:231:12 [INFO] [stdout] note: required because it appears within the type `Pin>` [INFO] [stdout] --> /rustc/028201683a76a5cd349729c6819c46607119c4e8/library/core/src/pin.rs:1094:12 [INFO] [stdout] note: required because it's used within this `async` fn body [INFO] [stdout] --> /opt/rustwide/workdir/src/fadc.rs:10:97 [INFO] [stdout] | [INFO] [stdout] 10 | async fn crawl_dir(mut directory: ReadDir, tx: &mut DuplexStream) -> Result<(), std::io::Error> { [INFO] [stdout] | _________________________________________________________________________________________________^ [INFO] [stdout] 11 | | Box::pin(async move { [INFO] [stdout] 12 | | while let Some(entry) = directory.next_entry().await? { [INFO] [stdout] 13 | | let metadata = entry.metadata().await?; [INFO] [stdout] ... | [INFO] [stdout] 48 | | .await [INFO] [stdout] 49 | | } [INFO] [stdout] | |_^ [INFO] [stdout] note: required because it's used within this `async` block [INFO] [stdout] --> /opt/rustwide/workdir/src/fadc.rs:11:14 [INFO] [stdout] | [INFO] [stdout] 11 | Box::pin(async move { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] = note: required for `Unique<{async block@fadc::crawl_dir::{closure#0}::{closure#0}}>` to implement `Send` [INFO] [stdout] note: required because it appears within the type `Box<{async block@fadc::crawl_dir::{closure#0}::{closure#0}}>` [INFO] [stdout] --> /rustc/028201683a76a5cd349729c6819c46607119c4e8/library/alloc/src/boxed.rs:231:12 [INFO] [stdout] note: required because it appears within the type `Pin>` [INFO] [stdout] --> /rustc/028201683a76a5cd349729c6819c46607119c4e8/library/core/src/pin.rs:1094:12 [INFO] [stdout] note: required because it's used within this `async` fn body [INFO] [stdout] --> /opt/rustwide/workdir/src/fadc.rs:10:97 [INFO] [stdout] | [INFO] [stdout] 10 | async fn crawl_dir(mut directory: ReadDir, tx: &mut DuplexStream) -> Result<(), std::io::Error> { [INFO] [stdout] | _________________________________________________________________________________________________^ [INFO] [stdout] 11 | | Box::pin(async move { [INFO] [stdout] 12 | | while let Some(entry) = directory.next_entry().await? { [INFO] [stdout] 13 | | let metadata = entry.metadata().await?; [INFO] [stdout] ... | [INFO] [stdout] 48 | | .await [INFO] [stdout] 49 | | } [INFO] [stdout] | |_^ [INFO] [stdout] note: required because it's used within this `async` block [INFO] [stdout] --> /opt/rustwide/workdir/src/fadc.rs:11:14 [INFO] [stdout] | [INFO] [stdout] 11 | Box::pin(async move { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] = note: required for `Unique<{async block@fadc::crawl_dir::{closure#0}::{closure#0}}>` to implement `Send` [INFO] [stdout] note: required because it appears within the type `Box<{async block@fadc::crawl_dir::{closure#0}::{closure#0}}>` [INFO] [stdout] --> /rustc/028201683a76a5cd349729c6819c46607119c4e8/library/alloc/src/boxed.rs:231:12 [INFO] [stdout] note: required because it appears within the type `Pin>` [INFO] [stdout] --> /rustc/028201683a76a5cd349729c6819c46607119c4e8/library/core/src/pin.rs:1094:12 [INFO] [stdout] note: required because it's used within this `async` fn body [INFO] [stdout] --> /opt/rustwide/workdir/src/fadc.rs:10:97 [INFO] [stdout] | [INFO] [stdout] 10 | async fn crawl_dir(mut directory: ReadDir, tx: &mut DuplexStream) -> Result<(), std::io::Error> { [INFO] [stdout] | _________________________________________________________________________________________________^ [INFO] [stdout] 11 | | Box::pin(async move { [INFO] [stdout] 12 | | while let Some(entry) = directory.next_entry().await? { [INFO] [stdout] 13 | | let metadata = entry.metadata().await?; [INFO] [stdout] ... | [INFO] [stdout] 48 | | .await [INFO] [stdout] 49 | | } [INFO] [stdout] | |_^ [INFO] [stdout] note: required because it's used within this `async` fn body [INFO] [stdout] --> /opt/rustwide/workdir/src/fadc.rs:53:95 [INFO] [stdout] | [INFO] [stdout] 53 | pub async fn read_dir(dir_path: PathBuf, tx: &mut DuplexStream) -> Result<(), std::io::Error> { [INFO] [stdout] | _______________________________________________________________________________________________^ [INFO] [stdout] 54 | | let directory = tokio::fs::read_dir(dir_path).await?; [INFO] [stdout] 55 | | crawl_dir(directory, tx).await?; [INFO] [stdout] ... | [INFO] [stdout] 58 | | } [INFO] [stdout] | |_^ [INFO] [stdout] note: required because it's used within this `async` block [INFO] [stdout] --> src/main.rs:99:43 [INFO] [stdout] | [INFO] [stdout] 99 | let dir_handle = tokio::spawn(async move { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0275`. [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0275`. [INFO] [stdout] [INFO] [stderr] error: could not compile `forgedbackup` (bin "forgedbackup" test) due to 1 previous error [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stderr] error: could not compile `forgedbackup` (bin "forgedbackup") due to 1 previous error [INFO] running `Command { std: "docker" "inspect" "a7620dc1d212b62f9aad40bd87e3540b58f9749347b8bb51355220658bc50fa6", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "a7620dc1d212b62f9aad40bd87e3540b58f9749347b8bb51355220658bc50fa6", kill_on_drop: false }` [INFO] [stdout] a7620dc1d212b62f9aad40bd87e3540b58f9749347b8bb51355220658bc50fa6