[INFO] cloning repository https://github.com/dominikdosoudil/lan-chat
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/dominikdosoudil/lan-chat" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdominikdosoudil%2Flan-chat", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdominikdosoudil%2Flan-chat'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 91b437c601799b92c0b948d7a0e841741828b606
[INFO] checking dominikdosoudil/lan-chat against master#5518eaa946291f00471af8b254b2a1715f234882 for pr-120393-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdominikdosoudil%2Flan-chat" "/workspace/builds/worker-2-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc1/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/dominikdosoudil/lan-chat on toolchain 5518eaa946291f00471af8b254b2a1715f234882
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+5518eaa946291f00471af8b254b2a1715f234882" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/dominikdosoudil/lan-chat
[INFO] finished tweaking git repo https://github.com/dominikdosoudil/lan-chat
[INFO] tweaked toml for git repo https://github.com/dominikdosoudil/lan-chat written to /workspace/builds/worker-2-tc1/source/Cargo.toml
[INFO] crate git repo https://github.com/dominikdosoudil/lan-chat 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" "+5518eaa946291f00471af8b254b2a1715f234882" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded itoa v0.3.4
[INFO] [stderr]   Downloaded serde v1.0.27
[INFO] [stderr]   Downloaded serde_derive v1.0.27
[INFO] [stderr]   Downloaded serde_derive_internals v0.19.0
[INFO] [stderr]   Downloaded serde_json v1.0.9
[INFO] [stderr]   Downloaded num-traits v0.1.41
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+5518eaa946291f00471af8b254b2a1715f234882" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 40c6cc427f960ef04b1e992c054a7b670e84ab6068618dedd95d3524c55a9a26
[INFO] running `Command { std: "docker" "start" "-a" "40c6cc427f960ef04b1e992c054a7b670e84ab6068618dedd95d3524c55a9a26", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "40c6cc427f960ef04b1e992c054a7b670e84ab6068618dedd95d3524c55a9a26", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "40c6cc427f960ef04b1e992c054a7b670e84ab6068618dedd95d3524c55a9a26", kill_on_drop: false }`
[INFO] [stdout] 40c6cc427f960ef04b1e992c054a7b670e84ab6068618dedd95d3524c55a9a26
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+5518eaa946291f00471af8b254b2a1715f234882" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 15506eda75e5ce57109fde3cb8313cd7a2c2c3e1027faa5392ca554397720f35
[INFO] running `Command { std: "docker" "start" "-a" "15506eda75e5ce57109fde3cb8313cd7a2c2c3e1027faa5392ca554397720f35", kill_on_drop: false }`
[INFO] [stderr]    Compiling unicode-xid v0.0.4
[INFO] [stderr]    Compiling quote v0.3.15
[INFO] [stderr]     Checking dtoa v0.4.2
[INFO] [stderr]     Checking num-traits v0.1.41
[INFO] [stderr]     Checking itoa v0.3.4
[INFO] [stderr]     Checking serde v1.0.27
[INFO] [stderr]    Compiling synom v0.11.3
[INFO] [stderr]    Compiling syn v0.11.11
[INFO] [stderr]    Compiling serde_derive_internals v0.19.0
[INFO] [stderr]    Compiling serde_derive v1.0.27
[INFO] [stderr]     Checking serde_json v1.0.9
[INFO] [stderr]     Checking lan-chat v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `std::str`
[INFO] [stdout]   --> src/main.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::str;
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `serde_json`
[INFO] [stdout]   --> src/server/mod.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use serde_json;
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `from_str as from_json`, `to_string as json`
[INFO] [stdout]  --> src/server/types.rs:5:18
[INFO] [stdout]   |
[INFO] [stdout] 5 | use serde_json::{to_string as json, from_str as from_json};
[INFO] [stdout]   |                  ^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::str`
[INFO] [stdout]   --> src/main.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::str;
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `serde_json`
[INFO] [stdout]   --> src/server/mod.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use serde_json;
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `from_str as from_json`, `to_string as json`
[INFO] [stdout]  --> src/server/types.rs:5:18
[INFO] [stdout]   |
[INFO] [stdout] 5 | use serde_json::{to_string as json, from_str as from_json};
[INFO] [stdout]   |                  ^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `srv_rx`
[INFO] [stdout]   --> src/server/mod.rs:68:19
[INFO] [stdout]    |
[INFO] [stdout] 68 |         let (client_tx, srv_rx) = mpsc::sync_channel::<String>(200);
[INFO] [stdout]    |                         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_srv_rx`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `disc_req`
[INFO] [stdout]   --> src/server/mod.rs:70:7
[INFO] [stdout]    |
[INFO] [stdout] 70 |         let disc_req = Request::new(
[INFO] [stdout]    |             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_disc_req`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]   --> src/server/mod.rs:94:10
[INFO] [stdout]    |
[INFO] [stdout] 94 |                     Err(e) => {}, //println!("Q empty."),
[INFO] [stdout]    |                         ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n`
[INFO] [stdout]    --> src/server/mod.rs:105:8
[INFO] [stdout]     |
[INFO] [stdout] 105 |             Ok((n, senderIp)) if senderIp == self.socket.local_addr().unwrap() => {
[INFO] [stdout]     |                 ^ help: if this is intentional, prefix it with an underscore: `_n`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tx`
[INFO] [stdout]   --> src/main.rs:52:9
[INFO] [stdout]    |
[INFO] [stdout] 52 |                 Ok((tx, socket)) => {
[INFO] [stdout]    |                     ^^ help: if this is intentional, prefix it with an underscore: `_tx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]   --> src/main.rs:55:11
[INFO] [stdout]    |
[INFO] [stdout] 55 | ...                   Ok(data) => {}, //println!("{:?}", data),
[INFO] [stdout]    |                          ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `state` is never read
[INFO] [stdout]   --> src/server/mod.rs:18:2
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub struct Server {
[INFO] [stdout]    |            ------ field in this struct
[INFO] [stdout] 17 |     socket: UdpSocket,
[INFO] [stdout] 18 |     state: ServerState,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Discovering`, `WaitingForChannelSelect`, `Handshaking`, and `Connected` are never constructed
[INFO] [stdout]   --> src/server/types.rs:9:2
[INFO] [stdout]    |
[INFO] [stdout] 7  | pub enum ServerState {
[INFO] [stdout]    |          ----------- variants in this enum
[INFO] [stdout] 8  |     Initialized,
[INFO] [stdout] 9  |     Discovering,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 10 |     WaitingForChannelSelect,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 11 |     Handshaking,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 12 |     Connected,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `of_kind` is never used
[INFO] [stdout]   --> src/server/types.rs:50:9
[INFO] [stdout]    |
[INFO] [stdout] 46 | impl RequestHeader {
[INFO] [stdout]    | ------------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 50 |     pub fn of_kind(&self, k: RequestKind) {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `uid`, `name`, `knight`, and `king` are never read
[INFO] [stdout]   --> src/server/types.rs:72:6
[INFO] [stdout]    |
[INFO] [stdout] 71 | struct Channel {
[INFO] [stdout]    |        ------- fields in this struct
[INFO] [stdout] 72 |     pub uid: u32,
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 73 |     pub name: String,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 74 |     pub knight: Node,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout] 75 |     pub king: Node,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Channel` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `AlreadyStarted` is never constructed
[INFO] [stdout]   --> src/server/types.rs:80:2
[INFO] [stdout]    |
[INFO] [stdout] 79 | pub enum ServerError {
[INFO] [stdout]    |          ----------- variant in this enum
[INFO] [stdout] 80 |     AlreadyStarted,    
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ServerError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `sender` and `text` are never read
[INFO] [stdout]   --> src/server/types.rs:85:2
[INFO] [stdout]    |
[INFO] [stdout] 84 | pub struct Message {
[INFO] [stdout]    |            ------- fields in this struct
[INFO] [stdout] 85 |     sender: Node,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 86 |     text: String,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Message` has a derived impl for the trait `Debug`, 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/main.rs:31:6
[INFO] [stdout]    |
[INFO] [stdout] 31 |                     sock.send_to("saying hello".as_bytes(), "192.168.1.255:12345");
[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)]` on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 31 |                     let _ = sock.send_to("saying hello".as_bytes(), "192.168.1.255:12345");
[INFO] [stdout]    |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/server/mod.rs:51:5
[INFO] [stdout]    |
[INFO] [stdout] 51 |                 msg_tx.try_send(Message::new(String::from("Test Message"), request.header.sender));
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 51 |                 let _ = msg_tx.try_send(Message::new(String::from("Test Message"), request.header.sender));
[INFO] [stdout]    |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/server/mod.rs:79:3
[INFO] [stdout]    |
[INFO] [stdout] 79 | /         thread::Builder::new().name("network_communication".to_string()).spawn(move || {
[INFO] [stdout] 80 | |             loop {
[INFO] [stdout] 81 | |                 thread::sleep(time::Duration::from_millis(500));
[INFO] [stdout] 82 | |                 match self.try_get_request() {
[INFO] [stdout] ...  |
[INFO] [stdout] 97 | |
[INFO] [stdout] 98 | |         });
[INFO] [stdout]    | |__________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 79 |         let _ = thread::Builder::new().name("network_communication".to_string()).spawn(move || {
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/server/mod.rs:85:7
[INFO] [stdout]    |
[INFO] [stdout] 85 |                         self.handle_request(&srv_tx, &request_sender, request);
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 85 |                         let _ = self.handle_request(&srv_tx, &request_sender, request);
[INFO] [stdout]    |                         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/server/mod.rs:91:7
[INFO] [stdout]    |
[INFO] [stdout] 91 |                         self.send_request(request);
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 91 |                         let _ = self.send_request(request);
[INFO] [stdout]    |                         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `senderIp` should have a snake case name
[INFO] [stdout]    --> src/server/mod.rs:105:11
[INFO] [stdout]     |
[INFO] [stdout] 105 |             Ok((n, senderIp)) if senderIp == self.socket.local_addr().unwrap() => {
[INFO] [stdout]     |                    ^^^^^^^^ help: convert the identifier to snake case: `sender_ip`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(non_snake_case)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `senderIp` should have a snake case name
[INFO] [stdout]    --> src/server/mod.rs:109:26
[INFO] [stdout]     |
[INFO] [stdout] 109 |             Ok((n, SocketAddr::V4(senderIp))) => {
[INFO] [stdout]     |                                   ^^^^^^^^ help: convert the identifier to snake case: `sender_ip`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/server/mod.rs:127:3
[INFO] [stdout]     |
[INFO] [stdout] 127 |         self.socket.send_to(json(&request).unwrap().as_bytes(), "192.168.1.255:12345");
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 127 |         let _ = self.socket.send_to(json(&request).unwrap().as_bytes(), "192.168.1.255:12345");
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused comparison that must be used
[INFO] [stdout]   --> src/server/types.rs:51:3
[INFO] [stdout]    |
[INFO] [stdout] 51 |         k == self.kind;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^ the comparison produces a value
[INFO] [stdout]    |
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 51 |         let _ = k == self.kind;
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 24 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `srv_rx`
[INFO] [stdout]   --> src/server/mod.rs:68:19
[INFO] [stdout]    |
[INFO] [stdout] 68 |         let (client_tx, srv_rx) = mpsc::sync_channel::<String>(200);
[INFO] [stdout]    |                         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_srv_rx`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `disc_req`
[INFO] [stdout]   --> src/server/mod.rs:70:7
[INFO] [stdout]    |
[INFO] [stdout] 70 |         let disc_req = Request::new(
[INFO] [stdout]    |             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_disc_req`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]   --> src/server/mod.rs:94:10
[INFO] [stdout]    |
[INFO] [stdout] 94 |                     Err(e) => {}, //println!("Q empty."),
[INFO] [stdout]    |                         ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n`
[INFO] [stdout]    --> src/server/mod.rs:105:8
[INFO] [stdout]     |
[INFO] [stdout] 105 |             Ok((n, senderIp)) if senderIp == self.socket.local_addr().unwrap() => {
[INFO] [stdout]     |                 ^ help: if this is intentional, prefix it with an underscore: `_n`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tx`
[INFO] [stdout]   --> src/main.rs:52:9
[INFO] [stdout]    |
[INFO] [stdout] 52 |                 Ok((tx, socket)) => {
[INFO] [stdout]    |                     ^^ help: if this is intentional, prefix it with an underscore: `_tx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]   --> src/main.rs:55:11
[INFO] [stdout]    |
[INFO] [stdout] 55 | ...                   Ok(data) => {}, //println!("{:?}", data),
[INFO] [stdout]    |                          ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `state` is never read
[INFO] [stdout]   --> src/server/mod.rs:18:2
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub struct Server {
[INFO] [stdout]    |            ------ field in this struct
[INFO] [stdout] 17 |     socket: UdpSocket,
[INFO] [stdout] 18 |     state: ServerState,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Discovering`, `WaitingForChannelSelect`, `Handshaking`, and `Connected` are never constructed
[INFO] [stdout]   --> src/server/types.rs:9:2
[INFO] [stdout]    |
[INFO] [stdout] 7  | pub enum ServerState {
[INFO] [stdout]    |          ----------- variants in this enum
[INFO] [stdout] 8  |     Initialized,
[INFO] [stdout] 9  |     Discovering,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 10 |     WaitingForChannelSelect,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 11 |     Handshaking,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 12 |     Connected,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `of_kind` is never used
[INFO] [stdout]   --> src/server/types.rs:50:9
[INFO] [stdout]    |
[INFO] [stdout] 46 | impl RequestHeader {
[INFO] [stdout]    | ------------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 50 |     pub fn of_kind(&self, k: RequestKind) {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `uid`, `name`, `knight`, and `king` are never read
[INFO] [stdout]   --> src/server/types.rs:72:6
[INFO] [stdout]    |
[INFO] [stdout] 71 | struct Channel {
[INFO] [stdout]    |        ------- fields in this struct
[INFO] [stdout] 72 |     pub uid: u32,
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 73 |     pub name: String,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 74 |     pub knight: Node,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout] 75 |     pub king: Node,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Channel` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `AlreadyStarted` is never constructed
[INFO] [stdout]   --> src/server/types.rs:80:2
[INFO] [stdout]    |
[INFO] [stdout] 79 | pub enum ServerError {
[INFO] [stdout]    |          ----------- variant in this enum
[INFO] [stdout] 80 |     AlreadyStarted,    
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ServerError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `sender` and `text` are never read
[INFO] [stdout]   --> src/server/types.rs:85:2
[INFO] [stdout]    |
[INFO] [stdout] 84 | pub struct Message {
[INFO] [stdout]    |            ------- fields in this struct
[INFO] [stdout] 85 |     sender: Node,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 86 |     text: String,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Message` has a derived impl for the trait `Debug`, 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/main.rs:31:6
[INFO] [stdout]    |
[INFO] [stdout] 31 |                     sock.send_to("saying hello".as_bytes(), "192.168.1.255:12345");
[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)]` on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 31 |                     let _ = sock.send_to("saying hello".as_bytes(), "192.168.1.255:12345");
[INFO] [stdout]    |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/server/mod.rs:51:5
[INFO] [stdout]    |
[INFO] [stdout] 51 |                 msg_tx.try_send(Message::new(String::from("Test Message"), request.header.sender));
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 51 |                 let _ = msg_tx.try_send(Message::new(String::from("Test Message"), request.header.sender));
[INFO] [stdout]    |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/server/mod.rs:79:3
[INFO] [stdout]    |
[INFO] [stdout] 79 | /         thread::Builder::new().name("network_communication".to_string()).spawn(move || {
[INFO] [stdout] 80 | |             loop {
[INFO] [stdout] 81 | |                 thread::sleep(time::Duration::from_millis(500));
[INFO] [stdout] 82 | |                 match self.try_get_request() {
[INFO] [stdout] ...  |
[INFO] [stdout] 97 | |
[INFO] [stdout] 98 | |         });
[INFO] [stdout]    | |__________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 79 |         let _ = thread::Builder::new().name("network_communication".to_string()).spawn(move || {
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/server/mod.rs:85:7
[INFO] [stdout]    |
[INFO] [stdout] 85 |                         self.handle_request(&srv_tx, &request_sender, request);
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 85 |                         let _ = self.handle_request(&srv_tx, &request_sender, request);
[INFO] [stdout]    |                         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/server/mod.rs:91:7
[INFO] [stdout]    |
[INFO] [stdout] 91 |                         self.send_request(request);
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 91 |                         let _ = self.send_request(request);
[INFO] [stdout]    |                         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `senderIp` should have a snake case name
[INFO] [stdout]    --> src/server/mod.rs:105:11
[INFO] [stdout]     |
[INFO] [stdout] 105 |             Ok((n, senderIp)) if senderIp == self.socket.local_addr().unwrap() => {
[INFO] [stdout]     |                    ^^^^^^^^ help: convert the identifier to snake case: `sender_ip`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(non_snake_case)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `senderIp` should have a snake case name
[INFO] [stdout]    --> src/server/mod.rs:109:26
[INFO] [stdout]     |
[INFO] [stdout] 109 |             Ok((n, SocketAddr::V4(senderIp))) => {
[INFO] [stdout]     |                                   ^^^^^^^^ help: convert the identifier to snake case: `sender_ip`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/server/mod.rs:127:3
[INFO] [stdout]     |
[INFO] [stdout] 127 |         self.socket.send_to(json(&request).unwrap().as_bytes(), "192.168.1.255:12345");
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 127 |         let _ = self.socket.send_to(json(&request).unwrap().as_bytes(), "192.168.1.255:12345");
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused comparison that must be used
[INFO] [stdout]   --> src/server/types.rs:51:3
[INFO] [stdout]    |
[INFO] [stdout] 51 |         k == self.kind;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^ the comparison produces a value
[INFO] [stdout]    |
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 51 |         let _ = k == self.kind;
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 24 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished dev [unoptimized + debuginfo] target(s) in 3.06s
[INFO] running `Command { std: "docker" "inspect" "15506eda75e5ce57109fde3cb8313cd7a2c2c3e1027faa5392ca554397720f35", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "15506eda75e5ce57109fde3cb8313cd7a2c2c3e1027faa5392ca554397720f35", kill_on_drop: false }`
[INFO] [stdout] 15506eda75e5ce57109fde3cb8313cd7a2c2c3e1027faa5392ca554397720f35
[INFO] checking dominikdosoudil/lan-chat against try#7622c0f807a4e13c4db886a1681bf343795692df+rustflags=-Dnon_local_definitions for pr-120393-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdominikdosoudil%2Flan-chat" "/workspace/builds/worker-2-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc2/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/dominikdosoudil/lan-chat on toolchain 7622c0f807a4e13c4db886a1681bf343795692df
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+7622c0f807a4e13c4db886a1681bf343795692df" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/dominikdosoudil/lan-chat
[INFO] finished tweaking git repo https://github.com/dominikdosoudil/lan-chat
[INFO] tweaked toml for git repo https://github.com/dominikdosoudil/lan-chat written to /workspace/builds/worker-2-tc2/source/Cargo.toml
[INFO] crate git repo https://github.com/dominikdosoudil/lan-chat 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" "+7622c0f807a4e13c4db886a1681bf343795692df" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+7622c0f807a4e13c4db886a1681bf343795692df" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 5d4afc9740c326ef5d3805eb18b2388d3b6ed49df8d5d082ced06dad0e96a234
[INFO] running `Command { std: "docker" "start" "-a" "5d4afc9740c326ef5d3805eb18b2388d3b6ed49df8d5d082ced06dad0e96a234", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "5d4afc9740c326ef5d3805eb18b2388d3b6ed49df8d5d082ced06dad0e96a234", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "5d4afc9740c326ef5d3805eb18b2388d3b6ed49df8d5d082ced06dad0e96a234", kill_on_drop: false }`
[INFO] [stdout] 5d4afc9740c326ef5d3805eb18b2388d3b6ed49df8d5d082ced06dad0e96a234
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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 -Dnon_local_definitions" "-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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+7622c0f807a4e13c4db886a1681bf343795692df" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 284a2c89b101a43e517656fe5bb48c395eb45ff3b8e4bf67cf0ea44989c9b955
[INFO] running `Command { std: "docker" "start" "-a" "284a2c89b101a43e517656fe5bb48c395eb45ff3b8e4bf67cf0ea44989c9b955", kill_on_drop: false }`
[INFO] [stderr]    Compiling unicode-xid v0.0.4
[INFO] [stderr]    Compiling quote v0.3.15
[INFO] [stderr]     Checking itoa v0.3.4
[INFO] [stderr]     Checking dtoa v0.4.2
[INFO] [stderr]     Checking num-traits v0.1.41
[INFO] [stderr]     Checking serde v1.0.27
[INFO] [stderr]    Compiling synom v0.11.3
[INFO] [stderr]    Compiling syn v0.11.11
[INFO] [stderr]    Compiling serde_derive_internals v0.19.0
[INFO] [stderr]    Compiling serde_derive v1.0.27
[INFO] [stderr]     Checking serde_json v1.0.9
[INFO] [stderr]     Checking lan-chat v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `std::str`
[INFO] [stdout]   --> src/main.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::str;
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::str`
[INFO] [stdout]   --> src/main.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::str;
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `serde_json`
[INFO] [stdout]   --> src/server/mod.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use serde_json;
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `serde_json`
[INFO] [stdout]   --> src/server/mod.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use serde_json;
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `from_str as from_json`, `to_string as json`
[INFO] [stdout]  --> src/server/types.rs:5:18
[INFO] [stdout]   |
[INFO] [stdout] 5 | use serde_json::{to_string as json, from_str as from_json};
[INFO] [stdout]   |                  ^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `from_str as from_json`, `to_string as json`
[INFO] [stdout]  --> src/server/types.rs:5:18
[INFO] [stdout]   |
[INFO] [stdout] 5 | use serde_json::{to_string as json, from_str as from_json};
[INFO] [stdout]   |                  ^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `srv_rx`
[INFO] [stdout]   --> src/server/mod.rs:68:19
[INFO] [stdout]    |
[INFO] [stdout] 68 |         let (client_tx, srv_rx) = mpsc::sync_channel::<String>(200);
[INFO] [stdout]    |                         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_srv_rx`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `disc_req`
[INFO] [stdout]   --> src/server/mod.rs:70:7
[INFO] [stdout]    |
[INFO] [stdout] 70 |         let disc_req = Request::new(
[INFO] [stdout]    |             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_disc_req`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]   --> src/server/mod.rs:94:10
[INFO] [stdout]    |
[INFO] [stdout] 94 |                     Err(e) => {}, //println!("Q empty."),
[INFO] [stdout]    |                         ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n`
[INFO] [stdout]    --> src/server/mod.rs:105:8
[INFO] [stdout]     |
[INFO] [stdout] 105 |             Ok((n, senderIp)) if senderIp == self.socket.local_addr().unwrap() => {
[INFO] [stdout]     |                 ^ help: if this is intentional, prefix it with an underscore: `_n`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tx`
[INFO] [stdout]   --> src/main.rs:52:9
[INFO] [stdout]    |
[INFO] [stdout] 52 |                 Ok((tx, socket)) => {
[INFO] [stdout]    |                     ^^ help: if this is intentional, prefix it with an underscore: `_tx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]   --> src/main.rs:55:11
[INFO] [stdout]    |
[INFO] [stdout] 55 | ...                   Ok(data) => {}, //println!("{:?}", data),
[INFO] [stdout]    |                          ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `srv_rx`
[INFO] [stdout]   --> src/server/mod.rs:68:19
[INFO] [stdout]    |
[INFO] [stdout] 68 |         let (client_tx, srv_rx) = mpsc::sync_channel::<String>(200);
[INFO] [stdout]    |                         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_srv_rx`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `disc_req`
[INFO] [stdout]   --> src/server/mod.rs:70:7
[INFO] [stdout]    |
[INFO] [stdout] 70 |         let disc_req = Request::new(
[INFO] [stdout]    |             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_disc_req`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]   --> src/server/mod.rs:94:10
[INFO] [stdout]    |
[INFO] [stdout] 94 |                     Err(e) => {}, //println!("Q empty."),
[INFO] [stdout]    |                         ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `state` is never read
[INFO] [stdout]   --> src/server/mod.rs:18:2
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub struct Server {
[INFO] [stdout]    |            ------ field in this struct
[INFO] [stdout] 17 |     socket: UdpSocket,
[INFO] [stdout] 18 |     state: ServerState,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Discovering`, `WaitingForChannelSelect`, `Handshaking`, and `Connected` are never constructed
[INFO] [stdout]   --> src/server/types.rs:9:2
[INFO] [stdout]    |
[INFO] [stdout] 7  | pub enum ServerState {
[INFO] [stdout]    |          ----------- variants in this enum
[INFO] [stdout] 8  |     Initialized,
[INFO] [stdout] 9  |     Discovering,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 10 |     WaitingForChannelSelect,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 11 |     Handshaking,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 12 |     Connected,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `of_kind` is never used
[INFO] [stdout]   --> src/server/types.rs:50:9
[INFO] [stdout]    |
[INFO] [stdout] 46 | impl RequestHeader {
[INFO] [stdout]    | ------------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 50 |     pub fn of_kind(&self, k: RequestKind) {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `uid`, `name`, `knight`, and `king` are never read
[INFO] [stdout]   --> src/server/types.rs:72:6
[INFO] [stdout]    |
[INFO] [stdout] 71 | struct Channel {
[INFO] [stdout]    |        ------- fields in this struct
[INFO] [stdout] 72 |     pub uid: u32,
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 73 |     pub name: String,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 74 |     pub knight: Node,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout] 75 |     pub king: Node,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Channel` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `AlreadyStarted` is never constructed
[INFO] [stdout]   --> src/server/types.rs:80:2
[INFO] [stdout]    |
[INFO] [stdout] 79 | pub enum ServerError {
[INFO] [stdout]    |          ----------- variant in this enum
[INFO] [stdout] 80 |     AlreadyStarted,    
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ServerError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `sender` and `text` are never read
[INFO] [stdout]   --> src/server/types.rs:85:2
[INFO] [stdout]    |
[INFO] [stdout] 84 | pub struct Message {
[INFO] [stdout]    |            ------- fields in this struct
[INFO] [stdout] 85 |     sender: Node,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 86 |     text: String,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Message` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n`
[INFO] [stdout]    --> src/server/mod.rs:105:8
[INFO] [stdout]     |
[INFO] [stdout] 105 |             Ok((n, senderIp)) if senderIp == self.socket.local_addr().unwrap() => {
[INFO] [stdout]     |                 ^ help: if this is intentional, prefix it with an underscore: `_n`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tx`
[INFO] [stdout]   --> src/main.rs:52:9
[INFO] [stdout]    |
[INFO] [stdout] 52 |                 Ok((tx, socket)) => {
[INFO] [stdout]    |                     ^^ help: if this is intentional, prefix it with an underscore: `_tx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]   --> src/main.rs:55:11
[INFO] [stdout]    |
[INFO] [stdout] 55 | ...                   Ok(data) => {}, //println!("{:?}", data),
[INFO] [stdout]    |                          ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `state` is never read
[INFO] [stdout]   --> src/server/mod.rs:18:2
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub struct Server {
[INFO] [stdout]    |            ------ field in this struct
[INFO] [stdout] 17 |     socket: UdpSocket,
[INFO] [stdout] 18 |     state: ServerState,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Discovering`, `WaitingForChannelSelect`, `Handshaking`, and `Connected` are never constructed
[INFO] [stdout]   --> src/server/types.rs:9:2
[INFO] [stdout]    |
[INFO] [stdout] 7  | pub enum ServerState {
[INFO] [stdout]    |          ----------- variants in this enum
[INFO] [stdout] 8  |     Initialized,
[INFO] [stdout] 9  |     Discovering,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 10 |     WaitingForChannelSelect,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 11 |     Handshaking,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 12 |     Connected,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `of_kind` is never used
[INFO] [stdout]   --> src/server/types.rs:50:9
[INFO] [stdout]    |
[INFO] [stdout] 46 | impl RequestHeader {
[INFO] [stdout]    | ------------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 50 |     pub fn of_kind(&self, k: RequestKind) {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `uid`, `name`, `knight`, and `king` are never read
[INFO] [stdout]   --> src/server/types.rs:72:6
[INFO] [stdout]    |
[INFO] [stdout] 71 | struct Channel {
[INFO] [stdout]    |        ------- fields in this struct
[INFO] [stdout] 72 |     pub uid: u32,
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 73 |     pub name: String,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 74 |     pub knight: Node,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout] 75 |     pub king: Node,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Channel` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `AlreadyStarted` is never constructed
[INFO] [stdout]   --> src/server/types.rs:80:2
[INFO] [stdout]    |
[INFO] [stdout] 79 | pub enum ServerError {
[INFO] [stdout]    |          ----------- variant in this enum
[INFO] [stdout] 80 |     AlreadyStarted,    
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ServerError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `sender` and `text` are never read
[INFO] [stdout]   --> src/server/types.rs:85:2
[INFO] [stdout]    |
[INFO] [stdout] 84 | pub struct Message {
[INFO] [stdout]    |            ------- fields in this struct
[INFO] [stdout] 85 |     sender: Node,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 86 |     text: String,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Message` has a derived impl for the trait `Debug`, 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/main.rs:31:6
[INFO] [stdout]    |
[INFO] [stdout] 31 |                     sock.send_to("saying hello".as_bytes(), "192.168.1.255:12345");
[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)]` on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 31 |                     let _ = sock.send_to("saying hello".as_bytes(), "192.168.1.255:12345");
[INFO] [stdout]    |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/server/mod.rs:51:5
[INFO] [stdout]    |
[INFO] [stdout] 51 |                 msg_tx.try_send(Message::new(String::from("Test Message"), request.header.sender));
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 51 |                 let _ = msg_tx.try_send(Message::new(String::from("Test Message"), request.header.sender));
[INFO] [stdout]    |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/server/mod.rs:79:3
[INFO] [stdout]    |
[INFO] [stdout] 79 | /         thread::Builder::new().name("network_communication".to_string()).spawn(move || {
[INFO] [stdout] 80 | |             loop {
[INFO] [stdout] 81 | |                 thread::sleep(time::Duration::from_millis(500));
[INFO] [stdout] 82 | |                 match self.try_get_request() {
[INFO] [stdout] ...  |
[INFO] [stdout] 97 | |
[INFO] [stdout] 98 | |         });
[INFO] [stdout]    | |__________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 79 |         let _ = thread::Builder::new().name("network_communication".to_string()).spawn(move || {
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/server/mod.rs:85:7
[INFO] [stdout]    |
[INFO] [stdout] 85 |                         self.handle_request(&srv_tx, &request_sender, request);
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 85 |                         let _ = self.handle_request(&srv_tx, &request_sender, request);
[INFO] [stdout]    |                         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/server/mod.rs:91:7
[INFO] [stdout]    |
[INFO] [stdout] 91 |                         self.send_request(request);
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 91 |                         let _ = self.send_request(request);
[INFO] [stdout]    |                         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `senderIp` should have a snake case name
[INFO] [stdout]    --> src/server/mod.rs:105:11
[INFO] [stdout]     |
[INFO] [stdout] 105 |             Ok((n, senderIp)) if senderIp == self.socket.local_addr().unwrap() => {
[INFO] [stdout]     |                    ^^^^^^^^ help: convert the identifier to snake case: `sender_ip`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(non_snake_case)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `senderIp` should have a snake case name
[INFO] [stdout]    --> src/server/mod.rs:109:26
[INFO] [stdout]     |
[INFO] [stdout] 109 |             Ok((n, SocketAddr::V4(senderIp))) => {
[INFO] [stdout]     |                                   ^^^^^^^^ help: convert the identifier to snake case: `sender_ip`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/server/mod.rs:127:3
[INFO] [stdout]     |
[INFO] [stdout] 127 |         self.socket.send_to(json(&request).unwrap().as_bytes(), "192.168.1.255:12345");
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 127 |         let _ = self.socket.send_to(json(&request).unwrap().as_bytes(), "192.168.1.255:12345");
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/server/types.rs:15:17
[INFO] [stdout]    |
[INFO] [stdout] 15 | #[derive(Debug, Serialize, Deserialize)]
[INFO] [stdout]    |                 ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_Node`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: requested on the command line with `-D non-local-definitions`
[INFO] [stdout]    = note: this error originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/server/types.rs:15:28
[INFO] [stdout]    |
[INFO] [stdout] 15 | #[derive(Debug, Serialize, Deserialize)]
[INFO] [stdout]    |                            ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_IMPL_DESERIALIZE_FOR_Node`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: this error originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/server/types.rs:33:17
[INFO] [stdout]    |
[INFO] [stdout] 33 | #[derive(Debug, Serialize, Deserialize, PartialEq)]
[INFO] [stdout]    |                 ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_RequestKind`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: this error originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/server/types.rs:33:28
[INFO] [stdout]    |
[INFO] [stdout] 33 | #[derive(Debug, Serialize, Deserialize, PartialEq)]
[INFO] [stdout]    |                            ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_IMPL_DESERIALIZE_FOR_RequestKind`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: this error originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/server/types.rs:40:17
[INFO] [stdout]    |
[INFO] [stdout] 40 | #[derive(Debug, Serialize, Deserialize)]
[INFO] [stdout]    |                 ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_RequestHeader`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: this error originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/server/types.rs:40:28
[INFO] [stdout]    |
[INFO] [stdout] 40 | #[derive(Debug, Serialize, Deserialize)]
[INFO] [stdout]    |                            ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_IMPL_DESERIALIZE_FOR_RequestHeader`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: this error originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused comparison that must be used
[INFO] [stdout]   --> src/server/types.rs:51:3
[INFO] [stdout]    |
[INFO] [stdout] 51 |         k == self.kind;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^ the comparison produces a value
[INFO] [stdout]    |
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 51 |         let _ = k == self.kind;
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/server/types.rs:55:17
[INFO] [stdout]    |
[INFO] [stdout] 55 | #[derive(Debug, Serialize, Deserialize)]
[INFO] [stdout]    |                 ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_Request`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: this error originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/server/types.rs:55:28
[INFO] [stdout]    |
[INFO] [stdout] 55 | #[derive(Debug, Serialize, Deserialize)]
[INFO] [stdout]    |                            ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_IMPL_DESERIALIZE_FOR_Request`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: this error originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/main.rs:31:6
[INFO] [stdout]    |
[INFO] [stdout] 31 |                     sock.send_to("saying hello".as_bytes(), "192.168.1.255:12345");
[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)]` on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 31 |                     let _ = sock.send_to("saying hello".as_bytes(), "192.168.1.255:12345");
[INFO] [stdout]    |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/server/mod.rs:51:5
[INFO] [stdout]    |
[INFO] [stdout] 51 |                 msg_tx.try_send(Message::new(String::from("Test Message"), request.header.sender));
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 51 |                 let _ = msg_tx.try_send(Message::new(String::from("Test Message"), request.header.sender));
[INFO] [stdout]    |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/server/mod.rs:79:3
[INFO] [stdout]    |
[INFO] [stdout] 79 | /         thread::Builder::new().name("network_communication".to_string()).spawn(move || {
[INFO] [stdout] 80 | |             loop {
[INFO] [stdout] 81 | |                 thread::sleep(time::Duration::from_millis(500));
[INFO] [stdout] 82 | |                 match self.try_get_request() {
[INFO] [stdout] ...  |
[INFO] [stdout] 97 | |
[INFO] [stdout] 98 | |         });
[INFO] [stdout]    | |__________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 79 |         let _ = thread::Builder::new().name("network_communication".to_string()).spawn(move || {
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/server/mod.rs:85:7
[INFO] [stdout]    |
[INFO] [stdout] 85 |                         self.handle_request(&srv_tx, &request_sender, request);
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 85 |                         let _ = self.handle_request(&srv_tx, &request_sender, request);
[INFO] [stdout]    |                         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/server/mod.rs:91:7
[INFO] [stdout]    |
[INFO] [stdout] 91 |                         self.send_request(request);
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 91 |                         let _ = self.send_request(request);
[INFO] [stdout]    |                         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `senderIp` should have a snake case name
[INFO] [stdout]    --> src/server/mod.rs:105:11
[INFO] [stdout]     |
[INFO] [stdout] 105 |             Ok((n, senderIp)) if senderIp == self.socket.local_addr().unwrap() => {
[INFO] [stdout]     |                    ^^^^^^^^ help: convert the identifier to snake case: `sender_ip`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(non_snake_case)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 8 previous errors; 24 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `senderIp` should have a snake case name
[INFO] [stdout]    --> src/server/mod.rs:109:26
[INFO] [stdout]     |
[INFO] [stdout] 109 |             Ok((n, SocketAddr::V4(senderIp))) => {
[INFO] [stdout]     |                                   ^^^^^^^^ help: convert the identifier to snake case: `sender_ip`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/server/mod.rs:127:3
[INFO] [stdout]     |
[INFO] [stdout] 127 |         self.socket.send_to(json(&request).unwrap().as_bytes(), "192.168.1.255:12345");
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 127 |         let _ = self.socket.send_to(json(&request).unwrap().as_bytes(), "192.168.1.255:12345");
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/server/types.rs:15:17
[INFO] [stdout]    |
[INFO] [stdout] 15 | #[derive(Debug, Serialize, Deserialize)]
[INFO] [stdout]    |                 ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_Node`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: requested on the command line with `-D non-local-definitions`
[INFO] [stdout]    = note: this error originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/server/types.rs:15:28
[INFO] [stdout]    |
[INFO] [stdout] 15 | #[derive(Debug, Serialize, Deserialize)]
[INFO] [stdout]    |                            ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_IMPL_DESERIALIZE_FOR_Node`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: this error originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/server/types.rs:33:17
[INFO] [stdout]    |
[INFO] [stdout] 33 | #[derive(Debug, Serialize, Deserialize, PartialEq)]
[INFO] [stdout]    |                 ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_RequestKind`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: this error originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/server/types.rs:33:28
[INFO] [stdout]    |
[INFO] [stdout] 33 | #[derive(Debug, Serialize, Deserialize, PartialEq)]
[INFO] [stdout]    |                            ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_IMPL_DESERIALIZE_FOR_RequestKind`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: this error originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/server/types.rs:40:17
[INFO] [stdout]    |
[INFO] [stdout] 40 | #[derive(Debug, Serialize, Deserialize)]
[INFO] [stdout]    |                 ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_RequestHeader`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: this error originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/server/types.rs:40:28
[INFO] [stdout]    |
[INFO] [stdout] 40 | #[derive(Debug, Serialize, Deserialize)]
[INFO] [stdout]    |                            ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_IMPL_DESERIALIZE_FOR_RequestHeader`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: this error originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused comparison that must be used
[INFO] [stdout]   --> src/server/types.rs:51:3
[INFO] [stdout]    |
[INFO] [stdout] 51 |         k == self.kind;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^ the comparison produces a value
[INFO] [stdout]    |
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 51 |         let _ = k == self.kind;
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/server/types.rs:55:17
[INFO] [stdout]    |
[INFO] [stdout] 55 | #[derive(Debug, Serialize, Deserialize)]
[INFO] [stdout]    |                 ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_Request`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: this error originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/server/types.rs:55:28
[INFO] [stdout]    |
[INFO] [stdout] 55 | #[derive(Debug, Serialize, Deserialize)]
[INFO] [stdout]    |                            ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_IMPL_DESERIALIZE_FOR_Request`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: this error originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `lan-chat` (bin "lan-chat" test) due to 9 previous errors; 24 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] error: aborting due to 8 previous errors; 24 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `lan-chat` (bin "lan-chat") due to 9 previous errors; 24 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "284a2c89b101a43e517656fe5bb48c395eb45ff3b8e4bf67cf0ea44989c9b955", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "284a2c89b101a43e517656fe5bb48c395eb45ff3b8e4bf67cf0ea44989c9b955", kill_on_drop: false }`
[INFO] [stdout] 284a2c89b101a43e517656fe5bb48c395eb45ff3b8e4bf67cf0ea44989c9b955
