[INFO] cloning repository https://github.com/MikolajLH/simple-chat [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/MikolajLH/simple-chat" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FMikolajLH%2Fsimple-chat", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FMikolajLH%2Fsimple-chat'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] efcb2fe3221697f0430392c15b2efdb7ecf288a5 [INFO] linting MikolajLH/simple-chat against nightly for clippy-nonminimal_bool-denied [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FMikolajLH%2Fsimple-chat" "/workspace/builds/worker-0-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc1/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/MikolajLH/simple-chat [INFO] finished tweaking git repo https://github.com/MikolajLH/simple-chat [INFO] tweaked toml for git repo https://github.com/MikolajLH/simple-chat written to /workspace/builds/worker-0-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/MikolajLH/simple-chat on toolchain nightly [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+nightly" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/MikolajLH/simple-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" "+nightly" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+nightly" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 73a86d3f28430cad0d3c9a6252aad058df01588f34c0ad0eb3173b30a6f7902c [INFO] running `Command { std: "docker" "start" "-a" "73a86d3f28430cad0d3c9a6252aad058df01588f34c0ad0eb3173b30a6f7902c", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "73a86d3f28430cad0d3c9a6252aad058df01588f34c0ad0eb3173b30a6f7902c", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "73a86d3f28430cad0d3c9a6252aad058df01588f34c0ad0eb3173b30a6f7902c", kill_on_drop: false }` [INFO] [stdout] 73a86d3f28430cad0d3c9a6252aad058df01588f34c0ad0eb3173b30a6f7902c [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+nightly" "clippy" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] a0624215c5ee9c3186771e6af847486da8b6923ce74f797d53a42db08646b5d8 [INFO] running `Command { std: "docker" "start" "-a" "a0624215c5ee9c3186771e6af847486da8b6923ce74f797d53a42db08646b5d8", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.171 [INFO] [stderr] Checking smallvec v1.14.0 [INFO] [stderr] Checking log v0.4.26 [INFO] [stderr] Checking bitflags v2.9.0 [INFO] [stderr] Compiling darling_core v0.20.10 [INFO] [stderr] Compiling strum_macros v0.26.4 [INFO] [stderr] Checking castaway v0.2.3 [INFO] [stderr] Checking lru v0.12.5 [INFO] [stderr] Checking compact_str v0.8.1 [INFO] [stderr] Checking rustix v0.38.44 [INFO] [stderr] Checking signal-hook-registry v1.4.2 [INFO] [stderr] Checking parking_lot_core v0.9.10 [INFO] [stderr] Checking mio v1.0.3 [INFO] [stderr] Checking socket2 v0.5.8 [INFO] [stderr] Checking signal-hook v0.3.17 [INFO] [stderr] Checking parking_lot v0.12.3 [INFO] [stderr] Checking signal-hook-mio v0.2.4 [INFO] [stderr] Checking crossterm v0.28.1 [INFO] [stderr] Checking strum v0.26.3 [INFO] [stderr] Compiling darling_macro v0.20.10 [INFO] [stderr] Compiling darling v0.20.10 [INFO] [stderr] Compiling instability v0.3.7 [INFO] [stderr] Checking ratatui v0.29.0 [INFO] [stderr] Checking simple-chat-final v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/application.rs:113:9 [INFO] [stdout] | [INFO] [stdout] 113 | / return Self { [INFO] [stdout] 114 | | exit: false, [INFO] [stdout] 115 | | messages: Vec::new(), [INFO] [stdout] 116 | | tx, [INFO] [stdout] ... | [INFO] [stdout] 122 | | connection_status: ConnectionStatus::Disconnected, [INFO] [stdout] 123 | | }; [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] = note: `#[warn(clippy::needless_return)]` on by default [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 113 ~ Self { [INFO] [stdout] 114 + exit: false, [INFO] [stdout] 115 + messages: Vec::new(), [INFO] [stdout] 116 + tx, [INFO] [stdout] 117 + rx, [INFO] [stdout] 118 + input: InputField { [INFO] [stdout] 119 + cursor_index: 0, [INFO] [stdout] 120 + buff: String::new(), [INFO] [stdout] 121 + }, [INFO] [stdout] 122 + connection_status: ConnectionStatus::Disconnected, [INFO] [stdout] 123 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/application.rs:148:9 [INFO] [stdout] | [INFO] [stdout] 148 | return Ok(()); [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 148 - return Ok(()); [INFO] [stdout] 148 + Ok(()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/application.rs:172:9 [INFO] [stdout] | [INFO] [stdout] 172 | return Ok(()); [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 172 - return Ok(()); [INFO] [stdout] 172 + Ok(()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/application.rs:179:9 [INFO] [stdout] | [INFO] [stdout] 179 | return Ok(()); [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 179 - return Ok(()); [INFO] [stdout] 179 + Ok(()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/application.rs:191:9 [INFO] [stdout] | [INFO] [stdout] 191 | return Ok(()); [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 191 - return Ok(()); [INFO] [stdout] 191 + Ok(()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/application.rs:204:9 [INFO] [stdout] | [INFO] [stdout] 204 | return Ok(()); [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 204 - return Ok(()); [INFO] [stdout] 204 + Ok(()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/application.rs:247:9 [INFO] [stdout] | [INFO] [stdout] 247 | return AppCommand::NewMessage(String::from(cmd_str)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 247 - return AppCommand::NewMessage(String::from(cmd_str)); [INFO] [stdout] 247 + AppCommand::NewMessage(String::from(cmd_str)) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/application.rs:252:9 [INFO] [stdout] | [INFO] [stdout] 252 | / return match cmd { [INFO] [stdout] 253 | | AppCommand::ClearScreen(args) => self.cmd_clear_screen(args), [INFO] [stdout] 254 | | AppCommand::Unknown(unknown) => self.cmd_unknown_command(unknown), [INFO] [stdout] 255 | | AppCommand::NewMessage(msg) => self.cmd_new_message(msg), [INFO] [stdout] ... | [INFO] [stdout] 263 | | AppCommand::Nothing => AppMessage::Empty, [INFO] [stdout] 264 | | }; [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 252 ~ match cmd { [INFO] [stdout] 253 + AppCommand::ClearScreen(args) => self.cmd_clear_screen(args), [INFO] [stdout] 254 + AppCommand::Unknown(unknown) => self.cmd_unknown_command(unknown), [INFO] [stdout] 255 + AppCommand::NewMessage(msg) => self.cmd_new_message(msg), [INFO] [stdout] 256 + AppCommand::CreateHostedServer(args) => self.cmd_start_hosted_server(args), [INFO] [stdout] 257 + AppCommand::ShutdownHostedServer(args) => self.cmd_stop_hosted_server(args), [INFO] [stdout] 258 + [INFO] [stdout] 259 + AppCommand::ShowHelpMessage(args) => self.cmd_show_help_message(args), [INFO] [stdout] 260 + [INFO] [stdout] 261 + AppCommand::JoinRemoteServer(args) => self.cmd_connect_to_remote_server(args), [INFO] [stdout] 262 + AppCommand::DisconnectFromRemoteServer(args) => self.cmd_disconnect_from_remote_server(args), [INFO] [stdout] 263 + AppCommand::Nothing => AppMessage::Empty, [INFO] [stdout] 264 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/application.rs:269:9 [INFO] [stdout] | [INFO] [stdout] 269 | / return match &self.connection_status { [INFO] [stdout] 270 | | ConnectionStatus::Disconnected => { [INFO] [stdout] 271 | | AppMessage::ErrorMsg(io::Error::other(format!("Not connected,\ntype :help to see possible commands"))) [INFO] [stdout] 272 | | }, [INFO] [stdout] ... | [INFO] [stdout] 290 | | }; [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 269 ~ match &self.connection_status { [INFO] [stdout] 270 + ConnectionStatus::Disconnected => { [INFO] [stdout] 271 + AppMessage::ErrorMsg(io::Error::other(format!("Not connected,\ntype :help to see possible commands"))) [INFO] [stdout] 272 + }, [INFO] [stdout] 273 + ConnectionStatus::Hosted(htx) => { [INFO] [stdout] 274 + if let Err(err) = htx.send(server::ServerEvent::MessageFromHost(msg)) { [INFO] [stdout] 275 + self.connection_status = ConnectionStatus::Disconnected; [INFO] [stdout] 276 + return AppMessage::ErrorMsg(io::Error::other(err)); [INFO] [stdout] 277 + } [INFO] [stdout] 278 + [INFO] [stdout] 279 + //AppMessage::LogMsg(cmsg) [INFO] [stdout] 280 + AppMessage::Empty [INFO] [stdout] 281 + }, [INFO] [stdout] 282 + ConnectionStatus::Remote(rtx) => { [INFO] [stdout] 283 + if let Err(err) = rtx.send(client::ClientEvent::SendMsg(msg)){ [INFO] [stdout] 284 + self.connection_status = ConnectionStatus::Disconnected; [INFO] [stdout] 285 + return AppMessage::ErrorMsg(io::Error::other(err)); [INFO] [stdout] 286 + } [INFO] [stdout] 287 + [INFO] [stdout] 288 + AppMessage::LogMsg(cmsg) [INFO] [stdout] 289 + } [INFO] [stdout] 290 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/application.rs:271:55 [INFO] [stdout] | [INFO] [stdout] 271 | AppMessage::ErrorMsg(io::Error::other(format!("Not connected,\ntype :help to see possible commands"))) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"Not connected,\ntype :help to see possible commands".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] = note: `#[warn(clippy::useless_format)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/application.rs:294:9 [INFO] [stdout] | [INFO] [stdout] 294 | return AppMessage::ErrorMsg(io::Error::other(format!("Unknown command: {unknown}"))); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 294 - return AppMessage::ErrorMsg(io::Error::other(format!("Unknown command: {unknown}"))); [INFO] [stdout] 294 + AppMessage::ErrorMsg(io::Error::other(format!("Unknown command: {unknown}"))) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/application.rs:335:9 [INFO] [stdout] | [INFO] [stdout] 335 | return AppMessage::LogMsg(format!("Server running!")); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 335 - return AppMessage::LogMsg(format!("Server running!")); [INFO] [stdout] 335 + AppMessage::LogMsg(format!("Server running!")) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/application.rs:300:58 [INFO] [stdout] | [INFO] [stdout] 300 | return AppMessage::ErrorMsg(io::Error::other(format!("Already started"))) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"Already started".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/application.rs:304:58 [INFO] [stdout] | [INFO] [stdout] 304 | return AppMessage::ErrorMsg(io::Error::other(format!(":create takes exactly two arguments"))); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `":create takes exactly two arguments".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/application.rs:335:35 [INFO] [stdout] | [INFO] [stdout] 335 | return AppMessage::LogMsg(format!("Server running!")); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"Server running!".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/application.rs:347:9 [INFO] [stdout] | [INFO] [stdout] 347 | return AppMessage::ErrorMsg(io::Error::other(format!("server not created"))); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 347 - return AppMessage::ErrorMsg(io::Error::other(format!("server not created"))); [INFO] [stdout] 347 + AppMessage::ErrorMsg(io::Error::other(format!("server not created"))) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/application.rs:339:12 [INFO] [stdout] | [INFO] [stdout] 339 | if args.len() != 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: using `!is_empty` is clearer and more explicit: `!args.is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stdout] = note: `#[warn(clippy::len_zero)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/application.rs:340:58 [INFO] [stdout] | [INFO] [stdout] 340 | return AppMessage::ErrorMsg(io::Error::other(format!(":shutdown takes exactly zero arguments"))); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `":shutdown takes exactly zero arguments".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/application.rs:345:39 [INFO] [stdout] | [INFO] [stdout] 345 | return AppMessage::LogMsg(format!("Sent shutdown")); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"Sent shutdown".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/application.rs:347:54 [INFO] [stdout] | [INFO] [stdout] 347 | return AppMessage::ErrorMsg(io::Error::other(format!("server not created"))); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"server not created".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/application.rs:390:9 [INFO] [stdout] | [INFO] [stdout] 390 | return AppMessage::Empty; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 390 - return AppMessage::Empty; [INFO] [stdout] 390 + AppMessage::Empty [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/application.rs:352:58 [INFO] [stdout] | [INFO] [stdout] 352 | return AppMessage::ErrorMsg(io::Error::other(format!("already connected"))) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"already connected".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/application.rs:356:58 [INFO] [stdout] | [INFO] [stdout] 356 | return AppMessage::ErrorMsg(io::Error::other(format!(":join takes exactly two arguments"))); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `":join takes exactly two arguments".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/application.rs:406:9 [INFO] [stdout] | [INFO] [stdout] 406 | return AppMessage::ErrorMsg(io::Error::other(format!("not connected"))); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 406 - return AppMessage::ErrorMsg(io::Error::other(format!("not connected"))); [INFO] [stdout] 406 + AppMessage::ErrorMsg(io::Error::other(format!("not connected"))) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/application.rs:394:12 [INFO] [stdout] | [INFO] [stdout] 394 | if args.len() != 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: using `!is_empty` is clearer and more explicit: `!args.is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/application.rs:395:58 [INFO] [stdout] | [INFO] [stdout] 395 | return AppMessage::ErrorMsg(io::Error::other(format!(":exit takes exactly zero arguments"))); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `":exit takes exactly zero arguments".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/application.rs:404:39 [INFO] [stdout] | [INFO] [stdout] 404 | return AppMessage::LogMsg(format!("Sent shutdown")); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"Sent shutdown".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/application.rs:406:54 [INFO] [stdout] | [INFO] [stdout] 406 | return AppMessage::ErrorMsg(io::Error::other(format!("not connected"))); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"not connected".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/application.rs:419:9 [INFO] [stdout] | [INFO] [stdout] 419 | return AppMessage::Empty; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 419 - return AppMessage::Empty; [INFO] [stdout] 419 + AppMessage::Empty [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/application.rs:432:9 [INFO] [stdout] | [INFO] [stdout] 432 | return AppMessage::LogMsg(String::from(msg)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 432 - return AppMessage::LogMsg(String::from(msg)); [INFO] [stdout] 432 + AppMessage::LogMsg(String::from(msg)) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `filter` for `Some` followed by `unwrap` [INFO] [stdout] --> src/application.rs:444:14 [INFO] [stdout] | [INFO] [stdout] 444 | .filter(|m| m.is_some()) [INFO] [stdout] | ______________^ [INFO] [stdout] 445 | | .map(|m| m.unwrap()).collect(); [INFO] [stdout] | |________________________________^ help: consider using `flatten` instead: `flatten()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#option_filter_map [INFO] [stdout] = note: `#[warn(clippy::option_filter_map)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap_err` on `res` after checking its variant with `is_err` [INFO] [stdout] --> src/application.rs:481:44 [INFO] [stdout] | [INFO] [stdout] 480 | if res.is_err() { [INFO] [stdout] | --------------- help: try: `if let Err() = res` [INFO] [stdout] 481 | panic!("Sender Error: {}", res.unwrap_err()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] = note: `#[warn(clippy::unnecessary_unwrap)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/application.rs:491:9 [INFO] [stdout] | [INFO] [stdout] 491 | return new_cursor_pos.clamp(0, self.buff.chars().count()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 491 - return new_cursor_pos.clamp(0, self.buff.chars().count()); [INFO] [stdout] 491 + new_cursor_pos.clamp(0, self.buff.chars().count()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/application.rs:540:9 [INFO] [stdout] | [INFO] [stdout] 540 | return string; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 540 - return string; [INFO] [stdout] 540 + string [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/application.rs:544:9 [INFO] [stdout] | [INFO] [stdout] 544 | return &self.buff; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 544 - return &self.buff; [INFO] [stdout] 544 + &self.buff [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/client.rs:33:9 [INFO] [stdout] | [INFO] [stdout] 33 | / return Self{ [INFO] [stdout] 34 | | server_addr: None, [INFO] [stdout] 35 | | conn: None, [INFO] [stdout] 36 | | running: false, [INFO] [stdout] 37 | | tx, rx [INFO] [stdout] 38 | | }; [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 33 ~ Self{ [INFO] [stdout] 34 + server_addr: None, [INFO] [stdout] 35 + conn: None, [INFO] [stdout] 36 + running: false, [INFO] [stdout] 37 + tx, rx [INFO] [stdout] 38 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/client.rs:42:9 [INFO] [stdout] | [INFO] [stdout] 42 | return self.tx.clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 42 - return self.tx.clone(); [INFO] [stdout] 42 + self.tx.clone() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded unit return type [INFO] [stdout] --> src/client.rs:45:106 [INFO] [stdout] | [INFO] [stdout] 45 | pub fn connect_and_run(&mut self, host: IpAddr, port: u16, callback: F) where F: Fn(ClientMessage) -> () { [INFO] [stdout] | ^^^^^^ help: remove the `-> ()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stdout] = note: `#[warn(clippy::unused_unit)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/client.rs:109:9 [INFO] [stdout] | [INFO] [stdout] 109 | return clnt_msg; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 109 - return clnt_msg; [INFO] [stdout] 109 + clnt_msg [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/client.rs:102:75 [INFO] [stdout] | [INFO] [stdout] 102 | protocol::TcpRcv::GracefullyClosed => ClientMessage::Internal(format!("gracefully closed")), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"gracefully closed".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/client.rs:105:69 [INFO] [stdout] | [INFO] [stdout] 105 | protocol::TcpRcv::ProtocolError => ClientMessage::Error(format!("protocol error")), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"protocol error".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/client.rs:120:9 [INFO] [stdout] | [INFO] [stdout] 120 | return ClientMessage::Error(format!("Client is not connected")); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 120 - return ClientMessage::Error(format!("Client is not connected")); [INFO] [stdout] 120 + ClientMessage::Error(format!("Client is not connected")) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/client.rs:118:44 [INFO] [stdout] | [INFO] [stdout] 118 | return ClientMessage::Internal(format!("Client disconnected and exited")); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"Client disconnected and exited".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/client.rs:120:37 [INFO] [stdout] | [INFO] [stdout] 120 | return ClientMessage::Error(format!("Client is not connected")); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"Client is not connected".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/client.rs:133:9 [INFO] [stdout] | [INFO] [stdout] 133 | return ClientMessage::Error(format!("Not implemented")); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 133 - return ClientMessage::Error(format!("Not implemented")); [INFO] [stdout] 133 + ClientMessage::Error(format!("Not implemented")) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/client.rs:129:70 [INFO] [stdout] | [INFO] [stdout] 129 | protocol::TcpSnd::MsgTooLong => ClientMessage::Error(format!("Message too long")), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"Message too long".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/client.rs:133:37 [INFO] [stdout] | [INFO] [stdout] 133 | return ClientMessage::Error(format!("Not implemented")); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"Not implemented".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: implementation of inherent method `to_string(&self) -> String` for type `client::ClientMessage` [INFO] [stdout] --> src/client.rs:138:5 [INFO] [stdout] | [INFO] [stdout] 138 | / pub fn to_string(&self) -> String { [INFO] [stdout] 139 | | return match self { [INFO] [stdout] 140 | | Self::Error(err) => format!("Client Error: {err}"), [INFO] [stdout] 141 | | Self::Internal(info) => format!("Client Info: {info}"), [INFO] [stdout] ... | [INFO] [stdout] 145 | | }; [INFO] [stdout] 146 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: implement trait `Display` for type `client::ClientMessage` instead [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#inherent_to_string [INFO] [stdout] = note: `#[warn(clippy::inherent_to_string)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/client.rs:139:9 [INFO] [stdout] | [INFO] [stdout] 139 | / return match self { [INFO] [stdout] 140 | | Self::Error(err) => format!("Client Error: {err}"), [INFO] [stdout] 141 | | Self::Internal(info) => format!("Client Info: {info}"), [INFO] [stdout] 142 | | Self::Msg(msg ) => format!("{msg}"), [INFO] [stdout] 143 | | Self::MsgAck => format!(""), [INFO] [stdout] 144 | | Self::CriticalError(err) => format!("Client Critical Error: {err}"), [INFO] [stdout] 145 | | }; [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 139 ~ match self { [INFO] [stdout] 140 + Self::Error(err) => format!("Client Error: {err}"), [INFO] [stdout] 141 + Self::Internal(info) => format!("Client Info: {info}"), [INFO] [stdout] 142 + Self::Msg(msg ) => format!("{msg}"), [INFO] [stdout] 143 + Self::MsgAck => format!(""), [INFO] [stdout] 144 + Self::CriticalError(err) => format!("Client Critical Error: {err}"), [INFO] [stdout] 145 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/client.rs:142:32 [INFO] [stdout] | [INFO] [stdout] 142 | Self::Msg(msg ) => format!("{msg}"), [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `msg.to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/client.rs:143:29 [INFO] [stdout] | [INFO] [stdout] 143 | Self::MsgAck => format!(""), [INFO] [stdout] | ^^^^^^^^^^^ help: consider using `String::new()`: `String::new()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/protocol.rs:46:5 [INFO] [stdout] | [INFO] [stdout] 46 | / return match String::from_utf8(bmsg) { [INFO] [stdout] 47 | | Err(err) => TcpRcv::InvalidUtf(err), [INFO] [stdout] 48 | | Ok(msg) => TcpRcv::Msg(msg), [INFO] [stdout] 49 | | }; [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 46 ~ match String::from_utf8(bmsg) { [INFO] [stdout] 47 + Err(err) => TcpRcv::InvalidUtf(err), [INFO] [stdout] 48 + Ok(msg) => TcpRcv::Msg(msg), [INFO] [stdout] 49 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/protocol.rs:72:19 [INFO] [stdout] | [INFO] [stdout] 72 | Ok(()) => return TcpSnd::Good, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 72 - Ok(()) => return TcpSnd::Good, [INFO] [stdout] 72 + Ok(()) => TcpSnd::Good, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/protocol.rs:73:19 [INFO] [stdout] | [INFO] [stdout] 73 | Err(e) => return TcpSnd::IOError(e), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 73 - Err(e) => return TcpSnd::IOError(e), [INFO] [stdout] 73 + Err(e) => TcpSnd::IOError(e), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/server.rs:41:9 [INFO] [stdout] | [INFO] [stdout] 41 | / return Self { [INFO] [stdout] 42 | | host, port, [INFO] [stdout] 43 | | running: false, [INFO] [stdout] 44 | | listener_running, [INFO] [stdout] 45 | | connected_clients: HashMap::new(), [INFO] [stdout] 46 | | tx, rx [INFO] [stdout] 47 | | }; [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 41 ~ Self { [INFO] [stdout] 42 + host, port, [INFO] [stdout] 43 + running: false, [INFO] [stdout] 44 + listener_running, [INFO] [stdout] 45 + connected_clients: HashMap::new(), [INFO] [stdout] 46 + tx, rx [INFO] [stdout] 47 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/server.rs:51:9 [INFO] [stdout] | [INFO] [stdout] 51 | return self.tx.clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 51 - return self.tx.clone(); [INFO] [stdout] 51 + self.tx.clone() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded unit return type [INFO] [stdout] --> src/server.rs:54:69 [INFO] [stdout] | [INFO] [stdout] 54 | pub fn run(&mut self, callback: F) where F: Fn(ServerMessage) -> () { [INFO] [stdout] | ^^^^^^ help: remove the `-> ()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/server.rs:55:38 [INFO] [stdout] | [INFO] [stdout] 55 | callback(ServerMessage::Info(format!("Server is starting..."))); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"Server is starting...".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `()` [INFO] [stdout] --> src/server.rs:61:24 [INFO] [stdout] | [INFO] [stdout] 61 | return (); [INFO] [stdout] | ^^ help: remove the `()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `()` [INFO] [stdout] --> src/server.rs:77:28 [INFO] [stdout] | [INFO] [stdout] 77 | return (); [INFO] [stdout] | ^^ help: remove the `()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/server.rs:123:9 [INFO] [stdout] | [INFO] [stdout] 123 | return ServerMessage::Info(msg); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 123 - return ServerMessage::Info(msg); [INFO] [stdout] 123 + ServerMessage::Info(msg) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/server.rs:129:9 [INFO] [stdout] | [INFO] [stdout] 129 | return ServerMessage::Info(format!("Server shutdown")); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 129 - return ServerMessage::Info(format!("Server shutdown")); [INFO] [stdout] 129 + ServerMessage::Info(format!("Server shutdown")) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/server.rs:129:36 [INFO] [stdout] | [INFO] [stdout] 129 | return ServerMessage::Info(format!("Server shutdown")); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"Server shutdown".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/server.rs:145:9 [INFO] [stdout] | [INFO] [stdout] 145 | return ServerMessage::Msg(fmsg); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 145 - return ServerMessage::Msg(fmsg); [INFO] [stdout] 145 + ServerMessage::Msg(fmsg) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/server.rs:137:45 [INFO] [stdout] | [INFO] [stdout] 137 | return ServerMessage::Error(format!("No client info, that's weird")); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"No client info, that's weird".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/server.rs:152:9 [INFO] [stdout] | [INFO] [stdout] 152 | return ServerMessage::Msg(fmsg); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 152 - return ServerMessage::Msg(fmsg); [INFO] [stdout] 152 + ServerMessage::Msg(fmsg) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/server.rs:157:9 [INFO] [stdout] | [INFO] [stdout] 157 | / return match err { [INFO] [stdout] 158 | | Some(err_msg) => return ServerMessage::Error(format!("Client {client_id} unexpectedly disconnected:\n{err_msg}")), [INFO] [stdout] 159 | | None => ServerMessage::Info(format!("Client {client_id} disconnected")), [INFO] [stdout] 160 | | }; [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 157 ~ match err { [INFO] [stdout] 158 + Some(err_msg) => return ServerMessage::Error(format!("Client {client_id} unexpectedly disconnected:\n{err_msg}")), [INFO] [stdout] 159 + None => ServerMessage::Info(format!("Client {client_id} disconnected")), [INFO] [stdout] 160 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/server.rs:173:16 [INFO] [stdout] | [INFO] [stdout] 173 | if !sender_id.is_none_or(|v| v != *id) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `sender_id.is_some_and(|v| v == *id)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] = note: `#[warn(clippy::nonminimal_bool)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/server.rs:177:77 [INFO] [stdout] | [INFO] [stdout] 177 | let good = match protocol::send_msg_tcp(&mut client.write_conn, &msg) { [INFO] [stdout] | ^^^^ help: change this to: `msg` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] = note: `#[warn(clippy::needless_borrow)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `usize` which implements the `Copy` trait [INFO] [stdout] --> src/server.rs:179:119 [INFO] [stdout] | [INFO] [stdout] 179 | protocol::TcpSnd::IOError(err) => self.tx.send(ServerEvent::ClientDisconnected(Some(err.to_string()), id.clone())), [INFO] [stdout] | ^^^^^^^^^^ help: try dereferencing it: `*id` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] = note: `#[warn(clippy::clone_on_copy)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded unit return type [INFO] [stdout] --> src/server.rs:194:39 [INFO] [stdout] | [INFO] [stdout] 194 | stay_active: Arc>) -> () { [INFO] [stdout] | ^^^^^^ help: remove the `-> ()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: equality checks against false can be replaced by a negation [INFO] [stdout] --> src/server.rs:204:16 [INFO] [stdout] | [INFO] [stdout] 204 | if *stay_active.lock().unwrap() == false { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `!*stay_active.lock().unwrap()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_comparison [INFO] [stdout] = note: `#[warn(clippy::bool_comparison)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `()` [INFO] [stdout] --> src/server.rs:207:24 [INFO] [stdout] | [INFO] [stdout] 207 | return (); [INFO] [stdout] | ^^ help: remove the `()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant pattern matching, consider using `is_err()` [INFO] [stdout] --> src/server.rs:210:20 [INFO] [stdout] | [INFO] [stdout] 210 | if let Err(_) = match new_conn { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this will change drop order of the result, as well as all temporaries [INFO] [stdout] = note: add `#[allow(clippy::redundant_pattern_matching)]` if this is important [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stdout] = note: `#[warn(clippy::redundant_pattern_matching)]` on by default [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 210 ~ if (match new_conn { [INFO] [stdout] 211 + Ok(conn) => { [INFO] [stdout] 212 + clients_count += 1; [INFO] [stdout] 213 + tx.send(ServerEvent::NewConnection(clients_count, conn)) [INFO] [stdout] 214 + }, [INFO] [stdout] 215 + Err(err) => tx.send(ServerEvent::ServerError(err)), [INFO] [stdout] 216 ~ }).is_err() { return (); } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `()` [INFO] [stdout] --> src/server.rs:216:24 [INFO] [stdout] | [INFO] [stdout] 216 | } { return (); } [INFO] [stdout] | ^^ help: remove the `()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded unit return type [INFO] [stdout] --> src/server.rs:223:77 [INFO] [stdout] | [INFO] [stdout] 223 | fn th_handle_client(id: usize, conn: TcpStream, tx: Sender) -> () { [INFO] [stdout] | ^^^^^^ help: remove the `-> ()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/server.rs:238:94 [INFO] [stdout] | [INFO] [stdout] 238 | protocol::TcpRcv::ProtocolError => ServerEvent::ServerError(io::Error::other(format!("Protocol error"))), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"Protocol error".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: implementation of inherent method `to_string(&self) -> String` for type `server::ServerMessage` [INFO] [stdout] --> src/server.rs:251:5 [INFO] [stdout] | [INFO] [stdout] 251 | / pub fn to_string(&self) -> String { [INFO] [stdout] 252 | | return match self { [INFO] [stdout] 253 | | Self::Error(err) => format!("Server Error:\n{err}"), [INFO] [stdout] 254 | | Self::Info(info) => format!("Server Info:\n{info}"), [INFO] [stdout] ... | [INFO] [stdout] 257 | | }; [INFO] [stdout] 258 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: implement trait `Display` for type `server::ServerMessage` instead [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#inherent_to_string [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/server.rs:252:9 [INFO] [stdout] | [INFO] [stdout] 252 | / return match self { [INFO] [stdout] 253 | | Self::Error(err) => format!("Server Error:\n{err}"), [INFO] [stdout] 254 | | Self::Info(info) => format!("Server Info:\n{info}"), [INFO] [stdout] 255 | | Self::Msg(msg) => format!("{msg}"), [INFO] [stdout] 256 | | Self::CriticalError(err) => format!("Server Critical Error:\n{err}"), [INFO] [stdout] 257 | | }; [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 252 ~ match self { [INFO] [stdout] 253 + Self::Error(err) => format!("Server Error:\n{err}"), [INFO] [stdout] 254 + Self::Info(info) => format!("Server Info:\n{info}"), [INFO] [stdout] 255 + Self::Msg(msg) => format!("{msg}"), [INFO] [stdout] 256 + Self::CriticalError(err) => format!("Server Critical Error:\n{err}"), [INFO] [stdout] 257 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/server.rs:255:31 [INFO] [stdout] | [INFO] [stdout] 255 | Self::Msg(msg) => format!("{msg}"), [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `msg.to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/main.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 13 | return res; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 13 - return res; [INFO] [stdout] 13 + res [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/application.rs:550:14 [INFO] [stdout] | [INFO] [stdout] 550 | fn style(&self) -> Option { [INFO] [stdout] | ^^^^^ ^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 550 | fn style(&self) -> Option> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/application.rs:113:9 [INFO] [stdout] | [INFO] [stdout] 113 | / return Self { [INFO] [stdout] 114 | | exit: false, [INFO] [stdout] 115 | | messages: Vec::new(), [INFO] [stdout] 116 | | tx, [INFO] [stdout] ... | [INFO] [stdout] 122 | | connection_status: ConnectionStatus::Disconnected, [INFO] [stdout] 123 | | }; [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] = note: `#[warn(clippy::needless_return)]` on by default [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 113 ~ Self { [INFO] [stdout] 114 + exit: false, [INFO] [stdout] 115 + messages: Vec::new(), [INFO] [stdout] 116 + tx, [INFO] [stdout] 117 + rx, [INFO] [stdout] 118 + input: InputField { [INFO] [stdout] 119 + cursor_index: 0, [INFO] [stdout] 120 + buff: String::new(), [INFO] [stdout] 121 + }, [INFO] [stdout] 122 + connection_status: ConnectionStatus::Disconnected, [INFO] [stdout] 123 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/application.rs:148:9 [INFO] [stdout] | [INFO] [stdout] 148 | return Ok(()); [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 148 - return Ok(()); [INFO] [stdout] 148 + Ok(()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/application.rs:172:9 [INFO] [stdout] | [INFO] [stdout] 172 | return Ok(()); [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 172 - return Ok(()); [INFO] [stdout] 172 + Ok(()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/application.rs:179:9 [INFO] [stdout] | [INFO] [stdout] 179 | return Ok(()); [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 179 - return Ok(()); [INFO] [stdout] 179 + Ok(()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/application.rs:191:9 [INFO] [stdout] | [INFO] [stdout] 191 | return Ok(()); [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 191 - return Ok(()); [INFO] [stdout] 191 + Ok(()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/application.rs:204:9 [INFO] [stdout] | [INFO] [stdout] 204 | return Ok(()); [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 204 - return Ok(()); [INFO] [stdout] 204 + Ok(()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/application.rs:247:9 [INFO] [stdout] | [INFO] [stdout] 247 | return AppCommand::NewMessage(String::from(cmd_str)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 247 - return AppCommand::NewMessage(String::from(cmd_str)); [INFO] [stdout] 247 + AppCommand::NewMessage(String::from(cmd_str)) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/application.rs:252:9 [INFO] [stdout] | [INFO] [stdout] 252 | / return match cmd { [INFO] [stdout] 253 | | AppCommand::ClearScreen(args) => self.cmd_clear_screen(args), [INFO] [stdout] 254 | | AppCommand::Unknown(unknown) => self.cmd_unknown_command(unknown), [INFO] [stdout] 255 | | AppCommand::NewMessage(msg) => self.cmd_new_message(msg), [INFO] [stdout] ... | [INFO] [stdout] 263 | | AppCommand::Nothing => AppMessage::Empty, [INFO] [stdout] 264 | | }; [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 252 ~ match cmd { [INFO] [stdout] 253 + AppCommand::ClearScreen(args) => self.cmd_clear_screen(args), [INFO] [stdout] 254 + AppCommand::Unknown(unknown) => self.cmd_unknown_command(unknown), [INFO] [stdout] 255 + AppCommand::NewMessage(msg) => self.cmd_new_message(msg), [INFO] [stdout] 256 + AppCommand::CreateHostedServer(args) => self.cmd_start_hosted_server(args), [INFO] [stdout] 257 + AppCommand::ShutdownHostedServer(args) => self.cmd_stop_hosted_server(args), [INFO] [stdout] 258 + [INFO] [stdout] 259 + AppCommand::ShowHelpMessage(args) => self.cmd_show_help_message(args), [INFO] [stdout] 260 + [INFO] [stdout] 261 + AppCommand::JoinRemoteServer(args) => self.cmd_connect_to_remote_server(args), [INFO] [stdout] 262 + AppCommand::DisconnectFromRemoteServer(args) => self.cmd_disconnect_from_remote_server(args), [INFO] [stdout] 263 + AppCommand::Nothing => AppMessage::Empty, [INFO] [stdout] 264 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/application.rs:269:9 [INFO] [stdout] | [INFO] [stdout] 269 | / return match &self.connection_status { [INFO] [stdout] 270 | | ConnectionStatus::Disconnected => { [INFO] [stdout] 271 | | AppMessage::ErrorMsg(io::Error::other(format!("Not connected,\ntype :help to see possible commands"))) [INFO] [stdout] 272 | | }, [INFO] [stdout] ... | [INFO] [stdout] 290 | | }; [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 269 ~ match &self.connection_status { [INFO] [stdout] 270 + ConnectionStatus::Disconnected => { [INFO] [stdout] 271 + AppMessage::ErrorMsg(io::Error::other(format!("Not connected,\ntype :help to see possible commands"))) [INFO] [stdout] 272 + }, [INFO] [stdout] 273 + ConnectionStatus::Hosted(htx) => { [INFO] [stdout] 274 + if let Err(err) = htx.send(server::ServerEvent::MessageFromHost(msg)) { [INFO] [stdout] 275 + self.connection_status = ConnectionStatus::Disconnected; [INFO] [stdout] 276 + return AppMessage::ErrorMsg(io::Error::other(err)); [INFO] [stdout] 277 + } [INFO] [stdout] 278 + [INFO] [stdout] 279 + //AppMessage::LogMsg(cmsg) [INFO] [stdout] 280 + AppMessage::Empty [INFO] [stdout] 281 + }, [INFO] [stdout] 282 + ConnectionStatus::Remote(rtx) => { [INFO] [stdout] 283 + if let Err(err) = rtx.send(client::ClientEvent::SendMsg(msg)){ [INFO] [stdout] 284 + self.connection_status = ConnectionStatus::Disconnected; [INFO] [stdout] 285 + return AppMessage::ErrorMsg(io::Error::other(err)); [INFO] [stdout] 286 + } [INFO] [stdout] 287 + [INFO] [stdout] 288 + AppMessage::LogMsg(cmsg) [INFO] [stdout] 289 + } [INFO] [stdout] 290 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/application.rs:271:55 [INFO] [stdout] | [INFO] [stdout] 271 | AppMessage::ErrorMsg(io::Error::other(format!("Not connected,\ntype :help to see possible commands"))) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"Not connected,\ntype :help to see possible commands".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] = note: `#[warn(clippy::useless_format)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/application.rs:294:9 [INFO] [stdout] | [INFO] [stdout] 294 | return AppMessage::ErrorMsg(io::Error::other(format!("Unknown command: {unknown}"))); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 294 - return AppMessage::ErrorMsg(io::Error::other(format!("Unknown command: {unknown}"))); [INFO] [stdout] 294 + AppMessage::ErrorMsg(io::Error::other(format!("Unknown command: {unknown}"))) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/application.rs:335:9 [INFO] [stdout] | [INFO] [stdout] 335 | return AppMessage::LogMsg(format!("Server running!")); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 335 - return AppMessage::LogMsg(format!("Server running!")); [INFO] [stdout] 335 + AppMessage::LogMsg(format!("Server running!")) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/application.rs:300:58 [INFO] [stdout] | [INFO] [stdout] 300 | return AppMessage::ErrorMsg(io::Error::other(format!("Already started"))) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"Already started".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/application.rs:304:58 [INFO] [stdout] | [INFO] [stdout] 304 | return AppMessage::ErrorMsg(io::Error::other(format!(":create takes exactly two arguments"))); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `":create takes exactly two arguments".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/application.rs:335:35 [INFO] [stdout] | [INFO] [stdout] 335 | return AppMessage::LogMsg(format!("Server running!")); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"Server running!".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/application.rs:347:9 [INFO] [stdout] | [INFO] [stdout] 347 | return AppMessage::ErrorMsg(io::Error::other(format!("server not created"))); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 347 - return AppMessage::ErrorMsg(io::Error::other(format!("server not created"))); [INFO] [stdout] 347 + AppMessage::ErrorMsg(io::Error::other(format!("server not created"))) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/application.rs:339:12 [INFO] [stdout] | [INFO] [stdout] 339 | if args.len() != 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: using `!is_empty` is clearer and more explicit: `!args.is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stdout] = note: `#[warn(clippy::len_zero)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/application.rs:340:58 [INFO] [stdout] | [INFO] [stdout] 340 | return AppMessage::ErrorMsg(io::Error::other(format!(":shutdown takes exactly zero arguments"))); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `":shutdown takes exactly zero arguments".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/application.rs:345:39 [INFO] [stdout] | [INFO] [stdout] 345 | return AppMessage::LogMsg(format!("Sent shutdown")); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"Sent shutdown".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/application.rs:347:54 [INFO] [stdout] | [INFO] [stdout] 347 | return AppMessage::ErrorMsg(io::Error::other(format!("server not created"))); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"server not created".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/application.rs:390:9 [INFO] [stdout] | [INFO] [stdout] 390 | return AppMessage::Empty; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 390 - return AppMessage::Empty; [INFO] [stdout] 390 + AppMessage::Empty [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/application.rs:352:58 [INFO] [stdout] | [INFO] [stdout] 352 | return AppMessage::ErrorMsg(io::Error::other(format!("already connected"))) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"already connected".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/application.rs:356:58 [INFO] [stdout] | [INFO] [stdout] 356 | return AppMessage::ErrorMsg(io::Error::other(format!(":join takes exactly two arguments"))); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `":join takes exactly two arguments".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/application.rs:406:9 [INFO] [stdout] | [INFO] [stdout] 406 | return AppMessage::ErrorMsg(io::Error::other(format!("not connected"))); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 406 - return AppMessage::ErrorMsg(io::Error::other(format!("not connected"))); [INFO] [stdout] 406 + AppMessage::ErrorMsg(io::Error::other(format!("not connected"))) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/application.rs:394:12 [INFO] [stdout] | [INFO] [stdout] 394 | if args.len() != 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: using `!is_empty` is clearer and more explicit: `!args.is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/application.rs:395:58 [INFO] [stdout] | [INFO] [stdout] 395 | return AppMessage::ErrorMsg(io::Error::other(format!(":exit takes exactly zero arguments"))); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `":exit takes exactly zero arguments".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/application.rs:404:39 [INFO] [stdout] | [INFO] [stdout] 404 | return AppMessage::LogMsg(format!("Sent shutdown")); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"Sent shutdown".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/application.rs:406:54 [INFO] [stdout] | [INFO] [stdout] 406 | return AppMessage::ErrorMsg(io::Error::other(format!("not connected"))); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"not connected".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/application.rs:419:9 [INFO] [stdout] | [INFO] [stdout] 419 | return AppMessage::Empty; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 419 - return AppMessage::Empty; [INFO] [stdout] 419 + AppMessage::Empty [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/application.rs:432:9 [INFO] [stdout] | [INFO] [stdout] 432 | return AppMessage::LogMsg(String::from(msg)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 432 - return AppMessage::LogMsg(String::from(msg)); [INFO] [stdout] 432 + AppMessage::LogMsg(String::from(msg)) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `filter` for `Some` followed by `unwrap` [INFO] [stdout] --> src/application.rs:444:14 [INFO] [stdout] | [INFO] [stdout] 444 | .filter(|m| m.is_some()) [INFO] [stdout] | ______________^ [INFO] [stdout] 445 | | .map(|m| m.unwrap()).collect(); [INFO] [stdout] | |________________________________^ help: consider using `flatten` instead: `flatten()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#option_filter_map [INFO] [stdout] = note: `#[warn(clippy::option_filter_map)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap_err` on `res` after checking its variant with `is_err` [INFO] [stdout] --> src/application.rs:481:44 [INFO] [stdout] | [INFO] [stdout] 480 | if res.is_err() { [INFO] [stdout] | --------------- help: try: `if let Err() = res` [INFO] [stdout] 481 | panic!("Sender Error: {}", res.unwrap_err()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] = note: `#[warn(clippy::unnecessary_unwrap)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/application.rs:491:9 [INFO] [stdout] | [INFO] [stdout] 491 | return new_cursor_pos.clamp(0, self.buff.chars().count()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 491 - return new_cursor_pos.clamp(0, self.buff.chars().count()); [INFO] [stdout] 491 + new_cursor_pos.clamp(0, self.buff.chars().count()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/application.rs:540:9 [INFO] [stdout] | [INFO] [stdout] 540 | return string; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 540 - return string; [INFO] [stdout] 540 + string [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/application.rs:544:9 [INFO] [stdout] | [INFO] [stdout] 544 | return &self.buff; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 544 - return &self.buff; [INFO] [stdout] 544 + &self.buff [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/client.rs:33:9 [INFO] [stdout] | [INFO] [stdout] 33 | / return Self{ [INFO] [stdout] 34 | | server_addr: None, [INFO] [stdout] 35 | | conn: None, [INFO] [stdout] 36 | | running: false, [INFO] [stdout] 37 | | tx, rx [INFO] [stdout] 38 | | }; [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 33 ~ Self{ [INFO] [stdout] 34 + server_addr: None, [INFO] [stdout] 35 + conn: None, [INFO] [stdout] 36 + running: false, [INFO] [stdout] 37 + tx, rx [INFO] [stdout] 38 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/client.rs:42:9 [INFO] [stdout] | [INFO] [stdout] 42 | return self.tx.clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 42 - return self.tx.clone(); [INFO] [stdout] 42 + self.tx.clone() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded unit return type [INFO] [stdout] --> src/client.rs:45:106 [INFO] [stdout] | [INFO] [stdout] 45 | pub fn connect_and_run(&mut self, host: IpAddr, port: u16, callback: F) where F: Fn(ClientMessage) -> () { [INFO] [stdout] | ^^^^^^ help: remove the `-> ()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stdout] = note: `#[warn(clippy::unused_unit)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/client.rs:109:9 [INFO] [stdout] | [INFO] [stdout] 109 | return clnt_msg; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 109 - return clnt_msg; [INFO] [stdout] 109 + clnt_msg [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/client.rs:102:75 [INFO] [stdout] | [INFO] [stdout] 102 | protocol::TcpRcv::GracefullyClosed => ClientMessage::Internal(format!("gracefully closed")), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"gracefully closed".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/client.rs:105:69 [INFO] [stdout] | [INFO] [stdout] 105 | protocol::TcpRcv::ProtocolError => ClientMessage::Error(format!("protocol error")), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"protocol error".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/client.rs:120:9 [INFO] [stdout] | [INFO] [stdout] 120 | return ClientMessage::Error(format!("Client is not connected")); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 120 - return ClientMessage::Error(format!("Client is not connected")); [INFO] [stdout] 120 + ClientMessage::Error(format!("Client is not connected")) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/client.rs:118:44 [INFO] [stdout] | [INFO] [stdout] 118 | return ClientMessage::Internal(format!("Client disconnected and exited")); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"Client disconnected and exited".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/client.rs:120:37 [INFO] [stdout] | [INFO] [stdout] 120 | return ClientMessage::Error(format!("Client is not connected")); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"Client is not connected".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/client.rs:133:9 [INFO] [stdout] | [INFO] [stdout] 133 | return ClientMessage::Error(format!("Not implemented")); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 133 - return ClientMessage::Error(format!("Not implemented")); [INFO] [stdout] 133 + ClientMessage::Error(format!("Not implemented")) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/client.rs:129:70 [INFO] [stdout] | [INFO] [stdout] 129 | protocol::TcpSnd::MsgTooLong => ClientMessage::Error(format!("Message too long")), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"Message too long".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/client.rs:133:37 [INFO] [stdout] | [INFO] [stdout] 133 | return ClientMessage::Error(format!("Not implemented")); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"Not implemented".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: implementation of inherent method `to_string(&self) -> String` for type `client::ClientMessage` [INFO] [stdout] --> src/client.rs:138:5 [INFO] [stdout] | [INFO] [stdout] 138 | / pub fn to_string(&self) -> String { [INFO] [stdout] 139 | | return match self { [INFO] [stdout] 140 | | Self::Error(err) => format!("Client Error: {err}"), [INFO] [stdout] 141 | | Self::Internal(info) => format!("Client Info: {info}"), [INFO] [stdout] ... | [INFO] [stdout] 145 | | }; [INFO] [stdout] 146 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: implement trait `Display` for type `client::ClientMessage` instead [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#inherent_to_string [INFO] [stdout] = note: `#[warn(clippy::inherent_to_string)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/client.rs:139:9 [INFO] [stdout] | [INFO] [stdout] 139 | / return match self { [INFO] [stdout] 140 | | Self::Error(err) => format!("Client Error: {err}"), [INFO] [stdout] 141 | | Self::Internal(info) => format!("Client Info: {info}"), [INFO] [stdout] 142 | | Self::Msg(msg ) => format!("{msg}"), [INFO] [stdout] 143 | | Self::MsgAck => format!(""), [INFO] [stdout] 144 | | Self::CriticalError(err) => format!("Client Critical Error: {err}"), [INFO] [stdout] 145 | | }; [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 139 ~ match self { [INFO] [stdout] 140 + Self::Error(err) => format!("Client Error: {err}"), [INFO] [stdout] 141 + Self::Internal(info) => format!("Client Info: {info}"), [INFO] [stdout] 142 + Self::Msg(msg ) => format!("{msg}"), [INFO] [stdout] 143 + Self::MsgAck => format!(""), [INFO] [stdout] 144 + Self::CriticalError(err) => format!("Client Critical Error: {err}"), [INFO] [stdout] 145 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/client.rs:142:32 [INFO] [stdout] | [INFO] [stdout] 142 | Self::Msg(msg ) => format!("{msg}"), [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `msg.to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/client.rs:143:29 [INFO] [stdout] | [INFO] [stdout] 143 | Self::MsgAck => format!(""), [INFO] [stdout] | ^^^^^^^^^^^ help: consider using `String::new()`: `String::new()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/protocol.rs:46:5 [INFO] [stdout] | [INFO] [stdout] 46 | / return match String::from_utf8(bmsg) { [INFO] [stdout] 47 | | Err(err) => TcpRcv::InvalidUtf(err), [INFO] [stdout] 48 | | Ok(msg) => TcpRcv::Msg(msg), [INFO] [stdout] 49 | | }; [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 46 ~ match String::from_utf8(bmsg) { [INFO] [stdout] 47 + Err(err) => TcpRcv::InvalidUtf(err), [INFO] [stdout] 48 + Ok(msg) => TcpRcv::Msg(msg), [INFO] [stdout] 49 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/protocol.rs:72:19 [INFO] [stdout] | [INFO] [stdout] 72 | Ok(()) => return TcpSnd::Good, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 72 - Ok(()) => return TcpSnd::Good, [INFO] [stdout] 72 + Ok(()) => TcpSnd::Good, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/protocol.rs:73:19 [INFO] [stdout] | [INFO] [stdout] 73 | Err(e) => return TcpSnd::IOError(e), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 73 - Err(e) => return TcpSnd::IOError(e), [INFO] [stdout] 73 + Err(e) => TcpSnd::IOError(e), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/server.rs:41:9 [INFO] [stdout] | [INFO] [stdout] 41 | / return Self { [INFO] [stdout] 42 | | host, port, [INFO] [stdout] 43 | | running: false, [INFO] [stdout] 44 | | listener_running, [INFO] [stdout] 45 | | connected_clients: HashMap::new(), [INFO] [stdout] 46 | | tx, rx [INFO] [stdout] 47 | | }; [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 41 ~ Self { [INFO] [stdout] 42 + host, port, [INFO] [stdout] 43 + running: false, [INFO] [stdout] 44 + listener_running, [INFO] [stdout] 45 + connected_clients: HashMap::new(), [INFO] [stdout] 46 + tx, rx [INFO] [stdout] 47 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/server.rs:51:9 [INFO] [stdout] | [INFO] [stdout] 51 | return self.tx.clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 51 - return self.tx.clone(); [INFO] [stdout] 51 + self.tx.clone() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded unit return type [INFO] [stdout] --> src/server.rs:54:69 [INFO] [stdout] | [INFO] [stdout] 54 | pub fn run(&mut self, callback: F) where F: Fn(ServerMessage) -> () { [INFO] [stdout] | ^^^^^^ help: remove the `-> ()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/server.rs:55:38 [INFO] [stdout] | [INFO] [stdout] 55 | callback(ServerMessage::Info(format!("Server is starting..."))); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"Server is starting...".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `()` [INFO] [stdout] --> src/server.rs:61:24 [INFO] [stdout] | [INFO] [stdout] 61 | return (); [INFO] [stdout] | ^^ help: remove the `()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `()` [INFO] [stdout] --> src/server.rs:77:28 [INFO] [stdout] | [INFO] [stdout] 77 | return (); [INFO] [stdout] | ^^ help: remove the `()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/server.rs:123:9 [INFO] [stdout] | [INFO] [stdout] 123 | return ServerMessage::Info(msg); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 123 - return ServerMessage::Info(msg); [INFO] [stdout] 123 + ServerMessage::Info(msg) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/server.rs:129:9 [INFO] [stdout] | [INFO] [stdout] 129 | return ServerMessage::Info(format!("Server shutdown")); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 129 - return ServerMessage::Info(format!("Server shutdown")); [INFO] [stdout] 129 + ServerMessage::Info(format!("Server shutdown")) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/server.rs:129:36 [INFO] [stdout] | [INFO] [stdout] 129 | return ServerMessage::Info(format!("Server shutdown")); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"Server shutdown".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/server.rs:145:9 [INFO] [stdout] | [INFO] [stdout] 145 | return ServerMessage::Msg(fmsg); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 145 - return ServerMessage::Msg(fmsg); [INFO] [stdout] 145 + ServerMessage::Msg(fmsg) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/server.rs:137:45 [INFO] [stdout] | [INFO] [stdout] 137 | return ServerMessage::Error(format!("No client info, that's weird")); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"No client info, that's weird".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/server.rs:152:9 [INFO] [stdout] | [INFO] [stdout] 152 | return ServerMessage::Msg(fmsg); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 152 - return ServerMessage::Msg(fmsg); [INFO] [stdout] 152 + ServerMessage::Msg(fmsg) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/server.rs:157:9 [INFO] [stdout] | [INFO] [stdout] 157 | / return match err { [INFO] [stdout] 158 | | Some(err_msg) => return ServerMessage::Error(format!("Client {client_id} unexpectedly disconnected:\n{err_msg}")), [INFO] [stdout] 159 | | None => ServerMessage::Info(format!("Client {client_id} disconnected")), [INFO] [stdout] 160 | | }; [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 157 ~ match err { [INFO] [stdout] 158 + Some(err_msg) => return ServerMessage::Error(format!("Client {client_id} unexpectedly disconnected:\n{err_msg}")), [INFO] [stdout] 159 + None => ServerMessage::Info(format!("Client {client_id} disconnected")), [INFO] [stdout] 160 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/server.rs:173:16 [INFO] [stdout] | [INFO] [stdout] 173 | if !sender_id.is_none_or(|v| v != *id) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `sender_id.is_some_and(|v| v == *id)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] = note: `#[warn(clippy::nonminimal_bool)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/server.rs:177:77 [INFO] [stdout] | [INFO] [stdout] 177 | let good = match protocol::send_msg_tcp(&mut client.write_conn, &msg) { [INFO] [stdout] | ^^^^ help: change this to: `msg` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] = note: `#[warn(clippy::needless_borrow)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `usize` which implements the `Copy` trait [INFO] [stdout] --> src/server.rs:179:119 [INFO] [stdout] | [INFO] [stdout] 179 | protocol::TcpSnd::IOError(err) => self.tx.send(ServerEvent::ClientDisconnected(Some(err.to_string()), id.clone())), [INFO] [stdout] | ^^^^^^^^^^ help: try dereferencing it: `*id` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] = note: `#[warn(clippy::clone_on_copy)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded unit return type [INFO] [stdout] --> src/server.rs:194:39 [INFO] [stdout] | [INFO] [stdout] 194 | stay_active: Arc>) -> () { [INFO] [stdout] | ^^^^^^ help: remove the `-> ()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: equality checks against false can be replaced by a negation [INFO] [stdout] --> src/server.rs:204:16 [INFO] [stdout] | [INFO] [stdout] 204 | if *stay_active.lock().unwrap() == false { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `!*stay_active.lock().unwrap()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_comparison [INFO] [stdout] = note: `#[warn(clippy::bool_comparison)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `()` [INFO] [stdout] --> src/server.rs:207:24 [INFO] [stdout] | [INFO] [stdout] 207 | return (); [INFO] [stdout] | ^^ help: remove the `()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant pattern matching, consider using `is_err()` [INFO] [stdout] --> src/server.rs:210:20 [INFO] [stdout] | [INFO] [stdout] 210 | if let Err(_) = match new_conn { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this will change drop order of the result, as well as all temporaries [INFO] [stdout] = note: add `#[allow(clippy::redundant_pattern_matching)]` if this is important [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stdout] = note: `#[warn(clippy::redundant_pattern_matching)]` on by default [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 210 ~ if (match new_conn { [INFO] [stdout] 211 + Ok(conn) => { [INFO] [stdout] 212 + clients_count += 1; [INFO] [stdout] 213 + tx.send(ServerEvent::NewConnection(clients_count, conn)) [INFO] [stdout] 214 + }, [INFO] [stdout] 215 + Err(err) => tx.send(ServerEvent::ServerError(err)), [INFO] [stdout] 216 ~ }).is_err() { return (); } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `()` [INFO] [stdout] --> src/server.rs:216:24 [INFO] [stdout] | [INFO] [stdout] 216 | } { return (); } [INFO] [stdout] | ^^ help: remove the `()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded unit return type [INFO] [stdout] --> src/server.rs:223:77 [INFO] [stdout] | [INFO] [stdout] 223 | fn th_handle_client(id: usize, conn: TcpStream, tx: Sender) -> () { [INFO] [stdout] | ^^^^^^ help: remove the `-> ()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/server.rs:238:94 [INFO] [stdout] | [INFO] [stdout] 238 | protocol::TcpRcv::ProtocolError => ServerEvent::ServerError(io::Error::other(format!("Protocol error"))), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"Protocol error".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: implementation of inherent method `to_string(&self) -> String` for type `server::ServerMessage` [INFO] [stdout] --> src/server.rs:251:5 [INFO] [stdout] | [INFO] [stdout] 251 | / pub fn to_string(&self) -> String { [INFO] [stdout] 252 | | return match self { [INFO] [stdout] 253 | | Self::Error(err) => format!("Server Error:\n{err}"), [INFO] [stdout] 254 | | Self::Info(info) => format!("Server Info:\n{info}"), [INFO] [stdout] ... | [INFO] [stdout] 257 | | }; [INFO] [stdout] 258 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: implement trait `Display` for type `server::ServerMessage` instead [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#inherent_to_string [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/server.rs:252:9 [INFO] [stdout] | [INFO] [stdout] 252 | / return match self { [INFO] [stdout] 253 | | Self::Error(err) => format!("Server Error:\n{err}"), [INFO] [stdout] 254 | | Self::Info(info) => format!("Server Info:\n{info}"), [INFO] [stdout] 255 | | Self::Msg(msg) => format!("{msg}"), [INFO] [stdout] 256 | | Self::CriticalError(err) => format!("Server Critical Error:\n{err}"), [INFO] [stdout] 257 | | }; [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 252 ~ match self { [INFO] [stdout] 253 + Self::Error(err) => format!("Server Error:\n{err}"), [INFO] [stdout] 254 + Self::Info(info) => format!("Server Info:\n{info}"), [INFO] [stdout] 255 + Self::Msg(msg) => format!("{msg}"), [INFO] [stdout] 256 + Self::CriticalError(err) => format!("Server Critical Error:\n{err}"), [INFO] [stdout] 257 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/server.rs:255:31 [INFO] [stdout] | [INFO] [stdout] 255 | Self::Msg(msg) => format!("{msg}"), [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `msg.to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/main.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 13 | return res; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 13 - return res; [INFO] [stdout] 13 + res [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/application.rs:550:14 [INFO] [stdout] | [INFO] [stdout] 550 | fn style(&self) -> Option { [INFO] [stdout] | ^^^^^ ^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 550 | fn style(&self) -> Option> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 11.30s [INFO] running `Command { std: "docker" "inspect" "a0624215c5ee9c3186771e6af847486da8b6923ce74f797d53a42db08646b5d8", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "a0624215c5ee9c3186771e6af847486da8b6923ce74f797d53a42db08646b5d8", kill_on_drop: false }` [INFO] [stdout] a0624215c5ee9c3186771e6af847486da8b6923ce74f797d53a42db08646b5d8