[INFO] cloning repository https://github.com/laomeifun/ezsingbox
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/laomeifun/ezsingbox" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Flaomeifun%2Fezsingbox", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Flaomeifun%2Fezsingbox'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 7a334c9ed162535cb50823699737d8e869cee546
[INFO] checking laomeifun/ezsingbox against try#b98202ad067d72e45cec8be3d5c15d86ef0fd086 for pr-155193
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Flaomeifun%2Fezsingbox" "/workspace/builds/worker-5-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc2/source'...
[INFO] [stderr] done.
[INFO] removed /workspace/builds/worker-5-tc2/source/.cargo/config.toml
[INFO] started tweaking git repo https://github.com/laomeifun/ezsingbox
[INFO] finished tweaking git repo https://github.com/laomeifun/ezsingbox
[INFO] tweaked toml for git repo https://github.com/laomeifun/ezsingbox written to /workspace/builds/worker-5-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/laomeifun/ezsingbox on toolchain b98202ad067d72e45cec8be3d5c15d86ef0fd086
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b98202ad067d72e45cec8be3d5c15d86ef0fd086" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/laomeifun/ezsingbox 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" "+b98202ad067d72e45cec8be3d5c15d86ef0fd086" "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 chunked_transfer v1.5.0
[INFO] [stderr]   Downloaded ureq-proto v0.5.3
[INFO] [stderr]   Downloaded tiny_http v0.12.0
[INFO] [stderr]   Downloaded rustls-pki-types v1.13.1
[INFO] [stderr]   Downloaded ascii v1.1.0
[INFO] [stderr]   Downloaded ureq v3.1.4
[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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+b98202ad067d72e45cec8be3d5c15d86ef0fd086" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 87b6f8704f4e1f83dd12bce9aa68fde89c27be2c79f5925e330467efddd71196
[INFO] running `Command { std: "docker" "start" "-a" "87b6f8704f4e1f83dd12bce9aa68fde89c27be2c79f5925e330467efddd71196", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "87b6f8704f4e1f83dd12bce9aa68fde89c27be2c79f5925e330467efddd71196", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "87b6f8704f4e1f83dd12bce9aa68fde89c27be2c79f5925e330467efddd71196", kill_on_drop: false }`
[INFO] [stdout] 87b6f8704f4e1f83dd12bce9aa68fde89c27be2c79f5925e330467efddd71196
[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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+b98202ad067d72e45cec8be3d5c15d86ef0fd086" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] fd537e4feffec018ad9a9c99cff68d714028541fbc69e4604dc96573ca0bb00e
[INFO] running `Command { std: "docker" "start" "-a" "fd537e4feffec018ad9a9c99cff68d714028541fbc69e4604dc96573ca0bb00e", kill_on_drop: false }`
[INFO] [stderr]     Checking getrandom v0.2.16
[INFO] [stderr]     Checking zeroize v1.8.2
[INFO] [stderr]    Compiling ring v0.17.14
[INFO] [stderr]     Checking getrandom v0.3.4
[INFO] [stderr]     Checking subtle v2.6.1
[INFO] [stderr]    Compiling httparse v1.10.1
[INFO] [stderr]    Compiling curve25519-dalek v4.1.3
[INFO] [stderr]    Compiling rustls v0.23.35
[INFO] [stderr]     Checking rustls-pki-types v1.13.1
[INFO] [stderr]     Checking rand_core v0.9.3
[INFO] [stderr]     Checking http v1.4.0
[INFO] [stderr]     Checking once_cell v1.21.3
[INFO] [stderr]     Checking flate2 v1.1.5
[INFO] [stderr]     Checking rand_chacha v0.9.0
[INFO] [stderr]     Checking ascii v1.1.0
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]     Checking webpki-roots v1.0.4
[INFO] [stderr]     Checking chunked_transfer v1.5.0
[INFO] [stderr]     Checking serde_json v1.0.145
[INFO] [stderr]     Checking rand v0.9.2
[INFO] [stderr]     Checking serde v1.0.228
[INFO] [stderr]     Checking uuid v1.19.0
[INFO] [stderr]     Checking tiny_http v0.12.0
[INFO] [stderr]     Checking ureq-proto v0.5.3
[INFO] [stderr]     Checking x25519-dalek v2.0.1
[INFO] [stderr]     Checking rustls-webpki v0.103.8
[INFO] [stderr]     Checking ureq v3.1.4
[INFO] [stderr]     Checking ezsingbox v0.1.16 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `VlessFlow`
[INFO] [stdout]   --> src/autoconfig/autoByDefault.rs:15:70
[INFO] [stdout]    |
[INFO] [stdout] 15 |     AnyTlsInbound, CongestionControl, Hysteria2Inbound, TuicInbound, VlessFlow, VlessInbound,
[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 imports: `AutoAnyTlsBuilder`, `AutoAnyTlsConfig`, `AutoAnyTlsError`, `AutoAnyTlsResult`, and `ConnectionInfo`
[INFO] [stdout]   --> src/autoconfig/mod.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 |     AutoAnyTlsBuilder, AutoAnyTlsConfig, AutoAnyTlsError, AutoAnyTlsResult, ConnectionInfo,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AutoHysteria2Builder`, `AutoHysteria2Config`, `AutoHysteria2Error`, `AutoHysteria2Result`, and `Hysteria2ConnectionInfo`
[INFO] [stdout]   --> src/autoconfig/mod.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 20 |     AutoHysteria2Builder, AutoHysteria2Config, AutoHysteria2Error, AutoHysteria2Result,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 21 |     Hysteria2ConnectionInfo,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AutoTuicBuilder`, `AutoTuicConfig`, `AutoTuicError`, `AutoTuicResult`, `TuicConnectionInfo`, and `TuicUserConfig`
[INFO] [stdout]   --> src/autoconfig/mod.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 26 |     AutoTuicBuilder, AutoTuicConfig, AutoTuicError, AutoTuicResult, TuicConnectionInfo,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^  ^^^^^^^^^^^^^  ^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 27 |     TuicUserConfig,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AutoVlessBuilder`, `AutoVlessConfig`, `AutoVlessError`, `AutoVlessResult`, `VlessConnectionInfo`, and `VlessUserConfig`
[INFO] [stdout]   --> src/autoconfig/mod.rs:32:5
[INFO] [stdout]    |
[INFO] [stdout] 32 |     AutoVlessBuilder, AutoVlessConfig, AutoVlessError, AutoVlessResult, VlessConnectionInfo,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 33 |     VlessUserConfig,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AnyTlsAutoResult`, `AutoBuildResult`, `AutoDefaultError`, `AutoDefaultResult`, `AutoDefault`, `DEFAULT_PORTS`, `Hysteria2AutoResult`, `Protocol`, `TuicAutoResult`, `default_port`, `fallback_port`, `quick_all`, `quick_anytls`, `quick_hysteria2`, and `quick_tuic`
[INFO] [stdout]   --> src/autoconfig/mod.rs:39:5
[INFO] [stdout]    |
[INFO] [stdout] 39 |     AnyTlsAutoResult,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 40 |     AutoBuildResult,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 41 |     // 构建器
[INFO] [stdout] 42 |     AutoDefault,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 43 |     // 辅助类型
[INFO] [stdout] 44 |     AutoDefaultError,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 45 |     AutoDefaultResult,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 46 |     // 端口常量和函数
[INFO] [stdout] 47 |     DEFAULT_PORTS,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 48 |     GeneratedUser,
[INFO] [stdout] 49 |     Hysteria2AutoResult,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 52 |     Protocol,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 53 |     TuicAutoResult,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 54 |     default_port,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 55 |     fallback_port,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 56 |     // 便捷函数
[INFO] [stdout] 57 |     quick_all,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 58 |     quick_anytls,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 59 |     quick_hysteria2,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 60 |     quick_tuic,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `PublicIpError`, `TlsMode`, `UserConfig`, `generate_hex_string`, `generate_nip_domain`, `generate_password_with_length`, `generate_password`, `generate_random_bytes`, `generate_sslip_domain`, `generate_uuid_simple`, `generate_uuid`, `get_public_ip_with_timeout`, and `get_public_ip`
[INFO] [stdout]   --> src/autoconfig/mod.rs:65:5
[INFO] [stdout]    |
[INFO] [stdout] 65 |     PublicIpError, TlsMode, UserConfig, generate_hex_string, generate_nip_domain,
[INFO] [stdout]    |     ^^^^^^^^^^^^^  ^^^^^^^  ^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 66 |     generate_password, generate_password_with_length, generate_random_bytes, generate_sslip_domain,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 67 |     generate_uuid, generate_uuid_simple, get_public_ip, get_public_ip_with_timeout,
[INFO] [stdout]    |     ^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `dns::*`
[INFO] [stdout]  --> src/dns/mod.rs:8:9
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub use dns::*;
[INFO] [stdout]   |         ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Hysteria2MasqueradeConfig`, `Hysteria2Masquerade`, `Hysteria2Obfs`, and `MasqueradeType`
[INFO] [stdout]   --> src/singboxconfig/inbound/mod.rs:12:23
[INFO] [stdout]    |
[INFO] [stdout] 12 |     Hysteria2Inbound, Hysteria2Masquerade, Hysteria2MasqueradeConfig, Hysteria2Obfs, MasqueradeType,
[INFO] [stdout]    |                       ^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^  ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `DomainResolverConfig` and `DomainResolver`
[INFO] [stdout]   --> src/singboxconfig/shared/mod.rs:12:28
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub use dial::{DialFields, DomainResolver, DomainResolverConfig};
[INFO] [stdout]    |                            ^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AliDnsConfig`, `CloudflareConfig`, and `Dns01Challenge`
[INFO] [stdout]   --> src/singboxconfig/shared/mod.rs:13:27
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub use dns01_challenge::{AliDnsConfig, CloudflareConfig, Dns01Challenge};
[INFO] [stdout]    |                           ^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `MultiplexOutbound`, `MultiplexProtocol`, and `TcpBrutal`
[INFO] [stdout]   --> src/singboxconfig/shared/mod.rs:15:39
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub use multiplex::{MultiplexInbound, MultiplexOutbound, MultiplexProtocol, TcpBrutal};
[INFO] [stdout]    |                                       ^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AcmeExternalAccount`, `AcmeProviderPreset`, `AcmeProvider`, `CipherSuite`, `ClientAuthentication`, `CurvePreference`, `EchInboundConfig`, `EchOutboundConfig`, `RealityOutboundConfig`, `TlsVersion`, `UtlsConfig`, and `UtlsFingerprint`
[INFO] [stdout]   --> src/singboxconfig/shared/mod.rs:17:17
[INFO] [stdout]    |
[INFO] [stdout] 17 |     AcmeConfig, AcmeExternalAccount, AcmeProvider, AcmeProviderPreset, CipherSuite,
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 18 |     ClientAuthentication, CurvePreference, EchInboundConfig, EchOutboundConfig, InboundTlsConfig,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 19 |     OutboundTlsConfig, RealityHandshake, RealityInboundConfig, RealityOutboundConfig, TlsVersion,
[INFO] [stdout]    |                                                                ^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 20 |     UtlsConfig, UtlsFingerprint,
[INFO] [stdout]    |     ^^^^^^^^^^  ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `GrpcTransport`, `HttpTransport`, `HttpUpgradeTransport`, `QuicTransport`, and `WebSocketTransport`
[INFO] [stdout]   --> src/singboxconfig/shared/mod.rs:23:5
[INFO] [stdout]    |
[INFO] [stdout] 23 |     GrpcTransport, HttpTransport, HttpUpgradeTransport, QuicTransport, V2RayTransport,
[INFO] [stdout]    |     ^^^^^^^^^^^^^  ^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^
[INFO] [stdout] 24 |     WebSocketTransport,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ParseDurationError`
[INFO] [stdout]   --> src/singboxconfig/types/mod.rs:13:30
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub use duration::{Duration, ParseDurationError};
[INFO] [stdout]    |                              ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ShadowsocksDestination`, `VMessUser`, `VlessFlow`, and `VlessUser`
[INFO] [stdout]   --> src/singboxconfig/types/mod.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 |     ShadowsocksDestination, TuicUser, UserWithPassword, VMessUser, VlessFlow, VlessUser,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^                              ^^^^^^^^^  ^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `VlessFlow`
[INFO] [stdout]   --> src/autoconfig/autoByDefault.rs:15:70
[INFO] [stdout]    |
[INFO] [stdout] 15 |     AnyTlsInbound, CongestionControl, Hysteria2Inbound, TuicInbound, VlessFlow, VlessInbound,
[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 imports: `AutoAnyTlsBuilder`, `AutoAnyTlsConfig`, `AutoAnyTlsError`, `AutoAnyTlsResult`, and `ConnectionInfo`
[INFO] [stdout]   --> src/autoconfig/mod.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 |     AutoAnyTlsBuilder, AutoAnyTlsConfig, AutoAnyTlsError, AutoAnyTlsResult, ConnectionInfo,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AutoHysteria2Builder`, `AutoHysteria2Config`, `AutoHysteria2Error`, `AutoHysteria2Result`, and `Hysteria2ConnectionInfo`
[INFO] [stdout]   --> src/autoconfig/mod.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 20 |     AutoHysteria2Builder, AutoHysteria2Config, AutoHysteria2Error, AutoHysteria2Result,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 21 |     Hysteria2ConnectionInfo,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AutoTuicBuilder`, `AutoTuicConfig`, `AutoTuicError`, `AutoTuicResult`, `TuicConnectionInfo`, and `TuicUserConfig`
[INFO] [stdout]   --> src/autoconfig/mod.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 26 |     AutoTuicBuilder, AutoTuicConfig, AutoTuicError, AutoTuicResult, TuicConnectionInfo,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^  ^^^^^^^^^^^^^  ^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 27 |     TuicUserConfig,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AutoVlessBuilder`, `AutoVlessConfig`, `AutoVlessError`, `AutoVlessResult`, `VlessConnectionInfo`, and `VlessUserConfig`
[INFO] [stdout]   --> src/autoconfig/mod.rs:32:5
[INFO] [stdout]    |
[INFO] [stdout] 32 |     AutoVlessBuilder, AutoVlessConfig, AutoVlessError, AutoVlessResult, VlessConnectionInfo,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 33 |     VlessUserConfig,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AnyTlsAutoResult`, `AutoBuildResult`, `AutoDefaultError`, `AutoDefaultResult`, `AutoDefault`, `DEFAULT_PORTS`, `Hysteria2AutoResult`, `Protocol`, `TuicAutoResult`, `default_port`, `fallback_port`, `quick_all`, `quick_anytls`, `quick_hysteria2`, and `quick_tuic`
[INFO] [stdout]   --> src/autoconfig/mod.rs:39:5
[INFO] [stdout]    |
[INFO] [stdout] 39 |     AnyTlsAutoResult,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 40 |     AutoBuildResult,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 41 |     // 构建器
[INFO] [stdout] 42 |     AutoDefault,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 43 |     // 辅助类型
[INFO] [stdout] 44 |     AutoDefaultError,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 45 |     AutoDefaultResult,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 46 |     // 端口常量和函数
[INFO] [stdout] 47 |     DEFAULT_PORTS,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 48 |     GeneratedUser,
[INFO] [stdout] 49 |     Hysteria2AutoResult,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 52 |     Protocol,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 53 |     TuicAutoResult,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 54 |     default_port,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 55 |     fallback_port,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 56 |     // 便捷函数
[INFO] [stdout] 57 |     quick_all,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 58 |     quick_anytls,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 59 |     quick_hysteria2,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 60 |     quick_tuic,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `PublicIpError`, `TlsMode`, `UserConfig`, `generate_hex_string`, `generate_nip_domain`, `generate_password_with_length`, `generate_password`, `generate_random_bytes`, `generate_sslip_domain`, `generate_uuid_simple`, `generate_uuid`, `get_public_ip_with_timeout`, and `get_public_ip`
[INFO] [stdout]   --> src/autoconfig/mod.rs:65:5
[INFO] [stdout]    |
[INFO] [stdout] 65 |     PublicIpError, TlsMode, UserConfig, generate_hex_string, generate_nip_domain,
[INFO] [stdout]    |     ^^^^^^^^^^^^^  ^^^^^^^  ^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 66 |     generate_password, generate_password_with_length, generate_random_bytes, generate_sslip_domain,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 67 |     generate_uuid, generate_uuid_simple, get_public_ip, get_public_ip_with_timeout,
[INFO] [stdout]    |     ^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `dns::*`
[INFO] [stdout]  --> src/dns/mod.rs:8:9
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub use dns::*;
[INFO] [stdout]   |         ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Hysteria2MasqueradeConfig`, `Hysteria2Masquerade`, `Hysteria2Obfs`, and `MasqueradeType`
[INFO] [stdout]   --> src/singboxconfig/inbound/mod.rs:12:23
[INFO] [stdout]    |
[INFO] [stdout] 12 |     Hysteria2Inbound, Hysteria2Masquerade, Hysteria2MasqueradeConfig, Hysteria2Obfs, MasqueradeType,
[INFO] [stdout]    |                       ^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^  ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `DomainResolverConfig` and `DomainResolver`
[INFO] [stdout]   --> src/singboxconfig/shared/mod.rs:12:28
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub use dial::{DialFields, DomainResolver, DomainResolverConfig};
[INFO] [stdout]    |                            ^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AliDnsConfig`, `CloudflareConfig`, and `Dns01Challenge`
[INFO] [stdout]   --> src/singboxconfig/shared/mod.rs:13:27
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub use dns01_challenge::{AliDnsConfig, CloudflareConfig, Dns01Challenge};
[INFO] [stdout]    |                           ^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `MultiplexOutbound`, `MultiplexProtocol`, and `TcpBrutal`
[INFO] [stdout]   --> src/singboxconfig/shared/mod.rs:15:39
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub use multiplex::{MultiplexInbound, MultiplexOutbound, MultiplexProtocol, TcpBrutal};
[INFO] [stdout]    |                                       ^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AcmeExternalAccount`, `AcmeProviderPreset`, `AcmeProvider`, `CipherSuite`, `ClientAuthentication`, `CurvePreference`, `EchInboundConfig`, `EchOutboundConfig`, `RealityOutboundConfig`, `TlsVersion`, `UtlsConfig`, and `UtlsFingerprint`
[INFO] [stdout]   --> src/singboxconfig/shared/mod.rs:17:17
[INFO] [stdout]    |
[INFO] [stdout] 17 |     AcmeConfig, AcmeExternalAccount, AcmeProvider, AcmeProviderPreset, CipherSuite,
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 18 |     ClientAuthentication, CurvePreference, EchInboundConfig, EchOutboundConfig, InboundTlsConfig,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 19 |     OutboundTlsConfig, RealityHandshake, RealityInboundConfig, RealityOutboundConfig, TlsVersion,
[INFO] [stdout]    |                                                                ^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 20 |     UtlsConfig, UtlsFingerprint,
[INFO] [stdout]    |     ^^^^^^^^^^  ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `GrpcTransport`, `HttpTransport`, `HttpUpgradeTransport`, `QuicTransport`, and `WebSocketTransport`
[INFO] [stdout]   --> src/singboxconfig/shared/mod.rs:23:5
[INFO] [stdout]    |
[INFO] [stdout] 23 |     GrpcTransport, HttpTransport, HttpUpgradeTransport, QuicTransport, V2RayTransport,
[INFO] [stdout]    |     ^^^^^^^^^^^^^  ^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^
[INFO] [stdout] 24 |     WebSocketTransport,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ParseDurationError`
[INFO] [stdout]   --> src/singboxconfig/types/mod.rs:13:30
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub use duration::{Duration, ParseDurationError};
[INFO] [stdout]    |                              ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ShadowsocksDestination`, `VMessUser`, `VlessFlow`, and `VlessUser`
[INFO] [stdout]   --> src/singboxconfig/types/mod.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 |     ShadowsocksDestination, TuicUser, UserWithPassword, VMessUser, VlessFlow, VlessUser,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^                              ^^^^^^^^^  ^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated field `singboxconfig::shared::listen::ListenFields::sniff`: 请使用路由嗅探设置
[INFO] [stdout]    --> src/singboxconfig/shared/listen.rs:127:13
[INFO] [stdout]     |
[INFO] [stdout] 127 |             sniff: None,
[INFO] [stdout]     |             ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated field `singboxconfig::shared::listen::ListenFields::sniff_override_destination`: 请使用路由嗅探设置
[INFO] [stdout]    --> src/singboxconfig/shared/listen.rs:128:13
[INFO] [stdout]     |
[INFO] [stdout] 128 |             sniff_override_destination: None,
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated field `singboxconfig::shared::listen::ListenFields::sniff_timeout`: 请使用路由嗅探设置
[INFO] [stdout]    --> src/singboxconfig/shared/listen.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |             sniff_timeout: None,
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated field `singboxconfig::shared::listen::ListenFields::domain_strategy`: 请使用路由嗅探设置
[INFO] [stdout]    --> src/singboxconfig/shared/listen.rs:130:13
[INFO] [stdout]     |
[INFO] [stdout] 130 |             domain_strategy: None,
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated field `singboxconfig::shared::listen::ListenFields::udp_disable_domain_unmapping`: 请使用路由嗅探设置
[INFO] [stdout]    --> src/singboxconfig/shared/listen.rs:131:13
[INFO] [stdout]     |
[INFO] [stdout] 131 |             udp_disable_domain_unmapping: None,
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated field `singboxconfig::shared::listen::ListenFields::sniff`: 请使用路由嗅探设置
[INFO] [stdout]    --> src/singboxconfig/shared/listen.rs:127:13
[INFO] [stdout]     |
[INFO] [stdout] 127 |             sniff: None,
[INFO] [stdout]     |             ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated field `singboxconfig::shared::listen::ListenFields::sniff_override_destination`: 请使用路由嗅探设置
[INFO] [stdout]    --> src/singboxconfig/shared/listen.rs:128:13
[INFO] [stdout]     |
[INFO] [stdout] 128 |             sniff_override_destination: None,
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated field `singboxconfig::shared::listen::ListenFields::sniff_timeout`: 请使用路由嗅探设置
[INFO] [stdout]    --> src/singboxconfig/shared/listen.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |             sniff_timeout: None,
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated field `singboxconfig::shared::listen::ListenFields::domain_strategy`: 请使用路由嗅探设置
[INFO] [stdout]    --> src/singboxconfig/shared/listen.rs:130:13
[INFO] [stdout]     |
[INFO] [stdout] 130 |             domain_strategy: None,
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated field `singboxconfig::shared::listen::ListenFields::udp_disable_domain_unmapping`: 请使用路由嗅探设置
[INFO] [stdout]    --> src/singboxconfig/shared/listen.rs:131:13
[INFO] [stdout]     |
[INFO] [stdout] 131 |             udp_disable_domain_unmapping: None,
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `fallback_port` is never used
[INFO] [stdout]   --> src/autoconfig/autoByDefault.rs:42:8
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub fn fallback_port(index: usize) -> u16 {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `public_ip` and `domain` are never read
[INFO] [stdout]    --> src/autoconfig/autoByDefault.rs:146:9
[INFO] [stdout]     |
[INFO] [stdout] 144 | pub struct AutoDefaultResult {
[INFO] [stdout]     |            ----------------- fields in this struct
[INFO] [stdout] 145 |     /// 服务器公网 IP
[INFO] [stdout] 146 |     pub public_ip: IpAddr,
[INFO] [stdout]     |         ^^^^^^^^^
[INFO] [stdout] 147 |     /// 使用的域名
[INFO] [stdout] 148 |     pub domain: String,
[INFO] [stdout]     |         ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `AutoDefaultResult` 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: variants `NoAvailablePort` and `ConfigError` are never constructed
[INFO] [stdout]    --> src/autoconfig/autoByDefault.rs:270:5
[INFO] [stdout]     |
[INFO] [stdout] 266 | pub enum AutoDefaultError {
[INFO] [stdout]     |          ---------------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 270 |     NoAvailablePort,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 271 |     /// 配置生成失败
[INFO] [stdout] 272 |     ConfigError(String),
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `AutoDefaultError` 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: methods `public_ip_str`, `fallback_port`, `tag`, `masquerade`, `server_name`, and `build` are never used
[INFO] [stdout]    --> src/autoconfig/autoByDefault.rs:405:12
[INFO] [stdout]     |
[INFO] [stdout] 350 | impl AutoDefault {
[INFO] [stdout]     | ---------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 405 |     pub fn public_ip_str(mut self, ip: &str) -> Result<Self, std::net::AddrParseError> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 417 |     pub fn fallback_port(mut self, index: usize) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 423 |     pub fn tag(mut self, tag: impl Into<String>) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 487 |     pub fn masquerade(mut self, url: impl Into<String>) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 524 |     pub fn server_name(mut self, name: impl Into<String>) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 803 |     pub fn build(self) -> Result<AutoBuildResult, AutoDefaultError> {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `AutoBuildResult` is never used
[INFO] [stdout]    --> src/autoconfig/autoByDefault.rs:817:10
[INFO] [stdout]     |
[INFO] [stdout] 817 | pub enum AutoBuildResult {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `quick_anytls` is never used
[INFO] [stdout]     --> src/autoconfig/autoByDefault.rs:1108:8
[INFO] [stdout]      |
[INFO] [stdout] 1108 | pub fn quick_anytls() -> Result<AnyTlsAutoResult, AutoDefaultError> {
[INFO] [stdout]      |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `quick_hysteria2` is never used
[INFO] [stdout]     --> src/autoconfig/autoByDefault.rs:1113:8
[INFO] [stdout]      |
[INFO] [stdout] 1113 | pub fn quick_hysteria2() -> Result<Hysteria2AutoResult, AutoDefaultError> {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `quick_tuic` is never used
[INFO] [stdout]     --> src/autoconfig/autoByDefault.rs:1118:8
[INFO] [stdout]      |
[INFO] [stdout] 1118 | pub fn quick_tuic() -> Result<TuicAutoResult, AutoDefaultError> {
[INFO] [stdout]      |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `quick_all` is never used
[INFO] [stdout]     --> src/autoconfig/autoByDefault.rs:1123:8
[INFO] [stdout]      |
[INFO] [stdout] 1123 | pub fn quick_all() -> Result<MultiProtocolResult, AutoDefaultError> {
[INFO] [stdout]      |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `quick_vless_reality` is never used
[INFO] [stdout]     --> src/autoconfig/autoByDefault.rs:1128:8
[INFO] [stdout]      |
[INFO] [stdout] 1128 | pub fn quick_vless_reality() -> Result<VlessRealityAutoResult, AutoDefaultError> {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AutoAnyTlsConfig` is never constructed
[INFO] [stdout]   --> src/autoconfig/autoanytls.rs:18:12
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub struct AutoAnyTlsConfig {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AutoAnyTlsBuilder` is never constructed
[INFO] [stdout]   --> src/autoconfig/autoanytls.rs:51:12
[INFO] [stdout]    |
[INFO] [stdout] 51 | pub struct AutoAnyTlsBuilder {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/autoconfig/autoanytls.rs:57:12
[INFO] [stdout]     |
[INFO] [stdout]  55 | impl AutoAnyTlsBuilder {
[INFO] [stdout]     | ---------------------- associated items in this implementation
[INFO] [stdout]  56 |     /// 创建新的构建器
[INFO] [stdout]  57 |     pub fn new() -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  62 |     pub fn port(mut self, port: u16) -> Self {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout]  68 |     pub fn listen(mut self, listen: impl Into<String>) -> Self {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  74 |     pub fn public_ip(mut self, ip: IpAddr) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  80 |     pub fn public_ip_str(mut self, ip: &str) -> Result<Self, std::net::AddrParseError> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  87 |     pub fn auto_detect_ip(mut self) -> Result<Self, PublicIpError> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  93 |     pub fn add_user(mut self, name: impl Into<String>) -> Self {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  99 |     pub fn add_user_with_password(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 111 |     pub fn tag(mut self, tag: impl Into<String>) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 117 |     pub fn acme(mut self) -> Self {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 123 |     pub fn acme_with_domain(mut self, domain: impl Into<String>) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 129 |     pub fn acme_with_domain_and_email(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 139 |     pub fn custom_cert(
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 149 |     pub fn custom_cert_with_server_name(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 161 |     pub fn disable_tls(mut self) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 167 |     pub fn no_padding(mut self) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 173 |     pub fn build(self) -> Result<AutoAnyTlsResult, AutoAnyTlsError> {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AutoAnyTlsResult` is never constructed
[INFO] [stdout]    --> src/autoconfig/autoanytls.rs:180:12
[INFO] [stdout]     |
[INFO] [stdout] 180 | pub struct AutoAnyTlsResult {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ConnectionInfo` is never constructed
[INFO] [stdout]    --> src/autoconfig/autoanytls.rs:193:12
[INFO] [stdout]     |
[INFO] [stdout] 193 | pub struct ConnectionInfo {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `AutoAnyTlsError` is never used
[INFO] [stdout]    --> src/autoconfig/autoanytls.rs:204:10
[INFO] [stdout]     |
[INFO] [stdout] 204 | pub enum AutoAnyTlsError {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `generate`, `generate_users`, and `generate_tls_config` are never used
[INFO] [stdout]    --> src/autoconfig/autoanytls.rs:227:12
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl AutoAnyTlsConfig {
[INFO] [stdout]     | --------------------- methods in this implementation
[INFO] [stdout] 226 |     /// 生成配置
[INFO] [stdout] 227 |     pub fn generate(&self) -> Result<AutoAnyTlsResult, AutoAnyTlsError> {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 287 |     fn generate_users(&self) -> Vec<UserWithPassword> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 303 |     fn generate_tls_config(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AutoHysteria2Config` is never constructed
[INFO] [stdout]   --> src/autoconfig/autohy2.rs:18:12
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub struct AutoHysteria2Config {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AutoHysteria2Builder` is never constructed
[INFO] [stdout]   --> src/autoconfig/autohy2.rs:63:12
[INFO] [stdout]    |
[INFO] [stdout] 63 | pub struct AutoHysteria2Builder {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/autoconfig/autohy2.rs:69:12
[INFO] [stdout]     |
[INFO] [stdout]  67 | impl AutoHysteria2Builder {
[INFO] [stdout]     | ------------------------- associated items in this implementation
[INFO] [stdout]  68 |     /// 创建新的构建器
[INFO] [stdout]  69 |     pub fn new() -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  74 |     pub fn port(mut self, port: u16) -> Self {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout]  80 |     pub fn listen(mut self, listen: impl Into<String>) -> Self {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  86 |     pub fn public_ip(mut self, ip: IpAddr) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  92 |     pub fn public_ip_str(mut self, ip: &str) -> Result<Self, std::net::AddrParseError> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  98 |     pub fn auto_detect_ip(mut self) -> Result<Self, PublicIpError> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 104 |     pub fn add_user(mut self, name: impl Into<String>) -> Self {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 110 |     pub fn add_user_with_password(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 122 |     pub fn tag(mut self, tag: impl Into<String>) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 128 |     pub fn bandwidth(mut self, up_mbps: u32, down_mbps: u32) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 135 |     pub fn up_mbps(mut self, mbps: u32) -> Self {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 141 |     pub fn down_mbps(mut self, mbps: u32) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 147 |     pub fn with_obfs(mut self) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 153 |     pub fn with_obfs_password(mut self, password: impl Into<String>) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 159 |     pub fn with_masquerade(mut self, url: impl Into<String>) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 165 |     pub fn ignore_client_bandwidth(mut self, ignore: bool) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 171 |     pub fn acme(mut self) -> Self {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 177 |     pub fn acme_with_domain(mut self, domain: impl Into<String>) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 183 |     pub fn acme_with_domain_and_email(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 193 |     pub fn custom_cert(
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 203 |     pub fn custom_cert_with_server_name(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 215 |     pub fn build(self) -> Result<AutoHysteria2Result, AutoHysteria2Error> {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AutoHysteria2Result` is never constructed
[INFO] [stdout]    --> src/autoconfig/autohy2.rs:222:12
[INFO] [stdout]     |
[INFO] [stdout] 222 | pub struct AutoHysteria2Result {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Hysteria2ConnectionInfo` is never constructed
[INFO] [stdout]    --> src/autoconfig/autohy2.rs:237:12
[INFO] [stdout]     |
[INFO] [stdout] 237 | pub struct Hysteria2ConnectionInfo {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `AutoHysteria2Error` is never used
[INFO] [stdout]    --> src/autoconfig/autohy2.rs:254:10
[INFO] [stdout]     |
[INFO] [stdout] 254 | pub enum AutoHysteria2Error {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `generate`, `generate_users`, and `generate_tls_config` are never used
[INFO] [stdout]    --> src/autoconfig/autohy2.rs:277:12
[INFO] [stdout]     |
[INFO] [stdout] 275 | impl AutoHysteria2Config {
[INFO] [stdout]     | ------------------------ methods in this implementation
[INFO] [stdout] 276 |     /// 生成配置
[INFO] [stdout] 277 |     pub fn generate(&self) -> Result<AutoHysteria2Result, AutoHysteria2Error> {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 353 |     fn generate_users(&self) -> Vec<UserWithPassword> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 369 |     fn generate_tls_config(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TuicUserConfig` is never constructed
[INFO] [stdout]   --> src/autoconfig/autotuic.rs:19:12
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub struct TuicUserConfig {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `with_uuid`, `with_credentials`, `uuid_only`, `get_or_generate_uuid`, and `get_or_generate_password` are never used
[INFO] [stdout]   --> src/autoconfig/autotuic.rs:30:12
[INFO] [stdout]    |
[INFO] [stdout] 28 | impl TuicUserConfig {
[INFO] [stdout]    | ------------------- associated items in this implementation
[INFO] [stdout] 29 |     /// 创建新用户配置（自动生成 UUID 和密码）
[INFO] [stdout] 30 |     pub fn new(name: impl Into<String>) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 39 |     pub fn with_uuid(name: impl Into<String>, uuid: impl Into<String>) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 48 |     pub fn with_credentials(
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 61 |     pub fn uuid_only(uuid: impl Into<String>) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 70 |     pub fn get_or_generate_uuid(&self) -> String {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 75 |     pub fn get_or_generate_password(&self) -> Option<String> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AutoTuicConfig` is never constructed
[INFO] [stdout]   --> src/autoconfig/autotuic.rs:90:12
[INFO] [stdout]    |
[INFO] [stdout] 90 | pub struct AutoTuicConfig {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AutoTuicBuilder` is never constructed
[INFO] [stdout]    --> src/autoconfig/autotuic.rs:132:12
[INFO] [stdout]     |
[INFO] [stdout] 132 | pub struct AutoTuicBuilder {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/autoconfig/autotuic.rs:138:12
[INFO] [stdout]     |
[INFO] [stdout] 136 | impl AutoTuicBuilder {
[INFO] [stdout]     | -------------------- associated items in this implementation
[INFO] [stdout] 137 |     /// 创建新的构建器
[INFO] [stdout] 138 |     pub fn new() -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 143 |     pub fn port(mut self, port: u16) -> Self {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 149 |     pub fn listen(mut self, listen: impl Into<String>) -> Self {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 155 |     pub fn public_ip(mut self, ip: IpAddr) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 161 |     pub fn public_ip_str(mut self, ip: &str) -> Result<Self, std::net::AddrParseError> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 167 |     pub fn auto_detect_ip(mut self) -> Result<Self, PublicIpError> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 173 |     pub fn add_user(mut self, name: impl Into<String>) -> Self {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 179 |     pub fn add_user_with_uuid(mut self, name: impl Into<String>, uuid: impl Into<String>) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 187 |     pub fn add_user_with_credentials(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 200 |     pub fn tag(mut self, tag: impl Into<String>) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 206 |     pub fn congestion_control(mut self, cc: CongestionControl) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 212 |     pub fn cubic(mut self) -> Self {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 218 |     pub fn bbr(mut self) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 224 |     pub fn new_reno(mut self) -> Self {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 230 |     pub fn auth_timeout(mut self, timeout: Duration) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 236 |     pub fn auth_timeout_secs(mut self, secs: u64) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 243 |     pub fn zero_rtt_handshake(mut self, enabled: bool) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 249 |     pub fn heartbeat(mut self, interval: Duration) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 255 |     pub fn heartbeat_secs(mut self, secs: u64) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 261 |     pub fn acme(mut self) -> Self {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 270 |     pub fn acme_with_domain(mut self, domain: impl Into<String>) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 279 |     pub fn acme_with_domain_and_email(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 292 |     pub fn custom_cert(
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 306 |     pub fn custom_cert_with_server_name(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 321 |     pub fn build(self) -> Result<AutoTuicResult, AutoTuicError> {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AutoTuicResult` is never constructed
[INFO] [stdout]    --> src/autoconfig/autotuic.rs:332:12
[INFO] [stdout]     |
[INFO] [stdout] 332 | pub struct AutoTuicResult {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TuicConnectionInfo` is never constructed
[INFO] [stdout]    --> src/autoconfig/autotuic.rs:345:12
[INFO] [stdout]     |
[INFO] [stdout] 345 | pub struct TuicConnectionInfo {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `AutoTuicError` is never used
[INFO] [stdout]    --> src/autoconfig/autotuic.rs:362:10
[INFO] [stdout]     |
[INFO] [stdout] 362 | pub enum AutoTuicError {
[INFO] [stdout]     |          ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `generate`, `generate_users`, and `generate_tls_config` are never used
[INFO] [stdout]    --> src/autoconfig/autotuic.rs:389:12
[INFO] [stdout]     |
[INFO] [stdout] 387 | impl AutoTuicConfig {
[INFO] [stdout]     | ------------------- methods in this implementation
[INFO] [stdout] 388 |     /// 生成配置
[INFO] [stdout] 389 |     pub fn generate(&self) -> Result<AutoTuicResult, AutoTuicError> {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 463 |     fn generate_users(&self) -> Vec<TuicUser> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 491 |     fn generate_tls_config(&self) -> Result<(InboundTlsConfig, Option<String>), AutoTuicError> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `VlessUserConfig` is never constructed
[INFO] [stdout]   --> src/autoconfig/autovless.rs:18:12
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub struct VlessUserConfig {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]   --> src/autoconfig/autovless.rs:29:12
[INFO] [stdout]    |
[INFO] [stdout] 27 | impl VlessUserConfig {
[INFO] [stdout]    | -------------------- associated items in this implementation
[INFO] [stdout] 28 |     /// 创建新用户配置（自动生成UUID）
[INFO] [stdout] 29 |     pub fn new(name: impl Into<String>) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 38 |     pub fn with_uuid(name: impl Into<String>, uuid: impl Into<String>) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 47 |     pub fn with_flow(name: impl Into<String>, flow: VlessFlow) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 56 |     pub fn full(name: impl Into<String>, uuid: impl Into<String>, flow: VlessFlow) -> Self {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 65 |     pub fn get_or_generate_uuid(&self) -> String {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 70 |     pub fn set_flow(mut self, flow: VlessFlow) -> Self {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 76 |     pub fn xtls_vision(mut self) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AutoVlessConfig` is never constructed
[INFO] [stdout]   --> src/autoconfig/autovless.rs:88:12
[INFO] [stdout]    |
[INFO] [stdout] 88 | pub struct AutoVlessConfig {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AutoVlessBuilder` is never constructed
[INFO] [stdout]    --> src/autoconfig/autovless.rs:127:12
[INFO] [stdout]     |
[INFO] [stdout] 127 | pub struct AutoVlessBuilder {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/autoconfig/autovless.rs:133:12
[INFO] [stdout]     |
[INFO] [stdout] 131 | impl AutoVlessBuilder {
[INFO] [stdout]     | --------------------- associated items in this implementation
[INFO] [stdout] 132 |     /// 创建新的构建器
[INFO] [stdout] 133 |     pub fn new() -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 138 |     pub fn port(mut self, port: u16) -> Self {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 144 |     pub fn listen(mut self, listen: impl Into<String>) -> Self {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 150 |     pub fn public_ip(mut self, ip: IpAddr) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 156 |     pub fn public_ip_str(mut self, ip: &str) -> Result<Self, std::net::AddrParseError> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 163 |     pub fn auto_detect_ip(mut self) -> Result<Self, PublicIpError> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 169 |     pub fn add_user(mut self, name: impl Into<String>) -> Self {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 175 |     pub fn add_user_with_uuid(mut self, name: impl Into<String>, uuid: impl Into<String>) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 183 |     pub fn add_user_with_xtls_vision(mut self, name: impl Into<String>) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 191 |     pub fn add_user_full(
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 204 |     pub fn add_user_config(mut self, user: VlessUserConfig) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 210 |     pub fn tag(mut self, tag: impl Into<String>) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 216 |     pub fn acme(mut self) -> Self {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 222 |     pub fn acme_with_domain(mut self, domain: impl Into<String>) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 228 |     pub fn acme_with_domain_and_email(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 238 |     pub fn custom_cert(
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 248 |     pub fn custom_cert_with_server_name(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 260 |     pub fn disable_tls(mut self) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 266 |     pub fn with_multiplex(mut self) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 272 |     pub fn with_multiplex_config(mut self, multiplex: MultiplexInbound) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 278 |     pub fn with_transport(mut self, transport: V2RayTransport) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 284 |     pub fn default_xtls_vision(mut self) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 290 |     pub fn build(self) -> Result<AutoVlessResult, AutoVlessError> {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AutoVlessResult` is never constructed
[INFO] [stdout]    --> src/autoconfig/autovless.rs:301:12
[INFO] [stdout]     |
[INFO] [stdout] 301 | pub struct AutoVlessResult {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `VlessConnectionInfo` is never constructed
[INFO] [stdout]    --> src/autoconfig/autovless.rs:314:12
[INFO] [stdout]     |
[INFO] [stdout] 314 | pub struct VlessConnectionInfo {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `AutoVlessError` is never used
[INFO] [stdout]    --> src/autoconfig/autovless.rs:333:10
[INFO] [stdout]     |
[INFO] [stdout] 333 | pub enum AutoVlessError {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `generate`, `generate_users`, and `generate_tls_config` are never used
[INFO] [stdout]    --> src/autoconfig/autovless.rs:360:12
[INFO] [stdout]     |
[INFO] [stdout] 358 | impl AutoVlessConfig {
[INFO] [stdout]     | -------------------- methods in this implementation
[INFO] [stdout] 359 |     /// 生成配置
[INFO] [stdout] 360 |     pub fn generate(&self) -> Result<AutoVlessResult, AutoVlessError> {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 435 |     fn generate_users(&self) -> Vec<VlessUser> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 464 |     fn generate_tls_config(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `generate_nip_domain` is never used
[INFO] [stdout]    --> src/autoconfig/tools.rs:137:8
[INFO] [stdout]     |
[INFO] [stdout] 137 | pub fn generate_nip_domain(ip: &IpAddr) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `generate_uuid_simple` is never used
[INFO] [stdout]    --> src/autoconfig/tools.rs:151:8
[INFO] [stdout]     |
[INFO] [stdout] 151 | pub fn generate_uuid_simple() -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `UserConfig` is never constructed
[INFO] [stdout]    --> src/autoconfig/tools.rs:162:12
[INFO] [stdout]     |
[INFO] [stdout] 162 | pub struct UserConfig {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `with_password`, and `get_or_generate_password` are never used
[INFO] [stdout]    --> src/autoconfig/tools.rs:171:12
[INFO] [stdout]     |
[INFO] [stdout] 169 | impl UserConfig {
[INFO] [stdout]     | --------------- associated items in this implementation
[INFO] [stdout] 170 |     /// 创建新用户配置（自动生成密码）
[INFO] [stdout] 171 |     pub fn new(name: impl Into<String>) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 179 |     pub fn with_password(name: impl Into<String>, password: impl Into<String>) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 187 |     pub fn get_or_generate_password(&self) -> String {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `TlsMode` is never used
[INFO] [stdout]    --> src/autoconfig/tools.rs:198:10
[INFO] [stdout]     |
[INFO] [stdout] 198 | pub enum TlsMode {
[INFO] [stdout]     |          ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `acme`, `acme_with_domain`, `acme_with_domain_and_email`, `custom`, `custom_with_server_name`, and `disabled` are never used
[INFO] [stdout]    --> src/autoconfig/tools.rs:230:12
[INFO] [stdout]     |
[INFO] [stdout] 228 | impl TlsMode {
[INFO] [stdout]     | ------------ associated functions in this implementation
[INFO] [stdout] 229 |     /// 创建 ACME 模式（使用 sslip.io）
[INFO] [stdout] 230 |     pub fn acme() -> Self {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 235 |     pub fn acme_with_domain(domain: impl Into<String>) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 243 |     pub fn acme_with_domain_and_email(domain: impl Into<String>, email: impl Into<String>) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 251 |     pub fn custom(certificate_path: impl Into<String>, key_path: impl Into<String>) -> Self {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 260 |     pub fn custom_with_server_name(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 273 |     pub fn disabled() -> Self {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `cmd_serve` is never used
[INFO] [stdout]    --> src/commands.rs:110:8
[INFO] [stdout]     |
[INFO] [stdout] 110 | pub fn cmd_serve() -> Result<ExitCode, String> {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Dns` is never constructed
[INFO] [stdout]   --> src/dns/dns.rs:37:12
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub struct Dns {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `DnsServer` is never used
[INFO] [stdout]   --> src/dns/dns.rs:99:10
[INFO] [stdout]    |
[INFO] [stdout] 99 | pub enum DnsServer {
[INFO] [stdout]    |          ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `LegacyDnsServer` is never constructed
[INFO] [stdout]    --> src/dns/dns.rs:145:12
[INFO] [stdout]     |
[INFO] [stdout] 145 | pub struct LegacyDnsServer {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `LocalDnsServer` is never constructed
[INFO] [stdout]    --> src/dns/dns.rs:182:12
[INFO] [stdout]     |
[INFO] [stdout] 182 | pub struct LocalDnsServer {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `HostsDnsServer` is never constructed
[INFO] [stdout]    --> src/dns/dns.rs:200:12
[INFO] [stdout]     |
[INFO] [stdout] 200 | pub struct HostsDnsServer {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RemoteDnsServer` is never constructed
[INFO] [stdout]    --> src/dns/dns.rs:217:12
[INFO] [stdout]     |
[INFO] [stdout] 217 | pub struct RemoteDnsServer {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DhcpDnsServer` is never constructed
[INFO] [stdout]    --> src/dns/dns.rs:254:12
[INFO] [stdout]     |
[INFO] [stdout] 254 | pub struct DhcpDnsServer {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `FakeIPDnsServer` is never constructed
[INFO] [stdout]    --> src/dns/dns.rs:271:12
[INFO] [stdout]     |
[INFO] [stdout] 271 | pub struct FakeIPDnsServer {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TailscaleDnsServer` is never constructed
[INFO] [stdout]    --> src/dns/dns.rs:288:12
[INFO] [stdout]     |
[INFO] [stdout] 288 | pub struct TailscaleDnsServer {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ResolvedDnsServer` is never constructed
[INFO] [stdout]    --> src/dns/dns.rs:297:12
[INFO] [stdout]     |
[INFO] [stdout] 297 | pub struct ResolvedDnsServer {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DnsDialFields` is never constructed
[INFO] [stdout]    --> src/dns/dns.rs:305:12
[INFO] [stdout]     |
[INFO] [stdout] 305 | pub struct DnsDialFields {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `LegacyFakeIP` is never constructed
[INFO] [stdout]    --> src/dns/dns.rs:354:12
[INFO] [stdout]     |
[INFO] [stdout] 354 | pub struct LegacyFakeIP {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `DnsRule` is never used
[INFO] [stdout]    --> src/dns/dns.rs:379:10
[INFO] [stdout]     |
[INFO] [stdout] 379 | pub enum DnsRule {
[INFO] [stdout]     |          ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DefaultDnsRule` is never constructed
[INFO] [stdout]    --> src/dns/dns.rs:387:12
[INFO] [stdout]     |
[INFO] [stdout] 387 | pub struct DefaultDnsRule {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `LogicalDnsRule` is never constructed
[INFO] [stdout]    --> src/dns/dns.rs:607:12
[INFO] [stdout]     |
[INFO] [stdout] 607 | pub struct LogicalDnsRule {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `LogicalMode` is never used
[INFO] [stdout]    --> src/dns/dns.rs:632:10
[INFO] [stdout]     |
[INFO] [stdout] 632 | pub enum LogicalMode {
[INFO] [stdout]     |          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `DnsRuleAction` is never used
[INFO] [stdout]    --> src/dns/dns.rs:653:10
[INFO] [stdout]     |
[INFO] [stdout] 653 | pub enum DnsRuleAction {
[INFO] [stdout]     |          ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DnsRouteAction` is never constructed
[INFO] [stdout]    --> src/dns/dns.rs:670:12
[INFO] [stdout]     |
[INFO] [stdout] 670 | pub struct DnsRouteAction {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DnsRouteOptionsAction` is never constructed
[INFO] [stdout]    --> src/dns/dns.rs:690:12
[INFO] [stdout]     |
[INFO] [stdout] 690 | pub struct DnsRouteOptionsAction {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DnsRejectAction` is never constructed
[INFO] [stdout]    --> src/dns/dns.rs:706:12
[INFO] [stdout]     |
[INFO] [stdout] 706 | pub struct DnsRejectAction {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `DnsRejectMethod` is never used
[INFO] [stdout]    --> src/dns/dns.rs:719:10
[INFO] [stdout]     |
[INFO] [stdout] 719 | pub enum DnsRejectMethod {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DnsPredefinedAction` is never constructed
[INFO] [stdout]    --> src/dns/dns.rs:728:12
[INFO] [stdout]     |
[INFO] [stdout] 728 | pub struct DnsPredefinedAction {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `QueryType` is never used
[INFO] [stdout]    --> src/dns/dns.rs:746:10
[INFO] [stdout]     |
[INFO] [stdout] 746 | pub enum QueryType {
[INFO] [stdout]     |          ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `QueryTypeValue` is never used
[INFO] [stdout]    --> src/dns/dns.rs:756:10
[INFO] [stdout]     |
[INFO] [stdout] 756 | pub enum QueryTypeValue {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `PortOrArray` is never used
[INFO] [stdout]    --> src/dns/dns.rs:766:10
[INFO] [stdout]     |
[INFO] [stdout] 766 | pub enum PortOrArray {
[INFO] [stdout]     |          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `UidOrArray` is never used
[INFO] [stdout]    --> src/dns/dns.rs:776:10
[INFO] [stdout]     |
[INFO] [stdout] 776 | pub enum UidOrArray {
[INFO] [stdout]     |          ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/dns/dns.rs:789:12
[INFO] [stdout]     |
[INFO] [stdout] 787 | impl Dns {
[INFO] [stdout]     | -------- associated items in this implementation
[INFO] [stdout] 788 |     /// 创建新的 DNS 配置
[INFO] [stdout] 789 |     pub fn new() -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 794 |     pub fn add_server(mut self, server: DnsServer) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 800 |     pub fn add_rule(mut self, rule: DnsRule) -> Self {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 806 |     pub fn final_server<S: Into<String>>(mut self, server: S) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 812 |     pub fn strategy(mut self, strategy: DomainStrategy) -> Self {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 818 |     pub fn disable_cache(mut self, disable: bool) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 824 |     pub fn cache_capacity(mut self, capacity: u32) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 830 |     pub fn reverse_mapping(mut self, enable: bool) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 836 |     pub fn client_subnet<S: Into<String>>(mut self, subnet: S) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `tag`, and `prefer_go` are never used
[INFO] [stdout]    --> src/dns/dns.rs:844:12
[INFO] [stdout]     |
[INFO] [stdout] 842 | impl LocalDnsServer {
[INFO] [stdout]     | ------------------- associated items in this implementation
[INFO] [stdout] 843 |     /// 创建新的本地 DNS 服务器
[INFO] [stdout] 844 |     pub fn new() -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 849 |     pub fn tag<S: Into<String>>(mut self, tag: S) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 855 |     pub fn prefer_go(mut self, prefer: bool) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `tag`, `path`, and `paths` are never used
[INFO] [stdout]    --> src/dns/dns.rs:863:12
[INFO] [stdout]     |
[INFO] [stdout] 861 | impl HostsDnsServer {
[INFO] [stdout]     | ------------------- associated items in this implementation
[INFO] [stdout] 862 |     /// 创建新的 Hosts DNS 服务器
[INFO] [stdout] 863 |     pub fn new() -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 868 |     pub fn tag<S: Into<String>>(mut self, tag: S) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 874 |     pub fn path<S: Into<String>>(mut self, path: S) -> Self {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 880 |     pub fn paths<I, S>(mut self, paths: I) -> Self
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `tag`, `server`, `server_port`, `address_resolver`, and `strategy` are never used
[INFO] [stdout]    --> src/dns/dns.rs:894:12
[INFO] [stdout]     |
[INFO] [stdout] 892 | impl RemoteDnsServer {
[INFO] [stdout]     | -------------------- associated items in this implementation
[INFO] [stdout] 893 |     /// 创建新的远程 DNS 服务器
[INFO] [stdout] 894 |     pub fn new() -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 899 |     pub fn tag<S: Into<String>>(mut self, tag: S) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 905 |     pub fn server<S: Into<String>>(mut self, server: S) -> Self {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 911 |     pub fn server_port(mut self, port: u16) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 917 |     pub fn address_resolver<S: Into<String>>(mut self, resolver: S) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 923 |     pub fn strategy(mut self, strategy: DomainStrategy) -> Self {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `tag`, `inet4_range`, and `inet6_range` are never used
[INFO] [stdout]    --> src/dns/dns.rs:931:12
[INFO] [stdout]     |
[INFO] [stdout] 929 | impl FakeIPDnsServer {
[INFO] [stdout]     | -------------------- associated items in this implementation
[INFO] [stdout] 930 |     /// 创建新的 FakeIP DNS 服务器
[INFO] [stdout] 931 |     pub fn new() -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 936 |     pub fn tag<S: Into<String>>(mut self, tag: S) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 942 |     pub fn inet4_range<S: Into<String>>(mut self, range: S) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 948 |     pub fn inet6_range<S: Into<String>>(mut self, range: S) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/dns/dns.rs:956:12
[INFO] [stdout]     |
[INFO] [stdout] 954 | impl DefaultDnsRule {
[INFO] [stdout]     | ------------------- associated items in this implementation
[INFO] [stdout] 955 |     /// 创建新的默认 DNS 规则
[INFO] [stdout] 956 |     pub fn new() -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 961 |     pub fn domain<S: Into<String>>(mut self, domain: S) -> Self {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 967 |     pub fn domains<I, S>(mut self, domains: I) -> Self
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 979 |     pub fn domain_suffix<S: Into<String>>(mut self, suffix: S) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 985 |     pub fn server<S: Into<String>>(mut self, server: S) -> Self {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 991 |     pub fn action(mut self, action: DnsRuleAction) -> Self {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 997 |     pub fn invert(mut self, invert: bool) -> Self {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `with_padding_scheme`, `with_default_padding_scheme`, `with_listen_fields`, and `default_padding_scheme` are never used
[INFO] [stdout]   --> src/singboxconfig/inbound/anytls.rs:71:12
[INFO] [stdout]    |
[INFO] [stdout] 39 | impl AnyTlsInbound {
[INFO] [stdout]    | ------------------ associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 71 |     pub fn with_padding_scheme(mut self, scheme: Vec<String>) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 77 |     pub fn with_default_padding_scheme(mut self) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 89 |     pub fn with_listen_fields(mut self, listen: ListenFields) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 96 |     pub fn default_padding_scheme() -> Vec<String> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `with_masquerade_file`, `with_masquerade_proxy`, `with_ignore_client_bandwidth`, `with_brutal_debug`, and `with_listen_fields` are never used
[INFO] [stdout]    --> src/singboxconfig/inbound/hysteria2.rs:198:12
[INFO] [stdout]     |
[INFO] [stdout] 133 | impl Hysteria2Inbound {
[INFO] [stdout]     | --------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 198 |     pub fn with_masquerade_file(mut self, directory: impl Into<String>) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 212 |     pub fn with_masquerade_proxy(mut self, url: impl Into<String>, rewrite_host: bool) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 226 |     pub fn with_ignore_client_bandwidth(mut self, ignore: bool) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 232 |     pub fn with_brutal_debug(mut self, debug: bool) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 238 |     pub fn with_listen_fields(mut self, listen: ListenFields) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `salamander` is never used
[INFO] [stdout]    --> src/singboxconfig/inbound/hysteria2.rs:246:12
[INFO] [stdout]     |
[INFO] [stdout] 244 | impl Hysteria2Obfs {
[INFO] [stdout]     | ------------------ associated function in this implementation
[INFO] [stdout] 245 |     /// 创建 salamander 混淆
[INFO] [stdout] 246 |     pub fn salamander(password: impl Into<String>) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `add_user_uuid`, `add_user_with_credentials`, `with_auth_timeout`, `with_zero_rtt_handshake`, `with_heartbeat`, and `with_listen_fields` are never used
[INFO] [stdout]    --> src/singboxconfig/inbound/tuic.rs:95:12
[INFO] [stdout]     |
[INFO] [stdout]  72 | impl TuicInbound {
[INFO] [stdout]     | ---------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  95 |     pub fn add_user_uuid(mut self, uuid: impl Into<String>) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 101 |     pub fn add_user_with_credentials(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 131 |     pub fn with_auth_timeout(mut self, timeout: Duration) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 138 |     pub fn with_zero_rtt_handshake(mut self, enabled: bool) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 144 |     pub fn with_heartbeat(mut self, interval: Duration) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 156 |     pub fn with_listen_fields(mut self, listen: ListenFields) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `add_simple_user`, `add_user_with_flow`, `with_listen_fields`, `with_multiplex`, and `with_transport` are never used
[INFO] [stdout]    --> src/singboxconfig/inbound/vless.rs:98:12
[INFO] [stdout]     |
[INFO] [stdout]  77 | impl VlessInbound {
[INFO] [stdout]     | ----------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  98 |     pub fn add_simple_user(mut self, name: impl Into<String>, uuid: impl Into<String>) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 104 |     pub fn add_user_with_flow(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 127 |     pub fn with_listen_fields(mut self, listen: ListenFields) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 139 |     pub fn with_multiplex(mut self, multiplex: MultiplexInbound) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 145 |     pub fn with_transport(mut self, transport: V2RayTransport) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `with_flow` and `set_flow` are never used
[INFO] [stdout]    --> src/singboxconfig/inbound/vless.rs:172:12
[INFO] [stdout]     |
[INFO] [stdout] 161 | impl VlessUser {
[INFO] [stdout]     | -------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 172 |     pub fn with_flow(name: impl Into<String>, uuid: impl Into<String>, flow: VlessFlow) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 181 |     pub fn set_flow(mut self, flow: VlessFlow) -> Self {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AnyTlsOutbound` is never constructed
[INFO] [stdout]   --> src/singboxconfig/outbound/anytls.rs:14:12
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub struct AnyTlsOutbound {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `with_idle_session_check_interval`, `with_idle_session_timeout`, `with_min_idle_session`, `with_tls`, and `with_dial` are never used
[INFO] [stdout]    --> src/singboxconfig/outbound/anytls.rs:58:12
[INFO] [stdout]     |
[INFO] [stdout]  56 | impl AnyTlsOutbound {
[INFO] [stdout]     | ------------------- associated items in this implementation
[INFO] [stdout]  57 |     /// 创建新的 AnyTLS 出站配置
[INFO] [stdout]  58 |     pub fn new(
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  79 |     pub fn with_idle_session_check_interval(mut self, interval: Duration) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  85 |     pub fn with_idle_session_timeout(mut self, timeout: Duration) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  91 |     pub fn with_min_idle_session(mut self, min: u32) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  97 |     pub fn with_tls(mut self, tls: OutboundTlsConfig) -> Self {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 103 |     pub fn with_dial(mut self, dial: DialFields) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DialFields` is never constructed
[INFO] [stdout]   --> src/singboxconfig/shared/dial.rs:15:12
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub struct DialFields {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `DomainResolver` is never used
[INFO] [stdout]    --> src/singboxconfig/shared/dial.rs:130:10
[INFO] [stdout]     |
[INFO] [stdout] 130 | pub enum DomainResolver {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DomainResolverConfig` is never constructed
[INFO] [stdout]    --> src/singboxconfig/shared/dial.rs:139:12
[INFO] [stdout]     |
[INFO] [stdout] 139 | pub struct DomainResolverConfig {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Dns01Challenge` is never used
[INFO] [stdout]   --> src/singboxconfig/shared/dns01_challenge.rs:12:10
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub enum Dns01Challenge {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AliDnsConfig` is never constructed
[INFO] [stdout]   --> src/singboxconfig/shared/dns01_challenge.rs:28:12
[INFO] [stdout]    |
[INFO] [stdout] 28 | pub struct AliDnsConfig {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CloudflareConfig` is never constructed
[INFO] [stdout]   --> src/singboxconfig/shared/dns01_challenge.rs:46:12
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct CloudflareConfig {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `alidns`, `alidns_with_region`, and `cloudflare` are never used
[INFO] [stdout]   --> src/singboxconfig/shared/dns01_challenge.rs:57:12
[INFO] [stdout]    |
[INFO] [stdout] 55 | impl Dns01Challenge {
[INFO] [stdout]    | ------------------- associated functions in this implementation
[INFO] [stdout] 56 |     /// 创建阿里云 DNS 配置
[INFO] [stdout] 57 |     pub fn alidns(
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 69 |     pub fn alidns_with_region(
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 82 |     pub fn cloudflare(api_token: impl Into<String>) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `with_region` are never used
[INFO] [stdout]    --> src/singboxconfig/shared/dns01_challenge.rs:91:12
[INFO] [stdout]     |
[INFO] [stdout]  89 | impl AliDnsConfig {
[INFO] [stdout]     | ----------------- associated items in this implementation
[INFO] [stdout]  90 |     /// 创建新的阿里云 DNS 配置
[INFO] [stdout]  91 |     pub fn new(
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 103 |     pub fn with_region(mut self, region_id: impl Into<String>) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/singboxconfig/shared/dns01_challenge.rs:111:12
[INFO] [stdout]     |
[INFO] [stdout] 109 | impl CloudflareConfig {
[INFO] [stdout]     | --------------------- associated function in this implementation
[INFO] [stdout] 110 |     /// 创建新的 Cloudflare DNS 配置
[INFO] [stdout] 111 |     pub fn new(api_token: impl Into<String>) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MultiplexOutbound` is never constructed
[INFO] [stdout]   --> src/singboxconfig/shared/multiplex.rs:27:12
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub struct MultiplexOutbound {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `MultiplexProtocol` is never used
[INFO] [stdout]   --> src/singboxconfig/shared/multiplex.rs:94:10
[INFO] [stdout]    |
[INFO] [stdout] 94 | pub enum MultiplexProtocol {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `enabled`, `with_padding`, and `with_brutal` are never used
[INFO] [stdout]    --> src/singboxconfig/shared/multiplex.rs:120:12
[INFO] [stdout]     |
[INFO] [stdout] 118 | impl MultiplexInbound {
[INFO] [stdout]     | --------------------- associated items in this implementation
[INFO] [stdout] 119 |     /// 创建新的入站多路复用配置
[INFO] [stdout] 120 |     pub fn new() -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 125 |     pub fn enabled(mut self) -> Self {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 131 |     pub fn with_padding(mut self, padding: bool) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 137 |     pub fn with_brutal(mut self, brutal: TcpBrutal) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/singboxconfig/shared/multiplex.rs:145:12
[INFO] [stdout]     |
[INFO] [stdout] 143 | impl MultiplexOutbound {
[INFO] [stdout]     | ---------------------- associated items in this implementation
[INFO] [stdout] 144 |     /// 创建新的出站多路复用配置
[INFO] [stdout] 145 |     pub fn new() -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 150 |     pub fn enabled(mut self) -> Self {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 156 |     pub fn with_protocol(mut self, protocol: MultiplexProtocol) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 162 |     pub fn with_max_connections(mut self, max: u32) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 168 |     pub fn with_min_streams(mut self, min: u32) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 174 |     pub fn with_max_streams(mut self, max: u32) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 180 |     pub fn with_padding(mut self, padding: bool) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 186 |     pub fn with_brutal(mut self, brutal: TcpBrutal) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 192 |     pub fn smux(mut self) -> Self {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 198 |     pub fn yamux(mut self) -> Self {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 204 |     pub fn h2mux(mut self) -> Self {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `with_bandwidth` are never used
[INFO] [stdout]    --> src/singboxconfig/shared/multiplex.rs:212:12
[INFO] [stdout]     |
[INFO] [stdout] 210 | impl TcpBrutal {
[INFO] [stdout]     | -------------- associated items in this implementation
[INFO] [stdout] 211 |     /// 创建新的 TCP Brutal 配置
[INFO] [stdout] 212 |     pub fn new(up_mbps: u32, down_mbps: u32) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 221 |     pub fn with_bandwidth(mut self, up_mbps: u32, down_mbps: u32) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `OutboundTlsConfig` is never constructed
[INFO] [stdout]    --> src/singboxconfig/shared/tls.rs:117:12
[INFO] [stdout]     |
[INFO] [stdout] 117 | pub struct OutboundTlsConfig {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `EchOutboundConfig` is never constructed
[INFO] [stdout]    --> src/singboxconfig/shared/tls.rs:261:12
[INFO] [stdout]     |
[INFO] [stdout] 261 | pub struct EchOutboundConfig {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RealityOutboundConfig` is never constructed
[INFO] [stdout]    --> src/singboxconfig/shared/tls.rs:325:12
[INFO] [stdout]     |
[INFO] [stdout] 325 | pub struct RealityOutboundConfig {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `UtlsConfig` is never constructed
[INFO] [stdout]    --> src/singboxconfig/shared/tls.rs:479:12
[INFO] [stdout]     |
[INFO] [stdout] 479 | pub struct UtlsConfig {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `UtlsFingerprint` is never used
[INFO] [stdout]    --> src/singboxconfig/shared/tls.rs:598:10
[INFO] [stdout]     |
[INFO] [stdout] 598 | pub enum UtlsFingerprint {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `http`, `ws`, `quic`, `grpc`, and `http_upgrade` are never used
[INFO] [stdout]    --> src/singboxconfig/shared/v2ray.rs:172:12
[INFO] [stdout]     |
[INFO] [stdout] 170 | impl V2RayTransport {
[INFO] [stdout]     | ------------------- associated functions in this implementation
[INFO] [stdout] 171 |     /// 创建 HTTP 传输
[INFO] [stdout] 172 |     pub fn http() -> Self {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 177 |     pub fn ws() -> Self {
[INFO] [stdout]     |            ^^
[INFO] [stdout] ...
[INFO] [stdout] 182 |     pub fn quic() -> Self {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 187 |     pub fn grpc() -> Self {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 192 |     pub fn http_upgrade() -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/singboxconfig/shared/v2ray.rs:199:12
[INFO] [stdout]     |
[INFO] [stdout] 197 | impl HttpTransport {
[INFO] [stdout]     | ------------------ associated items in this implementation
[INFO] [stdout] 198 |     /// 创建新的 HTTP 传输配置
[INFO] [stdout] 199 |     pub fn new() -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 204 |     pub fn with_host(mut self, host: Vec<String>) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 210 |     pub fn with_path(mut self, path: impl Into<String>) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 216 |     pub fn with_method(mut self, method: impl Into<String>) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 222 |     pub fn with_headers(mut self, headers: HashMap<String, String>) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 228 |     pub fn add_header(mut self, key: impl Into<String>, value: impl Into<String>) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 236 |     pub fn with_idle_timeout(mut self, timeout: Duration) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 242 |     pub fn with_ping_timeout(mut self, timeout: Duration) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/singboxconfig/shared/v2ray.rs:250:12
[INFO] [stdout]     |
[INFO] [stdout] 248 | impl WebSocketTransport {
[INFO] [stdout]     | ----------------------- associated items in this implementation
[INFO] [stdout] 249 |     /// 创建新的 WebSocket 传输配置
[INFO] [stdout] 250 |     pub fn new() -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 255 |     pub fn with_path(mut self, path: impl Into<String>) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 261 |     pub fn with_headers(mut self, headers: HashMap<String, String>) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 267 |     pub fn add_header(mut self, key: impl Into<String>, value: impl Into<String>) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 275 |     pub fn with_max_early_data(mut self, size: u32) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 281 |     pub fn with_early_data_header_name(mut self, name: impl Into<String>) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 287 |     pub fn xray_compatible(mut self) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `with_service_name`, `with_idle_timeout`, `with_ping_timeout`, and `with_permit_without_stream` are never used
[INFO] [stdout]    --> src/singboxconfig/shared/v2ray.rs:295:12
[INFO] [stdout]     |
[INFO] [stdout] 293 | impl GrpcTransport {
[INFO] [stdout]     | ------------------ associated items in this implementation
[INFO] [stdout] 294 |     /// 创建新的 gRPC 传输配置
[INFO] [stdout] 295 |     pub fn new() -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 300 |     pub fn with_service_name(mut self, name: impl Into<String>) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 306 |     pub fn with_idle_timeout(mut self, timeout: Duration) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 312 |     pub fn with_ping_timeout(mut self, timeout: Duration) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 318 |     pub fn with_permit_without_stream(mut self, permit: bool) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `with_host`, `with_path`, `with_headers`, and `add_header` are never used
[INFO] [stdout]    --> src/singboxconfig/shared/v2ray.rs:326:12
[INFO] [stdout]     |
[INFO] [stdout] 324 | impl HttpUpgradeTransport {
[INFO] [stdout]     | ------------------------- associated items in this implementation
[INFO] [stdout] 325 |     /// 创建新的 HTTPUpgrade 传输配置
[INFO] [stdout] 326 |     pub fn new() -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 331 |     pub fn with_host(mut self, host: impl Into<String>) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 337 |     pub fn with_path(mut self, path: impl Into<String>) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 343 |     pub fn with_headers(mut self, headers: HashMap<String, String>) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 349 |     pub fn add_header(mut self, key: impl Into<String>, value: impl Into<String>) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `from_mins`, `from_hours`, `as_millis`, `as_secs`, `as_mins`, and `to_std` are never used
[INFO] [stdout]   --> src/singboxconfig/types/duration.rs:35:12
[INFO] [stdout]    |
[INFO] [stdout] 20 | impl Duration {
[INFO] [stdout]    | ------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 35 |     pub fn from_mins(mins: u64) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 43 |     pub fn from_hours(hours: u64) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 51 |     pub fn as_millis(&self) -> u64 {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 56 |     pub fn as_secs(&self) -> u64 {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 61 |     pub fn as_mins(&self) -> u64 {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 66 |     pub fn to_std(&self) -> std::time::Duration {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `NetworkStrategy` is never used
[INFO] [stdout]   --> src/singboxconfig/types/network_strategy.rs:13:10
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub enum NetworkStrategy {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `NetworkType` is never used
[INFO] [stdout]   --> src/singboxconfig/types/network_strategy.rs:54:10
[INFO] [stdout]    |
[INFO] [stdout] 54 | pub enum NetworkType {
[INFO] [stdout]    |          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `from_int`, `from_hex`, and `as_u32` are never used
[INFO] [stdout]   --> src/singboxconfig/types/routing_mark.rs:21:12
[INFO] [stdout]    |
[INFO] [stdout] 19 | impl RoutingMark {
[INFO] [stdout]    | ---------------- associated items in this implementation
[INFO] [stdout] 20 |     /// 从整数创建
[INFO] [stdout] 21 |     pub fn from_int(value: u32) -> Self {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 26 |     pub fn from_hex(value: impl Into<String>) -> Self {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 31 |     pub fn as_u32(&self) -> Option<u32> {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]   --> src/singboxconfig/types/string_or_array.rs:38:12
[INFO] [stdout]    |
[INFO] [stdout] 36 | impl StringOrArray {
[INFO] [stdout]    | ------------------ associated items in this implementation
[INFO] [stdout] 37 |     /// 创建单个字符串
[INFO] [stdout] 38 |     pub fn single<S: Into<String>>(s: S) -> Self {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 43 |     pub fn array<I, S>(iter: I) -> Self
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 52 |     pub fn is_single(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 57 |     pub fn is_array(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 62 |     pub fn as_single(&self) -> Option<&str> {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 70 |     pub fn as_array(&self) -> Option<&[String]> {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 78 |     pub fn into_vec(self) -> Vec<String> {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 86 |     pub fn as_slice(&self) -> Vec<&str> {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 94 |     pub fn join(&self, separator: &str) -> String {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `VlessFlow` is never used
[INFO] [stdout]   --> src/singboxconfig/types/user.rs:14:10
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub enum VlessFlow {
[INFO] [stdout]    |          ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `VMessUser` is never constructed
[INFO] [stdout]   --> src/singboxconfig/types/user.rs:56:12
[INFO] [stdout]    |
[INFO] [stdout] 56 | pub struct VMessUser {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `new` and `with_alter_id` are never used
[INFO] [stdout]   --> src/singboxconfig/types/user.rs:73:12
[INFO] [stdout]    |
[INFO] [stdout] 71 | impl VMessUser {
[INFO] [stdout]    | -------------- associated functions in this implementation
[INFO] [stdout] 72 |     /// 创建新的 VMess 用户
[INFO] [stdout] 73 |     pub fn new(name: impl Into<String>, uuid: impl Into<String>) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 82 |     pub fn with_alter_id(name: impl Into<String>, uuid: impl Into<String>, alter_id: u32) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `VlessUser` is never constructed
[INFO] [stdout]    --> src/singboxconfig/types/user.rs:108:12
[INFO] [stdout]     |
[INFO] [stdout] 108 | pub struct VlessUser {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `with_flow`, `set_flow`, and `with_xtls_vision` are never used
[INFO] [stdout]    --> src/singboxconfig/types/user.rs:123:12
[INFO] [stdout]     |
[INFO] [stdout] 121 | impl VlessUser {
[INFO] [stdout]     | -------------- associated items in this implementation
[INFO] [stdout] 122 |     /// 创建新的 VLESS 用户
[INFO] [stdout] 123 |     pub fn new(name: impl Into<String>, uuid: impl Into<String>) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 132 |     pub fn with_flow(name: impl Into<String>, uuid: impl Into<String>, flow: VlessFlow) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 141 |     pub fn set_flow(mut self, flow: VlessFlow) -> Self {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 147 |     pub fn with_xtls_vision(mut self) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `with_name`, and `with_password` are never used
[INFO] [stdout]    --> src/singboxconfig/types/user.rs:185:12
[INFO] [stdout]     |
[INFO] [stdout] 183 | impl TuicUser {
[INFO] [stdout]     | ------------- associated items in this implementation
[INFO] [stdout] 184 |     /// 创建新的 TUIC 用户（仅 UUID）
[INFO] [stdout] 185 |     pub fn new(uuid: impl Into<String>) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 207 |     pub fn with_name(mut self, name: impl Into<String>) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 213 |     pub fn with_password(mut self, password: impl Into<String>) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ShadowsocksDestination` is never constructed
[INFO] [stdout]    --> src/singboxconfig/types/user.rs:236:12
[INFO] [stdout]     |
[INFO] [stdout] 236 | pub struct ShadowsocksDestination {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/singboxconfig/types/user.rs:252:12
[INFO] [stdout]     |
[INFO] [stdout] 250 | impl ShadowsocksDestination {
[INFO] [stdout]     | --------------------------- associated function in this implementation
[INFO] [stdout] 251 |     /// 创建新的中继目标
[INFO] [stdout] 252 |     pub fn new(
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `public_ip` is never read
[INFO] [stdout]    --> src/autoconfig/autoByDefault.rs:146:9
[INFO] [stdout]     |
[INFO] [stdout] 144 | pub struct AutoDefaultResult {
[INFO] [stdout]     |            ----------------- field in this struct
[INFO] [stdout] 145 |     /// 服务器公网 IP
[INFO] [stdout] 146 |     pub public_ip: IpAddr,
[INFO] [stdout]     |         ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `AutoDefaultResult` 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: variants `NoAvailablePort` and `ConfigError` are never constructed
[INFO] [stdout]    --> src/autoconfig/autoByDefault.rs:270:5
[INFO] [stdout]     |
[INFO] [stdout] 266 | pub enum AutoDefaultError {
[INFO] [stdout]     |          ---------------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 270 |     NoAvailablePort,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 271 |     /// 配置生成失败
[INFO] [stdout] 272 |     ConfigError(String),
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `AutoDefaultError` 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: methods `public_ip_str` and `masquerade` are never used
[INFO] [stdout]    --> src/autoconfig/autoByDefault.rs:405:12
[INFO] [stdout]     |
[INFO] [stdout] 350 | impl AutoDefault {
[INFO] [stdout]     | ---------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 405 |     pub fn public_ip_str(mut self, ip: &str) -> Result<Self, std::net::AddrParseError> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 487 |     pub fn masquerade(mut self, url: impl Into<String>) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/autoconfig/autoByDefault.rs:819:12
[INFO] [stdout]     |
[INFO] [stdout] 819 |     AnyTls(AnyTlsAutoResult),
[INFO] [stdout]     |     ------ ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `AutoBuildResult` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]     |
[INFO] [stdout] 819 -     AnyTls(AnyTlsAutoResult),
[INFO] [stdout] 819 +     AnyTls(()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/autoconfig/autoByDefault.rs:821:15
[INFO] [stdout]     |
[INFO] [stdout] 821 |     Hysteria2(Hysteria2AutoResult),
[INFO] [stdout]     |     --------- ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `AutoBuildResult` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]     |
[INFO] [stdout] 821 -     Hysteria2(Hysteria2AutoResult),
[INFO] [stdout] 821 +     Hysteria2(()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/autoconfig/autoByDefault.rs:823:10
[INFO] [stdout]     |
[INFO] [stdout] 823 |     Tuic(TuicAutoResult),
[INFO] [stdout]     |     ---- ^^^^^^^^^^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `AutoBuildResult` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]     |
[INFO] [stdout] 823 -     Tuic(TuicAutoResult),
[INFO] [stdout] 823 +     Tuic(()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/autoconfig/autoByDefault.rs:825:18
[INFO] [stdout]     |
[INFO] [stdout] 825 |     VlessReality(VlessRealityAutoResult),
[INFO] [stdout]     |     ------------ ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `AutoBuildResult` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]     |
[INFO] [stdout] 825 -     VlessReality(VlessRealityAutoResult),
[INFO] [stdout] 825 +     VlessReality(()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `quick_anytls` is never used
[INFO] [stdout]     --> src/autoconfig/autoByDefault.rs:1108:8
[INFO] [stdout]      |
[INFO] [stdout] 1108 | pub fn quick_anytls() -> Result<AnyTlsAutoResult, AutoDefaultError> {
[INFO] [stdout]      |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `quick_hysteria2` is never used
[INFO] [stdout]     --> src/autoconfig/autoByDefault.rs:1113:8
[INFO] [stdout]      |
[INFO] [stdout] 1113 | pub fn quick_hysteria2() -> Result<Hysteria2AutoResult, AutoDefaultError> {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `quick_tuic` is never used
[INFO] [stdout]     --> src/autoconfig/autoByDefault.rs:1118:8
[INFO] [stdout]      |
[INFO] [stdout] 1118 | pub fn quick_tuic() -> Result<TuicAutoResult, AutoDefaultError> {
[INFO] [stdout]      |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `quick_all` is never used
[INFO] [stdout]     --> src/autoconfig/autoByDefault.rs:1123:8
[INFO] [stdout]      |
[INFO] [stdout] 1123 | pub fn quick_all() -> Result<MultiProtocolResult, AutoDefaultError> {
[INFO] [stdout]      |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `quick_vless_reality` is never used
[INFO] [stdout]     --> src/autoconfig/autoByDefault.rs:1128:8
[INFO] [stdout]      |
[INFO] [stdout] 1128 | pub fn quick_vless_reality() -> Result<VlessRealityAutoResult, AutoDefaultError> {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> src/autoconfig/autoanytls.rs:68:12
[INFO] [stdout]     |
[INFO] [stdout]  55 | impl AutoAnyTlsBuilder {
[INFO] [stdout]     | ---------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  68 |     pub fn listen(mut self, listen: impl Into<String>) -> Self {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  80 |     pub fn public_ip_str(mut self, ip: &str) -> Result<Self, std::net::AddrParseError> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  87 |     pub fn auto_detect_ip(mut self) -> Result<Self, PublicIpError> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 111 |     pub fn tag(mut self, tag: impl Into<String>) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 117 |     pub fn acme(mut self) -> Self {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 129 |     pub fn acme_with_domain_and_email(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 139 |     pub fn custom_cert(
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 161 |     pub fn disable_tls(mut self) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 167 |     pub fn no_padding(mut self) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `server` and `server_name` are never read
[INFO] [stdout]    --> src/autoconfig/autoanytls.rs:195:9
[INFO] [stdout]     |
[INFO] [stdout] 193 | pub struct ConnectionInfo {
[INFO] [stdout]     |            -------------- fields in this struct
[INFO] [stdout] 194 |     /// 服务器地址
[INFO] [stdout] 195 |     pub server: String,
[INFO] [stdout]     |         ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 199 |     pub server_name: Option<String>,
[INFO] [stdout]     |         ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ConnectionInfo` 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: variants `ConfigConflict` and `InvalidConfig` are never constructed
[INFO] [stdout]    --> src/autoconfig/autoanytls.rs:208:5
[INFO] [stdout]     |
[INFO] [stdout] 204 | pub enum AutoAnyTlsError {
[INFO] [stdout]     |          --------------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 208 |     ConfigConflict(String),
[INFO] [stdout]     |     ^^^^^^^^^^^^^^
[INFO] [stdout] 209 |     /// 无效配置
[INFO] [stdout] 210 |     InvalidConfig(String),
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `AutoAnyTlsError` 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: multiple methods are never used
[INFO] [stdout]    --> src/autoconfig/autohy2.rs:80:12
[INFO] [stdout]     |
[INFO] [stdout]  67 | impl AutoHysteria2Builder {
[INFO] [stdout]     | ------------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  80 |     pub fn listen(mut self, listen: impl Into<String>) -> Self {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  92 |     pub fn public_ip_str(mut self, ip: &str) -> Result<Self, std::net::AddrParseError> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  98 |     pub fn auto_detect_ip(mut self) -> Result<Self, PublicIpError> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 122 |     pub fn tag(mut self, tag: impl Into<String>) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 135 |     pub fn up_mbps(mut self, mbps: u32) -> Self {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 141 |     pub fn down_mbps(mut self, mbps: u32) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 147 |     pub fn with_obfs(mut self) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 165 |     pub fn ignore_client_bandwidth(mut self, ignore: bool) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 171 |     pub fn acme(mut self) -> Self {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 183 |     pub fn acme_with_domain_and_email(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 193 |     pub fn custom_cert(
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 203 |     pub fn custom_cert_with_server_name(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `server` and `server_name` are never read
[INFO] [stdout]    --> src/autoconfig/autohy2.rs:239:9
[INFO] [stdout]     |
[INFO] [stdout] 237 | pub struct Hysteria2ConnectionInfo {
[INFO] [stdout]     |            ----------------------- fields in this struct
[INFO] [stdout] 238 |     /// 服务器地址
[INFO] [stdout] 239 |     pub server: String,
[INFO] [stdout]     |         ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 243 |     pub server_name: Option<String>,
[INFO] [stdout]     |         ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Hysteria2ConnectionInfo` 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 `ConfigConflict` is never constructed
[INFO] [stdout]    --> src/autoconfig/autohy2.rs:258:5
[INFO] [stdout]     |
[INFO] [stdout] 254 | pub enum AutoHysteria2Error {
[INFO] [stdout]     |          ------------------ variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 258 |     ConfigConflict(String),
[INFO] [stdout]     |     ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `AutoHysteria2Error` 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: associated function `uuid_only` is never used
[INFO] [stdout]   --> src/autoconfig/autotuic.rs:61:12
[INFO] [stdout]    |
[INFO] [stdout] 28 | impl TuicUserConfig {
[INFO] [stdout]    | ------------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 61 |     pub fn uuid_only(uuid: impl Into<String>) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> src/autoconfig/autotuic.rs:149:12
[INFO] [stdout]     |
[INFO] [stdout] 136 | impl AutoTuicBuilder {
[INFO] [stdout]     | -------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 149 |     pub fn listen(mut self, listen: impl Into<String>) -> Self {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 161 |     pub fn public_ip_str(mut self, ip: &str) -> Result<Self, std::net::AddrParseError> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 167 |     pub fn auto_detect_ip(mut self) -> Result<Self, PublicIpError> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 200 |     pub fn tag(mut self, tag: impl Into<String>) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 206 |     pub fn congestion_control(mut self, cc: CongestionControl) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 224 |     pub fn new_reno(mut self) -> Self {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 230 |     pub fn auth_timeout(mut self, timeout: Duration) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 249 |     pub fn heartbeat(mut self, interval: Duration) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 261 |     pub fn acme(mut self) -> Self {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 279 |     pub fn acme_with_domain_and_email(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 292 |     pub fn custom_cert(
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `server` and `server_name` are never read
[INFO] [stdout]    --> src/autoconfig/autotuic.rs:347:9
[INFO] [stdout]     |
[INFO] [stdout] 345 | pub struct TuicConnectionInfo {
[INFO] [stdout]     |            ------------------ fields in this struct
[INFO] [stdout] 346 |     /// 服务器地址
[INFO] [stdout] 347 |     pub server: String,
[INFO] [stdout]     |         ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 351 |     pub server_name: Option<String>,
[INFO] [stdout]     |         ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `TuicConnectionInfo` 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 `ConfigConflict` is never constructed
[INFO] [stdout]    --> src/autoconfig/autotuic.rs:366:5
[INFO] [stdout]     |
[INFO] [stdout] 362 | pub enum AutoTuicError {
[INFO] [stdout]     |          ------------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 366 |     ConfigConflict(String),
[INFO] [stdout]     |     ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `AutoTuicError` 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 `set_flow` is never used
[INFO] [stdout]   --> src/autoconfig/autovless.rs:70:12
[INFO] [stdout]    |
[INFO] [stdout] 27 | impl VlessUserConfig {
[INFO] [stdout]    | -------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 70 |     pub fn set_flow(mut self, flow: VlessFlow) -> Self {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> src/autoconfig/autovless.rs:156:12
[INFO] [stdout]     |
[INFO] [stdout] 131 | impl AutoVlessBuilder {
[INFO] [stdout]     | --------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 156 |     pub fn public_ip_str(mut self, ip: &str) -> Result<Self, std::net::AddrParseError> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 163 |     pub fn auto_detect_ip(mut self) -> Result<Self, PublicIpError> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 204 |     pub fn add_user_config(mut self, user: VlessUserConfig) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 216 |     pub fn acme(mut self) -> Self {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 228 |     pub fn acme_with_domain_and_email(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 238 |     pub fn custom_cert(
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 272 |     pub fn with_multiplex_config(mut self, multiplex: MultiplexInbound) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 278 |     pub fn with_transport(mut self, transport: V2RayTransport) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `server`, `server_name`, and `transport_type` are never read
[INFO] [stdout]    --> src/autoconfig/autovless.rs:316:9
[INFO] [stdout]     |
[INFO] [stdout] 314 | pub struct VlessConnectionInfo {
[INFO] [stdout]     |            ------------------- fields in this struct
[INFO] [stdout] 315 |     /// 服务器地址
[INFO] [stdout] 316 |     pub server: String,
[INFO] [stdout]     |         ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 320 |     pub server_name: Option<String>,
[INFO] [stdout]     |         ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 324 |     pub transport_type: Option<String>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `VlessConnectionInfo` 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: variants `ConfigConflict` and `InvalidConfig` are never constructed
[INFO] [stdout]    --> src/autoconfig/autovless.rs:337:5
[INFO] [stdout]     |
[INFO] [stdout] 333 | pub enum AutoVlessError {
[INFO] [stdout]     |          -------------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 337 |     ConfigConflict(String),
[INFO] [stdout]     |     ^^^^^^^^^^^^^^
[INFO] [stdout] 338 |     /// 无效配置
[INFO] [stdout] 339 |     InvalidConfig(String),
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `AutoVlessError` 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: associated functions `acme` and `acme_with_domain_and_email` are never used
[INFO] [stdout]    --> src/autoconfig/tools.rs:230:12
[INFO] [stdout]     |
[INFO] [stdout] 228 | impl TlsMode {
[INFO] [stdout]     | ------------ associated functions in this implementation
[INFO] [stdout] 229 |     /// 创建 ACME 模式（使用 sslip.io）
[INFO] [stdout] 230 |     pub fn acme() -> Self {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 243 |     pub fn acme_with_domain_and_email(domain: impl Into<String>, email: impl Into<String>) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `cmd_serve` is never used
[INFO] [stdout]    --> src/commands.rs:110:8
[INFO] [stdout]     |
[INFO] [stdout] 110 | pub fn cmd_serve() -> Result<ExitCode, String> {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `LegacyDnsServer` is never constructed
[INFO] [stdout]    --> src/dns/dns.rs:145:12
[INFO] [stdout]     |
[INFO] [stdout] 145 | pub struct LegacyDnsServer {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `add_server`, `add_rule`, and `client_subnet` are never used
[INFO] [stdout]    --> src/dns/dns.rs:794:12
[INFO] [stdout]     |
[INFO] [stdout] 787 | impl Dns {
[INFO] [stdout]     | -------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 794 |     pub fn add_server(mut self, server: DnsServer) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 800 |     pub fn add_rule(mut self, rule: DnsRule) -> Self {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 836 |     pub fn client_subnet<S: Into<String>>(mut self, subnet: S) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `tag`, `path`, and `paths` are never used
[INFO] [stdout]    --> src/dns/dns.rs:863:12
[INFO] [stdout]     |
[INFO] [stdout] 861 | impl HostsDnsServer {
[INFO] [stdout]     | ------------------- associated items in this implementation
[INFO] [stdout] 862 |     /// 创建新的 Hosts DNS 服务器
[INFO] [stdout] 863 |     pub fn new() -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 868 |     pub fn tag<S: Into<String>>(mut self, tag: S) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 874 |     pub fn path<S: Into<String>>(mut self, path: S) -> Self {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 880 |     pub fn paths<I, S>(mut self, paths: I) -> Self
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `address_resolver` is never used
[INFO] [stdout]    --> src/dns/dns.rs:917:12
[INFO] [stdout]     |
[INFO] [stdout] 892 | impl RemoteDnsServer {
[INFO] [stdout]     | -------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 917 |     pub fn address_resolver<S: Into<String>>(mut self, resolver: S) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `domains`, `domain_suffix`, `action`, and `invert` are never used
[INFO] [stdout]    --> src/dns/dns.rs:967:12
[INFO] [stdout]     |
[INFO] [stdout] 954 | impl DefaultDnsRule {
[INFO] [stdout]     | ------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 967 |     pub fn domains<I, S>(mut self, domains: I) -> Self
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 979 |     pub fn domain_suffix<S: Into<String>>(mut self, suffix: S) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 991 |     pub fn action(mut self, action: DnsRuleAction) -> Self {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 997 |     pub fn invert(mut self, invert: bool) -> Self {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `with_padding_scheme` and `with_listen_fields` are never used
[INFO] [stdout]   --> src/singboxconfig/inbound/anytls.rs:71:12
[INFO] [stdout]    |
[INFO] [stdout] 39 | impl AnyTlsInbound {
[INFO] [stdout]    | ------------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 71 |     pub fn with_padding_scheme(mut self, scheme: Vec<String>) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 89 |     pub fn with_listen_fields(mut self, listen: ListenFields) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `with_masquerade_proxy`, `with_brutal_debug`, and `with_listen_fields` are never used
[INFO] [stdout]    --> src/singboxconfig/inbound/hysteria2.rs:212:12
[INFO] [stdout]     |
[INFO] [stdout] 133 | impl Hysteria2Inbound {
[INFO] [stdout]     | --------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 212 |     pub fn with_masquerade_proxy(mut self, url: impl Into<String>, rewrite_host: bool) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 232 |     pub fn with_brutal_debug(mut self, debug: bool) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 238 |     pub fn with_listen_fields(mut self, listen: ListenFields) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `salamander` is never used
[INFO] [stdout]    --> src/singboxconfig/inbound/hysteria2.rs:246:12
[INFO] [stdout]     |
[INFO] [stdout] 244 | impl Hysteria2Obfs {
[INFO] [stdout]     | ------------------ associated function in this implementation
[INFO] [stdout] 245 |     /// 创建 salamander 混淆
[INFO] [stdout] 246 |     pub fn salamander(password: impl Into<String>) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `with_listen_fields` is never used
[INFO] [stdout]    --> src/singboxconfig/inbound/tuic.rs:156:12
[INFO] [stdout]     |
[INFO] [stdout]  72 | impl TuicInbound {
[INFO] [stdout]     | ---------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 156 |     pub fn with_listen_fields(mut self, listen: ListenFields) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `with_listen_fields` is never used
[INFO] [stdout]    --> src/singboxconfig/inbound/vless.rs:127:12
[INFO] [stdout]     |
[INFO] [stdout]  77 | impl VlessInbound {
[INFO] [stdout]     | ----------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 127 |     pub fn with_listen_fields(mut self, listen: ListenFields) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `with_idle_session_check_interval`, `with_idle_session_timeout`, `with_tls`, and `with_dial` are never used
[INFO] [stdout]    --> src/singboxconfig/outbound/anytls.rs:79:12
[INFO] [stdout]     |
[INFO] [stdout]  56 | impl AnyTlsOutbound {
[INFO] [stdout]     | ------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  79 |     pub fn with_idle_session_check_interval(mut self, interval: Duration) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  85 |     pub fn with_idle_session_timeout(mut self, timeout: Duration) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  97 |     pub fn with_tls(mut self, tls: OutboundTlsConfig) -> Self {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 103 |     pub fn with_dial(mut self, dial: DialFields) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `with_brutal` is never used
[INFO] [stdout]    --> src/singboxconfig/shared/multiplex.rs:137:12
[INFO] [stdout]     |
[INFO] [stdout] 118 | impl MultiplexInbound {
[INFO] [stdout]     | --------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 137 |     pub fn with_brutal(mut self, brutal: TcpBrutal) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `with_protocol` and `with_max_streams` are never used
[INFO] [stdout]    --> src/singboxconfig/shared/multiplex.rs:156:12
[INFO] [stdout]     |
[INFO] [stdout] 143 | impl MultiplexOutbound {
[INFO] [stdout]     | ---------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 156 |     pub fn with_protocol(mut self, protocol: MultiplexProtocol) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 174 |     pub fn with_max_streams(mut self, max: u32) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `with_bandwidth` is never used
[INFO] [stdout]    --> src/singboxconfig/shared/multiplex.rs:221:12
[INFO] [stdout]     |
[INFO] [stdout] 210 | impl TcpBrutal {
[INFO] [stdout]     | -------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 221 |     pub fn with_bandwidth(mut self, up_mbps: u32, down_mbps: u32) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `with_method`, `with_headers`, `with_idle_timeout`, and `with_ping_timeout` are never used
[INFO] [stdout]    --> src/singboxconfig/shared/v2ray.rs:216:12
[INFO] [stdout]     |
[INFO] [stdout] 197 | impl HttpTransport {
[INFO] [stdout]     | ------------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 216 |     pub fn with_method(mut self, method: impl Into<String>) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 222 |     pub fn with_headers(mut self, headers: HashMap<String, String>) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 236 |     pub fn with_idle_timeout(mut self, timeout: Duration) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 242 |     pub fn with_ping_timeout(mut self, timeout: Duration) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `with_headers`, `add_header`, and `with_early_data_header_name` are never used
[INFO] [stdout]    --> src/singboxconfig/shared/v2ray.rs:261:12
[INFO] [stdout]     |
[INFO] [stdout] 248 | impl WebSocketTransport {
[INFO] [stdout]     | ----------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 261 |     pub fn with_headers(mut self, headers: HashMap<String, String>) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 267 |     pub fn add_header(mut self, key: impl Into<String>, value: impl Into<String>) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 281 |     pub fn with_early_data_header_name(mut self, name: impl Into<String>) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `with_idle_timeout` and `with_ping_timeout` are never used
[INFO] [stdout]    --> src/singboxconfig/shared/v2ray.rs:306:12
[INFO] [stdout]     |
[INFO] [stdout] 293 | impl GrpcTransport {
[INFO] [stdout]     | ------------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 306 |     pub fn with_idle_timeout(mut self, timeout: Duration) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 312 |     pub fn with_ping_timeout(mut self, timeout: Duration) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `with_headers` and `add_header` are never used
[INFO] [stdout]    --> src/singboxconfig/shared/v2ray.rs:343:12
[INFO] [stdout]     |
[INFO] [stdout] 324 | impl HttpUpgradeTransport {
[INFO] [stdout]     | ------------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 343 |     pub fn with_headers(mut self, headers: HashMap<String, String>) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 349 |     pub fn add_header(mut self, key: impl Into<String>, value: impl Into<String>) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `as_secs`, `as_mins`, and `to_std` are never used
[INFO] [stdout]   --> src/singboxconfig/types/duration.rs:56:12
[INFO] [stdout]    |
[INFO] [stdout] 20 | impl Duration {
[INFO] [stdout]    | ------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 56 |     pub fn as_secs(&self) -> u64 {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 61 |     pub fn as_mins(&self) -> u64 {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 66 |     pub fn to_std(&self) -> std::time::Duration {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `as_slice` is never used
[INFO] [stdout]   --> src/singboxconfig/types/string_or_array.rs:86:12
[INFO] [stdout]    |
[INFO] [stdout] 36 | impl StringOrArray {
[INFO] [stdout]    | ------------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 86 |     pub fn as_slice(&self) -> Vec<&str> {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `set_flow` is never used
[INFO] [stdout]    --> src/singboxconfig/types/user.rs:141:12
[INFO] [stdout]     |
[INFO] [stdout] 121 | impl VlessUser {
[INFO] [stdout]     | -------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 141 |     pub fn set_flow(mut self, flow: VlessFlow) -> Self {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 22.85s
[INFO] running `Command { std: "docker" "inspect" "fd537e4feffec018ad9a9c99cff68d714028541fbc69e4604dc96573ca0bb00e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "fd537e4feffec018ad9a9c99cff68d714028541fbc69e4604dc96573ca0bb00e", kill_on_drop: false }`
[INFO] [stdout] fd537e4feffec018ad9a9c99cff68d714028541fbc69e4604dc96573ca0bb00e
