[INFO] updating cached repository synlestidae/rustirc [INFO] running `"git" "fetch" "--all"` [INFO] [stdout] Fetching origin [INFO] [stderr] From git://github.com/synlestidae/rustirc [INFO] [stderr] * branch HEAD -> FETCH_HEAD [INFO] running `"git" "clone" "work/cache/sources/gh/synlestidae/rustirc" "work/ex/pr-59199/sources/master#bc44841ad2a2ad5f6c5e67b9e35ed8e7e71d4dc7/gh/synlestidae/rustirc"` [INFO] [stderr] Cloning into 'work/ex/pr-59199/sources/master#bc44841ad2a2ad5f6c5e67b9e35ed8e7e71d4dc7/gh/synlestidae/rustirc'... [INFO] [stderr] done. [INFO] running `"git" "clone" "work/cache/sources/gh/synlestidae/rustirc" "work/ex/pr-59199/sources/try#68fcf881bd1e4dbfc21e22f8c7a56b8a5d8e8f7b/gh/synlestidae/rustirc"` [INFO] [stderr] Cloning into 'work/ex/pr-59199/sources/try#68fcf881bd1e4dbfc21e22f8c7a56b8a5d8e8f7b/gh/synlestidae/rustirc'... [INFO] [stderr] done. [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] 32d8fe9f7900c75f1bd2655c81db1d8302090f3c [INFO] sha for GitHub repo synlestidae/rustirc: 32d8fe9f7900c75f1bd2655c81db1d8302090f3c [INFO] validating manifest of synlestidae/rustirc on toolchain master#bc44841ad2a2ad5f6c5e67b9e35ed8e7e71d4dc7 [INFO] running `"/mnt/crater-raid/crater/work/local/cargo-home/bin/cargo" "+bc44841ad2a2ad5f6c5e67b9e35ed8e7e71d4dc7-alt" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] validating manifest of synlestidae/rustirc on toolchain try#68fcf881bd1e4dbfc21e22f8c7a56b8a5d8e8f7b [INFO] running `"/mnt/crater-raid/crater/work/local/cargo-home/bin/cargo" "+68fcf881bd1e4dbfc21e22f8c7a56b8a5d8e8f7b-alt" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] started frobbing synlestidae/rustirc [INFO] finished frobbing synlestidae/rustirc [INFO] frobbed toml for synlestidae/rustirc written to work/ex/pr-59199/sources/master#bc44841ad2a2ad5f6c5e67b9e35ed8e7e71d4dc7/gh/synlestidae/rustirc/Cargo.toml [INFO] started frobbing synlestidae/rustirc [INFO] finished frobbing synlestidae/rustirc [INFO] frobbed toml for synlestidae/rustirc written to work/ex/pr-59199/sources/try#68fcf881bd1e4dbfc21e22f8c7a56b8a5d8e8f7b/gh/synlestidae/rustirc/Cargo.toml [INFO] crate synlestidae/rustirc already has a lockfile, it will not be regenerated [INFO] running `"/mnt/crater-raid/crater/work/local/cargo-home/bin/cargo" "+bc44841ad2a2ad5f6c5e67b9e35ed8e7e71d4dc7-alt" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] [stderr] error: the lock file /mnt/crater-raid/crater/work/ex/pr-59199/sources/master#bc44841ad2a2ad5f6c5e67b9e35ed8e7e71d4dc7/gh/synlestidae/rustirc/Cargo.lock needs to be updated but --locked was passed to prevent this [INFO] the lockfile is outdated, regenerating it [INFO] running `"/mnt/crater-raid/crater/work/local/cargo-home/bin/cargo" "+bc44841ad2a2ad5f6c5e67b9e35ed8e7e71d4dc7-alt" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update"` [INFO] running `"/mnt/crater-raid/crater/work/local/cargo-home/bin/cargo" "+68fcf881bd1e4dbfc21e22f8c7a56b8a5d8e8f7b-alt" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update"` [INFO] running `"/mnt/crater-raid/crater/work/local/cargo-home/bin/cargo" "+bc44841ad2a2ad5f6c5e67b9e35ed8e7e71d4dc7-alt" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] running `"/mnt/crater-raid/crater/work/local/cargo-home/bin/cargo" "+68fcf881bd1e4dbfc21e22f8c7a56b8a5d8e8f7b-alt" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] checking synlestidae/rustirc against try#68fcf881bd1e4dbfc21e22f8c7a56b8a5d8e8f7b for pr-59199 [INFO] running `"docker" "create" "-v" "/mnt/crater-raid/crater/work/local/target-dirs/pr-59199/worker-6/try#68fcf881bd1e4dbfc21e22f8c7a56b8a5d8e8f7b:/opt/crater/target:rw,Z" "-v" "/mnt/crater-raid/crater/work/ex/pr-59199/sources/try#68fcf881bd1e4dbfc21e22f8c7a56b8a5d8e8f7b/gh/synlestidae/rustirc:/opt/crater/workdir:ro,Z" "-v" "/mnt/crater-raid/crater/work/local/cargo-home:/opt/crater/cargo-home:ro,Z" "-v" "/mnt/crater-raid/crater/work/local/rustup-home:/opt/crater/rustup-home:ro,Z" "-e" "USER_ID=1000" "-e" "SOURCE_DIR=/opt/crater/workdir" "-e" "MAP_USER_ID=1000" "-e" "CARGO_TARGET_DIR=/opt/crater/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/crater/cargo-home" "-e" "RUSTUP_HOME=/opt/crater/rustup-home" "-w" "/opt/crater/workdir" "-m" "1536M" "--network" "none" "rustops/crates-build-env" "/opt/crater/cargo-home/bin/cargo" "+68fcf881bd1e4dbfc21e22f8c7a56b8a5d8e8f7b-alt" "check" "--frozen" "--all" "--all-targets"` [INFO] [stdout] 4185c4d2bf74bab4c5a36b102d7a226f3d0ed653969e4c664015200b25774ebd [INFO] running `"docker" "start" "-a" "4185c4d2bf74bab4c5a36b102d7a226f3d0ed653969e4c664015200b25774ebd"` [INFO] [stderr] Checking net2 v0.2.33 [INFO] [stderr] Checking nix v0.5.1 [INFO] [stderr] Checking miow v0.1.5 [INFO] [stderr] Checking mio v0.5.1 [INFO] [stderr] Checking rustirc v0.1.0 (/opt/crater/workdir) [INFO] [stderr] warning: unused import: `std::env::args` [INFO] [stderr] --> src/main.rs:1:5 [INFO] [stderr] | [INFO] [stderr] 1 | use std::env::args; [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_imports)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::net::TcpStream` [INFO] [stderr] --> src/main.rs:2:5 [INFO] [stderr] | [INFO] [stderr] 2 | use std::net::TcpStream; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Read`, `Write` [INFO] [stderr] --> src/main.rs:3:15 [INFO] [stderr] | [INFO] [stderr] 3 | use std::io::{Read, Write}; [INFO] [stderr] | ^^^^ ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `BufReader`, `BufWriter` [INFO] [stderr] --> src/main.rs:4:15 [INFO] [stderr] | [INFO] [stderr] 4 | use std::io::{BufReader, BufWriter}; [INFO] [stderr] | ^^^^^^^^^ ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `BufRead` [INFO] [stderr] --> src/main.rs:5:15 [INFO] [stderr] | [INFO] [stderr] 5 | use std::io::{BufRead}; [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::thread` [INFO] [stderr] --> src/main.rs:6:5 [INFO] [stderr] | [INFO] [stderr] 6 | use std::thread; [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::sync::mpsc::channel` [INFO] [stderr] --> src/main.rs:7:5 [INFO] [stderr] | [INFO] [stderr] 7 | use std::sync::mpsc::channel; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::sync::mpsc::Sender` [INFO] [stderr] --> src/main.rs:8:5 [INFO] [stderr] | [INFO] [stderr] 8 | use std::sync::mpsc::Sender; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::io` [INFO] [stderr] --> src/main.rs:9:5 [INFO] [stderr] | [INFO] [stderr] 9 | use std::io; [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `BufReader`, `BufWriter`, `Read` [INFO] [stderr] --> src/main_loop.rs:7:24 [INFO] [stderr] | [INFO] [stderr] 7 | use std::io::{BufRead, BufReader, BufWriter, Write, Read}; [INFO] [stderr] | ^^^^^^^^^ ^^^^^^^^^ ^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `SocketAddr` [INFO] [stderr] --> src/main_loop.rs:11:16 [INFO] [stderr] | [INFO] [stderr] 11 | use std::net::{SocketAddr}; [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::str::FromStr` [INFO] [stderr] --> src/main_loop.rs:12:5 [INFO] [stderr] | [INFO] [stderr] 12 | use std::str::FromStr; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `nick_message`, `user_message` [INFO] [stderr] --> src/main_loop.rs:15:20 [INFO] [stderr] | [INFO] [stderr] 15 | use message_util::{nick_message, user_message}; [INFO] [stderr] | ^^^^^^^^^^^^ ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::thread` [INFO] [stderr] --> src/everything_handler.rs:5:5 [INFO] [stderr] | [INFO] [stderr] 5 | use std::thread; [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::io` [INFO] [stderr] --> src/everything_handler.rs:6:5 [INFO] [stderr] | [INFO] [stderr] 6 | use std::io; [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `BufRead`, `BufReader`, `BufWriter`, `Read` [INFO] [stderr] --> src/everything_handler.rs:7:15 [INFO] [stderr] | [INFO] [stderr] 7 | use std::io::{BufRead, BufReader, BufWriter, Write, Read}; [INFO] [stderr] | ^^^^^^^ ^^^^^^^^^ ^^^^^^^^^ ^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::iter` [INFO] [stderr] --> src/everything_handler.rs:8:5 [INFO] [stderr] | [INFO] [stderr] 8 | use std::iter; [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `ToSocketAddrs` [INFO] [stderr] --> src/everything_handler.rs:9:16 [INFO] [stderr] | [INFO] [stderr] 9 | use std::net::{ToSocketAddrs}; [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::env` [INFO] [stderr] --> src/everything_handler.rs:10:5 [INFO] [stderr] | [INFO] [stderr] 10 | use std::env; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::path::PathBuf` [INFO] [stderr] --> src/everything_handler.rs:11:5 [INFO] [stderr] | [INFO] [stderr] 11 | use std::path::PathBuf; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `SocketAddr` [INFO] [stderr] --> src/everything_handler.rs:12:16 [INFO] [stderr] | [INFO] [stderr] 12 | use std::net::{SocketAddr}; [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::str` [INFO] [stderr] --> src/everything_handler.rs:13:5 [INFO] [stderr] | [INFO] [stderr] 13 | use std::str; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `FromStr` [INFO] [stderr] --> src/everything_handler.rs:14:16 [INFO] [stderr] | [INFO] [stderr] 14 | use std::str::{FromStr}; [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::iter::IntoIterator` [INFO] [stderr] --> src/everything_handler.rs:20:5 [INFO] [stderr] | [INFO] [stderr] 20 | use std::iter::IntoIterator; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::fmt` [INFO] [stderr] --> src/message.rs:1:5 [INFO] [stderr] | [INFO] [stderr] 1 | use std::fmt; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around `if` condition [INFO] [stderr] --> src/message.rs:57:8 [INFO] [stderr] | [INFO] [stderr] 57 | if (i != 0) { [INFO] [stderr] | ^^^^^^^^ help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_parens)] on by default [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around `if` condition [INFO] [stderr] --> src/message.rs:61:8 [INFO] [stderr] | [INFO] [stderr] 61 | if (i + 1 == self.parameters.len() && p.contains(" ")) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: unused import: `Prefix` [INFO] [stderr] --> src/message_util.rs:1:33 [INFO] [stderr] | [INFO] [stderr] 1 | use message::{Message, Command, Prefix}; [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around `if` condition [INFO] [stderr] --> src/message_util.rs:47:5 [INFO] [stderr] | [INFO] [stderr] 47 | if (index <= line.len() && line[index] == '/') { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around `if` condition [INFO] [stderr] --> src/message_util.rs:49:11 [INFO] [stderr] | [INFO] [stderr] 49 | }else if (index <= line.len() && line[index] != '/') { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around `while` condition [INFO] [stderr] --> src/message_util.rs:65:8 [INFO] [stderr] | [INFO] [stderr] 65 | while (line[index].is_alphabetic() && line[index].is_lowercase()) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around `if` condition [INFO] [stderr] --> src/message_util.rs:70:5 [INFO] [stderr] | [INFO] [stderr] 70 | if (command.len() == 0) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around `if` condition [INFO] [stderr] --> src/message_util.rs:76:5 [INFO] [stderr] | [INFO] [stderr] 76 | if (command == "join".to_string()) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around `while` condition [INFO] [stderr] --> src/message_util.rs:79:9 [INFO] [stderr] | [INFO] [stderr] 79 | while (index < line.len()) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around assigned value [INFO] [stderr] --> src/message_util.rs:102:20 [INFO] [stderr] | [INFO] [stderr] 102 | *expectedIndex = (*expectedIndex + 1); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: variant `Connected_LoginReady` should have an upper camel case name [INFO] [stderr] --> src/session_state.rs:19:2 [INFO] [stderr] | [INFO] [stderr] 19 | Connected_LoginReady, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `ConnectedLoginReady` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(non_camel_case_types)] on by default [INFO] [stderr] [INFO] [stderr] warning: variant `Connected_LoginWaiting` should have an upper camel case name [INFO] [stderr] --> src/session_state.rs:20:2 [INFO] [stderr] | [INFO] [stderr] 20 | Connected_LoginWaiting, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `ConnectedLoginWaiting` [INFO] [stderr] [INFO] [stderr] warning: variant `Connected_LoginFailed` should have an upper camel case name [INFO] [stderr] --> src/session_state.rs:21:2 [INFO] [stderr] | [INFO] [stderr] 21 | Connected_LoginFailed, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `ConnectedLoginFailed` [INFO] [stderr] [INFO] [stderr] warning: variant `Connected_LoggedIn` should have an upper camel case name [INFO] [stderr] --> src/session_state.rs:22:2 [INFO] [stderr] | [INFO] [stderr] 22 | Connected_LoggedIn, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `ConnectedLoggedIn` [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::env::args` [INFO] [stderr] --> src/main.rs:1:5 [INFO] [stderr] | [INFO] [stderr] 1 | use std::env::args; [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_imports)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::net::TcpStream` [INFO] [stderr] --> src/main.rs:2:5 [INFO] [stderr] | [INFO] [stderr] 2 | use std::net::TcpStream; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Read`, `Write` [INFO] [stderr] --> src/main.rs:3:15 [INFO] [stderr] | [INFO] [stderr] 3 | use std::io::{Read, Write}; [INFO] [stderr] | ^^^^ ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `BufReader`, `BufWriter` [INFO] [stderr] --> src/main.rs:4:15 [INFO] [stderr] | [INFO] [stderr] 4 | use std::io::{BufReader, BufWriter}; [INFO] [stderr] | ^^^^^^^^^ ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `BufRead` [INFO] [stderr] --> src/main.rs:5:15 [INFO] [stderr] | [INFO] [stderr] 5 | use std::io::{BufRead}; [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::thread` [INFO] [stderr] --> src/main.rs:6:5 [INFO] [stderr] | [INFO] [stderr] 6 | use std::thread; [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::sync::mpsc::channel` [INFO] [stderr] --> src/main.rs:7:5 [INFO] [stderr] | [INFO] [stderr] 7 | use std::sync::mpsc::channel; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::sync::mpsc::Sender` [INFO] [stderr] --> src/main.rs:8:5 [INFO] [stderr] | [INFO] [stderr] 8 | use std::sync::mpsc::Sender; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::io` [INFO] [stderr] --> src/main.rs:9:5 [INFO] [stderr] | [INFO] [stderr] 9 | use std::io; [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `BufReader`, `BufWriter`, `Read` [INFO] [stderr] --> src/main_loop.rs:7:24 [INFO] [stderr] | [INFO] [stderr] 7 | use std::io::{BufRead, BufReader, BufWriter, Write, Read}; [INFO] [stderr] | ^^^^^^^^^ ^^^^^^^^^ ^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `SocketAddr` [INFO] [stderr] --> src/main_loop.rs:11:16 [INFO] [stderr] | [INFO] [stderr] 11 | use std::net::{SocketAddr}; [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::str::FromStr` [INFO] [stderr] --> src/main_loop.rs:12:5 [INFO] [stderr] | [INFO] [stderr] 12 | use std::str::FromStr; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `nick_message`, `user_message` [INFO] [stderr] --> src/main_loop.rs:15:20 [INFO] [stderr] | [INFO] [stderr] 15 | use message_util::{nick_message, user_message}; [INFO] [stderr] | ^^^^^^^^^^^^ ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::thread` [INFO] [stderr] --> src/everything_handler.rs:5:5 [INFO] [stderr] | [INFO] [stderr] 5 | use std::thread; [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::io` [INFO] [stderr] --> src/everything_handler.rs:6:5 [INFO] [stderr] | [INFO] [stderr] 6 | use std::io; [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `BufRead`, `BufReader`, `BufWriter`, `Read` [INFO] [stderr] --> src/everything_handler.rs:7:15 [INFO] [stderr] | [INFO] [stderr] 7 | use std::io::{BufRead, BufReader, BufWriter, Write, Read}; [INFO] [stderr] | ^^^^^^^ ^^^^^^^^^ ^^^^^^^^^ ^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::iter` [INFO] [stderr] --> src/everything_handler.rs:8:5 [INFO] [stderr] | [INFO] [stderr] 8 | use std::iter; [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `ToSocketAddrs` [INFO] [stderr] --> src/everything_handler.rs:9:16 [INFO] [stderr] | [INFO] [stderr] 9 | use std::net::{ToSocketAddrs}; [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::env` [INFO] [stderr] --> src/everything_handler.rs:10:5 [INFO] [stderr] | [INFO] [stderr] 10 | use std::env; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::path::PathBuf` [INFO] [stderr] --> src/everything_handler.rs:11:5 [INFO] [stderr] | [INFO] [stderr] 11 | use std::path::PathBuf; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `SocketAddr` [INFO] [stderr] --> src/everything_handler.rs:12:16 [INFO] [stderr] | [INFO] [stderr] 12 | use std::net::{SocketAddr}; [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::str` [INFO] [stderr] --> src/everything_handler.rs:13:5 [INFO] [stderr] | [INFO] [stderr] 13 | use std::str; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `FromStr` [INFO] [stderr] --> src/everything_handler.rs:14:16 [INFO] [stderr] | [INFO] [stderr] 14 | use std::str::{FromStr}; [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::iter::IntoIterator` [INFO] [stderr] --> src/everything_handler.rs:20:5 [INFO] [stderr] | [INFO] [stderr] 20 | use std::iter::IntoIterator; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::fmt` [INFO] [stderr] --> src/message.rs:1:5 [INFO] [stderr] | [INFO] [stderr] 1 | use std::fmt; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around `if` condition [INFO] [stderr] --> src/message.rs:57:8 [INFO] [stderr] | [INFO] [stderr] 57 | if (i != 0) { [INFO] [stderr] | ^^^^^^^^ help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_parens)] on by default [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around `if` condition [INFO] [stderr] --> src/message.rs:61:8 [INFO] [stderr] | [INFO] [stderr] 61 | if (i + 1 == self.parameters.len() && p.contains(" ")) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: unused import: `Prefix` [INFO] [stderr] --> src/message_util.rs:1:33 [INFO] [stderr] | [INFO] [stderr] 1 | use message::{Message, Command, Prefix}; [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around `if` condition [INFO] [stderr] --> src/message_util.rs:47:5 [INFO] [stderr] | [INFO] [stderr] 47 | if (index <= line.len() && line[index] == '/') { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around `if` condition [INFO] [stderr] --> src/message_util.rs:49:11 [INFO] [stderr] | [INFO] [stderr] 49 | }else if (index <= line.len() && line[index] != '/') { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around `while` condition [INFO] [stderr] --> src/message_util.rs:65:8 [INFO] [stderr] | [INFO] [stderr] 65 | while (line[index].is_alphabetic() && line[index].is_lowercase()) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around `if` condition [INFO] [stderr] --> src/message_util.rs:70:5 [INFO] [stderr] | [INFO] [stderr] 70 | if (command.len() == 0) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around `if` condition [INFO] [stderr] --> src/message_util.rs:76:5 [INFO] [stderr] | [INFO] [stderr] 76 | if (command == "join".to_string()) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around `while` condition [INFO] [stderr] --> src/message_util.rs:79:9 [INFO] [stderr] | [INFO] [stderr] 79 | while (index < line.len()) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around assigned value [INFO] [stderr] --> src/message_util.rs:102:20 [INFO] [stderr] | [INFO] [stderr] 102 | *expectedIndex = (*expectedIndex + 1); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: variant `Connected_LoginReady` should have an upper camel case name [INFO] [stderr] --> src/session_state.rs:19:2 [INFO] [stderr] | [INFO] [stderr] 19 | Connected_LoginReady, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `ConnectedLoginReady` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(non_camel_case_types)] on by default [INFO] [stderr] [INFO] [stderr] warning: variant `Connected_LoginWaiting` should have an upper camel case name [INFO] [stderr] --> src/session_state.rs:20:2 [INFO] [stderr] | [INFO] [stderr] 20 | Connected_LoginWaiting, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `ConnectedLoginWaiting` [INFO] [stderr] [INFO] [stderr] warning: variant `Connected_LoginFailed` should have an upper camel case name [INFO] [stderr] --> src/session_state.rs:21:2 [INFO] [stderr] | [INFO] [stderr] 21 | Connected_LoginFailed, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `ConnectedLoginFailed` [INFO] [stderr] [INFO] [stderr] warning: variant `Connected_LoggedIn` should have an upper camel case name [INFO] [stderr] --> src/session_state.rs:22:2 [INFO] [stderr] | [INFO] [stderr] 22 | Connected_LoggedIn, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `ConnectedLoggedIn` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `action` [INFO] [stderr] --> src/everything_handler.rs:54:13 [INFO] [stderr] | [INFO] [stderr] 54 | let action = match token { [INFO] [stderr] | ^^^^^^ help: consider prefixing with an underscore: `_action` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_variables)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `message_bits` [INFO] [stderr] --> src/everything_handler.rs:64:33 [INFO] [stderr] | [INFO] [stderr] 64 | let message_bits = process_str(&self.line_in_progress); [INFO] [stderr] | ^^^^^^^^^^^^ help: consider prefixing with an underscore: `_message_bits` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `err` [INFO] [stderr] --> src/everything_handler.rs:66:29 [INFO] [stderr] | [INFO] [stderr] 66 | Err(err) => {} [INFO] [stderr] | ^^^ help: consider prefixing with an underscore: `_err` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `action` [INFO] [stderr] --> src/everything_handler.rs:91:25 [INFO] [stderr] | [INFO] [stderr] 91 | let action = Some(parse_input_line(&line.unwrap())); [INFO] [stderr] | ^^^^^^ help: consider prefixing with an underscore: `_action` [INFO] [stderr] [INFO] [stderr] warning: value assigned to `string` is never read [INFO] [stderr] --> src/message.rs:38:11 [INFO] [stderr] | [INFO] [stderr] 38 | let mut string = String::new(); [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_assignments)] on by default [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] [INFO] [stderr] warning: unused variable: `command` [INFO] [stderr] --> src/message.rs:49:31 [INFO] [stderr] | [INFO] [stderr] 49 | Command::DigitCommand {ref command} => panic!("Not ready for digit commands yet") [INFO] [stderr] | ^^^^^^^ help: try ignoring the field: `command: _` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/main_loop.rs:22:9 [INFO] [stderr] | [INFO] [stderr] 22 | let mut args : Vec<_> = env::args().collect(); [INFO] [stderr] | ----^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_mut)] on by default [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/main_loop.rs:47:9 [INFO] [stderr] | [INFO] [stderr] 47 | let mut connection_result = TcpStream::connect(&connection_string.to_socket_addrs().unwrap().nth(0).unwrap()); [INFO] [stderr] | ----^^^^^^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/main_loop.rs:48:9 [INFO] [stderr] | [INFO] [stderr] 48 | let mut connection = match connection_result { [INFO] [stderr] | ----^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: field is never used: `lines_in` [INFO] [stderr] --> src/everything_handler.rs:28:5 [INFO] [stderr] | [INFO] [stderr] 28 | lines_in : Vec, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(dead_code)] on by default [INFO] [stderr] [INFO] [stderr] warning: field is never used: `lines_out` [INFO] [stderr] --> src/everything_handler.rs:29:5 [INFO] [stderr] | [INFO] [stderr] 29 | lines_out : Vec, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `prompt` [INFO] [stderr] --> src/util.rs:4:1 [INFO] [stderr] | [INFO] [stderr] 4 | pub fn prompt(prompt_text : &str) -> String { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `to_message_bytes` [INFO] [stderr] --> src/message.rs:29:2 [INFO] [stderr] | [INFO] [stderr] 29 | pub fn to_message_bytes(self : &Self) -> Vec { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `ServerNamePrefix` [INFO] [stderr] --> src/message.rs:77:2 [INFO] [stderr] | [INFO] [stderr] 77 | ServerNamePrefix {name : String}, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `NickNamePrefix` [INFO] [stderr] --> src/message.rs:78:2 [INFO] [stderr] | [INFO] [stderr] 78 | NickNamePrefix {name : String, parts : Option<(String, String)> } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `DigitCommand` [INFO] [stderr] --> src/message.rs:84:2 [INFO] [stderr] | [INFO] [stderr] 84 | DigitCommand {command : String} [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `join_channel_message` [INFO] [stderr] --> src/message_util.rs:25:1 [INFO] [stderr] | [INFO] [stderr] 25 | pub fn join_channel_message(channel_name : &str) -> Message { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Terminate` [INFO] [stderr] --> src/app_action.rs:5:2 [INFO] [stderr] | [INFO] [stderr] 5 | Terminate, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Transmit` [INFO] [stderr] --> src/app_action.rs:6:2 [INFO] [stderr] | [INFO] [stderr] 6 | Transmit(Message), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `NetworkInput` [INFO] [stderr] --> src/app_action.rs:8:2 [INFO] [stderr] | [INFO] [stderr] 8 | NetworkInput(Message) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Nothing` [INFO] [stderr] --> src/session_state.rs:18:2 [INFO] [stderr] | [INFO] [stderr] 18 | Nothing, [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Connected_LoginFailed` [INFO] [stderr] --> src/session_state.rs:21:2 [INFO] [stderr] | [INFO] [stderr] 21 | Connected_LoginFailed, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Connected_LoggedIn` [INFO] [stderr] --> src/session_state.rs:22:2 [INFO] [stderr] | [INFO] [stderr] 22 | Connected_LoggedIn, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `InRoom` [INFO] [stderr] --> src/session_state.rs:23:2 [INFO] [stderr] | [INFO] [stderr] 23 | InRoom(String) [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/main_loop.rs:68:13 [INFO] [stderr] | [INFO] [stderr] 68 | stdin.lock().read_line(&mut line); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_must_use)] on by default [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/main_loop.rs:69:13 [INFO] [stderr] | [INFO] [stderr] 69 | keyboard_tx.send(line); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/main_loop.rs:70:13 [INFO] [stderr] | [INFO] [stderr] 70 | handler_channel.send(KEYBOARD); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/main_loop.rs:85:5 [INFO] [stderr] | [INFO] [stderr] 85 | stdout.flush(); [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/main_loop.rs:89:5 [INFO] [stderr] | [INFO] [stderr] 89 | stdin.lock().read_line(&mut line); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/everything_handler.rs:75:25 [INFO] [stderr] | [INFO] [stderr] 75 | self.stream.flush(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/util.rs:9:2 [INFO] [stderr] | [INFO] [stderr] 9 | stdout.flush(); [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/util.rs:13:2 [INFO] [stderr] | [INFO] [stderr] 13 | stdin.lock().read_line(&mut line); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/message_util.rs:74:2 [INFO] [stderr] | [INFO] [stderr] 74 | eat_char(&mut line, ' ', &mut index); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: variable `expectedIndex` should have a snake case name [INFO] [stderr] --> src/message_util.rs:100:43 [INFO] [stderr] | [INFO] [stderr] 100 | fn eat_char(chars : &Vec, c : char, expectedIndex: &mut usize) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^ help: convert the identifier to snake case: `expected_index` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(non_snake_case)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `action` [INFO] [stderr] --> src/everything_handler.rs:54:13 [INFO] [stderr] | [INFO] [stderr] 54 | let action = match token { [INFO] [stderr] | ^^^^^^ help: consider prefixing with an underscore: `_action` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_variables)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `message_bits` [INFO] [stderr] --> src/everything_handler.rs:64:33 [INFO] [stderr] | [INFO] [stderr] 64 | let message_bits = process_str(&self.line_in_progress); [INFO] [stderr] | ^^^^^^^^^^^^ help: consider prefixing with an underscore: `_message_bits` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `err` [INFO] [stderr] --> src/everything_handler.rs:66:29 [INFO] [stderr] | [INFO] [stderr] 66 | Err(err) => {} [INFO] [stderr] | ^^^ help: consider prefixing with an underscore: `_err` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `action` [INFO] [stderr] --> src/everything_handler.rs:91:25 [INFO] [stderr] | [INFO] [stderr] 91 | let action = Some(parse_input_line(&line.unwrap())); [INFO] [stderr] | ^^^^^^ help: consider prefixing with an underscore: `_action` [INFO] [stderr] [INFO] [stderr] warning: value assigned to `string` is never read [INFO] [stderr] --> src/message.rs:38:11 [INFO] [stderr] | [INFO] [stderr] 38 | let mut string = String::new(); [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_assignments)] on by default [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] [INFO] [stderr] warning: unused variable: `command` [INFO] [stderr] --> src/message.rs:49:31 [INFO] [stderr] | [INFO] [stderr] 49 | Command::DigitCommand {ref command} => panic!("Not ready for digit commands yet") [INFO] [stderr] | ^^^^^^^ help: try ignoring the field: `command: _` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/main_loop.rs:22:9 [INFO] [stderr] | [INFO] [stderr] 22 | let mut args : Vec<_> = env::args().collect(); [INFO] [stderr] | ----^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_mut)] on by default [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/main_loop.rs:47:9 [INFO] [stderr] | [INFO] [stderr] 47 | let mut connection_result = TcpStream::connect(&connection_string.to_socket_addrs().unwrap().nth(0).unwrap()); [INFO] [stderr] | ----^^^^^^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/main_loop.rs:48:9 [INFO] [stderr] | [INFO] [stderr] 48 | let mut connection = match connection_result { [INFO] [stderr] | ----^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: field is never used: `lines_in` [INFO] [stderr] --> src/everything_handler.rs:28:5 [INFO] [stderr] | [INFO] [stderr] 28 | lines_in : Vec, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(dead_code)] on by default [INFO] [stderr] [INFO] [stderr] warning: field is never used: `lines_out` [INFO] [stderr] --> src/everything_handler.rs:29:5 [INFO] [stderr] | [INFO] [stderr] 29 | lines_out : Vec, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `prompt` [INFO] [stderr] --> src/util.rs:4:1 [INFO] [stderr] | [INFO] [stderr] 4 | pub fn prompt(prompt_text : &str) -> String { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `to_message_bytes` [INFO] [stderr] --> src/message.rs:29:2 [INFO] [stderr] | [INFO] [stderr] 29 | pub fn to_message_bytes(self : &Self) -> Vec { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `ServerNamePrefix` [INFO] [stderr] --> src/message.rs:77:2 [INFO] [stderr] | [INFO] [stderr] 77 | ServerNamePrefix {name : String}, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `NickNamePrefix` [INFO] [stderr] --> src/message.rs:78:2 [INFO] [stderr] | [INFO] [stderr] 78 | NickNamePrefix {name : String, parts : Option<(String, String)> } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `DigitCommand` [INFO] [stderr] --> src/message.rs:84:2 [INFO] [stderr] | [INFO] [stderr] 84 | DigitCommand {command : String} [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `join_channel_message` [INFO] [stderr] --> src/message_util.rs:25:1 [INFO] [stderr] | [INFO] [stderr] 25 | pub fn join_channel_message(channel_name : &str) -> Message { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Terminate` [INFO] [stderr] --> src/app_action.rs:5:2 [INFO] [stderr] | [INFO] [stderr] 5 | Terminate, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Transmit` [INFO] [stderr] --> src/app_action.rs:6:2 [INFO] [stderr] | [INFO] [stderr] 6 | Transmit(Message), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `NetworkInput` [INFO] [stderr] --> src/app_action.rs:8:2 [INFO] [stderr] | [INFO] [stderr] 8 | NetworkInput(Message) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Nothing` [INFO] [stderr] --> src/session_state.rs:18:2 [INFO] [stderr] | [INFO] [stderr] 18 | Nothing, [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Connected_LoginFailed` [INFO] [stderr] --> src/session_state.rs:21:2 [INFO] [stderr] | [INFO] [stderr] 21 | Connected_LoginFailed, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Connected_LoggedIn` [INFO] [stderr] --> src/session_state.rs:22:2 [INFO] [stderr] | [INFO] [stderr] 22 | Connected_LoggedIn, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `InRoom` [INFO] [stderr] --> src/session_state.rs:23:2 [INFO] [stderr] | [INFO] [stderr] 23 | InRoom(String) [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/main_loop.rs:68:13 [INFO] [stderr] | [INFO] [stderr] 68 | stdin.lock().read_line(&mut line); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_must_use)] on by default [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/main_loop.rs:69:13 [INFO] [stderr] | [INFO] [stderr] 69 | keyboard_tx.send(line); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/main_loop.rs:70:13 [INFO] [stderr] | [INFO] [stderr] 70 | handler_channel.send(KEYBOARD); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/main_loop.rs:85:5 [INFO] [stderr] | [INFO] [stderr] 85 | stdout.flush(); [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/main_loop.rs:89:5 [INFO] [stderr] | [INFO] [stderr] 89 | stdin.lock().read_line(&mut line); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/everything_handler.rs:75:25 [INFO] [stderr] | [INFO] [stderr] 75 | self.stream.flush(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/util.rs:9:2 [INFO] [stderr] | [INFO] [stderr] 9 | stdout.flush(); [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/util.rs:13:2 [INFO] [stderr] | [INFO] [stderr] 13 | stdin.lock().read_line(&mut line); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/message_util.rs:74:2 [INFO] [stderr] | [INFO] [stderr] 74 | eat_char(&mut line, ' ', &mut index); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: variable `expectedIndex` should have a snake case name [INFO] [stderr] --> src/message_util.rs:100:43 [INFO] [stderr] | [INFO] [stderr] 100 | fn eat_char(chars : &Vec, c : char, expectedIndex: &mut usize) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^ help: convert the identifier to snake case: `expected_index` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(non_snake_case)] on by default [INFO] [stderr] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 4.11s [INFO] running `"docker" "inspect" "4185c4d2bf74bab4c5a36b102d7a226f3d0ed653969e4c664015200b25774ebd"` [INFO] running `"docker" "rm" "-f" "4185c4d2bf74bab4c5a36b102d7a226f3d0ed653969e4c664015200b25774ebd"` [INFO] [stdout] 4185c4d2bf74bab4c5a36b102d7a226f3d0ed653969e4c664015200b25774ebd