[INFO] updating cached repository chucksmash/schaching [INFO] running `"git" "fetch" "--all"` [INFO] [stdout] Fetching origin [INFO] [stderr] From git://github.com/chucksmash/schaching [INFO] [stderr] * branch HEAD -> FETCH_HEAD [INFO] running `"git" "clone" "work/cache/sources/gh/chucksmash/schaching" "work/ex/clippy-test-run/sources/stable/gh/chucksmash/schaching"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable/gh/chucksmash/schaching'... [INFO] [stderr] done. [INFO] running `"git" "clone" "work/cache/sources/gh/chucksmash/schaching" "work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/chucksmash/schaching"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/chucksmash/schaching'... [INFO] [stderr] done. [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] 6c28e2e4988413791ad4a4db533bcd360f96553a [INFO] sha for GitHub repo chucksmash/schaching: 6c28e2e4988413791ad4a4db533bcd360f96553a [INFO] validating manifest of chucksmash/schaching 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 chucksmash/schaching 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 chucksmash/schaching [INFO] finished frobbing chucksmash/schaching [INFO] frobbed toml for chucksmash/schaching written to work/ex/clippy-test-run/sources/stable/gh/chucksmash/schaching/Cargo.toml [INFO] started frobbing chucksmash/schaching [INFO] finished frobbing chucksmash/schaching [INFO] frobbed toml for chucksmash/schaching written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/chucksmash/schaching/Cargo.toml [INFO] crate chucksmash/schaching 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 chucksmash/schaching against stable for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-4/stable:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable/gh/chucksmash/schaching:/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" "-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] e891876b1e61718bacf7af65e36ba711e7ecaea67916e86d8ec7fb931bc14f25 [INFO] running `"docker" "start" "-a" "e891876b1e61718bacf7af65e36ba711e7ecaea67916e86d8ec7fb931bc14f25"` [INFO] [stderr] Checking termion v1.5.1 [INFO] [stderr] Checking regex v1.0.2 [INFO] [stderr] Checking schaching v0.1.0 (/opt/crater/workdir) [INFO] [stderr] warning: using `write!()` with a format string that ends in a single newline, consider using `writeln!()` instead [INFO] [stderr] --> src/main.rs:513:13 [INFO] [stderr] | [INFO] [stderr] 513 | / write!( [INFO] [stderr] 514 | | f, [INFO] [stderr] 515 | | "╔════════════════════════╗\n" [INFO] [stderr] 516 | | )?; [INFO] [stderr] | |_____________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::write_with_newline)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stderr] [INFO] [stderr] warning: using `write!()` with a format string that ends in a single newline, consider using `writeln!()` instead [INFO] [stderr] --> src/main.rs:522:17 [INFO] [stderr] | [INFO] [stderr] 522 | write!(f, "{}║\n", style::Reset)?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stderr] [INFO] [stderr] warning: using `write!()` with a format string that ends in a single newline, consider using `writeln!()` instead [INFO] [stderr] --> src/main.rs:524:13 [INFO] [stderr] | [INFO] [stderr] 524 | / write!( [INFO] [stderr] 525 | | f, [INFO] [stderr] 526 | | "╚════════════════════════╝\n" [INFO] [stderr] 527 | | ) [INFO] [stderr] | |_____________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stderr] [INFO] [stderr] warning: using `write!()` with a format string that ends in a single newline, consider using `writeln!()` instead [INFO] [stderr] --> src/main.rs:513:13 [INFO] [stderr] | [INFO] [stderr] 513 | / write!( [INFO] [stderr] 514 | | f, [INFO] [stderr] 515 | | "╔════════════════════════╗\n" [INFO] [stderr] 516 | | )?; [INFO] [stderr] | |_____________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::write_with_newline)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stderr] [INFO] [stderr] warning: using `write!()` with a format string that ends in a single newline, consider using `writeln!()` instead [INFO] [stderr] --> src/main.rs:522:17 [INFO] [stderr] | [INFO] [stderr] 522 | write!(f, "{}║\n", style::Reset)?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stderr] [INFO] [stderr] warning: using `write!()` with a format string that ends in a single newline, consider using `writeln!()` instead [INFO] [stderr] --> src/main.rs:524:13 [INFO] [stderr] | [INFO] [stderr] 524 | / write!( [INFO] [stderr] 525 | | f, [INFO] [stderr] 526 | | "╚════════════════════════╝\n" [INFO] [stderr] 527 | | ) [INFO] [stderr] | |_____________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stderr] [INFO] [stderr] warning: returning the result of a let binding from a block. Consider returning the expression directly. [INFO] [stderr] --> src/main.rs:469:13 [INFO] [stderr] | [INFO] [stderr] 469 | board [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::let_and_return)] on by default [INFO] [stderr] note: this expression can be directly returned [INFO] [stderr] --> src/main.rs:468:25 [INFO] [stderr] | [INFO] [stderr] 468 | let board = Board { squares }; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/main.rs:559:13 [INFO] [stderr] | [INFO] [stderr] 559 | return Ok(result); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Ok(result)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_return)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: returning the result of a let binding from a block. Consider returning the expression directly. [INFO] [stderr] --> src/main.rs:469:13 [INFO] [stderr] | [INFO] [stderr] 469 | board [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::let_and_return)] on by default [INFO] [stderr] note: this expression can be directly returned [INFO] [stderr] --> src/main.rs:468:25 [INFO] [stderr] | [INFO] [stderr] 468 | let board = Board { squares }; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/main.rs:559:13 [INFO] [stderr] | [INFO] [stderr] 559 | return Ok(result); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Ok(result)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_return)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: redundant closure found [INFO] [stderr] --> src/main.rs:41:18 [INFO] [stderr] | [INFO] [stderr] 41 | .map(|idx| Offset(idx)) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: remove closure as shown: `Offset` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_closure)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to match on a boolean expression [INFO] [stderr] --> src/main.rs:51:13 [INFO] [stderr] | [INFO] [stderr] 51 | / match found.len() == 1 { [INFO] [stderr] 52 | | true => { [INFO] [stderr] 53 | | // given the above regex matched, these unwraps are safe [INFO] [stderr] 54 | | let rank_chr = found[0]["rank"].chars().nth(0).unwrap(); [INFO] [stderr] ... | [INFO] [stderr] 60 | | false => Err(format!("Invalid algebraic notation: `{}`", s)), [INFO] [stderr] 61 | | } [INFO] [stderr] | |_____________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::match_bool)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_bool [INFO] [stderr] help: consider using an if/else expression [INFO] [stderr] | [INFO] [stderr] 51 | if found.len() == 1 { [INFO] [stderr] 52 | // given the above regex matched, these unwraps are safe [INFO] [stderr] 53 | let rank_chr = found[0]["rank"].chars().nth(0).unwrap(); [INFO] [stderr] 54 | let file_chr = found[0]["file"].chars().nth(0).unwrap(); [INFO] [stderr] 55 | let rank = Rank::new((rank_chr.to_digit(10).unwrap()) as usize)?; [INFO] [stderr] 56 | let file = File::new(file_chr)?; [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to match on a boolean expression [INFO] [stderr] --> src/main.rs:107:13 [INFO] [stderr] | [INFO] [stderr] 107 | / match c.is_ascii_lowercase() { [INFO] [stderr] 108 | | true => usize::from((c as u8) - ('a' as u8)) < NUM_FILES, [INFO] [stderr] 109 | | false => false, [INFO] [stderr] 110 | | } [INFO] [stderr] | |_____________^ help: consider using an if/else expression: `if c.is_ascii_lowercase() { usize::from((c as u8) - ('a' as u8)) < NUM_FILES } else { false }` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_bool [INFO] [stderr] [INFO] [stderr] warning: casting character literal to u8. `char`s are 4 bytes wide in rust, so casting to u8 truncates them [INFO] [stderr] --> src/main.rs:108:49 [INFO] [stderr] | [INFO] [stderr] 108 | true => usize::from((c as u8) - ('a' as u8)) < NUM_FILES, [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::char_lit_as_u8)] on by default [INFO] [stderr] = help: Consider using a byte literal instead: [INFO] [stderr] b'a' [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#char_lit_as_u8 [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to match on a boolean expression [INFO] [stderr] --> src/main.rs:114:13 [INFO] [stderr] | [INFO] [stderr] 114 | / match File::is_valid(file) { [INFO] [stderr] 115 | | true => Ok(File(file)), [INFO] [stderr] 116 | | false => Err(format!("`{}` not a valid file", file)), [INFO] [stderr] 117 | | } [INFO] [stderr] | |_____________^ help: consider using an if/else expression: `if File::is_valid(file) { Ok(File(file)) } else { Err(format!("`{}` not a valid file", file)) }` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_bool [INFO] [stderr] [INFO] [stderr] warning: casting character literal to u8. `char`s are 4 bytes wide in rust, so casting to u8 truncates them [INFO] [stderr] --> src/main.rs:137:31 [INFO] [stderr] | [INFO] [stderr] 137 | ((file.0 as u8) - 'a' as u8).into() [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Consider using a byte literal instead: [INFO] [stderr] b'a' [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#char_lit_as_u8 [INFO] [stderr] [INFO] [stderr] warning: casting character literal to u8. `char`s are 4 bytes wide in rust, so casting to u8 truncates them [INFO] [stderr] --> src/main.rs:188:49 [INFO] [stderr] | [INFO] [stderr] 188 | let file: char = ((row_num as u8) + 'a' as u8).into(); [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Consider using a byte literal instead: [INFO] [stderr] b'a' [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#char_lit_as_u8 [INFO] [stderr] [INFO] [stderr] warning: redundant closure found [INFO] [stderr] --> src/main.rs:291:57 [INFO] [stderr] | [INFO] [stderr] 291 | let expected: Vec<_> = (0..NUM_SQUARES).map(|i| Offset(i)).collect(); [INFO] [stderr] | ^^^^^^^^^^^^^ help: remove closure as shown: `Offset` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to match on a boolean expression [INFO] [stderr] --> src/main.rs:334:25 [INFO] [stderr] | [INFO] [stderr] 334 | let color = match fen.is_lowercase() { [INFO] [stderr] | _________________________^ [INFO] [stderr] 335 | | true => White, [INFO] [stderr] 336 | | false => Black, [INFO] [stderr] 337 | | }; [INFO] [stderr] | |_____________^ help: consider using an if/else expression: `if fen.is_lowercase() { White } else { Black }` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_bool [INFO] [stderr] [INFO] [stderr] warning: redundant closure found [INFO] [stderr] --> src/main.rs:41:18 [INFO] [stderr] | [INFO] [stderr] 41 | .map(|idx| Offset(idx)) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: remove closure as shown: `Offset` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_closure)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to match on a boolean expression [INFO] [stderr] --> src/main.rs:51:13 [INFO] [stderr] | [INFO] [stderr] 51 | / match found.len() == 1 { [INFO] [stderr] 52 | | true => { [INFO] [stderr] 53 | | // given the above regex matched, these unwraps are safe [INFO] [stderr] 54 | | let rank_chr = found[0]["rank"].chars().nth(0).unwrap(); [INFO] [stderr] ... | [INFO] [stderr] 60 | | false => Err(format!("Invalid algebraic notation: `{}`", s)), [INFO] [stderr] 61 | | } [INFO] [stderr] | |_____________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::match_bool)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_bool [INFO] [stderr] help: consider using an if/else expression [INFO] [stderr] | [INFO] [stderr] 51 | if found.len() == 1 { [INFO] [stderr] 52 | // given the above regex matched, these unwraps are safe [INFO] [stderr] 53 | let rank_chr = found[0]["rank"].chars().nth(0).unwrap(); [INFO] [stderr] 54 | let file_chr = found[0]["file"].chars().nth(0).unwrap(); [INFO] [stderr] 55 | let rank = Rank::new((rank_chr.to_digit(10).unwrap()) as usize)?; [INFO] [stderr] 56 | let file = File::new(file_chr)?; [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: redundant closure found [INFO] [stderr] --> src/main.rs:465:46 [INFO] [stderr] | [INFO] [stderr] 465 | for pos in get_all_offsets().map(|off| Position::from(off)) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove closure as shown: `Position::from` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to match on a boolean expression [INFO] [stderr] --> src/main.rs:107:13 [INFO] [stderr] | [INFO] [stderr] 107 | / match c.is_ascii_lowercase() { [INFO] [stderr] 108 | | true => usize::from((c as u8) - ('a' as u8)) < NUM_FILES, [INFO] [stderr] 109 | | false => false, [INFO] [stderr] 110 | | } [INFO] [stderr] | |_____________^ help: consider using an if/else expression: `if c.is_ascii_lowercase() { usize::from((c as u8) - ('a' as u8)) < NUM_FILES } else { false }` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_bool [INFO] [stderr] [INFO] [stderr] warning: casting character literal to u8. `char`s are 4 bytes wide in rust, so casting to u8 truncates them [INFO] [stderr] --> src/main.rs:108:49 [INFO] [stderr] | [INFO] [stderr] 108 | true => usize::from((c as u8) - ('a' as u8)) < NUM_FILES, [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::char_lit_as_u8)] on by default [INFO] [stderr] = help: Consider using a byte literal instead: [INFO] [stderr] b'a' [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#char_lit_as_u8 [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to match on a boolean expression [INFO] [stderr] --> src/main.rs:114:13 [INFO] [stderr] | [INFO] [stderr] 114 | / match File::is_valid(file) { [INFO] [stderr] 115 | | true => Ok(File(file)), [INFO] [stderr] 116 | | false => Err(format!("`{}` not a valid file", file)), [INFO] [stderr] 117 | | } [INFO] [stderr] | |_____________^ help: consider using an if/else expression: `if File::is_valid(file) { Ok(File(file)) } else { Err(format!("`{}` not a valid file", file)) }` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_bool [INFO] [stderr] [INFO] [stderr] warning: casting character literal to u8. `char`s are 4 bytes wide in rust, so casting to u8 truncates them [INFO] [stderr] --> src/main.rs:137:31 [INFO] [stderr] | [INFO] [stderr] 137 | ((file.0 as u8) - 'a' as u8).into() [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Consider using a byte literal instead: [INFO] [stderr] b'a' [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#char_lit_as_u8 [INFO] [stderr] [INFO] [stderr] warning: casting character literal to u8. `char`s are 4 bytes wide in rust, so casting to u8 truncates them [INFO] [stderr] --> src/main.rs:188:49 [INFO] [stderr] | [INFO] [stderr] 188 | let file: char = ((row_num as u8) + 'a' as u8).into(); [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Consider using a byte literal instead: [INFO] [stderr] b'a' [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#char_lit_as_u8 [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to match on a boolean expression [INFO] [stderr] --> src/main.rs:334:25 [INFO] [stderr] | [INFO] [stderr] 334 | let color = match fen.is_lowercase() { [INFO] [stderr] | _________________________^ [INFO] [stderr] 335 | | true => White, [INFO] [stderr] 336 | | false => Black, [INFO] [stderr] 337 | | }; [INFO] [stderr] | |_____________^ help: consider using an if/else expression: `if fen.is_lowercase() { White } else { Black }` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_bool [INFO] [stderr] [INFO] [stderr] warning: redundant closure found [INFO] [stderr] --> src/main.rs:465:46 [INFO] [stderr] | [INFO] [stderr] 465 | for pos in get_all_offsets().map(|off| Position::from(off)) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove closure as shown: `Position::from` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stderr] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 5.65s [INFO] running `"docker" "inspect" "e891876b1e61718bacf7af65e36ba711e7ecaea67916e86d8ec7fb931bc14f25"` [INFO] running `"docker" "rm" "-f" "e891876b1e61718bacf7af65e36ba711e7ecaea67916e86d8ec7fb931bc14f25"` [INFO] [stdout] e891876b1e61718bacf7af65e36ba711e7ecaea67916e86d8ec7fb931bc14f25