[INFO] updating cached repository simias/psx-mctool [INFO] running `"git" "fetch" "--all"` [INFO] [stdout] Fetching origin [INFO] [stderr] From git://github.com/simias/psx-mctool [INFO] [stderr] * branch HEAD -> FETCH_HEAD [INFO] running `"git" "clone" "work/cache/sources/gh/simias/psx-mctool" "work/ex/clippy-test-run/sources/stable/gh/simias/psx-mctool"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable/gh/simias/psx-mctool'... [INFO] [stderr] done. [INFO] running `"git" "clone" "work/cache/sources/gh/simias/psx-mctool" "work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/simias/psx-mctool"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/simias/psx-mctool'... [INFO] [stderr] done. [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] d9087b290e817363ce63fae1232ca282efb3e6c7 [INFO] sha for GitHub repo simias/psx-mctool: d9087b290e817363ce63fae1232ca282efb3e6c7 [INFO] validating manifest of simias/psx-mctool 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 simias/psx-mctool 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 simias/psx-mctool [INFO] finished frobbing simias/psx-mctool [INFO] frobbed toml for simias/psx-mctool written to work/ex/clippy-test-run/sources/stable/gh/simias/psx-mctool/Cargo.toml [INFO] started frobbing simias/psx-mctool [INFO] finished frobbing simias/psx-mctool [INFO] frobbed toml for simias/psx-mctool written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/simias/psx-mctool/Cargo.toml [INFO] crate simias/psx-mctool 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 simias/psx-mctool 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-1/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/simias/psx-mctool:/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] 07f7a49a882ea957b5b39bc9d39e0e352b5d16e8c7edf787907d1a085b5e63be [INFO] running `"docker" "start" "-a" "07f7a49a882ea957b5b39bc9d39e0e352b5d16e8c7edf787907d1a085b5e63be"` [INFO] [stderr] Checking psx-mctool v0.1.0 (/opt/crater/workdir) [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/mc.rs:460:13 [INFO] [stderr] | [INFO] [stderr] 460 | number: number, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `number` [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/mc.rs:461:13 [INFO] [stderr] | [INFO] [stderr] 461 | metadata: metadata, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `metadata` [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/mc.rs:462:13 [INFO] [stderr] | [INFO] [stderr] 462 | data: data, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `data` [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/mc.rs:599:13 [INFO] [stderr] | [INFO] [stderr] 599 | number: number, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `number` [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/mc.rs:600:13 [INFO] [stderr] | [INFO] [stderr] 600 | metadata: metadata, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `metadata` [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/mc.rs:601:13 [INFO] [stderr] | [INFO] [stderr] 601 | data: data, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `data` [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/main.rs:33:5 [INFO] [stderr] | [INFO] [stderr] 33 | 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: using `println!("")` [INFO] [stderr] --> src/main.rs:108:9 [INFO] [stderr] | [INFO] [stderr] 108 | println!(""); [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `println!()` [INFO] [stderr] | [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/mc.rs:460:13 [INFO] [stderr] | [INFO] [stderr] 460 | number: number, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `number` [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/mc.rs:461:13 [INFO] [stderr] | [INFO] [stderr] 461 | metadata: metadata, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `metadata` [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/mc.rs:462:13 [INFO] [stderr] | [INFO] [stderr] 462 | data: data, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `data` [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/mc.rs:599:13 [INFO] [stderr] | [INFO] [stderr] 599 | number: number, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `number` [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/mc.rs:600:13 [INFO] [stderr] | [INFO] [stderr] 600 | metadata: metadata, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `metadata` [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/mc.rs:601:13 [INFO] [stderr] | [INFO] [stderr] 601 | data: data, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `data` [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/main.rs:33:5 [INFO] [stderr] | [INFO] [stderr] 33 | 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: using `println!("")` [INFO] [stderr] --> src/main.rs:108:9 [INFO] [stderr] | [INFO] [stderr] 108 | println!(""); [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `println!()` [INFO] [stderr] | [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: long literal lacking separators [INFO] [stderr] --> src/mc.rs:348:23 [INFO] [stderr] | [INFO] [stderr] 348 | if pos != 0xffffffff { [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0xffff_ffff` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unreadable_literal)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/mc.rs:348:23 [INFO] [stderr] | [INFO] [stderr] 348 | if pos != 0xffffffff { [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0xffff_ffff` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unreadable_literal)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/mc.rs:398:40 [INFO] [stderr] | [INFO] [stderr] 398 | let eos = s.find('\0').unwrap_or(s.len()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|| s.len())` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::or_fun_call)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/mc.rs:398:40 [INFO] [stderr] | [INFO] [stderr] 398 | let eos = s.find('\0').unwrap_or(s.len()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|| s.len())` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::or_fun_call)] on by default [INFO] [stderr] warning: you seem to be trying to match on a boolean expression [INFO] [stderr] --> src/mc.rs:621:13 [INFO] [stderr] | [INFO] [stderr] 621 | / match free { [INFO] [stderr] 622 | | true => 0xa0, [INFO] [stderr] 623 | | false => 0x50, [INFO] [stderr] 624 | | }; [INFO] [stderr] | |_____________^ help: consider using an if/else expression: `if free { 0xa0 } else { 0x50 }` [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] [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/mc.rs:653:21 [INFO] [stderr] | [INFO] [stderr] 653 | (b - 1) as u16 [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try: `u16::from(b - 1)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::cast_lossless)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to match on a boolean expression [INFO] [stderr] --> src/mc.rs:621:13 [INFO] [stderr] | [INFO] [stderr] 621 | / match free { [INFO] [stderr] 622 | | true => 0xa0, [INFO] [stderr] 623 | | false => 0x50, [INFO] [stderr] 624 | | }; [INFO] [stderr] | |_____________^ help: consider using an if/else expression: `if free { 0xa0 } else { 0x50 }` [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] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/mc.rs:653:21 [INFO] [stderr] | [INFO] [stderr] 653 | (b - 1) as u16 [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try: `u16::from(b - 1)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::cast_lossless)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u32 may become silently lossy if types change [INFO] [stderr] --> src/mc.rs:697:14 [INFO] [stderr] | [INFO] [stderr] 697 | let b0 = b[0] as u32; [INFO] [stderr] | ^^^^^^^^^^^ help: try: `u32::from(b[0])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u32 may become silently lossy if types change [INFO] [stderr] --> src/mc.rs:698:14 [INFO] [stderr] | [INFO] [stderr] 698 | let b1 = b[1] as u32; [INFO] [stderr] | ^^^^^^^^^^^ help: try: `u32::from(b[1])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u32 may become silently lossy if types change [INFO] [stderr] --> src/mc.rs:699:14 [INFO] [stderr] | [INFO] [stderr] 699 | let b2 = b[2] as u32; [INFO] [stderr] | ^^^^^^^^^^^ help: try: `u32::from(b[2])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u32 may become silently lossy if types change [INFO] [stderr] --> src/mc.rs:700:14 [INFO] [stderr] | [INFO] [stderr] 700 | let b3 = b[3] as u32; [INFO] [stderr] | ^^^^^^^^^^^ help: try: `u32::from(b[3])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u32 may become silently lossy if types change [INFO] [stderr] --> src/mc.rs:697:14 [INFO] [stderr] | [INFO] [stderr] 697 | let b0 = b[0] as u32; [INFO] [stderr] | ^^^^^^^^^^^ help: try: `u32::from(b[0])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u32 may become silently lossy if types change [INFO] [stderr] --> src/mc.rs:698:14 [INFO] [stderr] | [INFO] [stderr] 698 | let b1 = b[1] as u32; [INFO] [stderr] | ^^^^^^^^^^^ help: try: `u32::from(b[1])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u32 may become silently lossy if types change [INFO] [stderr] --> src/mc.rs:699:14 [INFO] [stderr] | [INFO] [stderr] 699 | let b2 = b[2] as u32; [INFO] [stderr] | ^^^^^^^^^^^ help: try: `u32::from(b[2])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u32 may become silently lossy if types change [INFO] [stderr] --> src/mc.rs:700:14 [INFO] [stderr] | [INFO] [stderr] 700 | let b3 = b[3] as u32; [INFO] [stderr] | ^^^^^^^^^^^ help: try: `u32::from(b[3])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/mc.rs:707:14 [INFO] [stderr] | [INFO] [stderr] 707 | let b0 = b[0] as u16; [INFO] [stderr] | ^^^^^^^^^^^ help: try: `u16::from(b[0])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/mc.rs:708:14 [INFO] [stderr] | [INFO] [stderr] 708 | let b1 = b[1] as u16; [INFO] [stderr] | ^^^^^^^^^^^ help: try: `u16::from(b[1])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/mc.rs:707:14 [INFO] [stderr] | [INFO] [stderr] 707 | let b0 = b[0] as u16; [INFO] [stderr] | ^^^^^^^^^^^ help: try: `u16::from(b[0])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/mc.rs:708:14 [INFO] [stderr] | [INFO] [stderr] 708 | let b1 = b[1] as u16; [INFO] [stderr] | ^^^^^^^^^^^ help: try: `u16::from(b[1])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/mc.rs:769:9 [INFO] [stderr] | [INFO] [stderr] 769 | / match self { [INFO] [stderr] 770 | | &Error::BadFileName(ref s) => [INFO] [stderr] 771 | | write!(f, "Invalid file name: {}", s), [INFO] [stderr] 772 | | &Error::OutOfFreeBlocks(need, have) => [INFO] [stderr] ... | [INFO] [stderr] 790 | | &Error::IoError(ref e) => write!(f, "{}", e), [INFO] [stderr] 791 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::match_ref_pats)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 769 | match *self { [INFO] [stderr] 770 | Error::BadFileName(ref s) => [INFO] [stderr] 771 | write!(f, "Invalid file name: {}", s), [INFO] [stderr] 772 | Error::OutOfFreeBlocks(need, have) => [INFO] [stderr] 773 | write!(f, "Not enough free blocks ({}/{})", need, have), [INFO] [stderr] 774 | Error::FileTooBig => [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: redundant pattern matching, consider using `is_err()` [INFO] [stderr] --> src/main.rs:26:12 [INFO] [stderr] | [INFO] [stderr] 26 | if let Err(_) = cmd(&args) { [INFO] [stderr] | _____- ^^^^^^ [INFO] [stderr] 27 | | exit(1); [INFO] [stderr] 28 | | } [INFO] [stderr] | |_____- help: try this: `if cmd(&args).is_err()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_pattern_matching)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/mc.rs:769:9 [INFO] [stderr] | [INFO] [stderr] 769 | / match self { [INFO] [stderr] 770 | | &Error::BadFileName(ref s) => [INFO] [stderr] 771 | | write!(f, "Invalid file name: {}", s), [INFO] [stderr] 772 | | &Error::OutOfFreeBlocks(need, have) => [INFO] [stderr] ... | [INFO] [stderr] 790 | | &Error::IoError(ref e) => write!(f, "{}", e), [INFO] [stderr] 791 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::match_ref_pats)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 769 | match *self { [INFO] [stderr] 770 | Error::BadFileName(ref s) => [INFO] [stderr] 771 | write!(f, "Invalid file name: {}", s), [INFO] [stderr] 772 | Error::OutOfFreeBlocks(need, have) => [INFO] [stderr] 773 | write!(f, "Not enough free blocks ({}/{})", need, have), [INFO] [stderr] 774 | Error::FileTooBig => [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: redundant pattern matching, consider using `is_err()` [INFO] [stderr] --> src/main.rs:26:12 [INFO] [stderr] | [INFO] [stderr] 26 | if let Err(_) = cmd(&args) { [INFO] [stderr] | _____- ^^^^^^ [INFO] [stderr] 27 | | exit(1); [INFO] [stderr] 28 | | } [INFO] [stderr] | |_____- help: try this: `if cmd(&args).is_err()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_pattern_matching)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: useless use of `format!` [INFO] [stderr] --> src/main.rs:132:21 [INFO] [stderr] | [INFO] [stderr] 132 | format!("bogus!") [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: consider using .to_string(): `"bogus!".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/method `write_all` doesn't need a mutable reference [INFO] [stderr] --> src/main.rs:287:33 [INFO] [stderr] | [INFO] [stderr] 287 | if let Err(e) = f.write_all(&mut data) { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unnecessary_mut_passed)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_mut_passed [INFO] [stderr] [INFO] [stderr] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stderr] --> src/main.rs:307:18 [INFO] [stderr] | [INFO] [stderr] 307 | static COMMANDS: [(&'static str, fn(&[String]) -> Result<(), ()>); 9] = [ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::type_complexity)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stderr] [INFO] [stderr] warning: useless use of `format!` [INFO] [stderr] --> src/main.rs:132:21 [INFO] [stderr] | [INFO] [stderr] 132 | format!("bogus!") [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: consider using .to_string(): `"bogus!".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/method `write_all` doesn't need a mutable reference [INFO] [stderr] --> src/main.rs:287:33 [INFO] [stderr] | [INFO] [stderr] 287 | if let Err(e) = f.write_all(&mut data) { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unnecessary_mut_passed)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_mut_passed [INFO] [stderr] [INFO] [stderr] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stderr] --> src/main.rs:307:18 [INFO] [stderr] | [INFO] [stderr] 307 | static COMMANDS: [(&'static str, fn(&[String]) -> Result<(), ()>); 9] = [ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::type_complexity)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stderr] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 1.18s [INFO] running `"docker" "inspect" "07f7a49a882ea957b5b39bc9d39e0e352b5d16e8c7edf787907d1a085b5e63be"` [INFO] running `"docker" "rm" "-f" "07f7a49a882ea957b5b39bc9d39e0e352b5d16e8c7edf787907d1a085b5e63be"` [INFO] [stdout] 07f7a49a882ea957b5b39bc9d39e0e352b5d16e8c7edf787907d1a085b5e63be