[INFO] cloning repository https://github.com/frozenpeach-dev/vpn [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/frozenpeach-dev/vpn" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ffrozenpeach-dev%2Fvpn", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ffrozenpeach-dev%2Fvpn'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] d4e1f9b58a92abb8ccd5c82ed37ce91c9ad635b2 [INFO] checking frozenpeach-dev/vpn against try#c9557a20e5ef2e0e02c29a5fafd850d1b7cf1e4f for 2025-12-16-next-solver-global [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ffrozenpeach-dev%2Fvpn" "/workspace/builds/worker-5-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc2/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/frozenpeach-dev/vpn [INFO] finished tweaking git repo https://github.com/frozenpeach-dev/vpn [INFO] tweaked toml for git repo https://github.com/frozenpeach-dev/vpn written to /workspace/builds/worker-5-tc2/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/frozenpeach-dev/vpn on toolchain c9557a20e5ef2e0e02c29a5fafd850d1b7cf1e4f [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c9557a20e5ef2e0e02c29a5fafd850d1b7cf1e4f" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/frozenpeach-dev/vpn 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" "+c9557a20e5ef2e0e02c29a5fafd850d1b7cf1e4f" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Updating crates.io index [INFO] [stderr] Blocking waiting for file lock on package cache [ERROR] error running command: no output for 300 seconds [INFO] checking frozenpeach-dev/vpn against try#c9557a20e5ef2e0e02c29a5fafd850d1b7cf1e4f for 2025-12-16-next-solver-global [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ffrozenpeach-dev%2Fvpn" "/workspace/builds/worker-5-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc2/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/frozenpeach-dev/vpn [INFO] finished tweaking git repo https://github.com/frozenpeach-dev/vpn [INFO] tweaked toml for git repo https://github.com/frozenpeach-dev/vpn written to /workspace/builds/worker-5-tc2/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/frozenpeach-dev/vpn on toolchain c9557a20e5ef2e0e02c29a5fafd850d1b7cf1e4f [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c9557a20e5ef2e0e02c29a5fafd850d1b7cf1e4f" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/frozenpeach-dev/vpn 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" "+c9557a20e5ef2e0e02c29a5fafd850d1b7cf1e4f" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded quinn-udp v0.4.0 [INFO] [stderr] Downloaded quote v1.0.31 [INFO] [stderr] Downloaded tracing-attributes v0.1.26 [INFO] [stderr] Downloaded thiserror-impl v1.0.44 [INFO] [stderr] Downloaded quinn v0.10.1 [INFO] [stderr] Downloaded byte-pool v0.2.4 [INFO] [stderr] Downloaded rustls-pemfile v1.0.3 [INFO] [stderr] Downloaded thiserror v1.0.44 [INFO] [stderr] Downloaded rustls-webpki v0.101.1 [INFO] [stderr] Downloaded quinn-proto v0.10.1 [INFO] [stderr] Downloaded rustls v0.21.5 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+c9557a20e5ef2e0e02c29a5fafd850d1b7cf1e4f" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 449d026e1ff4b8c3330aceec0b758ca2dafa7b1da14b4a1392f4227ce117dddf [INFO] running `Command { std: "docker" "start" "-a" "449d026e1ff4b8c3330aceec0b758ca2dafa7b1da14b4a1392f4227ce117dddf", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "449d026e1ff4b8c3330aceec0b758ca2dafa7b1da14b4a1392f4227ce117dddf", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "449d026e1ff4b8c3330aceec0b758ca2dafa7b1da14b4a1392f4227ce117dddf", kill_on_drop: false }` [INFO] [stdout] 449d026e1ff4b8c3330aceec0b758ca2dafa7b1da14b4a1392f4227ce117dddf [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+c9557a20e5ef2e0e02c29a5fafd850d1b7cf1e4f" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] b15af50f0a3dcc9371450aad2590cbb2351cdd6c487fdb00b7d901bd348b1946 [INFO] running `Command { std: "docker" "start" "-a" "b15af50f0a3dcc9371450aad2590cbb2351cdd6c487fdb00b7d901bd348b1946", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.147 [INFO] [stderr] Compiling proc-macro2 v1.0.66 [INFO] [stderr] Compiling unicode-ident v1.0.11 [INFO] [stderr] Checking pin-project-lite v0.2.10 [INFO] [stderr] Compiling rustls v0.21.5 [INFO] [stderr] Compiling crossbeam-utils v0.8.16 [INFO] [stderr] Compiling thiserror v1.0.44 [INFO] [stderr] Compiling ring v0.16.20 [INFO] [stderr] Checking log v0.4.19 [INFO] [stderr] Checking smallvec v1.11.0 [INFO] [stderr] Checking rustls-pemfile v1.0.3 [INFO] [stderr] Compiling tokio v1.29.1 [INFO] [stderr] Checking lock_api v0.4.10 [INFO] [stderr] Compiling crossbeam-queue v0.3.8 [INFO] [stderr] Compiling anyhow v1.0.72 [INFO] [stderr] Checking rustc-hash v1.1.0 [INFO] [stderr] Checking rustls-native-certs v0.6.3 [INFO] [stderr] Compiling quote v1.0.31 [INFO] [stderr] Checking byte-pool v0.2.4 [INFO] [stderr] Checking getrandom v0.2.10 [INFO] [stderr] Checking parking_lot_core v0.9.8 [INFO] [stderr] Checking mio v0.8.8 [INFO] [stderr] Checking socket2 v0.4.9 [INFO] [stderr] Checking signal-hook-registry v1.4.1 [INFO] [stderr] Checking num_cpus v1.16.0 [INFO] [stderr] Checking socket2 v0.5.3 [INFO] [stderr] Compiling syn v2.0.26 [INFO] [stderr] Checking rand_core v0.6.4 [INFO] [stderr] Checking parking_lot v0.12.1 [INFO] [stderr] Checking rand_chacha v0.3.1 [INFO] [stderr] Checking rand v0.8.5 [INFO] [stderr] Checking sct v0.7.0 [INFO] [stderr] Checking rustls-webpki v0.101.1 [INFO] [stderr] Compiling tracing-attributes v0.1.26 [INFO] [stderr] Compiling thiserror-impl v1.0.44 [INFO] [stderr] Compiling tokio-macros v2.1.0 [INFO] [stderr] Checking tracing v0.1.37 [INFO] [stderr] Checking quinn-udp v0.4.0 [INFO] [stderr] Checking quinn-proto v0.10.1 [INFO] [stderr] Checking quinn v0.10.1 [INFO] [stderr] Checking FrozenVPN v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] error[E0425]: cannot find type `ChannelMess` in this scope [INFO] [stdout] --> src/architecture/server.rs:29:27 [INFO] [stdout] | [INFO] [stdout] 29 | sender: Sender>, [INFO] [stdout] | ^^^^^^^^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: you might be missing a type parameter [INFO] [stdout] | [INFO] [stdout] 27 | pub struct AccessServer { [INFO] [stdout] | +++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find type `ChannelMess` in this scope [INFO] [stdout] --> src/architecture/server.rs:30:38 [INFO] [stdout] | [INFO] [stdout] 30 | receiver: Option>>, [INFO] [stdout] | ^^^^^^^^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: you might be missing a type parameter [INFO] [stdout] | [INFO] [stdout] 27 | pub struct AccessServer { [INFO] [stdout] | +++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find type `ChannelMess` in this scope [INFO] [stdout] --> src/architecture/server.rs:29:27 [INFO] [stdout] | [INFO] [stdout] 29 | sender: Sender>, [INFO] [stdout] | ^^^^^^^^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: you might be missing a type parameter [INFO] [stdout] | [INFO] [stdout] 27 | pub struct AccessServer { [INFO] [stdout] | +++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find type `ChannelMess` in this scope [INFO] [stdout] --> src/architecture/server.rs:30:38 [INFO] [stdout] | [INFO] [stdout] 30 | receiver: Option>>, [INFO] [stdout] | ^^^^^^^^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: you might be missing a type parameter [INFO] [stdout] | [INFO] [stdout] 27 | pub struct AccessServer { [INFO] [stdout] | +++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `RecvStream` [INFO] [stdout] --> src/utils/logger.rs:1:13 [INFO] [stdout] | [INFO] [stdout] 1 | use quinn::{RecvStream, SendStream}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `RecvStream` [INFO] [stdout] --> src/utils/logger.rs:1:13 [INFO] [stdout] | [INFO] [stdout] 1 | use quinn::{RecvStream, SendStream}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0214]: parenthesized type parameters may only be used with a `Fn` trait [INFO] [stdout] --> src/network/tunnel.rs:19:21 [INFO] [stdout] | [INFO] [stdout] 19 | pub fn new() -> Self() { [INFO] [stdout] | ^^^^^^ only `Fn` traits may use parentheses [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0214]: parenthesized type parameters may only be used with a `Fn` trait [INFO] [stdout] --> src/network/tunnel.rs:19:21 [INFO] [stdout] | [INFO] [stdout] 19 | pub fn new() -> Self() { [INFO] [stdout] | ^^^^^^ only `Fn` traits may use parentheses [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `alloc_and_fill` found for struct `BUFFER` in the current scope [INFO] [stdout] --> src/network/tunnel.rs:60:30 [INFO] [stdout] | [INFO] [stdout] 60 | let mut buf = BUFFER.alloc_and_fill(BUF_SIZE); [INFO] [stdout] | ^^^^^^^^^^^^^^ method not found in `BUFFER` [INFO] [stdout] | [INFO] [stdout] ::: src/network/mod.rs:12:1 [INFO] [stdout] | [INFO] [stdout] 12 | / lazy_static! { [INFO] [stdout] 13 | | static ref BUFFER: BytePool::> = BytePool::>::new(); [INFO] [stdout] 14 | | } [INFO] [stdout] | |_- method `alloc_and_fill` not found for this struct [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `alloc_and_fill` found for struct `BUFFER` in the current scope [INFO] [stdout] --> src/network/tunnel.rs:60:30 [INFO] [stdout] | [INFO] [stdout] 60 | let mut buf = BUFFER.alloc_and_fill(BUF_SIZE); [INFO] [stdout] | ^^^^^^^^^^^^^^ method not found in `BUFFER` [INFO] [stdout] | [INFO] [stdout] ::: src/network/mod.rs:12:1 [INFO] [stdout] | [INFO] [stdout] 12 | / lazy_static! { [INFO] [stdout] 13 | | static ref BUFFER: BytePool::> = BytePool::>::new(); [INFO] [stdout] 14 | | } [INFO] [stdout] | |_- method `alloc_and_fill` not found for this struct [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `alloc_and_fill` found for struct `BUFFER` in the current scope [INFO] [stdout] --> src/network/tunnel.rs:71:30 [INFO] [stdout] | [INFO] [stdout] 71 | let mut buf = BUFFER.alloc_and_fill(BUF_SIZE); [INFO] [stdout] | ^^^^^^^^^^^^^^ method not found in `BUFFER` [INFO] [stdout] | [INFO] [stdout] ::: src/network/mod.rs:12:1 [INFO] [stdout] | [INFO] [stdout] 12 | / lazy_static! { [INFO] [stdout] 13 | | static ref BUFFER: BytePool::> = BytePool::>::new(); [INFO] [stdout] 14 | | } [INFO] [stdout] | |_- method `alloc_and_fill` not found for this struct [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `alloc_and_fill` found for struct `BUFFER` in the current scope [INFO] [stdout] --> src/network/tunnel.rs:71:30 [INFO] [stdout] | [INFO] [stdout] 71 | let mut buf = BUFFER.alloc_and_fill(BUF_SIZE); [INFO] [stdout] | ^^^^^^^^^^^^^^ method not found in `BUFFER` [INFO] [stdout] | [INFO] [stdout] ::: src/network/mod.rs:12:1 [INFO] [stdout] | [INFO] [stdout] 12 | / lazy_static! { [INFO] [stdout] 13 | | static ref BUFFER: BytePool::> = BytePool::>::new(); [INFO] [stdout] 14 | | } [INFO] [stdout] | |_- method `alloc_and_fill` not found for this struct [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0521]: borrowed data escapes outside of method [INFO] [stdout] --> src/network/tunnel.rs:30:9 [INFO] [stdout] | [INFO] [stdout] 24 | fn start(&self, tcp: (OwnedReadHalf, OwnedWriteHalf), quic: (RecvStream, SendStream)) -> () { [INFO] [stdout] | ----- [INFO] [stdout] | | [INFO] [stdout] | `self` is a reference that is only valid in the method body [INFO] [stdout] | let's call the lifetime of this reference `'1` [INFO] [stdout] ... [INFO] [stdout] 30 | / tokio::spawn(async move { [INFO] [stdout] 31 | | loop { [INFO] [stdout] 32 | | let result = self.tcp_quic(&mut tcp_read, &mut quic_send).await; [INFO] [stdout] 33 | | match result { [INFO] [stdout] ... | [INFO] [stdout] 42 | | }); [INFO] [stdout] | | ^ [INFO] [stdout] | | | [INFO] [stdout] | |__________`self` escapes the method body here [INFO] [stdout] | argument requires that `'1` must outlive `'static` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0382]: use of moved value: `tcp_read` [INFO] [stdout] --> src/network/tunnel.rs:30:22 [INFO] [stdout] | [INFO] [stdout] 25 | let (mut tcp_read, mut tcp_write) = tcp; [INFO] [stdout] | ------------ move occurs because `tcp_read` has type `tokio::net::tcp::OwnedReadHalf`, which does not implement the `Copy` trait [INFO] [stdout] ... [INFO] [stdout] 28 | logger::log_tunnel(tcp_read, quic_send); [INFO] [stdout] | -------- value moved here [INFO] [stdout] 29 | [INFO] [stdout] 30 | tokio::spawn(async move { [INFO] [stdout] | ^^^^^^^^^^ value used here after move [INFO] [stdout] 31 | loop { [INFO] [stdout] 32 | let result = self.tcp_quic(&mut tcp_read, &mut quic_send).await; [INFO] [stdout] | -------- use occurs due to use in coroutine [INFO] [stdout] | [INFO] [stdout] note: consider changing this parameter type in function `log_tunnel` to borrow instead if owning the value isn't necessary [INFO] [stdout] --> src/utils/logger.rs:4:29 [INFO] [stdout] | [INFO] [stdout] 4 | pub fn log_tunnel(tcp_read: OwnedReadHalf, quic_send: SendStream) -> () { [INFO] [stdout] | ---------- ^^^^^^^^^^^^^ this parameter takes ownership of the value [INFO] [stdout] | | [INFO] [stdout] | in this function [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0382]: use of moved value: `quic_send` [INFO] [stdout] --> src/network/tunnel.rs:30:22 [INFO] [stdout] | [INFO] [stdout] 26 | let (mut quic_rec, mut quic_send) = quic; [INFO] [stdout] | ------------- move occurs because `quic_send` has type `SendStream`, which does not implement the `Copy` trait [INFO] [stdout] 27 | [INFO] [stdout] 28 | logger::log_tunnel(tcp_read, quic_send); [INFO] [stdout] | --------- value moved here [INFO] [stdout] 29 | [INFO] [stdout] 30 | tokio::spawn(async move { [INFO] [stdout] | ^^^^^^^^^^ value used here after move [INFO] [stdout] 31 | loop { [INFO] [stdout] 32 | let result = self.tcp_quic(&mut tcp_read, &mut quic_send).await; [INFO] [stdout] | --------- use occurs due to use in coroutine [INFO] [stdout] | [INFO] [stdout] note: consider changing this parameter type in function `log_tunnel` to borrow instead if owning the value isn't necessary [INFO] [stdout] --> src/utils/logger.rs:4:55 [INFO] [stdout] | [INFO] [stdout] 4 | pub fn log_tunnel(tcp_read: OwnedReadHalf, quic_send: SendStream) -> () { [INFO] [stdout] | ---------- in this function ^^^^^^^^^^ this parameter takes ownership of the value [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0521]: borrowed data escapes outside of method [INFO] [stdout] --> src/network/tunnel.rs:30:9 [INFO] [stdout] | [INFO] [stdout] 24 | fn start(&self, tcp: (OwnedReadHalf, OwnedWriteHalf), quic: (RecvStream, SendStream)) -> () { [INFO] [stdout] | ----- [INFO] [stdout] | | [INFO] [stdout] | `self` is a reference that is only valid in the method body [INFO] [stdout] | let's call the lifetime of this reference `'1` [INFO] [stdout] ... [INFO] [stdout] 30 | / tokio::spawn(async move { [INFO] [stdout] 31 | | loop { [INFO] [stdout] 32 | | let result = self.tcp_quic(&mut tcp_read, &mut quic_send).await; [INFO] [stdout] 33 | | match result { [INFO] [stdout] ... | [INFO] [stdout] 42 | | }); [INFO] [stdout] | | ^ [INFO] [stdout] | | | [INFO] [stdout] | |__________`self` escapes the method body here [INFO] [stdout] | argument requires that `'1` must outlive `'static` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0382]: use of moved value: `tcp_read` [INFO] [stdout] --> src/network/tunnel.rs:30:22 [INFO] [stdout] | [INFO] [stdout] 25 | let (mut tcp_read, mut tcp_write) = tcp; [INFO] [stdout] | ------------ move occurs because `tcp_read` has type `tokio::net::tcp::OwnedReadHalf`, which does not implement the `Copy` trait [INFO] [stdout] ... [INFO] [stdout] 28 | logger::log_tunnel(tcp_read, quic_send); [INFO] [stdout] | -------- value moved here [INFO] [stdout] 29 | [INFO] [stdout] 30 | tokio::spawn(async move { [INFO] [stdout] | ^^^^^^^^^^ value used here after move [INFO] [stdout] 31 | loop { [INFO] [stdout] 32 | let result = self.tcp_quic(&mut tcp_read, &mut quic_send).await; [INFO] [stdout] | -------- use occurs due to use in coroutine [INFO] [stdout] | [INFO] [stdout] note: consider changing this parameter type in function `log_tunnel` to borrow instead if owning the value isn't necessary [INFO] [stdout] --> src/utils/logger.rs:4:29 [INFO] [stdout] | [INFO] [stdout] 4 | pub fn log_tunnel(tcp_read: OwnedReadHalf, quic_send: SendStream) -> () { [INFO] [stdout] | ---------- ^^^^^^^^^^^^^ this parameter takes ownership of the value [INFO] [stdout] | | [INFO] [stdout] | in this function [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0382]: use of moved value: `quic_send` [INFO] [stdout] --> src/network/tunnel.rs:30:22 [INFO] [stdout] | [INFO] [stdout] 26 | let (mut quic_rec, mut quic_send) = quic; [INFO] [stdout] | ------------- move occurs because `quic_send` has type `SendStream`, which does not implement the `Copy` trait [INFO] [stdout] 27 | [INFO] [stdout] 28 | logger::log_tunnel(tcp_read, quic_send); [INFO] [stdout] | --------- value moved here [INFO] [stdout] 29 | [INFO] [stdout] 30 | tokio::spawn(async move { [INFO] [stdout] | ^^^^^^^^^^ value used here after move [INFO] [stdout] 31 | loop { [INFO] [stdout] 32 | let result = self.tcp_quic(&mut tcp_read, &mut quic_send).await; [INFO] [stdout] | --------- use occurs due to use in coroutine [INFO] [stdout] | [INFO] [stdout] note: consider changing this parameter type in function `log_tunnel` to borrow instead if owning the value isn't necessary [INFO] [stdout] --> src/utils/logger.rs:4:55 [INFO] [stdout] | [INFO] [stdout] 4 | pub fn log_tunnel(tcp_read: OwnedReadHalf, quic_send: SendStream) -> () { [INFO] [stdout] | ---------- in this function ^^^^^^^^^^ this parameter takes ownership of the value [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0214, E0382, E0425, E0521, E0599. [INFO] [stdout] [INFO] [stdout] For more information about an error, try `rustc --explain E0214`. [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0214, E0382, E0425, E0521, E0599. [INFO] [stdout] [INFO] [stdout] For more information about an error, try `rustc --explain E0214`. [INFO] [stdout] [INFO] [stderr] error: could not compile `FrozenVPN` (bin "FrozenVPN") due to 8 previous errors; 1 warning emitted [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stderr] error: could not compile `FrozenVPN` (bin "FrozenVPN" test) due to 8 previous errors; 1 warning emitted [INFO] running `Command { std: "docker" "inspect" "b15af50f0a3dcc9371450aad2590cbb2351cdd6c487fdb00b7d901bd348b1946", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "b15af50f0a3dcc9371450aad2590cbb2351cdd6c487fdb00b7d901bd348b1946", kill_on_drop: false }` [INFO] [stdout] b15af50f0a3dcc9371450aad2590cbb2351cdd6c487fdb00b7d901bd348b1946