[INFO] cloning repository https://github.com/mylucien/qp2p
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/mylucien/qp2p" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmylucien%2Fqp2p", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmylucien%2Fqp2p'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 0847573f0e816180518c9890dedeec730cb655d6
[INFO] checking mylucien/qp2p against eca445e5ae4a6679cc27d3a09106ce245e13a5a6 for pr-162478
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmylucien%2Fqp2p" "/workspace/builds/worker-4-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/mylucien/qp2p
[INFO] finished tweaking git repo https://github.com/mylucien/qp2p
[INFO] tweaked toml for git repo https://github.com/mylucien/qp2p written to /workspace/builds/worker-4-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/mylucien/qp2p on toolchain eca445e5ae4a6679cc27d3a09106ce245e13a5a6
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+eca445e5ae4a6679cc27d3a09106ce245e13a5a6" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/mylucien/qp2p 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" "+eca445e5ae4a6679cc27d3a09106ce245e13a5a6" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]      Locking 1 package to highest compatible version
[INFO] [stderr]       Adding webpki-roots v1.0.9
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded which v6.0.3
[INFO] [stderr]   Downloaded tun v0.6.1
[INFO] [stderr]   Downloaded ioctl-sys v0.8.0
[INFO] [stderr]   Downloaded wasm-bindgen-futures v0.4.73
[INFO] [stderr]   Downloaded fastbloom v0.14.1
[INFO] [stderr]   Downloaded wintun v0.3.2
[INFO] [stderr]   Downloaded time v0.3.48
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,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" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:8683fc1fc2eb5c9ac98e0d076ab094b2ffac7f99da555d2b6a2e27f346de2ec7" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 830330642ab385d5c9cca3a5b38c49bd68865e57b7256103f2e6b2f618646bc3
[INFO] running `Command { std: "docker" "start" "830330642ab385d5c9cca3a5b38c49bd68865e57b7256103f2e6b2f618646bc3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "830330642ab385d5c9cca3a5b38c49bd68865e57b7256103f2e6b2f618646bc3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "830330642ab385d5c9cca3a5b38c49bd68865e57b7256103f2e6b2f618646bc3" "/opt/rustwide/cargo-home/bin/cargo" "+eca445e5ae4a6679cc27d3a09106ce245e13a5a6" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "830330642ab385d5c9cca3a5b38c49bd68865e57b7256103f2e6b2f618646bc3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-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" "-w" "/opt/rustwide/workdir" "--user" "0:0" "830330642ab385d5c9cca3a5b38c49bd68865e57b7256103f2e6b2f618646bc3" "/opt/rustwide/cargo-home/bin/cargo" "+eca445e5ae4a6679cc27d3a09106ce245e13a5a6" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.186
[INFO] [stderr]     Checking smallvec v1.15.2
[INFO] [stderr]     Checking log v0.4.32
[INFO] [stderr]    Compiling aws-lc-rs v1.17.0
[INFO] [stderr]    Compiling zerocopy v0.8.52
[INFO] [stderr]     Checking http v1.4.2
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]    Compiling rustls v0.23.40
[INFO] [stderr]     Checking futures-channel v0.3.32
[INFO] [stderr]     Checking sync_wrapper v1.0.2
[INFO] [stderr]     Checking ipnet v2.12.0
[INFO] [stderr]    Compiling serde_json v1.0.150
[INFO] [stderr]     Checking openssl-probe v0.2.1
[INFO] [stderr]    Compiling quinn-udp v0.5.14
[INFO] [stderr]     Checking regex-syntax v0.8.11
[INFO] [stderr]     Checking rustls-native-certs v0.8.4
[INFO] [stderr]    Compiling rustix v0.38.44
[INFO] [stderr]     Checking siphasher v1.0.3
[INFO] [stderr]     Checking memchr v2.8.2
[INFO] [stderr]     Checking time v0.3.48
[INFO] [stderr]     Checking webpki-roots v1.0.9
[INFO] [stderr]    Compiling quinn v0.11.9
[INFO] [stderr]    Compiling nix v0.29.0
[INFO] [stderr]     Checking rustc-hash v2.1.2
[INFO] [stderr]     Checking winnow v0.7.15
[INFO] [stderr]     Checking lru-slab v0.1.2
[INFO] [stderr]     Checking toml_write v0.1.2
[INFO] [stderr]     Checking tracing-log v0.2.0
[INFO] [stderr]     Checking pem v3.0.6
[INFO] [stderr]     Checking serde_path_to_error v0.1.20
[INFO] [stderr]     Checking thread_local v1.1.9
[INFO] [stderr]     Checking ioctl-sys v0.8.0
[INFO] [stderr]     Checking matchit v0.7.3
[INFO] [stderr]     Checking either v1.16.0
[INFO] [stderr]     Checking home v0.5.12
[INFO] [stderr]     Checking nu-ansi-term v0.50.3
[INFO] [stderr]     Checking anyhow v1.0.102
[INFO] [stderr]     Checking http-body v1.0.1
[INFO] [stderr]     Checking http-body-util v0.1.3
[INFO] [stderr]     Checking yasna v0.5.2
[INFO] [stderr]     Checking regex-automata v0.4.14
[INFO] [stderr]    Compiling jobserver v0.1.34
[INFO] [stderr]    Compiling cc v1.2.64
[INFO] [stderr]     Checking parking_lot_core v0.9.12
[INFO] [stderr]     Checking errno v0.3.14
[INFO] [stderr]     Checking getrandom v0.2.17
[INFO] [stderr]     Checking socket2 v0.6.4
[INFO] [stderr]     Checking mio v1.2.1
[INFO] [stderr]     Checking getrandom v0.3.4
[INFO] [stderr]     Checking getrandom v0.4.2
[INFO] [stderr]     Checking uuid v1.23.3
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]     Checking rand_core v0.9.5
[INFO] [stderr]     Checking parking_lot v0.12.5
[INFO] [stderr]     Checking dashmap v6.2.1
[INFO] [stderr]     Checking signal-hook-registry v1.4.8
[INFO] [stderr]     Checking which v6.0.3
[INFO] [stderr]     Checking matchers v0.2.0
[INFO] [stderr]    Compiling cmake v0.1.58
[INFO] [stderr]    Compiling ring v0.17.14
[INFO] [stderr]    Compiling aws-lc-sys v0.41.0
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]    Compiling zerofrom-derive v0.1.7
[INFO] [stderr]    Compiling yoke-derive v0.8.2
[INFO] [stderr]    Compiling zerovec-derive v0.11.3
[INFO] [stderr]    Compiling tokio-macros v2.7.0
[INFO] [stderr]    Compiling tracing-attributes v0.1.31
[INFO] [stderr]    Compiling displaydoc v0.2.6
[INFO] [stderr]    Compiling futures-macro v0.3.32
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]    Compiling async-trait v0.1.89
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]     Checking futures-util v0.3.32
[INFO] [stderr]     Checking tokio v1.52.3
[INFO] [stderr]     Checking rcgen v0.13.2
[INFO] [stderr]     Checking zerofrom v0.1.8
[INFO] [stderr]     Checking yoke v0.8.3
[INFO] [stderr]     Checking tracing v0.1.44
[INFO] [stderr]     Checking zerovec v0.11.6
[INFO] [stderr]     Checking zerotrie v0.2.4
[INFO] [stderr]     Checking thiserror v2.0.18
[INFO] [stderr]     Checking ppv-lite86 v0.2.21
[INFO] [stderr]     Checking tracing-subscriber v0.3.23
[INFO] [stderr]     Checking thiserror v1.0.69
[INFO] [stderr]     Checking tinystr v0.8.3
[INFO] [stderr]     Checking potential_utf v0.1.5
[INFO] [stderr]     Checking icu_locale_core v2.2.0
[INFO] [stderr]     Checking icu_collections v2.2.0
[INFO] [stderr]     Checking rand_chacha v0.9.0
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking rand v0.8.6
[INFO] [stderr]     Checking rand v0.9.4
[INFO] [stderr]     Checking icu_provider v2.2.0
[INFO] [stderr]     Checking fastbloom v0.14.1
[INFO] [stderr]     Checking icu_properties v2.2.0
[INFO] [stderr]     Checking icu_normalizer v2.2.0
[INFO] [stderr]     Checking axum-core v0.4.5
[INFO] [stderr]     Checking serde v1.0.228
[INFO] [stderr]     Checking serde_urlencoded v0.7.1
[INFO] [stderr]     Checking serde_spanned v0.6.9
[INFO] [stderr]     Checking toml_datetime v0.6.11
[INFO] [stderr]     Checking ipnetwork v0.20.0
[INFO] [stderr]     Checking toml_edit v0.22.27
[INFO] [stderr]     Checking idna_adapter v1.2.2
[INFO] [stderr]     Checking idna v1.1.0
[INFO] [stderr]     Checking url v2.5.8
[INFO] [stderr]     Checking hyper v1.10.1
[INFO] [stderr]     Checking tower v0.5.3
[INFO] [stderr]     Checking tokio-util v0.7.18
[INFO] [stderr]     Checking toml v0.8.23
[INFO] [stderr]     Checking tower-http v0.6.11
[INFO] [stderr]     Checking tun v0.6.1
[INFO] [stderr]     Checking hyper-util v0.1.20
[INFO] [stderr]     Checking axum v0.7.9
[INFO] [stderr]     Checking rustls-webpki v0.103.13
[INFO] [stderr]     Checking rustls-platform-verifier v0.6.2
[INFO] [stderr]     Checking tokio-rustls v0.26.4
[INFO] [stderr]     Checking quinn-proto v0.11.14
[INFO] [stderr]     Checking hyper-rustls v0.27.9
[INFO] [stderr]     Checking reqwest v0.12.28
[INFO] [stderr]     Checking qp2p v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `Path`
[INFO] [stdout]   --> src/cdn/mod.rs:10:17
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::path::{Path, PathBuf};
[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: `std::sync::Arc`
[INFO] [stdout]  --> src/holepunch/punch.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::sync::Arc;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `anyhow::Result`
[INFO] [stdout]   --> src/holepunch/punch.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use anyhow::Result;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Instant`
[INFO] [stdout]   --> src/holepunch/retry.rs:10:27
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::time::{Duration, Instant};
[INFO] [stdout]    |                           ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Path`
[INFO] [stdout]   --> src/cdn/mod.rs:10:17
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::path::{Path, PathBuf};
[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: `std::sync::Arc`
[INFO] [stdout]   --> src/cdn/mod.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use std::sync::Arc;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]  --> src/holepunch/punch.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::sync::Arc;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `anyhow::Result`
[INFO] [stdout]   --> src/holepunch/punch.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use anyhow::Result;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Instant`
[INFO] [stdout]   --> src/holepunch/retry.rs:10:27
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::time::{Duration, Instant};
[INFO] [stdout]    |                           ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `current_edge_id` is never read
[INFO] [stdout]    --> src/main.rs:154:17
[INFO] [stdout]     |
[INFO] [stdout] 154 |                 current_edge_id = worker_edge_id;
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `config`
[INFO] [stdout]    --> src/main.rs:300:31
[INFO] [stdout]     |
[INFO] [stdout] 300 | async fn create_quic_endpoint(config: &Config) -> anyhow::Result<quinn::Endpoint> {
[INFO] [stdout]     |                               ^^^^^^ help: if this is intentional, prefix it with an underscore: `_config`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `vip_registry` is never read
[INFO] [stdout]    --> src/config.rs:225:9
[INFO] [stdout]     |
[INFO] [stdout] 204 | pub struct AppState {
[INFO] [stdout]     |            -------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 225 |     pub vip_registry: VirtualIpRegistry,
[INFO] [stdout]     |         ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `AppState` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `from_conn_id` is never read
[INFO] [stdout]   --> src/http/notify.rs:34:5
[INFO] [stdout]    |
[INFO] [stdout] 28 | pub struct NotifyPayload {
[INFO] [stdout]    |            ------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 34 |     from_conn_id: Option<String>,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `NotifyPayload` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `inbound_tx` is never read
[INFO] [stdout]   --> src/tun.rs:52:5
[INFO] [stdout]    |
[INFO] [stdout] 51 | pub struct TunHandle {
[INFO] [stdout]    |            --------- field in this struct
[INFO] [stdout] 52 |     inbound_tx: mpsc::Sender<Vec<u8>>,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TunHandle` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `send_packet` is never used
[INFO] [stdout]   --> src/tun.rs:57:18
[INFO] [stdout]    |
[INFO] [stdout] 55 | impl TunHandle {
[INFO] [stdout]    | -------------- method in this implementation
[INFO] [stdout] 56 |     /// 向 TUN 设备写入一个 IP 包（供 QUIC 接收端调用）。
[INFO] [stdout] 57 |     pub async fn send_packet(&self, data: Vec<u8>) -> Result<()> {
[INFO] [stdout]    |                  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `cancel` is never read
[INFO] [stdout]   --> src/tunnel.rs:58:5
[INFO] [stdout]    |
[INFO] [stdout] 52 | pub struct TunnelHandle {
[INFO] [stdout]    |            ------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 58 |     cancel: CancellationToken,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TunnelHandle` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `shutdown` is never used
[INFO] [stdout]   --> src/tunnel.rs:76:18
[INFO] [stdout]    |
[INFO] [stdout] 61 | impl TunnelHandle {
[INFO] [stdout]    | ----------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 76 |     pub async fn shutdown(&self) {
[INFO] [stdout]    |                  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Unavailable` is never constructed
[INFO] [stdout]    --> src/types.rs:162:5
[INFO] [stdout]     |
[INFO] [stdout] 151 | pub enum ConnState {
[INFO] [stdout]     |          --------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 162 |     Unavailable,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ConnState` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `current_edge_id` is never read
[INFO] [stdout]    --> src/main.rs:154:17
[INFO] [stdout]     |
[INFO] [stdout] 154 |                 current_edge_id = worker_edge_id;
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `config`
[INFO] [stdout]    --> src/main.rs:300:31
[INFO] [stdout]     |
[INFO] [stdout] 300 | async fn create_quic_endpoint(config: &Config) -> anyhow::Result<quinn::Endpoint> {
[INFO] [stdout]     |                               ^^^^^^ help: if this is intentional, prefix it with an underscore: `_config`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `vip_registry` is never read
[INFO] [stdout]    --> src/config.rs:225:9
[INFO] [stdout]     |
[INFO] [stdout] 204 | pub struct AppState {
[INFO] [stdout]     |            -------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 225 |     pub vip_registry: VirtualIpRegistry,
[INFO] [stdout]     |         ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `AppState` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new_ephemeral` is never used
[INFO] [stdout]    --> src/config.rs:268:12
[INFO] [stdout]     |
[INFO] [stdout] 231 | impl AppState {
[INFO] [stdout]     | ------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 268 |     pub fn new_ephemeral() -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `from_conn_id` is never read
[INFO] [stdout]   --> src/http/notify.rs:34:5
[INFO] [stdout]    |
[INFO] [stdout] 28 | pub struct NotifyPayload {
[INFO] [stdout]    |            ------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 34 |     from_conn_id: Option<String>,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `NotifyPayload` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `inbound_tx` is never read
[INFO] [stdout]   --> src/tun.rs:52:5
[INFO] [stdout]    |
[INFO] [stdout] 51 | pub struct TunHandle {
[INFO] [stdout]    |            --------- field in this struct
[INFO] [stdout] 52 |     inbound_tx: mpsc::Sender<Vec<u8>>,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TunHandle` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `send_packet` is never used
[INFO] [stdout]   --> src/tun.rs:57:18
[INFO] [stdout]    |
[INFO] [stdout] 55 | impl TunHandle {
[INFO] [stdout]    | -------------- method in this implementation
[INFO] [stdout] 56 |     /// 向 TUN 设备写入一个 IP 包（供 QUIC 接收端调用）。
[INFO] [stdout] 57 |     pub async fn send_packet(&self, data: Vec<u8>) -> Result<()> {
[INFO] [stdout]    |                  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `cancel` is never read
[INFO] [stdout]   --> src/tunnel.rs:58:5
[INFO] [stdout]    |
[INFO] [stdout] 52 | pub struct TunnelHandle {
[INFO] [stdout]    |            ------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 58 |     cancel: CancellationToken,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TunnelHandle` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `shutdown` and `new_placeholder` are never used
[INFO] [stdout]   --> src/tunnel.rs:76:18
[INFO] [stdout]    |
[INFO] [stdout] 61 | impl TunnelHandle {
[INFO] [stdout]    | ----------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 76 |     pub async fn shutdown(&self) {
[INFO] [stdout]    |                  ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 83 |     pub fn new_placeholder() -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Unavailable` is never constructed
[INFO] [stdout]    --> src/types.rs:162:5
[INFO] [stdout]     |
[INFO] [stdout] 151 | pub enum ConnState {
[INFO] [stdout]     |          --------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 162 |     Unavailable,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ConnState` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `conn_id` is never read
[INFO] [stdout]    --> src/types.rs:193:9
[INFO] [stdout]     |
[INFO] [stdout] 183 | pub struct HolePunchTask {
[INFO] [stdout]     |            ------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 193 |     pub conn_id: Option<ConnId>,
[INFO] [stdout]     |         ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `HolePunchTask` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Shutdown` is never constructed
[INFO] [stdout]    --> src/types.rs:216:5
[INFO] [stdout]     |
[INFO] [stdout] 211 | pub enum ReloadCmd {
[INFO] [stdout]     |          --------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 216 |     Shutdown,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ReloadCmd` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 15s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: nix v0.29.0, quinn v0.11.9, quinn-udp v0.5.14
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 5`
[INFO] running `Command { std: "docker" "inspect" "830330642ab385d5c9cca3a5b38c49bd68865e57b7256103f2e6b2f618646bc3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "830330642ab385d5c9cca3a5b38c49bd68865e57b7256103f2e6b2f618646bc3", kill_on_drop: false }`
[INFO] [stdout] 830330642ab385d5c9cca3a5b38c49bd68865e57b7256103f2e6b2f618646bc3
