[INFO] cloning repository https://github.com/raja-dettex/rust-ws
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/raja-dettex/rust-ws" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fraja-dettex%2Frust-ws", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fraja-dettex%2Frust-ws'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 7cff218eb60bf87c0771df8775c46497d5dd3e3d
[INFO] testing raja-dettex/rust-ws against beta-2026-01-20 for beta-1.94-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fraja-dettex%2Frust-ws" "/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/raja-dettex/rust-ws
[INFO] finished tweaking git repo https://github.com/raja-dettex/rust-ws
[INFO] tweaked toml for git repo https://github.com/raja-dettex/rust-ws written to /workspace/builds/worker-5-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/raja-dettex/rust-ws on toolchain beta-2026-01-20
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2026-01-20" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/raja-dettex/rust-ws 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-01-20" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded event-emitter-rs v0.1.4
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:98afbf2d16093dec2546ff8915fddc74e65664aa03fc460b3712b1c2c54a33e4" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-01-20" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] c9495bd7ec1791147d93386e403d49d3f93e6f2fb69af86b65e83db1fa87b06e
[INFO] running `Command { std: "docker" "start" "-a" "c9495bd7ec1791147d93386e403d49d3f93e6f2fb69af86b65e83db1fa87b06e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "c9495bd7ec1791147d93386e403d49d3f93e6f2fb69af86b65e83db1fa87b06e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "c9495bd7ec1791147d93386e403d49d3f93e6f2fb69af86b65e83db1fa87b06e", kill_on_drop: false }`
[INFO] [stdout] c9495bd7ec1791147d93386e403d49d3f93e6f2fb69af86b65e83db1fa87b06e
[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:98afbf2d16093dec2546ff8915fddc74e65664aa03fc460b3712b1c2c54a33e4" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-01-20" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 66ed4182f2159ac77809c9d47ffbf52877703f3c32aa7bb32a84f961af2c66f2
[INFO] running `Command { std: "docker" "start" "-a" "66ed4182f2159ac77809c9d47ffbf52877703f3c32aa7bb32a84f961af2c66f2", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.94
[INFO] [stderr]    Compiling libc v0.2.171
[INFO] [stderr]    Compiling quote v1.0.40
[INFO] [stderr]    Compiling syn v2.0.100
[INFO] [stderr]    Compiling getrandom v0.2.15
[INFO] [stderr]    Compiling uuid v0.8.2
[INFO] [stderr]    Compiling serde_derive v1.0.219
[INFO] [stderr]    Compiling serde v1.0.219
[INFO] [stderr]    Compiling bincode v1.3.3
[INFO] [stderr]    Compiling event-emitter-rs v0.1.4
[INFO] [stderr]    Compiling rust-ws v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused imports: `TcpListener` and `TcpStream`
[INFO] [stdout]  --> src/lib.rs:1:16
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::net::{TcpListener, TcpStream};
[INFO] [stdout]   |                ^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Mutex` and `rc::Rc`
[INFO] [stdout]  --> src/examples/main.rs:1:79
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{io::{Error, ErrorKind, Read, Write}, net::{TcpListener, TcpStream}, rc::Rc, sync::{mpsc, Arc, Mutex}, thread::{self, sleep,...
[INFO] [stdout]   |                                                                               ^^^^^^                    ^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> src/examples/main.rs:93:31
[INFO] [stdout]    |
[INFO] [stdout] 93 | ...                   if(err.kind() == ErrorKind::WouldBlock || err.kind() == ErrorKind::TimedOut) { 
[INFO] [stdout]    |                         ^                                                                        ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 93 -                             if(err.kind() == ErrorKind::WouldBlock || err.kind() == ErrorKind::TimedOut) { 
[INFO] [stdout] 93 +                             if err.kind() == ErrorKind::WouldBlock || err.kind() == ErrorKind::TimedOut  { 
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/examples/main.rs:85:38
[INFO] [stdout]    |
[INFO] [stdout] 85 | ...                   let  mut conn_clone = conn.try_clone().unwrap();
[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: `address`
[INFO] [stdout]   --> src/examples/main.rs:62:37
[INFO] [stdout]    |
[INFO] [stdout] 62 |             while let Ok((mut conn, address)) = server.conn.accept() { 
[INFO] [stdout]    |                                     ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_address`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `conn`
[INFO] [stdout]    --> src/examples/main.rs:115:9
[INFO] [stdout]     |
[INFO] [stdout] 115 |     let conn = server.receiver.recv().unwrap();
[INFO] [stdout]     |         ^^^^ help: if this is intentional, prefix it with an underscore: `_conn`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `fin`
[INFO] [stdout]    --> src/examples/main.rs:235:9
[INFO] [stdout]     |
[INFO] [stdout] 235 |     let fin = (data[0] & 0b1000_0000) != 0;
[INFO] [stdout]     |         ^^^ help: if this is intentional, prefix it with an underscore: `_fin`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `opts` is never read
[INFO] [stdout]   --> src/examples/main.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | struct Server { 
[INFO] [stdout]    |        ------ field in this struct
[INFO] [stdout] 11 |     opts: ServerOpts,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Server` has a derived impl for the trait `Clone`, 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: trait `Message` is never used
[INFO] [stdout]   --> src/examples/main.rs:15:7
[INFO] [stdout]    |
[INFO] [stdout] 15 | trait Message { 
[INFO] [stdout]    |       ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `stream` and `emitter` are never read
[INFO] [stdout]   --> src/examples/main.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 21 | struct WSConnection {  
[INFO] [stdout]    |        ------------ fields in this struct
[INFO] [stdout] 22 |     stream: TcpStream,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 23 |     emitter : EventEmitter
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `send` and `receive` are never used
[INFO] [stdout]   --> src/examples/main.rs:27:8
[INFO] [stdout]    |
[INFO] [stdout] 26 | impl WSConnection { 
[INFO] [stdout]    | ----------------- methods in this implementation
[INFO] [stdout] 27 |     fn send<T: Message + Send + 'static> (&mut self, value: T) { 
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 31 |     fn receive<T: Message + Send + 'static, F: Fn(T) + Send + 'static + Sync >(&mut self, func: F) { 
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `host` and `port` are never read
[INFO] [stdout]   --> src/examples/main.rs:38:5
[INFO] [stdout]    |
[INFO] [stdout] 37 | struct ServerOpts { 
[INFO] [stdout]    |        ---------- fields in this struct
[INFO] [stdout] 38 |     host: String,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 39 |     port: usize
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ServerOpts` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/examples/main.rs:87:33
[INFO] [stdout]    |
[INFO] [stdout] 87 | ...                   sender.send(ws_conn);
[INFO] [stdout]    |                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[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] 87 |                                 let _ = sender.send(ws_conn);
[INFO] [stdout]    |                                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 8.75s
[INFO] running `Command { std: "docker" "inspect" "66ed4182f2159ac77809c9d47ffbf52877703f3c32aa7bb32a84f961af2c66f2", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "66ed4182f2159ac77809c9d47ffbf52877703f3c32aa7bb32a84f961af2c66f2", kill_on_drop: false }`
[INFO] [stdout] 66ed4182f2159ac77809c9d47ffbf52877703f3c32aa7bb32a84f961af2c66f2
[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:98afbf2d16093dec2546ff8915fddc74e65664aa03fc460b3712b1c2c54a33e4" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-01-20" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 4e62ae1ee73ec66b158a68b376faebb2ae63670d876e6b58411cb29a328234c1
[INFO] running `Command { std: "docker" "start" "-a" "4e62ae1ee73ec66b158a68b376faebb2ae63670d876e6b58411cb29a328234c1", kill_on_drop: false }`
[INFO] [stdout] warning: unused imports: `TcpListener` and `TcpStream`
[INFO] [stdout]  --> src/lib.rs:1:16
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::net::{TcpListener, TcpStream};
[INFO] [stdout]   |                ^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling rust-ws v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused imports: `TcpListener` and `TcpStream`
[INFO] [stdout]  --> src/lib.rs:1:16
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::net::{TcpListener, TcpStream};
[INFO] [stdout]   |                ^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Mutex` and `rc::Rc`
[INFO] [stdout]  --> src/examples/main.rs:1:79
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{io::{Error, ErrorKind, Read, Write}, net::{TcpListener, TcpStream}, rc::Rc, sync::{mpsc, Arc, Mutex}, thread::{self, sleep,...
[INFO] [stdout]   |                                                                               ^^^^^^                    ^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> src/examples/main.rs:93:31
[INFO] [stdout]    |
[INFO] [stdout] 93 | ...                   if(err.kind() == ErrorKind::WouldBlock || err.kind() == ErrorKind::TimedOut) { 
[INFO] [stdout]    |                         ^                                                                        ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 93 -                             if(err.kind() == ErrorKind::WouldBlock || err.kind() == ErrorKind::TimedOut) { 
[INFO] [stdout] 93 +                             if err.kind() == ErrorKind::WouldBlock || err.kind() == ErrorKind::TimedOut  { 
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/examples/main.rs:85:38
[INFO] [stdout]    |
[INFO] [stdout] 85 | ...                   let  mut conn_clone = conn.try_clone().unwrap();
[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: `address`
[INFO] [stdout]   --> src/examples/main.rs:62:37
[INFO] [stdout]    |
[INFO] [stdout] 62 |             while let Ok((mut conn, address)) = server.conn.accept() { 
[INFO] [stdout]    |                                     ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_address`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `conn`
[INFO] [stdout]    --> src/examples/main.rs:115:9
[INFO] [stdout]     |
[INFO] [stdout] 115 |     let conn = server.receiver.recv().unwrap();
[INFO] [stdout]     |         ^^^^ help: if this is intentional, prefix it with an underscore: `_conn`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `fin`
[INFO] [stdout]    --> src/examples/main.rs:235:9
[INFO] [stdout]     |
[INFO] [stdout] 235 |     let fin = (data[0] & 0b1000_0000) != 0;
[INFO] [stdout]     |         ^^^ help: if this is intentional, prefix it with an underscore: `_fin`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `opts` is never read
[INFO] [stdout]   --> src/examples/main.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | struct Server { 
[INFO] [stdout]    |        ------ field in this struct
[INFO] [stdout] 11 |     opts: ServerOpts,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Server` has a derived impl for the trait `Clone`, 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: trait `Message` is never used
[INFO] [stdout]   --> src/examples/main.rs:15:7
[INFO] [stdout]    |
[INFO] [stdout] 15 | trait Message { 
[INFO] [stdout]    |       ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `stream` and `emitter` are never read
[INFO] [stdout]   --> src/examples/main.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 21 | struct WSConnection {  
[INFO] [stdout]    |        ------------ fields in this struct
[INFO] [stdout] 22 |     stream: TcpStream,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 23 |     emitter : EventEmitter
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `send` and `receive` are never used
[INFO] [stdout]   --> src/examples/main.rs:27:8
[INFO] [stdout]    |
[INFO] [stdout] 26 | impl WSConnection { 
[INFO] [stdout]    | ----------------- methods in this implementation
[INFO] [stdout] 27 |     fn send<T: Message + Send + 'static> (&mut self, value: T) { 
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 31 |     fn receive<T: Message + Send + 'static, F: Fn(T) + Send + 'static + Sync >(&mut self, func: F) { 
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `host` and `port` are never read
[INFO] [stdout]   --> src/examples/main.rs:38:5
[INFO] [stdout]    |
[INFO] [stdout] 37 | struct ServerOpts { 
[INFO] [stdout]    |        ---------- fields in this struct
[INFO] [stdout] 38 |     host: String,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 39 |     port: usize
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ServerOpts` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/examples/main.rs:87:33
[INFO] [stdout]    |
[INFO] [stdout] 87 | ...                   sender.send(ws_conn);
[INFO] [stdout]    |                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[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] 87 |                                 let _ = sender.send(ws_conn);
[INFO] [stdout]    |                                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.19s
[INFO] running `Command { std: "docker" "inspect" "4e62ae1ee73ec66b158a68b376faebb2ae63670d876e6b58411cb29a328234c1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "4e62ae1ee73ec66b158a68b376faebb2ae63670d876e6b58411cb29a328234c1", kill_on_drop: false }`
[INFO] [stdout] 4e62ae1ee73ec66b158a68b376faebb2ae63670d876e6b58411cb29a328234c1
[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:98afbf2d16093dec2546ff8915fddc74e65664aa03fc460b3712b1c2c54a33e4" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-01-20" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] cafcc7f39b5cbe301218fbc891ec21df4c4c972777fa75488ac1952edb8eef31
[INFO] running `Command { std: "docker" "start" "-a" "cafcc7f39b5cbe301218fbc891ec21df4c4c972777fa75488ac1952edb8eef31", kill_on_drop: false }`
[INFO] [stderr] warning: unused imports: `TcpListener` and `TcpStream`
[INFO] [stderr]  --> src/lib.rs:1:16
[INFO] [stderr]   |
[INFO] [stderr] 1 | use std::net::{TcpListener, TcpStream};
[INFO] [stderr]   |                ^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: `rust-ws` (lib) generated 1 warning (run `cargo fix --lib -p rust-ws` to apply 1 suggestion)
[INFO] [stderr] warning: `rust-ws` (lib test) generated 1 warning (1 duplicate)
[INFO] [stderr] warning: unused imports: `Mutex` and `rc::Rc`
[INFO] [stderr]  --> src/examples/main.rs:1:79
[INFO] [stderr]   |
[INFO] [stderr] 1 | use std::{io::{Error, ErrorKind, Read, Write}, net::{TcpListener, TcpStream}, rc::Rc, sync::{mpsc, Arc, Mutex}, thread::{self, sleep,...
[INFO] [stderr]   |                                                                               ^^^^^^                    ^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `if` condition
[INFO] [stderr]   --> src/examples/main.rs:93:31
[INFO] [stderr]    |
[INFO] [stderr] 93 | ...                   if(err.kind() == ErrorKind::WouldBlock || err.kind() == ErrorKind::TimedOut) { 
[INFO] [stderr]    |                         ^                                                                        ^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]    |
[INFO] [stderr] 93 -                             if(err.kind() == ErrorKind::WouldBlock || err.kind() == ErrorKind::TimedOut) { 
[INFO] [stderr] 93 +                             if err.kind() == ErrorKind::WouldBlock || err.kind() == ErrorKind::TimedOut  { 
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/examples/main.rs:85:38
[INFO] [stderr]    |
[INFO] [stderr] 85 | ...                   let  mut conn_clone = conn.try_clone().unwrap();
[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: `address`
[INFO] [stderr]   --> src/examples/main.rs:62:37
[INFO] [stderr]    |
[INFO] [stderr] 62 |             while let Ok((mut conn, address)) = server.conn.accept() { 
[INFO] [stderr]    |                                     ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_address`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `conn`
[INFO] [stderr]    --> src/examples/main.rs:115:9
[INFO] [stderr]     |
[INFO] [stderr] 115 |     let conn = server.receiver.recv().unwrap();
[INFO] [stderr]     |         ^^^^ help: if this is intentional, prefix it with an underscore: `_conn`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `fin`
[INFO] [stderr]    --> src/examples/main.rs:235:9
[INFO] [stderr]     |
[INFO] [stderr] 235 |     let fin = (data[0] & 0b1000_0000) != 0;
[INFO] [stderr]     |         ^^^ help: if this is intentional, prefix it with an underscore: `_fin`
[INFO] [stderr] 
[INFO] [stderr] warning: field `opts` is never read
[INFO] [stderr]   --> src/examples/main.rs:11:5
[INFO] [stderr]    |
[INFO] [stderr] 10 | struct Server { 
[INFO] [stderr]    |        ------ field in this struct
[INFO] [stderr] 11 |     opts: ServerOpts,
[INFO] [stderr]    |     ^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `Server` has a derived impl for the trait `Clone`, 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: trait `Message` is never used
[INFO] [stderr]   --> src/examples/main.rs:15:7
[INFO] [stderr]    |
[INFO] [stderr] 15 | trait Message { 
[INFO] [stderr]    |       ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: fields `stream` and `emitter` are never read
[INFO] [stderr]   --> src/examples/main.rs:22:5
[INFO] [stderr]    |
[INFO] [stderr] 21 | struct WSConnection {  
[INFO] [stderr]    |        ------------ fields in this struct
[INFO] [stderr] 22 |     stream: TcpStream,
[INFO] [stderr]    |     ^^^^^^
[INFO] [stderr] 23 |     emitter : EventEmitter
[INFO] [stderr]    |     ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: methods `send` and `receive` are never used
[INFO] [stderr]   --> src/examples/main.rs:27:8
[INFO] [stderr]    |
[INFO] [stderr] 26 | impl WSConnection { 
[INFO] [stderr]    | ----------------- methods in this implementation
[INFO] [stderr] 27 |     fn send<T: Message + Send + 'static> (&mut self, value: T) { 
[INFO] [stderr]    |        ^^^^
[INFO] [stderr] ...
[INFO] [stderr] 31 |     fn receive<T: Message + Send + 'static, F: Fn(T) + Send + 'static + Sync >(&mut self, func: F) { 
[INFO] [stderr]    |        ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: fields `host` and `port` are never read
[INFO] [stderr]   --> src/examples/main.rs:38:5
[INFO] [stderr]    |
[INFO] [stderr] 37 | struct ServerOpts { 
[INFO] [stderr]    |        ---------- fields in this struct
[INFO] [stderr] 38 |     host: String,
[INFO] [stderr]    |     ^^^^
[INFO] [stderr] 39 |     port: usize
[INFO] [stderr]    |     ^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `ServerOpts` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]   --> src/examples/main.rs:87:33
[INFO] [stderr]    |
[INFO] [stderr] 87 | ...                   sender.send(ws_conn);
[INFO] [stderr]    |                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: this `Result` may be an `Err` variant, which should be handled
[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] 87 |                                 let _ = sender.send(ws_conn);
[INFO] [stderr]    |                                 +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: `rust-ws` (bin "server" test) generated 12 warnings (run `cargo fix --bin "server" -p rust-ws --tests` to apply 6 suggestions)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.02s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/rust_ws-82c564325b8898c9)
[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/examples/main.rs (/opt/rustwide/target/debug/deps/server-a2da74aa6f277db7)
[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 rust_ws
[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" "cafcc7f39b5cbe301218fbc891ec21df4c4c972777fa75488ac1952edb8eef31", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "cafcc7f39b5cbe301218fbc891ec21df4c4c972777fa75488ac1952edb8eef31", kill_on_drop: false }`
[INFO] [stdout] cafcc7f39b5cbe301218fbc891ec21df4c4c972777fa75488ac1952edb8eef31
