[INFO] updating cached repository winks/cerith [INFO] running `"git" "fetch" "--all"` [INFO] [stdout] Fetching origin [INFO] [stderr] From git://github.com/winks/cerith [INFO] [stderr] * branch HEAD -> FETCH_HEAD [INFO] running `"git" "clone" "work/cache/sources/gh/winks/cerith" "work/ex/clippy-test-run/sources/stable/gh/winks/cerith"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable/gh/winks/cerith'... [INFO] [stderr] done. [INFO] running `"git" "clone" "work/cache/sources/gh/winks/cerith" "work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/winks/cerith"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/winks/cerith'... [INFO] [stderr] done. [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] 968a81490569771933132bf123e769efc654bb5a [INFO] sha for GitHub repo winks/cerith: 968a81490569771933132bf123e769efc654bb5a [INFO] validating manifest of winks/cerith on toolchain stable [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] validating manifest of winks/cerith on toolchain stable+rustflags=-Dclippy::into_iter_on_array [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] started frobbing winks/cerith [INFO] finished frobbing winks/cerith [INFO] frobbed toml for winks/cerith written to work/ex/clippy-test-run/sources/stable/gh/winks/cerith/Cargo.toml [INFO] started frobbing winks/cerith [INFO] finished frobbing winks/cerith [INFO] frobbed toml for winks/cerith written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/winks/cerith/Cargo.toml [INFO] crate winks/cerith has a lockfile. skipping [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] linting winks/cerith against stable+rustflags=-Dclippy::into_iter_on_array for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-3/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/winks/cerith:/opt/crater/workdir:ro,Z" "-v" "/mnt/big/crater/work/local/cargo-home:/opt/crater/cargo-home:ro,Z" "-v" "/mnt/big/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 -Dclippy::into_iter_on_array" "-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" "+stable" "clippy" "--frozen" "--all" "--all-targets"` [INFO] [stdout] 2e4078388243bcab8a81e4798e400e42eca5f2450102ec355b7c3ff327963757 [INFO] running `"docker" "start" "-a" "2e4078388243bcab8a81e4798e400e42eca5f2450102ec355b7c3ff327963757"` [INFO] [stderr] Checking serde v0.9.7 [INFO] [stderr] Checking rand v0.4.2 [INFO] [stderr] Checking time v0.1.36 [INFO] [stderr] Checking toml v0.3.0 [INFO] [stderr] Checking cerith v0.1.0 (/opt/crater/workdir) [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/cerith.rs:164:13 [INFO] [stderr] | [INFO] [stderr] 164 | host: host, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `host` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_field_names)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/cerith.rs:165:13 [INFO] [stderr] | [INFO] [stderr] 165 | port: port, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `port` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/cerith.rs:173:13 [INFO] [stderr] | [INFO] [stderr] 173 | trigger: trigger, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `trigger` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/cerith.rs:174:13 [INFO] [stderr] | [INFO] [stderr] 174 | action: action, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `action` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/cerith.rs:175:13 [INFO] [stderr] | [INFO] [stderr] 175 | occur: occur [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `occur` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/cerith.rs:198:13 [INFO] [stderr] | [INFO] [stderr] 198 | nickname: nickname, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `nickname` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/cerith.rs:199:13 [INFO] [stderr] | [INFO] [stderr] 199 | username: username, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `username` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/cerith.rs:200:13 [INFO] [stderr] | [INFO] [stderr] 200 | realname: realname, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `realname` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/cerith.rs:201:13 [INFO] [stderr] | [INFO] [stderr] 201 | usermode: usermode, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `usermode` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/cerith.rs:202:13 [INFO] [stderr] | [INFO] [stderr] 202 | prefix: prefix, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `prefix` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/cerith.rs:203:13 [INFO] [stderr] | [INFO] [stderr] 203 | admins: admins, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `admins` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/cerith.rs:204:13 [INFO] [stderr] | [INFO] [stderr] 204 | altnicks: altnicks, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `altnicks` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/cerith.rs:205:13 [INFO] [stderr] | [INFO] [stderr] 205 | reactions: reactions, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `reactions` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: using `println!("")` [INFO] [stderr] --> src/cerith.rs:266:9 [INFO] [stderr] | [INFO] [stderr] 266 | println!(""); [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `println!()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::println_empty_string)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#println_empty_string [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/cerith.rs:297:13 [INFO] [stderr] | [INFO] [stderr] 297 | config: config, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `config` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/cerith.rs:164:13 [INFO] [stderr] | [INFO] [stderr] 164 | host: host, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `host` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_field_names)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/cerith.rs:165:13 [INFO] [stderr] | [INFO] [stderr] 165 | port: port, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `port` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/cerith.rs:173:13 [INFO] [stderr] | [INFO] [stderr] 173 | trigger: trigger, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `trigger` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/cerith.rs:174:13 [INFO] [stderr] | [INFO] [stderr] 174 | action: action, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `action` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/cerith.rs:175:13 [INFO] [stderr] | [INFO] [stderr] 175 | occur: occur [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `occur` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/cerith.rs:198:13 [INFO] [stderr] | [INFO] [stderr] 198 | nickname: nickname, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `nickname` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/cerith.rs:199:13 [INFO] [stderr] | [INFO] [stderr] 199 | username: username, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `username` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/cerith.rs:200:13 [INFO] [stderr] | [INFO] [stderr] 200 | realname: realname, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `realname` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/cerith.rs:201:13 [INFO] [stderr] | [INFO] [stderr] 201 | usermode: usermode, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `usermode` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/cerith.rs:202:13 [INFO] [stderr] | [INFO] [stderr] 202 | prefix: prefix, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `prefix` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/cerith.rs:203:13 [INFO] [stderr] | [INFO] [stderr] 203 | admins: admins, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `admins` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/cerith.rs:204:13 [INFO] [stderr] | [INFO] [stderr] 204 | altnicks: altnicks, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `altnicks` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/cerith.rs:205:13 [INFO] [stderr] | [INFO] [stderr] 205 | reactions: reactions, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `reactions` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: using `println!("")` [INFO] [stderr] --> src/cerith.rs:266:9 [INFO] [stderr] | [INFO] [stderr] 266 | println!(""); [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `println!()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::println_empty_string)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#println_empty_string [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/cerith.rs:297:13 [INFO] [stderr] | [INFO] [stderr] 297 | config: config, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `config` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/cerith.rs:25:30 [INFO] [stderr] | [INFO] [stderr] 25 | pub const DEFAULT_NICKNAME: &'static str = "Cerith"; [INFO] [stderr] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::const_static_lifetime)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#const_static_lifetime [INFO] [stderr] [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/cerith.rs:26:30 [INFO] [stderr] | [INFO] [stderr] 26 | pub const DEFAULT_REALNAME: &'static str = "Cerith"; [INFO] [stderr] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#const_static_lifetime [INFO] [stderr] [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/cerith.rs:27:30 [INFO] [stderr] | [INFO] [stderr] 27 | pub const DEFAULT_USERNAME: &'static str = "Cerith"; [INFO] [stderr] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#const_static_lifetime [INFO] [stderr] [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/cerith.rs:29:28 [INFO] [stderr] | [INFO] [stderr] 29 | pub const DEFAULT_PREFIX: &'static str = "!"; [INFO] [stderr] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#const_static_lifetime [INFO] [stderr] [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/cerith.rs:25:30 [INFO] [stderr] | [INFO] [stderr] 25 | pub const DEFAULT_NICKNAME: &'static str = "Cerith"; [INFO] [stderr] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::const_static_lifetime)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#const_static_lifetime [INFO] [stderr] [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/cerith.rs:26:30 [INFO] [stderr] | [INFO] [stderr] 26 | pub const DEFAULT_REALNAME: &'static str = "Cerith"; [INFO] [stderr] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#const_static_lifetime [INFO] [stderr] [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/cerith.rs:27:30 [INFO] [stderr] | [INFO] [stderr] 27 | pub const DEFAULT_USERNAME: &'static str = "Cerith"; [INFO] [stderr] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#const_static_lifetime [INFO] [stderr] [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/cerith.rs:29:28 [INFO] [stderr] | [INFO] [stderr] 29 | pub const DEFAULT_PREFIX: &'static str = "!"; [INFO] [stderr] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#const_static_lifetime [INFO] [stderr] [INFO] [stderr] warning: value assigned to `quit_msg` is never read [INFO] [stderr] --> src/cerith.rs:212:17 [INFO] [stderr] | [INFO] [stderr] 212 | let mut quit_msg = MSG_QUIT.to_string(); [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_assignments)] on by default [INFO] [stderr] [INFO] [stderr] warning: value assigned to `quit_msg` is never read [INFO] [stderr] --> src/cerith.rs:212:17 [INFO] [stderr] | [INFO] [stderr] 212 | let mut quit_msg = MSG_QUIT.to_string(); [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_assignments)] on by default [INFO] [stderr] [INFO] [stderr] warning: this function has too many arguments (8/7) [INFO] [stderr] --> src/cerith.rs:188:5 [INFO] [stderr] | [INFO] [stderr] 188 | / pub fn new(nickname: String, [INFO] [stderr] 189 | | username: String, [INFO] [stderr] 190 | | realname: String, [INFO] [stderr] 191 | | usermode: i32, [INFO] [stderr] ... | [INFO] [stderr] 206 | | } [INFO] [stderr] 207 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::too_many_arguments)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stderr] [INFO] [stderr] warning: called `.get().unwrap()` on a Vec. Using `[]` is more clear and more concise [INFO] [stderr] --> src/cerith.rs:235:36 [INFO] [stderr] | [INFO] [stderr] 235 | current_nick = config.altnicks.get(nick_counter).unwrap().to_string(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `config.altnicks[nick_counter]` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::get_unwrap)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_unwrap [INFO] [stderr] [INFO] [stderr] warning: Err(_) will match all errors, maybe not a good idea [INFO] [stderr] --> src/cerith.rs:326:13 [INFO] [stderr] | [INFO] [stderr] 326 | Err(_) => panic!("Failed to read the response"), [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::match_wild_err_arm)] on by default [INFO] [stderr] = note: to remove this warning, match each error separately or use unreachable macro [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_wild_err_arm [INFO] [stderr] [INFO] [stderr] warning: the function has a cyclomatic complexity of 31 [INFO] [stderr] --> src/cerith.rs:398:5 [INFO] [stderr] | [INFO] [stderr] 398 | / fn handle_line(&mut self, line: &str) -> Event { [INFO] [stderr] 399 | | let event_priv_self = format!(":(.*) PRIVMSG {} :(.*)\r\n", self.config.nickname); [INFO] [stderr] 400 | | let event_priv_chan = format!(":(.*) PRIVMSG ((#|!)(\\S+)) :(.*)\r\n"); [INFO] [stderr] 401 | | let event_ping = "^PING\\s+:(.*)"; [INFO] [stderr] ... | [INFO] [stderr] 678 | | Event::Unknown [INFO] [stderr] 679 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::cyclomatic_complexity)] on by default [INFO] [stderr] = help: you could split it up into multiple smaller functions [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cyclomatic_complexity [INFO] [stderr] [INFO] [stderr] warning: this function has too many arguments (8/7) [INFO] [stderr] --> src/cerith.rs:188:5 [INFO] [stderr] | [INFO] [stderr] 188 | / pub fn new(nickname: String, [INFO] [stderr] 189 | | username: String, [INFO] [stderr] 190 | | realname: String, [INFO] [stderr] 191 | | usermode: i32, [INFO] [stderr] ... | [INFO] [stderr] 206 | | } [INFO] [stderr] 207 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::too_many_arguments)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stderr] [INFO] [stderr] warning: called `.get().unwrap()` on a Vec. Using `[]` is more clear and more concise [INFO] [stderr] --> src/cerith.rs:235:36 [INFO] [stderr] | [INFO] [stderr] 235 | current_nick = config.altnicks.get(nick_counter).unwrap().to_string(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `config.altnicks[nick_counter]` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::get_unwrap)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_unwrap [INFO] [stderr] [INFO] [stderr] warning: Err(_) will match all errors, maybe not a good idea [INFO] [stderr] --> src/cerith.rs:326:13 [INFO] [stderr] | [INFO] [stderr] 326 | Err(_) => panic!("Failed to read the response"), [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::match_wild_err_arm)] on by default [INFO] [stderr] = note: to remove this warning, match each error separately or use unreachable macro [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_wild_err_arm [INFO] [stderr] [INFO] [stderr] warning: useless use of `format!` [INFO] [stderr] --> src/cerith.rs:400:31 [INFO] [stderr] | [INFO] [stderr] 400 | let event_priv_chan = format!(":(.*) PRIVMSG ((#|!)(\\S+)) :(.*)\r\n"); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using .to_string(): `":(.*) PRIVMSG ((#|!)(\\S+)) :(.*)\r\n".to_string()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::useless_format)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stderr] [INFO] [stderr] warning: the function has a cyclomatic complexity of 31 [INFO] [stderr] --> src/cerith.rs:398:5 [INFO] [stderr] | [INFO] [stderr] 398 | / fn handle_line(&mut self, line: &str) -> Event { [INFO] [stderr] 399 | | let event_priv_self = format!(":(.*) PRIVMSG {} :(.*)\r\n", self.config.nickname); [INFO] [stderr] 400 | | let event_priv_chan = format!(":(.*) PRIVMSG ((#|!)(\\S+)) :(.*)\r\n"); [INFO] [stderr] 401 | | let event_ping = "^PING\\s+:(.*)"; [INFO] [stderr] ... | [INFO] [stderr] 678 | | Event::Unknown [INFO] [stderr] 679 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::cyclomatic_complexity)] on by default [INFO] [stderr] = help: you could split it up into multiple smaller functions [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cyclomatic_complexity [INFO] [stderr] [INFO] [stderr] warning: length comparison to one [INFO] [stderr] --> src/cerith.rs:450:16 [INFO] [stderr] | [INFO] [stderr] 450 | if msg.len() < 1 { [INFO] [stderr] | ^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `msg.is_empty()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::len_zero)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: useless use of `format!` [INFO] [stderr] --> src/cerith.rs:400:31 [INFO] [stderr] | [INFO] [stderr] 400 | let event_priv_chan = format!(":(.*) PRIVMSG ((#|!)(\\S+)) :(.*)\r\n"); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using .to_string(): `":(.*) PRIVMSG ((#|!)(\\S+)) :(.*)\r\n".to_string()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::useless_format)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stderr] [INFO] [stderr] warning: length comparison to one [INFO] [stderr] --> src/cerith.rs:450:16 [INFO] [stderr] | [INFO] [stderr] 450 | if msg.len() < 1 { [INFO] [stderr] | ^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `msg.is_empty()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::len_zero)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: length comparison to one [INFO] [stderr] --> src/cerith.rs:623:16 [INFO] [stderr] | [INFO] [stderr] 623 | if msg.len() < 1 { [INFO] [stderr] | ^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `msg.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: `if _ { .. } else { .. }` is an expression [INFO] [stderr] --> src/cerith.rs:642:21 [INFO] [stderr] | [INFO] [stderr] 642 | / let mut num: i32 = 0; [INFO] [stderr] 643 | | if reaction.occur > 0 { [INFO] [stderr] 644 | | let mut rng = rand::thread_rng(); [INFO] [stderr] 645 | | num = rng.gen_range(0, 100); [INFO] [stderr] 646 | | } [INFO] [stderr] | |_____________________^ help: it is more idiomatic to write: `let num = if reaction.occur > 0 { ..; rng.gen_range(0, 100) } else { 0 };` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::useless_let_if_seq)] on by default [INFO] [stderr] = note: you might not need `mut` at all [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_let_if_seq [INFO] [stderr] [INFO] [stderr] warning: length comparison to one [INFO] [stderr] --> src/cerith.rs:623:16 [INFO] [stderr] | [INFO] [stderr] 623 | if msg.len() < 1 { [INFO] [stderr] | ^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `msg.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: `if _ { .. } else { .. }` is an expression [INFO] [stderr] --> src/cerith.rs:642:21 [INFO] [stderr] | [INFO] [stderr] 642 | / let mut num: i32 = 0; [INFO] [stderr] 643 | | if reaction.occur > 0 { [INFO] [stderr] 644 | | let mut rng = rand::thread_rng(); [INFO] [stderr] 645 | | num = rng.gen_range(0, 100); [INFO] [stderr] 646 | | } [INFO] [stderr] | |_____________________^ help: it is more idiomatic to write: `let num = if reaction.occur > 0 { ..; rng.gen_range(0, 100) } else { 0 };` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::useless_let_if_seq)] on by default [INFO] [stderr] = note: you might not need `mut` at all [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_let_if_seq [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is only used to index `servers`. [INFO] [stderr] --> src/bot.rs:84:14 [INFO] [stderr] | [INFO] [stderr] 84 | for i in 0..servers.len() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_range_loop)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stderr] help: consider using an iterator [INFO] [stderr] | [INFO] [stderr] 84 | for in &servers { [INFO] [stderr] | ^^^^^^ ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is only used to index `servers`. [INFO] [stderr] --> src/bot.rs:84:14 [INFO] [stderr] | [INFO] [stderr] 84 | for i in 0..servers.len() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_range_loop)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stderr] help: consider using an iterator [INFO] [stderr] | [INFO] [stderr] 84 | for in &servers { [INFO] [stderr] | ^^^^^^ ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: you seem to want to iterate on a map's keys [INFO] [stderr] --> src/bot.rs:220:29 [INFO] [stderr] | [INFO] [stderr] 220 | for (name, _section) in val["reactions"].as_table().unwrap() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::for_kv_map)] on by default [INFO] [stderr] warning: you seem to want to iterate on a map's keys [INFO] [stderr] --> src/bot.rs:220:29 [INFO] [stderr] | [INFO] [stderr] 220 | for (name, _section) in val["reactions"].as_table().unwrap() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#for_kv_map [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::for_kv_map)] on by default [INFO] [stderr] help: use the corresponding method [INFO] [stderr] | [INFO] [stderr] 220 | for name in val["reactions"].as_table().unwrap().keys() { [INFO] [stderr] | ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#for_kv_map [INFO] [stderr] [INFO] [stderr] help: use the corresponding method [INFO] [stderr] | [INFO] [stderr] 220 | for name in val["reactions"].as_table().unwrap().keys() { [INFO] [stderr] | ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/bot.rs:238:12 [INFO] [stderr] | [INFO] [stderr] 238 | if trigger.len() > 0 && action.len() > 0 && occur >= 0 && occur <= 100 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!trigger.is_empty()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::len_zero)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/bot.rs:238:12 [INFO] [stderr] | [INFO] [stderr] 238 | if trigger.len() > 0 && action.len() > 0 && occur >= 0 && occur <= 100 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!trigger.is_empty()` [INFO] [stderr] | [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/bot.rs:238:33 [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::len_zero)] on by default [INFO] [stderr] 238 | if trigger.len() > 0 && action.len() > 0 && occur >= 0 && occur <= 100 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!action.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/bot.rs:238:33 [INFO] [stderr] | [INFO] [stderr] 238 | if trigger.len() > 0 && action.len() > 0 && occur >= 0 && occur <= 100 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!action.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 13.44s [INFO] running `"docker" "inspect" "2e4078388243bcab8a81e4798e400e42eca5f2450102ec355b7c3ff327963757"` [INFO] running `"docker" "rm" "-f" "2e4078388243bcab8a81e4798e400e42eca5f2450102ec355b7c3ff327963757"` [INFO] [stdout] 2e4078388243bcab8a81e4798e400e42eca5f2450102ec355b7c3ff327963757