[INFO] cloning repository https://github.com/evm-andrey/telegram-socks-ws-proxy
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/evm-andrey/telegram-socks-ws-proxy" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fevm-andrey%2Ftelegram-socks-ws-proxy", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fevm-andrey%2Ftelegram-socks-ws-proxy'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 3d566a2603c73a2b81d63c31f7019bb9d7993d5d
[INFO] testing evm-andrey/telegram-socks-ws-proxy against try#33835004928d3bf65db4d4712e1330766263b0bd for pr-155739
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fevm-andrey%2Ftelegram-socks-ws-proxy" "/workspace/builds/worker-0-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/evm-andrey/telegram-socks-ws-proxy
[INFO] finished tweaking git repo https://github.com/evm-andrey/telegram-socks-ws-proxy
[INFO] tweaked toml for git repo https://github.com/evm-andrey/telegram-socks-ws-proxy written to /workspace/builds/worker-0-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/evm-andrey/telegram-socks-ws-proxy 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/evm-andrey/telegram-socks-ws-proxy 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-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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] 134ba36bb35d4f9d5aa8d7dbef41894016f0882cc228329f84ebe0b6577bb51b
[INFO] running `Command { std: "docker" "start" "-a" "134ba36bb35d4f9d5aa8d7dbef41894016f0882cc228329f84ebe0b6577bb51b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "134ba36bb35d4f9d5aa8d7dbef41894016f0882cc228329f84ebe0b6577bb51b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "134ba36bb35d4f9d5aa8d7dbef41894016f0882cc228329f84ebe0b6577bb51b", kill_on_drop: false }`
[INFO] [stdout] 134ba36bb35d4f9d5aa8d7dbef41894016f0882cc228329f84ebe0b6577bb51b
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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] c6f514940e9e5732a722f0bf16d85af133400b9e32d11c03860165c0716e845d
[INFO] running `Command { std: "docker" "start" "-a" "c6f514940e9e5732a722f0bf16d85af133400b9e32d11c03860165c0716e845d", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.183
[INFO] [stderr]    Compiling zeroize v1.8.2
[INFO] [stderr]    Compiling cc v1.2.57
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling untrusted v0.9.0
[INFO] [stderr]    Compiling anstyle-parse v1.0.0
[INFO] [stderr]    Compiling aho-corasick v1.1.4
[INFO] [stderr]    Compiling anstyle v1.0.14
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]    Compiling hashbrown v0.16.1
[INFO] [stderr]    Compiling anstyle-query v1.1.5
[INFO] [stderr]    Compiling colorchoice v1.0.5
[INFO] [stderr]    Compiling is_terminal_polyfill v1.70.2
[INFO] [stderr]    Compiling rustls v0.23.37
[INFO] [stderr]    Compiling inout v0.1.4
[INFO] [stderr]    Compiling regex-syntax v0.8.10
[INFO] [stderr]    Compiling regex-syntax v0.6.29
[INFO] [stderr]    Compiling iana-time-zone v0.1.65
[INFO] [stderr]    Compiling stable_deref_trait v1.2.1
[INFO] [stderr]    Compiling clap_lex v1.1.0
[INFO] [stderr]    Compiling owning_ref v0.4.1
[INFO] [stderr]    Compiling smallvec v0.6.14
[INFO] [stderr]    Compiling tracing-log v0.1.4
[INFO] [stderr]    Compiling cipher v0.4.4
[INFO] [stderr]    Compiling ansi_term v0.11.0
[INFO] [stderr]    Compiling rustls-pki-types v1.14.0
[INFO] [stderr]    Compiling anstream v1.0.0
[INFO] [stderr]    Compiling ctr v0.9.2
[INFO] [stderr]    Compiling aes v0.8.4
[INFO] [stderr]    Compiling webpki-roots v1.0.6
[INFO] [stderr]    Compiling clap_builder v4.6.0
[INFO] [stderr]    Compiling indexmap v2.13.0
[INFO] [stderr]    Compiling chrono v0.4.44
[INFO] [stderr]    Compiling getrandom v0.2.17
[INFO] [stderr]    Compiling errno v0.3.14
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[INFO] [stderr]    Compiling socket2 v0.6.3
[INFO] [stderr]    Compiling mio v1.1.1
[INFO] [stderr]    Compiling if-addrs v0.13.4
[INFO] [stderr]    Compiling socket2 v0.5.10
[INFO] [stderr]    Compiling parking_lot v0.12.5
[INFO] [stderr]    Compiling signal-hook-registry v1.4.8
[INFO] [stderr]    Compiling ring v0.17.14
[INFO] [stderr]    Compiling regex-automata v0.1.10
[INFO] [stderr]    Compiling regex-automata v0.4.14
[INFO] [stderr]    Compiling matchers v0.0.1
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling tokio-macros v2.6.1
[INFO] [stderr]    Compiling tracing-attributes v0.1.31
[INFO] [stderr]    Compiling clap_derive v4.6.0
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling regex v1.12.3
[INFO] [stderr]    Compiling tracing-subscriber v0.1.6
[INFO] [stderr]    Compiling tokio v1.50.0
[INFO] [stderr]    Compiling tracing v0.1.44
[INFO] [stderr]    Compiling thiserror v1.0.69
[INFO] [stderr]    Compiling rustls-webpki v0.103.9
[INFO] [stderr]    Compiling clap v4.6.0
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling toml_datetime v0.6.11
[INFO] [stderr]    Compiling serde_spanned v0.6.9
[INFO] [stderr]    Compiling toml_edit v0.22.27
[INFO] [stderr]    Compiling tokio-rustls v0.26.4
[INFO] [stderr]    Compiling toml v0.8.23
[INFO] [stderr]    Compiling tg-ws-proxy-rs v0.1.3 (/opt/rustwide/workdir)
[INFO] [stdout] warning: struct `RuntimeConfig` is never constructed
[INFO] [stdout]   --> src/config.rs:47:12
[INFO] [stdout]    |
[INFO] [stdout] 47 | pub struct RuntimeConfig {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `WsPool` is never constructed
[INFO] [stdout]  --> src/modules/pool.rs:5:12
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub struct WsPool {
[INFO] [stdout]   |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `get`, and `return_to_pool` are never used
[INFO] [stdout]   --> src/modules/pool.rs:10:12
[INFO] [stdout]    |
[INFO] [stdout]  9 | impl WsPool {
[INFO] [stdout]    | ----------- associated items in this implementation
[INFO] [stdout] 10 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 16 |     pub async fn get(&mut self, dc: u8, is_media: bool) -> Option<RawWsClient> {
[INFO] [stdout]    |                  ^^^
[INFO] [stdout] ...
[INFO] [stdout] 21 |     pub async fn return_to_pool(&mut self, dc: u8, is_media: bool, client: RawWsClient) {
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `route_decision` is never used
[INFO] [stdout]    --> src/modules/routing.rs:173:8
[INFO] [stdout]     |
[INFO] [stdout] 173 | pub fn route_decision(host: &str, port: u16, has_dc: bool) -> &'static str {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/modules/socks.rs:31:8
[INFO] [stdout]    |
[INFO] [stdout] 31 |     Io(io::Error),
[INFO] [stdout]    |     -- ^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `SocksError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 31 -     Io(io::Error),
[INFO] [stdout] 31 +     Io(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/modules/socks.rs:32:16
[INFO] [stdout]    |
[INFO] [stdout] 32 |     ParseError(String),
[INFO] [stdout]    |     ---------- ^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `SocksError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 32 -     ParseError(String),
[INFO] [stdout] 32 +     ParseError(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `format_socks5_fail_reply` is never used
[INFO] [stdout]    --> src/modules/socks.rs:192:8
[INFO] [stdout]     |
[INFO] [stdout] 192 | pub fn format_socks5_fail_reply(reason: u8) -> Vec<u8> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Stats` is never constructed
[INFO] [stdout]  --> src/modules/stats.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct Stats {
[INFO] [stdout]   |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `inc_total`, `inc_ws`, `add_bytes_up`, and `add_bytes_down` are never used
[INFO] [stdout]   --> src/modules/stats.rs:12:12
[INFO] [stdout]    |
[INFO] [stdout] 11 | impl Stats {
[INFO] [stdout]    | ---------- associated items in this implementation
[INFO] [stdout] 12 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 16 |     pub fn inc_total(&self) {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 20 |     pub fn inc_ws(&self) {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 24 |     pub fn add_bytes_up(&self, n: u64) {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 28 |     pub fn add_bytes_down(&self, n: u64) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `split_plain_mtproto_messages` is never used
[INFO] [stdout]   --> src/modules/telegram/splitter.rs:77:4
[INFO] [stdout]    |
[INFO] [stdout] 77 | fn split_plain_mtproto_messages(chunk: &[u8]) -> Vec<Vec<u8>> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `redirected` is never read
[INFO] [stdout]   --> src/modules/ws.rs:45:9
[INFO] [stdout]    |
[INFO] [stdout] 43 | pub struct WsHandshake {
[INFO] [stdout]    |            ----------- field in this struct
[INFO] [stdout] 44 |     pub status: u16,
[INFO] [stdout] 45 |     pub redirected: bool,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `WsHandshake` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `recv`, `send`, `close`, and `into_inner` are never used
[INFO] [stdout]    --> src/modules/ws.rs:105:18
[INFO] [stdout]     |
[INFO] [stdout]  92 | impl RawWsClient {
[INFO] [stdout]     | ---------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 105 |     pub async fn recv(&mut self) -> Result<Option<Vec<u8>>, WsError> {
[INFO] [stdout]     |                  ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 122 |     pub async fn send(&mut self, payload: &[u8]) -> Result<(), WsError> {
[INFO] [stdout]     |                  ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 129 |     pub async fn close(&mut self) -> Result<(), WsError> {
[INFO] [stdout]     |                  ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 142 |     pub fn into_inner(self) -> WsStream {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `recv` is never used
[INFO] [stdout]    --> src/modules/ws.rs:148:18
[INFO] [stdout]     |
[INFO] [stdout] 147 | impl RawWsReader {
[INFO] [stdout]     | ---------------- method in this implementation
[INFO] [stdout] 148 |     pub async fn recv(&mut self) -> Result<Option<Vec<u8>>, WsError> {
[INFO] [stdout]     |                  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `handshake` is never used
[INFO] [stdout]    --> src/modules/ws.rs:208:14
[INFO] [stdout]     |
[INFO] [stdout] 208 | pub async fn handshake(_ip: &str, domain: &str) -> Result<WsHandshake, WsError> {
[INFO] [stdout]     |              ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 43.56s
[INFO] running `Command { std: "docker" "inspect" "c6f514940e9e5732a722f0bf16d85af133400b9e32d11c03860165c0716e845d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "c6f514940e9e5732a722f0bf16d85af133400b9e32d11c03860165c0716e845d", kill_on_drop: false }`
[INFO] [stdout] c6f514940e9e5732a722f0bf16d85af133400b9e32d11c03860165c0716e845d
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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] a4cf660c40b45f5e458649ce04d1dc9d517bff127fe0751e70a70cded9770a65
[INFO] running `Command { std: "docker" "start" "-a" "a4cf660c40b45f5e458649ce04d1dc9d517bff127fe0751e70a70cded9770a65", kill_on_drop: false }`
[INFO] [stderr]    Compiling tg-ws-proxy-rs v0.1.3 (/opt/rustwide/workdir)
[INFO] [stdout] warning: struct `RuntimeConfig` is never constructed
[INFO] [stdout]   --> src/config.rs:47:12
[INFO] [stdout]    |
[INFO] [stdout] 47 | pub struct RuntimeConfig {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `WsPool` is never constructed
[INFO] [stdout]  --> src/modules/pool.rs:5:12
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub struct WsPool {
[INFO] [stdout]   |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `get`, and `return_to_pool` are never used
[INFO] [stdout]   --> src/modules/pool.rs:10:12
[INFO] [stdout]    |
[INFO] [stdout]  9 | impl WsPool {
[INFO] [stdout]    | ----------- associated items in this implementation
[INFO] [stdout] 10 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 16 |     pub async fn get(&mut self, dc: u8, is_media: bool) -> Option<RawWsClient> {
[INFO] [stdout]    |                  ^^^
[INFO] [stdout] ...
[INFO] [stdout] 21 |     pub async fn return_to_pool(&mut self, dc: u8, is_media: bool, client: RawWsClient) {
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/modules/socks.rs:31:8
[INFO] [stdout]    |
[INFO] [stdout] 31 |     Io(io::Error),
[INFO] [stdout]    |     -- ^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `SocksError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 31 -     Io(io::Error),
[INFO] [stdout] 31 +     Io(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/modules/socks.rs:32:16
[INFO] [stdout]    |
[INFO] [stdout] 32 |     ParseError(String),
[INFO] [stdout]    |     ---------- ^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `SocksError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 32 -     ParseError(String),
[INFO] [stdout] 32 +     ParseError(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `format_socks5_fail_reply` is never used
[INFO] [stdout]    --> src/modules/socks.rs:192:8
[INFO] [stdout]     |
[INFO] [stdout] 192 | pub fn format_socks5_fail_reply(reason: u8) -> Vec<u8> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Stats` is never constructed
[INFO] [stdout]  --> src/modules/stats.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct Stats {
[INFO] [stdout]   |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `inc_total`, `inc_ws`, `add_bytes_up`, and `add_bytes_down` are never used
[INFO] [stdout]   --> src/modules/stats.rs:12:12
[INFO] [stdout]    |
[INFO] [stdout] 11 | impl Stats {
[INFO] [stdout]    | ---------- associated items in this implementation
[INFO] [stdout] 12 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 16 |     pub fn inc_total(&self) {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 20 |     pub fn inc_ws(&self) {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 24 |     pub fn add_bytes_up(&self, n: u64) {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 28 |     pub fn add_bytes_down(&self, n: u64) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `redirected` is never read
[INFO] [stdout]   --> src/modules/ws.rs:45:9
[INFO] [stdout]    |
[INFO] [stdout] 43 | pub struct WsHandshake {
[INFO] [stdout]    |            ----------- field in this struct
[INFO] [stdout] 44 |     pub status: u16,
[INFO] [stdout] 45 |     pub redirected: bool,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `WsHandshake` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `recv`, `send`, `close`, and `into_inner` are never used
[INFO] [stdout]    --> src/modules/ws.rs:105:18
[INFO] [stdout]     |
[INFO] [stdout]  92 | impl RawWsClient {
[INFO] [stdout]     | ---------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 105 |     pub async fn recv(&mut self) -> Result<Option<Vec<u8>>, WsError> {
[INFO] [stdout]     |                  ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 122 |     pub async fn send(&mut self, payload: &[u8]) -> Result<(), WsError> {
[INFO] [stdout]     |                  ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 129 |     pub async fn close(&mut self) -> Result<(), WsError> {
[INFO] [stdout]     |                  ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 142 |     pub fn into_inner(self) -> WsStream {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `recv` is never used
[INFO] [stdout]    --> src/modules/ws.rs:148:18
[INFO] [stdout]     |
[INFO] [stdout] 147 | impl RawWsReader {
[INFO] [stdout]     | ---------------- method in this implementation
[INFO] [stdout] 148 |     pub async fn recv(&mut self) -> Result<Option<Vec<u8>>, WsError> {
[INFO] [stdout]     |                  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `handshake` is never used
[INFO] [stdout]    --> src/modules/ws.rs:208:14
[INFO] [stdout]     |
[INFO] [stdout] 208 | pub async fn handshake(_ip: &str, domain: &str) -> Result<WsHandshake, WsError> {
[INFO] [stdout]     |              ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 7.02s
[INFO] running `Command { std: "docker" "inspect" "a4cf660c40b45f5e458649ce04d1dc9d517bff127fe0751e70a70cded9770a65", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "a4cf660c40b45f5e458649ce04d1dc9d517bff127fe0751e70a70cded9770a65", kill_on_drop: false }`
[INFO] [stdout] a4cf660c40b45f5e458649ce04d1dc9d517bff127fe0751e70a70cded9770a65
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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] 2d90387b43933d1971485198ae2c36c1c9bc891e915b5689f6d654de15022b5c
[INFO] running `Command { std: "docker" "start" "-a" "2d90387b43933d1971485198ae2c36c1c9bc891e915b5689f6d654de15022b5c", kill_on_drop: false }`
[INFO] [stderr] warning: struct `RuntimeConfig` is never constructed
[INFO] [stderr]   --> src/config.rs:47:12
[INFO] [stderr]    |
[INFO] [stderr] 47 | pub struct RuntimeConfig {
[INFO] [stderr]    |            ^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: struct `WsPool` is never constructed
[INFO] [stderr]  --> src/modules/pool.rs:5:12
[INFO] [stderr]   |
[INFO] [stderr] 5 | pub struct WsPool {
[INFO] [stderr]   |            ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `new`, `get`, and `return_to_pool` are never used
[INFO] [stderr]   --> src/modules/pool.rs:10:12
[INFO] [stderr]    |
[INFO] [stderr]  9 | impl WsPool {
[INFO] [stderr]    | ----------- associated items in this implementation
[INFO] [stderr] 10 |     pub fn new() -> Self {
[INFO] [stderr]    |            ^^^
[INFO] [stderr] ...
[INFO] [stderr] 16 |     pub async fn get(&mut self, dc: u8, is_media: bool) -> Option<RawWsClient> {
[INFO] [stderr]    |                  ^^^
[INFO] [stderr] ...
[INFO] [stderr] 21 |     pub async fn return_to_pool(&mut self, dc: u8, is_media: bool, client: RawWsClient) {
[INFO] [stderr]    |                  ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `0` is never read
[INFO] [stderr]   --> src/modules/socks.rs:31:8
[INFO] [stderr]    |
[INFO] [stderr] 31 |     Io(io::Error),
[INFO] [stderr]    |     -- ^^^^^^^^^
[INFO] [stderr]    |     |
[INFO] [stderr]    |     field in this variant
[INFO] [stderr]    |
[INFO] [stderr]    = note: `SocksError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stderr]    |
[INFO] [stderr] 31 -     Io(io::Error),
[INFO] [stderr] 31 +     Io(()),
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: field `0` is never read
[INFO] [stderr]   --> src/modules/socks.rs:32:16
[INFO] [stderr]    |
[INFO] [stderr] 32 |     ParseError(String),
[INFO] [stderr]    |     ---------- ^^^^^^
[INFO] [stderr]    |     |
[INFO] [stderr]    |     field in this variant
[INFO] [stderr]    |
[INFO] [stderr]    = note: `SocksError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stderr]    |
[INFO] [stderr] 32 -     ParseError(String),
[INFO] [stderr] 32 +     ParseError(()),
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: function `format_socks5_fail_reply` is never used
[INFO] [stderr]    --> src/modules/socks.rs:192:8
[INFO] [stderr]     |
[INFO] [stderr] 192 | pub fn format_socks5_fail_reply(reason: u8) -> Vec<u8> {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `Stats` is never constructed
[INFO] [stderr]  --> src/modules/stats.rs:4:12
[INFO] [stderr]   |
[INFO] [stderr] 4 | pub struct Stats {
[INFO] [stderr]   |            ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `new`, `inc_total`, `inc_ws`, `add_bytes_up`, and `add_bytes_down` are never used
[INFO] [stderr]   --> src/modules/stats.rs:12:12
[INFO] [stderr]    |
[INFO] [stderr] 11 | impl Stats {
[INFO] [stderr]    | ---------- associated items in this implementation
[INFO] [stderr] 12 |     pub fn new() -> Self {
[INFO] [stderr]    |            ^^^
[INFO] [stderr] ...
[INFO] [stderr] 16 |     pub fn inc_total(&self) {
[INFO] [stderr]    |            ^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 20 |     pub fn inc_ws(&self) {
[INFO] [stderr]    |            ^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 24 |     pub fn add_bytes_up(&self, n: u64) {
[INFO] [stderr]    |            ^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 28 |     pub fn add_bytes_down(&self, n: u64) {
[INFO] [stderr]    |            ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `redirected` is never read
[INFO] [stderr]   --> src/modules/ws.rs:45:9
[INFO] [stderr]    |
[INFO] [stderr] 43 | pub struct WsHandshake {
[INFO] [stderr]    |            ----------- field in this struct
[INFO] [stderr] 44 |     pub status: u16,
[INFO] [stderr] 45 |     pub redirected: bool,
[INFO] [stderr]    |         ^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `WsHandshake` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: methods `recv`, `send`, `close`, and `into_inner` are never used
[INFO] [stderr]    --> src/modules/ws.rs:105:18
[INFO] [stderr]     |
[INFO] [stderr]  92 | impl RawWsClient {
[INFO] [stderr]     | ---------------- methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 105 |     pub async fn recv(&mut self) -> Result<Option<Vec<u8>>, WsError> {
[INFO] [stderr]     |                  ^^^^
[INFO] [stderr] ...
[INFO] [stderr] 122 |     pub async fn send(&mut self, payload: &[u8]) -> Result<(), WsError> {
[INFO] [stderr]     |                  ^^^^
[INFO] [stderr] ...
[INFO] [stderr] 129 |     pub async fn close(&mut self) -> Result<(), WsError> {
[INFO] [stderr]     |                  ^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 142 |     pub fn into_inner(self) -> WsStream {
[INFO] [stderr]     |            ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `recv` is never used
[INFO] [stderr]    --> src/modules/ws.rs:148:18
[INFO] [stderr]     |
[INFO] [stderr] 147 | impl RawWsReader {
[INFO] [stderr]     | ---------------- method in this implementation
[INFO] [stderr] 148 |     pub async fn recv(&mut self) -> Result<Option<Vec<u8>>, WsError> {
[INFO] [stderr]     |                  ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `handshake` is never used
[INFO] [stderr]    --> src/modules/ws.rs:208:14
[INFO] [stderr]     |
[INFO] [stderr] 208 | pub async fn handshake(_ip: &str, domain: &str) -> Result<WsHandshake, WsError> {
[INFO] [stderr]     |              ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: `tg-ws-proxy-rs` (bin "tg-ws-proxy-rs" test) generated 12 warnings
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.27s
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/tg_ws_proxy_rs-5bcaaad519a41efa)
[INFO] [stdout] 
[INFO] [stdout] running 45 tests
[INFO] [stdout] test config::tests::telegram_link_formats_ipv4_host ... ok
[INFO] [stdout] test config::tests::cli_defaults_to_listen_on_all_interfaces ... ok
[INFO] [stdout] test config::tests::routed_config_parses_socks_users ... ok
[INFO] [stdout] test config::tests::telegram_link_formats_ipv6_host ... ok
[INFO] [stdout] test modules::routing::backoff::tests::ws_backoff_blocks_parallel_probe_window ... ok
[INFO] [stdout] test modules::routing::backoff::tests::ws_backoff_can_disable_404_for_runtime ... ok
[INFO] [stdout] test modules::routing::backoff::tests::ws_backoff_can_be_cleared ... ok
[INFO] [stdout] test modules::routing::backoff::tests::ws_backoff_expires_after_cooldown ... ok
[INFO] [stdout] test modules::routing::tests::resolve_telegram_init_patches_from_static_ipv4_mapping ... ok
[INFO] [stdout] test modules::routing::tests::route_rules ... ok
[INFO] [stdout] test modules::routing::tests::resolve_telegram_init_uses_learned_ipv6_mapping ... ok
[INFO] [stdout] test modules::socks::tests::ipv6_check ... ok
[INFO] [stdout] test modules::socks::tests::parse_multiple_socks_users_from_env ... ok
[INFO] [stdout] test modules::relay::tests::tcp_to_tcp_bridge_preserves_prelude ... ok
[INFO] [stdout] test modules::routing::tests::unknown_dc_for_ipv6_falls_back_to_passthrough ... ok
[INFO] [stdout] test modules::telegram::splitter::tests::stateful_splitter_splits_two_messages ... ok
[INFO] [stdout] test modules::socks::tests::parse_socks5_connect_ipv4 ... ok
[INFO] [stdout] test modules::socks::tests::parse_socks5_connect_with_auth ... ok
[INFO] [stdout] test modules::socks::tests::rejects_invalid_auth_credentials ... ok
[INFO] [stdout] test modules::socks::tests::rejects_when_client_does_not_offer_auth_method ... ok
[INFO] [stdout] test modules::telegram::catalog::tests::extended_dc_lookup_works ... ok
[INFO] [stdout] test modules::telegram::catalog::tests::media_dc_lookup_works_for_167_35 ... ok
[INFO] [stdout] test modules::telegram::catalog::tests::dc_lookup_works ... ok
[INFO] [stdout] test modules::telegram::init::tests::extract_dc_reads_non_media_and_media ... ok
[INFO] [stdout] test modules::ws::tests::frame_format_has_mask_and_opcode ... ok
[INFO] [stdout] test modules::ws::tests::parse_status_code ... ok
[INFO] [stdout] test modules::ws::tests::handshake_request_contains_domain_header ... ok
[INFO] [stdout] test modules::ws::tests::strict_handshake_validation_rejects_missing_accept ... ok
[INFO] [stdout] test modules::telegram::catalog::tests::telegram_ranges_work ... ok
[INFO] [stdout] test modules::telegram::init::tests::patch_init_dc_updates_encoded_dc ... ok
[INFO] [stdout] test modules::telegram::init::tests::short_buffers_are_left_unchanged ... ok
[INFO] [stdout] test modules::ws::tests::websocket_accept_matches_rfc_sample ... ok
[INFO] [stdout] test runtime::listen::tests::normalize_ipv6_host_removes_brackets ... ok
[INFO] [stdout] test modules::ws::tests::read_close_frame_with_code ... ok
[INFO] [stdout] test runtime::listen::tests::split_socket_addr_supports_bracketed_ipv6 ... ok
[INFO] [stdout] test runtime::listen::tests::split_socket_addr_supports_ipv4 ... ok
[INFO] [stdout] test modules::ws::tests::read_ping_then_binary ... ok
[INFO] [stdout] test modules::ws::tests::strict_handshake_validation_accepts_expected_headers ... ok
[INFO] [stdout] test modules::ws::tests::read_masked_frame ... ok
[INFO] [stdout] test modules::ws::tests::strict_handshake_validation_rejects_connection_without_upgrade_token ... ok
[INFO] [stdout] test modules::telegram::splitter::tests::mtproto_split_small_batch ... ok
[INFO] [stdout] test runtime::listen::tests::wildcard_detection_supports_both_families ... ok
[INFO] [stdout] test modules::ws::tests::perform_handshake_rejects_oversized_headers ... ok
[INFO] [stdout] test modules::ws::tests::strict_handshake_validation_rejects_wrong_protocol ... ok
[INFO] [stdout] test modules::relay::tests::tcp_to_tcp_bridge has been running for over 60 seconds
[ERROR] error running command: no output for 300 seconds
[INFO] running `Command { std: "docker" "inspect" "2d90387b43933d1971485198ae2c36c1c9bc891e915b5689f6d654de15022b5c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "2d90387b43933d1971485198ae2c36c1c9bc891e915b5689f6d654de15022b5c", kill_on_drop: false }`
[INFO] [stdout] 2d90387b43933d1971485198ae2c36c1c9bc891e915b5689f6d654de15022b5c
