[INFO] updating cached repository bqv/carbon [INFO] running `"git" "fetch" "--all"` [INFO] [stdout] Fetching origin [INFO] [stderr] From git://github.com/bqv/carbon [INFO] [stderr] * branch HEAD -> FETCH_HEAD [INFO] running `"git" "clone" "work/cache/sources/gh/bqv/carbon" "work/ex/pr-59199/sources/master#bc44841ad2a2ad5f6c5e67b9e35ed8e7e71d4dc7/gh/bqv/carbon"` [INFO] [stderr] Cloning into 'work/ex/pr-59199/sources/master#bc44841ad2a2ad5f6c5e67b9e35ed8e7e71d4dc7/gh/bqv/carbon'... [INFO] [stderr] done. [INFO] running `"git" "clone" "work/cache/sources/gh/bqv/carbon" "work/ex/pr-59199/sources/try#68fcf881bd1e4dbfc21e22f8c7a56b8a5d8e8f7b/gh/bqv/carbon"` [INFO] [stderr] Cloning into 'work/ex/pr-59199/sources/try#68fcf881bd1e4dbfc21e22f8c7a56b8a5d8e8f7b/gh/bqv/carbon'... [INFO] [stderr] done. [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] 290a5532d1f667e5ba7a18dc4bdc3959293773e8 [INFO] sha for GitHub repo bqv/carbon: 290a5532d1f667e5ba7a18dc4bdc3959293773e8 [INFO] validating manifest of bqv/carbon 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 bqv/carbon 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 bqv/carbon [INFO] finished frobbing bqv/carbon [INFO] frobbed toml for bqv/carbon written to work/ex/pr-59199/sources/master#bc44841ad2a2ad5f6c5e67b9e35ed8e7e71d4dc7/gh/bqv/carbon/Cargo.toml [INFO] started frobbing bqv/carbon [INFO] finished frobbing bqv/carbon [INFO] frobbed toml for bqv/carbon written to work/ex/pr-59199/sources/try#68fcf881bd1e4dbfc21e22f8c7a56b8a5d8e8f7b/gh/bqv/carbon/Cargo.toml [INFO] crate bqv/carbon 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] running `"/mnt/crater-raid/crater/work/local/cargo-home/bin/cargo" "+68fcf881bd1e4dbfc21e22f8c7a56b8a5d8e8f7b-alt" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] checking bqv/carbon against master#bc44841ad2a2ad5f6c5e67b9e35ed8e7e71d4dc7 for pr-59199 [INFO] running `"docker" "create" "-v" "/mnt/crater-raid/crater/work/local/target-dirs/pr-59199/worker-0/master#bc44841ad2a2ad5f6c5e67b9e35ed8e7e71d4dc7:/opt/crater/target:rw,Z" "-v" "/mnt/crater-raid/crater/work/ex/pr-59199/sources/master#bc44841ad2a2ad5f6c5e67b9e35ed8e7e71d4dc7/gh/bqv/carbon:/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" "+bc44841ad2a2ad5f6c5e67b9e35ed8e7e71d4dc7-alt" "check" "--frozen" "--all" "--all-targets"` [INFO] [stdout] 5fd65da892204d5539e97791ee3061088c5ea6809824f4b1306e68b2daedde5e [INFO] running `"docker" "start" "-a" "5fd65da892204d5539e97791ee3061088c5ea6809824f4b1306e68b2daedde5e"` [INFO] [stderr] Checking carbon v0.1.0 (/opt/crater/workdir) [INFO] [stderr] warning: variant `RPL_WELCOME` should have an upper camel case name [INFO] [stderr] --> src/irc/message.rs:22:5 [INFO] [stderr] | [INFO] [stderr] 22 | RPL_WELCOME(String), [INFO] [stderr] | ^^^^^^^^^^^ help: convert the identifier to upper camel case: `RplWelcome` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(non_camel_case_types)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `TcpListener` [INFO] [stderr] --> src/irc/client.rs:4:16 [INFO] [stderr] | [INFO] [stderr] 4 | use std::net::{TcpListener, TcpStream}; [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_imports)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused imports: `DerefMut`, `Deref` [INFO] [stderr] --> src/bouncer/mod.rs:5:16 [INFO] [stderr] | [INFO] [stderr] 5 | use std::ops::{Deref, DerefMut}; [INFO] [stderr] | ^^^^^ ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `channel` [INFO] [stderr] --> src/bouncer/threadworker.rs:2:23 [INFO] [stderr] | [INFO] [stderr] 2 | use std::sync::mpsc::{channel, Receiver, Sender}; [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::borrow::Borrow` [INFO] [stderr] --> src/bouncer/threadworker.rs:4:5 [INFO] [stderr] | [INFO] [stderr] 4 | use std::borrow::Borrow; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `TcpStream` [INFO] [stderr] --> src/bouncer/threadworker.rs:5:29 [INFO] [stderr] | [INFO] [stderr] 5 | use std::net::{TcpListener, TcpStream}; [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `DerefMut`, `Deref` [INFO] [stderr] --> src/bouncer/threadworker.rs:6:16 [INFO] [stderr] | [INFO] [stderr] 6 | use std::ops::{Deref, DerefMut}; [INFO] [stderr] | ^^^^^ ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant `RPL_WELCOME` should have an upper camel case name [INFO] [stderr] --> src/irc/message.rs:22:5 [INFO] [stderr] | [INFO] [stderr] 22 | RPL_WELCOME(String), [INFO] [stderr] | ^^^^^^^^^^^ help: convert the identifier to upper camel case: `RplWelcome` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(non_camel_case_types)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `TcpListener` [INFO] [stderr] --> src/irc/client.rs:4:16 [INFO] [stderr] | [INFO] [stderr] 4 | use std::net::{TcpListener, TcpStream}; [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_imports)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused imports: `DerefMut`, `Deref` [INFO] [stderr] --> src/bouncer/mod.rs:5:16 [INFO] [stderr] | [INFO] [stderr] 5 | use std::ops::{Deref, DerefMut}; [INFO] [stderr] | ^^^^^ ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `channel` [INFO] [stderr] --> src/bouncer/threadworker.rs:2:23 [INFO] [stderr] | [INFO] [stderr] 2 | use std::sync::mpsc::{channel, Receiver, Sender}; [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::borrow::Borrow` [INFO] [stderr] --> src/bouncer/threadworker.rs:4:5 [INFO] [stderr] | [INFO] [stderr] 4 | use std::borrow::Borrow; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `TcpStream` [INFO] [stderr] --> src/bouncer/threadworker.rs:5:29 [INFO] [stderr] | [INFO] [stderr] 5 | use std::net::{TcpListener, TcpStream}; [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `DerefMut`, `Deref` [INFO] [stderr] --> src/bouncer/threadworker.rs:6:16 [INFO] [stderr] | [INFO] [stderr] 6 | use std::ops::{Deref, DerefMut}; [INFO] [stderr] | ^^^^^ ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused variable: `err` [INFO] [stderr] --> src/bouncer/mod.rs:70:29 [INFO] [stderr] | [INFO] [stderr] 70 | Err(err) => { [INFO] [stderr] | ^^^ help: consider prefixing with an underscore: `_err` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_variables)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `readthread` [INFO] [stderr] --> src/bouncer/mod.rs:91:21 [INFO] [stderr] | [INFO] [stderr] 91 | let readthread = thread::Builder::new().name(readthreadname).spawn(move || { [INFO] [stderr] | ^^^^^^^^^^ help: consider prefixing with an underscore: `_readthread` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `err` [INFO] [stderr] --> src/bouncer/mod.rs:95:17 [INFO] [stderr] | [INFO] [stderr] 95 | Err(err) => { [INFO] [stderr] | ^^^ help: consider prefixing with an underscore: `_err` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `sendthread` [INFO] [stderr] --> src/bouncer/mod.rs:102:21 [INFO] [stderr] | [INFO] [stderr] 102 | let sendthread = thread::Builder::new().name(sendthreadname).spawn(move || { [INFO] [stderr] | ^^^^^^^^^^ help: consider prefixing with an underscore: `_sendthread` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `err` [INFO] [stderr] --> src/bouncer/mod.rs:106:17 [INFO] [stderr] | [INFO] [stderr] 106 | Err(err) => { [INFO] [stderr] | ^^^ help: consider prefixing with an underscore: `_err` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `pingthread` [INFO] [stderr] --> src/bouncer/mod.rs:113:21 [INFO] [stderr] | [INFO] [stderr] 113 | let pingthread = thread::Builder::new().name(pingthreadname).spawn(move || { [INFO] [stderr] | ^^^^^^^^^^ help: consider prefixing with an underscore: `_pingthread` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `err` [INFO] [stderr] --> src/bouncer/mod.rs:117:17 [INFO] [stderr] | [INFO] [stderr] 117 | Err(err) => { [INFO] [stderr] | ^^^ help: consider prefixing with an underscore: `_err` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `readthread` [INFO] [stderr] --> src/bouncer/mod.rs:131:21 [INFO] [stderr] | [INFO] [stderr] 131 | let readthread = thread::Builder::new().name(readthreadname).spawn(move || { [INFO] [stderr] | ^^^^^^^^^^ help: consider prefixing with an underscore: `_readthread` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `sendthread` [INFO] [stderr] --> src/bouncer/mod.rs:139:21 [INFO] [stderr] | [INFO] [stderr] 139 | let sendthread = thread::Builder::new().name(sendthreadname).spawn(move || { [INFO] [stderr] | ^^^^^^^^^^ help: consider prefixing with an underscore: `_sendthread` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `pingthread` [INFO] [stderr] --> src/bouncer/mod.rs:165:25 [INFO] [stderr] | [INFO] [stderr] 165 | let pingthread = thread::Builder::new().name(pingthreadname).spawn(move || { [INFO] [stderr] | ^^^^^^^^^^ help: consider prefixing with an underscore: `_pingthread` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `param` [INFO] [stderr] --> src/bouncer/mod.rs:183:31 [INFO] [stderr] | [INFO] [stderr] 183 | Command::PONG(ref param) => { [INFO] [stderr] | ^^^^^ help: consider prefixing with an underscore: `_param` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `param` [INFO] [stderr] --> src/bouncer/mod.rs:282:31 [INFO] [stderr] | [INFO] [stderr] 282 | Command::PONG(ref param) => { [INFO] [stderr] | ^^^^^ help: consider prefixing with an underscore: `_param` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `e` [INFO] [stderr] --> src/bouncer/threadworker.rs:120:21 [INFO] [stderr] | [INFO] [stderr] 120 | Err(e) => { [INFO] [stderr] | ^ help: consider prefixing with an underscore: `_e` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/irc/server.rs:63:13 [INFO] [stderr] | [INFO] [stderr] 63 | let mut nick = self.nick.lock().unwrap(); [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/irc/server.rs:64:13 [INFO] [stderr] | [INFO] [stderr] 64 | let mut userdata = self.userdata.lock().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/irc/server.rs:69:13 [INFO] [stderr] | [INFO] [stderr] 69 | let mut channels = self.channels.lock().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/irc/server.rs:104:13 [INFO] [stderr] | [INFO] [stderr] 104 | let mut ping_active = self.ping_active.clone(); [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/irc/client.rs:62:13 [INFO] [stderr] | [INFO] [stderr] 62 | let mut nick = self.nick.lock().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/irc/client.rs:63:13 [INFO] [stderr] | [INFO] [stderr] 63 | let mut userdata = self.userdata.lock().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/irc/client.rs:68:13 [INFO] [stderr] | [INFO] [stderr] 68 | let mut nick = self.nick.lock().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/irc/client.rs:78:13 [INFO] [stderr] | [INFO] [stderr] 78 | let mut channels = self.channels.lock().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/irc/client.rs:107:13 [INFO] [stderr] | [INFO] [stderr] 107 | let mut ping_active = self.ping_active.clone(); [INFO] [stderr] | ----^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `err` [INFO] [stderr] --> src/bouncer/mod.rs:70:29 [INFO] [stderr] | [INFO] [stderr] 70 | Err(err) => { [INFO] [stderr] | ^^^ help: consider prefixing with an underscore: `_err` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_variables)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `readthread` [INFO] [stderr] --> src/bouncer/mod.rs:91:21 [INFO] [stderr] | [INFO] [stderr] 91 | let readthread = thread::Builder::new().name(readthreadname).spawn(move || { [INFO] [stderr] | ^^^^^^^^^^ help: consider prefixing with an underscore: `_readthread` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `err` [INFO] [stderr] --> src/bouncer/mod.rs:95:17 [INFO] [stderr] | [INFO] [stderr] 95 | Err(err) => { [INFO] [stderr] | ^^^ help: consider prefixing with an underscore: `_err` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `sendthread` [INFO] [stderr] --> src/bouncer/mod.rs:102:21 [INFO] [stderr] | [INFO] [stderr] 102 | let sendthread = thread::Builder::new().name(sendthreadname).spawn(move || { [INFO] [stderr] | ^^^^^^^^^^ help: consider prefixing with an underscore: `_sendthread` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `err` [INFO] [stderr] --> src/bouncer/mod.rs:106:17 [INFO] [stderr] | [INFO] [stderr] 106 | Err(err) => { [INFO] [stderr] | ^^^ help: consider prefixing with an underscore: `_err` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `pingthread` [INFO] [stderr] --> src/bouncer/mod.rs:113:21 [INFO] [stderr] | [INFO] [stderr] 113 | let pingthread = thread::Builder::new().name(pingthreadname).spawn(move || { [INFO] [stderr] | ^^^^^^^^^^ help: consider prefixing with an underscore: `_pingthread` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `err` [INFO] [stderr] --> src/bouncer/mod.rs:117:17 [INFO] [stderr] | [INFO] [stderr] 117 | Err(err) => { [INFO] [stderr] | ^^^ help: consider prefixing with an underscore: `_err` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `readthread` [INFO] [stderr] --> src/bouncer/mod.rs:131:21 [INFO] [stderr] | [INFO] [stderr] 131 | let readthread = thread::Builder::new().name(readthreadname).spawn(move || { [INFO] [stderr] | ^^^^^^^^^^ help: consider prefixing with an underscore: `_readthread` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `sendthread` [INFO] [stderr] --> src/bouncer/mod.rs:139:21 [INFO] [stderr] | [INFO] [stderr] 139 | let sendthread = thread::Builder::new().name(sendthreadname).spawn(move || { [INFO] [stderr] | ^^^^^^^^^^ help: consider prefixing with an underscore: `_sendthread` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `pingthread` [INFO] [stderr] --> src/bouncer/mod.rs:165:25 [INFO] [stderr] | [INFO] [stderr] 165 | let pingthread = thread::Builder::new().name(pingthreadname).spawn(move || { [INFO] [stderr] | ^^^^^^^^^^ help: consider prefixing with an underscore: `_pingthread` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `param` [INFO] [stderr] --> src/bouncer/mod.rs:183:31 [INFO] [stderr] | [INFO] [stderr] 183 | Command::PONG(ref param) => { [INFO] [stderr] | ^^^^^ help: consider prefixing with an underscore: `_param` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `param` [INFO] [stderr] --> src/bouncer/mod.rs:282:31 [INFO] [stderr] | [INFO] [stderr] 282 | Command::PONG(ref param) => { [INFO] [stderr] | ^^^^^ help: consider prefixing with an underscore: `_param` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `e` [INFO] [stderr] --> src/bouncer/threadworker.rs:120:21 [INFO] [stderr] | [INFO] [stderr] 120 | Err(e) => { [INFO] [stderr] | ^ help: consider prefixing with an underscore: `_e` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/bouncer/threadworker.rs:72:19 [INFO] [stderr] | [INFO] [stderr] 72 | if let Ok(mut iter) = self.conn.read() { [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/bouncer/threadworker.rs:91:19 [INFO] [stderr] | [INFO] [stderr] 91 | if let Ok(mut iter) = self.conn.read() { [INFO] [stderr] | ----^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: method is never used: `read_hostmask` [INFO] [stderr] --> src/irc/message.rs:134:5 [INFO] [stderr] | [INFO] [stderr] 134 | pub fn read_hostmask(hostmask: &str) -> Hostmask { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(dead_code)] on by default [INFO] [stderr] [INFO] [stderr] warning: field is never used: `username` [INFO] [stderr] --> src/irc/server.rs:24:5 [INFO] [stderr] | [INFO] [stderr] 24 | username: String, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never used: `hostname` [INFO] [stderr] --> src/irc/server.rs:25:5 [INFO] [stderr] | [INFO] [stderr] 25 | hostname: String, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never used: `realname` [INFO] [stderr] --> src/irc/server.rs:26:5 [INFO] [stderr] | [INFO] [stderr] 26 | realname: String, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `set_userdata` [INFO] [stderr] --> src/irc/server.rs:56:5 [INFO] [stderr] | [INFO] [stderr] 56 | pub fn set_userdata(&mut self, username: String, hostname: String) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `hostmask` [INFO] [stderr] --> src/irc/server.rs:62:5 [INFO] [stderr] | [INFO] [stderr] 62 | pub fn hostmask(&self) -> Hostmask { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `get_nick` [INFO] [stderr] --> src/irc/client.rs:41:5 [INFO] [stderr] | [INFO] [stderr] 41 | pub fn get_nick(&self) -> String { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/irc/server.rs:112:13 [INFO] [stderr] | [INFO] [stderr] 112 | self.send(string); [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/irc/client.rs:115:13 [INFO] [stderr] | [INFO] [stderr] 115 | self.send(string); [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/bouncer/threadworker.rs:52:21 [INFO] [stderr] | [INFO] [stderr] 52 | self.conn.send(string); [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/bouncer/threadworker.rs:75:17 [INFO] [stderr] | [INFO] [stderr] 75 | self.tx.send(Event::ServerRead(self.conn.id(), Message::from_string(line.as_str()))); [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/bouncer/threadworker.rs:94:17 [INFO] [stderr] | [INFO] [stderr] 94 | self.tx.send(Event::ClientRead(self.conn.id(), Message::from_string(line.as_str()))); [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/bouncer/threadworker.rs:118:21 [INFO] [stderr] | [INFO] [stderr] 118 | self.eventtx.send(Event::AcceptConn(Arc::new(Mutex::new(stream)))); [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/bouncer/mod.rs:43:17 [INFO] [stderr] | [INFO] [stderr] 43 | / thread::Builder::new().name("LISTEN".to_string()).spawn(move || { [INFO] [stderr] 44 | | threadworker::Listener::new(listener, listeneventtx).work(); [INFO] [stderr] 45 | | }); [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/bouncer/mod.rs:140:21 [INFO] [stderr] | [INFO] [stderr] 140 | sendtx.send(Message::user(Hostmask::None, server_clone.config.nick.as_str(), "carbon").to_string()); [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/bouncer/mod.rs:141:21 [INFO] [stderr] | [INFO] [stderr] 141 | sendtx.send(Message::nick(Hostmask::None, server_clone.config.nick.as_str()).to_string()); [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/bouncer/mod.rs:145:29 [INFO] [stderr] | [INFO] [stderr] 145 | sendtx.send(Message::pass(Hostmask::None, pass).to_string()); [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/bouncer/mod.rs:348:9 [INFO] [stderr] | [INFO] [stderr] 348 | self.srvsendtxs[id].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/bouncer/mod.rs:352:9 [INFO] [stderr] | [INFO] [stderr] 352 | self.clntsendtxs[id].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: variable does not need to be mutable [INFO] [stderr] --> src/irc/server.rs:63:13 [INFO] [stderr] | [INFO] [stderr] 63 | let mut nick = self.nick.lock().unwrap(); [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/irc/server.rs:64:13 [INFO] [stderr] | [INFO] [stderr] 64 | let mut userdata = self.userdata.lock().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/irc/server.rs:69:13 [INFO] [stderr] | [INFO] [stderr] 69 | let mut channels = self.channels.lock().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/irc/server.rs:104:13 [INFO] [stderr] | [INFO] [stderr] 104 | let mut ping_active = self.ping_active.clone(); [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/irc/client.rs:62:13 [INFO] [stderr] | [INFO] [stderr] 62 | let mut nick = self.nick.lock().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/irc/client.rs:63:13 [INFO] [stderr] | [INFO] [stderr] 63 | let mut userdata = self.userdata.lock().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/irc/client.rs:68:13 [INFO] [stderr] | [INFO] [stderr] 68 | let mut nick = self.nick.lock().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/irc/client.rs:78:13 [INFO] [stderr] | [INFO] [stderr] 78 | let mut channels = self.channels.lock().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/irc/client.rs:107:13 [INFO] [stderr] | [INFO] [stderr] 107 | let mut ping_active = self.ping_active.clone(); [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/bouncer/threadworker.rs:72:19 [INFO] [stderr] | [INFO] [stderr] 72 | if let Ok(mut iter) = self.conn.read() { [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/bouncer/threadworker.rs:91:19 [INFO] [stderr] | [INFO] [stderr] 91 | if let Ok(mut iter) = self.conn.read() { [INFO] [stderr] | ----^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: method is never used: `read_hostmask` [INFO] [stderr] --> src/irc/message.rs:134:5 [INFO] [stderr] | [INFO] [stderr] 134 | pub fn read_hostmask(hostmask: &str) -> Hostmask { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(dead_code)] on by default [INFO] [stderr] [INFO] [stderr] warning: field is never used: `username` [INFO] [stderr] --> src/irc/server.rs:24:5 [INFO] [stderr] | [INFO] [stderr] 24 | username: String, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never used: `hostname` [INFO] [stderr] --> src/irc/server.rs:25:5 [INFO] [stderr] | [INFO] [stderr] 25 | hostname: String, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never used: `realname` [INFO] [stderr] --> src/irc/server.rs:26:5 [INFO] [stderr] | [INFO] [stderr] 26 | realname: String, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `set_userdata` [INFO] [stderr] --> src/irc/server.rs:56:5 [INFO] [stderr] | [INFO] [stderr] 56 | pub fn set_userdata(&mut self, username: String, hostname: String) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `hostmask` [INFO] [stderr] --> src/irc/server.rs:62:5 [INFO] [stderr] | [INFO] [stderr] 62 | pub fn hostmask(&self) -> Hostmask { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `get_nick` [INFO] [stderr] --> src/irc/client.rs:41:5 [INFO] [stderr] | [INFO] [stderr] 41 | pub fn get_nick(&self) -> String { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/irc/server.rs:112:13 [INFO] [stderr] | [INFO] [stderr] 112 | self.send(string); [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/irc/client.rs:115:13 [INFO] [stderr] | [INFO] [stderr] 115 | self.send(string); [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/bouncer/threadworker.rs:52:21 [INFO] [stderr] | [INFO] [stderr] 52 | self.conn.send(string); [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/bouncer/threadworker.rs:75:17 [INFO] [stderr] | [INFO] [stderr] 75 | self.tx.send(Event::ServerRead(self.conn.id(), Message::from_string(line.as_str()))); [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/bouncer/threadworker.rs:94:17 [INFO] [stderr] | [INFO] [stderr] 94 | self.tx.send(Event::ClientRead(self.conn.id(), Message::from_string(line.as_str()))); [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/bouncer/threadworker.rs:118:21 [INFO] [stderr] | [INFO] [stderr] 118 | self.eventtx.send(Event::AcceptConn(Arc::new(Mutex::new(stream)))); [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/bouncer/mod.rs:43:17 [INFO] [stderr] | [INFO] [stderr] 43 | / thread::Builder::new().name("LISTEN".to_string()).spawn(move || { [INFO] [stderr] 44 | | threadworker::Listener::new(listener, listeneventtx).work(); [INFO] [stderr] 45 | | }); [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/bouncer/mod.rs:140:21 [INFO] [stderr] | [INFO] [stderr] 140 | sendtx.send(Message::user(Hostmask::None, server_clone.config.nick.as_str(), "carbon").to_string()); [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/bouncer/mod.rs:141:21 [INFO] [stderr] | [INFO] [stderr] 141 | sendtx.send(Message::nick(Hostmask::None, server_clone.config.nick.as_str()).to_string()); [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/bouncer/mod.rs:145:29 [INFO] [stderr] | [INFO] [stderr] 145 | sendtx.send(Message::pass(Hostmask::None, pass).to_string()); [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/bouncer/mod.rs:348:9 [INFO] [stderr] | [INFO] [stderr] 348 | self.srvsendtxs[id].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/bouncer/mod.rs:352:9 [INFO] [stderr] | [INFO] [stderr] 352 | self.clntsendtxs[id].send(line); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 0.77s [INFO] running `"docker" "inspect" "5fd65da892204d5539e97791ee3061088c5ea6809824f4b1306e68b2daedde5e"` [INFO] running `"docker" "rm" "-f" "5fd65da892204d5539e97791ee3061088c5ea6809824f4b1306e68b2daedde5e"` [INFO] [stdout] 5fd65da892204d5539e97791ee3061088c5ea6809824f4b1306e68b2daedde5e