[INFO] cloning repository https://github.com/MFSGA/Chimera_Client [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/MFSGA/Chimera_Client" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FMFSGA%2FChimera_Client", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FMFSGA%2FChimera_Client'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 288bc50d16fb3a0cc6f0143b2e5430705d665f7f [INFO] checking MFSGA/Chimera_Client against try#fa4dd1f19bfeb3fd235dc7f1406c42404436bef5 for pr-145108-2 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FMFSGA%2FChimera_Client" "/workspace/builds/worker-1-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc2/source'... [INFO] [stderr] done. [INFO] removed /workspace/builds/worker-1-tc2/source/.cargo/config.toml [INFO] removed /workspace/builds/worker-1-tc2/source/rust-toolchain.toml [INFO] started tweaking git repo https://github.com/MFSGA/Chimera_Client [INFO] finished tweaking git repo https://github.com/MFSGA/Chimera_Client [INFO] tweaked toml for git repo https://github.com/MFSGA/Chimera_Client written to /workspace/builds/worker-1-tc2/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/MFSGA/Chimera_Client on toolchain fa4dd1f19bfeb3fd235dc7f1406c42404436bef5 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+fa4dd1f19bfeb3fd235dc7f1406c42404436bef5" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/MFSGA/Chimera_Client 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" "+fa4dd1f19bfeb3fd235dc7f1406c42404436bef5" "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] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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:61361fe0aef631f17e9d025a70c5a647956f8c671dd02950a60ad3f5cc5526d7" "/opt/rustwide/cargo-home/bin/cargo" "+fa4dd1f19bfeb3fd235dc7f1406c42404436bef5" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 1c4eec1308ef38fc5f6b22a6ea232b8f7614ed9c69008f5afe4b45321db102d8 [INFO] running `Command { std: "docker" "start" "-a" "1c4eec1308ef38fc5f6b22a6ea232b8f7614ed9c69008f5afe4b45321db102d8", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "1c4eec1308ef38fc5f6b22a6ea232b8f7614ed9c69008f5afe4b45321db102d8", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "1c4eec1308ef38fc5f6b22a6ea232b8f7614ed9c69008f5afe4b45321db102d8", kill_on_drop: false }` [INFO] [stdout] 1c4eec1308ef38fc5f6b22a6ea232b8f7614ed9c69008f5afe4b45321db102d8 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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:61361fe0aef631f17e9d025a70c5a647956f8c671dd02950a60ad3f5cc5526d7" "/opt/rustwide/cargo-home/bin/cargo" "+fa4dd1f19bfeb3fd235dc7f1406c42404436bef5" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] cd136756f2a4578ee51f3d8d8802ebc074c3b5bd54775c1299dee4f2d7b2e9ec [INFO] running `Command { std: "docker" "start" "-a" "cd136756f2a4578ee51f3d8d8802ebc074c3b5bd54775c1299dee4f2d7b2e9ec", kill_on_drop: false }` [INFO] [stderr] Compiling quote v1.0.40 [INFO] [stderr] Compiling portable-atomic v1.13.0 [INFO] [stderr] Checking critical-section v1.2.0 [INFO] [stderr] Checking mio v1.1.0 [INFO] [stderr] Checking signal-hook-registry v1.4.6 [INFO] [stderr] Compiling cc v1.2.51 [INFO] [stderr] Checking regex-syntax v0.8.8 [INFO] [stderr] Compiling time-macros v0.2.24 [INFO] [stderr] Checking concurrent-queue v2.5.0 [INFO] [stderr] Compiling heapless v0.8.0 [INFO] [stderr] Checking getrandom v0.3.4 [INFO] [stderr] Compiling nix v0.30.1 [INFO] [stderr] Checking hash32 v0.3.1 [INFO] [stderr] Compiling smoltcp v0.12.0 [INFO] [stderr] Checking rand_core v0.10.0 [INFO] [stderr] Checking arrayvec v0.7.6 [INFO] [stderr] Compiling getrandom v0.4.1 [INFO] [stderr] Compiling clang-sys v1.8.1 [INFO] [stderr] Compiling nix v0.31.1 [INFO] [stderr] Checking cpufeatures v0.3.0 [INFO] [stderr] Checking event-listener v5.4.1 [INFO] [stderr] Checking bitflags v1.3.2 [INFO] [stderr] Checking rand_core v0.9.3 [INFO] [stderr] Checking managed v0.8.0 [INFO] [stderr] Compiling fs_extra v1.3.0 [INFO] [stderr] Compiling syn v2.0.106 [INFO] [stderr] Checking fastrand v2.3.0 [INFO] [stderr] Checking chacha20 v0.10.0 [INFO] [stderr] Checking netlink-sys v0.8.8 [INFO] [stderr] Checking rand_chacha v0.9.0 [INFO] [stderr] Checking event-listener-strategy v0.5.4 [INFO] [stderr] Checking futures-lite v2.6.1 [INFO] [stderr] Compiling memchr v2.7.6 [INFO] [stderr] Checking piper v0.2.4 [INFO] [stderr] Compiling tun-rs v2.8.2 [INFO] [stderr] Checking async-channel v2.5.0 [INFO] [stderr] Checking anstyle-query v1.1.4 [INFO] [stderr] Checking rand v0.10.0 [INFO] [stderr] Checking anstream v0.6.21 [INFO] [stderr] Checking rand v0.9.2 [INFO] [stderr] Checking etherparse v0.19.0 [INFO] [stderr] Checking getifaddrs v0.6.0 [INFO] [stderr] Compiling bindgen v0.70.1 [INFO] [stderr] Compiling cmake v0.1.57 [INFO] [stderr] Checking blocking v1.6.2 [INFO] [stderr] Checking once_cell v1.21.3 [INFO] [stderr] Checking getrandom v0.2.16 [INFO] [stderr] Checking http v1.4.0 [INFO] [stderr] Compiling aws-lc-rs v1.15.2 [INFO] [stderr] Checking regex-automata v0.4.13 [INFO] [stderr] Checking tracing-core v0.1.36 [INFO] [stderr] Checking time v0.3.44 [INFO] [stderr] Compiling nom v7.1.3 [INFO] [stderr] Checking percent-encoding v2.3.2 [INFO] [stderr] Compiling rustc-hash v1.1.0 [INFO] [stderr] Checking rand_core v0.6.4 [INFO] [stderr] Checking form_urlencoded v1.2.2 [INFO] [stderr] Checking tinyvec v1.10.0 [INFO] [stderr] Checking rand_chacha v0.3.1 [INFO] [stderr] Checking rustls-pki-types v1.13.2 [INFO] [stderr] Compiling aws-lc-sys v0.35.0 [INFO] [stderr] Checking rand v0.8.5 [INFO] [stderr] Checking tracing-log v0.2.0 [INFO] [stderr] Checking etherparse v0.16.0 [INFO] [stderr] Checking spin v0.9.8 [INFO] [stderr] Checking jiff v0.2.19 [INFO] [stderr] Compiling rustls v0.23.36 [INFO] [stderr] Compiling network-interface v2.0.5 [INFO] [stderr] Checking unsafe-libyaml v0.2.11 [INFO] [stderr] Checking iana-time-zone v0.1.64 [INFO] [stderr] Checking http-body v1.0.1 [INFO] [stderr] Checking ipnetwork v0.21.1 [INFO] [stderr] Checking webpki-roots v1.0.5 [INFO] [stderr] Checking sha2 v0.10.9 [INFO] [stderr] Checking uuid v1.20.0 [INFO] [stderr] Checking http-body-util v0.1.3 [INFO] [stderr] Checking downcast-rs v2.0.2 [INFO] [stderr] Checking clap_builder v4.5.58 [INFO] [stderr] Compiling clash-rs v0.1.1 (/opt/rustwide/workdir/clash-bin) [INFO] [stderr] Checking clash-ffi v0.1.1 (/opt/rustwide/workdir/clash-ffi) [INFO] [stderr] Checking clash-doc v0.1.1 (/opt/rustwide/workdir/clash-doc) [INFO] [stderr] Compiling cexpr v0.6.0 [INFO] [stderr] Compiling regex v1.12.3 [INFO] [stderr] Compiling synstructure v0.13.2 [INFO] [stderr] Compiling prettyplease v0.2.37 [INFO] [stderr] Compiling tokio-macros v2.6.0 [INFO] [stderr] Compiling serde_derive v1.0.228 [INFO] [stderr] Compiling zerofrom-derive v0.1.6 [INFO] [stderr] Compiling thiserror-impl v2.0.18 [INFO] [stderr] Compiling futures-macro v0.3.31 [INFO] [stderr] Compiling yoke-derive v0.8.1 [INFO] [stderr] Compiling zerovec-derive v0.11.2 [INFO] [stderr] Compiling displaydoc v0.2.5 [INFO] [stderr] Compiling tracing-attributes v0.1.31 [INFO] [stderr] Compiling thiserror-impl v1.0.69 [INFO] [stderr] Compiling async-trait v0.1.89 [INFO] [stderr] Checking matchers v0.2.0 [INFO] [stderr] Checking tokio v1.49.0 [INFO] [stderr] Checking futures-util v0.3.31 [INFO] [stderr] Compiling enum-as-inner v0.6.1 [INFO] [stderr] Compiling enum-ordinalize-derive v4.3.2 [INFO] [stderr] Compiling clap_derive v4.5.55 [INFO] [stderr] Checking env_filter v1.0.0 [INFO] [stderr] Checking tracing v0.1.44 [INFO] [stderr] Checking env_logger v0.11.9 [INFO] [stderr] Checking zerofrom v0.1.6 [INFO] [stderr] Checking yoke v0.8.1 [INFO] [stderr] Checking tracing-subscriber v0.3.22 [INFO] [stderr] Checking thiserror v2.0.18 [INFO] [stderr] Checking thiserror v1.0.69 [INFO] [stderr] Checking tungstenite v0.28.0 [INFO] [stderr] Checking netlink-packet-utils v0.5.2 [INFO] [stderr] Checking zerovec v0.11.5 [INFO] [stderr] Checking zerotrie v0.2.3 [INFO] [stderr] Compiling enum-ordinalize v4.3.2 [INFO] [stderr] Checking netlink-packet-core v0.7.0 [INFO] [stderr] Compiling educe v0.6.0 [INFO] [stderr] Checking netlink-packet-route v0.24.0 [INFO] [stderr] Checking tinystr v0.8.2 [INFO] [stderr] Checking potential_utf v0.1.4 [INFO] [stderr] Checking icu_locale_core v2.1.1 [INFO] [stderr] Checking icu_collections v2.1.1 [INFO] [stderr] Checking tracing-appender v0.2.4 [INFO] [stderr] Checking serde v1.0.228 [INFO] [stderr] Checking clap v4.5.58 [INFO] [stderr] Checking icu_provider v2.1.1 [INFO] [stderr] Checking ipnet v2.11.0 [INFO] [stderr] Checking maxminddb v0.27.1 [INFO] [stderr] Checking serde_yaml v0.9.34+deprecated [INFO] [stderr] Checking chrono v0.4.43 [INFO] [stderr] Checking futures-executor v0.3.31 [INFO] [stderr] Checking icu_properties v2.1.2 [INFO] [stderr] Checking icu_normalizer v2.1.1 [INFO] [stderr] Checking futures v0.3.31 [INFO] [stderr] Checking prefix-trie v0.7.0 [INFO] [stderr] Checking idna_adapter v1.2.1 [INFO] [stderr] Checking idna v1.1.0 [INFO] [stderr] Checking tokio-util v0.7.18 [INFO] [stderr] Checking watfaq-netstack v0.1.0 (/opt/rustwide/workdir/clash-netstack) [INFO] [stderr] Checking hyper v1.8.1 [INFO] [stderr] Checking tokio-tungstenite v0.28.0 [INFO] [stderr] Checking url v2.5.8 [INFO] [stderr] Checking netstack-smoltcp v0.2.0 [INFO] [stderr] Compiling netstack-lwip v0.3.4 (https://github.com/eycorsican/netstack-lwip?rev=f434fef#f434fefd) [INFO] [stderr] Checking hickory-proto v0.25.2 [INFO] [stderr] Checking hyper-util v0.1.20 [INFO] [stderr] Checking netconfig-rs v0.1.5 [INFO] [stderr] Checking hickory-server v0.25.2 [INFO] [stderr] Checking chimera-dns v0.1.1 (/opt/rustwide/workdir/clash-dns) [INFO] [stdout] warning: unused import: `path::Path` [INFO] [stdout] --> clash-dns/src/lib.rs:1:28 [INFO] [stdout] | [INFO] [stdout] 1 | use std::{net::SocketAddr, path::Path}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `path::Path` [INFO] [stdout] --> clash-dns/src/lib.rs:1:28 [INFO] [stdout] | [INFO] [stdout] 1 | use std::{net::SocketAddr, path::Path}; [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 variable: `response_handle` [INFO] [stdout] --> clash-dns/src/handler.rs:41:9 [INFO] [stdout] | [INFO] [stdout] 41 | response_handle: H, [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_response_handle` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `response_handle` [INFO] [stdout] --> clash-dns/src/handler.rs:41:9 [INFO] [stdout] | [INFO] [stdout] 41 | response_handle: H, [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_response_handle` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `request` [INFO] [stdout] --> clash-dns/src/handler.rs:40:9 [INFO] [stdout] | [INFO] [stdout] 40 | request: &Request, [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_request` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `request` [INFO] [stdout] --> clash-dns/src/handler.rs:40:9 [INFO] [stdout] | [INFO] [stdout] 40 | request: &Request, [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_request` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `cwd` [INFO] [stdout] --> clash-dns/src/handler.rs:52:5 [INFO] [stdout] | [INFO] [stdout] 52 | cwd: &std::path::Path, [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_cwd` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `cwd` [INFO] [stdout] --> clash-dns/src/handler.rs:52:5 [INFO] [stdout] | [INFO] [stdout] 52 | cwd: &std::path::Path, [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_cwd` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `c` [INFO] [stdout] --> clash-dns/src/handler.rs:86:17 [INFO] [stdout] | [INFO] [stdout] 86 | if let Some(c) = listen.doh { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_c` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `c` [INFO] [stdout] --> clash-dns/src/handler.rs:86:17 [INFO] [stdout] | [INFO] [stdout] 86 | if let Some(c) = listen.doh { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_c` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `c` [INFO] [stdout] --> clash-dns/src/handler.rs:90:17 [INFO] [stdout] | [INFO] [stdout] 90 | if let Some(c) = listen.dot { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_c` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `c` [INFO] [stdout] --> clash-dns/src/handler.rs:90:17 [INFO] [stdout] | [INFO] [stdout] 90 | if let Some(c) = listen.dot { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_c` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `c` [INFO] [stdout] --> clash-dns/src/handler.rs:94:17 [INFO] [stdout] | [INFO] [stdout] 94 | if let Some(c) = listen.doh3 { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_c` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `c` [INFO] [stdout] --> clash-dns/src/handler.rs:94:17 [INFO] [stdout] | [INFO] [stdout] 94 | if let Some(c) = listen.doh3 { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_c` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `exchanger` is never read [INFO] [stdout] --> clash-dns/src/handler.rs:20:5 [INFO] [stdout] | [INFO] [stdout] 19 | struct DnsHandler { [INFO] [stdout] | ---------- field in this struct [INFO] [stdout] 20 | exchanger: X, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `exchanger` is never read [INFO] [stdout] --> clash-dns/src/handler.rs:20:5 [INFO] [stdout] | [INFO] [stdout] 19 | struct DnsHandler { [INFO] [stdout] | ---------- field in this struct [INFO] [stdout] 20 | exchanger: X, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Checking rustls-webpki v0.103.8 [INFO] [stderr] Checking tokio-rustls v0.26.4 [INFO] [stderr] Checking clash-lib v0.1.1 (/opt/rustwide/workdir/clash-lib) [INFO] [stdout] warning: unused import: `trace` [INFO] [stdout] --> clash-lib/src/app/dispatcher/dispatcher_impl.rs:4:57 [INFO] [stdout] | [INFO] [stdout] 4 | use tracing::{Instrument, debug, info_span, instrument, trace, warn}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `session::Session` [INFO] [stdout] --> clash-lib/src/app/dispatcher/statistics_manager.rs:12:48 [INFO] [stdout] | [INFO] [stdout] 12 | use crate::{app::dispatcher::tracked::Tracked, session::Session}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `IpAddr`, `Ipv4Addr`, `Ipv6Addr`, and `Ordering` [INFO] [stdout] --> clash-lib/src/app/dns/resolver/system.rs:2:11 [INFO] [stdout] | [INFO] [stdout] 2 | net::{IpAddr, Ipv4Addr, Ipv6Addr}, [INFO] [stdout] | ^^^^^^ ^^^^^^^^ ^^^^^^^^ [INFO] [stdout] 3 | sync::atomic::{AtomicBool, Ordering}, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `ResolverKind` [INFO] [stdout] --> clash-lib/src/app/dns/resolver/system.rs:10:38 [INFO] [stdout] | [INFO] [stdout] 10 | use crate::app::dns::{ClashResolver, ResolverKind}; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `hickory_proto::op::Message` [INFO] [stdout] --> clash-lib/src/app/dns/server/mod.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use hickory_proto::op::Message; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `handler::exchange_with_resolver` [INFO] [stdout] --> clash-lib/src/app/dns/server/mod.rs:9:9 [INFO] [stdout] | [INFO] [stdout] 9 | pub use handler::exchange_with_resolver; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `collections::HashMap` [INFO] [stdout] --> clash-lib/src/app/router/mod.rs:3:11 [INFO] [stdout] | [INFO] [stdout] 3 | use std::{collections::HashMap, sync::Arc}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `config::RuleProviderDef` [INFO] [stdout] --> clash-lib/src/app/router/mod.rs:15:24 [INFO] [stdout] | [INFO] [stdout] 15 | config::internal::{config::RuleProviderDef, rule::RuleType}, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `BindAddress` [INFO] [stdout] --> clash-lib/src/config/internal/convert/general.rs:3:24 [INFO] [stdout] | [INFO] [stdout] 3 | internal::config::{BindAddress, Controller, General}, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary braces around function argument [INFO] [stdout] --> clash-lib/src/config/internal/convert/proxy_group.rs:15:51 [INFO] [stdout] | [INFO] [stdout] 15 | let group = OutboundProxy::ProxyGroup({ todo!() }); [INFO] [stdout] | ^^ ^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_braces)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] help: remove these braces [INFO] [stdout] | [INFO] [stdout] 15 - let group = OutboundProxy::ProxyGroup({ todo!() }); [INFO] [stdout] 15 + let group = OutboundProxy::ProxyGroup(todo!() ); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `trace` [INFO] [stdout] --> clash-lib/src/app/dispatcher/dispatcher_impl.rs:4:57 [INFO] [stdout] | [INFO] [stdout] 4 | use tracing::{Instrument, debug, info_span, instrument, trace, warn}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::sync::Arc` [INFO] [stdout] --> clash-lib/src/proxy/inbound.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::sync::Arc; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `session::Session` [INFO] [stdout] --> clash-lib/src/app/dispatcher/statistics_manager.rs:12:48 [INFO] [stdout] | [INFO] [stdout] 12 | use crate::{app::dispatcher::tracked::Tracked, session::Session}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `IpAddr`, `Ipv4Addr`, and `Ipv6Addr` [INFO] [stdout] --> clash-lib/src/proxy/socks/inbound/mod.rs:3:11 [INFO] [stdout] | [INFO] [stdout] 3 | net::{IpAddr, Ipv4Addr, Ipv6Addr, SocketAddr}, [INFO] [stdout] | ^^^^^^ ^^^^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `AsyncReadExt`, `AsyncWriteExt`, `TcpListener`, and `TcpStream` [INFO] [stdout] --> clash-lib/src/proxy/socks/inbound/mod.rs:9:10 [INFO] [stdout] | [INFO] [stdout] 9 | io::{AsyncReadExt, AsyncWriteExt}, [INFO] [stdout] | ^^^^^^^^^^^^ ^^^^^^^^^^^^^ [INFO] [stdout] 10 | net::{TcpListener, TcpStream}, [INFO] [stdout] | ^^^^^^^^^^^ ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `debug` [INFO] [stdout] --> clash-lib/src/proxy/socks/inbound/mod.rs:12:15 [INFO] [stdout] | [INFO] [stdout] 12 | use tracing::{debug, info, warn}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `SOCKS5_VERSION` and `config::internal::listener::CommonInboundOpts` [INFO] [stdout] --> clash-lib/src/proxy/socks/inbound/mod.rs:17:5 [INFO] [stdout] | [INFO] [stdout] 17 | config::internal::listener::CommonInboundOpts, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 20 | socks::{SOCKS5_VERSION, inbound::stream::handle_tcp}, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `IpAddr`, `Ipv4Addr`, `Ipv6Addr`, and `Ordering` [INFO] [stdout] --> clash-lib/src/app/dns/resolver/system.rs:2:11 [INFO] [stdout] | [INFO] [stdout] 2 | net::{IpAddr, Ipv4Addr, Ipv6Addr}, [INFO] [stdout] | ^^^^^^ ^^^^^^^^ ^^^^^^^^ [INFO] [stdout] 3 | sync::atomic::{AtomicBool, Ordering}, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `ResolverKind` [INFO] [stdout] --> clash-lib/src/app/dns/resolver/system.rs:10:38 [INFO] [stdout] | [INFO] [stdout] 10 | use crate::app::dns::{ClashResolver, ResolverKind}; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `BufMut` and `BytesMut` [INFO] [stdout] --> clash-lib/src/proxy/socks/socks5.rs:1:13 [INFO] [stdout] | [INFO] [stdout] 1 | use bytes::{BufMut, BytesMut}; [INFO] [stdout] | ^^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `AsyncReadExt` and `AsyncWriteExt` [INFO] [stdout] --> clash-lib/src/proxy/socks/socks5.rs:2:17 [INFO] [stdout] | [INFO] [stdout] 2 | use tokio::io::{AsyncReadExt, AsyncWriteExt}; [INFO] [stdout] | ^^^^^^^^^^^^ ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `hickory_proto::op::Message` [INFO] [stdout] --> clash-lib/src/app/dns/server/mod.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use hickory_proto::op::Message; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `common::errors::new_io_error` and `proxy::AnyStream` [INFO] [stdout] --> clash-lib/src/proxy/socks/socks5.rs:4:13 [INFO] [stdout] | [INFO] [stdout] 4 | use crate::{common::errors::new_io_error, proxy::AnyStream}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `handler::exchange_with_resolver` [INFO] [stdout] --> clash-lib/src/app/dns/server/mod.rs:9:9 [INFO] [stdout] | [INFO] [stdout] 9 | pub use handler::exchange_with_resolver; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `net::SocketAddr` [INFO] [stdout] --> clash-lib/src/proxy/utils/proxy_connector.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | net::SocketAddr, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `collections::HashMap` [INFO] [stdout] --> clash-lib/src/app/router/mod.rs:3:11 [INFO] [stdout] | [INFO] [stdout] 3 | use std::{collections::HashMap, sync::Arc}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `config::RuleProviderDef` [INFO] [stdout] --> clash-lib/src/app/router/mod.rs:15:24 [INFO] [stdout] | [INFO] [stdout] 15 | config::internal::{config::RuleProviderDef, rule::RuleType}, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `BindAddress` [INFO] [stdout] --> clash-lib/src/config/internal/convert/general.rs:3:24 [INFO] [stdout] | [INFO] [stdout] 3 | internal::config::{BindAddress, Controller, General}, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary braces around function argument [INFO] [stdout] --> clash-lib/src/config/internal/convert/proxy_group.rs:15:51 [INFO] [stdout] | [INFO] [stdout] 15 | let group = OutboundProxy::ProxyGroup({ todo!() }); [INFO] [stdout] | ^^ ^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_braces)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] help: remove these braces [INFO] [stdout] | [INFO] [stdout] 15 - let group = OutboundProxy::ProxyGroup({ todo!() }); [INFO] [stdout] 15 + let group = OutboundProxy::ProxyGroup(todo!() ); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::sync::Arc` [INFO] [stdout] --> clash-lib/src/proxy/inbound.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::sync::Arc; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `IpAddr`, `Ipv4Addr`, and `Ipv6Addr` [INFO] [stdout] --> clash-lib/src/proxy/socks/inbound/mod.rs:3:11 [INFO] [stdout] | [INFO] [stdout] 3 | net::{IpAddr, Ipv4Addr, Ipv6Addr, SocketAddr}, [INFO] [stdout] | ^^^^^^ ^^^^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `AsyncReadExt`, `AsyncWriteExt`, `TcpListener`, and `TcpStream` [INFO] [stdout] --> clash-lib/src/proxy/socks/inbound/mod.rs:9:10 [INFO] [stdout] | [INFO] [stdout] 9 | io::{AsyncReadExt, AsyncWriteExt}, [INFO] [stdout] | ^^^^^^^^^^^^ ^^^^^^^^^^^^^ [INFO] [stdout] 10 | net::{TcpListener, TcpStream}, [INFO] [stdout] | ^^^^^^^^^^^ ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `debug` [INFO] [stdout] --> clash-lib/src/proxy/socks/inbound/mod.rs:12:15 [INFO] [stdout] | [INFO] [stdout] 12 | use tracing::{debug, info, warn}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `SOCKS5_VERSION` and `config::internal::listener::CommonInboundOpts` [INFO] [stdout] --> clash-lib/src/proxy/socks/inbound/mod.rs:17:5 [INFO] [stdout] | [INFO] [stdout] 17 | config::internal::listener::CommonInboundOpts, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 20 | socks::{SOCKS5_VERSION, inbound::stream::handle_tcp}, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `BufMut` and `BytesMut` [INFO] [stdout] --> clash-lib/src/proxy/socks/socks5.rs:1:13 [INFO] [stdout] | [INFO] [stdout] 1 | use bytes::{BufMut, BytesMut}; [INFO] [stdout] | ^^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `AsyncReadExt` and `AsyncWriteExt` [INFO] [stdout] --> clash-lib/src/proxy/socks/socks5.rs:2:17 [INFO] [stdout] | [INFO] [stdout] 2 | use tokio::io::{AsyncReadExt, AsyncWriteExt}; [INFO] [stdout] | ^^^^^^^^^^^^ ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `common::errors::new_io_error` and `proxy::AnyStream` [INFO] [stdout] --> clash-lib/src/proxy/socks/socks5.rs:4:13 [INFO] [stdout] | [INFO] [stdout] 4 | use crate::{common::errors::new_io_error, proxy::AnyStream}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `net::SocketAddr` [INFO] [stdout] --> clash-lib/src/proxy/utils/proxy_connector.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | net::SocketAddr, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> clash-lib/src/app/router/mod.rs:57:13 [INFO] [stdout] | [INFO] [stdout] 57 | let mut sess_resolved = false; [INFO] [stdout] | ----^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> clash-lib/src/app/router/mod.rs:57:13 [INFO] [stdout] | [INFO] [stdout] 57 | let mut sess_resolved = false; [INFO] [stdout] | ----^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> clash-lib/src/lib.rs:217:21 [INFO] [stdout] | [INFO] [stdout] 217 | let (reload_tx, mut reload_rx) = mpsc::channel(1); [INFO] [stdout] | ----^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> clash-lib/src/lib.rs:217:21 [INFO] [stdout] | [INFO] [stdout] 217 | let (reload_tx, mut reload_rx) = mpsc::channel(1); [INFO] [stdout] | ----^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable call [INFO] [stdout] --> clash-lib/src/config/internal/convert/proxy_group.rs:15:25 [INFO] [stdout] | [INFO] [stdout] 15 | let group = OutboundProxy::ProxyGroup({ todo!() }); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ ------- any code following this expression is unreachable [INFO] [stdout] | | [INFO] [stdout] | unreachable call [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable call [INFO] [stdout] --> clash-lib/src/config/internal/convert/proxy_group.rs:15:25 [INFO] [stdout] | [INFO] [stdout] 15 | let group = OutboundProxy::ProxyGroup({ todo!() }); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ ------- any code following this expression is unreachable [INFO] [stdout] | | [INFO] [stdout] | unreachable call [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `outbound_manager` [INFO] [stdout] --> clash-lib/src/app/api/mod.rs:24:5 [INFO] [stdout] | [INFO] [stdout] 24 | outbound_manager: ThreadSafeOutboundManager, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_outbound_manager` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `cwd` [INFO] [stdout] --> clash-lib/src/app/api/mod.rs:25:5 [INFO] [stdout] | [INFO] [stdout] 25 | cwd: String, [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_cwd` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `app_state` [INFO] [stdout] --> clash-lib/src/app/api/mod.rs:34:9 [INFO] [stdout] | [INFO] [stdout] 34 | let app_state = Arc::new(AppState { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_app_state` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `resolver` [INFO] [stdout] --> clash-lib/src/app/dispatcher/dispatcher_impl.rs:186:25 [INFO] [stdout] | [INFO] [stdout] 186 | async fn reverse_lookup(resolver: &Arc, dst: &SocksAddr) -> Option { [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_resolver` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `socket_addr` [INFO] [stdout] --> clash-lib/src/app/dispatcher/dispatcher_impl.rs:188:39 [INFO] [stdout] | [INFO] [stdout] 188 | crate::session::SocksAddr::Ip(socket_addr) => { [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_socket_addr` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `sess_resolved` [INFO] [stdout] --> clash-lib/src/app/router/mod.rs:57:13 [INFO] [stdout] | [INFO] [stdout] 57 | let mut sess_resolved = false; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sess_resolved` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `mmdb` [INFO] [stdout] --> clash-lib/src/app/dns/resolver/mod.rs:22:5 [INFO] [stdout] | [INFO] [stdout] 22 | mmdb: Option, [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_mmdb` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `outbounds` [INFO] [stdout] --> clash-lib/src/app/dns/resolver/mod.rs:23:5 [INFO] [stdout] | [INFO] [stdout] 23 | outbounds: HashMap>, [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_outbounds` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `store` [INFO] [stdout] --> clash-lib/src/app/dns/resolver/mod.rs:27:18 [INFO] [stdout] | [INFO] [stdout] 27 | Some(store) => { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_store` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `outbound_manager` [INFO] [stdout] --> clash-lib/src/app/api/mod.rs:24:5 [INFO] [stdout] | [INFO] [stdout] 24 | outbound_manager: ThreadSafeOutboundManager, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_outbound_manager` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `cwd` [INFO] [stdout] --> clash-lib/src/app/api/mod.rs:25:5 [INFO] [stdout] | [INFO] [stdout] 25 | cwd: String, [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_cwd` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `app_state` [INFO] [stdout] --> clash-lib/src/app/api/mod.rs:34:9 [INFO] [stdout] | [INFO] [stdout] 34 | let app_state = Arc::new(AppState { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_app_state` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `resolver` [INFO] [stdout] --> clash-lib/src/app/dispatcher/dispatcher_impl.rs:186:25 [INFO] [stdout] | [INFO] [stdout] 186 | async fn reverse_lookup(resolver: &Arc, dst: &SocksAddr) -> Option { [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_resolver` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `socket_addr` [INFO] [stdout] --> clash-lib/src/app/dispatcher/dispatcher_impl.rs:188:39 [INFO] [stdout] | [INFO] [stdout] 188 | crate::session::SocksAddr::Ip(socket_addr) => { [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_socket_addr` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `sess_resolved` [INFO] [stdout] --> clash-lib/src/app/router/mod.rs:57:13 [INFO] [stdout] | [INFO] [stdout] 57 | let mut sess_resolved = false; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sess_resolved` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> clash-lib/src/app/logging.rs:46:17 [INFO] [stdout] | [INFO] [stdout] 46 | _ => { [INFO] [stdout] | ^ no value can reach this [INFO] [stdout] | [INFO] [stdout] note: multiple earlier patterns match some of the same values [INFO] [stdout] --> clash-lib/src/app/logging.rs:46:17 [INFO] [stdout] | [INFO] [stdout] 41 | tracing::Level::TRACE => LogLevel::Trace, [INFO] [stdout] | --------------------- matches some of the same values [INFO] [stdout] 42 | tracing::Level::DEBUG => LogLevel::Debug, [INFO] [stdout] | --------------------- matches some of the same values [INFO] [stdout] 43 | tracing::Level::ERROR => LogLevel::Error, [INFO] [stdout] | --------------------- matches some of the same values [INFO] [stdout] 44 | tracing::Level::WARN => LogLevel::Warning, [INFO] [stdout] | -------------------- matches some of the same values [INFO] [stdout] 45 | tracing::Level::INFO => LogLevel::Info, [INFO] [stdout] 46 | _ => { [INFO] [stdout] | ^ ...and 1 other patterns collectively make this unreachable [INFO] [stdout] = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `mmdb` [INFO] [stdout] --> clash-lib/src/app/dns/resolver/mod.rs:22:5 [INFO] [stdout] | [INFO] [stdout] 22 | mmdb: Option, [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_mmdb` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `outbounds` [INFO] [stdout] --> clash-lib/src/app/dns/resolver/mod.rs:23:5 [INFO] [stdout] | [INFO] [stdout] 23 | outbounds: HashMap>, [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_outbounds` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `store` [INFO] [stdout] --> clash-lib/src/app/dns/resolver/mod.rs:27:18 [INFO] [stdout] | [INFO] [stdout] 27 | Some(store) => { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_store` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `proxy_names` [INFO] [stdout] --> clash-lib/src/app/outbound/manager.rs:53:9 [INFO] [stdout] | [INFO] [stdout] 53 | proxy_names: Vec, [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_proxy_names` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `country_mmdb` [INFO] [stdout] --> clash-lib/src/app/router/mod.rs:33:9 [INFO] [stdout] | [INFO] [stdout] 33 | country_mmdb: Option, [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_country_mmdb` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `cwd` [INFO] [stdout] --> clash-lib/src/app/router/mod.rs:36:9 [INFO] [stdout] | [INFO] [stdout] 36 | cwd: String, [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_cwd` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> clash-lib/src/app/logging.rs:46:17 [INFO] [stdout] | [INFO] [stdout] 46 | _ => { [INFO] [stdout] | ^ no value can reach this [INFO] [stdout] | [INFO] [stdout] note: multiple earlier patterns match some of the same values [INFO] [stdout] --> clash-lib/src/app/logging.rs:46:17 [INFO] [stdout] | [INFO] [stdout] 41 | tracing::Level::TRACE => LogLevel::Trace, [INFO] [stdout] | --------------------- matches some of the same values [INFO] [stdout] 42 | tracing::Level::DEBUG => LogLevel::Debug, [INFO] [stdout] | --------------------- matches some of the same values [INFO] [stdout] 43 | tracing::Level::ERROR => LogLevel::Error, [INFO] [stdout] | --------------------- matches some of the same values [INFO] [stdout] 44 | tracing::Level::WARN => LogLevel::Warning, [INFO] [stdout] | -------------------- matches some of the same values [INFO] [stdout] 45 | tracing::Level::INFO => LogLevel::Info, [INFO] [stdout] 46 | _ => { [INFO] [stdout] | ^ ...and 1 other patterns collectively make this unreachable [INFO] [stdout] = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `proxy_names` [INFO] [stdout] --> clash-lib/src/app/outbound/manager.rs:53:9 [INFO] [stdout] | [INFO] [stdout] 53 | proxy_names: Vec, [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_proxy_names` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `country_mmdb` [INFO] [stdout] --> clash-lib/src/app/router/mod.rs:33:9 [INFO] [stdout] | [INFO] [stdout] 33 | country_mmdb: Option, [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_country_mmdb` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `cwd` [INFO] [stdout] --> clash-lib/src/app/router/mod.rs:36:9 [INFO] [stdout] | [INFO] [stdout] 36 | cwd: String, [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_cwd` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `http_port` [INFO] [stdout] --> clash-lib/src/config/internal/convert/listener.rs:24:9 [INFO] [stdout] | [INFO] [stdout] 24 | let http_port = c.port; [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_http_port` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `mixed_port` [INFO] [stdout] --> clash-lib/src/config/internal/convert/listener.rs:26:9 [INFO] [stdout] | [INFO] [stdout] 26 | let mixed_port = c.mixed_port; [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_mixed_port` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> clash-lib/src/config/internal/convert/proxy_group.rs:13:10 [INFO] [stdout] | [INFO] [stdout] 13 | |mut rv, mapping| { [INFO] [stdout] | ----^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `rv` [INFO] [stdout] --> clash-lib/src/config/internal/convert/proxy_group.rs:13:10 [INFO] [stdout] | [INFO] [stdout] 13 | |mut rv, mapping| { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_rv` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `name` [INFO] [stdout] --> clash-lib/src/config/internal/convert/proxy_group.rs:14:17 [INFO] [stdout] | [INFO] [stdout] 14 | let name = mapping.get("name").cloned(); [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_name` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `group` [INFO] [stdout] --> clash-lib/src/config/internal/convert/proxy_group.rs:15:17 [INFO] [stdout] | [INFO] [stdout] 15 | let group = OutboundProxy::ProxyGroup({ todo!() }); [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_group` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `g` [INFO] [stdout] --> clash-lib/src/config/internal/proxy.rs:22:39 [INFO] [stdout] | [INFO] [stdout] 22 | OutboundProxy::ProxyGroup(g) => todo!(), [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_g` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `socks5` [INFO] [stdout] --> clash-lib/src/config/internal/proxy.rs:47:43 [INFO] [stdout] | [INFO] [stdout] 47 | OutboundProxyProtocol::Socks5(socks5) => { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_socks5` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `http_port` [INFO] [stdout] --> clash-lib/src/config/internal/convert/listener.rs:24:9 [INFO] [stdout] | [INFO] [stdout] 24 | let http_port = c.port; [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_http_port` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `mixed_port` [INFO] [stdout] --> clash-lib/src/config/internal/convert/listener.rs:26:9 [INFO] [stdout] | [INFO] [stdout] 26 | let mixed_port = c.mixed_port; [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_mixed_port` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `params` [INFO] [stdout] --> clash-lib/src/config/internal/rule.rs:16:9 [INFO] [stdout] | [INFO] [stdout] 16 | params: Option>, [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_params` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> clash-lib/src/config/internal/convert/proxy_group.rs:13:10 [INFO] [stdout] | [INFO] [stdout] 13 | |mut rv, mapping| { [INFO] [stdout] | ----^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `rv` [INFO] [stdout] --> clash-lib/src/config/internal/convert/proxy_group.rs:13:10 [INFO] [stdout] | [INFO] [stdout] 13 | |mut rv, mapping| { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_rv` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `name` [INFO] [stdout] --> clash-lib/src/config/internal/convert/proxy_group.rs:14:17 [INFO] [stdout] | [INFO] [stdout] 14 | let name = mapping.get("name").cloned(); [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_name` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `group` [INFO] [stdout] --> clash-lib/src/config/internal/convert/proxy_group.rs:15:17 [INFO] [stdout] | [INFO] [stdout] 15 | let group = OutboundProxy::ProxyGroup({ todo!() }); [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_group` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `g` [INFO] [stdout] --> clash-lib/src/config/internal/proxy.rs:22:39 [INFO] [stdout] | [INFO] [stdout] 22 | OutboundProxy::ProxyGroup(g) => todo!(), [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_g` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `socks5` [INFO] [stdout] --> clash-lib/src/config/internal/proxy.rs:47:43 [INFO] [stdout] | [INFO] [stdout] 47 | OutboundProxyProtocol::Socks5(socks5) => { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_socks5` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `params` [INFO] [stdout] --> clash-lib/src/config/internal/rule.rs:16:9 [INFO] [stdout] | [INFO] [stdout] 16 | params: Option>, [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_params` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ip` [INFO] [stdout] --> clash-lib/src/session.rs:116:19 [INFO] [stdout] | [INFO] [stdout] 116 | if let Ok(ip) = value.0.parse::() { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_ip` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `s` [INFO] [stdout] --> clash-lib/src/lib.rs:90:25 [INFO] [stdout] | [INFO] [stdout] 90 | Config::Str(s) => { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_s` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `reload_rx` [INFO] [stdout] --> clash-lib/src/lib.rs:217:21 [INFO] [stdout] | [INFO] [stdout] 217 | let (reload_tx, mut reload_rx) = mpsc::channel(1); [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_reload_rx` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `log_level`, `tunnel_listener_handle`, `dns_listener_handle`, `reload_tx`, and `cwd` are never read [INFO] [stdout] --> clash-lib/src/lib.rs:98:5 [INFO] [stdout] | [INFO] [stdout] 97 | pub struct GlobalState { [INFO] [stdout] | ----------- fields in this struct [INFO] [stdout] 98 | log_level: LogLevel, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 99 | #[cfg(feature = "tun")] [INFO] [stdout] 100 | tunnel_listener_handle: Option>>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 101 | api_listener_handle: Option>>, [INFO] [stdout] 102 | dns_listener_handle: Option>>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 103 | reload_tx: mpsc::Sender<(Config, oneshot::Sender<()>)>, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 104 | cwd: String, [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 `cache_store`, `dns_resolver`, and `dispatcher` are never read [INFO] [stdout] --> clash-lib/src/lib.rs:278:5 [INFO] [stdout] | [INFO] [stdout] 273 | struct RuntimeComponents { [INFO] [stdout] | ----------------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 278 | cache_store: profile::ThreadSafeCacheFile, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 279 | dns_resolver: ThreadSafeDNSResolver, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 280 | outbound_manager: Arc, [INFO] [stdout] 281 | dispatcher: Arc, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `log_source_tx` and `statistics_manager` are never read [INFO] [stdout] --> clash-lib/src/app/api/mod.rs:15:5 [INFO] [stdout] | [INFO] [stdout] 14 | pub struct AppState { [INFO] [stdout] | -------- fields in this struct [INFO] [stdout] 15 | log_source_tx: Sender, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 16 | statistics_manager: Arc, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `get_outbound`, `tcp_buffer_size`, `resolver`, and `statistics_manager` are never used [INFO] [stdout] --> clash-lib/src/app/dispatcher/dispatcher_impl.rs:59:12 [INFO] [stdout] | [INFO] [stdout] 40 | impl Dispatcher { [INFO] [stdout] | --------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 59 | pub fn get_outbound(&self, name: &str) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 63 | pub fn tcp_buffer_size(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 67 | pub fn resolver(&self) -> ThreadSafeDNSResolver { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 71 | pub fn statistics_manager(&self) -> Arc { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `1` is never read [INFO] [stdout] --> clash-lib/src/app/dispatcher/tracked.rs:24:32 [INFO] [stdout] | [INFO] [stdout] 24 | pub struct Tracked(uuid::Uuid, Arc); [INFO] [stdout] | ------- ^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this struct [INFO] [stdout] | [INFO] [stdout] = help: consider removing this field [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `tracker_info` is never used [INFO] [stdout] --> clash-lib/src/app/dispatcher/tracked.rs:31:12 [INFO] [stdout] | [INFO] [stdout] 26 | impl Tracked { [INFO] [stdout] | ------------ method in this implementation [INFO] [stdout] ... [INFO] [stdout] 31 | pub fn tracker_info(&self) -> Arc { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `ResolverKind` is never used [INFO] [stdout] --> clash-lib/src/app/dns/mod.rs:22:10 [INFO] [stdout] | [INFO] [stdout] 22 | pub enum ResolverKind { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `exchange` is never used [INFO] [stdout] --> clash-lib/src/app/dns/mod.rs:35:14 [INFO] [stdout] | [INFO] [stdout] 33 | pub trait ClashResolver: Sync + Send { [INFO] [stdout] | ------------- method in this trait [INFO] [stdout] 34 | /// Used for DNS Server [INFO] [stdout] 35 | async fn exchange(&self, message: &op::Message) -> anyhow::Result; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `DEFAULT_DNS_SERVER_TTL` is never used [INFO] [stdout] --> clash-lib/src/app/dns/server/mod.rs:11:8 [INFO] [stdout] | [INFO] [stdout] 11 | static DEFAULT_DNS_SERVER_TTL: u32 = 60; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `exchange_with_resolver` is never used [INFO] [stdout] --> clash-lib/src/app/dns/server/handler.rs:6:14 [INFO] [stdout] | [INFO] [stdout] 6 | pub async fn exchange_with_resolver( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Ports` is never constructed [INFO] [stdout] --> clash-lib/src/app/inbound/manager.rs:18:12 [INFO] [stdout] | [INFO] [stdout] 18 | pub struct Ports { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> clash-lib/src/app/inbound/manager.rs:85:18 [INFO] [stdout] | [INFO] [stdout] 38 | impl InboundManager { [INFO] [stdout] | ------------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 85 | pub async fn shutdown(&self) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 94 | pub async fn restart(&self) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 99 | pub async fn get_ports(&self) -> Ports { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 110 | pub async fn get_allow_lan(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 119 | pub async fn set_allow_lan(&self, allow_lan: bool) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 131 | pub async fn set_bind_address(&self, bind_address: BindAddress) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 143 | pub async fn change_ports(&self, ports: Ports) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `proxy_manager` is never read [INFO] [stdout] --> clash-lib/src/app/outbound/manager.rs:25:5 [INFO] [stdout] | [INFO] [stdout] 23 | pub struct OutboundManager { [INFO] [stdout] | --------------- field in this struct [INFO] [stdout] 24 | handlers: HashMap, [INFO] [stdout] 25 | proxy_manager: ProxyManager, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `proxy_names` is never used [INFO] [stdout] --> clash-lib/src/app/outbound/manager.rs:94:12 [INFO] [stdout] | [INFO] [stdout] 48 | impl OutboundManager { [INFO] [stdout] | -------------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 94 | pub fn proxy_names(&self) -> &[String] { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> clash-lib/src/app/profile/mod.rs:21:32 [INFO] [stdout] | [INFO] [stdout] 21 | pub struct ThreadSafeCacheFile(Arc>); [INFO] [stdout] | ------------------- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this struct [INFO] [stdout] | [INFO] [stdout] = help: consider removing this field [INFO] [stdout] = note: `ThreadSafeCacheFile` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `store_selected` is never read [INFO] [stdout] --> clash-lib/src/app/profile/mod.rs:69:5 [INFO] [stdout] | [INFO] [stdout] 66 | struct CacheFile { [INFO] [stdout] | --------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 69 | store_selected: bool, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `proxy_state` and `dns_resolver` are never read [INFO] [stdout] --> clash-lib/src/app/remote_content_manager/mod.rs:17:5 [INFO] [stdout] | [INFO] [stdout] 16 | pub struct ProxyManager { [INFO] [stdout] | ------------ fields in this struct [INFO] [stdout] 17 | proxy_state: Arc>>, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 18 | dns_resolver: ThreadSafeDNSResolver, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ProxyManager` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `alive` and `delay_history` are never read [INFO] [stdout] --> clash-lib/src/app/remote_content_manager/mod.rs:35:5 [INFO] [stdout] | [INFO] [stdout] 34 | struct ProxyState { [INFO] [stdout] | ---------- fields in this struct [INFO] [stdout] 35 | alive: AtomicBool, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 36 | delay_history: VecDeque, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `dns_resolver` is never read [INFO] [stdout] --> clash-lib/src/app/router/mod.rs:22:5 [INFO] [stdout] | [INFO] [stdout] 20 | pub struct Router { [INFO] [stdout] | ------ field in this struct [INFO] [stdout] 21 | rules: Vec>, [INFO] [stdout] 22 | dns_resolver: ThreadSafeDNSResolver, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `IntoIoResultExt` is never used [INFO] [stdout] --> clash-lib/src/common/errors.rs:25:11 [INFO] [stdout] | [INFO] [stdout] 25 | pub trait IntoIoResultExt { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `dns_resolver` is never read [INFO] [stdout] --> clash-lib/src/common/http/client.rs:25:5 [INFO] [stdout] | [INFO] [stdout] 24 | pub struct HttpClient { [INFO] [stdout] | ---------- field in this struct [INFO] [stdout] 25 | dns_resolver: ThreadSafeDNSResolver, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `HttpClient` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `ReadExactBase` is never used [INFO] [stdout] --> clash-lib/src/common/io/mod.rs:408:11 [INFO] [stdout] | [INFO] [stdout] 408 | pub trait ReadExactBase { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `ReadExt` is never used [INFO] [stdout] --> clash-lib/src/common/io/mod.rs:415:11 [INFO] [stdout] | [INFO] [stdout] 415 | pub trait ReadExt: ReadExactBase { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `DEFAULT_ASN_MMDB_DOWNLOAD_URL` is never used [INFO] [stdout] --> clash-lib/src/common/mmdb.rs:15:12 [INFO] [stdout] | [INFO] [stdout] 15 | pub static DEFAULT_ASN_MMDB_DOWNLOAD_URL: &str = "https://git.io/GeoLite2-ASN.mmdb"; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `reader` is never read [INFO] [stdout] --> clash-lib/src/common/mmdb.rs:18:5 [INFO] [stdout] | [INFO] [stdout] 17 | pub struct Mmdb { [INFO] [stdout] | ---- field in this struct [INFO] [stdout] 18 | reader: maxminddb::Reader>, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `MmdbLookupCountry` is never constructed [INFO] [stdout] --> clash-lib/src/common/mmdb.rs:26:12 [INFO] [stdout] | [INFO] [stdout] 26 | pub struct MmdbLookupCountry { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `MmdbLookupAsn` is never constructed [INFO] [stdout] --> clash-lib/src/common/mmdb.rs:31:12 [INFO] [stdout] | [INFO] [stdout] 31 | pub struct MmdbLookupAsn { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `lookup_country` and `lookup_asn` are never used [INFO] [stdout] --> clash-lib/src/common/mmdb.rs:38:8 [INFO] [stdout] | [INFO] [stdout] 37 | pub trait MmdbLookupTrait { [INFO] [stdout] | --------------- methods in this trait [INFO] [stdout] 38 | fn lookup_country(&self, ip: IpAddr) -> std::io::Result; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 39 | fn lookup_asn(&self, ip: IpAddr) -> std::io::Result; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `RuleProviderDef` is never used [INFO] [stdout] --> clash-lib/src/config/internal/config.rs:162:10 [INFO] [stdout] | [INFO] [stdout] 162 | pub enum RuleProviderDef { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `FileRuleProvider` is never constructed [INFO] [stdout] --> clash-lib/src/config/internal/config.rs:169:12 [INFO] [stdout] | [INFO] [stdout] 169 | pub struct FileRuleProvider { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MAX_ADDR_LEN` is never used [INFO] [stdout] --> clash-lib/src/proxy/socks/socks5.rs:8:7 [INFO] [stdout] | [INFO] [stdout] 8 | const MAX_ADDR_LEN: usize = 1 + 1 + 255 + 2; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MAX_AUTH_LEN` is never used [INFO] [stdout] --> clash-lib/src/proxy/socks/socks5.rs:9:7 [INFO] [stdout] | [INFO] [stdout] 9 | const MAX_AUTH_LEN: usize = 255; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `ERROR_CODE_LOOKUP` is never used [INFO] [stdout] --> clash-lib/src/proxy/socks/socks5.rs:35:7 [INFO] [stdout] | [INFO] [stdout] 35 | const ERROR_CODE_LOOKUP: &[&str] = &[ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `icon` and `url` are never read [INFO] [stdout] --> clash-lib/src/proxy/options.rs:4:9 [INFO] [stdout] | [INFO] [stdout] 2 | pub struct HandlerCommonOptions { [INFO] [stdout] | -------------------- fields in this struct [INFO] [stdout] 3 | pub connector: Option, [INFO] [stdout] 4 | pub icon: Option, [INFO] [stdout] | ^^^^ [INFO] [stdout] 5 | pub url: Option, [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `HandlerCommonOptions` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `udp` is never read [INFO] [stdout] --> clash-lib/src/proxy/trojan/mod.rs:31:9 [INFO] [stdout] | [INFO] [stdout] 25 | pub struct HandlerOptions { [INFO] [stdout] | -------------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 31 | pub udp: bool, [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ip` [INFO] [stdout] --> clash-lib/src/session.rs:116:19 [INFO] [stdout] | [INFO] [stdout] 116 | if let Ok(ip) = value.0.parse::() { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_ip` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `s` [INFO] [stdout] --> clash-lib/src/lib.rs:90:25 [INFO] [stdout] | [INFO] [stdout] 90 | Config::Str(s) => { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_s` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `reload_rx` [INFO] [stdout] --> clash-lib/src/lib.rs:217:21 [INFO] [stdout] | [INFO] [stdout] 217 | let (reload_tx, mut reload_rx) = mpsc::channel(1); [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_reload_rx` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `log_level`, `tunnel_listener_handle`, `dns_listener_handle`, `reload_tx`, and `cwd` are never read [INFO] [stdout] --> clash-lib/src/lib.rs:98:5 [INFO] [stdout] | [INFO] [stdout] 97 | pub struct GlobalState { [INFO] [stdout] | ----------- fields in this struct [INFO] [stdout] 98 | log_level: LogLevel, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 99 | #[cfg(feature = "tun")] [INFO] [stdout] 100 | tunnel_listener_handle: Option>>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 101 | api_listener_handle: Option>>, [INFO] [stdout] 102 | dns_listener_handle: Option>>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 103 | reload_tx: mpsc::Sender<(Config, oneshot::Sender<()>)>, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 104 | cwd: String, [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 `cache_store`, `dns_resolver`, and `dispatcher` are never read [INFO] [stdout] --> clash-lib/src/lib.rs:278:5 [INFO] [stdout] | [INFO] [stdout] 273 | struct RuntimeComponents { [INFO] [stdout] | ----------------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 278 | cache_store: profile::ThreadSafeCacheFile, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 279 | dns_resolver: ThreadSafeDNSResolver, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 280 | outbound_manager: Arc, [INFO] [stdout] 281 | dispatcher: Arc, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `log_source_tx` and `statistics_manager` are never read [INFO] [stdout] --> clash-lib/src/app/api/mod.rs:15:5 [INFO] [stdout] | [INFO] [stdout] 14 | pub struct AppState { [INFO] [stdout] | -------- fields in this struct [INFO] [stdout] 15 | log_source_tx: Sender, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 16 | statistics_manager: Arc, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `get_outbound`, `tcp_buffer_size`, `resolver`, and `statistics_manager` are never used [INFO] [stdout] --> clash-lib/src/app/dispatcher/dispatcher_impl.rs:59:12 [INFO] [stdout] | [INFO] [stdout] 40 | impl Dispatcher { [INFO] [stdout] | --------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 59 | pub fn get_outbound(&self, name: &str) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 63 | pub fn tcp_buffer_size(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 67 | pub fn resolver(&self) -> ThreadSafeDNSResolver { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 71 | pub fn statistics_manager(&self) -> Arc { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `1` is never read [INFO] [stdout] --> clash-lib/src/app/dispatcher/tracked.rs:24:32 [INFO] [stdout] | [INFO] [stdout] 24 | pub struct Tracked(uuid::Uuid, Arc); [INFO] [stdout] | ------- ^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this struct [INFO] [stdout] | [INFO] [stdout] = help: consider removing this field [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `tracker_info` is never used [INFO] [stdout] --> clash-lib/src/app/dispatcher/tracked.rs:31:12 [INFO] [stdout] | [INFO] [stdout] 26 | impl Tracked { [INFO] [stdout] | ------------ method in this implementation [INFO] [stdout] ... [INFO] [stdout] 31 | pub fn tracker_info(&self) -> Arc { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `ResolverKind` is never used [INFO] [stdout] --> clash-lib/src/app/dns/mod.rs:22:10 [INFO] [stdout] | [INFO] [stdout] 22 | pub enum ResolverKind { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `exchange` is never used [INFO] [stdout] --> clash-lib/src/app/dns/mod.rs:35:14 [INFO] [stdout] | [INFO] [stdout] 33 | pub trait ClashResolver: Sync + Send { [INFO] [stdout] | ------------- method in this trait [INFO] [stdout] 34 | /// Used for DNS Server [INFO] [stdout] 35 | async fn exchange(&self, message: &op::Message) -> anyhow::Result; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `DEFAULT_DNS_SERVER_TTL` is never used [INFO] [stdout] --> clash-lib/src/app/dns/server/mod.rs:11:8 [INFO] [stdout] | [INFO] [stdout] 11 | static DEFAULT_DNS_SERVER_TTL: u32 = 60; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `exchange_with_resolver` is never used [INFO] [stdout] --> clash-lib/src/app/dns/server/handler.rs:6:14 [INFO] [stdout] | [INFO] [stdout] 6 | pub async fn exchange_with_resolver( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Ports` is never constructed [INFO] [stdout] --> clash-lib/src/app/inbound/manager.rs:18:12 [INFO] [stdout] | [INFO] [stdout] 18 | pub struct Ports { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> clash-lib/src/app/inbound/manager.rs:85:18 [INFO] [stdout] | [INFO] [stdout] 38 | impl InboundManager { [INFO] [stdout] | ------------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 85 | pub async fn shutdown(&self) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 94 | pub async fn restart(&self) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 99 | pub async fn get_ports(&self) -> Ports { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 110 | pub async fn get_allow_lan(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 119 | pub async fn set_allow_lan(&self, allow_lan: bool) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 131 | pub async fn set_bind_address(&self, bind_address: BindAddress) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 143 | pub async fn change_ports(&self, ports: Ports) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `proxy_manager` is never read [INFO] [stdout] --> clash-lib/src/app/outbound/manager.rs:25:5 [INFO] [stdout] | [INFO] [stdout] 23 | pub struct OutboundManager { [INFO] [stdout] | --------------- field in this struct [INFO] [stdout] 24 | handlers: HashMap, [INFO] [stdout] 25 | proxy_manager: ProxyManager, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `proxy_names` is never used [INFO] [stdout] --> clash-lib/src/app/outbound/manager.rs:94:12 [INFO] [stdout] | [INFO] [stdout] 48 | impl OutboundManager { [INFO] [stdout] | -------------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 94 | pub fn proxy_names(&self) -> &[String] { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> clash-lib/src/app/profile/mod.rs:21:32 [INFO] [stdout] | [INFO] [stdout] 21 | pub struct ThreadSafeCacheFile(Arc>); [INFO] [stdout] | ------------------- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this struct [INFO] [stdout] | [INFO] [stdout] = help: consider removing this field [INFO] [stdout] = note: `ThreadSafeCacheFile` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `store_selected` is never read [INFO] [stdout] --> clash-lib/src/app/profile/mod.rs:69:5 [INFO] [stdout] | [INFO] [stdout] 66 | struct CacheFile { [INFO] [stdout] | --------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 69 | store_selected: bool, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `proxy_state` and `dns_resolver` are never read [INFO] [stdout] --> clash-lib/src/app/remote_content_manager/mod.rs:17:5 [INFO] [stdout] | [INFO] [stdout] 16 | pub struct ProxyManager { [INFO] [stdout] | ------------ fields in this struct [INFO] [stdout] 17 | proxy_state: Arc>>, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 18 | dns_resolver: ThreadSafeDNSResolver, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ProxyManager` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `alive` and `delay_history` are never read [INFO] [stdout] --> clash-lib/src/app/remote_content_manager/mod.rs:35:5 [INFO] [stdout] | [INFO] [stdout] 34 | struct ProxyState { [INFO] [stdout] | ---------- fields in this struct [INFO] [stdout] 35 | alive: AtomicBool, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 36 | delay_history: VecDeque, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `dns_resolver` is never read [INFO] [stdout] --> clash-lib/src/app/router/mod.rs:22:5 [INFO] [stdout] | [INFO] [stdout] 20 | pub struct Router { [INFO] [stdout] | ------ field in this struct [INFO] [stdout] 21 | rules: Vec>, [INFO] [stdout] 22 | dns_resolver: ThreadSafeDNSResolver, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `IntoIoResultExt` is never used [INFO] [stdout] --> clash-lib/src/common/errors.rs:25:11 [INFO] [stdout] | [INFO] [stdout] 25 | pub trait IntoIoResultExt { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `dns_resolver` is never read [INFO] [stdout] --> clash-lib/src/common/http/client.rs:25:5 [INFO] [stdout] | [INFO] [stdout] 24 | pub struct HttpClient { [INFO] [stdout] | ---------- field in this struct [INFO] [stdout] 25 | dns_resolver: ThreadSafeDNSResolver, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `HttpClient` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `ReadExactBase` is never used [INFO] [stdout] --> clash-lib/src/common/io/mod.rs:408:11 [INFO] [stdout] | [INFO] [stdout] 408 | pub trait ReadExactBase { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `ReadExt` is never used [INFO] [stdout] --> clash-lib/src/common/io/mod.rs:415:11 [INFO] [stdout] | [INFO] [stdout] 415 | pub trait ReadExt: ReadExactBase { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `DEFAULT_ASN_MMDB_DOWNLOAD_URL` is never used [INFO] [stdout] --> clash-lib/src/common/mmdb.rs:15:12 [INFO] [stdout] | [INFO] [stdout] 15 | pub static DEFAULT_ASN_MMDB_DOWNLOAD_URL: &str = "https://git.io/GeoLite2-ASN.mmdb"; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `reader` is never read [INFO] [stdout] --> clash-lib/src/common/mmdb.rs:18:5 [INFO] [stdout] | [INFO] [stdout] 17 | pub struct Mmdb { [INFO] [stdout] | ---- field in this struct [INFO] [stdout] 18 | reader: maxminddb::Reader>, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `MmdbLookupCountry` is never constructed [INFO] [stdout] --> clash-lib/src/common/mmdb.rs:26:12 [INFO] [stdout] | [INFO] [stdout] 26 | pub struct MmdbLookupCountry { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `MmdbLookupAsn` is never constructed [INFO] [stdout] --> clash-lib/src/common/mmdb.rs:31:12 [INFO] [stdout] | [INFO] [stdout] 31 | pub struct MmdbLookupAsn { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `lookup_country` and `lookup_asn` are never used [INFO] [stdout] --> clash-lib/src/common/mmdb.rs:38:8 [INFO] [stdout] | [INFO] [stdout] 37 | pub trait MmdbLookupTrait { [INFO] [stdout] | --------------- methods in this trait [INFO] [stdout] 38 | fn lookup_country(&self, ip: IpAddr) -> std::io::Result; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 39 | fn lookup_asn(&self, ip: IpAddr) -> std::io::Result; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `RuleProviderDef` is never used [INFO] [stdout] --> clash-lib/src/config/internal/config.rs:162:10 [INFO] [stdout] | [INFO] [stdout] 162 | pub enum RuleProviderDef { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `FileRuleProvider` is never constructed [INFO] [stdout] --> clash-lib/src/config/internal/config.rs:169:12 [INFO] [stdout] | [INFO] [stdout] 169 | pub struct FileRuleProvider { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MAX_ADDR_LEN` is never used [INFO] [stdout] --> clash-lib/src/proxy/socks/socks5.rs:8:7 [INFO] [stdout] | [INFO] [stdout] 8 | const MAX_ADDR_LEN: usize = 1 + 1 + 255 + 2; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MAX_AUTH_LEN` is never used [INFO] [stdout] --> clash-lib/src/proxy/socks/socks5.rs:9:7 [INFO] [stdout] | [INFO] [stdout] 9 | const MAX_AUTH_LEN: usize = 255; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `ERROR_CODE_LOOKUP` is never used [INFO] [stdout] --> clash-lib/src/proxy/socks/socks5.rs:35:7 [INFO] [stdout] | [INFO] [stdout] 35 | const ERROR_CODE_LOOKUP: &[&str] = &[ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `icon` and `url` are never read [INFO] [stdout] --> clash-lib/src/proxy/options.rs:4:9 [INFO] [stdout] | [INFO] [stdout] 2 | pub struct HandlerCommonOptions { [INFO] [stdout] | -------------------- fields in this struct [INFO] [stdout] 3 | pub connector: Option, [INFO] [stdout] 4 | pub icon: Option, [INFO] [stdout] | ^^^^ [INFO] [stdout] 5 | pub url: Option, [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `HandlerCommonOptions` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `udp` is never read [INFO] [stdout] --> clash-lib/src/proxy/trojan/mod.rs:31:9 [INFO] [stdout] | [INFO] [stdout] 25 | pub struct HandlerOptions { [INFO] [stdout] | -------------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 31 | pub udp: bool, [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 34.39s [INFO] running `Command { std: "docker" "inspect" "cd136756f2a4578ee51f3d8d8802ebc074c3b5bd54775c1299dee4f2d7b2e9ec", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "cd136756f2a4578ee51f3d8d8802ebc074c3b5bd54775c1299dee4f2d7b2e9ec", kill_on_drop: false }` [INFO] [stdout] cd136756f2a4578ee51f3d8d8802ebc074c3b5bd54775c1299dee4f2d7b2e9ec