[INFO] cloning repository https://github.com/iamwwc/ooproxy
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/iamwwc/ooproxy" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fiamwwc%2Fooproxy", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fiamwwc%2Fooproxy'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 690e12c26f6e347d617fde87c805250bd388f709
[INFO] testing iamwwc/ooproxy against beta-2026-04-21 for beta-1.96-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fiamwwc%2Fooproxy" "/workspace/builds/worker-5-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/iamwwc/ooproxy
[INFO] finished tweaking git repo https://github.com/iamwwc/ooproxy
[INFO] tweaked toml for git repo https://github.com/iamwwc/ooproxy written to /workspace/builds/worker-5-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/iamwwc/ooproxy on toolchain beta-2026-04-21
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2026-04-21" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/iamwwc/ooproxy 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" "+beta-2026-04-21" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-04-21" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] da22272be410e5c64c998ca4b1f1ddeb952bd5dbd8f586880d3a9fddcff384f3
[INFO] running `Command { std: "docker" "start" "-a" "da22272be410e5c64c998ca4b1f1ddeb952bd5dbd8f586880d3a9fddcff384f3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "da22272be410e5c64c998ca4b1f1ddeb952bd5dbd8f586880d3a9fddcff384f3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "da22272be410e5c64c998ca4b1f1ddeb952bd5dbd8f586880d3a9fddcff384f3", kill_on_drop: false }`
[INFO] [stdout] da22272be410e5c64c998ca4b1f1ddeb952bd5dbd8f586880d3a9fddcff384f3
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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" "+beta-2026-04-21" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 20c3f736785f098b83beb1487dcae8d655e5c3a16a1d219286e1840729fa2091
[INFO] running `Command { std: "docker" "start" "-a" "20c3f736785f098b83beb1487dcae8d655e5c3a16a1d219286e1840729fa2091", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.89
[INFO] [stderr]    Compiling cfg-if v1.0.0
[INFO] [stderr]    Compiling proc-macro2 v1.0.24
[INFO] [stderr]    Compiling autocfg v1.0.1
[INFO] [stderr]    Compiling unicode-xid v0.2.1
[INFO] [stderr]    Compiling syn v1.0.64
[INFO] [stderr]    Compiling memchr v2.3.4
[INFO] [stderr]    Compiling log v0.4.14
[INFO] [stderr]    Compiling once_cell v1.7.2
[INFO] [stderr]    Compiling cc v1.0.67
[INFO] [stderr]    Compiling spin v0.5.2
[INFO] [stderr]    Compiling untrusted v0.7.1
[INFO] [stderr]    Compiling instant v0.1.9
[INFO] [stderr]    Compiling futures-core v0.3.15
[INFO] [stderr]    Compiling smallvec v1.6.1
[INFO] [stderr]    Compiling tinyvec_macros v0.1.0
[INFO] [stderr]    Compiling matches v0.1.8
[INFO] [stderr]    Compiling scopeguard v1.1.0
[INFO] [stderr]    Compiling tinyvec v1.2.0
[INFO] [stderr]    Compiling lock_api v0.4.2
[INFO] [stderr]    Compiling tokio v1.3.0
[INFO] [stderr]    Compiling pin-project-lite v0.2.6
[INFO] [stderr]    Compiling futures-task v0.3.15
[INFO] [stderr]    Compiling unicode-bidi v0.3.5
[INFO] [stderr]    Compiling futures-util v0.3.15
[INFO] [stderr]    Compiling ppv-lite86 v0.2.10
[INFO] [stderr]    Compiling futures-channel v0.3.15
[INFO] [stderr]    Compiling quote v1.0.9
[INFO] [stderr]    Compiling bytes v1.0.1
[INFO] [stderr]    Compiling unicode-segmentation v1.7.1
[INFO] [stderr]    Compiling unicode-normalization v0.1.18
[INFO] [stderr]    Compiling percent-encoding v2.1.0
[INFO] [stderr]    Compiling async-trait v0.1.50
[INFO] [stderr]    Compiling form_urlencoded v1.0.1
[INFO] [stderr]    Compiling heck v0.3.2
[INFO] [stderr]    Compiling bitflags v1.2.1
[INFO] [stderr]    Compiling base64 v0.13.0
[INFO] [stderr]    Compiling ring v0.16.20
[INFO] [stderr]    Compiling slab v0.4.3
[INFO] [stderr]    Compiling parking_lot_core v0.8.3
[INFO] [stderr]    Compiling getrandom v0.2.3
[INFO] [stderr]    Compiling signal-hook-registry v1.3.0
[INFO] [stderr]    Compiling num_cpus v1.13.0
[INFO] [stderr]    Compiling rand_core v0.6.2
[INFO] [stderr]    Compiling parking_lot v0.11.1
[INFO] [stderr]    Compiling mio v0.7.10
[INFO] [stderr]    Compiling idna v0.2.3
[INFO] [stderr]    Compiling rand_chacha v0.3.0
[INFO] [stderr]    Compiling miniz_oxide v0.4.4
[INFO] [stderr]    Compiling rand v0.8.3
[INFO] [stderr]    Compiling lazy_static v1.4.0
[INFO] [stderr]    Compiling url v2.2.2
[INFO] [stderr]    Compiling data-encoding v2.3.2
[INFO] [stderr]    Compiling futures-io v0.3.15
[INFO] [stderr]    Compiling ipnet v2.3.0
[INFO] [stderr]    Compiling match_cfg v0.1.0
[INFO] [stderr]    Compiling hostname v0.3.1
[INFO] [stderr]    Compiling atty v0.2.14
[INFO] [stderr]    Compiling aho-corasick v0.7.15
[INFO] [stderr]    Compiling regex-syntax v0.6.23
[INFO] [stderr]    Compiling adler v1.0.2
[INFO] [stderr]    Compiling unicode-width v0.1.8
[INFO] [stderr]    Compiling gimli v0.23.0
[INFO] [stderr]    Compiling linked-hash-map v0.5.4
[INFO] [stderr]    Compiling quick-error v1.2.3
[INFO] [stderr]    Compiling resolv-conf v0.7.0
[INFO] [stderr]    Compiling lru-cache v0.1.2
[INFO] [stderr]    Compiling textwrap v0.11.0
[INFO] [stderr]    Compiling rustc-demangle v0.1.19
[INFO] [stderr]    Compiling humantime v2.1.0
[INFO] [stderr]    Compiling termcolor v1.1.2
[INFO] [stderr]    Compiling regex v1.4.5
[INFO] [stderr]    Compiling object v0.23.0
[INFO] [stderr]    Compiling webpki v0.21.4
[INFO] [stderr]    Compiling sct v0.6.1
[INFO] [stderr]    Compiling vec_map v0.8.2
[INFO] [stderr]    Compiling ansi_term v0.11.0
[INFO] [stderr]    Compiling rustls v0.19.1
[INFO] [stderr]    Compiling webpki-roots v0.21.1
[INFO] [stderr]    Compiling strsim v0.8.0
[INFO] [stderr]    Compiling yaml-rust v0.3.5
[INFO] [stderr]    Compiling addr2line v0.14.1
[INFO] [stderr]    Compiling clap v2.33.3
[INFO] [stderr]    Compiling env_logger v0.8.3
[INFO] [stderr]    Compiling nix v0.19.1
[INFO] [stderr]    Compiling tokio-macros v1.1.0
[INFO] [stderr]    Compiling thiserror-impl v1.0.25
[INFO] [stderr]    Compiling thiserror v1.0.25
[INFO] [stderr]    Compiling enum-as-inner v0.3.3
[INFO] [stderr]    Compiling backtrace v0.3.57
[INFO] [stderr]    Compiling tokio-rustls v0.22.0
[INFO] [stderr]    Compiling trust-dns-proto v0.20.3
[INFO] [stderr]    Compiling trust-dns-rustls v0.20.3
[INFO] [stderr]    Compiling trust-dns-resolver v0.20.3
[INFO] [stderr]    Compiling ooproxy v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused imports: `SocketAddrV4` and `SocketAddrV6`
[INFO] [stdout]  --> src/client.rs:5:51
[INFO] [stdout]   |
[INFO] [stdout] 5 |     net::{IpAddr, Ipv4Addr, Ipv6Addr, SocketAddr, SocketAddrV4, SocketAddrV6},
[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: `error`
[INFO] [stdout]   --> src/client.rs:11:18
[INFO] [stdout]    |
[INFO] [stdout] 11 | use log::{debug, error, info};
[INFO] [stdout]    |                  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]   --> src/protocols/socks5.rs:12:59
[INFO] [stdout]    |
[INFO] [stdout] 12 |         return Err(io::Error::new(ErrorKind::Other, $msg));
[INFO] [stdout]    |                                                           ^
[INFO] [stdout] ...
[INFO] [stdout] 50 |         _ => err!(""),
[INFO] [stdout]    |              -------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]    = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]    = note: `#[warn(semicolon_in_expressions_from_macros)]` (part of `#[warn(future_incompatible)]`) on by default
[INFO] [stdout]    = note: this warning originates in the macro `err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `raw_ipv4`
[INFO] [stdout]    --> src/client.rs:153:25
[INFO] [stdout]     |
[INFO] [stdout] 153 |                     let raw_ipv4 = peer_left.read_exact(&mut buf).await?;
[INFO] [stdout]     |                         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_raw_ipv4`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pending_data`
[INFO] [stdout]    --> src/client.rs:197:13
[INFO] [stdout]     |
[INFO] [stdout] 197 |             pending_data,
[INFO] [stdout]     |             ^^^^^^^^^^^^ help: try ignoring the field: `pending_data: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `from_port`
[INFO] [stdout]    --> src/client.rs:234:13
[INFO] [stdout]     |
[INFO] [stdout] 234 |             ref from_port,
[INFO] [stdout]     |             ^^^^^^^^^^^^^ help: try ignoring the field: `from_port: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `left`
[INFO] [stdout]    --> src/client.rs:235:13
[INFO] [stdout]     |
[INFO] [stdout] 235 |             ref left,
[INFO] [stdout]     |             ^^^^^^^^ help: try ignoring the field: `left: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `host`
[INFO] [stdout]   --> src/protocols/socks5.rs:23:23
[INFO] [stdout]    |
[INFO] [stdout] 23 |     let Destination { ref host, ref port } = dest;
[INFO] [stdout]    |                       ^^^^^^^^ help: try ignoring the field: `host: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `port`
[INFO] [stdout]   --> src/protocols/socks5.rs:23:33
[INFO] [stdout]    |
[INFO] [stdout] 23 |     let Destination { ref host, ref port } = dest;
[INFO] [stdout]    |                                 ^^^^^^^^ help: try ignoring the field: `port: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n`
[INFO] [stdout]    --> src/stream.rs:169:21
[INFO] [stdout]     |
[INFO] [stdout] 169 |                 let n = try_poll!(reader.poll_read_to_buffer(ctx));
[INFO] [stdout]     |                     ^ help: if this is intentional, prefix it with an underscore: `_n`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `minor_version`
[INFO] [stdout]   --> src/tls/mod.rs:62:9
[INFO] [stdout]    |
[INFO] [stdout] 62 |         minor_version,
[INFO] [stdout]    |         ^^^^^^^^^^^^^ help: try ignoring the field: `minor_version: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/client.rs:92:34
[INFO] [stdout]    |
[INFO] [stdout] 92 | fn normalize_socket_addr(socket: &SocketAddr) -> Cow<SocketAddr> {
[INFO] [stdout]    |                                  ^^^^^^^^^^^     ^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                                  |
[INFO] [stdout]    |                                  the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 92 | fn normalize_socket_addr(socket: &SocketAddr) -> Cow<'_, SocketAddr> {
[INFO] [stdout]    |                                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::borrow::Cow`
[INFO] [stdout]  --> src/bin/to_owned.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::borrow::Cow;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `a`
[INFO] [stdout]  --> src/bin/to_owned.rs:5:9
[INFO] [stdout]   |
[INFO] [stdout] 5 |     let a = &x.to_owned();
[INFO] [stdout]   |         ^ help: if this is intentional, prefix it with an underscore: `_a`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `s`
[INFO] [stdout]   --> src/bin/cell.rs:15:9
[INFO] [stdout]    |
[INFO] [stdout] 15 | fn take(s: &String){}
[INFO] [stdout]    |         ^ help: if this is intentional, prefix it with an underscore: `_s`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `s`
[INFO] [stdout]   --> src/bin/cell.rs:30:10
[INFO] [stdout]    |
[INFO] [stdout] 30 | fn hello(s: &str) {}
[INFO] [stdout]    |          ^ help: if this is intentional, prefix it with an underscore: `_s`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/bin/cell.rs:32:9
[INFO] [stdout]    |
[INFO] [stdout] 32 |     let mut s = String::from("");
[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: fields `name`, `location`, `age`, and `a` are never read
[INFO] [stdout]  --> src/bin/cell.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub struct Myself<'a> {
[INFO] [stdout]   |            ------ fields in this struct
[INFO] [stdout] 4 |     name: &'static str,
[INFO] [stdout]   |     ^^^^
[INFO] [stdout] 5 |     location: RefCell<String>,
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 6 |     age: Cell<u32>,
[INFO] [stdout]   |     ^^^
[INFO] [stdout] 7 |     a: &'a mut u32,
[INFO] [stdout]   |     ^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `Myself` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `print` is never used
[INFO] [stdout]   --> src/bin/cell.rs:10:4
[INFO] [stdout]    |
[INFO] [stdout] 10 | fn print(s: &mut String){
[INFO] [stdout]    |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `take` is never used
[INFO] [stdout]   --> src/bin/cell.rs:15:4
[INFO] [stdout]    |
[INFO] [stdout] 15 | fn take(s: &String){}
[INFO] [stdout]    |    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]   --> src/bin/cell.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 |     &mut *s;
[INFO] [stdout]    |     ^^^^^^^ the borrow produces a value
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 13 |     let _ = &mut *s;
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `App`
[INFO] [stdout]   --> src/main.rs:13:23
[INFO] [stdout]    |
[INFO] [stdout] 13 | use clap::{load_yaml, App, AppSettings};
[INFO] [stdout]    |                       ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BiPipe` and `StreamWithBuffer`
[INFO] [stdout]   --> src/main.rs:14:56
[INFO] [stdout]    |
[INFO] [stdout] 14 | use ooproxy::{client::Client, config::Config, stream::{BiPipe, StreamWithBuffer}};
[INFO] [stdout]    |                                                        ^^^^^^  ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `warn`
[INFO] [stdout]   --> src/main.rs:17:24
[INFO] [stdout]    |
[INFO] [stdout] 17 | use log::{error, info, warn, LevelFilter};
[INFO] [stdout]    |                        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]   --> src/bin/dns.rs:35:17
[INFO] [stdout]    |
[INFO] [stdout] 35 |             Err(e) => return None,
[INFO] [stdout]    |                 ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/main.rs:67:9
[INFO] [stdout]    |
[INFO] [stdout] 67 |     let mut addr = SocketAddr::new(host, port as u16);
[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: unused variable: `addr`
[INFO] [stdout]   --> src/main.rs:70:26
[INFO] [stdout]    |
[INFO] [stdout] 70 |     while let Ok((socks, addr)) = listener.accept().await {
[INFO] [stdout]    |                          ^^^^ help: if this is intentional, prefix it with an underscore: `_addr`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 19s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: ooproxy v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 1`
[INFO] running `Command { std: "docker" "inspect" "20c3f736785f098b83beb1487dcae8d655e5c3a16a1d219286e1840729fa2091", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "20c3f736785f098b83beb1487dcae8d655e5c3a16a1d219286e1840729fa2091", kill_on_drop: false }`
[INFO] [stdout] 20c3f736785f098b83beb1487dcae8d655e5c3a16a1d219286e1840729fa2091
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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" "+beta-2026-04-21" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] c510a7255e85c2de529bac6511cbfe26d40038734ef2211c7c0748547d744a80
[INFO] running `Command { std: "docker" "start" "-a" "c510a7255e85c2de529bac6511cbfe26d40038734ef2211c7c0748547d744a80", kill_on_drop: false }`
[INFO] [stdout] warning: unused imports: `SocketAddrV4` and `SocketAddrV6`
[INFO] [stdout]  --> src/client.rs:5:51
[INFO] [stdout]   |
[INFO] [stdout] 5 |     net::{IpAddr, Ipv4Addr, Ipv6Addr, SocketAddr, SocketAddrV4, SocketAddrV6},
[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: `error`
[INFO] [stdout]   --> src/client.rs:11:18
[INFO] [stdout]    |
[INFO] [stdout] 11 | use log::{debug, error, info};
[INFO] [stdout]    |                  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]   --> src/protocols/socks5.rs:12:59
[INFO] [stdout]    |
[INFO] [stdout] 12 |         return Err(io::Error::new(ErrorKind::Other, $msg));
[INFO] [stdout]    |                                                           ^
[INFO] [stdout] ...
[INFO] [stdout] 50 |         _ => err!(""),
[INFO] [stdout]    |              -------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]    = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]    = note: `#[warn(semicolon_in_expressions_from_macros)]` (part of `#[warn(future_incompatible)]`) on by default
[INFO] [stdout]    = note: this warning originates in the macro `err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `raw_ipv4`
[INFO] [stdout]    --> src/client.rs:153:25
[INFO] [stdout]     |
[INFO] [stdout] 153 |                     let raw_ipv4 = peer_left.read_exact(&mut buf).await?;
[INFO] [stdout]     |                         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_raw_ipv4`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pending_data`
[INFO] [stdout]    --> src/client.rs:197:13
[INFO] [stdout]     |
[INFO] [stdout] 197 |             pending_data,
[INFO] [stdout]     |             ^^^^^^^^^^^^ help: try ignoring the field: `pending_data: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `from_port`
[INFO] [stdout]    --> src/client.rs:234:13
[INFO] [stdout]     |
[INFO] [stdout] 234 |             ref from_port,
[INFO] [stdout]     |             ^^^^^^^^^^^^^ help: try ignoring the field: `from_port: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `left`
[INFO] [stdout]    --> src/client.rs:235:13
[INFO] [stdout]     |
[INFO] [stdout] 235 |             ref left,
[INFO] [stdout]     |             ^^^^^^^^ help: try ignoring the field: `left: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `host`
[INFO] [stdout]   --> src/protocols/socks5.rs:23:23
[INFO] [stdout]    |
[INFO] [stdout] 23 |     let Destination { ref host, ref port } = dest;
[INFO] [stdout]    |                       ^^^^^^^^ help: try ignoring the field: `host: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `port`
[INFO] [stdout]   --> src/protocols/socks5.rs:23:33
[INFO] [stdout]    |
[INFO] [stdout] 23 |     let Destination { ref host, ref port } = dest;
[INFO] [stdout]    |                                 ^^^^^^^^ help: try ignoring the field: `port: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n`
[INFO] [stdout]    --> src/stream.rs:169:21
[INFO] [stdout]     |
[INFO] [stdout] 169 |                 let n = try_poll!(reader.poll_read_to_buffer(ctx));
[INFO] [stdout]     |                     ^ help: if this is intentional, prefix it with an underscore: `_n`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `minor_version`
[INFO] [stdout]   --> src/tls/mod.rs:62:9
[INFO] [stdout]    |
[INFO] [stdout] 62 |         minor_version,
[INFO] [stdout]    |         ^^^^^^^^^^^^^ help: try ignoring the field: `minor_version: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/client.rs:92:34
[INFO] [stdout]    |
[INFO] [stdout] 92 | fn normalize_socket_addr(socket: &SocketAddr) -> Cow<SocketAddr> {
[INFO] [stdout]    |                                  ^^^^^^^^^^^     ^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                                  |
[INFO] [stdout]    |                                  the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 92 | fn normalize_socket_addr(socket: &SocketAddr) -> Cow<'_, SocketAddr> {
[INFO] [stdout]    |                                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling ooproxy v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `std::borrow::Cow`
[INFO] [stdout]  --> src/bin/to_owned.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::borrow::Cow;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `s`
[INFO] [stdout]   --> src/bin/cell.rs:15:9
[INFO] [stdout]    |
[INFO] [stdout] 15 | fn take(s: &String){}
[INFO] [stdout]    |         ^ help: if this is intentional, prefix it with an underscore: `_s`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `s`
[INFO] [stdout]   --> src/bin/cell.rs:30:10
[INFO] [stdout]    |
[INFO] [stdout] 30 | fn hello(s: &str) {}
[INFO] [stdout]    |          ^ help: if this is intentional, prefix it with an underscore: `_s`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/bin/cell.rs:32:9
[INFO] [stdout]    |
[INFO] [stdout] 32 |     let mut s = String::from("");
[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: fields `name`, `location`, `age`, and `a` are never read
[INFO] [stdout]  --> src/bin/cell.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub struct Myself<'a> {
[INFO] [stdout]   |            ------ fields in this struct
[INFO] [stdout] 4 |     name: &'static str,
[INFO] [stdout]   |     ^^^^
[INFO] [stdout] 5 |     location: RefCell<String>,
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 6 |     age: Cell<u32>,
[INFO] [stdout]   |     ^^^
[INFO] [stdout] 7 |     a: &'a mut u32,
[INFO] [stdout]   |     ^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `Myself` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `print` is never used
[INFO] [stdout]   --> src/bin/cell.rs:10:4
[INFO] [stdout]    |
[INFO] [stdout] 10 | fn print(s: &mut String){
[INFO] [stdout]    |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `take` is never used
[INFO] [stdout]   --> src/bin/cell.rs:15:4
[INFO] [stdout]    |
[INFO] [stdout] 15 | fn take(s: &String){}
[INFO] [stdout]    |    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]   --> src/bin/cell.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 |     &mut *s;
[INFO] [stdout]    |     ^^^^^^^ the borrow produces a value
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 13 |     let _ = &mut *s;
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `a`
[INFO] [stdout]  --> src/bin/to_owned.rs:5:9
[INFO] [stdout]   |
[INFO] [stdout] 5 |     let a = &x.to_owned();
[INFO] [stdout]   |         ^ help: if this is intentional, prefix it with an underscore: `_a`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `App`
[INFO] [stdout]   --> src/main.rs:13:23
[INFO] [stdout]    |
[INFO] [stdout] 13 | use clap::{load_yaml, App, AppSettings};
[INFO] [stdout]    |                       ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BiPipe` and `StreamWithBuffer`
[INFO] [stdout]   --> src/main.rs:14:56
[INFO] [stdout]    |
[INFO] [stdout] 14 | use ooproxy::{client::Client, config::Config, stream::{BiPipe, StreamWithBuffer}};
[INFO] [stdout]    |                                                        ^^^^^^  ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `warn`
[INFO] [stdout]   --> src/main.rs:17:24
[INFO] [stdout]    |
[INFO] [stdout] 17 | use log::{error, info, warn, LevelFilter};
[INFO] [stdout]    |                        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `SocketAddrV4` and `SocketAddrV6`
[INFO] [stdout]  --> src/client.rs:5:51
[INFO] [stdout]   |
[INFO] [stdout] 5 |     net::{IpAddr, Ipv4Addr, Ipv6Addr, SocketAddr, SocketAddrV4, SocketAddrV6},
[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: `error`
[INFO] [stdout]   --> src/client.rs:11:18
[INFO] [stdout]    |
[INFO] [stdout] 11 | use log::{debug, error, info};
[INFO] [stdout]    |                  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]   --> src/protocols/socks5.rs:12:59
[INFO] [stdout]    |
[INFO] [stdout] 12 |         return Err(io::Error::new(ErrorKind::Other, $msg));
[INFO] [stdout]    |                                                           ^
[INFO] [stdout] ...
[INFO] [stdout] 50 |         _ => err!(""),
[INFO] [stdout]    |              -------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]    = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]    = note: `#[warn(semicolon_in_expressions_from_macros)]` (part of `#[warn(future_incompatible)]`) on by default
[INFO] [stdout]    = note: this warning originates in the macro `err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/main.rs:67:9
[INFO] [stdout]    |
[INFO] [stdout] 67 |     let mut addr = SocketAddr::new(host, port as u16);
[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: unused variable: `addr`
[INFO] [stdout]   --> src/main.rs:70:26
[INFO] [stdout]    |
[INFO] [stdout] 70 |     while let Ok((socks, addr)) = listener.accept().await {
[INFO] [stdout]    |                          ^^^^ help: if this is intentional, prefix it with an underscore: `_addr`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]   --> src/bin/dns.rs:35:17
[INFO] [stdout]    |
[INFO] [stdout] 35 |             Err(e) => return None,
[INFO] [stdout]    |                 ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `raw_ipv4`
[INFO] [stdout]    --> src/client.rs:153:25
[INFO] [stdout]     |
[INFO] [stdout] 153 |                     let raw_ipv4 = peer_left.read_exact(&mut buf).await?;
[INFO] [stdout]     |                         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_raw_ipv4`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pending_data`
[INFO] [stdout]    --> src/client.rs:197:13
[INFO] [stdout]     |
[INFO] [stdout] 197 |             pending_data,
[INFO] [stdout]     |             ^^^^^^^^^^^^ help: try ignoring the field: `pending_data: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `from_port`
[INFO] [stdout]    --> src/client.rs:234:13
[INFO] [stdout]     |
[INFO] [stdout] 234 |             ref from_port,
[INFO] [stdout]     |             ^^^^^^^^^^^^^ help: try ignoring the field: `from_port: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `left`
[INFO] [stdout]    --> src/client.rs:235:13
[INFO] [stdout]     |
[INFO] [stdout] 235 |             ref left,
[INFO] [stdout]     |             ^^^^^^^^ help: try ignoring the field: `left: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `host`
[INFO] [stdout]   --> src/protocols/socks5.rs:23:23
[INFO] [stdout]    |
[INFO] [stdout] 23 |     let Destination { ref host, ref port } = dest;
[INFO] [stdout]    |                       ^^^^^^^^ help: try ignoring the field: `host: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `port`
[INFO] [stdout]   --> src/protocols/socks5.rs:23:33
[INFO] [stdout]    |
[INFO] [stdout] 23 |     let Destination { ref host, ref port } = dest;
[INFO] [stdout]    |                                 ^^^^^^^^ help: try ignoring the field: `port: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n`
[INFO] [stdout]    --> src/stream.rs:169:21
[INFO] [stdout]     |
[INFO] [stdout] 169 |                 let n = try_poll!(reader.poll_read_to_buffer(ctx));
[INFO] [stdout]     |                     ^ help: if this is intentional, prefix it with an underscore: `_n`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `minor_version`
[INFO] [stdout]   --> src/tls/mod.rs:62:9
[INFO] [stdout]    |
[INFO] [stdout] 62 |         minor_version,
[INFO] [stdout]    |         ^^^^^^^^^^^^^ help: try ignoring the field: `minor_version: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/client.rs:92:34
[INFO] [stdout]    |
[INFO] [stdout] 92 | fn normalize_socket_addr(socket: &SocketAddr) -> Cow<SocketAddr> {
[INFO] [stdout]    |                                  ^^^^^^^^^^^     ^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                                  |
[INFO] [stdout]    |                                  the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 92 | fn normalize_socket_addr(socket: &SocketAddr) -> Cow<'_, SocketAddr> {
[INFO] [stdout]    |                                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 1.63s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: ooproxy v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 2`
[INFO] running `Command { std: "docker" "inspect" "c510a7255e85c2de529bac6511cbfe26d40038734ef2211c7c0748547d744a80", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "c510a7255e85c2de529bac6511cbfe26d40038734ef2211c7c0748547d744a80", kill_on_drop: false }`
[INFO] [stdout] c510a7255e85c2de529bac6511cbfe26d40038734ef2211c7c0748547d744a80
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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" "+beta-2026-04-21" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] c32addafd789b1aa86bbcafe9d0f48af5aa3a0b128c3a3e8f5466ac0b7da4b83
[INFO] running `Command { std: "docker" "start" "-a" "c32addafd789b1aa86bbcafe9d0f48af5aa3a0b128c3a3e8f5466ac0b7da4b83", kill_on_drop: false }`
[INFO] [stderr] warning: unused imports: `SocketAddrV4` and `SocketAddrV6`
[INFO] [stderr]  --> src/client.rs:5:51
[INFO] [stderr]   |
[INFO] [stderr] 5 |     net::{IpAddr, Ipv4Addr, Ipv6Addr, SocketAddr, SocketAddrV4, SocketAddrV6},
[INFO] [stderr]   |                                                   ^^^^^^^^^^^^  ^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `error`
[INFO] [stderr]   --> src/client.rs:11:18
[INFO] [stderr]    |
[INFO] [stderr] 11 | use log::{debug, error, info};
[INFO] [stderr]    |                  ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: trailing semicolon in macro used in expression position
[INFO] [stderr]   --> src/protocols/socks5.rs:12:59
[INFO] [stderr]    |
[INFO] [stderr] 12 |         return Err(io::Error::new(ErrorKind::Other, $msg));
[INFO] [stderr]    |                                                           ^
[INFO] [stderr] ...
[INFO] [stderr] 50 |         _ => err!(""),
[INFO] [stderr]    |              -------- in this macro invocation
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stderr]    = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stderr]    = note: `#[warn(semicolon_in_expressions_from_macros)]` (part of `#[warn(future_incompatible)]`) on by default
[INFO] [stderr]    = note: this warning originates in the macro `err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `raw_ipv4`
[INFO] [stderr]    --> src/client.rs:153:25
[INFO] [stderr]     |
[INFO] [stderr] 153 |                     let raw_ipv4 = peer_left.read_exact(&mut buf).await?;
[INFO] [stderr]     |                         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_raw_ipv4`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `pending_data`
[INFO] [stderr]    --> src/client.rs:197:13
[INFO] [stderr]     |
[INFO] [stderr] 197 |             pending_data,
[INFO] [stderr]     |             ^^^^^^^^^^^^ help: try ignoring the field: `pending_data: _`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `from_port`
[INFO] [stderr]    --> src/client.rs:234:13
[INFO] [stderr]     |
[INFO] [stderr] 234 |             ref from_port,
[INFO] [stderr]     |             ^^^^^^^^^^^^^ help: try ignoring the field: `from_port: _`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `left`
[INFO] [stderr]    --> src/client.rs:235:13
[INFO] [stderr]     |
[INFO] [stderr] 235 |             ref left,
[INFO] [stderr]     |             ^^^^^^^^ help: try ignoring the field: `left: _`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `host`
[INFO] [stderr]   --> src/protocols/socks5.rs:23:23
[INFO] [stderr]    |
[INFO] [stderr] 23 |     let Destination { ref host, ref port } = dest;
[INFO] [stderr]    |                       ^^^^^^^^ help: try ignoring the field: `host: _`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `port`
[INFO] [stderr]   --> src/protocols/socks5.rs:23:33
[INFO] [stderr]    |
[INFO] [stderr] 23 |     let Destination { ref host, ref port } = dest;
[INFO] [stderr]    |                                 ^^^^^^^^ help: try ignoring the field: `port: _`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `n`
[INFO] [stderr]    --> src/stream.rs:169:21
[INFO] [stderr]     |
[INFO] [stderr] 169 |                 let n = try_poll!(reader.poll_read_to_buffer(ctx));
[INFO] [stderr]     |                     ^ help: if this is intentional, prefix it with an underscore: `_n`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `minor_version`
[INFO] [stderr]   --> src/tls/mod.rs:62:9
[INFO] [stderr]    |
[INFO] [stderr] 62 |         minor_version,
[INFO] [stderr]    |         ^^^^^^^^^^^^^ help: try ignoring the field: `minor_version: _`
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]   --> src/client.rs:92:34
[INFO] [stderr]    |
[INFO] [stderr] 92 | fn normalize_socket_addr(socket: &SocketAddr) -> Cow<SocketAddr> {
[INFO] [stderr]    |                                  ^^^^^^^^^^^     ^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]    |                                  |
[INFO] [stderr]    |                                  the lifetime is elided here
[INFO] [stderr]    |
[INFO] [stderr]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]    |
[INFO] [stderr] 92 | fn normalize_socket_addr(socket: &SocketAddr) -> Cow<'_, SocketAddr> {
[INFO] [stderr]    |                                                      +++
[INFO] [stderr] 
[INFO] [stderr] warning: `ooproxy` (lib) generated 12 warnings (run `cargo fix --lib -p ooproxy` to apply 11 suggestions)
[INFO] [stderr] warning: unused import: `std::borrow::Cow`
[INFO] [stderr]  --> src/bin/to_owned.rs:1:5
[INFO] [stderr]   |
[INFO] [stderr] 1 | use std::borrow::Cow;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `a`
[INFO] [stderr]  --> src/bin/to_owned.rs:5:9
[INFO] [stderr]   |
[INFO] [stderr] 5 |     let a = &x.to_owned();
[INFO] [stderr]   |         ^ help: if this is intentional, prefix it with an underscore: `_a`
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `e`
[INFO] [stderr]   --> src/bin/dns.rs:35:17
[INFO] [stderr]    |
[INFO] [stderr] 35 |             Err(e) => return None,
[INFO] [stderr]    |                 ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `App`
[INFO] [stderr]   --> src/main.rs:13:23
[INFO] [stderr]    |
[INFO] [stderr] 13 | use clap::{load_yaml, App, AppSettings};
[INFO] [stderr]    |                       ^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `BiPipe` and `StreamWithBuffer`
[INFO] [stderr]   --> src/main.rs:14:56
[INFO] [stderr]    |
[INFO] [stderr] 14 | use ooproxy::{client::Client, config::Config, stream::{BiPipe, StreamWithBuffer}};
[INFO] [stderr]    |                                                        ^^^^^^  ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `warn`
[INFO] [stderr]   --> src/main.rs:17:24
[INFO] [stderr]    |
[INFO] [stderr] 17 | use log::{error, info, warn, LevelFilter};
[INFO] [stderr]    |                        ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/main.rs:67:9
[INFO] [stderr]    |
[INFO] [stderr] 67 |     let mut addr = SocketAddr::new(host, port as u16);
[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: unused variable: `addr`
[INFO] [stderr]   --> src/main.rs:70:26
[INFO] [stderr]    |
[INFO] [stderr] 70 |     while let Ok((socks, addr)) = listener.accept().await {
[INFO] [stderr]    |                          ^^^^ help: if this is intentional, prefix it with an underscore: `_addr`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `s`
[INFO] [stderr]   --> src/bin/cell.rs:15:9
[INFO] [stderr]    |
[INFO] [stderr] 15 | fn take(s: &String){}
[INFO] [stderr]    |         ^ help: if this is intentional, prefix it with an underscore: `_s`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `s`
[INFO] [stderr]   --> src/bin/cell.rs:30:10
[INFO] [stderr]    |
[INFO] [stderr] 30 | fn hello(s: &str) {}
[INFO] [stderr]    |          ^ help: if this is intentional, prefix it with an underscore: `_s`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/bin/cell.rs:32:9
[INFO] [stderr]    |
[INFO] [stderr] 32 |     let mut s = String::from("");
[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: fields `name`, `location`, `age`, and `a` are never read
[INFO] [stderr]  --> src/bin/cell.rs:4:5
[INFO] [stderr]   |
[INFO] [stderr] 3 | pub struct Myself<'a> {
[INFO] [stderr]   |            ------ fields in this struct
[INFO] [stderr] 4 |     name: &'static str,
[INFO] [stderr]   |     ^^^^
[INFO] [stderr] 5 |     location: RefCell<String>,
[INFO] [stderr]   |     ^^^^^^^^
[INFO] [stderr] 6 |     age: Cell<u32>,
[INFO] [stderr]   |     ^^^
[INFO] [stderr] 7 |     a: &'a mut u32,
[INFO] [stderr]   |     ^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `Myself` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: function `print` is never used
[INFO] [stderr]   --> src/bin/cell.rs:10:4
[INFO] [stderr]    |
[INFO] [stderr] 10 | fn print(s: &mut String){
[INFO] [stderr]    |    ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `take` is never used
[INFO] [stderr]   --> src/bin/cell.rs:15:4
[INFO] [stderr]    |
[INFO] [stderr] 15 | fn take(s: &String){}
[INFO] [stderr]    |    ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused borrow that must be used
[INFO] [stderr]   --> src/bin/cell.rs:13:5
[INFO] [stderr]    |
[INFO] [stderr] 13 |     &mut *s;
[INFO] [stderr]    |     ^^^^^^^ the borrow produces a value
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]    |
[INFO] [stderr] 13 |     let _ = &mut *s;
[INFO] [stderr]    |     +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: `ooproxy` (bin "to_owned" test) generated 2 warnings (run `cargo fix --bin "to_owned" -p ooproxy --tests` to apply 2 suggestions)
[INFO] [stderr] warning: `ooproxy` (bin "dns" test) generated 1 warning (run `cargo fix --bin "dns" -p ooproxy --tests` to apply 1 suggestion)
[INFO] [stderr] warning: `ooproxy` (bin "ooproxy" test) generated 5 warnings (run `cargo fix --bin "ooproxy" -p ooproxy --tests` to apply 5 suggestions)
[INFO] [stderr] warning: `ooproxy` (bin "cell" test) generated 7 warnings (run `cargo fix --bin "cell" -p ooproxy --tests` to apply 3 suggestions)
[INFO] [stderr] warning: `ooproxy` (lib test) generated 12 warnings (12 duplicates)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.18s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: ooproxy v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 2`
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/ooproxy-d64ef2c2c24cae99)
[INFO] [stdout] 
[INFO] [stdout] running 2 tests
[INFO] [stdout] test tls::test_parse ... ok
[INFO] [stdout] test tls::test_parse_with_server_name ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/bin/cell.rs (/opt/rustwide/target/debug/deps/cell-ab9b2c01be5c4a71)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/bin/copy.rs (/opt/rustwide/target/debug/deps/copy-0cff7cf751d9805b)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/bin/dns.rs (/opt/rustwide/target/debug/deps/dns-9bd6e028ba8a4c1a)
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/ooproxy-32cd541a897640d3)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/bin/to_owned.rs (/opt/rustwide/target/debug/deps/to_owned-84a76aad4449e82b)
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/bin/trait.rs (/opt/rustwide/target/debug/deps/trait-ebdbe98b7c8b379e)
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests ooproxy
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "c32addafd789b1aa86bbcafe9d0f48af5aa3a0b128c3a3e8f5466ac0b7da4b83", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "c32addafd789b1aa86bbcafe9d0f48af5aa3a0b128c3a3e8f5466ac0b7da4b83", kill_on_drop: false }`
[INFO] [stdout] c32addafd789b1aa86bbcafe9d0f48af5aa3a0b128c3a3e8f5466ac0b7da4b83
