[INFO] cloning repository https://github.com/LunaticLegacy/lux
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/LunaticLegacy/lux" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FLunaticLegacy%2Flux", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FLunaticLegacy%2Flux'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 901b0f1af527c001a0d6f6f2a3b0a555a1c943c8
[INFO] testing LunaticLegacy/lux against try#33835004928d3bf65db4d4712e1330766263b0bd for pr-155739
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FLunaticLegacy%2Flux" "/workspace/builds/worker-7-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/LunaticLegacy/lux
[INFO] finished tweaking git repo https://github.com/LunaticLegacy/lux
[INFO] tweaked toml for git repo https://github.com/LunaticLegacy/lux written to /workspace/builds/worker-7-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/LunaticLegacy/lux on toolchain 33835004928d3bf65db4d4712e1330766263b0bd
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+33835004928d3bf65db4d4712e1330766263b0bd" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/LunaticLegacy/lux 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" "+33835004928d3bf65db4d4712e1330766263b0bd" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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" "+33835004928d3bf65db4d4712e1330766263b0bd" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 1bae7528e5502775163deb0b89951a740dfb44fb60d7152867d33ad99401509f
[INFO] running `Command { std: "docker" "start" "-a" "1bae7528e5502775163deb0b89951a740dfb44fb60d7152867d33ad99401509f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "1bae7528e5502775163deb0b89951a740dfb44fb60d7152867d33ad99401509f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "1bae7528e5502775163deb0b89951a740dfb44fb60d7152867d33ad99401509f", kill_on_drop: false }`
[INFO] [stdout] 1bae7528e5502775163deb0b89951a740dfb44fb60d7152867d33ad99401509f
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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" "+33835004928d3bf65db4d4712e1330766263b0bd" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 49e5fe1170ab128727df1bbc65bf58638bc968c1d2d7e02b209f67d9417b168f
[INFO] running `Command { std: "docker" "start" "-a" "49e5fe1170ab128727df1bbc65bf58638bc968c1d2d7e02b209f67d9417b168f", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.106
[INFO] [stderr]    Compiling libc v0.2.183
[INFO] [stderr]    Compiling unicode-ident v1.0.24
[INFO] [stderr]    Compiling quote v1.0.45
[INFO] [stderr]    Compiling cfg-if v1.0.4
[INFO] [stderr]    Compiling version_check v0.9.5
[INFO] [stderr]    Compiling typenum v1.19.0
[INFO] [stderr]    Compiling log v0.4.29
[INFO] [stderr]    Compiling smallvec v1.15.1
[INFO] [stderr]    Compiling pin-project-lite v0.2.17
[INFO] [stderr]    Compiling bytes v1.11.1
[INFO] [stderr]    Compiling itoa v1.0.18
[INFO] [stderr]    Compiling find-msvc-tools v0.1.9
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[INFO] [stderr]    Compiling shlex v1.3.0
[INFO] [stderr]    Compiling once_cell v1.21.4
[INFO] [stderr]    Compiling scopeguard v1.2.0
[INFO] [stderr]    Compiling futures-core v0.3.32
[INFO] [stderr]    Compiling stable_deref_trait v1.2.1
[INFO] [stderr]    Compiling lock_api v0.4.14
[INFO] [stderr]    Compiling subtle v2.6.1
[INFO] [stderr]    Compiling futures-sink v0.3.32
[INFO] [stderr]    Compiling zeroize v1.8.2
[INFO] [stderr]    Compiling futures-channel v0.3.32
[INFO] [stderr]    Compiling tracing-core v0.1.36
[INFO] [stderr]    Compiling cc v1.2.58
[INFO] [stderr]    Compiling memchr v2.8.0
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling futures-io v0.3.32
[INFO] [stderr]    Compiling pkg-config v0.3.32
[INFO] [stderr]    Compiling vcpkg v0.2.15
[INFO] [stderr]    Compiling slab v0.4.12
[INFO] [stderr]    Compiling futures-task v0.3.32
[INFO] [stderr]    Compiling bitflags v2.11.0
[INFO] [stderr]    Compiling cpufeatures v0.2.17
[INFO] [stderr]    Compiling equivalent v1.0.2
[INFO] [stderr]    Compiling generic-array v0.14.7
[INFO] [stderr]    Compiling tower-service v0.3.3
[INFO] [stderr]    Compiling litemap v0.8.1
[INFO] [stderr]    Compiling httparse v1.10.1
[INFO] [stderr]    Compiling writeable v0.6.2
[INFO] [stderr]    Compiling http v1.4.0
[INFO] [stderr]    Compiling icu_normalizer_data v2.1.1
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling icu_properties_data v2.1.2
[INFO] [stderr]    Compiling rustversion v1.0.22
[INFO] [stderr]    Compiling hashbrown v0.16.1
[INFO] [stderr]    Compiling httpdate v1.0.3
[INFO] [stderr]    Compiling foreign-types-shared v0.1.1
[INFO] [stderr]    Compiling fnv v1.0.7
[INFO] [stderr]    Compiling openssl v0.10.76
[INFO] [stderr]    Compiling foreign-types v0.3.2
[INFO] [stderr]    Compiling http v0.2.12
[INFO] [stderr]    Compiling rustls-pki-types v1.14.0
[INFO] [stderr]    Compiling zerocopy v0.8.48
[INFO] [stderr]    Compiling zmij v1.0.21
[INFO] [stderr]    Compiling tower-layer v0.3.3
[INFO] [stderr]    Compiling signal-hook v0.3.18
[INFO] [stderr]    Compiling percent-encoding v2.3.2
[INFO] [stderr]    Compiling opaque-debug v0.3.1
[INFO] [stderr]    Compiling native-tls v0.2.18
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]    Compiling form_urlencoded v1.2.2
[INFO] [stderr]    Compiling utf8parse v0.2.2
[INFO] [stderr]    Compiling ryu v1.0.23
[INFO] [stderr]    Compiling http-body v1.0.1
[INFO] [stderr]    Compiling indexmap v2.13.0
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling openssl-probe v0.2.1
[INFO] [stderr]    Compiling try-lock v0.2.5
[INFO] [stderr]    Compiling untrusted v0.9.0
[INFO] [stderr]    Compiling http-body-util v0.1.3
[INFO] [stderr]    Compiling want v0.3.1
[INFO] [stderr]    Compiling anstyle-parse v1.0.0
[INFO] [stderr]    Compiling inout v0.1.4
[INFO] [stderr]    Compiling block-buffer v0.10.4
[INFO] [stderr]    Compiling is_terminal_polyfill v1.70.2
[INFO] [stderr]    Compiling utf8_iter v1.0.4
[INFO] [stderr]    Compiling foldhash v0.1.5
[INFO] [stderr]    Compiling mime v0.3.17
[INFO] [stderr]    Compiling colorchoice v1.0.5
[INFO] [stderr]    Compiling rustls v0.22.4
[INFO] [stderr]    Compiling pin-utils v0.1.0
[INFO] [stderr]    Compiling sync_wrapper v1.0.2
[INFO] [stderr]    Compiling getrandom v0.4.2
[INFO] [stderr]    Compiling crossbeam-utils v0.8.21
[INFO] [stderr]    Compiling byteorder v1.5.0
[INFO] [stderr]    Compiling heck v0.4.1
[INFO] [stderr]    Compiling openssl-sys v0.9.112
[INFO] [stderr]    Compiling ring v0.17.14
[INFO] [stderr]    Compiling paste v1.0.15
[INFO] [stderr]    Compiling anstyle v1.0.14
[INFO] [stderr]    Compiling anstyle-query v1.1.5
[INFO] [stderr]    Compiling http-body v0.4.6
[INFO] [stderr]    Compiling thiserror v1.0.69
[INFO] [stderr]    Compiling atomic-waker v1.1.2
[INFO] [stderr]    Compiling regex-syntax v0.8.10
[INFO] [stderr]    Compiling heapless v0.8.0
[INFO] [stderr]    Compiling allocator-api2 v0.2.21
[INFO] [stderr]    Compiling anstream v1.0.0
[INFO] [stderr]    Compiling hash32 v0.3.1
[INFO] [stderr]    Compiling smoltcp v0.11.0
[INFO] [stderr]    Compiling base64 v0.21.7
[INFO] [stderr]    Compiling anyhow v1.0.102
[INFO] [stderr]    Compiling strsim v0.11.1
[INFO] [stderr]    Compiling either v1.15.0
[INFO] [stderr]    Compiling hashbrown v0.15.5
[INFO] [stderr]    Compiling lazy_static v1.5.0
[INFO] [stderr]    Compiling option-ext v0.2.0
[INFO] [stderr]    Compiling heck v0.5.0
[INFO] [stderr]    Compiling clap_lex v1.1.0
[INFO] [stderr]    Compiling sharded-slab v0.1.7
[INFO] [stderr]    Compiling rustls-pemfile v1.0.4
[INFO] [stderr]    Compiling getrandom v0.2.17
[INFO] [stderr]    Compiling errno v0.3.14
[INFO] [stderr]    Compiling mio v1.2.0
[INFO] [stderr]    Compiling socket2 v0.6.3
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]    Compiling signal-hook-registry v1.4.8
[INFO] [stderr]    Compiling parking_lot v0.12.5
[INFO] [stderr]    Compiling crypto-common v0.1.7
[INFO] [stderr]    Compiling mio v0.8.11
[INFO] [stderr]    Compiling cipher v0.4.4
[INFO] [stderr]    Compiling digest v0.10.7
[INFO] [stderr]    Compiling universal-hash v0.5.1
[INFO] [stderr]    Compiling socket2 v0.5.10
[INFO] [stderr]    Compiling polyval v0.6.2
[INFO] [stderr]    Compiling regex-automata v0.4.14
[INFO] [stderr]    Compiling aead v0.5.2
[INFO] [stderr]    Compiling chacha20 v0.9.1
[INFO] [stderr]    Compiling aes v0.8.4
[INFO] [stderr]    Compiling hmac v0.12.1
[INFO] [stderr]    Compiling ctr v0.9.2
[INFO] [stderr]    Compiling poly1305 v0.8.0
[INFO] [stderr]    Compiling lru v0.12.5
[INFO] [stderr]    Compiling signal-hook-mio v0.2.5
[INFO] [stderr]    Compiling ghash v0.5.1
[INFO] [stderr]    Compiling crossterm v0.27.0
[INFO] [stderr]    Compiling itertools v0.11.0
[INFO] [stderr]    Compiling clap_builder v4.6.0
[INFO] [stderr]    Compiling dirs-sys v0.4.1
[INFO] [stderr]    Compiling rustls-pemfile v2.2.0
[INFO] [stderr]    Compiling tracing-log v0.2.0
[INFO] [stderr]    Compiling thread_local v1.1.9
[INFO] [stderr]    Compiling encoding_rs v0.8.35
[INFO] [stderr]    Compiling openssl-probe v0.1.6
[INFO] [stderr]    Compiling serde_path_to_error v0.1.20
[INFO] [stderr]    Compiling ipnet v2.12.0
[INFO] [stderr]    Compiling indoc v2.0.7
[INFO] [stderr]    Compiling ioctl-sys v0.8.0
[INFO] [stderr]    Compiling bitflags v1.3.2
[INFO] [stderr]    Compiling managed v0.8.0
[INFO] [stderr]    Compiling unicode-width v0.1.14
[INFO] [stderr]    Compiling cassowary v0.3.0
[INFO] [stderr]    Compiling matchit v0.7.3
[INFO] [stderr]    Compiling unsafe-libyaml v0.2.11
[INFO] [stderr]    Compiling sync_wrapper v0.1.2
[INFO] [stderr]    Compiling nu-ansi-term v0.50.3
[INFO] [stderr]    Compiling unicode-segmentation v1.13.2
[INFO] [stderr]    Compiling hashbrown v0.14.5
[INFO] [stderr]    Compiling rustls-native-certs v0.7.3
[INFO] [stderr]    Compiling uuid v1.23.0
[INFO] [stderr]    Compiling dirs v5.0.1
[INFO] [stderr]    Compiling chacha20poly1305 v0.10.1
[INFO] [stderr]    Compiling aes-gcm v0.10.3
[INFO] [stderr]    Compiling hkdf v0.12.4
[INFO] [stderr]    Compiling sha2 v0.10.9
[INFO] [stderr]    Compiling sha-1 v0.10.1
[INFO] [stderr]    Compiling md-5 v0.10.6
[INFO] [stderr]    Compiling cfb-mode v0.8.2
[INFO] [stderr]    Compiling matchers v0.2.0
[INFO] [stderr]    Compiling dashmap v6.1.0
[INFO] [stderr]    Compiling nix v0.27.1
[INFO] [stderr]    Compiling hex v0.4.3
[INFO] [stderr]    Compiling base64 v0.22.1
[INFO] [stderr]    Compiling rustls-webpki v0.102.8
[INFO] [stderr]    Compiling ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]    Compiling rand v0.8.5
[INFO] [stderr]    Compiling zerofrom-derive v0.1.6
[INFO] [stderr]    Compiling yoke-derive v0.8.1
[INFO] [stderr]    Compiling tokio-macros v2.6.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 futures-macro v0.3.32
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling openssl-macros v0.1.1
[INFO] [stderr]    Compiling strum_macros v0.25.3
[INFO] [stderr]    Compiling async-trait v0.1.89
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling clap_derive v4.6.0
[INFO] [stderr]    Compiling tokio v1.50.0
[INFO] [stderr]    Compiling tun v0.6.1
[INFO] [stderr]    Compiling futures-util v0.3.32
[INFO] [stderr]    Compiling zerofrom v0.1.6
[INFO] [stderr]    Compiling yoke v0.8.1
[INFO] [stderr]    Compiling tracing v0.1.44
[INFO] [stderr]    Compiling strum v0.25.0
[INFO] [stderr]    Compiling ratatui v0.24.0
[INFO] [stderr]    Compiling tower v0.4.13
[INFO] [stderr]    Compiling tower-http v0.5.2
[INFO] [stderr]    Compiling zerovec v0.11.5
[INFO] [stderr]    Compiling zerotrie v0.2.3
[INFO] [stderr]    Compiling tracing-subscriber v0.3.23
[INFO] [stderr]    Compiling clap v4.6.0
[INFO] [stderr]    Compiling tinystr v0.8.2
[INFO] [stderr]    Compiling potential_utf v0.1.4
[INFO] [stderr]    Compiling icu_locale_core v2.1.1
[INFO] [stderr]    Compiling icu_collections v2.1.1
[INFO] [stderr]    Compiling serde_urlencoded v0.7.1
[INFO] [stderr]    Compiling serde_yaml v0.9.34+deprecated
[INFO] [stderr]    Compiling futures-executor v0.3.32
[INFO] [stderr]    Compiling axum-core v0.4.5
[INFO] [stderr]    Compiling ipnetwork v0.20.0
[INFO] [stderr]    Compiling icu_provider v2.1.1
[INFO] [stderr]    Compiling futures v0.3.32
[INFO] [stderr]    Compiling icu_normalizer v2.1.1
[INFO] [stderr]    Compiling icu_properties v2.1.2
[INFO] [stderr]    Compiling idna_adapter v1.2.1
[INFO] [stderr]    Compiling idna v1.1.0
[INFO] [stderr]    Compiling url v2.5.8
[INFO] [stderr]    Compiling tokio-util v0.7.18
[INFO] [stderr]    Compiling tokio-native-tls v0.3.1
[INFO] [stderr]    Compiling hyper v1.8.1
[INFO] [stderr]    Compiling tower v0.5.3
[INFO] [stderr]    Compiling tokio-rustls v0.25.0
[INFO] [stderr]    Compiling h2 v0.3.27
[INFO] [stderr]    Compiling hyper-util v0.1.20
[INFO] [stderr]    Compiling axum v0.7.9
[INFO] [stderr]    Compiling hyper v0.14.32
[INFO] [stderr]    Compiling hyper-tls v0.5.0
[INFO] [stderr]    Compiling reqwest v0.11.27
[INFO] [stderr]    Compiling lux v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `tokio::net::TcpStream`
[INFO] [stdout]  --> src/core/engine.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use tokio::net::TcpStream;
[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: `debug`
[INFO] [stdout]  --> src/core/inbound/mixed.rs:3:15
[INFO] [stdout]   |
[INFO] [stdout] 3 | use tracing::{debug, error, info, warn};
[INFO] [stdout]   |               ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `AsyncWriteExt`
[INFO] [stdout]  --> src/core/inbound/http.rs:3:31
[INFO] [stdout]   |
[INFO] [stdout] 3 | use tokio::io::{AsyncReadExt, AsyncWriteExt};
[INFO] [stdout]   |                               ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::net::TcpListener`
[INFO] [stdout]   --> src/core/inbound/mod.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use tokio::net::TcpListener;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `debug`
[INFO] [stdout]  --> src/core/outbound/direct.rs:3:15
[INFO] [stdout]   |
[INFO] [stdout] 3 | use tracing::{debug, info, instrument};
[INFO] [stdout]   |               ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::net::TcpStream`
[INFO] [stdout]  --> src/core/outbound/reject.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use tokio::net::TcpStream;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `debug`
[INFO] [stdout]  --> src/core/outbound/reject.rs:3:15
[INFO] [stdout]   |
[INFO] [stdout] 3 | use tracing::{debug, instrument, warn};
[INFO] [stdout]   |               ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::net::IpAddr`
[INFO] [stdout]  --> src/core/outbound/shadowsocks.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::net::IpAddr;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `error` and `trace`
[INFO] [stdout]   --> src/core/outbound/shadowsocks.rs:10:22
[INFO] [stdout]    |
[INFO] [stdout] 10 | use tracing::{debug, error, instrument, trace};
[INFO] [stdout]    |                      ^^^^^              ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `AsyncReadExt`
[INFO] [stdout]  --> src/core/outbound/trojan.rs:7:17
[INFO] [stdout]   |
[INFO] [stdout] 7 | use tokio::io::{AsyncReadExt, AsyncWriteExt};
[INFO] [stdout]   |                 ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `client::TlsStream`
[INFO] [stdout]  --> src/core/outbound/trojan.rs:9:34
[INFO] [stdout]   |
[INFO] [stdout] 9 | use tokio_rustls::{TlsConnector, client::TlsStream};
[INFO] [stdout]   |                                  ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `error`
[INFO] [stdout]   --> src/core/outbound/trojan.rs:15:22
[INFO] [stdout]    |
[INFO] [stdout] 15 | use tracing::{debug, error, instrument, trace};
[INFO] [stdout]    |                      ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `AsyncReadExt`
[INFO] [stdout]   --> src/core/outbound/vmess.rs:10:17
[INFO] [stdout]    |
[INFO] [stdout] 10 | use tokio::io::{AsyncReadExt, AsyncWriteExt};
[INFO] [stdout]    |                 ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `error`
[INFO] [stdout]   --> src/core/outbound/vmess.rs:12:22
[INFO] [stdout]    |
[INFO] [stdout] 12 | use tracing::{debug, error, instrument, trace};
[INFO] [stdout]    |                      ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `StreamCipher`
[INFO] [stdout]   --> src/core/outbound/vmess.rs:17:25
[INFO] [stdout]    |
[INFO] [stdout] 17 | use cipher::{KeyIvInit, StreamCipher};
[INFO] [stdout]    |                         ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `error`
[INFO] [stdout]  --> src/core/outbound/http.rs:7:22
[INFO] [stdout]   |
[INFO] [stdout] 7 | use tracing::{debug, error, instrument, trace};
[INFO] [stdout]   |                      ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `error`
[INFO] [stdout]  --> src/core/outbound/socks5.rs:6:22
[INFO] [stdout]   |
[INFO] [stdout] 6 | use tracing::{debug, error, instrument, trace};
[INFO] [stdout]   |                      ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `OutboundManager` and `OutboundType`
[INFO] [stdout]    --> src/core/outbound/proxy_group.rs:108:23
[INFO] [stdout]     |
[INFO] [stdout] 108 | use super::{Outbound, OutboundType, OutboundManager};
[INFO] [stdout]     |                       ^^^^^^^^^^^^  ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `context::ProxyContext` and `error::CoreResult`
[INFO] [stdout]    --> src/core/outbound/proxy_group.rs:109:24
[INFO] [stdout]     |
[INFO] [stdout] 109 | use crate::src::core::{context::ProxyContext, error::CoreResult};
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::net::TcpStream`
[INFO] [stdout]   --> src/core/outbound/mod.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use tokio::net::TcpStream;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::pin::Pin`
[INFO] [stdout]   --> src/core/outbound/mod.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | use std::pin::Pin;
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Context` and `Poll`
[INFO] [stdout]   --> src/core/outbound/mod.rs:17:17
[INFO] [stdout]    |
[INFO] [stdout] 17 | use std::task::{Context, Poll};
[INFO] [stdout]    |                 ^^^^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Ipv4Addr` and `Ipv6Addr`
[INFO] [stdout]  --> src/core/rule/geoip.rs:6:24
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::net::{IpAddr, Ipv4Addr, Ipv6Addr};
[INFO] [stdout]   |                        ^^^^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `error` and `warn`
[INFO] [stdout]   --> src/core/rule/geoip.rs:10:22
[INFO] [stdout]    |
[INFO] [stdout] 10 | use tracing::{debug, error, info, warn};
[INFO] [stdout]    |                      ^^^^^        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AsyncRead` and `AsyncWrite`
[INFO] [stdout]  --> src/core/relay/mod.rs:1:17
[INFO] [stdout]   |
[INFO] [stdout] 1 | use tokio::io::{AsyncRead, AsyncWrite, AsyncReadExt, AsyncWriteExt};
[INFO] [stdout]   |                 ^^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `timeout`
[INFO] [stdout]  --> src/core/relay/mod.rs:3:19
[INFO] [stdout]   |
[INFO] [stdout] 3 | use tokio::time::{timeout, Duration};
[INFO] [stdout]   |                   ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `warn`
[INFO] [stdout]  --> src/core/relay/mod.rs:4:35
[INFO] [stdout]   |
[INFO] [stdout] 4 | use tracing::{debug, error, info, warn};
[INFO] [stdout]   |                                   ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `context::ProxyContext`
[INFO] [stdout]  --> src/core/relay/mod.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 |     context::ProxyContext,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]  --> src/core/context.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::sync::Arc;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/core/api/mod.rs:701:1
[INFO] [stdout]     |
[INFO] [stdout] 701 | /// 全局日志存储（线程安全）
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stdout]     |
[INFO] [stdout]     = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout]     = note: `#[warn(unused_doc_comments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Engine` and `get_global_engine`
[INFO] [stdout]  --> src/core/tui/app.rs:6:32
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::src::core::engine::{Engine, get_global_engine};
[INFO] [stdout]   |                                ^^^^^^  ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ListItem` and `List`
[INFO] [stdout]   --> src/core/tui/mod.rs:22:38
[INFO] [stdout]    |
[INFO] [stdout] 22 |     widgets::{Block, Borders, Clear, List, ListItem, Paragraph, Row, Scrollbar, ScrollbarOrientation, ScrollbarState, Table, Tabs, W...
[INFO] [stdout]    |                                      ^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `warn`
[INFO] [stdout]   --> src/core/tui/mod.rs:28:28
[INFO] [stdout]    |
[INFO] [stdout] 28 | use tracing::{info, error, warn};
[INFO] [stdout]    |                            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `OsRng`
[INFO] [stdout]  --> src/core/crypto/aead.rs:6:27
[INFO] [stdout]   |
[INFO] [stdout] 6 |     aead::{Aead, KeyInit, OsRng},
[INFO] [stdout]   |                           ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/core/tun/mod.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `IpAddr`
[INFO] [stdout]  --> src/core/tun/mod.rs:6:16
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::net::{IpAddr, Ipv4Addr, SocketAddr};
[INFO] [stdout]   |                ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::net::TcpStream`
[INFO] [stdout]   --> src/core/tun/mod.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use tokio::net::TcpStream;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `error`, `trace`, and `warn`
[INFO] [stdout]   --> src/core/tun/mod.rs:17:22
[INFO] [stdout]    |
[INFO] [stdout] 17 | use tracing::{debug, error, info, trace, warn};
[INFO] [stdout]    |                      ^^^^^        ^^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `FromRawFd` and `RawFd`
[INFO] [stdout]  --> src/core/tun/device.rs:5:34
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::os::unix::io::{AsRawFd, FromRawFd, RawFd};
[INFO] [stdout]   |                                  ^^^^^^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ReadHalf` and `WriteHalf`
[INFO] [stdout]   --> src/core/tun/tcp_stack.rs:10:46
[INFO] [stdout]    |
[INFO] [stdout] 10 | use tokio::io::{AsyncReadExt, AsyncWriteExt, ReadHalf, WriteHalf};
[INFO] [stdout]    |                                              ^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::net::TcpStream`
[INFO] [stdout]   --> src/core/tun/tcp_stack.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use tokio::net::TcpStream;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AsyncReadExt` and `AsyncWriteExt`
[INFO] [stdout]   --> src/core/tun/udp_stack.rs:10:17
[INFO] [stdout]    |
[INFO] [stdout] 10 | use tokio::io::{AsyncReadExt, AsyncWriteExt};
[INFO] [stdout]    |                 ^^^^^^^^^^^^  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::time::timeout`
[INFO] [stdout]   --> src/core/tun/udp_stack.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use tokio::time::timeout;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `error`
[INFO] [stdout]   --> src/core/tun/udp_stack.rs:14:22
[INFO] [stdout]    |
[INFO] [stdout] 14 | use tracing::{debug, error, info, trace, warn};
[INFO] [stdout]    |                      ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `context::ProxyContext`, `engine::get_global_engine`, and `inbound::InboundRequest`
[INFO] [stdout]   --> src/core/tun/udp_stack.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 26 |     context::ProxyContext,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 27 |     error::CoreResult,
[INFO] [stdout] 28 |     engine::get_global_engine,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 29 |     inbound::InboundRequest,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `IpProtocol`
[INFO] [stdout]   --> src/core/tun/smoltcp_stack.rs:14:54
[INFO] [stdout]    |
[INFO] [stdout] 14 |     HardwareAddress, IpAddress, IpCidr, Ipv4Address, IpProtocol,
[INFO] [stdout]    |                                                      ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `warn`
[INFO] [stdout]   --> src/core/tun/smoltcp_stack.rs:19:35
[INFO] [stdout]    |
[INFO] [stdout] 19 | use tracing::{debug, info, trace, warn};
[INFO] [stdout]    |                                   ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `context::ProxyContext`, `engine::get_global_engine`, and `inbound::InboundRequest`
[INFO] [stdout]   --> src/core/tun/mod.rs:27:5
[INFO] [stdout]    |
[INFO] [stdout] 27 |     context::ProxyContext,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 28 |     error::CoreResult,
[INFO] [stdout] 29 |     inbound::InboundRequest,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 30 |     engine::get_global_engine,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `CoreError`
[INFO] [stdout]  --> src/core/settings.rs:8:20
[INFO] [stdout]   |
[INFO] [stdout] 8 | use super::error::{CoreError, CoreResult};
[INFO] [stdout]   |                    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `debug` and `error`
[INFO] [stdout]  --> src/core/sys_proxy.rs:6:15
[INFO] [stdout]   |
[INFO] [stdout] 6 | use tracing::{debug, error, info, warn};
[INFO] [stdout]   |               ^^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `CoreError`
[INFO] [stdout]  --> src/core/sys_proxy.rs:8:31
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::src::core::error::{CoreError, CoreResult};
[INFO] [stdout]   |                               ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::pin::Pin`
[INFO] [stdout]  --> src/core/shutdown.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::pin::Pin;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `error`
[INFO] [stdout]   --> src/core/shutdown.rs:10:22
[INFO] [stdout]    |
[INFO] [stdout] 10 | use tracing::{debug, error, info, warn};
[INFO] [stdout]    |                      ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AtomicBool` and `Ordering`
[INFO] [stdout]  --> main.rs:7:25
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::sync::atomic::{AtomicBool, Ordering};
[INFO] [stdout]   |                         ^^^^^^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `SETTINGS_FILE_NAME`
[INFO] [stdout]   --> main.rs:14:26
[INFO] [stdout]    |
[INFO] [stdout] 14 |     settings::{Settings, SETTINGS_FILE_NAME},
[INFO] [stdout]    |                          ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tracing_subscriber::fmt::writer::MakeWriterExt`
[INFO] [stdout]    --> main.rs:144:9
[INFO] [stdout]     |
[INFO] [stdout] 144 |     use tracing_subscriber::fmt::writer::MakeWriterExt;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/core/tun/dns.rs:392:13
[INFO] [stdout]     |
[INFO] [stdout] 392 |         let mut upstream_request = DnsPacket {
[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]   --> src/core/relay/mod.rs:81:22
[INFO] [stdout]    |
[INFO] [stdout] 81 |                 let (mut client_read, mut client_write) = tokio::io::split(client_stream);
[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]   --> src/core/relay/mod.rs:94:14
[INFO] [stdout]    |
[INFO] [stdout] 94 |         let (mut client_read, mut client_write) = tokio::io::split(client_stream);
[INFO] [stdout]    |              ----^^^^^^^^^^^
[INFO] [stdout]    |              |
[INFO] [stdout]    |              help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `AsyncWriteExt`
[INFO] [stdout]  --> src/core/outbound/shadowsocks.rs:8:31
[INFO] [stdout]   |
[INFO] [stdout] 8 | use tokio::io::{AsyncReadExt, AsyncWriteExt};
[INFO] [stdout]   |                               ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `AsyncReadExt`
[INFO] [stdout]  --> src/core/outbound/shadowsocks.rs:8:17
[INFO] [stdout]   |
[INFO] [stdout] 8 | use tokio::io::{AsyncReadExt, AsyncWriteExt};
[INFO] [stdout]   |                 ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Outbound`
[INFO] [stdout]    --> src/core/outbound/proxy_group.rs:108:13
[INFO] [stdout]     |
[INFO] [stdout] 108 | use super::{Outbound, OutboundType, OutboundManager};
[INFO] [stdout]     |             ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `AsyncReadExt`
[INFO] [stdout]   --> src/core/tun/device.rs:10:17
[INFO] [stdout]    |
[INFO] [stdout] 10 | use tokio::io::{AsyncReadExt, AsyncWriteExt};
[INFO] [stdout]    |                 ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `AsyncWriteExt`
[INFO] [stdout]   --> src/core/tun/mod.rs:11:31
[INFO] [stdout]    |
[INFO] [stdout] 11 | use tokio::io::{AsyncReadExt, AsyncWriteExt};
[INFO] [stdout]    |                               ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `AsyncReadExt`
[INFO] [stdout]   --> src/core/tun/mod.rs:11:17
[INFO] [stdout]    |
[INFO] [stdout] 11 | use tokio::io::{AsyncReadExt, AsyncWriteExt};
[INFO] [stdout]    |                 ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tcp_event_tx`
[INFO] [stdout]    --> src/core/tun/device.rs:343:14
[INFO] [stdout]     |
[INFO] [stdout] 343 |         let (tcp_event_tx, tcp_event_rx) = mpsc::channel(1000);
[INFO] [stdout]     |              ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_tcp_event_tx`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `client_read`
[INFO] [stdout]   --> src/core/relay/mod.rs:81:22
[INFO] [stdout]    |
[INFO] [stdout] 81 |                 let (mut client_read, mut client_write) = tokio::io::split(client_stream);
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_client_read`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `context`
[INFO] [stdout]   --> src/core/outbound/direct.rs:36:9
[INFO] [stdout]    |
[INFO] [stdout] 36 |         context: &ProxyContext,
[INFO] [stdout]    |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_context`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `context`
[INFO] [stdout]   --> src/core/outbound/shadowsocks.rs:94:9
[INFO] [stdout]    |
[INFO] [stdout] 94 |         context: &ProxyContext,
[INFO] [stdout]    |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_context`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `context`
[INFO] [stdout]    --> src/core/outbound/trojan.rs:146:9
[INFO] [stdout]     |
[INFO] [stdout] 146 |         context: &ProxyContext,
[INFO] [stdout]     |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_context`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `timestamp`
[INFO] [stdout]    --> src/core/outbound/vmess.rs:280:14
[INFO] [stdout]     |
[INFO] [stdout] 280 |         let (timestamp, cmd_key, cmd_iv) = self.generate_auth();
[INFO] [stdout]     |              ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_timestamp`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `context`
[INFO] [stdout]    --> src/core/outbound/vmess.rs:265:9
[INFO] [stdout]     |
[INFO] [stdout] 265 |         context: &ProxyContext,
[INFO] [stdout]     |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_context`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `context`
[INFO] [stdout]    --> src/core/outbound/http.rs:104:9
[INFO] [stdout]     |
[INFO] [stdout] 104 |         context: &ProxyContext,
[INFO] [stdout]     |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_context`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `context`
[INFO] [stdout]    --> src/core/outbound/socks5.rs:227:9
[INFO] [stdout]     |
[INFO] [stdout] 227 |         context: &ProxyContext,
[INFO] [stdout]     |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_context`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tag_len`
[INFO] [stdout]    --> src/core/crypto/stream.rs:340:13
[INFO] [stdout]     |
[INFO] [stdout] 340 |         let tag_len = self.tag_len;
[INFO] [stdout]     |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_tag_len`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/core/tun/device.rs:377:25
[INFO] [stdout]     |
[INFO] [stdout] 377 |             let flags = unsafe { fcntl(raw_fd, FcntlArg::F_GETFL) }
[INFO] [stdout]     |                         ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_unsafe)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/core/tun/device.rs:380:13
[INFO] [stdout]     |
[INFO] [stdout] 380 |             unsafe { fcntl(raw_fd, FcntlArg::F_SETFL(new_flags)) }
[INFO] [stdout]     |             ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `total_len`
[INFO] [stdout]    --> src/core/tun/device.rs:585:9
[INFO] [stdout]     |
[INFO] [stdout] 585 |     let total_len = ((data[2] as u16) << 8) | (data[3] as u16);
[INFO] [stdout]     |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_total_len`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `listen_addr`
[INFO] [stdout]    --> src/core/tun/dns.rs:202:42
[INFO] [stdout]     |
[INFO] [stdout] 202 |     pub fn new(context: Arc<TunContext>, listen_addr: &str, upstream: SocketAddr) -> Self {
[INFO] [stdout]     |                                          ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_listen_addr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `settings`
[INFO] [stdout]    --> main.rs:325:53
[INFO] [stdout]     |
[INFO] [stdout] 325 | async fn run_api_only(config_path: &str, port: u16, settings: &Settings) -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout]     |                                                     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_settings`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `api::ConnectionInfo` is more private than the item `add_connection`
[INFO] [stdout]    --> src/core/api/mod.rs:754:1
[INFO] [stdout]     |
[INFO] [stdout] 754 | pub fn add_connection(info: ConnectionInfo) -> String {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ function `add_connection` is reachable at visibility `pub`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `api::ConnectionInfo` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> src/core/api/mod.rs:475:1
[INFO] [stdout]     |
[INFO] [stdout] 475 | struct ConnectionInfo {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#[warn(private_interfaces)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `run_tui_with_backend` is never used
[INFO] [stdout]    --> main.rs:198:10
[INFO] [stdout]     |
[INFO] [stdout] 198 | async fn run_tui_with_backend(config_path: &str, api_port: u16, settings: &Settings) -> Result<(), Box<dyn std::error::Error>> {
[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 `path` is never read
[INFO] [stdout]   --> src/utils/yaml_reader.rs:57:5
[INFO] [stdout]    |
[INFO] [stdout] 56 | pub struct Yaml {
[INFO] [stdout]    |            ---- field in this struct
[INFO] [stdout] 57 |     path: String,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `AUTH_GSSAPI` is never used
[INFO] [stdout]   --> src/core/inbound/socks5.rs:16:15
[INFO] [stdout]    |
[INFO] [stdout] 16 |     pub const AUTH_GSSAPI: u8 = 0x01;
[INFO] [stdout]    |               ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `AUTH_PASSWORD` is never used
[INFO] [stdout]   --> src/core/inbound/socks5.rs:17:15
[INFO] [stdout]    |
[INFO] [stdout] 17 |     pub const AUTH_PASSWORD: u8 = 0x02;
[INFO] [stdout]    |               ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CMD_BIND` is never used
[INFO] [stdout]   --> src/core/inbound/socks5.rs:21:15
[INFO] [stdout]    |
[INFO] [stdout] 21 |     pub const CMD_BIND: u8 = 0x02;
[INFO] [stdout]    |               ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `REP_GENERAL_FAILURE` is never used
[INFO] [stdout]   --> src/core/inbound/socks5.rs:29:15
[INFO] [stdout]    |
[INFO] [stdout] 29 |     pub const REP_GENERAL_FAILURE: u8 = 0x01;
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `REP_CONNECTION_NOT_ALLOWED` is never used
[INFO] [stdout]   --> src/core/inbound/socks5.rs:30:15
[INFO] [stdout]    |
[INFO] [stdout] 30 |     pub const REP_CONNECTION_NOT_ALLOWED: u8 = 0x02;
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `REP_NETWORK_UNREACHABLE` is never used
[INFO] [stdout]   --> src/core/inbound/socks5.rs:31:15
[INFO] [stdout]    |
[INFO] [stdout] 31 |     pub const REP_NETWORK_UNREACHABLE: u8 = 0x03;
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `REP_HOST_UNREACHABLE` is never used
[INFO] [stdout]   --> src/core/inbound/socks5.rs:32:15
[INFO] [stdout]    |
[INFO] [stdout] 32 |     pub const REP_HOST_UNREACHABLE: u8 = 0x04;
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `REP_CONNECTION_REFUSED` is never used
[INFO] [stdout]   --> src/core/inbound/socks5.rs:33:15
[INFO] [stdout]    |
[INFO] [stdout] 33 |     pub const REP_CONNECTION_REFUSED: u8 = 0x05;
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `REP_TTL_EXPIRED` is never used
[INFO] [stdout]   --> src/core/inbound/socks5.rs:34:15
[INFO] [stdout]    |
[INFO] [stdout] 34 |     pub const REP_TTL_EXPIRED: u8 = 0x06;
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CMD_UDP` is never used
[INFO] [stdout]   --> src/core/outbound/vmess.rs:29:7
[INFO] [stdout]    |
[INFO] [stdout] 29 | const CMD_UDP: u8 = 0x02;
[INFO] [stdout]    |       ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `alter_id` and `security` are never read
[INFO] [stdout]   --> src/core/outbound/vmess.rs:38:5
[INFO] [stdout]    |
[INFO] [stdout] 33 | pub struct VMessOutbound {
[INFO] [stdout]    |            ------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 38 |     alter_id: u16,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 39 |     security: SecurityType,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `decrypt` are never used
[INFO] [stdout]    --> src/core/outbound/vmess.rs:78:8
[INFO] [stdout]     |
[INFO] [stdout]  76 | impl VMessCipher {
[INFO] [stdout]     | ---------------- associated items in this implementation
[INFO] [stdout]  77 |     /// 从 UUID 和时间戳创建加密器
[INFO] [stdout]  78 |     fn new(uuid: &Uuid, timestamp: u64) -> Self {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 106 |     fn decrypt(&self, ciphertext: &[u8]) -> Vec<u8> {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `test_url`, `interval`, and `tolerance` are never read
[INFO] [stdout]    --> src/core/outbound/proxy_group.rs:239:5
[INFO] [stdout]     |
[INFO] [stdout] 236 | pub struct UrlTestGroup {
[INFO] [stdout]     |            ------------ fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 239 |     test_url: String,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] 240 |     interval: Duration,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] 241 |     tolerance: u32, // 容忍度（毫秒）
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `test_url` and `interval` are never read
[INFO] [stdout]    --> src/core/outbound/proxy_group.rs:341:5
[INFO] [stdout]     |
[INFO] [stdout] 338 | pub struct FallbackGroup {
[INFO] [stdout]     |            ------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 341 |     test_url: String,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] 342 |     interval: Duration,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `ipv6_ranges` is never read
[INFO] [stdout]   --> src/core/rule/geoip.rs:50:5
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct GeoIpDatabase {
[INFO] [stdout]    |            ------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 50 |     ipv6_ranges: Vec<([u8; 16], [u8; 16], CountryCode)>,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `start_time` is never read
[INFO] [stdout]    --> src/core/api/mod.rs:485:5
[INFO] [stdout]     |
[INFO] [stdout] 475 | struct ConnectionInfo {
[INFO] [stdout]     |        -------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 485 |     start_time: std::time::Instant,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ConnectionInfo` 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 `original_index` is never read
[INFO] [stdout]    --> src/core/tui/mod.rs:695:5
[INFO] [stdout]     |
[INFO] [stdout] 691 | struct DisplayItem<'a> {
[INFO] [stdout]     |        ----------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 695 |     original_index: usize,  // 在 app.proxies 中的原始索引
[INFO] [stdout]     |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `conn_id` and `context` are never read
[INFO] [stdout]    --> src/core/tun/tcp_stack.rs:285:5
[INFO] [stdout]     |
[INFO] [stdout] 284 | pub struct TunTcpStream {
[INFO] [stdout]     |            ------------ fields in this struct
[INFO] [stdout] 285 |     conn_id: ConnId,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] 286 |     context: Arc<TunContext>,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `control_addr` is never read
[INFO] [stdout]    --> src/core/tun/udp_stack.rs:271:5
[INFO] [stdout]     |
[INFO] [stdout] 267 | pub struct UdpForwarder {
[INFO] [stdout]     |            ------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 271 |     control_addr: SocketAddr,
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_system_dns` is never used
[INFO] [stdout]    --> src/core/tun/dns.rs:439:4
[INFO] [stdout]     |
[INFO] [stdout] 439 | fn get_system_dns() -> Option<SocketAddr> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `handle` is never read
[INFO] [stdout]    --> src/core/tun/smoltcp_stack.rs:118:5
[INFO] [stdout]     |
[INFO] [stdout] 117 | struct TcpConnState {
[INFO] [stdout]     |        ------------ field in this struct
[INFO] [stdout] 118 |     handle: SocketHandle,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `context` is never read
[INFO] [stdout]    --> src/core/tun/smoltcp_stack.rs:129:5
[INFO] [stdout]     |
[INFO] [stdout] 125 | pub struct SmolStackRunner {
[INFO] [stdout]     |            --------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 129 |     context: Arc<TunContext>,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `create_listen_socket` and `handle_tcp_syn` are never used
[INFO] [stdout]    --> src/core/tun/smoltcp_stack.rs:275:8
[INFO] [stdout]     |
[INFO] [stdout] 133 | impl SmolStackRunner {
[INFO] [stdout]     | -------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 275 |     fn create_listen_socket(&mut self, port: u16) -> SocketHandle {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 315 |     fn handle_tcp_syn(&mut self, src_ip: Ipv4Addr, src_port: u16, dst_ip: Ipv4Addr, dst_port: u16) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 52s
[INFO] running `Command { std: "docker" "inspect" "49e5fe1170ab128727df1bbc65bf58638bc968c1d2d7e02b209f67d9417b168f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "49e5fe1170ab128727df1bbc65bf58638bc968c1d2d7e02b209f67d9417b168f", kill_on_drop: false }`
[INFO] [stdout] 49e5fe1170ab128727df1bbc65bf58638bc968c1d2d7e02b209f67d9417b168f
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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" "+33835004928d3bf65db4d4712e1330766263b0bd" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 4015e8f7d27c724f67ed7ef168bf269147a307b34e3d0a62773c51a33b64e55a
[INFO] running `Command { std: "docker" "start" "-a" "4015e8f7d27c724f67ed7ef168bf269147a307b34e3d0a62773c51a33b64e55a", kill_on_drop: false }`
[INFO] [stderr]    Compiling lux v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `tokio::net::TcpStream`
[INFO] [stdout]  --> src/core/engine.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use tokio::net::TcpStream;
[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: `debug`
[INFO] [stdout]  --> src/core/inbound/mixed.rs:3:15
[INFO] [stdout]   |
[INFO] [stdout] 3 | use tracing::{debug, error, info, warn};
[INFO] [stdout]   |               ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `AsyncWriteExt`
[INFO] [stdout]  --> src/core/inbound/http.rs:3:31
[INFO] [stdout]   |
[INFO] [stdout] 3 | use tokio::io::{AsyncReadExt, AsyncWriteExt};
[INFO] [stdout]   |                               ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::net::TcpListener`
[INFO] [stdout]   --> src/core/inbound/mod.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use tokio::net::TcpListener;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `debug`
[INFO] [stdout]  --> src/core/outbound/direct.rs:3:15
[INFO] [stdout]   |
[INFO] [stdout] 3 | use tracing::{debug, info, instrument};
[INFO] [stdout]   |               ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::net::TcpStream`
[INFO] [stdout]  --> src/core/outbound/reject.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use tokio::net::TcpStream;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `debug`
[INFO] [stdout]  --> src/core/outbound/reject.rs:3:15
[INFO] [stdout]   |
[INFO] [stdout] 3 | use tracing::{debug, instrument, warn};
[INFO] [stdout]   |               ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::net::IpAddr`
[INFO] [stdout]  --> src/core/outbound/shadowsocks.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::net::IpAddr;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `error` and `trace`
[INFO] [stdout]   --> src/core/outbound/shadowsocks.rs:10:22
[INFO] [stdout]    |
[INFO] [stdout] 10 | use tracing::{debug, error, instrument, trace};
[INFO] [stdout]    |                      ^^^^^              ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::src::core::crypto::CipherKind`
[INFO] [stdout]    --> src/core/outbound/shadowsocks.rs:206:9
[INFO] [stdout]     |
[INFO] [stdout] 206 |     use crate::src::core::crypto::CipherKind;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `AsyncReadExt`
[INFO] [stdout]  --> src/core/outbound/trojan.rs:7:17
[INFO] [stdout]   |
[INFO] [stdout] 7 | use tokio::io::{AsyncReadExt, AsyncWriteExt};
[INFO] [stdout]   |                 ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `client::TlsStream`
[INFO] [stdout]  --> src/core/outbound/trojan.rs:9:34
[INFO] [stdout]   |
[INFO] [stdout] 9 | use tokio_rustls::{TlsConnector, client::TlsStream};
[INFO] [stdout]   |                                  ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `error`
[INFO] [stdout]   --> src/core/outbound/trojan.rs:15:22
[INFO] [stdout]    |
[INFO] [stdout] 15 | use tracing::{debug, error, instrument, trace};
[INFO] [stdout]    |                      ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `AsyncReadExt`
[INFO] [stdout]   --> src/core/outbound/vmess.rs:10:17
[INFO] [stdout]    |
[INFO] [stdout] 10 | use tokio::io::{AsyncReadExt, AsyncWriteExt};
[INFO] [stdout]    |                 ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `error`
[INFO] [stdout]   --> src/core/outbound/vmess.rs:12:22
[INFO] [stdout]    |
[INFO] [stdout] 12 | use tracing::{debug, error, instrument, trace};
[INFO] [stdout]    |                      ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `StreamCipher`
[INFO] [stdout]   --> src/core/outbound/vmess.rs:17:25
[INFO] [stdout]    |
[INFO] [stdout] 17 | use cipher::{KeyIvInit, StreamCipher};
[INFO] [stdout]    |                         ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `error`
[INFO] [stdout]  --> src/core/outbound/http.rs:7:22
[INFO] [stdout]   |
[INFO] [stdout] 7 | use tracing::{debug, error, instrument, trace};
[INFO] [stdout]   |                      ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `error`
[INFO] [stdout]  --> src/core/outbound/socks5.rs:6:22
[INFO] [stdout]   |
[INFO] [stdout] 6 | use tracing::{debug, error, instrument, trace};
[INFO] [stdout]   |                      ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `OutboundManager` and `OutboundType`
[INFO] [stdout]    --> src/core/outbound/proxy_group.rs:108:23
[INFO] [stdout]     |
[INFO] [stdout] 108 | use super::{Outbound, OutboundType, OutboundManager};
[INFO] [stdout]     |                       ^^^^^^^^^^^^  ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `context::ProxyContext` and `error::CoreResult`
[INFO] [stdout]    --> src/core/outbound/proxy_group.rs:109:24
[INFO] [stdout]     |
[INFO] [stdout] 109 | use crate::src::core::{context::ProxyContext, error::CoreResult};
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::net::TcpStream`
[INFO] [stdout]   --> src/core/outbound/mod.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use tokio::net::TcpStream;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::pin::Pin`
[INFO] [stdout]   --> src/core/outbound/mod.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | use std::pin::Pin;
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Context` and `Poll`
[INFO] [stdout]   --> src/core/outbound/mod.rs:17:17
[INFO] [stdout]    |
[INFO] [stdout] 17 | use std::task::{Context, Poll};
[INFO] [stdout]    |                 ^^^^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::net::SocketAddr`
[INFO] [stdout]    --> src/core/rule/parser.rs:127:9
[INFO] [stdout]     |
[INFO] [stdout] 127 |     use std::net::SocketAddr;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::net::IpAddr`
[INFO] [stdout]    --> src/core/rule/parser.rs:158:13
[INFO] [stdout]     |
[INFO] [stdout] 158 |         use std::net::IpAddr;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Ipv6Addr`
[INFO] [stdout]  --> src/core/rule/geoip.rs:6:34
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::net::{IpAddr, Ipv4Addr, Ipv6Addr};
[INFO] [stdout]   |                                  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `error` and `warn`
[INFO] [stdout]   --> src/core/rule/geoip.rs:10:22
[INFO] [stdout]    |
[INFO] [stdout] 10 | use tracing::{debug, error, info, warn};
[INFO] [stdout]    |                      ^^^^^        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AsyncRead` and `AsyncWrite`
[INFO] [stdout]  --> src/core/relay/mod.rs:1:17
[INFO] [stdout]   |
[INFO] [stdout] 1 | use tokio::io::{AsyncRead, AsyncWrite, AsyncReadExt, AsyncWriteExt};
[INFO] [stdout]   |                 ^^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `timeout`
[INFO] [stdout]  --> src/core/relay/mod.rs:3:19
[INFO] [stdout]   |
[INFO] [stdout] 3 | use tokio::time::{timeout, Duration};
[INFO] [stdout]   |                   ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `warn`
[INFO] [stdout]  --> src/core/relay/mod.rs:4:35
[INFO] [stdout]   |
[INFO] [stdout] 4 | use tracing::{debug, error, info, warn};
[INFO] [stdout]   |                                   ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `context::ProxyContext`
[INFO] [stdout]  --> src/core/relay/mod.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 |     context::ProxyContext,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]  --> src/core/context.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::sync::Arc;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/core/api/mod.rs:701:1
[INFO] [stdout]     |
[INFO] [stdout] 701 | /// 全局日志存储（线程安全）
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stdout]     |
[INFO] [stdout]     = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout]     = note: `#[warn(unused_doc_comments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Engine` and `get_global_engine`
[INFO] [stdout]  --> src/core/tui/app.rs:6:32
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::src::core::engine::{Engine, get_global_engine};
[INFO] [stdout]   |                                ^^^^^^  ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ListItem` and `List`
[INFO] [stdout]   --> src/core/tui/mod.rs:22:38
[INFO] [stdout]    |
[INFO] [stdout] 22 |     widgets::{Block, Borders, Clear, List, ListItem, Paragraph, Row, Scrollbar, ScrollbarOrientation, ScrollbarState, Table, Tabs, W...
[INFO] [stdout]    |                                      ^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `warn`
[INFO] [stdout]   --> src/core/tui/mod.rs:28:28
[INFO] [stdout]    |
[INFO] [stdout] 28 | use tracing::{info, error, warn};
[INFO] [stdout]    |                            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `OsRng`
[INFO] [stdout]  --> src/core/crypto/aead.rs:6:27
[INFO] [stdout]   |
[INFO] [stdout] 6 |     aead::{Aead, KeyInit, OsRng},
[INFO] [stdout]   |                           ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/core/tun/mod.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `IpAddr`
[INFO] [stdout]  --> src/core/tun/mod.rs:6:16
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::net::{IpAddr, Ipv4Addr, SocketAddr};
[INFO] [stdout]   |                ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::net::TcpStream`
[INFO] [stdout]   --> src/core/tun/mod.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use tokio::net::TcpStream;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `error`, `trace`, and `warn`
[INFO] [stdout]   --> src/core/tun/mod.rs:17:22
[INFO] [stdout]    |
[INFO] [stdout] 17 | use tracing::{debug, error, info, trace, warn};
[INFO] [stdout]    |                      ^^^^^        ^^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `FromRawFd` and `RawFd`
[INFO] [stdout]  --> src/core/tun/device.rs:5:34
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::os::unix::io::{AsRawFd, FromRawFd, RawFd};
[INFO] [stdout]   |                                  ^^^^^^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ReadHalf` and `WriteHalf`
[INFO] [stdout]   --> src/core/tun/tcp_stack.rs:10:46
[INFO] [stdout]    |
[INFO] [stdout] 10 | use tokio::io::{AsyncReadExt, AsyncWriteExt, ReadHalf, WriteHalf};
[INFO] [stdout]    |                                              ^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::net::TcpStream`
[INFO] [stdout]   --> src/core/tun/tcp_stack.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use tokio::net::TcpStream;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AsyncReadExt` and `AsyncWriteExt`
[INFO] [stdout]   --> src/core/tun/udp_stack.rs:10:17
[INFO] [stdout]    |
[INFO] [stdout] 10 | use tokio::io::{AsyncReadExt, AsyncWriteExt};
[INFO] [stdout]    |                 ^^^^^^^^^^^^  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::time::timeout`
[INFO] [stdout]   --> src/core/tun/udp_stack.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use tokio::time::timeout;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `error`
[INFO] [stdout]   --> src/core/tun/udp_stack.rs:14:22
[INFO] [stdout]    |
[INFO] [stdout] 14 | use tracing::{debug, error, info, trace, warn};
[INFO] [stdout]    |                      ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `context::ProxyContext`, `engine::get_global_engine`, and `inbound::InboundRequest`
[INFO] [stdout]   --> src/core/tun/udp_stack.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 26 |     context::ProxyContext,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 27 |     error::CoreResult,
[INFO] [stdout] 28 |     engine::get_global_engine,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 29 |     inbound::InboundRequest,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `IpProtocol`
[INFO] [stdout]   --> src/core/tun/smoltcp_stack.rs:14:54
[INFO] [stdout]    |
[INFO] [stdout] 14 |     HardwareAddress, IpAddress, IpCidr, Ipv4Address, IpProtocol,
[INFO] [stdout]    |                                                      ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `warn`
[INFO] [stdout]   --> src/core/tun/smoltcp_stack.rs:19:35
[INFO] [stdout]    |
[INFO] [stdout] 19 | use tracing::{debug, info, trace, warn};
[INFO] [stdout]    |                                   ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `context::ProxyContext`, `engine::get_global_engine`, and `inbound::InboundRequest`
[INFO] [stdout]   --> src/core/tun/mod.rs:27:5
[INFO] [stdout]    |
[INFO] [stdout] 27 |     context::ProxyContext,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 28 |     error::CoreResult,
[INFO] [stdout] 29 |     inbound::InboundRequest,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 30 |     engine::get_global_engine,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `CoreError`
[INFO] [stdout]  --> src/core/settings.rs:8:20
[INFO] [stdout]   |
[INFO] [stdout] 8 | use super::error::{CoreError, CoreResult};
[INFO] [stdout]   |                    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `debug` and `error`
[INFO] [stdout]  --> src/core/sys_proxy.rs:6:15
[INFO] [stdout]   |
[INFO] [stdout] 6 | use tracing::{debug, error, info, warn};
[INFO] [stdout]   |               ^^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `CoreError`
[INFO] [stdout]  --> src/core/sys_proxy.rs:8:31
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::src::core::error::{CoreError, CoreResult};
[INFO] [stdout]   |                               ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::pin::Pin`
[INFO] [stdout]  --> src/core/shutdown.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::pin::Pin;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `error`
[INFO] [stdout]   --> src/core/shutdown.rs:10:22
[INFO] [stdout]    |
[INFO] [stdout] 10 | use tracing::{debug, error, info, warn};
[INFO] [stdout]    |                      ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AtomicBool` and `Ordering`
[INFO] [stdout]  --> main.rs:7:25
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::sync::atomic::{AtomicBool, Ordering};
[INFO] [stdout]   |                         ^^^^^^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `SETTINGS_FILE_NAME`
[INFO] [stdout]   --> main.rs:14:26
[INFO] [stdout]    |
[INFO] [stdout] 14 |     settings::{Settings, SETTINGS_FILE_NAME},
[INFO] [stdout]    |                          ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tracing_subscriber::fmt::writer::MakeWriterExt`
[INFO] [stdout]    --> main.rs:144:9
[INFO] [stdout]     |
[INFO] [stdout] 144 |     use tracing_subscriber::fmt::writer::MakeWriterExt;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/core/tun/dns.rs:392:13
[INFO] [stdout]     |
[INFO] [stdout] 392 |         let mut upstream_request = DnsPacket {
[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]   --> src/core/relay/mod.rs:81:22
[INFO] [stdout]    |
[INFO] [stdout] 81 |                 let (mut client_read, mut client_write) = tokio::io::split(client_stream);
[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]   --> src/core/relay/mod.rs:94:14
[INFO] [stdout]    |
[INFO] [stdout] 94 |         let (mut client_read, mut client_write) = tokio::io::split(client_stream);
[INFO] [stdout]    |              ----^^^^^^^^^^^
[INFO] [stdout]    |              |
[INFO] [stdout]    |              help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `AsyncWriteExt`
[INFO] [stdout]  --> src/core/outbound/shadowsocks.rs:8:31
[INFO] [stdout]   |
[INFO] [stdout] 8 | use tokio::io::{AsyncReadExt, AsyncWriteExt};
[INFO] [stdout]   |                               ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `AsyncReadExt`
[INFO] [stdout]  --> src/core/outbound/shadowsocks.rs:8:17
[INFO] [stdout]   |
[INFO] [stdout] 8 | use tokio::io::{AsyncReadExt, AsyncWriteExt};
[INFO] [stdout]   |                 ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Outbound`
[INFO] [stdout]    --> src/core/outbound/proxy_group.rs:108:13
[INFO] [stdout]     |
[INFO] [stdout] 108 | use super::{Outbound, OutboundType, OutboundManager};
[INFO] [stdout]     |             ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `AsyncReadExt`
[INFO] [stdout]   --> src/core/tun/device.rs:10:17
[INFO] [stdout]    |
[INFO] [stdout] 10 | use tokio::io::{AsyncReadExt, AsyncWriteExt};
[INFO] [stdout]    |                 ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `AsyncWriteExt`
[INFO] [stdout]   --> src/core/tun/mod.rs:11:31
[INFO] [stdout]    |
[INFO] [stdout] 11 | use tokio::io::{AsyncReadExt, AsyncWriteExt};
[INFO] [stdout]    |                               ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `AsyncReadExt`
[INFO] [stdout]   --> src/core/tun/mod.rs:11:17
[INFO] [stdout]    |
[INFO] [stdout] 11 | use tokio::io::{AsyncReadExt, AsyncWriteExt};
[INFO] [stdout]    |                 ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tcp_event_tx`
[INFO] [stdout]    --> src/core/tun/device.rs:343:14
[INFO] [stdout]     |
[INFO] [stdout] 343 |         let (tcp_event_tx, tcp_event_rx) = mpsc::channel(1000);
[INFO] [stdout]     |              ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_tcp_event_tx`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `client_read`
[INFO] [stdout]   --> src/core/relay/mod.rs:81:22
[INFO] [stdout]    |
[INFO] [stdout] 81 |                 let (mut client_read, mut client_write) = tokio::io::split(client_stream);
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_client_read`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `context`
[INFO] [stdout]   --> src/core/outbound/direct.rs:36:9
[INFO] [stdout]    |
[INFO] [stdout] 36 |         context: &ProxyContext,
[INFO] [stdout]    |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_context`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `context`
[INFO] [stdout]   --> src/core/outbound/shadowsocks.rs:94:9
[INFO] [stdout]    |
[INFO] [stdout] 94 |         context: &ProxyContext,
[INFO] [stdout]    |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_context`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `context`
[INFO] [stdout]    --> src/core/outbound/trojan.rs:146:9
[INFO] [stdout]     |
[INFO] [stdout] 146 |         context: &ProxyContext,
[INFO] [stdout]     |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_context`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `timestamp`
[INFO] [stdout]    --> src/core/outbound/vmess.rs:280:14
[INFO] [stdout]     |
[INFO] [stdout] 280 |         let (timestamp, cmd_key, cmd_iv) = self.generate_auth();
[INFO] [stdout]     |              ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_timestamp`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `context`
[INFO] [stdout]    --> src/core/outbound/vmess.rs:265:9
[INFO] [stdout]     |
[INFO] [stdout] 265 |         context: &ProxyContext,
[INFO] [stdout]     |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_context`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `context`
[INFO] [stdout]    --> src/core/outbound/http.rs:104:9
[INFO] [stdout]     |
[INFO] [stdout] 104 |         context: &ProxyContext,
[INFO] [stdout]     |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_context`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `context`
[INFO] [stdout]    --> src/core/outbound/socks5.rs:227:9
[INFO] [stdout]     |
[INFO] [stdout] 227 |         context: &ProxyContext,
[INFO] [stdout]     |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_context`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tag_len`
[INFO] [stdout]    --> src/core/crypto/stream.rs:340:13
[INFO] [stdout]     |
[INFO] [stdout] 340 |         let tag_len = self.tag_len;
[INFO] [stdout]     |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_tag_len`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/core/tun/device.rs:377:25
[INFO] [stdout]     |
[INFO] [stdout] 377 |             let flags = unsafe { fcntl(raw_fd, FcntlArg::F_GETFL) }
[INFO] [stdout]     |                         ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_unsafe)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/core/tun/device.rs:380:13
[INFO] [stdout]     |
[INFO] [stdout] 380 |             unsafe { fcntl(raw_fd, FcntlArg::F_SETFL(new_flags)) }
[INFO] [stdout]     |             ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `total_len`
[INFO] [stdout]    --> src/core/tun/device.rs:585:9
[INFO] [stdout]     |
[INFO] [stdout] 585 |     let total_len = ((data[2] as u16) << 8) | (data[3] as u16);
[INFO] [stdout]     |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_total_len`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `listen_addr`
[INFO] [stdout]    --> src/core/tun/dns.rs:202:42
[INFO] [stdout]     |
[INFO] [stdout] 202 |     pub fn new(context: Arc<TunContext>, listen_addr: &str, upstream: SocketAddr) -> Self {
[INFO] [stdout]     |                                          ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_listen_addr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `settings`
[INFO] [stdout]    --> main.rs:325:53
[INFO] [stdout]     |
[INFO] [stdout] 325 | async fn run_api_only(config_path: &str, port: u16, settings: &Settings) -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout]     |                                                     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_settings`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `api::ConnectionInfo` is more private than the item `add_connection`
[INFO] [stdout]    --> src/core/api/mod.rs:754:1
[INFO] [stdout]     |
[INFO] [stdout] 754 | pub fn add_connection(info: ConnectionInfo) -> String {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ function `add_connection` is reachable at visibility `pub`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `api::ConnectionInfo` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> src/core/api/mod.rs:475:1
[INFO] [stdout]     |
[INFO] [stdout] 475 | struct ConnectionInfo {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#[warn(private_interfaces)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `run_tui_with_backend` is never used
[INFO] [stdout]    --> main.rs:198:10
[INFO] [stdout]     |
[INFO] [stdout] 198 | async fn run_tui_with_backend(config_path: &str, api_port: u16, settings: &Settings) -> Result<(), Box<dyn std::error::Error>> {
[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 `path` is never read
[INFO] [stdout]   --> src/utils/yaml_reader.rs:57:5
[INFO] [stdout]    |
[INFO] [stdout] 56 | pub struct Yaml {
[INFO] [stdout]    |            ---- field in this struct
[INFO] [stdout] 57 |     path: String,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `AUTH_GSSAPI` is never used
[INFO] [stdout]   --> src/core/inbound/socks5.rs:16:15
[INFO] [stdout]    |
[INFO] [stdout] 16 |     pub const AUTH_GSSAPI: u8 = 0x01;
[INFO] [stdout]    |               ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `AUTH_PASSWORD` is never used
[INFO] [stdout]   --> src/core/inbound/socks5.rs:17:15
[INFO] [stdout]    |
[INFO] [stdout] 17 |     pub const AUTH_PASSWORD: u8 = 0x02;
[INFO] [stdout]    |               ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CMD_BIND` is never used
[INFO] [stdout]   --> src/core/inbound/socks5.rs:21:15
[INFO] [stdout]    |
[INFO] [stdout] 21 |     pub const CMD_BIND: u8 = 0x02;
[INFO] [stdout]    |               ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `REP_GENERAL_FAILURE` is never used
[INFO] [stdout]   --> src/core/inbound/socks5.rs:29:15
[INFO] [stdout]    |
[INFO] [stdout] 29 |     pub const REP_GENERAL_FAILURE: u8 = 0x01;
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `REP_CONNECTION_NOT_ALLOWED` is never used
[INFO] [stdout]   --> src/core/inbound/socks5.rs:30:15
[INFO] [stdout]    |
[INFO] [stdout] 30 |     pub const REP_CONNECTION_NOT_ALLOWED: u8 = 0x02;
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `REP_NETWORK_UNREACHABLE` is never used
[INFO] [stdout]   --> src/core/inbound/socks5.rs:31:15
[INFO] [stdout]    |
[INFO] [stdout] 31 |     pub const REP_NETWORK_UNREACHABLE: u8 = 0x03;
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `REP_HOST_UNREACHABLE` is never used
[INFO] [stdout]   --> src/core/inbound/socks5.rs:32:15
[INFO] [stdout]    |
[INFO] [stdout] 32 |     pub const REP_HOST_UNREACHABLE: u8 = 0x04;
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `REP_CONNECTION_REFUSED` is never used
[INFO] [stdout]   --> src/core/inbound/socks5.rs:33:15
[INFO] [stdout]    |
[INFO] [stdout] 33 |     pub const REP_CONNECTION_REFUSED: u8 = 0x05;
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `REP_TTL_EXPIRED` is never used
[INFO] [stdout]   --> src/core/inbound/socks5.rs:34:15
[INFO] [stdout]    |
[INFO] [stdout] 34 |     pub const REP_TTL_EXPIRED: u8 = 0x06;
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CMD_UDP` is never used
[INFO] [stdout]   --> src/core/outbound/vmess.rs:29:7
[INFO] [stdout]    |
[INFO] [stdout] 29 | const CMD_UDP: u8 = 0x02;
[INFO] [stdout]    |       ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `alter_id` and `security` are never read
[INFO] [stdout]   --> src/core/outbound/vmess.rs:38:5
[INFO] [stdout]    |
[INFO] [stdout] 33 | pub struct VMessOutbound {
[INFO] [stdout]    |            ------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 38 |     alter_id: u16,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 39 |     security: SecurityType,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `decrypt` is never used
[INFO] [stdout]    --> src/core/outbound/vmess.rs:106:8
[INFO] [stdout]     |
[INFO] [stdout]  76 | impl VMessCipher {
[INFO] [stdout]     | ---------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 106 |     fn decrypt(&self, ciphertext: &[u8]) -> Vec<u8> {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `test_url`, `interval`, and `tolerance` are never read
[INFO] [stdout]    --> src/core/outbound/proxy_group.rs:239:5
[INFO] [stdout]     |
[INFO] [stdout] 236 | pub struct UrlTestGroup {
[INFO] [stdout]     |            ------------ fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 239 |     test_url: String,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] 240 |     interval: Duration,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] 241 |     tolerance: u32, // 容忍度（毫秒）
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `test_url` and `interval` are never read
[INFO] [stdout]    --> src/core/outbound/proxy_group.rs:341:5
[INFO] [stdout]     |
[INFO] [stdout] 338 | pub struct FallbackGroup {
[INFO] [stdout]     |            ------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 341 |     test_url: String,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] 342 |     interval: Duration,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `ipv6_ranges` is never read
[INFO] [stdout]   --> src/core/rule/geoip.rs:50:5
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct GeoIpDatabase {
[INFO] [stdout]    |            ------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 50 |     ipv6_ranges: Vec<([u8; 16], [u8; 16], CountryCode)>,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `start_time` is never read
[INFO] [stdout]    --> src/core/api/mod.rs:485:5
[INFO] [stdout]     |
[INFO] [stdout] 475 | struct ConnectionInfo {
[INFO] [stdout]     |        -------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 485 |     start_time: std::time::Instant,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ConnectionInfo` 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 `original_index` is never read
[INFO] [stdout]    --> src/core/tui/mod.rs:695:5
[INFO] [stdout]     |
[INFO] [stdout] 691 | struct DisplayItem<'a> {
[INFO] [stdout]     |        ----------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 695 |     original_index: usize,  // 在 app.proxies 中的原始索引
[INFO] [stdout]     |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `conn_id` and `context` are never read
[INFO] [stdout]    --> src/core/tun/tcp_stack.rs:285:5
[INFO] [stdout]     |
[INFO] [stdout] 284 | pub struct TunTcpStream {
[INFO] [stdout]     |            ------------ fields in this struct
[INFO] [stdout] 285 |     conn_id: ConnId,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] 286 |     context: Arc<TunContext>,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `control_addr` is never read
[INFO] [stdout]    --> src/core/tun/udp_stack.rs:271:5
[INFO] [stdout]     |
[INFO] [stdout] 267 | pub struct UdpForwarder {
[INFO] [stdout]     |            ------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 271 |     control_addr: SocketAddr,
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_system_dns` is never used
[INFO] [stdout]    --> src/core/tun/dns.rs:439:4
[INFO] [stdout]     |
[INFO] [stdout] 439 | fn get_system_dns() -> Option<SocketAddr> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `handle` is never read
[INFO] [stdout]    --> src/core/tun/smoltcp_stack.rs:118:5
[INFO] [stdout]     |
[INFO] [stdout] 117 | struct TcpConnState {
[INFO] [stdout]     |        ------------ field in this struct
[INFO] [stdout] 118 |     handle: SocketHandle,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `context` is never read
[INFO] [stdout]    --> src/core/tun/smoltcp_stack.rs:129:5
[INFO] [stdout]     |
[INFO] [stdout] 125 | pub struct SmolStackRunner {
[INFO] [stdout]     |            --------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 129 |     context: Arc<TunContext>,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `create_listen_socket` and `handle_tcp_syn` are never used
[INFO] [stdout]    --> src/core/tun/smoltcp_stack.rs:275:8
[INFO] [stdout]     |
[INFO] [stdout] 133 | impl SmolStackRunner {
[INFO] [stdout]     | -------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 275 |     fn create_listen_socket(&mut self, port: u16) -> SocketHandle {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 315 |     fn handle_tcp_syn(&mut self, src_ip: Ipv4Addr, src_port: u16, dst_ip: Ipv4Addr, dst_port: u16) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 20.25s
[INFO] running `Command { std: "docker" "inspect" "4015e8f7d27c724f67ed7ef168bf269147a307b34e3d0a62773c51a33b64e55a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "4015e8f7d27c724f67ed7ef168bf269147a307b34e3d0a62773c51a33b64e55a", kill_on_drop: false }`
[INFO] [stdout] 4015e8f7d27c724f67ed7ef168bf269147a307b34e3d0a62773c51a33b64e55a
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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" "+33835004928d3bf65db4d4712e1330766263b0bd" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 9a49688f12df46ab02ab1a46573cc7cdaccb454327e26b2b9317b0aa885f0bf1
[INFO] running `Command { std: "docker" "start" "-a" "9a49688f12df46ab02ab1a46573cc7cdaccb454327e26b2b9317b0aa885f0bf1", kill_on_drop: false }`
[INFO] [stderr] warning: unused import: `tokio::net::TcpStream`
[INFO] [stderr]  --> src/core/engine.rs:3:5
[INFO] [stderr]   |
[INFO] [stderr] 3 | use tokio::net::TcpStream;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `debug`
[INFO] [stderr]  --> src/core/inbound/mixed.rs:3:15
[INFO] [stderr]   |
[INFO] [stderr] 3 | use tracing::{debug, error, info, warn};
[INFO] [stderr]   |               ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `AsyncWriteExt`
[INFO] [stderr]  --> src/core/inbound/http.rs:3:31
[INFO] [stderr]   |
[INFO] [stderr] 3 | use tokio::io::{AsyncReadExt, AsyncWriteExt};
[INFO] [stderr]   |                               ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `tokio::net::TcpListener`
[INFO] [stderr]   --> src/core/inbound/mod.rs:10:5
[INFO] [stderr]    |
[INFO] [stderr] 10 | use tokio::net::TcpListener;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `debug`
[INFO] [stderr]  --> src/core/outbound/direct.rs:3:15
[INFO] [stderr]   |
[INFO] [stderr] 3 | use tracing::{debug, info, instrument};
[INFO] [stderr]   |               ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `tokio::net::TcpStream`
[INFO] [stderr]  --> src/core/outbound/reject.rs:2:5
[INFO] [stderr]   |
[INFO] [stderr] 2 | use tokio::net::TcpStream;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `debug`
[INFO] [stderr]  --> src/core/outbound/reject.rs:3:15
[INFO] [stderr]   |
[INFO] [stderr] 3 | use tracing::{debug, instrument, warn};
[INFO] [stderr]   |               ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::net::IpAddr`
[INFO] [stderr]  --> src/core/outbound/shadowsocks.rs:7:5
[INFO] [stderr]   |
[INFO] [stderr] 7 | use std::net::IpAddr;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `error` and `trace`
[INFO] [stderr]   --> src/core/outbound/shadowsocks.rs:10:22
[INFO] [stderr]    |
[INFO] [stderr] 10 | use tracing::{debug, error, instrument, trace};
[INFO] [stderr]    |                      ^^^^^              ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::src::core::crypto::CipherKind`
[INFO] [stderr]    --> src/core/outbound/shadowsocks.rs:206:9
[INFO] [stderr]     |
[INFO] [stderr] 206 |     use crate::src::core::crypto::CipherKind;
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `AsyncReadExt`
[INFO] [stderr]  --> src/core/outbound/trojan.rs:7:17
[INFO] [stderr]   |
[INFO] [stderr] 7 | use tokio::io::{AsyncReadExt, AsyncWriteExt};
[INFO] [stderr]   |                 ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `client::TlsStream`
[INFO] [stderr]  --> src/core/outbound/trojan.rs:9:34
[INFO] [stderr]   |
[INFO] [stderr] 9 | use tokio_rustls::{TlsConnector, client::TlsStream};
[INFO] [stderr]   |                                  ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `error`
[INFO] [stderr]   --> src/core/outbound/trojan.rs:15:22
[INFO] [stderr]    |
[INFO] [stderr] 15 | use tracing::{debug, error, instrument, trace};
[INFO] [stderr]    |                      ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `AsyncReadExt`
[INFO] [stderr]   --> src/core/outbound/vmess.rs:10:17
[INFO] [stderr]    |
[INFO] [stderr] 10 | use tokio::io::{AsyncReadExt, AsyncWriteExt};
[INFO] [stderr]    |                 ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `error`
[INFO] [stderr]   --> src/core/outbound/vmess.rs:12:22
[INFO] [stderr]    |
[INFO] [stderr] 12 | use tracing::{debug, error, instrument, trace};
[INFO] [stderr]    |                      ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `StreamCipher`
[INFO] [stderr]   --> src/core/outbound/vmess.rs:17:25
[INFO] [stderr]    |
[INFO] [stderr] 17 | use cipher::{KeyIvInit, StreamCipher};
[INFO] [stderr]    |                         ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `error`
[INFO] [stderr]  --> src/core/outbound/http.rs:7:22
[INFO] [stderr]   |
[INFO] [stderr] 7 | use tracing::{debug, error, instrument, trace};
[INFO] [stderr]   |                      ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `error`
[INFO] [stderr]  --> src/core/outbound/socks5.rs:6:22
[INFO] [stderr]   |
[INFO] [stderr] 6 | use tracing::{debug, error, instrument, trace};
[INFO] [stderr]   |                      ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `OutboundManager` and `OutboundType`
[INFO] [stderr]    --> src/core/outbound/proxy_group.rs:108:23
[INFO] [stderr]     |
[INFO] [stderr] 108 | use super::{Outbound, OutboundType, OutboundManager};
[INFO] [stderr]     |                       ^^^^^^^^^^^^  ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `context::ProxyContext` and `error::CoreResult`
[INFO] [stderr]    --> src/core/outbound/proxy_group.rs:109:24
[INFO] [stderr]     |
[INFO] [stderr] 109 | use crate::src::core::{context::ProxyContext, error::CoreResult};
[INFO] [stderr]     |                        ^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `tokio::net::TcpStream`
[INFO] [stderr]   --> src/core/outbound/mod.rs:15:5
[INFO] [stderr]    |
[INFO] [stderr] 15 | use tokio::net::TcpStream;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::pin::Pin`
[INFO] [stderr]   --> src/core/outbound/mod.rs:16:5
[INFO] [stderr]    |
[INFO] [stderr] 16 | use std::pin::Pin;
[INFO] [stderr]    |     ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `Context` and `Poll`
[INFO] [stderr]   --> src/core/outbound/mod.rs:17:17
[INFO] [stderr]    |
[INFO] [stderr] 17 | use std::task::{Context, Poll};
[INFO] [stderr]    |                 ^^^^^^^  ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::net::SocketAddr`
[INFO] [stderr]    --> src/core/rule/parser.rs:127:9
[INFO] [stderr]     |
[INFO] [stderr] 127 |     use std::net::SocketAddr;
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::net::IpAddr`
[INFO] [stderr]    --> src/core/rule/parser.rs:158:13
[INFO] [stderr]     |
[INFO] [stderr] 158 |         use std::net::IpAddr;
[INFO] [stderr]     |             ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Ipv6Addr`
[INFO] [stderr]  --> src/core/rule/geoip.rs:6:34
[INFO] [stderr]   |
[INFO] [stderr] 6 | use std::net::{IpAddr, Ipv4Addr, Ipv6Addr};
[INFO] [stderr]   |                                  ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `error` and `warn`
[INFO] [stderr]   --> src/core/rule/geoip.rs:10:22
[INFO] [stderr]    |
[INFO] [stderr] 10 | use tracing::{debug, error, info, warn};
[INFO] [stderr]    |                      ^^^^^        ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `AsyncRead` and `AsyncWrite`
[INFO] [stderr]  --> src/core/relay/mod.rs:1:17
[INFO] [stderr]   |
[INFO] [stderr] 1 | use tokio::io::{AsyncRead, AsyncWrite, AsyncReadExt, AsyncWriteExt};
[INFO] [stderr]   |                 ^^^^^^^^^  ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `timeout`
[INFO] [stderr]  --> src/core/relay/mod.rs:3:19
[INFO] [stderr]   |
[INFO] [stderr] 3 | use tokio::time::{timeout, Duration};
[INFO] [stderr]   |                   ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `warn`
[INFO] [stderr]  --> src/core/relay/mod.rs:4:35
[INFO] [stderr]   |
[INFO] [stderr] 4 | use tracing::{debug, error, info, warn};
[INFO] [stderr]   |                                   ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `context::ProxyContext`
[INFO] [stderr]  --> src/core/relay/mod.rs:7:5
[INFO] [stderr]   |
[INFO] [stderr] 7 |     context::ProxyContext,
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::sync::Arc`
[INFO] [stderr]  --> src/core/context.rs:2:5
[INFO] [stderr]   |
[INFO] [stderr] 2 | use std::sync::Arc;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]    --> src/core/api/mod.rs:701:1
[INFO] [stderr]     |
[INFO] [stderr] 701 | /// 全局日志存储（线程安全）
[INFO] [stderr]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stderr]     |
[INFO] [stderr]     = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stderr]     = note: `#[warn(unused_doc_comments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `Engine` and `get_global_engine`
[INFO] [stderr]  --> src/core/tui/app.rs:6:32
[INFO] [stderr]   |
[INFO] [stderr] 6 | use crate::src::core::engine::{Engine, get_global_engine};
[INFO] [stderr]   |                                ^^^^^^  ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `ListItem` and `List`
[INFO] [stderr]   --> src/core/tui/mod.rs:22:38
[INFO] [stderr]    |
[INFO] [stderr] 22 |     widgets::{Block, Borders, Clear, List, ListItem, Paragraph, Row, Scrollbar, ScrollbarOrientation, ScrollbarState, Table, Tabs, W...
[INFO] [stderr]    |                                      ^^^^  ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `warn`
[INFO] [stderr]   --> src/core/tui/mod.rs:28:28
[INFO] [stderr]    |
[INFO] [stderr] 28 | use tracing::{info, error, warn};
[INFO] [stderr]    |                            ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `OsRng`
[INFO] [stderr]  --> src/core/crypto/aead.rs:6:27
[INFO] [stderr]   |
[INFO] [stderr] 6 |     aead::{Aead, KeyInit, OsRng},
[INFO] [stderr]   |                           ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::collections::HashMap`
[INFO] [stderr]  --> src/core/tun/mod.rs:5:5
[INFO] [stderr]   |
[INFO] [stderr] 5 | use std::collections::HashMap;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `IpAddr`
[INFO] [stderr]  --> src/core/tun/mod.rs:6:16
[INFO] [stderr]   |
[INFO] [stderr] 6 | use std::net::{IpAddr, Ipv4Addr, SocketAddr};
[INFO] [stderr]   |                ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `tokio::net::TcpStream`
[INFO] [stderr]   --> src/core/tun/mod.rs:12:5
[INFO] [stderr]    |
[INFO] [stderr] 12 | use tokio::net::TcpStream;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `error`, `trace`, and `warn`
[INFO] [stderr]   --> src/core/tun/mod.rs:17:22
[INFO] [stderr]    |
[INFO] [stderr] 17 | use tracing::{debug, error, info, trace, warn};
[INFO] [stderr]    |                      ^^^^^        ^^^^^  ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `FromRawFd` and `RawFd`
[INFO] [stderr]  --> src/core/tun/device.rs:5:34
[INFO] [stderr]   |
[INFO] [stderr] 5 | use std::os::unix::io::{AsRawFd, FromRawFd, RawFd};
[INFO] [stderr]   |                                  ^^^^^^^^^  ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `ReadHalf` and `WriteHalf`
[INFO] [stderr]   --> src/core/tun/tcp_stack.rs:10:46
[INFO] [stderr]    |
[INFO] [stderr] 10 | use tokio::io::{AsyncReadExt, AsyncWriteExt, ReadHalf, WriteHalf};
[INFO] [stderr]    |                                              ^^^^^^^^  ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `tokio::net::TcpStream`
[INFO] [stderr]   --> src/core/tun/tcp_stack.rs:11:5
[INFO] [stderr]    |
[INFO] [stderr] 11 | use tokio::net::TcpStream;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `AsyncReadExt` and `AsyncWriteExt`
[INFO] [stderr]   --> src/core/tun/udp_stack.rs:10:17
[INFO] [stderr]    |
[INFO] [stderr] 10 | use tokio::io::{AsyncReadExt, AsyncWriteExt};
[INFO] [stderr]    |                 ^^^^^^^^^^^^  ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `tokio::time::timeout`
[INFO] [stderr]   --> src/core/tun/udp_stack.rs:13:5
[INFO] [stderr]    |
[INFO] [stderr] 13 | use tokio::time::timeout;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `error`
[INFO] [stderr]   --> src/core/tun/udp_stack.rs:14:22
[INFO] [stderr]    |
[INFO] [stderr] 14 | use tracing::{debug, error, info, trace, warn};
[INFO] [stderr]    |                      ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `context::ProxyContext`, `engine::get_global_engine`, and `inbound::InboundRequest`
[INFO] [stderr]   --> src/core/tun/udp_stack.rs:26:5
[INFO] [stderr]    |
[INFO] [stderr] 26 |     context::ProxyContext,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 27 |     error::CoreResult,
[INFO] [stderr] 28 |     engine::get_global_engine,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 29 |     inbound::InboundRequest,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `IpProtocol`
[INFO] [stderr]   --> src/core/tun/smoltcp_stack.rs:14:54
[INFO] [stderr]    |
[INFO] [stderr] 14 |     HardwareAddress, IpAddress, IpCidr, Ipv4Address, IpProtocol,
[INFO] [stderr]    |                                                      ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `warn`
[INFO] [stderr]   --> src/core/tun/smoltcp_stack.rs:19:35
[INFO] [stderr]    |
[INFO] [stderr] 19 | use tracing::{debug, info, trace, warn};
[INFO] [stderr]    |                                   ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `context::ProxyContext`, `engine::get_global_engine`, and `inbound::InboundRequest`
[INFO] [stderr]   --> src/core/tun/mod.rs:27:5
[INFO] [stderr]    |
[INFO] [stderr] 27 |     context::ProxyContext,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 28 |     error::CoreResult,
[INFO] [stderr] 29 |     inbound::InboundRequest,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 30 |     engine::get_global_engine,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `CoreError`
[INFO] [stderr]  --> src/core/settings.rs:8:20
[INFO] [stderr]   |
[INFO] [stderr] 8 | use super::error::{CoreError, CoreResult};
[INFO] [stderr]   |                    ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `debug` and `error`
[INFO] [stderr]  --> src/core/sys_proxy.rs:6:15
[INFO] [stderr]   |
[INFO] [stderr] 6 | use tracing::{debug, error, info, warn};
[INFO] [stderr]   |               ^^^^^  ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `CoreError`
[INFO] [stderr]  --> src/core/sys_proxy.rs:8:31
[INFO] [stderr]   |
[INFO] [stderr] 8 | use crate::src::core::error::{CoreError, CoreResult};
[INFO] [stderr]   |                               ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::pin::Pin`
[INFO] [stderr]  --> src/core/shutdown.rs:6:5
[INFO] [stderr]   |
[INFO] [stderr] 6 | use std::pin::Pin;
[INFO] [stderr]   |     ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `error`
[INFO] [stderr]   --> src/core/shutdown.rs:10:22
[INFO] [stderr]    |
[INFO] [stderr] 10 | use tracing::{debug, error, info, warn};
[INFO] [stderr]    |                      ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `AtomicBool` and `Ordering`
[INFO] [stderr]  --> main.rs:7:25
[INFO] [stderr]   |
[INFO] [stderr] 7 | use std::sync::atomic::{AtomicBool, Ordering};
[INFO] [stderr]   |                         ^^^^^^^^^^  ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `SETTINGS_FILE_NAME`
[INFO] [stderr]   --> main.rs:14:26
[INFO] [stderr]    |
[INFO] [stderr] 14 |     settings::{Settings, SETTINGS_FILE_NAME},
[INFO] [stderr]    |                          ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `tracing_subscriber::fmt::writer::MakeWriterExt`
[INFO] [stderr]    --> main.rs:144:9
[INFO] [stderr]     |
[INFO] [stderr] 144 |     use tracing_subscriber::fmt::writer::MakeWriterExt;
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/core/tun/dns.rs:392:13
[INFO] [stderr]     |
[INFO] [stderr] 392 |         let mut upstream_request = DnsPacket {
[INFO] [stderr]     |             ----^^^^^^^^^^^^^^^^
[INFO] [stderr]     |             |
[INFO] [stderr]     |             help: remove this `mut`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/core/relay/mod.rs:81:22
[INFO] [stderr]    |
[INFO] [stderr] 81 |                 let (mut client_read, mut client_write) = tokio::io::split(client_stream);
[INFO] [stderr]    |                      ----^^^^^^^^^^^
[INFO] [stderr]    |                      |
[INFO] [stderr]    |                      help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/core/relay/mod.rs:94:14
[INFO] [stderr]    |
[INFO] [stderr] 94 |         let (mut client_read, mut client_write) = tokio::io::split(client_stream);
[INFO] [stderr]    |              ----^^^^^^^^^^^
[INFO] [stderr]    |              |
[INFO] [stderr]    |              help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `AsyncWriteExt`
[INFO] [stderr]  --> src/core/outbound/shadowsocks.rs:8:31
[INFO] [stderr]   |
[INFO] [stderr] 8 | use tokio::io::{AsyncReadExt, AsyncWriteExt};
[INFO] [stderr]   |                               ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `AsyncReadExt`
[INFO] [stderr]  --> src/core/outbound/shadowsocks.rs:8:17
[INFO] [stderr]   |
[INFO] [stderr] 8 | use tokio::io::{AsyncReadExt, AsyncWriteExt};
[INFO] [stderr]   |                 ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Outbound`
[INFO] [stderr]    --> src/core/outbound/proxy_group.rs:108:13
[INFO] [stderr]     |
[INFO] [stderr] 108 | use super::{Outbound, OutboundType, OutboundManager};
[INFO] [stderr]     |             ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `AsyncReadExt`
[INFO] [stderr]   --> src/core/tun/device.rs:10:17
[INFO] [stderr]    |
[INFO] [stderr] 10 | use tokio::io::{AsyncReadExt, AsyncWriteExt};
[INFO] [stderr]    |                 ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `AsyncWriteExt`
[INFO] [stderr]   --> src/core/tun/mod.rs:11:31
[INFO] [stderr]    |
[INFO] [stderr] 11 | use tokio::io::{AsyncReadExt, AsyncWriteExt};
[INFO] [stderr]    |                               ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `AsyncReadExt`
[INFO] [stderr]   --> src/core/tun/mod.rs:11:17
[INFO] [stderr]    |
[INFO] [stderr] 11 | use tokio::io::{AsyncReadExt, AsyncWriteExt};
[INFO] [stderr]    |                 ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `tcp_event_tx`
[INFO] [stderr]    --> src/core/tun/device.rs:343:14
[INFO] [stderr]     |
[INFO] [stderr] 343 |         let (tcp_event_tx, tcp_event_rx) = mpsc::channel(1000);
[INFO] [stderr]     |              ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_tcp_event_tx`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `client_read`
[INFO] [stderr]   --> src/core/relay/mod.rs:81:22
[INFO] [stderr]    |
[INFO] [stderr] 81 |                 let (mut client_read, mut client_write) = tokio::io::split(client_stream);
[INFO] [stderr]    |                      ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_client_read`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `context`
[INFO] [stderr]   --> src/core/outbound/direct.rs:36:9
[INFO] [stderr]    |
[INFO] [stderr] 36 |         context: &ProxyContext,
[INFO] [stderr]    |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_context`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `context`
[INFO] [stderr]   --> src/core/outbound/shadowsocks.rs:94:9
[INFO] [stderr]    |
[INFO] [stderr] 94 |         context: &ProxyContext,
[INFO] [stderr]    |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_context`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `context`
[INFO] [stderr]    --> src/core/outbound/trojan.rs:146:9
[INFO] [stderr]     |
[INFO] [stderr] 146 |         context: &ProxyContext,
[INFO] [stderr]     |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_context`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `timestamp`
[INFO] [stderr]    --> src/core/outbound/vmess.rs:280:14
[INFO] [stderr]     |
[INFO] [stderr] 280 |         let (timestamp, cmd_key, cmd_iv) = self.generate_auth();
[INFO] [stderr]     |              ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_timestamp`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `context`
[INFO] [stderr]    --> src/core/outbound/vmess.rs:265:9
[INFO] [stderr]     |
[INFO] [stderr] 265 |         context: &ProxyContext,
[INFO] [stderr]     |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_context`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `context`
[INFO] [stderr]    --> src/core/outbound/http.rs:104:9
[INFO] [stderr]     |
[INFO] [stderr] 104 |         context: &ProxyContext,
[INFO] [stderr]     |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_context`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `context`
[INFO] [stderr]    --> src/core/outbound/socks5.rs:227:9
[INFO] [stderr]     |
[INFO] [stderr] 227 |         context: &ProxyContext,
[INFO] [stderr]     |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_context`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `tag_len`
[INFO] [stderr]    --> src/core/crypto/stream.rs:340:13
[INFO] [stderr]     |
[INFO] [stderr] 340 |         let tag_len = self.tag_len;
[INFO] [stderr]     |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_tag_len`
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary `unsafe` block
[INFO] [stderr]    --> src/core/tun/device.rs:377:25
[INFO] [stderr]     |
[INFO] [stderr] 377 |             let flags = unsafe { fcntl(raw_fd, FcntlArg::F_GETFL) }
[INFO] [stderr]     |                         ^^^^^^ unnecessary `unsafe` block
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_unsafe)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary `unsafe` block
[INFO] [stderr]    --> src/core/tun/device.rs:380:13
[INFO] [stderr]     |
[INFO] [stderr] 380 |             unsafe { fcntl(raw_fd, FcntlArg::F_SETFL(new_flags)) }
[INFO] [stderr]     |             ^^^^^^ unnecessary `unsafe` block
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `total_len`
[INFO] [stderr]    --> src/core/tun/device.rs:585:9
[INFO] [stderr]     |
[INFO] [stderr] 585 |     let total_len = ((data[2] as u16) << 8) | (data[3] as u16);
[INFO] [stderr]     |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_total_len`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `listen_addr`
[INFO] [stderr]    --> src/core/tun/dns.rs:202:42
[INFO] [stderr]     |
[INFO] [stderr] 202 |     pub fn new(context: Arc<TunContext>, listen_addr: &str, upstream: SocketAddr) -> Self {
[INFO] [stderr]     |                                          ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_listen_addr`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `settings`
[INFO] [stderr]    --> main.rs:325:53
[INFO] [stderr]     |
[INFO] [stderr] 325 | async fn run_api_only(config_path: &str, port: u16, settings: &Settings) -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stderr]     |                                                     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_settings`
[INFO] [stderr] 
[INFO] [stderr] warning: type `api::ConnectionInfo` is more private than the item `add_connection`
[INFO] [stderr]    --> src/core/api/mod.rs:754:1
[INFO] [stderr]     |
[INFO] [stderr] 754 | pub fn add_connection(info: ConnectionInfo) -> String {
[INFO] [stderr]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ function `add_connection` is reachable at visibility `pub`
[INFO] [stderr]     |
[INFO] [stderr] note: but type `api::ConnectionInfo` is only usable at visibility `pub(self)`
[INFO] [stderr]    --> src/core/api/mod.rs:475:1
[INFO] [stderr]     |
[INFO] [stderr] 475 | struct ConnectionInfo {
[INFO] [stderr]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     = note: `#[warn(private_interfaces)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: function `run_tui_with_backend` is never used
[INFO] [stderr]    --> main.rs:198:10
[INFO] [stderr]     |
[INFO] [stderr] 198 | async fn run_tui_with_backend(config_path: &str, api_port: u16, settings: &Settings) -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stderr]     |          ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: field `path` is never read
[INFO] [stderr]   --> src/utils/yaml_reader.rs:57:5
[INFO] [stderr]    |
[INFO] [stderr] 56 | pub struct Yaml {
[INFO] [stderr]    |            ---- field in this struct
[INFO] [stderr] 57 |     path: String,
[INFO] [stderr]    |     ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `AUTH_GSSAPI` is never used
[INFO] [stderr]   --> src/core/inbound/socks5.rs:16:15
[INFO] [stderr]    |
[INFO] [stderr] 16 |     pub const AUTH_GSSAPI: u8 = 0x01;
[INFO] [stderr]    |               ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `AUTH_PASSWORD` is never used
[INFO] [stderr]   --> src/core/inbound/socks5.rs:17:15
[INFO] [stderr]    |
[INFO] [stderr] 17 |     pub const AUTH_PASSWORD: u8 = 0x02;
[INFO] [stderr]    |               ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `CMD_BIND` is never used
[INFO] [stderr]   --> src/core/inbound/socks5.rs:21:15
[INFO] [stderr]    |
[INFO] [stderr] 21 |     pub const CMD_BIND: u8 = 0x02;
[INFO] [stderr]    |               ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `REP_GENERAL_FAILURE` is never used
[INFO] [stderr]   --> src/core/inbound/socks5.rs:29:15
[INFO] [stderr]    |
[INFO] [stderr] 29 |     pub const REP_GENERAL_FAILURE: u8 = 0x01;
[INFO] [stderr]    |               ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `REP_CONNECTION_NOT_ALLOWED` is never used
[INFO] [stderr]   --> src/core/inbound/socks5.rs:30:15
[INFO] [stderr]    |
[INFO] [stderr] 30 |     pub const REP_CONNECTION_NOT_ALLOWED: u8 = 0x02;
[INFO] [stderr]    |               ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `REP_NETWORK_UNREACHABLE` is never used
[INFO] [stderr]   --> src/core/inbound/socks5.rs:31:15
[INFO] [stderr]    |
[INFO] [stderr] 31 |     pub const REP_NETWORK_UNREACHABLE: u8 = 0x03;
[INFO] [stderr]    |               ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `REP_HOST_UNREACHABLE` is never used
[INFO] [stderr]   --> src/core/inbound/socks5.rs:32:15
[INFO] [stderr]    |
[INFO] [stderr] 32 |     pub const REP_HOST_UNREACHABLE: u8 = 0x04;
[INFO] [stderr]    |               ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `REP_CONNECTION_REFUSED` is never used
[INFO] [stderr]   --> src/core/inbound/socks5.rs:33:15
[INFO] [stderr]    |
[INFO] [stderr] 33 |     pub const REP_CONNECTION_REFUSED: u8 = 0x05;
[INFO] [stderr]    |               ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `REP_TTL_EXPIRED` is never used
[INFO] [stderr]   --> src/core/inbound/socks5.rs:34:15
[INFO] [stderr]    |
[INFO] [stderr] 34 |     pub const REP_TTL_EXPIRED: u8 = 0x06;
[INFO] [stderr]    |               ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stdout] 
[INFO] [stderr] warning: constant `CMD_UDP` is never used
[INFO] [stdout] running 46 tests
[INFO] [stderr]   --> src/core/outbound/vmess.rs:29:7
[INFO] [stderr]    |
[INFO] [stderr] 29 | const CMD_UDP: u8 = 0x02;
[INFO] [stderr]    |       ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: fields `alter_id` and `security` are never read
[INFO] [stderr]   --> src/core/outbound/vmess.rs:38:5
[INFO] [stderr]    |
[INFO] [stderr] 33 | pub struct VMessOutbound {
[INFO] [stderr]    |            ------------- fields in this struct
[INFO] [stderr] ...
[INFO] [stderr] 38 |     alter_id: u16,
[INFO] [stderr]    |     ^^^^^^^^
[INFO] [stderr] 39 |     security: SecurityType,
[INFO] [stderr]    |     ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `decrypt` is never used
[INFO] [stderr]    --> src/core/outbound/vmess.rs:106:8
[INFO] [stderr]     |
[INFO] [stderr]  76 | impl VMessCipher {
[INFO] [stderr]     | ---------------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 106 |     fn decrypt(&self, ciphertext: &[u8]) -> Vec<u8> {
[INFO] [stderr]     |        ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: fields `test_url`, `interval`, and `tolerance` are never read
[INFO] [stderr]    --> src/core/outbound/proxy_group.rs:239:5
[INFO] [stderr]     |
[INFO] [stderr] 236 | pub struct UrlTestGroup {
[INFO] [stderr]     |            ------------ fields in this struct
[INFO] [stderr] ...
[INFO] [stderr] 239 |     test_url: String,
[INFO] [stderr]     |     ^^^^^^^^
[INFO] [stderr] 240 |     interval: Duration,
[INFO] [stderr]     |     ^^^^^^^^
[INFO] [stderr] 241 |     tolerance: u32, // 容忍度（毫秒）
[INFO] [stderr]     |     ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: fields `test_url` and `interval` are never read
[INFO] [stderr]    --> src/core/outbound/proxy_group.rs:341:5
[INFO] [stderr]     |
[INFO] [stderr] 338 | pub struct FallbackGroup {
[INFO] [stderr]     |            ------------- fields in this struct
[INFO] [stderr] ...
[INFO] [stderr] 341 |     test_url: String,
[INFO] [stderr]     |     ^^^^^^^^
[INFO] [stderr] 342 |     interval: Duration,
[INFO] [stderr]     |     ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `ipv6_ranges` is never read
[INFO] [stderr]   --> src/core/rule/geoip.rs:50:5
[INFO] [stderr]    |
[INFO] [stderr] 46 | pub struct GeoIpDatabase {
[INFO] [stderr]    |            ------------- field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 50 |     ipv6_ranges: Vec<([u8; 16], [u8; 16], CountryCode)>,
[INFO] [stderr]    |     ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `start_time` is never read
[INFO] [stderr]    --> src/core/api/mod.rs:485:5
[INFO] [stderr]     |
[INFO] [stderr] 475 | struct ConnectionInfo {
[INFO] [stderr]     |        -------------- field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 485 |     start_time: std::time::Instant,
[INFO] [stderr]     |     ^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `ConnectionInfo` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: field `original_index` is never read
[INFO] [stderr]    --> src/core/tui/mod.rs:695:5
[INFO] [stderr]     |
[INFO] [stderr] 691 | struct DisplayItem<'a> {
[INFO] [stderr]     |        ----------- field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 695 |     original_index: usize,  // 在 app.proxies 中的原始索引
[INFO] [stderr]     |     ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: fields `conn_id` and `context` are never read
[INFO] [stderr]    --> src/core/tun/tcp_stack.rs:285:5
[INFO] [stderr]     |
[INFO] [stderr] 284 | pub struct TunTcpStream {
[INFO] [stderr]     |            ------------ fields in this struct
[INFO] [stderr] 285 |     conn_id: ConnId,
[INFO] [stderr]     |     ^^^^^^^
[INFO] [stderr] 286 |     context: Arc<TunContext>,
[INFO] [stderr]     |     ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `control_addr` is never read
[INFO] [stderr]    --> src/core/tun/udp_stack.rs:271:5
[INFO] [stderr]     |
[INFO] [stderr] 267 | pub struct UdpForwarder {
[INFO] [stderr]     |            ------------ field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 271 |     control_addr: SocketAddr,
[INFO] [stderr]     |     ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `get_system_dns` is never used
[INFO] [stderr]    --> src/core/tun/dns.rs:439:4
[INFO] [stderr]     |
[INFO] [stderr] 439 | fn get_system_dns() -> Option<SocketAddr> {
[INFO] [stderr]     |    ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `handle` is never read
[INFO] [stderr]    --> src/core/tun/smoltcp_stack.rs:118:5
[INFO] [stderr]     |
[INFO] [stderr] 117 | struct TcpConnState {
[INFO] [stderr]     |        ------------ field in this struct
[INFO] [stderr] 118 |     handle: SocketHandle,
[INFO] [stderr]     |     ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `context` is never read
[INFO] [stderr]    --> src/core/tun/smoltcp_stack.rs:129:5
[INFO] [stderr]     |
[INFO] [stderr] 125 | pub struct SmolStackRunner {
[INFO] [stderr]     |            --------------- field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 129 |     context: Arc<TunContext>,
[INFO] [stderr]     |     ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: methods `create_listen_socket` and `handle_tcp_syn` are never used
[INFO] [stderr]    --> src/core/tun/smoltcp_stack.rs:275:8
[INFO] [stderr]     |
[INFO] [stderr] 133 | impl SmolStackRunner {
[INFO] [stderr]     | -------------------- methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 275 |     fn create_listen_socket(&mut self, port: u16) -> SocketHandle {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 315 |     fn handle_tcp_syn(&mut self, src_ip: Ipv4Addr, src_port: u16, dst_ip: Ipv4Addr, dst_port: u16) {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: `lux` (bin "lux" test) generated 109 warnings (run `cargo fix --bin "lux" -p lux --tests` to apply 74 suggestions)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.37s
[INFO] [stderr]      Running unittests main.rs (/opt/rustwide/target/debug/deps/lux-09da2e57d2d00c57)
[INFO] [stdout] test src::core::crypto::cipher::tests::test_key_lengths ... ok
[INFO] [stdout] test src::core::crypto::aead::tests::test_wrong_key_fails ... ok
[INFO] [stdout] test src::core::crypto::cipher::tests::test_cipher_method ... ok
[INFO] [stdout] test src::core::crypto::stream::tests::test_encrypted_stream_chunk_api ... ok
[INFO] [stdout] test src::core::crypto::aead::tests::test_chacha20_poly1305_roundtrip ... ok
[INFO] [stdout] test src::core::crypto::aead::tests::test_aes_256_gcm_roundtrip ... ok
[INFO] [stdout] test src::core::config::tests::test_parse_config ... FAILED
[INFO] [stdout] test src::core::crypto::cipher::tests::test_cipher_kind_parsing ... ok
[INFO] [stdout] test src::core::crypto::tests::test_increase_nonce ... ok
[INFO] [stdout] test src::core::crypto::tests::test_random_bytes ... ok
[INFO] [stdout] test src::core::crypto::stream::tests::test_encrypted_stream_roundtrip ... ok
[INFO] [stdout] test src::core::crypto::tests::test_hkdf_sha1 ... ok
[INFO] [stdout] test src::core::crypto::tests::test_bytes_to_key ... ok
[INFO] [stdout] test src::core::engine::tests::test_engine_create ... ok
[INFO] [stdout] test src::core::error::tests::test_error_constructors ... ok
[INFO] [stdout] test src::core::outbound::http::tests::test_build_connect_request ... ok
[INFO] [stdout] test src::core::outbound::http::tests::test_parse_connect_response ... ok
[INFO] [stdout] test src::core::outbound::shadowsocks::tests::test_build_request_domain ... ok
[INFO] [stdout] test src::core::outbound::socks5::tests::test_need_auth ... ok
[INFO] [stdout] test src::core::outbound::vmess::tests::test_security_type_parsing ... ok
[INFO] [stdout] test src::core::outbound::shadowsocks::tests::test_parse_address ... ok
[INFO] [stdout] test src::core::outbound::vmess::tests::test_vmess_new ... ok
[INFO] [stdout] test src::core::rule::geoip::tests::test_geoip_cache ... ok
[INFO] [stdout] test src::core::rule::parser::tests::test_parse_domain_suffix ... ok
[INFO] [stdout] test src::core::rule::geoip::tests::test_geoip_lookup ... ok
[INFO] [stdout] test src::core::rule::parser::tests::test_parse_domain_rule ... ok
[INFO] [stdout] test src::core::rule::parser::tests::test_parse_match ... ok
[INFO] [stdout] test src::core::tui::text_editor::tests::test_insert_and_move ... ok
[INFO] [stdout] test src::core::shutdown::tests::test_shutdown_signal ... ok
[INFO] [stdout] test src::core::rule::parser::tests::test_parse_ip_cidr ... ok
[INFO] [stdout] test src::core::outbound::vmess::tests::test_vmess_cipher ... ok
[INFO] [stdout] test src::core::tun::device::tests::test_netmask_to_prefix ... ok
[INFO] [stdout] test src::core::tun::dns_cache::tests::test_dns_cache ... ok
[INFO] [stdout] test src::core::tun::smoltcp_stack::tests::test_checksum ... ok
[INFO] [stdout] test src::core::tun::dns_cache::tests::test_build_dns_query ... ok
[INFO] [stdout] test src::core::tun::smoltcp_stack::tests::test_create_tcp_rst ... ok
[INFO] [stdout] test src::core::tui::text_editor::tests::test_unicode ... FAILED
[INFO] [stdout] test src::core::tun::smoltcp_stack::tests::test_netmask_to_prefix ... ok
[INFO] [stdout] test src::core::tui::text_editor::tests::test_backspace ... FAILED
[INFO] [stdout] test src::utils::yaml_reader::tests::test_parse_scalar ... ok
[INFO] [stdout] test src::core::tun::tcp_stack::tests::test_conn_id ... ok
[INFO] [stdout] test src::core::outbound::shadowsocks::tests::test_build_request_ipv4 ... ok
[INFO] [stdout] test tests::test_engine_start ... ok
[INFO] [stdout] test src::core::outbound::http::tests::test_build_connect_request_with_auth ... ok
[INFO] [stdout] test src::core::shutdown::tests::test_shutdown_manager ... ok
[INFO] [stdout] test src::core::tun::dns_cache::tests::test_cache_expiration ... ok
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- src::core::config::tests::test_parse_config stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'src::core::config::tests::test_parse_config' (17) panicked at src/core/config.rs:295:9:
[INFO] [stdout] assertion `left == right` failed
[INFO] [stdout]   left: None
[INFO] [stdout]  right: Some(7890)
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x570810dc365a - std[ec419fa8110287d5]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x570810dc365a - std[ec419fa8110287d5]::backtrace_rs::backtrace::trace_unsynchronized::<std[ec419fa8110287d5]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x570810dc365a - std[ec419fa8110287d5]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x570810dc365a - <<std[ec419fa8110287d5]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[35159d6ffb30e017]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x570810ddbc3a - <core[35159d6ffb30e017]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x570810ddbc3a - core[35159d6ffb30e017]::fmt::write
[INFO] [stdout]    6:     0x570810dc8732 - std[ec419fa8110287d5]::io::default_write_fmt::<alloc[a8a7aba520129d98]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/io/mod.rs:621:11
[INFO] [stdout]    7:     0x570810dc8732 - <alloc[a8a7aba520129d98]::vec::Vec<u8> as std[ec419fa8110287d5]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/io/mod.rs:1976:13
[INFO] [stdout]    8:     0x570810da190f - <std[ec419fa8110287d5]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x570810da190f - std[ec419fa8110287d5]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x570810dbb519 - std[ec419fa8110287d5]::panicking::default_hook
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x570810a6bc5c - <alloc[a8a7aba520129d98]::boxed::Box<dyn for<'a, 'b> core[35159d6ffb30e017]::ops::function::Fn<(&'a std[ec419fa8110287d5]::panic::PanicHookInfo<'b>,), Output = ()> + core[35159d6ffb30e017]::marker::Sync + core[35159d6ffb30e017]::marker::Send> as core[35159d6ffb30e017]::ops::function::Fn<(&std[ec419fa8110287d5]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/alloc/src/boxed.rs:2285:9
[INFO] [stdout]   12:     0x570810a6bc5c - test[a8007afcd3effadc]::test_main_inner::<test[a8007afcd3effadc]::test_main_static::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/test/src/lib.rs:155:21
[INFO] [stdout]   13:     0x570810dbb792 - <alloc[a8a7aba520129d98]::boxed::Box<dyn for<'a, 'b> core[35159d6ffb30e017]::ops::function::Fn<(&'a std[ec419fa8110287d5]::panic::PanicHookInfo<'b>,), Output = ()> + core[35159d6ffb30e017]::marker::Sync + core[35159d6ffb30e017]::marker::Send> as core[35159d6ffb30e017]::ops::function::Fn<(&std[ec419fa8110287d5]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/alloc/src/boxed.rs:2285:9
[INFO] [stdout]   14:     0x570810dbb792 - std[ec419fa8110287d5]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x570810da19c8 - std[ec419fa8110287d5]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panicking.rs:698:13
[INFO] [stdout]   16:     0x570810d99229 - std[ec419fa8110287d5]::sys::backtrace::__rust_end_short_backtrace::<std[ec419fa8110287d5]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x570810da289d - __rustc[cfb3622dd870db93]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x570810ddc42c - core[35159d6ffb30e017]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x570810ddc2b3 - core[35159d6ffb30e017]::panicking::assert_failed_inner
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/core/src/panicking.rs:439:17
[INFO] [stdout]   20:     0x570810943c2b - core[35159d6ffb30e017]::panicking::assert_failed::<core[35159d6ffb30e017]::option::Option<u16>, core[35159d6ffb30e017]::option::Option<u16>>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/core/src/panicking.rs:394:5
[INFO] [stdout]   21:     0x57081089a12f - lux[ea2c6b13dc23895f]::src::core::config::tests::test_parse_config
[INFO] [stdout]                                at /opt/rustwide/workdir/src/core/config.rs:295:9
[INFO] [stdout]   22:     0x570810891117 - lux[ea2c6b13dc23895f]::src::core::config::tests::test_parse_config::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/src/core/config.rs:277:27
[INFO] [stdout]   23:     0x5708108df966 - <lux[ea2c6b13dc23895f]::src::core::config::tests::test_parse_config::{closure#0} as core[35159d6ffb30e017]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   24:     0x570810a5ef3b - <fn() -> core[35159d6ffb30e017]::result::Result<(), alloc[a8a7aba520129d98]::string::String> as core[35159d6ffb30e017]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   25:     0x570810a5ef3b - test[a8007afcd3effadc]::__rust_begin_short_backtrace::<core[35159d6ffb30e017]::result::Result<(), alloc[a8a7aba520129d98]::string::String>, fn() -> core[35159d6ffb30e017]::result::Result<(), alloc[a8a7aba520129d98]::string::String>>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/test/src/lib.rs:724:18
[INFO] [stdout]   26:     0x570810a6c72b - test[a8007afcd3effadc]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/test/src/lib.rs:747:74
[INFO] [stdout]   27:     0x570810a6c72b - <core[35159d6ffb30e017]::panic::unwind_safe::AssertUnwindSafe<test[a8007afcd3effadc]::run_test_in_process::{closure#0}> as core[35159d6ffb30e017]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   28:     0x570810a6c72b - std[ec419fa8110287d5]::panicking::catch_unwind::do_call::<core[35159d6ffb30e017]::panic::unwind_safe::AssertUnwindSafe<test[a8007afcd3effadc]::run_test_in_process::{closure#0}>, core[35159d6ffb30e017]::result::Result<(), alloc[a8a7aba520129d98]::string::String>>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panicking.rs:581:40
[INFO] [stdout]   29:     0x570810a6c72b - std[ec419fa8110287d5]::panicking::catch_unwind::<core[35159d6ffb30e017]::result::Result<(), alloc[a8a7aba520129d98]::string::String>, core[35159d6ffb30e017]::panic::unwind_safe::AssertUnwindSafe<test[a8007afcd3effadc]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panicking.rs:544:19
[INFO] [stdout]   30:     0x570810a6c72b - std[ec419fa8110287d5]::panic::catch_unwind::<core[35159d6ffb30e017]::panic::unwind_safe::AssertUnwindSafe<test[a8007afcd3effadc]::run_test_in_process::{closure#0}>, core[35159d6ffb30e017]::result::Result<(), alloc[a8a7aba520129d98]::string::String>>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panic.rs:359:14
[INFO] [stdout]   31:     0x570810a6c72b - test[a8007afcd3effadc]::run_test_in_process
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/test/src/lib.rs:747:27
[INFO] [stdout]   32:     0x570810a6c72b - test[a8007afcd3effadc]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/test/src/lib.rs:668:43
[INFO] [stdout]   33:     0x570810a67104 - test[a8007afcd3effadc]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/test/src/lib.rs:698:41
[INFO] [stdout]   34:     0x570810a67104 - std[ec419fa8110287d5]::sys::backtrace::__rust_begin_short_backtrace::<test[a8007afcd3effadc]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   35:     0x570810a6f332 - std[ec419fa8110287d5]::thread::lifecycle::spawn_unchecked::<test[a8007afcd3effadc]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/thread/lifecycle.rs:70:13
[INFO] [stdout]   36:     0x570810a6f332 - <core[35159d6ffb30e017]::panic::unwind_safe::AssertUnwindSafe<std[ec419fa8110287d5]::thread::lifecycle::spawn_unchecked<test[a8007afcd3effadc]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[35159d6ffb30e017]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   37:     0x570810a6f332 - std[ec419fa8110287d5]::panicking::catch_unwind::do_call::<core[35159d6ffb30e017]::panic::unwind_safe::AssertUnwindSafe<std[ec419fa8110287d5]::thread::lifecycle::spawn_unchecked<test[a8007afcd3effadc]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panicking.rs:581:40
[INFO] [stdout]   38:     0x570810a6f332 - std[ec419fa8110287d5]::panicking::catch_unwind::<(), core[35159d6ffb30e017]::panic::unwind_safe::AssertUnwindSafe<std[ec419fa8110287d5]::thread::lifecycle::spawn_unchecked<test[a8007afcd3effadc]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panicking.rs:544:19
[INFO] [stdout]   39:     0x570810a6f332 - std[ec419fa8110287d5]::panic::catch_unwind::<core[35159d6ffb30e017]::panic::unwind_safe::AssertUnwindSafe<std[ec419fa8110287d5]::thread::lifecycle::spawn_unchecked<test[a8007afcd3effadc]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panic.rs:359:14
[INFO] [stdout]   40:     0x570810a6f332 - std[ec419fa8110287d5]::thread::lifecycle::spawn_unchecked::<test[a8007afcd3effadc]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/thread/lifecycle.rs:68:26
[INFO] [stdout]   41:     0x570810a6f332 - <std[ec419fa8110287d5]::thread::lifecycle::spawn_unchecked<test[a8007afcd3effadc]::run_test::{closure#1}, ()>::{closure#1} as core[35159d6ffb30e017]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   42:     0x570810dc2d6f - <alloc[a8a7aba520129d98]::boxed::Box<dyn core[35159d6ffb30e017]::ops::function::FnOnce<(), Output = ()> + core[35159d6ffb30e017]::marker::Send> as core[35159d6ffb30e017]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/alloc/src/boxed.rs:2271:9
[INFO] [stdout]   43:     0x570810dc2d6f - <std[ec419fa8110287d5]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/sys/thread/unix.rs:118:17
[INFO] [stdout]   44:     0x7fd3e88faaa4 - <unknown>
[INFO] [stdout]   45:     0x7fd3e8987a64 - clone
[INFO] [stdout]   46:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- src::core::tui::text_editor::tests::test_unicode stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'src::core::tui::text_editor::tests::test_unicode' (52) panicked at src/core/tui/text_editor.rs:245:9:
[INFO] [stdout] assertion `left == right` failed
[INFO] [stdout]   left: 6
[INFO] [stdout]  right: 2
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x570810dc365a - std[ec419fa8110287d5]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x570810dc365a - std[ec419fa8110287d5]::backtrace_rs::backtrace::trace_unsynchronized::<std[ec419fa8110287d5]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x570810dc365a - std[ec419fa8110287d5]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x570810dc365a - <<std[ec419fa8110287d5]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[35159d6ffb30e017]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x570810ddbc3a - <core[35159d6ffb30e017]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x570810ddbc3a - core[35159d6ffb30e017]::fmt::write
[INFO] [stdout]    6:     0x570810dc8732 - std[ec419fa8110287d5]::io::default_write_fmt::<alloc[a8a7aba520129d98]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/io/mod.rs:621:11
[INFO] [stdout]    7:     0x570810dc8732 - <alloc[a8a7aba520129d98]::vec::Vec<u8> as std[ec419fa8110287d5]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/io/mod.rs:1976:13
[INFO] [stdout]    8:     0x570810da190f - <std[ec419fa8110287d5]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x570810da190f - std[ec419fa8110287d5]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x570810dbb519 - std[ec419fa8110287d5]::panicking::default_hook
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x570810a6bc5c - <alloc[a8a7aba520129d98]::boxed::Box<dyn for<'a, 'b> core[35159d6ffb30e017]::ops::function::Fn<(&'a std[ec419fa8110287d5]::panic::PanicHookInfo<'b>,), Output = ()> + core[35159d6ffb30e017]::marker::Sync + core[35159d6ffb30e017]::marker::Send> as core[35159d6ffb30e017]::ops::function::Fn<(&std[ec419fa8110287d5]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/alloc/src/boxed.rs:2285:9
[INFO] [stdout]   12:     0x570810a6bc5c - test[a8007afcd3effadc]::test_main_inner::<test[a8007afcd3effadc]::test_main_static::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/test/src/lib.rs:155:21
[INFO] [stdout]   13:     0x570810dbb792 - <alloc[a8a7aba520129d98]::boxed::Box<dyn for<'a, 'b> core[35159d6ffb30e017]::ops::function::Fn<(&'a std[ec419fa8110287d5]::panic::PanicHookInfo<'b>,), Output = ()> + core[35159d6ffb30e017]::marker::Sync + core[35159d6ffb30e017]::marker::Send> as core[35159d6ffb30e017]::ops::function::Fn<(&std[ec419fa8110287d5]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/alloc/src/boxed.rs:2285:9
[INFO] [stdout]   14:     0x570810dbb792 - std[ec419fa8110287d5]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x570810da19c8 - std[ec419fa8110287d5]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panicking.rs:698:13
[INFO] [stdout]   16:     0x570810d99229 - std[ec419fa8110287d5]::sys::backtrace::__rust_end_short_backtrace::<std[ec419fa8110287d5]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x570810da289d - __rustc[cfb3622dd870db93]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x570810ddc42c - core[35159d6ffb30e017]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x570810ddc2b3 - core[35159d6ffb30e017]::panicking::assert_failed_inner
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/core/src/panicking.rs:439:17
[INFO] [stdout]   20:     0x570810dd670d - core[35159d6ffb30e017]::panicking::assert_failed::<usize, usize>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/core/src/panicking.rs:394:5
[INFO] [stdout]   21:     0x57081094c304 - lux[ea2c6b13dc23895f]::src::core::tui::text_editor::tests::test_unicode
[INFO] [stdout]                                at /opt/rustwide/workdir/src/core/tui/text_editor.rs:245:9
[INFO] [stdout]   22:     0x570810949297 - lux[ea2c6b13dc23895f]::src::core::tui::text_editor::tests::test_unicode::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/src/core/tui/text_editor.rs:243:22
[INFO] [stdout]   23:     0x5708108dfba6 - <lux[ea2c6b13dc23895f]::src::core::tui::text_editor::tests::test_unicode::{closure#0} as core[35159d6ffb30e017]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   24:     0x570810a5ef3b - <fn() -> core[35159d6ffb30e017]::result::Result<(), alloc[a8a7aba520129d98]::string::String> as core[35159d6ffb30e017]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   25:     0x570810a5ef3b - test[a8007afcd3effadc]::__rust_begin_short_backtrace::<core[35159d6ffb30e017]::result::Result<(), alloc[a8a7aba520129d98]::string::String>, fn() -> core[35159d6ffb30e017]::result::Result<(), alloc[a8a7aba520129d98]::string::String>>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/test/src/lib.rs:724:18
[INFO] [stdout]   26:     0x570810a6c72b - test[a8007afcd3effadc]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/test/src/lib.rs:747:74
[INFO] [stdout]   27:     0x570810a6c72b - <core[35159d6ffb30e017]::panic::unwind_safe::AssertUnwindSafe<test[a8007afcd3effadc]::run_test_in_process::{closure#0}> as core[35159d6ffb30e017]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   28:     0x570810a6c72b - std[ec419fa8110287d5]::panicking::catch_unwind::do_call::<core[35159d6ffb30e017]::panic::unwind_safe::AssertUnwindSafe<test[a8007afcd3effadc]::run_test_in_process::{closure#0}>, core[35159d6ffb30e017]::result::Result<(), alloc[a8a7aba520129d98]::string::String>>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panicking.rs:581:40
[INFO] [stdout]   29:     0x570810a6c72b - std[ec419fa8110287d5]::panicking::catch_unwind::<core[35159d6ffb30e017]::result::Result<(), alloc[a8a7aba520129d98]::string::String>, core[35159d6ffb30e017]::panic::unwind_safe::AssertUnwindSafe<test[a8007afcd3effadc]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panicking.rs:544:19
[INFO] [stdout]   30:     0x570810a6c72b - std[ec419fa8110287d5]::panic::catch_unwind::<core[35159d6ffb30e017]::panic::unwind_safe::AssertUnwindSafe<test[a8007afcd3effadc]::run_test_in_process::{closure#0}>, core[35159d6ffb30e017]::result::Result<(), alloc[a8a7aba520129d98]::string::String>>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panic.rs:359:14
[INFO] [stdout]   31:     0x570810a6c72b - test[a8007afcd3effadc]::run_test_in_process
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/test/src/lib.rs:747:27
[INFO] [stdout]   32:     0x570810a6c72b - test[a8007afcd3effadc]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/test/src/lib.rs:668:43
[INFO] [stdout]   33:     0x570810a67104 - test[a8007afcd3effadc]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/test/src/lib.rs:698:41
[INFO] [stdout]   34:     0x570810a67104 - std[ec419fa8110287d5]::sys::backtrace::__rust_begin_short_backtrace::<test[a8007afcd3effadc]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   35:     0x570810a6f332 - std[ec419fa8110287d5]::thread::lifecycle::spawn_unchecked::<test[a8007afcd3effadc]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/thread/lifecycle.rs:70:13
[INFO] [stdout]   36:     0x570810a6f332 - <core[35159d6ffb30e017]::panic::unwind_safe::AssertUnwindSafe<std[ec419fa8110287d5]::thread::lifecycle::spawn_unchecked<test[a8007afcd3effadc]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[35159d6ffb30e017]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   37:     0x570810a6f332 - std[ec419fa8110287d5]::panicking::catch_unwind::do_call::<core[35159d6ffb30e017]::panic::unwind_safe::AssertUnwindSafe<std[ec419fa8110287d5]::thread::lifecycle::spawn_unchecked<test[a8007afcd3effadc]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panicking.rs:581:40
[INFO] [stdout]   38:     0x570810a6f332 - std[ec419fa8110287d5]::panicking::catch_unwind::<(), core[35159d6ffb30e017]::panic::unwind_safe::AssertUnwindSafe<std[ec419fa8110287d5]::thread::lifecycle::spawn_unchecked<test[a8007afcd3effadc]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panicking.rs:544:19
[INFO] [stdout]   39:     0x570810a6f332 - std[ec419fa8110287d5]::panic::catch_unwind::<core[35159d6ffb30e017]::panic::unwind_safe::AssertUnwindSafe<std[ec419fa8110287d5]::thread::lifecycle::spawn_unchecked<test[a8007afcd3effadc]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panic.rs:359:14
[INFO] [stdout]   40:     0x570810a6f332 - std[ec419fa8110287d5]::thread::lifecycle::spawn_unchecked::<test[a8007afcd3effadc]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/thread/lifecycle.rs:68:26
[INFO] [stdout]   41:     0x570810a6f332 - <std[ec419fa8110287d5]::thread::lifecycle::spawn_unchecked<test[a8007afcd3effadc]::run_test::{closure#1}, ()>::{closure#1} as core[35159d6ffb30e017]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   42:     0x570810dc2d6f - <alloc[a8a7aba520129d98]::boxed::Box<dyn core[35159d6ffb30e017]::ops::function::FnOnce<(), Output = ()> + core[35159d6ffb30e017]::marker::Send> as core[35159d6ffb30e017]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/alloc/src/boxed.rs:2271:9
[INFO] [stdout]   43:     0x570810dc2d6f - <std[ec419fa8110287d5]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/sys/thread/unix.rs:118:17
[INFO] [stdout]   44:     0x7fd3e88faaa4 - <unknown>
[INFO] [stdout]   45:     0x7fd3e8987a64 - clone
[INFO] [stdout]   46:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- src::core::tui::text_editor::tests::test_backspace stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'src::core::tui::text_editor::tests::test_backspace' (50) panicked at src/core/tui/text_editor.rs:238:9:
[INFO] [stdout] assertion `left == right` failed
[INFO] [stdout]   left: "Helo"
[INFO] [stdout]  right: "Hell"
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x570810dc365a - std[ec419fa8110287d5]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x570810dc365a - std[ec419fa8110287d5]::backtrace_rs::backtrace::trace_unsynchronized::<std[ec419fa8110287d5]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x570810dc365a - std[ec419fa8110287d5]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x570810dc365a - <<std[ec419fa8110287d5]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[35159d6ffb30e017]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x570810ddbc3a - <core[35159d6ffb30e017]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x570810ddbc3a - core[35159d6ffb30e017]::fmt::write
[INFO] [stdout]    6:     0x570810dc8732 - std[ec419fa8110287d5]::io::default_write_fmt::<alloc[a8a7aba520129d98]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/io/mod.rs:621:11
[INFO] [stdout]    7:     0x570810dc8732 - <alloc[a8a7aba520129d98]::vec::Vec<u8> as std[ec419fa8110287d5]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/io/mod.rs:1976:13
[INFO] [stdout]    8:     0x570810da190f - <std[ec419fa8110287d5]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x570810da190f - std[ec419fa8110287d5]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x570810dbb519 - std[ec419fa8110287d5]::panicking::default_hook
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x570810a6bc5c - <alloc[a8a7aba520129d98]::boxed::Box<dyn for<'a, 'b> core[35159d6ffb30e017]::ops::function::Fn<(&'a std[ec419fa8110287d5]::panic::PanicHookInfo<'b>,), Output = ()> + core[35159d6ffb30e017]::marker::Sync + core[35159d6ffb30e017]::marker::Send> as core[35159d6ffb30e017]::ops::function::Fn<(&std[ec419fa8110287d5]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/alloc/src/boxed.rs:2285:9
[INFO] [stdout]   12:     0x570810a6bc5c - test[a8007afcd3effadc]::test_main_inner::<test[a8007afcd3effadc]::test_main_static::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/test/src/lib.rs:155:21
[INFO] [stdout]   13:     0x570810dbb792 - <alloc[a8a7aba520129d98]::boxed::Box<dyn for<'a, 'b> core[35159d6ffb30e017]::ops::function::Fn<(&'a std[ec419fa8110287d5]::panic::PanicHookInfo<'b>,), Output = ()> + core[35159d6ffb30e017]::marker::Sync + core[35159d6ffb30e017]::marker::Send> as core[35159d6ffb30e017]::ops::function::Fn<(&std[ec419fa8110287d5]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/alloc/src/boxed.rs:2285:9
[INFO] [stdout]   14:     0x570810dbb792 - std[ec419fa8110287d5]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x570810da19c8 - std[ec419fa8110287d5]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panicking.rs:698:13
[INFO] [stdout]   16:     0x570810d99229 - std[ec419fa8110287d5]::sys::backtrace::__rust_end_short_backtrace::<std[ec419fa8110287d5]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x570810da289d - __rustc[cfb3622dd870db93]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x570810ddc42c - core[35159d6ffb30e017]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x570810ddc2b3 - core[35159d6ffb30e017]::panicking::assert_failed_inner
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/core/src/panicking.rs:439:17
[INFO] [stdout]   20:     0x570810aa9270 - core[35159d6ffb30e017]::panicking::assert_failed::<&str, &str>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/core/src/panicking.rs:394:5
[INFO] [stdout]   21:     0x57081094c52d - lux[ea2c6b13dc23895f]::src::core::tui::text_editor::tests::test_backspace
[INFO] [stdout]                                at /opt/rustwide/workdir/src/core/tui/text_editor.rs:238:9
[INFO] [stdout]   22:     0x5708109492c7 - lux[ea2c6b13dc23895f]::src::core::tui::text_editor::tests::test_backspace::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/src/core/tui/text_editor.rs:234:24
[INFO] [stdout]   23:     0x5708108dfbe6 - <lux[ea2c6b13dc23895f]::src::core::tui::text_editor::tests::test_backspace::{closure#0} as core[35159d6ffb30e017]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   24:     0x570810a5ef3b - <fn() -> core[35159d6ffb30e017]::result::Result<(), alloc[a8a7aba520129d98]::string::String> as core[35159d6ffb30e017]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   25:     0x570810a5ef3b - test[a8007afcd3effadc]::__rust_begin_short_backtrace::<core[35159d6ffb30e017]::result::Result<(), alloc[a8a7aba520129d98]::string::String>, fn() -> core[35159d6ffb30e017]::result::Result<(), alloc[a8a7aba520129d98]::string::String>>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/test/src/lib.rs:724:18
[INFO] [stdout]   26:     0x570810a6c72b - test[a8007afcd3effadc]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/test/src/lib.rs:747:74
[INFO] [stdout]   27:     0x570810a6c72b - <core[35159d6ffb30e017]::panic::unwind_safe::AssertUnwindSafe<test[a8007afcd3effadc]::run_test_in_process::{closure#0}> as core[35159d6ffb30e017]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   28:     0x570810a6c72b - std[ec419fa8110287d5]::panicking::catch_unwind::do_call::<core[35159d6ffb30e017]::panic::unwind_safe::AssertUnwindSafe<test[a8007afcd3effadc]::run_test_in_process::{closure#0}>, core[35159d6ffb30e017]::result::Result<(), alloc[a8a7aba520129d98]::string::String>>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panicking.rs:581:40
[INFO] [stdout]   29:     0x570810a6c72b - std[ec419fa8110287d5]::panicking::catch_unwind::<core[35159d6ffb30e017]::result::Result<(), alloc[a8a7aba520129d98]::string::String>, core[35159d6ffb30e017]::panic::unwind_safe::AssertUnwindSafe<test[a8007afcd3effadc]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panicking.rs:544:19
[INFO] [stdout]   30:     0x570810a6c72b - std[ec419fa8110287d5]::panic::catch_unwind::<core[35159d6ffb30e017]::panic::unwind_safe::AssertUnwindSafe<test[a8007afcd3effadc]::run_test_in_process::{closure#0}>, core[35159d6ffb30e017]::result::Result<(), alloc[a8a7aba520129d98]::string::String>>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panic.rs:359:14
[INFO] [stdout]   31:     0x570810a6c72b - test[a8007afcd3effadc]::run_test_in_process
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/test/src/lib.rs:747:27
[INFO] [stdout]   32:     0x570810a6c72b - test[a8007afcd3effadc]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/test/src/lib.rs:668:43
[INFO] [stdout]   33:     0x570810a67104 - test[a8007afcd3effadc]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/test/src/lib.rs:698:41
[INFO] [stdout]   34:     0x570810a67104 - std[ec419fa8110287d5]::sys::backtrace::__rust_begin_short_backtrace::<test[a8007afcd3effadc]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   35:     0x570810a6f332 - std[ec419fa8110287d5]::thread::lifecycle::spawn_unchecked::<test[a8007afcd3effadc]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/thread/lifecycle.rs:70:13
[INFO] [stdout]   36:     0x570810a6f332 - <core[35159d6ffb30e017]::panic::unwind_safe::AssertUnwindSafe<std[ec419fa8110287d5]::thread::lifecycle::spawn_unchecked<test[a8007afcd3effadc]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[35159d6ffb30e017]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   37:     0x570810a6f332 - std[ec419fa8110287d5]::panicking::catch_unwind::do_call::<core[35159d6ffb30e017]::panic::unwind_safe::AssertUnwindSafe<std[ec419fa8110287d5]::thread::lifecycle::spawn_unchecked<test[a8007afcd3effadc]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panicking.rs:581:40
[INFO] [stdout]   38:     0x570810a6f332 - std[ec419fa8110287d5]::panicking::catch_unwind::<(), core[35159d6ffb30e017]::panic::unwind_safe::AssertUnwindSafe<std[ec419fa8110287d5]::thread::lifecycle::spawn_unchecked<test[a8007afcd3effadc]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panicking.rs:544:19
[INFO] [stdout]   39:     0x570810a6f332 - std[ec419fa8110287d5]::panic::catch_unwind::<core[35159d6ffb30e017]::panic::unwind_safe::AssertUnwindSafe<std[ec419fa8110287d5]::thread::lifecycle::spawn_unchecked<test[a8007afcd3effadc]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panic.rs:359:14
[INFO] [stdout]   40:     0x570810a6f332 - std[ec419fa8110287d5]::thread::lifecycle::spawn_unchecked::<test[a8007afcd3effadc]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/thread/lifecycle.rs:68:26
[INFO] [stdout]   41:     0x570810a6f332 - <std[ec419fa8110287d5]::thread::lifecycle::spawn_unchecked<test[a8007afcd3effadc]::run_test::{closure#1}, ()>::{closure#1} as core[35159d6ffb30e017]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   42:     0x570810dc2d6f - <alloc[a8a7aba520129d98]::boxed::Box<dyn core[35159d6ffb30e017]::ops::function::FnOnce<(), Output = ()> + core[35159d6ffb30e017]::marker::Send> as core[35159d6ffb30e017]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/alloc/src/boxed.rs:2271:9
[INFO] [stdout]   43:     0x570810dc2d6f - <std[ec419fa8110287d5]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/sys/thread/unix.rs:118:17
[INFO] [stdout]   44:     0x7fd3e88faaa4 - <unknown>
[INFO] [stdout]   45:     0x7fd3e8987a64 - clone
[INFO] [stdout]   46:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     src::core::config::tests::test_parse_config
[INFO] [stdout]     src::core::tui::text_editor::tests::test_backspace
[INFO] [stdout]     src::core::tui::text_editor::tests::test_unicode
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 43 passed; 3 failed; 0 ignored; 0 measured; 0 filtered out; finished in 2.19s
[INFO] [stdout] 
[INFO] [stderr] error: test failed, to rerun pass `--bin lux`
[INFO] running `Command { std: "docker" "inspect" "9a49688f12df46ab02ab1a46573cc7cdaccb454327e26b2b9317b0aa885f0bf1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "9a49688f12df46ab02ab1a46573cc7cdaccb454327e26b2b9317b0aa885f0bf1", kill_on_drop: false }`
[INFO] [stdout] 9a49688f12df46ab02ab1a46573cc7cdaccb454327e26b2b9317b0aa885f0bf1
