[INFO] updating cached repository darrenldl/rust-SeqBox [INFO] running `"git" "fetch" "--all"` [INFO] [stdout] Fetching origin [INFO] [stderr] From git://github.com/darrenldl/rust-SeqBox [INFO] [stderr] * branch HEAD -> FETCH_HEAD [INFO] running `"git" "clone" "work/cache/sources/gh/darrenldl/rust-SeqBox" "work/ex/clippy-test-run/sources/stable/gh/darrenldl/rust-SeqBox"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable/gh/darrenldl/rust-SeqBox'... [INFO] [stderr] done. [INFO] running `"git" "clone" "work/cache/sources/gh/darrenldl/rust-SeqBox" "work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/darrenldl/rust-SeqBox"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/darrenldl/rust-SeqBox'... [INFO] [stderr] done. [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] f1e35eae3911920494a15a2092b79a6c1bf365fa [INFO] sha for GitHub repo darrenldl/rust-SeqBox: f1e35eae3911920494a15a2092b79a6c1bf365fa [INFO] validating manifest of darrenldl/rust-SeqBox 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 darrenldl/rust-SeqBox 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 darrenldl/rust-SeqBox [INFO] finished frobbing darrenldl/rust-SeqBox [INFO] frobbed toml for darrenldl/rust-SeqBox written to work/ex/clippy-test-run/sources/stable/gh/darrenldl/rust-SeqBox/Cargo.toml [INFO] started frobbing darrenldl/rust-SeqBox [INFO] finished frobbing darrenldl/rust-SeqBox [INFO] frobbed toml for darrenldl/rust-SeqBox written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/darrenldl/rust-SeqBox/Cargo.toml [INFO] crate darrenldl/rust-SeqBox 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] [stderr] Blocking waiting for file lock on the registry index [INFO] linting darrenldl/rust-SeqBox against stable for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-3/stable:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable/gh/darrenldl/rust-SeqBox:/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] 5e4b6c550c80a0889326a06ceca434df1c5cc35aafbc74e3574e5c2b296c53f7 [INFO] running `"docker" "start" "-a" "5e4b6c550c80a0889326a06ceca434df1c5cc35aafbc74e3574e5c2b296c53f7"` [INFO] [stderr] Compiling rsbx v2.0.0 (/opt/crater/workdir) [INFO] [stderr] Checking cty v0.1.5 [INFO] [stderr] Compiling blake2_c v0.3.3 [INFO] [stderr] Compiling reed-solomon-erasure v3.1.1 [INFO] [stderr] Checking nix v0.11.0 [INFO] [stderr] Checking nom v4.1.1 [INFO] [stderr] Checking rayon-core v1.4.1 [INFO] [stderr] Checking block-buffer v0.7.1 [INFO] [stderr] Checking env_logger v0.5.13 [INFO] [stderr] Checking sha-1 v0.8.1 [INFO] [stderr] Checking sha2 v0.8.0 [INFO] [stderr] Checking rayon v1.0.3 [INFO] [stderr] Checking quickcheck v0.7.2 [INFO] [stderr] Checking ctrlc v3.1.1 [INFO] [stderr] warning: using `writeln!(f, "")` [INFO] [stderr] --> src/rs_codec/repairer.rs:121:29 [INFO] [stderr] | [INFO] [stderr] 121 | writeln!(f, "")?; [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: replace it with: `writeln!(f)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::writeln_empty_string)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#writeln_empty_string [INFO] [stderr] [INFO] [stderr] warning: using `writeln!(f, "")` [INFO] [stderr] --> src/rs_codec/repairer.rs:121:29 [INFO] [stderr] | [INFO] [stderr] 121 | writeln!(f, "")?; [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: replace it with: `writeln!(f)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::writeln_empty_string)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#writeln_empty_string [INFO] [stderr] [INFO] [stderr] warning: returning the result of a let binding from a block. Consider returning the expression directly. [INFO] [stderr] --> src/sbx_block/metadata.rs:330:5 [INFO] [stderr] | [INFO] [stderr] 330 | res [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/sbx_block/metadata.rs:319:9 [INFO] [stderr] | [INFO] [stderr] 319 | / match (rsd, rsp) { [INFO] [stderr] 320 | | (Some(d), Some(p)) if d + p > 256 => { [INFO] [stderr] 321 | | // remove all RSD and RSP fields [INFO] [stderr] 322 | | res.into_iter() [INFO] [stderr] ... | [INFO] [stderr] 327 | | (..) => res [INFO] [stderr] 328 | | }; [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: returning the result of a let binding from a block. Consider returning the expression directly. [INFO] [stderr] --> src/sbx_block/mod.rs:378:13 [INFO] [stderr] | [INFO] [stderr] 378 | new_index [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: this expression can be directly returned [INFO] [stderr] --> src/sbx_block/mod.rs:370:17 [INFO] [stderr] | [INFO] [stderr] 370 | / meta_block_count [INFO] [stderr] 371 | | [INFO] [stderr] 372 | | // index of start of super block set [INFO] [stderr] 373 | | + (super_block_set_size * super_block_set_index) [INFO] [stderr] 374 | | [INFO] [stderr] 375 | | // index inside the super block set [INFO] [stderr] 376 | | + new_index_in_super_block_set; [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: this `else { if .. }` block can be collapsed [INFO] [stderr] --> src/rs_codec/repairer.rs:97:16 [INFO] [stderr] | [INFO] [stderr] 97 | } else { [INFO] [stderr] | ________________^ [INFO] [stderr] 98 | | if self.missing_count > 0 { [INFO] [stderr] 99 | | if self.successful { [INFO] [stderr] 100 | | write!(f, "Repair successful for ")?; [INFO] [stderr] ... | [INFO] [stderr] 141 | | } [INFO] [stderr] 142 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::collapsible_if)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 97 | } else if self.missing_count > 0 { [INFO] [stderr] 98 | if self.successful { [INFO] [stderr] 99 | write!(f, "Repair successful for ")?; [INFO] [stderr] 100 | } else { [INFO] [stderr] 101 | write!(f, "Repair failed for ")?; [INFO] [stderr] 102 | } [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: this `else { if .. }` block can be collapsed [INFO] [stderr] --> src/decode_core.rs:767:32 [INFO] [stderr] | [INFO] [stderr] 767 | } else { [INFO] [stderr] | ________________________________^ [INFO] [stderr] 768 | | if sbx_block::seq_num_is_meta(seq_num) { [INFO] [stderr] 769 | | stats.lock().unwrap().incre_meta_blocks_failed(); [INFO] [stderr] 770 | | } else { [INFO] [stderr] ... | [INFO] [stderr] 778 | | } [INFO] [stderr] 779 | | } [INFO] [stderr] | |_________________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 767 | } else if sbx_block::seq_num_is_meta(seq_num) { [INFO] [stderr] 768 | stats.lock().unwrap().incre_meta_blocks_failed(); [INFO] [stderr] 769 | } else { [INFO] [stderr] 770 | stats.lock().unwrap().incre_data_blocks_failed(); [INFO] [stderr] 771 | [INFO] [stderr] 772 | write_blank_chunk(is_last_data_block(&stats, total_data_chunk_count), [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: this `else { if .. }` block can be collapsed [INFO] [stderr] --> src/decode_core.rs:805:12 [INFO] [stderr] | [INFO] [stderr] 805 | } else { [INFO] [stderr] | ____________^ [INFO] [stderr] 806 | | if !json_printer.json_enabled() { [INFO] [stderr] 807 | | print_block!(json_printer.output_channel() => [INFO] [stderr] 808 | | ""; [INFO] [stderr] ... | [INFO] [stderr] 814 | | } [INFO] [stderr] 815 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 805 | } else if !json_printer.json_enabled() { [INFO] [stderr] 806 | print_block!(json_printer.output_channel() => [INFO] [stderr] 807 | ""; [INFO] [stderr] 808 | "Warning :"; [INFO] [stderr] 809 | ""; [INFO] [stderr] 810 | " Reference block is not a metadata block, output file"; [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: this if statement can be collapsed [INFO] [stderr] --> src/decode_core.rs:942:9 [INFO] [stderr] | [INFO] [stderr] 942 | / if !param.force_write { [INFO] [stderr] 943 | | if file_utils::check_if_file_exists(out_file_path) { [INFO] [stderr] 944 | | return Err(Error::with_message(&format!("File \"{}\" already exists", [INFO] [stderr] 945 | | out_file_path))); [INFO] [stderr] 946 | | } [INFO] [stderr] 947 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 942 | if !param.force_write && file_utils::check_if_file_exists(out_file_path) { [INFO] [stderr] 943 | return Err(Error::with_message(&format!("File \"{}\" already exists", [INFO] [stderr] 944 | out_file_path))); [INFO] [stderr] 945 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: this `else { if .. }` block can be collapsed [INFO] [stderr] --> src/repair_core.rs:112:16 [INFO] [stderr] | [INFO] [stderr] 112 | } else { [INFO] [stderr] | ________________^ [INFO] [stderr] 113 | | if self.data_or_par_blocks_repair_failed == 0 { [INFO] [stderr] 114 | | write_if!(not_json => f, json_printer => "All corrupted/missing blocks were repaired successfully";)?; [INFO] [stderr] 115 | | } else { [INFO] [stderr] ... | [INFO] [stderr] 121 | | } [INFO] [stderr] 122 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 112 | } else if self.data_or_par_blocks_repair_failed == 0 { [INFO] [stderr] 113 | write_if!(not_json => f, json_printer => "All corrupted/missing blocks were repaired successfully";)?; [INFO] [stderr] 114 | } else { [INFO] [stderr] 115 | if self.blocks_decode_failed == self.data_or_par_blocks_repair_failed { [INFO] [stderr] 116 | write_if!(not_json => f, json_printer => "All repairs failed";)?; [INFO] [stderr] 117 | } else { [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: this `else { if .. }` block can be collapsed [INFO] [stderr] --> src/repair_core.rs:115:20 [INFO] [stderr] | [INFO] [stderr] 115 | } else { [INFO] [stderr] | ____________________^ [INFO] [stderr] 116 | | if self.blocks_decode_failed == self.data_or_par_blocks_repair_failed { [INFO] [stderr] 117 | | write_if!(not_json => f, json_printer => "All repairs failed";)?; [INFO] [stderr] 118 | | } else { [INFO] [stderr] 119 | | write_if!(not_json => f, json_printer => "Some repairs failed";)?; [INFO] [stderr] 120 | | } [INFO] [stderr] 121 | | } [INFO] [stderr] | |_____________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 115 | } else if self.blocks_decode_failed == self.data_or_par_blocks_repair_failed { [INFO] [stderr] 116 | write_if!(not_json => f, json_printer => "All repairs failed";)?; [INFO] [stderr] 117 | } else { [INFO] [stderr] 118 | write_if!(not_json => f, json_printer => "Some repairs failed";)?; [INFO] [stderr] 119 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: this `else { if .. }` block can be collapsed [INFO] [stderr] --> src/repair_core.rs:175:12 [INFO] [stderr] | [INFO] [stderr] 175 | } else { [INFO] [stderr] | ____________^ [INFO] [stderr] 176 | | if block.get_seq_num() != cur_seq_num { [INFO] [stderr] 177 | | stats.lock().unwrap().blocks_decode_failed += 1; [INFO] [stderr] 178 | | rs_codec.mark_missing() [INFO] [stderr] ... | [INFO] [stderr] 187 | | } [INFO] [stderr] 188 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 175 | } else if block.get_seq_num() != cur_seq_num { [INFO] [stderr] 176 | stats.lock().unwrap().blocks_decode_failed += 1; [INFO] [stderr] 177 | rs_codec.mark_missing() [INFO] [stderr] 178 | } else { [INFO] [stderr] 179 | if block.is_meta() { [INFO] [stderr] 180 | stats.lock().unwrap().meta_blocks_decoded += 1; [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/progress_report.rs:404:13 [INFO] [stderr] | [INFO] [stderr] 404 | 0.000000001 [INFO] [stderr] | ^^^^^^^^^^^ help: consider: `0.000_000_001` [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: inconsistent casing in hexadecimal literal [INFO] [stderr] --> src/crc_ccitt.rs:73:38 [INFO] [stderr] | [INFO] [stderr] 73 | assert_eq!(crc_ccitt_generic(0x1D0f, b"a", ), 0xB01B); [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::mixed_case_hex_literals)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#mixed_case_hex_literals [INFO] [stderr] [INFO] [stderr] warning: inconsistent casing in hexadecimal literal [INFO] [stderr] --> src/crc_ccitt.rs:74:38 [INFO] [stderr] | [INFO] [stderr] 74 | assert_eq!(crc_ccitt_generic(0x1D0f, b"abcd"), 0xA626); [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#mixed_case_hex_literals [INFO] [stderr] [INFO] [stderr] warning: inconsistent casing in hexadecimal literal [INFO] [stderr] --> src/crc_ccitt.rs:75:38 [INFO] [stderr] | [INFO] [stderr] 75 | assert_eq!(crc_ccitt_generic(0x1D0f, b"0"), 0xFACF); [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#mixed_case_hex_literals [INFO] [stderr] [INFO] [stderr] warning: inconsistent casing in hexadecimal literal [INFO] [stderr] --> src/crc_ccitt.rs:76:38 [INFO] [stderr] | [INFO] [stderr] 76 | assert_eq!(crc_ccitt_generic(0x1D0f, b"0123"), 0xB5AB); [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#mixed_case_hex_literals [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/file_utils_tests.rs:425:20 [INFO] [stderr] | [INFO] [stderr] 425 | assert_eq!(2066432, calc_container_size(Version::V17, None, Some((1, 1, 1)), 1_000_000)); [INFO] [stderr] | ^^^^^^^ help: consider: `2_066_432` [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/file_utils_tests.rs:426:20 [INFO] [stderr] | [INFO] [stderr] 426 | assert_eq!(2286080, calc_container_size(Version::V18, None, Some((1, 1, 1)), 1_000_000)); [INFO] [stderr] | ^^^^^^^ help: consider: `2_286_080` [INFO] [stderr] | [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/file_utils_tests.rs:427:20 [INFO] [stderr] | [INFO] [stderr] 427 | assert_eq!(2023424, calc_container_size(Version::V19, None, Some((1, 1, 1)), 1_000_000)); [INFO] [stderr] | ^^^^^^^ help: consider: `2_023_424` [INFO] [stderr] | [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/file_utils_tests.rs:431:20 [INFO] [stderr] | [INFO] [stderr] 431 | assert_eq!(102400, calc_container_size(Version::V19, None, Some((11, 3, 7)), 0)); [INFO] [stderr] | ^^^^^^ help: consider: `102_400` [INFO] [stderr] | [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/file_utils_tests.rs:435:20 [INFO] [stderr] | [INFO] [stderr] 435 | assert_eq!(393216, calc_container_size(Version::V19, None, Some((11, 3, 7)), 1)); [INFO] [stderr] | ^^^^^^ help: consider: `393_216` [INFO] [stderr] | [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/file_utils_tests.rs:439:20 [INFO] [stderr] | [INFO] [stderr] 439 | assert_eq!(393216, calc_container_size(Version::V19, None, Some((11, 3, 7)), 1024)); [INFO] [stderr] | ^^^^^^ help: consider: `393_216` [INFO] [stderr] | [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/file_utils_tests.rs:443:20 [INFO] [stderr] | [INFO] [stderr] 443 | assert_eq!(393216, calc_container_size(Version::V19, None, Some((11, 3, 7)), 5000)); [INFO] [stderr] | ^^^^^^ help: consider: `393_216` [INFO] [stderr] | [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/file_utils_tests.rs:447:20 [INFO] [stderr] | [INFO] [stderr] 447 | assert_eq!(393216, calc_container_size(Version::V19, None, Some((11, 3, 7)), 13000)); [INFO] [stderr] | ^^^^^^ help: consider: `393_216` [INFO] [stderr] | [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/file_utils_tests.rs:449:20 [INFO] [stderr] | [INFO] [stderr] 449 | assert_eq!(1354240, calc_container_size(Version::V17, None, Some((11, 3, 7)), 1_000_000)); [INFO] [stderr] | ^^^^^^^ help: consider: `1_354_240` [INFO] [stderr] | [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/file_utils_tests.rs:450:20 [INFO] [stderr] | [INFO] [stderr] 450 | assert_eq!(1455616, calc_container_size(Version::V18, None, Some((11, 3, 7)), 1_000_000)); [INFO] [stderr] | ^^^^^^^ help: consider: `1_455_616` [INFO] [stderr] | [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/file_utils_tests.rs:451:20 [INFO] [stderr] | [INFO] [stderr] 451 | assert_eq!(1601536, calc_container_size(Version::V19, None, Some((11, 3, 7)), 1_000_000)); [INFO] [stderr] | ^^^^^^^ help: consider: `1_601_536` [INFO] [stderr] | [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/file_utils_tests.rs:453:20 [INFO] [stderr] | [INFO] [stderr] 453 | assert_eq!(38133760, calc_container_size(Version::V17, None, Some((11, 3, 7)), 29_000_000)); [INFO] [stderr] | ^^^^^^^^ help: consider: `38_133_760` [INFO] [stderr] | [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/file_utils_tests.rs:454:20 [INFO] [stderr] | [INFO] [stderr] 454 | assert_eq!(42185728, calc_container_size(Version::V18, None, Some((11, 3, 7)), 29_000_000)); [INFO] [stderr] | ^^^^^^^^ help: consider: `42_185_728` [INFO] [stderr] | [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/file_utils_tests.rs:455:20 [INFO] [stderr] | [INFO] [stderr] 455 | assert_eq!(37330944, calc_container_size(Version::V19, None, Some((11, 3, 7)), 29_000_000)); [INFO] [stderr] | ^^^^^^^^ help: consider: `37_330_944` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: returning the result of a let binding from a block. Consider returning the expression directly. [INFO] [stderr] --> src/sbx_block/metadata.rs:330:5 [INFO] [stderr] | [INFO] [stderr] 330 | res [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/sbx_block/metadata.rs:319:9 [INFO] [stderr] | [INFO] [stderr] 319 | / match (rsd, rsp) { [INFO] [stderr] 320 | | (Some(d), Some(p)) if d + p > 256 => { [INFO] [stderr] 321 | | // remove all RSD and RSP fields [INFO] [stderr] 322 | | res.into_iter() [INFO] [stderr] ... | [INFO] [stderr] 327 | | (..) => res [INFO] [stderr] 328 | | }; [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: this is a decimal constant [INFO] [stderr] --> src/sbx_block/tests.rs:60:18 [INFO] [stderr] | [INFO] [stderr] 60 | [00, 01, 06, 11, 16, [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::zero_prefixed_literal)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#zero_prefixed_literal [INFO] [stderr] help: if you mean to use a decimal constant, remove the `0` to remove confusion [INFO] [stderr] | [INFO] [stderr] 60 | [00, 1, 06, 11, 16, [INFO] [stderr] | ^ [INFO] [stderr] help: if you mean to use an octal constant, use `0o` [INFO] [stderr] | [INFO] [stderr] 60 | [00, 0o1, 06, 11, 16, [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: this is a decimal constant [INFO] [stderr] --> src/sbx_block/tests.rs:60:22 [INFO] [stderr] | [INFO] [stderr] 60 | [00, 01, 06, 11, 16, [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#zero_prefixed_literal [INFO] [stderr] help: if you mean to use a decimal constant, remove the `0` to remove confusion [INFO] [stderr] | [INFO] [stderr] 60 | [00, 01, 6, 11, 16, [INFO] [stderr] | ^ [INFO] [stderr] help: if you mean to use an octal constant, use `0o` [INFO] [stderr] | [INFO] [stderr] 60 | [00, 01, 0o6, 11, 16, [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: this is a decimal constant [INFO] [stderr] --> src/sbx_block/tests.rs:61:18 [INFO] [stderr] | [INFO] [stderr] 61 | 00, 02, 07, 12, 17, [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#zero_prefixed_literal [INFO] [stderr] help: if you mean to use a decimal constant, remove the `0` to remove confusion [INFO] [stderr] | [INFO] [stderr] 61 | 00, 2, 07, 12, 17, [INFO] [stderr] | ^ [INFO] [stderr] help: if you mean to use an octal constant, use `0o` [INFO] [stderr] | [INFO] [stderr] 61 | 00, 0o2, 07, 12, 17, [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: this is a decimal constant [INFO] [stderr] --> src/sbx_block/tests.rs:61:22 [INFO] [stderr] | [INFO] [stderr] 61 | 00, 02, 07, 12, 17, [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#zero_prefixed_literal [INFO] [stderr] help: if you mean to use a decimal constant, remove the `0` to remove confusion [INFO] [stderr] | [INFO] [stderr] 61 | 00, 02, 7, 12, 17, [INFO] [stderr] | ^ [INFO] [stderr] help: if you mean to use an octal constant, use `0o` [INFO] [stderr] | [INFO] [stderr] 61 | 00, 02, 0o7, 12, 17, [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: this is a decimal constant [INFO] [stderr] --> src/sbx_block/tests.rs:62:18 [INFO] [stderr] | [INFO] [stderr] 62 | 00, 03, 08, 13, 18, [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#zero_prefixed_literal [INFO] [stderr] help: if you mean to use a decimal constant, remove the `0` to remove confusion [INFO] [stderr] | [INFO] [stderr] 62 | 00, 3, 08, 13, 18, [INFO] [stderr] | ^ [INFO] [stderr] help: if you mean to use an octal constant, use `0o` [INFO] [stderr] | [INFO] [stderr] 62 | 00, 0o3, 08, 13, 18, [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: this is a decimal constant [INFO] [stderr] --> src/sbx_block/tests.rs:62:22 [INFO] [stderr] | [INFO] [stderr] 62 | 00, 03, 08, 13, 18, [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#zero_prefixed_literal [INFO] [stderr] help: if you mean to use a decimal constant, remove the `0` to remove confusion [INFO] [stderr] | [INFO] [stderr] 62 | 00, 03, 8, 13, 18, [INFO] [stderr] | ^ [INFO] [stderr] help: if you mean to use an octal constant, use `0o` [INFO] [stderr] | [INFO] [stderr] 62 | 00, 03, 0o8, 13, 18, [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: this is a decimal constant [INFO] [stderr] --> src/sbx_block/tests.rs:63:14 [INFO] [stderr] | [INFO] [stderr] 63 | 04, 09, 14, 19, [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#zero_prefixed_literal [INFO] [stderr] help: if you mean to use a decimal constant, remove the `0` to remove confusion [INFO] [stderr] | [INFO] [stderr] 63 | 4, 09, 14, 19, [INFO] [stderr] | ^ [INFO] [stderr] help: if you mean to use an octal constant, use `0o` [INFO] [stderr] | [INFO] [stderr] 63 | 0o4, 09, 14, 19, [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: this is a decimal constant [INFO] [stderr] --> src/sbx_block/tests.rs:63:18 [INFO] [stderr] | [INFO] [stderr] 63 | 04, 09, 14, 19, [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#zero_prefixed_literal [INFO] [stderr] help: if you mean to use a decimal constant, remove the `0` to remove confusion [INFO] [stderr] | [INFO] [stderr] 63 | 04, 9, 14, 19, [INFO] [stderr] | ^ [INFO] [stderr] help: if you mean to use an octal constant, use `0o` [INFO] [stderr] | [INFO] [stderr] 63 | 04, 0o9, 14, 19, [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: this is a decimal constant [INFO] [stderr] --> src/sbx_block/tests.rs:64:14 [INFO] [stderr] | [INFO] [stderr] 64 | 05, 10, 15, 20, [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#zero_prefixed_literal [INFO] [stderr] help: if you mean to use a decimal constant, remove the `0` to remove confusion [INFO] [stderr] | [INFO] [stderr] 64 | 5, 10, 15, 20, [INFO] [stderr] | ^ [INFO] [stderr] help: if you mean to use an octal constant, use `0o` [INFO] [stderr] | [INFO] [stderr] 64 | 0o5, 10, 15, 20, [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: this is a decimal constant [INFO] [stderr] --> src/sbx_block/tests.rs:105:18 [INFO] [stderr] | [INFO] [stderr] 105 | [00, 01, 03, [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#zero_prefixed_literal [INFO] [stderr] help: if you mean to use a decimal constant, remove the `0` to remove confusion [INFO] [stderr] | [INFO] [stderr] 105 | [00, 1, 03, [INFO] [stderr] | ^ [INFO] [stderr] help: if you mean to use an octal constant, use `0o` [INFO] [stderr] | [INFO] [stderr] 105 | [00, 0o1, 03, [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: this is a decimal constant [INFO] [stderr] --> src/sbx_block/tests.rs:105:22 [INFO] [stderr] | [INFO] [stderr] 105 | [00, 01, 03, [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#zero_prefixed_literal [INFO] [stderr] help: if you mean to use a decimal constant, remove the `0` to remove confusion [INFO] [stderr] | [INFO] [stderr] 105 | [00, 01, 3, [INFO] [stderr] | ^ [INFO] [stderr] help: if you mean to use an octal constant, use `0o` [INFO] [stderr] | [INFO] [stderr] 105 | [00, 01, 0o3, [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: this is a decimal constant [INFO] [stderr] --> src/sbx_block/tests.rs:106:18 [INFO] [stderr] | [INFO] [stderr] 106 | 00, 02, 04, [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#zero_prefixed_literal [INFO] [stderr] help: if you mean to use a decimal constant, remove the `0` to remove confusion [INFO] [stderr] | [INFO] [stderr] 106 | 00, 2, 04, [INFO] [stderr] | ^ [INFO] [stderr] help: if you mean to use an octal constant, use `0o` [INFO] [stderr] | [INFO] [stderr] 106 | 00, 0o2, 04, [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: this is a decimal constant [INFO] [stderr] --> src/sbx_block/tests.rs:106:22 [INFO] [stderr] | [INFO] [stderr] 106 | 00, 02, 04, [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#zero_prefixed_literal [INFO] [stderr] help: if you mean to use a decimal constant, remove the `0` to remove confusion [INFO] [stderr] | [INFO] [stderr] 106 | 00, 02, 4, [INFO] [stderr] | ^ [INFO] [stderr] help: if you mean to use an octal constant, use `0o` [INFO] [stderr] | [INFO] [stderr] 106 | 00, 02, 0o4, [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: this is a decimal constant [INFO] [stderr] --> src/sbx_block/tests.rs:108:14 [INFO] [stderr] | [INFO] [stderr] 108 | 05, 07, [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#zero_prefixed_literal [INFO] [stderr] help: if you mean to use a decimal constant, remove the `0` to remove confusion [INFO] [stderr] | [INFO] [stderr] 108 | 5, 07, [INFO] [stderr] | ^ [INFO] [stderr] help: if you mean to use an octal constant, use `0o` [INFO] [stderr] | [INFO] [stderr] 108 | 0o5, 07, [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: this is a decimal constant [INFO] [stderr] --> src/sbx_block/tests.rs:108:18 [INFO] [stderr] | [INFO] [stderr] 108 | 05, 07, [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#zero_prefixed_literal [INFO] [stderr] help: if you mean to use a decimal constant, remove the `0` to remove confusion [INFO] [stderr] | [INFO] [stderr] 108 | 05, 7, [INFO] [stderr] | ^ [INFO] [stderr] help: if you mean to use an octal constant, use `0o` [INFO] [stderr] | [INFO] [stderr] 108 | 05, 0o7, [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: this is a decimal constant [INFO] [stderr] --> src/sbx_block/tests.rs:109:14 [INFO] [stderr] | [INFO] [stderr] 109 | 06, 08, [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#zero_prefixed_literal [INFO] [stderr] help: if you mean to use a decimal constant, remove the `0` to remove confusion [INFO] [stderr] | [INFO] [stderr] 109 | 6, 08, [INFO] [stderr] | ^ [INFO] [stderr] help: if you mean to use an octal constant, use `0o` [INFO] [stderr] | [INFO] [stderr] 109 | 0o6, 08, [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: this is a decimal constant [INFO] [stderr] --> src/sbx_block/tests.rs:109:18 [INFO] [stderr] | [INFO] [stderr] 109 | 06, 08, [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#zero_prefixed_literal [INFO] [stderr] help: if you mean to use a decimal constant, remove the `0` to remove confusion [INFO] [stderr] | [INFO] [stderr] 109 | 06, 8, [INFO] [stderr] | ^ [INFO] [stderr] help: if you mean to use an octal constant, use `0o` [INFO] [stderr] | [INFO] [stderr] 109 | 06, 0o8, [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: this is a decimal constant [INFO] [stderr] --> src/sbx_block/tests.rs:111:14 [INFO] [stderr] | [INFO] [stderr] 111 | 09, 11, [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#zero_prefixed_literal [INFO] [stderr] help: if you mean to use a decimal constant, remove the `0` to remove confusion [INFO] [stderr] | [INFO] [stderr] 111 | 9, 11, [INFO] [stderr] | ^ [INFO] [stderr] help: if you mean to use an octal constant, use `0o` [INFO] [stderr] | [INFO] [stderr] 111 | 0o9, 11, [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: this is a decimal constant [INFO] [stderr] --> src/sbx_block/tests.rs:153:18 [INFO] [stderr] | [INFO] [stderr] 153 | [00, 01, 13, 25, 37, 49, 61, 73, 85, 97, 109, 121, [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#zero_prefixed_literal [INFO] [stderr] help: if you mean to use a decimal constant, remove the `0` to remove confusion [INFO] [stderr] | [INFO] [stderr] 153 | [00, 1, 13, 25, 37, 49, 61, 73, 85, 97, 109, 121, [INFO] [stderr] | ^ [INFO] [stderr] help: if you mean to use an octal constant, use `0o` [INFO] [stderr] | [INFO] [stderr] 153 | [00, 0o1, 13, 25, 37, 49, 61, 73, 85, 97, 109, 121, [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: this is a decimal constant [INFO] [stderr] --> src/sbx_block/tests.rs:154:18 [INFO] [stderr] | [INFO] [stderr] 154 | 00, 02, 14, 26, 38, 50, 62, 74, 86, 98, 110, 122, [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#zero_prefixed_literal [INFO] [stderr] help: if you mean to use a decimal constant, remove the `0` to remove confusion [INFO] [stderr] | [INFO] [stderr] 154 | 00, 2, 14, 26, 38, 50, 62, 74, 86, 98, 110, 122, [INFO] [stderr] | ^ [INFO] [stderr] help: if you mean to use an octal constant, use `0o` [INFO] [stderr] | [INFO] [stderr] 154 | 00, 0o2, 14, 26, 38, 50, 62, 74, 86, 98, 110, 122, [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: this is a decimal constant [INFO] [stderr] --> src/sbx_block/tests.rs:155:18 [INFO] [stderr] | [INFO] [stderr] 155 | 00, 03, 15, 27, 39, 51, 63, 75, 87, 99, 111, 123, [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#zero_prefixed_literal [INFO] [stderr] help: if you mean to use a decimal constant, remove the `0` to remove confusion [INFO] [stderr] | [INFO] [stderr] 155 | 00, 3, 15, 27, 39, 51, 63, 75, 87, 99, 111, 123, [INFO] [stderr] | ^ [INFO] [stderr] help: if you mean to use an octal constant, use `0o` [INFO] [stderr] | [INFO] [stderr] 155 | 00, 0o3, 15, 27, 39, 51, 63, 75, 87, 99, 111, 123, [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: this is a decimal constant [INFO] [stderr] --> src/sbx_block/tests.rs:156:14 [INFO] [stderr] | [INFO] [stderr] 156 | 04, 16, 28, 40, 52, 64, 76, 88, 100, 112, 124, [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#zero_prefixed_literal [INFO] [stderr] help: if you mean to use a decimal constant, remove the `0` to remove confusion [INFO] [stderr] | [INFO] [stderr] 156 | 4, 16, 28, 40, 52, 64, 76, 88, 100, 112, 124, [INFO] [stderr] | ^ [INFO] [stderr] help: if you mean to use an octal constant, use `0o` [INFO] [stderr] | [INFO] [stderr] 156 | 0o4, 16, 28, 40, 52, 64, 76, 88, 100, 112, 124, [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: this is a decimal constant [INFO] [stderr] --> src/sbx_block/tests.rs:157:14 [INFO] [stderr] | [INFO] [stderr] 157 | 05, 17, 29, 41, 53, 65, 77, 89, 101, 113, 125, [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#zero_prefixed_literal [INFO] [stderr] help: if you mean to use a decimal constant, remove the `0` to remove confusion [INFO] [stderr] | [INFO] [stderr] 157 | 5, 17, 29, 41, 53, 65, 77, 89, 101, 113, 125, [INFO] [stderr] | ^ [INFO] [stderr] help: if you mean to use an octal constant, use `0o` [INFO] [stderr] | [INFO] [stderr] 157 | 0o5, 17, 29, 41, 53, 65, 77, 89, 101, 113, 125, [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: this is a decimal constant [INFO] [stderr] --> src/sbx_block/tests.rs:158:14 [INFO] [stderr] | [INFO] [stderr] 158 | 06, 18, 30, 42, 54, 66, 78, 90, 102, 114, 126, [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#zero_prefixed_literal [INFO] [stderr] help: if you mean to use a decimal constant, remove the `0` to remove confusion [INFO] [stderr] | [INFO] [stderr] 158 | 6, 18, 30, 42, 54, 66, 78, 90, 102, 114, 126, [INFO] [stderr] | ^ [INFO] [stderr] help: if you mean to use an octal constant, use `0o` [INFO] [stderr] | [INFO] [stderr] 158 | 0o6, 18, 30, 42, 54, 66, 78, 90, 102, 114, 126, [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: this is a decimal constant [INFO] [stderr] --> src/sbx_block/tests.rs:159:14 [INFO] [stderr] | [INFO] [stderr] 159 | 07, 19, 31, 43, 55, 67, 79, 91, 103, 115, 127, [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#zero_prefixed_literal [INFO] [stderr] help: if you mean to use a decimal constant, remove the `0` to remove confusion [INFO] [stderr] | [INFO] [stderr] 159 | 7, 19, 31, 43, 55, 67, 79, 91, 103, 115, 127, [INFO] [stderr] | ^ [INFO] [stderr] help: if you mean to use an octal constant, use `0o` [INFO] [stderr] | [INFO] [stderr] 159 | 0o7, 19, 31, 43, 55, 67, 79, 91, 103, 115, 127, [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: this is a decimal constant [INFO] [stderr] --> src/sbx_block/tests.rs:160:14 [INFO] [stderr] | [INFO] [stderr] 160 | 08, 20, 32, 44, 56, 68, 80, 92, 104, 116, 128, [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#zero_prefixed_literal [INFO] [stderr] help: if you mean to use a decimal constant, remove the `0` to remove confusion [INFO] [stderr] | [INFO] [stderr] 160 | 8, 20, 32, 44, 56, 68, 80, 92, 104, 116, 128, [INFO] [stderr] | ^ [INFO] [stderr] help: if you mean to use an octal constant, use `0o` [INFO] [stderr] | [INFO] [stderr] 160 | 0o8, 20, 32, 44, 56, 68, 80, 92, 104, 116, 128, [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: this is a decimal constant [INFO] [stderr] --> src/sbx_block/tests.rs:161:14 [INFO] [stderr] | [INFO] [stderr] 161 | 09, 21, 33, 45, 57, 69, 81, 93, 105, 117, 129, [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#zero_prefixed_literal [INFO] [stderr] help: if you mean to use a decimal constant, remove the `0` to remove confusion [INFO] [stderr] | [INFO] [stderr] 161 | 9, 21, 33, 45, 57, 69, 81, 93, 105, 117, 129, [INFO] [stderr] | ^ [INFO] [stderr] help: if you mean to use an octal constant, use `0o` [INFO] [stderr] | [INFO] [stderr] 161 | 0o9, 21, 33, 45, 57, 69, 81, 93, 105, 117, 129, [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: this is a decimal constant [INFO] [stderr] --> src/sbx_block/tests.rs:203:18 [INFO] [stderr] | [INFO] [stderr] 203 | [00, 01, 06, 11, 16, [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#zero_prefixed_literal [INFO] [stderr] help: if you mean to use a decimal constant, remove the `0` to remove confusion [INFO] [stderr] | [INFO] [stderr] 203 | [00, 1, 06, 11, 16, [INFO] [stderr] | ^ [INFO] [stderr] help: if you mean to use an octal constant, use `0o` [INFO] [stderr] | [INFO] [stderr] 203 | [00, 0o1, 06, 11, 16, [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: this is a decimal constant [INFO] [stderr] --> src/sbx_block/tests.rs:203:22 [INFO] [stderr] | [INFO] [stderr] 203 | [00, 01, 06, 11, 16, [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#zero_prefixed_literal [INFO] [stderr] help: if you mean to use a decimal constant, remove the `0` to remove confusion [INFO] [stderr] | [INFO] [stderr] 203 | [00, 01, 6, 11, 16, [INFO] [stderr] | ^ [INFO] [stderr] help: if you mean to use an octal constant, use `0o` [INFO] [stderr] | [INFO] [stderr] 203 | [00, 01, 0o6, 11, 16, [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: this is a decimal constant [INFO] [stderr] --> src/sbx_block/tests.rs:204:18 [INFO] [stderr] | [INFO] [stderr] 204 | 00, 02, 07, 12, 17, [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#zero_prefixed_literal [INFO] [stderr] help: if you mean to use a decimal constant, remove the `0` to remove confusion [INFO] [stderr] | [INFO] [stderr] 204 | 00, 2, 07, 12, 17, [INFO] [stderr] | ^ [INFO] [stderr] help: if you mean to use an octal constant, use `0o` [INFO] [stderr] | [INFO] [stderr] 204 | 00, 0o2, 07, 12, 17, [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: this is a decimal constant [INFO] [stderr] --> src/sbx_block/tests.rs:204:22 [INFO] [stderr] | [INFO] [stderr] 204 | 00, 02, 07, 12, 17, [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#zero_prefixed_literal [INFO] [stderr] help: if you mean to use a decimal constant, remove the `0` to remove confusion [INFO] [stderr] | [INFO] [stderr] 204 | 00, 02, 7, 12, 17, [INFO] [stderr] | ^ [INFO] [stderr] help: if you mean to use an octal constant, use `0o` [INFO] [stderr] | [INFO] [stderr] 204 | 00, 02, 0o7, 12, 17, [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: this is a decimal constant [INFO] [stderr] --> src/sbx_block/tests.rs:205:18 [INFO] [stderr] | [INFO] [stderr] 205 | 00, 03, 08, 13, 18, [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#zero_prefixed_literal [INFO] [stderr] help: if you mean to use a decimal constant, remove the `0` to remove confusion [INFO] [stderr] | [INFO] [stderr] 205 | 00, 3, 08, 13, 18, [INFO] [stderr] | ^ [INFO] [stderr] help: if you mean to use an octal constant, use `0o` [INFO] [stderr] | [INFO] [stderr] 205 | 00, 0o3, 08, 13, 18, [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: this is a decimal constant [INFO] [stderr] --> src/sbx_block/tests.rs:205:22 [INFO] [stderr] | [INFO] [stderr] 205 | 00, 03, 08, 13, 18, [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#zero_prefixed_literal [INFO] [stderr] help: if you mean to use a decimal constant, remove the `0` to remove confusion [INFO] [stderr] | [INFO] [stderr] 205 | 00, 03, 8, 13, 18, [INFO] [stderr] | ^ [INFO] [stderr] help: if you mean to use an octal constant, use `0o` [INFO] [stderr] | [INFO] [stderr] 205 | 00, 03, 0o8, 13, 18, [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: this is a decimal constant [INFO] [stderr] --> src/sbx_block/tests.rs:206:14 [INFO] [stderr] | [INFO] [stderr] 206 | 04, 09, 14, 19, [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#zero_prefixed_literal [INFO] [stderr] help: if you mean to use a decimal constant, remove the `0` to remove confusion [INFO] [stderr] | [INFO] [stderr] 206 | 4, 09, 14, 19, [INFO] [stderr] | ^ [INFO] [stderr] help: if you mean to use an octal constant, use `0o` [INFO] [stderr] | [INFO] [stderr] 206 | 0o4, 09, 14, 19, [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: this is a decimal constant [INFO] [stderr] --> src/sbx_block/tests.rs:206:18 [INFO] [stderr] | [INFO] [stderr] 206 | 04, 09, 14, 19, [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#zero_prefixed_literal [INFO] [stderr] help: if you mean to use a decimal constant, remove the `0` to remove confusion [INFO] [stderr] | [INFO] [stderr] 206 | 04, 9, 14, 19, [INFO] [stderr] | ^ [INFO] [stderr] help: if you mean to use an octal constant, use `0o` [INFO] [stderr] | [INFO] [stderr] 206 | 04, 0o9, 14, 19, [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: this is a decimal constant [INFO] [stderr] --> src/sbx_block/tests.rs:207:14 [INFO] [stderr] | [INFO] [stderr] 207 | 05, 10, 15, 20, [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#zero_prefixed_literal [INFO] [stderr] help: if you mean to use a decimal constant, remove the `0` to remove confusion [INFO] [stderr] | [INFO] [stderr] 207 | 5, 10, 15, 20, [INFO] [stderr] | ^ [INFO] [stderr] help: if you mean to use an octal constant, use `0o` [INFO] [stderr] | [INFO] [stderr] 207 | 0o5, 10, 15, 20, [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: this is a decimal constant [INFO] [stderr] --> src/sbx_block/tests.rs:234:18 [INFO] [stderr] | [INFO] [stderr] 234 | [00, 01, 03, [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#zero_prefixed_literal [INFO] [stderr] help: if you mean to use a decimal constant, remove the `0` to remove confusion [INFO] [stderr] | [INFO] [stderr] 234 | [00, 1, 03, [INFO] [stderr] | ^ [INFO] [stderr] help: if you mean to use an octal constant, use `0o` [INFO] [stderr] | [INFO] [stderr] 234 | [00, 0o1, 03, [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: this is a decimal constant [INFO] [stderr] --> src/sbx_block/tests.rs:234:22 [INFO] [stderr] | [INFO] [stderr] 234 | [00, 01, 03, [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#zero_prefixed_literal [INFO] [stderr] help: if you mean to use a decimal constant, remove the `0` to remove confusion [INFO] [stderr] | [INFO] [stderr] 234 | [00, 01, 3, [INFO] [stderr] | ^ [INFO] [stderr] help: if you mean to use an octal constant, use `0o` [INFO] [stderr] | [INFO] [stderr] 234 | [00, 01, 0o3, [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: this is a decimal constant [INFO] [stderr] --> src/sbx_block/tests.rs:235:18 [INFO] [stderr] | [INFO] [stderr] 235 | 00, 02, 04, [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#zero_prefixed_literal [INFO] [stderr] help: if you mean to use a decimal constant, remove the `0` to remove confusion [INFO] [stderr] | [INFO] [stderr] 235 | 00, 2, 04, [INFO] [stderr] | ^ [INFO] [stderr] help: if you mean to use an octal constant, use `0o` [INFO] [stderr] | [INFO] [stderr] 235 | 00, 0o2, 04, [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: this is a decimal constant [INFO] [stderr] --> src/sbx_block/tests.rs:235:22 [INFO] [stderr] | [INFO] [stderr] 235 | 00, 02, 04, [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#zero_prefixed_literal [INFO] [stderr] help: if you mean to use a decimal constant, remove the `0` to remove confusion [INFO] [stderr] | [INFO] [stderr] 235 | 00, 02, 4, [INFO] [stderr] | ^ [INFO] [stderr] help: if you mean to use an octal constant, use `0o` [INFO] [stderr] | [INFO] [stderr] 235 | 00, 02, 0o4, [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: this is a decimal constant [INFO] [stderr] --> src/sbx_block/tests.rs:237:14 [INFO] [stderr] | [INFO] [stderr] 237 | 05, 07, [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#zero_prefixed_literal [INFO] [stderr] help: if you mean to use a decimal constant, remove the `0` to remove confusion [INFO] [stderr] | [INFO] [stderr] 237 | 5, 07, [INFO] [stderr] | ^ [INFO] [stderr] help: if you mean to use an octal constant, use `0o` [INFO] [stderr] | [INFO] [stderr] 237 | 0o5, 07, [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: this is a decimal constant [INFO] [stderr] --> src/sbx_block/tests.rs:237:18 [INFO] [stderr] | [INFO] [stderr] 237 | 05, 07, [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#zero_prefixed_literal [INFO] [stderr] help: if you mean to use a decimal constant, remove the `0` to remove confusion [INFO] [stderr] | [INFO] [stderr] 237 | 05, 7, [INFO] [stderr] | ^ [INFO] [stderr] help: if you mean to use an octal constant, use `0o` [INFO] [stderr] | [INFO] [stderr] 237 | 05, 0o7, [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: this is a decimal constant [INFO] [stderr] --> src/sbx_block/tests.rs:238:14 [INFO] [stderr] | [INFO] [stderr] 238 | 06, 08, [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#zero_prefixed_literal [INFO] [stderr] help: if you mean to use a decimal constant, remove the `0` to remove confusion [INFO] [stderr] | [INFO] [stderr] 238 | 6, 08, [INFO] [stderr] | ^ [INFO] [stderr] help: if you mean to use an octal constant, use `0o` [INFO] [stderr] | [INFO] [stderr] 238 | 0o6, 08, [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: this is a decimal constant [INFO] [stderr] --> src/sbx_block/tests.rs:238:18 [INFO] [stderr] | [INFO] [stderr] 238 | 06, 08, [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#zero_prefixed_literal [INFO] [stderr] help: if you mean to use a decimal constant, remove the `0` to remove confusion [INFO] [stderr] | [INFO] [stderr] 238 | 06, 8, [INFO] [stderr] | ^ [INFO] [stderr] help: if you mean to use an octal constant, use `0o` [INFO] [stderr] | [INFO] [stderr] 238 | 06, 0o8, [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: this is a decimal constant [INFO] [stderr] --> src/sbx_block/tests.rs:240:14 [INFO] [stderr] | [INFO] [stderr] 240 | 09, 11, [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#zero_prefixed_literal [INFO] [stderr] help: if you mean to use a decimal constant, remove the `0` to remove confusion [INFO] [stderr] | [INFO] [stderr] 240 | 9, 11, [INFO] [stderr] | ^ [INFO] [stderr] help: if you mean to use an octal constant, use `0o` [INFO] [stderr] | [INFO] [stderr] 240 | 0o9, 11, [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: this is a decimal constant [INFO] [stderr] --> src/sbx_block/tests.rs:268:18 [INFO] [stderr] | [INFO] [stderr] 268 | [00, 01, 13, 25, 37, 49, 61, 73, 85, 97, 109, 121, [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#zero_prefixed_literal [INFO] [stderr] help: if you mean to use a decimal constant, remove the `0` to remove confusion [INFO] [stderr] | [INFO] [stderr] 268 | [00, 1, 13, 25, 37, 49, 61, 73, 85, 97, 109, 121, [INFO] [stderr] | ^ [INFO] [stderr] help: if you mean to use an octal constant, use `0o` [INFO] [stderr] | [INFO] [stderr] 268 | [00, 0o1, 13, 25, 37, 49, 61, 73, 85, 97, 109, 121, [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: this is a decimal constant [INFO] [stderr] --> src/sbx_block/tests.rs:269:18 [INFO] [stderr] | [INFO] [stderr] 269 | 00, 02, 14, 26, 38, 50, 62, 74, 86, 98, 110, 122, [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#zero_prefixed_literal [INFO] [stderr] help: if you mean to use a decimal constant, remove the `0` to remove confusion [INFO] [stderr] | [INFO] [stderr] 269 | 00, 2, 14, 26, 38, 50, 62, 74, 86, 98, 110, 122, [INFO] [stderr] | ^ [INFO] [stderr] help: if you mean to use an octal constant, use `0o` [INFO] [stderr] | [INFO] [stderr] 269 | 00, 0o2, 14, 26, 38, 50, 62, 74, 86, 98, 110, 122, [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: this is a decimal constant [INFO] [stderr] --> src/sbx_block/tests.rs:270:18 [INFO] [stderr] | [INFO] [stderr] 270 | 00, 03, 15, 27, 39, 51, 63, 75, 87, 99, 111, 123, [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#zero_prefixed_literal [INFO] [stderr] help: if you mean to use a decimal constant, remove the `0` to remove confusion [INFO] [stderr] | [INFO] [stderr] 270 | 00, 3, 15, 27, 39, 51, 63, 75, 87, 99, 111, 123, [INFO] [stderr] | ^ [INFO] [stderr] help: if you mean to use an octal constant, use `0o` [INFO] [stderr] | [INFO] [stderr] 270 | 00, 0o3, 15, 27, 39, 51, 63, 75, 87, 99, 111, 123, [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: this is a decimal constant [INFO] [stderr] --> src/sbx_block/tests.rs:271:14 [INFO] [stderr] | [INFO] [stderr] 271 | 04, 16, 28, 40, 52, 64, 76, 88, 100, 112, 124, [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#zero_prefixed_literal [INFO] [stderr] help: if you mean to use a decimal constant, remove the `0` to remove confusion [INFO] [stderr] | [INFO] [stderr] 271 | 4, 16, 28, 40, 52, 64, 76, 88, 100, 112, 124, [INFO] [stderr] | ^ [INFO] [stderr] help: if you mean to use an octal constant, use `0o` [INFO] [stderr] | [INFO] [stderr] 271 | 0o4, 16, 28, 40, 52, 64, 76, 88, 100, 112, 124, [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: this is a decimal constant [INFO] [stderr] --> src/sbx_block/tests.rs:272:14 [INFO] [stderr] | [INFO] [stderr] 272 | 05, 17, 29, 41, 53, 65, 77, 89, 101, 113, 125, [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#zero_prefixed_literal [INFO] [stderr] help: if you mean to use a decimal constant, remove the `0` to remove confusion [INFO] [stderr] | [INFO] [stderr] 272 | 5, 17, 29, 41, 53, 65, 77, 89, 101, 113, 125, [INFO] [stderr] | ^ [INFO] [stderr] help: if you mean to use an octal constant, use `0o` [INFO] [stderr] | [INFO] [stderr] 272 | 0o5, 17, 29, 41, 53, 65, 77, 89, 101, 113, 125, [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: this is a decimal constant [INFO] [stderr] --> src/sbx_block/tests.rs:273:14 [INFO] [stderr] | [INFO] [stderr] 273 | 06, 18, 30, 42, 54, 66, 78, 90, 102, 114, 126, [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#zero_prefixed_literal [INFO] [stderr] help: if you mean to use a decimal constant, remove the `0` to remove confusion [INFO] [stderr] | [INFO] [stderr] 273 | 6, 18, 30, 42, 54, 66, 78, 90, 102, 114, 126, [INFO] [stderr] | ^ [INFO] [stderr] help: if you mean to use an octal constant, use `0o` [INFO] [stderr] | [INFO] [stderr] 273 | 0o6, 18, 30, 42, 54, 66, 78, 90, 102, 114, 126, [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: this is a decimal constant [INFO] [stderr] --> src/sbx_block/tests.rs:274:14 [INFO] [stderr] | [INFO] [stderr] 274 | 07, 19, 31, 43, 55, 67, 79, 91, 103, 115, 127, [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#zero_prefixed_literal [INFO] [stderr] help: if you mean to use a decimal constant, remove the `0` to remove confusion [INFO] [stderr] | [INFO] [stderr] 274 | 7, 19, 31, 43, 55, 67, 79, 91, 103, 115, 127, [INFO] [stderr] | ^ [INFO] [stderr] help: if you mean to use an octal constant, use `0o` [INFO] [stderr] | [INFO] [stderr] 274 | 0o7, 19, 31, 43, 55, 67, 79, 91, 103, 115, 127, [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: this is a decimal constant [INFO] [stderr] --> src/sbx_block/tests.rs:275:14 [INFO] [stderr] | [INFO] [stderr] 275 | 08, 20, 32, 44, 56, 68, 80, 92, 104, 116, 128, [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#zero_prefixed_literal [INFO] [stderr] help: if you mean to use a decimal constant, remove the `0` to remove confusion [INFO] [stderr] | [INFO] [stderr] 275 | 8, 20, 32, 44, 56, 68, 80, 92, 104, 116, 128, [INFO] [stderr] | ^ [INFO] [stderr] help: if you mean to use an octal constant, use `0o` [INFO] [stderr] | [INFO] [stderr] 275 | 0o8, 20, 32, 44, 56, 68, 80, 92, 104, 116, 128, [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: this is a decimal constant [INFO] [stderr] --> src/sbx_block/tests.rs:276:14 [INFO] [stderr] | [INFO] [stderr] 276 | 09, 21, 33, 45, 57, 69, 81, 93, 105, 117, 129, [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#zero_prefixed_literal [INFO] [stderr] help: if you mean to use a decimal constant, remove the `0` to remove confusion [INFO] [stderr] | [INFO] [stderr] 276 | 9, 21, 33, 45, 57, 69, 81, 93, 105, 117, 129, [INFO] [stderr] | ^ [INFO] [stderr] help: if you mean to use an octal constant, use `0o` [INFO] [stderr] | [INFO] [stderr] 276 | 0o9, 21, 33, 45, 57, 69, 81, 93, 105, 117, 129, [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/sbx_block/header_tests.rs:22:36 [INFO] [stderr] | [INFO] [stderr] 22 | assert_eq!(header.seq_num, 0x01020304); [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0x0102_0304` [INFO] [stderr] | [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/sbx_block/header_tests.rs:32:36 [INFO] [stderr] | [INFO] [stderr] 32 | assert_eq!(header.seq_num, 0x01020304); [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0x0102_0304` [INFO] [stderr] | [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/sbx_block/header_tests.rs:42:36 [INFO] [stderr] | [INFO] [stderr] 42 | assert_eq!(header.seq_num, 0x01020304); [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0x0102_0304` [INFO] [stderr] | [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/sbx_block/header_tests.rs:52:36 [INFO] [stderr] | [INFO] [stderr] 52 | assert_eq!(header.seq_num, 0x01020304); [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0x0102_0304` [INFO] [stderr] | [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/sbx_block/header_tests.rs:62:36 [INFO] [stderr] | [INFO] [stderr] 62 | assert_eq!(header.seq_num, 0x01020304); [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0x0102_0304` [INFO] [stderr] | [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/sbx_block/header_tests.rs:72:36 [INFO] [stderr] | [INFO] [stderr] 72 | assert_eq!(header.seq_num, 0x01020304); [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0x0102_0304` [INFO] [stderr] | [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/sbx_block/header_tests.rs:84:26 [INFO] [stderr] | [INFO] [stderr] 84 | header.seq_num = 0x01020304; [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0x0102_0304` [INFO] [stderr] | [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/sbx_block/header_tests.rs:99:26 [INFO] [stderr] | [INFO] [stderr] 99 | header.seq_num = 0x01020304; [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0x0102_0304` [INFO] [stderr] | [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/sbx_block/header_tests.rs:114:26 [INFO] [stderr] | [INFO] [stderr] 114 | header.seq_num = 0x01020304; [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0x0102_0304` [INFO] [stderr] | [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/sbx_block/header_tests.rs:129:26 [INFO] [stderr] | [INFO] [stderr] 129 | header.seq_num = 0x01020304; [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0x0102_0304` [INFO] [stderr] | [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/sbx_block/header_tests.rs:144:26 [INFO] [stderr] | [INFO] [stderr] 144 | header.seq_num = 0x01020304; [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0x0102_0304` [INFO] [stderr] | [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/sbx_block/header_tests.rs:159:26 [INFO] [stderr] | [INFO] [stderr] 159 | header.seq_num = 0x01020304; [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0x0102_0304` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: immediately dereferencing a reference [INFO] [stderr] --> src/sbx_block/metadata_tests.rs:19:29 [INFO] [stderr] | [INFO] [stderr] 19 | assert_eq!(*expect, *&buffer[0..expect.len()]); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `buffer[0..expect.len()]` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::deref_addrof)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#deref_addrof [INFO] [stderr] [INFO] [stderr] warning: immediately dereferencing a reference [INFO] [stderr] --> src/sbx_block/metadata_tests.rs:32:29 [INFO] [stderr] | [INFO] [stderr] 32 | assert_eq!(*expect, *&buffer[0..expect.len()]); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `buffer[0..expect.len()]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#deref_addrof [INFO] [stderr] [INFO] [stderr] warning: digit groups should be smaller [INFO] [stderr] --> src/sbx_block/metadata_tests.rs:40:35 [INFO] [stderr] | [INFO] [stderr] 40 | let meta = [Metadata::FSZ(0x01234567_89ABCDEF)]; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: consider: `0x0123_4567_89AB_CDEF` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::large_digit_groups)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#large_digit_groups [INFO] [stderr] [INFO] [stderr] warning: immediately dereferencing a reference [INFO] [stderr] --> src/sbx_block/metadata_tests.rs:45:29 [INFO] [stderr] | [INFO] [stderr] 45 | assert_eq!(*expect, *&buffer[0..expect.len()]); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `buffer[0..expect.len()]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#deref_addrof [INFO] [stderr] [INFO] [stderr] warning: digit groups should be smaller [INFO] [stderr] --> src/sbx_block/metadata_tests.rs:53:35 [INFO] [stderr] | [INFO] [stderr] 53 | let meta = [Metadata::FDT(0x01234567_89ABCDEF)]; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: consider: `0x0123_4567_89AB_CDEF` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#large_digit_groups [INFO] [stderr] [INFO] [stderr] warning: immediately dereferencing a reference [INFO] [stderr] --> src/sbx_block/metadata_tests.rs:58:29 [INFO] [stderr] | [INFO] [stderr] 58 | assert_eq!(*expect, *&buffer[0..expect.len()]); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `buffer[0..expect.len()]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#deref_addrof [INFO] [stderr] [INFO] [stderr] warning: digit groups should be smaller [INFO] [stderr] --> src/sbx_block/metadata_tests.rs:66:35 [INFO] [stderr] | [INFO] [stderr] 66 | let meta = [Metadata::SDT(0x01234567_89ABCDEF)]; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: consider: `0x0123_4567_89AB_CDEF` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#large_digit_groups [INFO] [stderr] [INFO] [stderr] warning: immediately dereferencing a reference [INFO] [stderr] --> src/sbx_block/metadata_tests.rs:71:29 [INFO] [stderr] | [INFO] [stderr] 71 | assert_eq!(*expect, *&buffer[0..expect.len()]); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `buffer[0..expect.len()]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#deref_addrof [INFO] [stderr] [INFO] [stderr] warning: immediately dereferencing a reference [INFO] [stderr] --> src/sbx_block/metadata_tests.rs:89:29 [INFO] [stderr] | [INFO] [stderr] 89 | assert_eq!(*expect, *&buffer[0..expect.len()]); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `buffer[0..expect.len()]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#deref_addrof [INFO] [stderr] [INFO] [stderr] warning: immediately dereferencing a reference [INFO] [stderr] --> src/sbx_block/metadata_tests.rs:102:29 [INFO] [stderr] | [INFO] [stderr] 102 | assert_eq!(*expect, *&buffer[0..expect.len()]); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `buffer[0..expect.len()]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#deref_addrof [INFO] [stderr] [INFO] [stderr] warning: immediately dereferencing a reference [INFO] [stderr] --> src/sbx_block/metadata_tests.rs:115:29 [INFO] [stderr] | [INFO] [stderr] 115 | assert_eq!(*expect, *&buffer[0..expect.len()]); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `buffer[0..expect.len()]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#deref_addrof [INFO] [stderr] [INFO] [stderr] warning: digit groups should be smaller [INFO] [stderr] --> src/sbx_block/metadata_tests.rs:151:36 [INFO] [stderr] | [INFO] [stderr] 151 | let expect = Metadata::FSZ(0x01234567_89ABCDEF); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: consider: `0x0123_4567_89AB_CDEF` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#large_digit_groups [INFO] [stderr] [INFO] [stderr] warning: digit groups should be smaller [INFO] [stderr] --> src/sbx_block/metadata_tests.rs:160:36 [INFO] [stderr] | [INFO] [stderr] 160 | let expect = Metadata::FDT(0x01234567_89ABCDEF); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: consider: `0x0123_4567_89AB_CDEF` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#large_digit_groups [INFO] [stderr] [INFO] [stderr] warning: digit groups should be smaller [INFO] [stderr] --> src/sbx_block/metadata_tests.rs:169:36 [INFO] [stderr] | [INFO] [stderr] 169 | let expect = Metadata::SDT(0x01234567_89ABCDEF); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: consider: `0x0123_4567_89AB_CDEF` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#large_digit_groups [INFO] [stderr] [INFO] [stderr] warning: returning the result of a let binding from a block. Consider returning the expression directly. [INFO] [stderr] --> src/sbx_block/mod.rs:378:13 [INFO] [stderr] | [INFO] [stderr] 378 | new_index [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: this expression can be directly returned [INFO] [stderr] --> src/sbx_block/mod.rs:370:17 [INFO] [stderr] | [INFO] [stderr] 370 | / meta_block_count [INFO] [stderr] 371 | | [INFO] [stderr] 372 | | // index of start of super block set [INFO] [stderr] 373 | | + (super_block_set_size * super_block_set_index) [INFO] [stderr] 374 | | [INFO] [stderr] 375 | | // index inside the super block set [INFO] [stderr] 376 | | + new_index_in_super_block_set; [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/rs_codec/encoder_tests.rs:149:9 [INFO] [stderr] | [INFO] [stderr] 149 | return true; [INFO] [stderr] | ^^^^^^^^^^^^ help: remove `return` as shown: `true` [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: this `else { if .. }` block can be collapsed [INFO] [stderr] --> src/rs_codec/repairer.rs:97:16 [INFO] [stderr] | [INFO] [stderr] 97 | } else { [INFO] [stderr] | ________________^ [INFO] [stderr] 98 | | if self.missing_count > 0 { [INFO] [stderr] 99 | | if self.successful { [INFO] [stderr] 100 | | write!(f, "Repair successful for ")?; [INFO] [stderr] ... | [INFO] [stderr] 141 | | } [INFO] [stderr] 142 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::collapsible_if)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 97 | } else if self.missing_count > 0 { [INFO] [stderr] 98 | if self.successful { [INFO] [stderr] 99 | write!(f, "Repair successful for ")?; [INFO] [stderr] 100 | } else { [INFO] [stderr] 101 | write!(f, "Repair failed for ")?; [INFO] [stderr] 102 | } [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: this `else { if .. }` block can be collapsed [INFO] [stderr] --> src/rs_codec/repairer_tests.rs:326:32 [INFO] [stderr] | [INFO] [stderr] 326 | } else { [INFO] [stderr] | ________________________________^ [INFO] [stderr] 327 | | if codec_state != RSCodecState::NotReady { [INFO] [stderr] 328 | | return false; [INFO] [stderr] 329 | | } [INFO] [stderr] 330 | | } [INFO] [stderr] | |_________________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 326 | } else if codec_state != RSCodecState::NotReady { [INFO] [stderr] 327 | return false; [INFO] [stderr] 328 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: this `else { if .. }` block can be collapsed [INFO] [stderr] --> src/rs_codec/repairer_tests.rs:473:32 [INFO] [stderr] | [INFO] [stderr] 473 | } else { [INFO] [stderr] | ________________________________^ [INFO] [stderr] 474 | | if codec_state != RSCodecState::NotReady { [INFO] [stderr] 475 | | return false; [INFO] [stderr] 476 | | } [INFO] [stderr] 477 | | } [INFO] [stderr] | |_________________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 473 | } else if codec_state != RSCodecState::NotReady { [INFO] [stderr] 474 | return false; [INFO] [stderr] 475 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: this `else { if .. }` block can be collapsed [INFO] [stderr] --> src/decode_core.rs:767:32 [INFO] [stderr] | [INFO] [stderr] 767 | } else { [INFO] [stderr] | ________________________________^ [INFO] [stderr] 768 | | if sbx_block::seq_num_is_meta(seq_num) { [INFO] [stderr] 769 | | stats.lock().unwrap().incre_meta_blocks_failed(); [INFO] [stderr] 770 | | } else { [INFO] [stderr] ... | [INFO] [stderr] 778 | | } [INFO] [stderr] 779 | | } [INFO] [stderr] | |_________________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 767 | } else if sbx_block::seq_num_is_meta(seq_num) { [INFO] [stderr] 768 | stats.lock().unwrap().incre_meta_blocks_failed(); [INFO] [stderr] 769 | } else { [INFO] [stderr] 770 | stats.lock().unwrap().incre_data_blocks_failed(); [INFO] [stderr] 771 | [INFO] [stderr] 772 | write_blank_chunk(is_last_data_block(&stats, total_data_chunk_count), [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: this `else { if .. }` block can be collapsed [INFO] [stderr] --> src/decode_core.rs:805:12 [INFO] [stderr] | [INFO] [stderr] 805 | } else { [INFO] [stderr] | ____________^ [INFO] [stderr] 806 | | if !json_printer.json_enabled() { [INFO] [stderr] 807 | | print_block!(json_printer.output_channel() => [INFO] [stderr] 808 | | ""; [INFO] [stderr] ... | [INFO] [stderr] 814 | | } [INFO] [stderr] 815 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 805 | } else if !json_printer.json_enabled() { [INFO] [stderr] 806 | print_block!(json_printer.output_channel() => [INFO] [stderr] 807 | ""; [INFO] [stderr] 808 | "Warning :"; [INFO] [stderr] 809 | ""; [INFO] [stderr] 810 | " Reference block is not a metadata block, output file"; [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: this if statement can be collapsed [INFO] [stderr] --> src/decode_core.rs:942:9 [INFO] [stderr] | [INFO] [stderr] 942 | / if !param.force_write { [INFO] [stderr] 943 | | if file_utils::check_if_file_exists(out_file_path) { [INFO] [stderr] 944 | | return Err(Error::with_message(&format!("File \"{}\" already exists", [INFO] [stderr] 945 | | out_file_path))); [INFO] [stderr] 946 | | } [INFO] [stderr] 947 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 942 | if !param.force_write && file_utils::check_if_file_exists(out_file_path) { [INFO] [stderr] 943 | return Err(Error::with_message(&format!("File \"{}\" already exists", [INFO] [stderr] 944 | out_file_path))); [INFO] [stderr] 945 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: this `else { if .. }` block can be collapsed [INFO] [stderr] --> src/repair_core.rs:112:16 [INFO] [stderr] | [INFO] [stderr] 112 | } else { [INFO] [stderr] | ________________^ [INFO] [stderr] 113 | | if self.data_or_par_blocks_repair_failed == 0 { [INFO] [stderr] 114 | | write_if!(not_json => f, json_printer => "All corrupted/missing blocks were repaired successfully";)?; [INFO] [stderr] 115 | | } else { [INFO] [stderr] ... | [INFO] [stderr] 121 | | } [INFO] [stderr] 122 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 112 | } else if self.data_or_par_blocks_repair_failed == 0 { [INFO] [stderr] 113 | write_if!(not_json => f, json_printer => "All corrupted/missing blocks were repaired successfully";)?; [INFO] [stderr] 114 | } else { [INFO] [stderr] 115 | if self.blocks_decode_failed == self.data_or_par_blocks_repair_failed { [INFO] [stderr] 116 | write_if!(not_json => f, json_printer => "All repairs failed";)?; [INFO] [stderr] 117 | } else { [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: this `else { if .. }` block can be collapsed [INFO] [stderr] --> src/repair_core.rs:115:20 [INFO] [stderr] | [INFO] [stderr] 115 | } else { [INFO] [stderr] | ____________________^ [INFO] [stderr] 116 | | if self.blocks_decode_failed == self.data_or_par_blocks_repair_failed { [INFO] [stderr] 117 | | write_if!(not_json => f, json_printer => "All repairs failed";)?; [INFO] [stderr] 118 | | } else { [INFO] [stderr] 119 | | write_if!(not_json => f, json_printer => "Some repairs failed";)?; [INFO] [stderr] 120 | | } [INFO] [stderr] 121 | | } [INFO] [stderr] | |_____________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 115 | } else if self.blocks_decode_failed == self.data_or_par_blocks_repair_failed { [INFO] [stderr] 116 | write_if!(not_json => f, json_printer => "All repairs failed";)?; [INFO] [stderr] 117 | } else { [INFO] [stderr] 118 | write_if!(not_json => f, json_printer => "Some repairs failed";)?; [INFO] [stderr] 119 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: this `else { if .. }` block can be collapsed [INFO] [stderr] --> src/repair_core.rs:175:12 [INFO] [stderr] | [INFO] [stderr] 175 | } else { [INFO] [stderr] | ____________^ [INFO] [stderr] 176 | | if block.get_seq_num() != cur_seq_num { [INFO] [stderr] 177 | | stats.lock().unwrap().blocks_decode_failed += 1; [INFO] [stderr] 178 | | rs_codec.mark_missing() [INFO] [stderr] ... | [INFO] [stderr] 187 | | } [INFO] [stderr] 188 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 175 | } else if block.get_seq_num() != cur_seq_num { [INFO] [stderr] 176 | stats.lock().unwrap().blocks_decode_failed += 1; [INFO] [stderr] 177 | rs_codec.mark_missing() [INFO] [stderr] 178 | } else { [INFO] [stderr] 179 | if block.is_meta() { [INFO] [stderr] 180 | stats.lock().unwrap().meta_blocks_decoded += 1; [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/progress_report.rs:404:13 [INFO] [stderr] | [INFO] [stderr] 404 | 0.000000001 [INFO] [stderr] | ^^^^^^^^^^^ help: consider: `0.000_000_001` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/crc_ccitt.rs:48:26 [INFO] [stderr] | [INFO] [stderr] 48 | let c_u16 :u16 = *c as u16; [INFO] [stderr] | ^^^^^^^^^ help: try: `u16::from(*c)` [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: the loop variable `i` is used to index `buffer` [INFO] [stderr] --> src/multihash.rs:54:14 [INFO] [stderr] | [INFO] [stderr] 54 | for i in 0..param.hash_func_type.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] 54 | for (i, ) in buffer.iter_mut().enumerate().take(param.hash_func_type.len()) { [INFO] [stderr] | ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: it looks like you're manually copying between slices [INFO] [stderr] --> src/multihash.rs:54:14 [INFO] [stderr] | [INFO] [stderr] 54 | for i in 0..param.hash_func_type.len() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try replacing the loop by: `buffer[..param.hash_func_type.len()].clone_from_slice(¶m.hash_func_type[..])` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::manual_memcpy)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_memcpy [INFO] [stderr] [INFO] [stderr] warning: redundant pattern matching, consider using `is_ok()` [INFO] [stderr] --> src/multihash.rs:151:9 [INFO] [stderr] | [INFO] [stderr] 151 | / match Ctx::new(hash_type) { [INFO] [stderr] 152 | | Ok(_) => true, [INFO] [stderr] 153 | | Err(_) => false [INFO] [stderr] 154 | | } [INFO] [stderr] | |_________^ help: try this: `Ctx::new(hash_type).is_ok()` [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: the loop variable `i` is used to index `path_parts` [INFO] [stderr] --> src/misc_utils.rs:172:14 [INFO] [stderr] | [INFO] [stderr] 172 | for i in 0..path_parts.len() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [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] 172 | for (i, ) in path_parts.iter().enumerate() { [INFO] [stderr] | ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/misc_utils.rs:179:16 [INFO] [stderr] | [INFO] [stderr] 179 | if res.len() > 0 { [INFO] [stderr] | ^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!res.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: redundant pattern matching, consider using `is_none()` [INFO] [stderr] --> src/misc_utils.rs:220:16 [INFO] [stderr] | [INFO] [stderr] 220 | if let None = chars.find(c) { [INFO] [stderr] | _________- ^^^^ [INFO] [stderr] 221 | | if let None = start { [INFO] [stderr] 222 | | start = Some(i); [INFO] [stderr] 223 | | } [INFO] [stderr] 224 | | end_inc = i; [INFO] [stderr] 225 | | } [INFO] [stderr] | |_________- help: try this: `if chars.find(c).is_none()` [INFO] [stderr] | [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: redundant pattern matching, consider using `is_none()` [INFO] [stderr] --> src/misc_utils.rs:221:20 [INFO] [stderr] | [INFO] [stderr] 221 | if let None = start { [INFO] [stderr] | _____________- ^^^^ [INFO] [stderr] 222 | | start = Some(i); [INFO] [stderr] 223 | | } [INFO] [stderr] | |_____________- help: try this: `if start.is_none()` [INFO] [stderr] | [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: an inclusive range would be more readable [INFO] [stderr] --> src/misc_utils.rs:229:17 [INFO] [stderr] | [INFO] [stderr] 229 | &string[start.unwrap_or(0)..end_inc+1] [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use: `start.unwrap_or(0)..=end_inc` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::range_plus_one)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#range_plus_one [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is only used to index `bytes`. [INFO] [stderr] --> src/rand_utils.rs:5:14 [INFO] [stderr] | [INFO] [stderr] 5 | for i in 0..bytes.len() { [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [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] 5 | for in &mut bytes { [INFO] [stderr] | ^^^^^^ ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/time_utils.rs:20:19 [INFO] [stderr] | [INFO] [stderr] 20 | sec as f64 + (nsec as f64 / 1_000_000_000.) [INFO] [stderr] | ^^^^^^^^^^^ help: try: `f64::from(nsec)` [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: redundant pattern matching, consider using `is_none()` [INFO] [stderr] --> src/block_utils.rs:167:24 [INFO] [stderr] | [INFO] [stderr] 167 | if let None = meta_block { [INFO] [stderr] | _________________- ^^^^ [INFO] [stderr] 168 | | meta_block = Some((block_pos, block.clone())); [INFO] [stderr] 169 | | } [INFO] [stderr] | |_________________- help: try this: `if meta_block.is_none()` [INFO] [stderr] | [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: redundant pattern matching, consider using `is_none()` [INFO] [stderr] --> src/block_utils.rs:172:24 [INFO] [stderr] | [INFO] [stderr] 172 | if let None = data_block { [INFO] [stderr] | _________________- ^^^^ [INFO] [stderr] 173 | | data_block = Some((block_pos, block.clone())); [INFO] [stderr] 174 | | } [INFO] [stderr] | |_________________- help: try this: `if data_block.is_none()` [INFO] [stderr] | [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: redundant pattern matching, consider using `is_some()` [INFO] [stderr] --> src/block_utils.rs:180:24 [INFO] [stderr] | [INFO] [stderr] 180 | if let Some(_) = meta_block { break; } [INFO] [stderr] | -------^^^^^^^------------------------ help: try this: `if meta_block.is_some()` [INFO] [stderr] | [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: redundant pattern matching, consider using `is_some()` [INFO] [stderr] --> src/block_utils.rs:181:24 [INFO] [stderr] | [INFO] [stderr] 181 | if let Some(_) = data_block { break; } [INFO] [stderr] | -------^^^^^^^------------------------ help: try this: `if data_block.is_some()` [INFO] [stderr] | [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: redundant pattern matching, consider using `is_some()` [INFO] [stderr] --> src/block_utils.rs:186:28 [INFO] [stderr] | [INFO] [stderr] 186 | if let Some(_) = meta_block { break; } [INFO] [stderr] | -------^^^^^^^------------------------ help: try this: `if meta_block.is_some()` [INFO] [stderr] | [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: redundant pattern matching, consider using `is_some()` [INFO] [stderr] --> src/block_utils.rs:189:28 [INFO] [stderr] | [INFO] [stderr] 189 | if let Some(_) = data_block { break; } [INFO] [stderr] | -------^^^^^^^------------------------ help: try this: `if data_block.is_some()` [INFO] [stderr] | [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: the loop variable `level` is used to index `mismatches_for_level` [INFO] [stderr] --> src/block_utils.rs:282:18 [INFO] [stderr] | [INFO] [stderr] 282 | for level in 0..mismatches_for_level.len() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [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] 282 | for (level, ) in mismatches_for_level.iter_mut().enumerate() { [INFO] [stderr] | ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: the loop variable `index` is used to index `seq_nums` [INFO] [stderr] --> src/block_utils.rs:283:22 [INFO] [stderr] | [INFO] [stderr] 283 | for index in 0..seq_nums.len() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [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] 283 | for (index, ) in seq_nums.iter().enumerate() { [INFO] [stderr] | ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: methods called `from_*` usually take no self; consider choosing a less ambiguous name [INFO] [stderr] --> src/sbx_block/header.rs:55:23 [INFO] [stderr] | [INFO] [stderr] 55 | pub fn from_bytes(&mut self, buffer : &[u8]) -> Result<(), Error> { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::wrong_self_convention)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#wrong_self_convention [INFO] [stderr] [INFO] [stderr] warning: it looks like you're manually copying between slices [INFO] [stderr] --> src/sbx_block/metadata.rs:114:14 [INFO] [stderr] | [INFO] [stderr] 114 | for i in 0..id.len() { [INFO] [stderr] | ^^^^^^^^^^^ help: try replacing the loop by: `buffer[..id.len()].clone_from_slice(&id[..])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_memcpy [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is only used to index `buffer`. [INFO] [stderr] --> src/sbx_block/metadata.rs:164:14 [INFO] [stderr] | [INFO] [stderr] 164 | for i in cur_pos..buffer.len() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [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] 164 | for in buffer.iter_mut().skip(cur_pos) { [INFO] [stderr] | ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is only used to index `metas`. [INFO] [stderr] --> src/sbx_block/metadata.rs:186:14 [INFO] [stderr] | [INFO] [stderr] 186 | for i in 0..metas.len() { [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [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] 186 | for in &metas { [INFO] [stderr] | ^^^^^^ ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: redundant pattern matching, consider using `is_none()` [INFO] [stderr] --> src/sbx_block/metadata.rs:298:28 [INFO] [stderr] | [INFO] [stderr] 298 | if let None = rsd { rsd = Some(d as usize); } [INFO] [stderr] | -------^^^^---------------------------------- help: try this: `if rsd.is_none()` [INFO] [stderr] | [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: redundant pattern matching, consider using `is_none()` [INFO] [stderr] --> src/sbx_block/metadata.rs:305:28 [INFO] [stderr] | [INFO] [stderr] 305 | if let None = rsp { rsp = Some(p as usize); } [INFO] [stderr] | -------^^^^---------------------------------- help: try this: `if rsp.is_none()` [INFO] [stderr] | [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: the loop variable `i` is only used to index `buffer`. [INFO] [stderr] --> src/sbx_block/mod.rs:148:14 [INFO] [stderr] | [INFO] [stderr] 148 | for i in start..block_size { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [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] 148 | for in buffer.iter_mut().take(block_size).skip(start) { [INFO] [stderr] | ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/sbx_block/mod.rs:223:9 [INFO] [stderr] | [INFO] [stderr] 223 | *i = *i * block_size; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `*i *= block_size` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::assign_op_pattern)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: an inclusive range would be more readable [INFO] [stderr] --> src/sbx_block/mod.rs:236:22 [INFO] [stderr] | [INFO] [stderr] 236 | for i in 1..1 + parity as u64 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: use: `1..=parity as u64` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#range_plus_one [INFO] [stderr] [INFO] [stderr] warning: casting u32 to u64 may become silently lossy if types change [INFO] [stderr] --> src/sbx_block/mod.rs:295:17 [INFO] [stderr] | [INFO] [stderr] 295 | let index = (seq_num - SBX_FIRST_DATA_SEQ_NUM) as u64; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u64::from(seq_num - SBX_FIRST_DATA_SEQ_NUM)` [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 u32 to u64 may become silently lossy if types change [INFO] [stderr] --> src/sbx_block/mod.rs:301:31 [INFO] [stderr] | [INFO] [stderr] 301 | if meta_enabled { SBX_FIRST_DATA_SEQ_NUM as u64 + index } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u64::from(SBX_FIRST_DATA_SEQ_NUM)` [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 u32 to u64 may become silently lossy if types change [INFO] [stderr] --> src/sbx_block/mod.rs:389:21 [INFO] [stderr] | [INFO] [stderr] 389 | let index = (seq_num - SBX_FIRST_DATA_SEQ_NUM) as u64; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u64::from(seq_num - SBX_FIRST_DATA_SEQ_NUM)` [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: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/sbx_block/mod.rs:514:29 [INFO] [stderr] | [INFO] [stderr] 514 | uid : &[u8; SBX_FILE_UID_LEN], [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: consider passing by value instead: `[u8; SBX_FILE_UID_LEN]` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::trivially_copy_pass_by_ref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/sbx_block/mod.rs:521:51 [INFO] [stderr] | [INFO] [stderr] 521 | header : Header::new(version, uid.clone(), seq_num), [INFO] [stderr] | ^^^^^^^^^^^ help: try dereferencing it: `*uid` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::clone_on_copy)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/sbx_block/mod.rs:528:51 [INFO] [stderr] | [INFO] [stderr] 528 | header : Header::new(version, uid.clone(), seq_num), [INFO] [stderr] | ^^^^^^^^^^^ help: try dereferencing it: `*uid` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: casting u32 to u64 may become silently lossy if types change [INFO] [stderr] --> src/sbx_specs.rs:154:5 [INFO] [stderr] | [INFO] [stderr] 154 | SBX_MAX_DATA_BLOCK_COUNT as u64 * data_block_size [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u64::from(SBX_MAX_DATA_BLOCK_COUNT)` [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: very complex type used. Consider factoring parts into `type` definitions [INFO] [stderr] --> src/rs_codec/repairer.rs:279:9 [INFO] [stderr] | [INFO] [stderr] 279 | / (RSRepairStats, [INFO] [stderr] 280 | | SmallVec<[(u64, &[u8]); 32]>) [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: this function has too many arguments (9/7) [INFO] [stderr] --> src/encode_core.rs:151:5 [INFO] [stderr] | [INFO] [stderr] 151 | / pub fn new(version : Version, [INFO] [stderr] 152 | | uid : &[u8; SBX_FILE_UID_LEN], [INFO] [stderr] 153 | | data_par_burst : Option<(usize, usize, usize)>, [INFO] [stderr] 154 | | meta_enabled : bool, [INFO] [stderr] ... | [INFO] [stderr] 174 | | } [INFO] [stderr] 175 | | } [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: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/encode_core.rs:152:37 [INFO] [stderr] | [INFO] [stderr] 152 | uid : &[u8; SBX_FILE_UID_LEN], [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: consider passing by value instead: `[u8; SBX_FILE_UID_LEN]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/encode_core.rs:162:30 [INFO] [stderr] | [INFO] [stderr] 162 | uid : uid.clone(), [INFO] [stderr] | ^^^^^^^^^^^ help: try dereferencing it: `*uid` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: casting u32 to u64 may become silently lossy if types change [INFO] [stderr] --> src/encode_core.rs:204:9 [INFO] [stderr] | [INFO] [stderr] 204 | self.data_blocks_written as u64 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u64::from(self.data_blocks_written)` [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 u32 to u64 may become silently lossy if types change [INFO] [stderr] --> src/encode_core.rs:215:48 [INFO] [stderr] | [INFO] [stderr] 215 | fn units_so_far(&self) -> u64 { self.data_blocks_written as u64 } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u64::from(self.data_blocks_written)` [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 u32 to u64 may become silently lossy if types change [INFO] [stderr] --> src/encode_core.rs:217:48 [INFO] [stderr] | [INFO] [stderr] 217 | fn total_units(&self) -> u64 { self.total_data_blocks as u64 } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u64::from(self.total_data_blocks)` [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 seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/encode_core.rs:241:9 [INFO] [stderr] | [INFO] [stderr] 241 | / match file_size { [INFO] [stderr] 242 | | Some(f) => meta.push(Metadata::FSZ(f)), [INFO] [stderr] 243 | | None => {}, [INFO] [stderr] 244 | | } } [INFO] [stderr] | |_________^ help: try this: `if let Some(f) = file_size { meta.push(Metadata::FSZ(f)) }` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::single_match)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/encode_core.rs:246:9 [INFO] [stderr] | [INFO] [stderr] 246 | / match file_metadata { [INFO] [stderr] 247 | | &Some(ref m) => [INFO] [stderr] 248 | | match m.modified() { [INFO] [stderr] 249 | | Ok(t) => match t.duration_since(UNIX_EPOCH) { [INFO] [stderr] ... | [INFO] [stderr] 254 | | }, [INFO] [stderr] 255 | | &None => {} } } [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] 246 | match *file_metadata { [INFO] [stderr] 247 | Some(ref m) => [INFO] [stderr] 248 | match m.modified() { [INFO] [stderr] 249 | Ok(t) => match t.duration_since(UNIX_EPOCH) { [INFO] [stderr] 250 | Ok(t) => meta.push(Metadata::FDT(t.as_secs() as i64)), [INFO] [stderr] 251 | Err(_) => {} [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/encode_core.rs:248:17 [INFO] [stderr] | [INFO] [stderr] 248 | / match m.modified() { [INFO] [stderr] 249 | | Ok(t) => match t.duration_since(UNIX_EPOCH) { [INFO] [stderr] 250 | | Ok(t) => meta.push(Metadata::FDT(t.as_secs() as i64)), [INFO] [stderr] 251 | | Err(_) => {} [INFO] [stderr] 252 | | }, [INFO] [stderr] 253 | | Err(_) => {} [INFO] [stderr] 254 | | }, [INFO] [stderr] | |_________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 248 | if let Ok(t) = m.modified() { match t.duration_since(UNIX_EPOCH) { [INFO] [stderr] 249 | Ok(t) => meta.push(Metadata::FDT(t.as_secs() as i64)), [INFO] [stderr] 250 | Err(_) => {} [INFO] [stderr] 251 | } }, [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/encode_core.rs:249:31 [INFO] [stderr] | [INFO] [stderr] 249 | Ok(t) => match t.duration_since(UNIX_EPOCH) { [INFO] [stderr] | _______________________________^ [INFO] [stderr] 250 | | Ok(t) => meta.push(Metadata::FDT(t.as_secs() as i64)), [INFO] [stderr] 251 | | Err(_) => {} [INFO] [stderr] 252 | | }, [INFO] [stderr] | |_____________________^ help: try this: `if let Ok(t) = t.duration_since(UNIX_EPOCH) { meta.push(Metadata::FDT(t.as_secs() as i64)) }` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] [INFO] [stderr] warning: this function has too many arguments (9/7) [INFO] [stderr] --> src/encode_core.rs:273:1 [INFO] [stderr] | [INFO] [stderr] 273 | / fn write_meta_blocks(param : &Param, [INFO] [stderr] 274 | | stats : &Arc>, [INFO] [stderr] 275 | | file_metadata : &Option, [INFO] [stderr] 276 | | file_size : Option, [INFO] [stderr] ... | [INFO] [stderr] 316 | | Ok(()) [INFO] [stderr] 317 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [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: this function has too many arguments (8/7) [INFO] [stderr] --> src/decode_core.rs:391:1 [INFO] [stderr] | [INFO] [stderr] 391 | / fn write_data_only_block(data_par_shards : Option<(usize, usize)>, [INFO] [stderr] 392 | | is_last_data_block : bool, [INFO] [stderr] 393 | | data_size_of_last_data_block : Option, [INFO] [stderr] 394 | | ref_block : &Block, [INFO] [stderr] ... | [INFO] [stderr] 429 | | Ok(()) [INFO] [stderr] 430 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [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: you don't need to add `&` to all patterns [INFO] [stderr] --> src/decode_core.rs:415:17 [INFO] [stderr] | [INFO] [stderr] 415 | / if let &mut Some(ref mut ctx) = hash_ctx { [INFO] [stderr] 416 | | ctx.update(slice); [INFO] [stderr] 417 | | } [INFO] [stderr] | |_________________^ [INFO] [stderr] | [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] 415 | if let Some(ref mut ctx) = *hash_ctx { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/decode_core.rs:423:13 [INFO] [stderr] | [INFO] [stderr] 423 | / if let &mut Some(ref mut ctx) = hash_ctx { [INFO] [stderr] 424 | | ctx.update(slice); [INFO] [stderr] 425 | | } [INFO] [stderr] | |_____________^ [INFO] [stderr] | [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] 423 | if let Some(ref mut ctx) = *hash_ctx { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/decode_core.rs:450:5 [INFO] [stderr] | [INFO] [stderr] 450 | / if let &mut Some(ref mut ctx) = hash_ctx { [INFO] [stderr] 451 | | ctx.update(slice); [INFO] [stderr] 452 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [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] 450 | if let Some(ref mut ctx) = *hash_ctx { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: the function has a cyclomatic complexity of 57 [INFO] [stderr] --> src/decode_core.rs:457:1 [INFO] [stderr] | [INFO] [stderr] 457 | / pub fn decode(param : &Param, [INFO] [stderr] 458 | | ref_block_pos : u64, [INFO] [stderr] 459 | | ref_block : &Block, [INFO] [stderr] 460 | | ctrlc_stop_flag : &Arc) [INFO] [stderr] ... | [INFO] [stderr] 831 | | Ok((res, hash_bytes)) [INFO] [stderr] 832 | | } [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: redundant pattern matching, consider using `is_err()` [INFO] [stderr] --> src/decode_core.rs:578:24 [INFO] [stderr] | [INFO] [stderr] 578 | if let Err(_) = block.sync_from_buffer(&buffer, Some(&pred)) { [INFO] [stderr] | _________________- ^^^^^^ [INFO] [stderr] 579 | | stats.lock().unwrap().incre_blocks_failed(); [INFO] [stderr] 580 | | continue; [INFO] [stderr] 581 | | } [INFO] [stderr] | |_________________- help: try this: `if block.sync_from_buffer(&buffer, Some(&pred)).is_err()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stderr] [INFO] [stderr] error: this comparison involving the minimum or maximum element for this type contains a case that is always true or always false [INFO] [stderr] --> src/decode_core.rs:661:27 [INFO] [stderr] | [INFO] [stderr] 661 | while seq_num <= SBX_LAST_SEQ_NUM { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::absurd_extreme_comparisons)] on by default [INFO] [stderr] = help: because SBX_LAST_SEQ_NUM is the maximum value for this type, this comparison is always true [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#absurd_extreme_comparisons [INFO] [stderr] [INFO] [stderr] error: this comparison involving the minimum or maximum element for this type contains a case that is always true or always false [INFO] [stderr] --> src/decode_core.rs:729:27 [INFO] [stderr] | [INFO] [stderr] 729 | while seq_num <= SBX_LAST_SEQ_NUM { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: because SBX_LAST_SEQ_NUM is the maximum value for this type, this comparison is always true [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#absurd_extreme_comparisons [INFO] [stderr] [INFO] [stderr] warning: use as_ref() instead [INFO] [stderr] --> src/decode_core.rs:950:40 [INFO] [stderr] | [INFO] [stderr] 950 | let out_file_path : Option<&str> = match out_file_path { [INFO] [stderr] | ________________________________________^ [INFO] [stderr] 951 | | Some(ref f) => Some(f), [INFO] [stderr] 952 | | None => None, [INFO] [stderr] 953 | | }; [INFO] [stderr] | |_____^ help: try this: `out_file_path.as_ref()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::match_as_ref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_as_ref [INFO] [stderr] [INFO] [stderr] warning: this function has too many arguments (10/7) [INFO] [stderr] --> src/rescue_core.rs:50:5 [INFO] [stderr] | [INFO] [stderr] 50 | / pub fn new(in_file : &str, [INFO] [stderr] 51 | | out_dir : &str, [INFO] [stderr] 52 | | log_file : Option<&str>, [INFO] [stderr] 53 | | from_pos : Option, [INFO] [stderr] ... | [INFO] [stderr] 77 | | } [INFO] [stderr] 78 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [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: using `clone` on a `Copy` type [INFO] [stderr] --> src/rescue_core.rs:74:33 [INFO] [stderr] | [INFO] [stderr] 74 | Some(x) => Some(x.clone()) [INFO] [stderr] | ^^^^^^^^^ help: try dereferencing it: `*x` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: redundant pattern matching, consider using `is_err()` [INFO] [stderr] --> src/repair_core.rs:171:19 [INFO] [stderr] | [INFO] [stderr] 171 | } else if let Err(_) = block.sync_from_buffer(rs_codec.get_block_buffer(), [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 171 | } else if block.sync_from_buffer(rs_codec.get_block_buffer(), [INFO] [stderr] 172 | Some(pred)).is_err() [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: the function has a cyclomatic complexity of 40 [INFO] [stderr] --> src/repair_core.rs:225:1 [INFO] [stderr] | [INFO] [stderr] 225 | / pub fn repair_file(param : &Param) [INFO] [stderr] 226 | | -> Result, Error> { [INFO] [stderr] 227 | | let ctrlc_stop_flag = setup_ctrlc_handler(param.json_printer.json_enabled()); [INFO] [stderr] 228 | | [INFO] [stderr] ... | [INFO] [stderr] 403 | | Ok(Some(stats)) [INFO] [stderr] 404 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [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] error: this comparison involving the minimum or maximum element for this type contains a case that is always true or always false [INFO] [stderr] --> src/repair_core.rs:356:11 [INFO] [stderr] | [INFO] [stderr] 356 | while seq_num <= SBX_LAST_SEQ_NUM { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: because SBX_LAST_SEQ_NUM is the maximum value for this type, this comparison is always true [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#absurd_extreme_comparisons [INFO] [stderr] [INFO] [stderr] warning: this function has too many arguments (8/7) [INFO] [stderr] --> src/show_core.rs:93:5 [INFO] [stderr] | [INFO] [stderr] 93 | / pub fn new(show_all : bool, [INFO] [stderr] 94 | | guess_burst : bool, [INFO] [stderr] 95 | | force_misalign : bool, [INFO] [stderr] 96 | | json_printer : &Arc, [INFO] [stderr] ... | [INFO] [stderr] 110 | | } [INFO] [stderr] 111 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [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: the function has a cyclomatic complexity of 57 [INFO] [stderr] --> src/show_core.rs:114:1 [INFO] [stderr] | [INFO] [stderr] 114 | / pub fn show_file(param : &Param) [INFO] [stderr] 115 | | -> Result { [INFO] [stderr] 116 | | let ctrlc_stop_flag = setup_ctrlc_handler(param.json_printer.json_enabled()); [INFO] [stderr] 117 | | [INFO] [stderr] ... | [INFO] [stderr] 314 | | Ok(stats) [INFO] [stderr] 315 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [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: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/show_core.rs:240:56 [INFO] [stderr] | [INFO] [stderr] 240 | block.get_FNM().unwrap().unwrap_or("N/A".to_string())); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|| "N/A".to_string())` [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/show_core.rs:242:56 [INFO] [stderr] | [INFO] [stderr] 242 | block.get_SNM().unwrap().unwrap_or("N/A".to_string())); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|| "N/A".to_string())` [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: redundant pattern matching, consider using `is_err()` [INFO] [stderr] --> src/sort_core.rs:197:16 [INFO] [stderr] | [INFO] [stderr] 197 | if let Err(_) = block.sync_from_buffer(&buffer, Some(&pred)) { [INFO] [stderr] | _________- ^^^^^^ [INFO] [stderr] 198 | | stats.lock().unwrap().blocks_decode_failed += 1; [INFO] [stderr] 199 | | continue; [INFO] [stderr] 200 | | } [INFO] [stderr] | |_________- help: try this: `if block.sync_from_buffer(&buffer, Some(&pred)).is_err()` [INFO] [stderr] | [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: this boolean expression can be simplified [INFO] [stderr] --> src/progress_report.rs:275:8 [INFO] [stderr] | [INFO] [stderr] 275 | if ((verbose_while_active && !progress_complete) [INFO] [stderr] | ________^ [INFO] [stderr] 276 | | || (verbose_when_done && progress_complete)) [INFO] [stderr] 277 | | && !(context.finish_printed && progress_complete) [INFO] [stderr] | |_________________________________________________________^ help: try: `progress_complete && verbose_when_done && !context.finish_printed || verbose_while_active && !progress_complete` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::nonminimal_bool)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/progress_report.rs:356:44 [INFO] [stderr] | [INFO] [stderr] 356 | element : &ProgressElement) [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: consider passing by value instead: `ProgressElement` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: the function has a cyclomatic complexity of 183 [INFO] [stderr] --> src/cli_encode.rs:73:1 [INFO] [stderr] | [INFO] [stderr] 73 | / pub fn encode<'a>(matches : &ArgMatches<'a>) -> i32 { [INFO] [stderr] 74 | | let json_printer = get_json_printer!(matches); [INFO] [stderr] 75 | | [INFO] [stderr] 76 | | json_printer.print_open_bracket(None, BracketType::Curly); [INFO] [stderr] ... | [INFO] [stderr] 234 | | } [INFO] [stderr] 235 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [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: Err(_) will match all errors, maybe not a good idea [INFO] [stderr] --> src/cli_macros.rs:207:13 [INFO] [stderr] | [INFO] [stderr] 207 | Err(_) => { panic!(); } [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] ::: src/cli_encode.rs:95:13 [INFO] [stderr] | [INFO] [stderr] 95 | check_data_parity_shards!(data_shards, parity_shards, json_printer); [INFO] [stderr] | -------------------------------------------------------------------- in this macro invocation [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 53 [INFO] [stderr] --> src/cli_decode.rs:36:1 [INFO] [stderr] | [INFO] [stderr] 36 | / pub fn decode<'a>(matches : &ArgMatches<'a>) -> i32 { [INFO] [stderr] 37 | | let mut json_printer = get_json_printer!(matches); [INFO] [stderr] 38 | | [INFO] [stderr] 39 | | let out = matches.value_of("out"); [INFO] [stderr] ... | [INFO] [stderr] 92 | | } [INFO] [stderr] 93 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [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: the function has a cyclomatic complexity of 90 [INFO] [stderr] --> src/cli_rescue.rs:56:1 [INFO] [stderr] | [INFO] [stderr] 56 | / pub fn rescue<'a>(matches : &ArgMatches<'a>) -> i32 { [INFO] [stderr] 57 | | let json_printer = get_json_printer!(matches); [INFO] [stderr] 58 | | [INFO] [stderr] 59 | | json_printer.print_open_bracket(None, BracketType::Curly); [INFO] [stderr] ... | [INFO] [stderr] 115 | | } [INFO] [stderr] 116 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [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: the function has a cyclomatic complexity of 44 [INFO] [stderr] --> src/cli_show.rs:32:1 [INFO] [stderr] | [INFO] [stderr] 32 | / pub fn show<'a>(matches : &ArgMatches<'a>) -> i32 { [INFO] [stderr] 33 | | let json_printer = get_json_printer!(matches); [INFO] [stderr] 34 | | [INFO] [stderr] 35 | | json_printer.print_open_bracket(None, BracketType::Curly); [INFO] [stderr] ... | [INFO] [stderr] 55 | | } [INFO] [stderr] 56 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [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: the function has a cyclomatic complexity of 40 [INFO] [stderr] --> src/cli_repair.rs:37:1 [INFO] [stderr] | [INFO] [stderr] 37 | / pub fn repair<'a>(matches : &ArgMatches<'a>) -> i32 { [INFO] [stderr] 38 | | let json_printer = get_json_printer!(matches); [INFO] [stderr] 39 | | [INFO] [stderr] 40 | | json_printer.print_open_bracket(None, BracketType::Curly); [INFO] [stderr] ... | [INFO] [stderr] 87 | | } [INFO] [stderr] 88 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [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: the function has a cyclomatic complexity of 30 [INFO] [stderr] --> src/cli_check.rs:25:1 [INFO] [stderr] | [INFO] [stderr] 25 | / pub fn check<'a>(matches : &ArgMatches<'a>) -> i32 { [INFO] [stderr] 26 | | let json_printer = get_json_printer!(matches); [INFO] [stderr] 27 | | [INFO] [stderr] 28 | | json_printer.print_open_bracket(None, BracketType::Curly); [INFO] [stderr] ... | [INFO] [stderr] 43 | | } [INFO] [stderr] 44 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [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: the function has a cyclomatic complexity of 47 [INFO] [stderr] --> src/cli_sort.rs:35:1 [INFO] [stderr] | [INFO] [stderr] 35 | / pub fn sort<'a>(matches : &ArgMatches<'a>) -> i32 { [INFO] [stderr] 36 | | let json_printer = get_json_printer!(matches); [INFO] [stderr] 37 | | [INFO] [stderr] 38 | | json_printer.print_open_bracket(None, BracketType::Curly); [INFO] [stderr] ... | [INFO] [stderr] 71 | | } [INFO] [stderr] 72 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [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: the function has a cyclomatic complexity of 109 [INFO] [stderr] --> src/cli_calc.rs:35:1 [INFO] [stderr] | [INFO] [stderr] 35 | / pub fn calc<'a>(matches : &ArgMatches<'a>) -> i32 { [INFO] [stderr] 36 | | let json_printer = get_json_printer!(matches); [INFO] [stderr] 37 | | [INFO] [stderr] 38 | | json_printer.print_open_bracket(None, BracketType::Curly); [INFO] [stderr] ... | [INFO] [stderr] 197 | | exit_with_msg!(ok json_printer => "") [INFO] [stderr] 198 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [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: Err(_) will match all errors, maybe not a good idea [INFO] [stderr] --> src/cli_macros.rs:207:13 [INFO] [stderr] | [INFO] [stderr] 207 | Err(_) => { panic!(); } [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] ::: src/cli_calc.rs:56:13 [INFO] [stderr] | [INFO] [stderr] 56 | check_data_parity_shards!(data_shards, parity_shards, json_printer); [INFO] [stderr] | -------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [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] error: this `if` has identical blocks [INFO] [stderr] --> src/cli_calc.rs:95:12 [INFO] [stderr] | [INFO] [stderr] 95 | } else { [INFO] [stderr] | ____________^ [INFO] [stderr] 96 | | print_maybe_json!(json_printer, " SBX container version : {}", ver_to_usize(version)); [INFO] [stderr] 97 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::if_same_then_else)] on by default [INFO] [stderr] note: same as this [INFO] [stderr] --> src/cli_calc.rs:92:29 [INFO] [stderr] | [INFO] [stderr] 92 | if ver_uses_rs(version) { [INFO] [stderr] | _____________________________^ [INFO] [stderr] 93 | | print_maybe_json!(json_printer, " SBX container version : {}", [INFO] [stderr] 94 | | ver_to_usize(version)); [INFO] [stderr] 95 | | } else { [INFO] [stderr] | |_____^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#if_same_then_else [INFO] [stderr] [INFO] [stderr] error: aborting due to 4 previous errors [INFO] [stderr] [INFO] [stderr] error: Could not compile `rsbx`. [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/crc_ccitt.rs:48:26 [INFO] [stderr] | [INFO] [stderr] 48 | let c_u16 :u16 = *c as u16; [INFO] [stderr] | ^^^^^^^^^ help: try: `u16::from(*c)` [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: the loop variable `i` is used to index `buffer` [INFO] [stderr] --> src/multihash.rs:54:14 [INFO] [stderr] | [INFO] [stderr] 54 | for i in 0..param.hash_func_type.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] 54 | for (i, ) in buffer.iter_mut().enumerate().take(param.hash_func_type.len()) { [INFO] [stderr] | ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: it looks like you're manually copying between slices [INFO] [stderr] --> src/multihash.rs:54:14 [INFO] [stderr] | [INFO] [stderr] 54 | for i in 0..param.hash_func_type.len() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try replacing the loop by: `buffer[..param.hash_func_type.len()].clone_from_slice(¶m.hash_func_type[..])` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::manual_memcpy)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_memcpy [INFO] [stderr] [INFO] [stderr] warning: redundant pattern matching, consider using `is_ok()` [INFO] [stderr] --> src/multihash.rs:151:9 [INFO] [stderr] | [INFO] [stderr] 151 | / match Ctx::new(hash_type) { [INFO] [stderr] 152 | | Ok(_) => true, [INFO] [stderr] 153 | | Err(_) => false [INFO] [stderr] 154 | | } [INFO] [stderr] | |_________^ help: try this: `Ctx::new(hash_type).is_ok()` [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: the function has a cyclomatic complexity of 37 [INFO] [stderr] --> src/multihash_tests.rs:205:1 [INFO] [stderr] | [INFO] [stderr] 205 | / fn test_string_to_hash_type() { [INFO] [stderr] 206 | | { [INFO] [stderr] 207 | | assert_eq!(HashType::SHA1, string_to_hash_type("SHA1").unwrap()); [INFO] [stderr] 208 | | assert_eq!(HashType::SHA1, string_to_hash_type("sha1").unwrap()); [INFO] [stderr] ... | [INFO] [stderr] 259 | | } [INFO] [stderr] 260 | | } [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: the loop variable `i` is used to index `path_parts` [INFO] [stderr] --> src/misc_utils.rs:172:14 [INFO] [stderr] | [INFO] [stderr] 172 | for i in 0..path_parts.len() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [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] 172 | for (i, ) in path_parts.iter().enumerate() { [INFO] [stderr] | ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/misc_utils.rs:179:16 [INFO] [stderr] | [INFO] [stderr] 179 | if res.len() > 0 { [INFO] [stderr] | ^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!res.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: redundant pattern matching, consider using `is_none()` [INFO] [stderr] --> src/misc_utils.rs:220:16 [INFO] [stderr] | [INFO] [stderr] 220 | if let None = chars.find(c) { [INFO] [stderr] | _________- ^^^^ [INFO] [stderr] 221 | | if let None = start { [INFO] [stderr] 222 | | start = Some(i); [INFO] [stderr] 223 | | } [INFO] [stderr] 224 | | end_inc = i; [INFO] [stderr] 225 | | } [INFO] [stderr] | |_________- help: try this: `if chars.find(c).is_none()` [INFO] [stderr] | [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: redundant pattern matching, consider using `is_none()` [INFO] [stderr] --> src/misc_utils.rs:221:20 [INFO] [stderr] | [INFO] [stderr] 221 | if let None = start { [INFO] [stderr] | _____________- ^^^^ [INFO] [stderr] 222 | | start = Some(i); [INFO] [stderr] 223 | | } [INFO] [stderr] | |_____________- help: try this: `if start.is_none()` [INFO] [stderr] | [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: an inclusive range would be more readable [INFO] [stderr] --> src/misc_utils.rs:229:17 [INFO] [stderr] | [INFO] [stderr] 229 | &string[start.unwrap_or(0)..end_inc+1] [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use: `start.unwrap_or(0)..=end_inc` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::range_plus_one)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#range_plus_one [INFO] [stderr] [INFO] [stderr] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/misc_utils_tests.rs:106:5 [INFO] [stderr] | [INFO] [stderr] 106 | assert_eq!(0.2, f64_max(0.1, 0.2)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::float_cmp)] on by default [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/misc_utils_tests.rs:106:5 [INFO] [stderr] | [INFO] [stderr] 106 | assert_eq!(0.2, f64_max(0.1, 0.2)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#float_cmp [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/misc_utils_tests.rs:107:5 [INFO] [stderr] | [INFO] [stderr] 107 | assert_eq!(10.0, f64_max(10.0, 9.0)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/misc_utils_tests.rs:107:5 [INFO] [stderr] | [INFO] [stderr] 107 | assert_eq!(10.0, f64_max(10.0, 9.0)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#float_cmp [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/misc_utils_tests.rs:108:5 [INFO] [stderr] | [INFO] [stderr] 108 | assert_eq!(0.3, f64_max(0.3, 0.2)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/misc_utils_tests.rs:108:5 [INFO] [stderr] | [INFO] [stderr] 108 | assert_eq!(0.3, f64_max(0.3, 0.2)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#float_cmp [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/misc_utils_tests.rs:109:5 [INFO] [stderr] | [INFO] [stderr] 109 | assert_eq!(100.0, f64_max(9.0, 100.0)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/misc_utils_tests.rs:109:5 [INFO] [stderr] | [INFO] [stderr] 109 | assert_eq!(100.0, f64_max(9.0, 100.0)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#float_cmp [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/misc_utils_tests.rs:110:5 [INFO] [stderr] | [INFO] [stderr] 110 | assert_eq!(-1.0, f64_max(-1.0, -2.0)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/misc_utils_tests.rs:110:5 [INFO] [stderr] | [INFO] [stderr] 110 | assert_eq!(-1.0, f64_max(-1.0, -2.0)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#float_cmp [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/misc_utils_tests.rs:111:5 [INFO] [stderr] | [INFO] [stderr] 111 | assert_eq!(2.0, f64_max(2.0, -10.0)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/misc_utils_tests.rs:111:5 [INFO] [stderr] | [INFO] [stderr] 111 | assert_eq!(2.0, f64_max(2.0, -10.0)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#float_cmp [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: the function has a cyclomatic complexity of 67 [INFO] [stderr] --> src/file_utils_tests.rs:372:5 [INFO] [stderr] | [INFO] [stderr] 372 | / fn test_calc_container_size_simple_cases() { [INFO] [stderr] 373 | | assert_eq!(0, calc_container_size(Version::V1, Some(false), None, 0)); [INFO] [stderr] 374 | | assert_eq!(0, calc_container_size(Version::V2, Some(false), None, 0)); [INFO] [stderr] 375 | | assert_eq!(0, calc_container_size(Version::V3, Some(false), None, 0)); [INFO] [stderr] ... | [INFO] [stderr] 455 | | assert_eq!(37330944, calc_container_size(Version::V19, None, Some((11, 3, 7)), 29_000_000)); [INFO] [stderr] 456 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [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: the loop variable `i` is only used to index `bytes`. [INFO] [stderr] --> src/rand_utils.rs:5:14 [INFO] [stderr] | [INFO] [stderr] 5 | for i in 0..bytes.len() { [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [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] 5 | for in &mut bytes { [INFO] [stderr] | ^^^^^^ ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/time_utils.rs:20:19 [INFO] [stderr] | [INFO] [stderr] 20 | sec as f64 + (nsec as f64 / 1_000_000_000.) [INFO] [stderr] | ^^^^^^^^^^^ help: try: `f64::from(nsec)` [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: redundant pattern matching, consider using `is_none()` [INFO] [stderr] --> src/block_utils.rs:167:24 [INFO] [stderr] | [INFO] [stderr] 167 | if let None = meta_block { [INFO] [stderr] | _________________- ^^^^ [INFO] [stderr] 168 | | meta_block = Some((block_pos, block.clone())); [INFO] [stderr] 169 | | } [INFO] [stderr] | |_________________- help: try this: `if meta_block.is_none()` [INFO] [stderr] | [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: redundant pattern matching, consider using `is_none()` [INFO] [stderr] --> src/block_utils.rs:172:24 [INFO] [stderr] | [INFO] [stderr] 172 | if let None = data_block { [INFO] [stderr] | _________________- ^^^^ [INFO] [stderr] 173 | | data_block = Some((block_pos, block.clone())); [INFO] [stderr] 174 | | } [INFO] [stderr] | |_________________- help: try this: `if data_block.is_none()` [INFO] [stderr] | [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: redundant pattern matching, consider using `is_some()` [INFO] [stderr] --> src/block_utils.rs:180:24 [INFO] [stderr] | [INFO] [stderr] 180 | if let Some(_) = meta_block { break; } [INFO] [stderr] | -------^^^^^^^------------------------ help: try this: `if meta_block.is_some()` [INFO] [stderr] | [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: redundant pattern matching, consider using `is_some()` [INFO] [stderr] --> src/block_utils.rs:181:24 [INFO] [stderr] | [INFO] [stderr] 181 | if let Some(_) = data_block { break; } [INFO] [stderr] | -------^^^^^^^------------------------ help: try this: `if data_block.is_some()` [INFO] [stderr] | [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: redundant pattern matching, consider using `is_some()` [INFO] [stderr] --> src/block_utils.rs:186:28 [INFO] [stderr] | [INFO] [stderr] 186 | if let Some(_) = meta_block { break; } [INFO] [stderr] | -------^^^^^^^------------------------ help: try this: `if meta_block.is_some()` [INFO] [stderr] | [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: redundant pattern matching, consider using `is_some()` [INFO] [stderr] --> src/block_utils.rs:189:28 [INFO] [stderr] | [INFO] [stderr] 189 | if let Some(_) = data_block { break; } [INFO] [stderr] | -------^^^^^^^------------------------ help: try this: `if data_block.is_some()` [INFO] [stderr] | [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: the loop variable `level` is used to index `mismatches_for_level` [INFO] [stderr] --> src/block_utils.rs:282:18 [INFO] [stderr] | [INFO] [stderr] 282 | for level in 0..mismatches_for_level.len() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [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] 282 | for (level, ) in mismatches_for_level.iter_mut().enumerate() { [INFO] [stderr] | ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: the loop variable `index` is used to index `seq_nums` [INFO] [stderr] --> src/block_utils.rs:283:22 [INFO] [stderr] | [INFO] [stderr] 283 | for index in 0..seq_nums.len() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [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] 283 | for (index, ) in seq_nums.iter().enumerate() { [INFO] [stderr] | ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: methods called `from_*` usually take no self; consider choosing a less ambiguous name [INFO] [stderr] --> src/sbx_block/header.rs:55:23 [INFO] [stderr] | [INFO] [stderr] 55 | pub fn from_bytes(&mut self, buffer : &[u8]) -> Result<(), Error> { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::wrong_self_convention)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#wrong_self_convention [INFO] [stderr] [INFO] [stderr] warning: it looks like you're manually copying between slices [INFO] [stderr] --> src/sbx_block/metadata.rs:114:14 [INFO] [stderr] | [INFO] [stderr] 114 | for i in 0..id.len() { [INFO] [stderr] | ^^^^^^^^^^^ help: try replacing the loop by: `buffer[..id.len()].clone_from_slice(&id[..])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_memcpy [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is only used to index `buffer`. [INFO] [stderr] --> src/sbx_block/metadata.rs:164:14 [INFO] [stderr] | [INFO] [stderr] 164 | for i in cur_pos..buffer.len() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [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] 164 | for in buffer.iter_mut().skip(cur_pos) { [INFO] [stderr] | ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is only used to index `metas`. [INFO] [stderr] --> src/sbx_block/metadata.rs:186:14 [INFO] [stderr] | [INFO] [stderr] 186 | for i in 0..metas.len() { [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [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] 186 | for in &metas { [INFO] [stderr] | ^^^^^^ ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: redundant pattern matching, consider using `is_none()` [INFO] [stderr] --> src/sbx_block/metadata.rs:298:28 [INFO] [stderr] | [INFO] [stderr] 298 | if let None = rsd { rsd = Some(d as usize); } [INFO] [stderr] | -------^^^^---------------------------------- help: try this: `if rsd.is_none()` [INFO] [stderr] | [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: redundant pattern matching, consider using `is_none()` [INFO] [stderr] --> src/sbx_block/metadata.rs:305:28 [INFO] [stderr] | [INFO] [stderr] 305 | if let None = rsp { rsp = Some(p as usize); } [INFO] [stderr] | -------^^^^---------------------------------- help: try this: `if rsp.is_none()` [INFO] [stderr] | [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: the loop variable `index` is used to index `table` [INFO] [stderr] --> src/sbx_block/tests.rs:83:22 [INFO] [stderr] | [INFO] [stderr] 83 | for index in 0..table.len() { [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [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] 83 | for (index, ) in table.iter().enumerate() { [INFO] [stderr] | ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: the loop variable `index` is used to index `table` [INFO] [stderr] --> src/sbx_block/tests.rs:131:22 [INFO] [stderr] | [INFO] [stderr] 131 | for index in 0..table.len() { [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [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] 131 | for (index, ) in table.iter().enumerate() { [INFO] [stderr] | ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: the operation is ineffective. Consider reducing it to `(TOTAL * BURST)` [INFO] [stderr] --> src/sbx_block/tests.rs:152:27 [INFO] [stderr] | [INFO] [stderr] 152 | let table : [u32; 1 * (TOTAL * BURST) + (1 + PARITY)] = [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::identity_op)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stderr] [INFO] [stderr] warning: the loop variable `index` is used to index `table` [INFO] [stderr] --> src/sbx_block/tests.rs:177:22 [INFO] [stderr] | [INFO] [stderr] 177 | for index in 0..table.len() { [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [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] 177 | for (index, ) in table.iter().enumerate() { [INFO] [stderr] | ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: the loop variable `index` is used to index `table` [INFO] [stderr] --> src/sbx_block/tests.rs:216:22 [INFO] [stderr] | [INFO] [stderr] 216 | for index in 0..table.len() { [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [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] 216 | for (index, ) in table.iter().enumerate() { [INFO] [stderr] | ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: the loop variable `index` is used to index `table` [INFO] [stderr] --> src/sbx_block/tests.rs:250:22 [INFO] [stderr] | [INFO] [stderr] 250 | for index in 0..table.len() { [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [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] 250 | for (index, ) in table.iter().enumerate() { [INFO] [stderr] | ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: the operation is ineffective. Consider reducing it to `(TOTAL * BURST)` [INFO] [stderr] --> src/sbx_block/tests.rs:267:27 [INFO] [stderr] | [INFO] [stderr] 267 | let table : [u32; 1 * (TOTAL * BURST) + (1 + PARITY)] = [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stderr] [INFO] [stderr] warning: the loop variable `index` is used to index `table` [INFO] [stderr] --> src/sbx_block/tests.rs:282:22 [INFO] [stderr] | [INFO] [stderr] 282 | for index in 0..table.len() { [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [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] 282 | for (index, ) in table.iter().enumerate() { [INFO] [stderr] | ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: casting u32 to u64 may become silently lossy if types change [INFO] [stderr] --> src/sbx_block/tests.rs:687:9 [INFO] [stderr] | [INFO] [stderr] 687 | seq_num as u64 - 1 == calc_data_chunk_write_index(seq_num, None).unwrap() [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try: `u64::from(seq_num)` [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: equality checks against false can be replaced by a negation [INFO] [stderr] --> src/sbx_block/tests.rs:911:13 [INFO] [stderr] | [INFO] [stderr] 911 | block.is_parity(data, parity) == false [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try simplifying it as shown: `!block.is_parity(data, parity)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::bool_comparison)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_comparison [INFO] [stderr] [INFO] [stderr] warning: equality checks against false can be replaced by a negation [INFO] [stderr] --> src/sbx_block/tests.rs:920:13 [INFO] [stderr] | [INFO] [stderr] 920 | block.is_parity(data, parity) == false [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try simplifying it as shown: `!block.is_parity(data, parity)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_comparison [INFO] [stderr] [INFO] [stderr] warning: equality checks against false can be replaced by a negation [INFO] [stderr] --> src/sbx_block/tests.rs:929:13 [INFO] [stderr] | [INFO] [stderr] 929 | block.is_parity(data, parity) == false [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try simplifying it as shown: `!block.is_parity(data, parity)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_comparison [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/sbx_block/header_tests.rs:232:23 [INFO] [stderr] | [INFO] [stderr] 232 | expect.crc = ((buffer[4] as u16) << 8) + (buffer[5] as u16); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: try: `u16::from(buffer[4])` [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/sbx_block/header_tests.rs:232:50 [INFO] [stderr] | [INFO] [stderr] 232 | expect.crc = ((buffer[4] as u16) << 8) + (buffer[5] as u16); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: try: `u16::from(buffer[5])` [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: it looks like you're manually copying between slices [INFO] [stderr] --> src/sbx_block/header_tests.rs:233:18 [INFO] [stderr] | [INFO] [stderr] 233 | for i in 0..6 { [INFO] [stderr] | ^^^^ help: try replacing the loop by: `expect.uid[..6].clone_from_slice(&buffer[6..(6 + 6)])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_memcpy [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u32 may become silently lossy if types change [INFO] [stderr] --> src/sbx_block/header_tests.rs:237:14 [INFO] [stderr] | [INFO] [stderr] 237 | ((buffer[12] as u32) << 24) + [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try: `u32::from(buffer[12])` [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/sbx_block/header_tests.rs:238:14 [INFO] [stderr] | [INFO] [stderr] 238 | ((buffer[13] as u32) << 16) + [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try: `u32::from(buffer[13])` [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/sbx_block/header_tests.rs:239:14 [INFO] [stderr] | [INFO] [stderr] 239 | ((buffer[14] as u32) << 8) + [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try: `u32::from(buffer[14])` [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/sbx_block/header_tests.rs:240:13 [INFO] [stderr] | [INFO] [stderr] 240 | (buffer[15] as u32); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try: `u32::from(buffer[15])` [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: it looks like you're manually copying between slices [INFO] [stderr] --> src/sbx_block/header_tests.rs:274:18 [INFO] [stderr] | [INFO] [stderr] 274 | for i in 0..6 { [INFO] [stderr] | ^^^^ help: try replacing the loop by: `expect[6..(6 + 6)].clone_from_slice(&header.uid[..6])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_memcpy [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is only used to index `buffer`. [INFO] [stderr] --> src/sbx_block/metadata_tests.rs:21:18 [INFO] [stderr] | [INFO] [stderr] 21 | for i in expect.len()..buffer.len() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [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] 21 | for in buffer.iter().skip(expect.len()) { [INFO] [stderr] | ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is only used to index `buffer`. [INFO] [stderr] --> src/sbx_block/metadata_tests.rs:34:18 [INFO] [stderr] | [INFO] [stderr] 34 | for i in expect.len()..buffer.len() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [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] 34 | for in buffer.iter().skip(expect.len()) { [INFO] [stderr] | ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is only used to index `buffer`. [INFO] [stderr] --> src/sbx_block/metadata_tests.rs:47:18 [INFO] [stderr] | [INFO] [stderr] 47 | for i in expect.len()..buffer.len() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [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] 47 | for in buffer.iter().skip(expect.len()) { [INFO] [stderr] | ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is only used to index `buffer`. [INFO] [stderr] --> src/sbx_block/metadata_tests.rs:60:18 [INFO] [stderr] | [INFO] [stderr] 60 | for i in expect.len()..buffer.len() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [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] 60 | for in buffer.iter().skip(expect.len()) { [INFO] [stderr] | ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is only used to index `buffer`. [INFO] [stderr] --> src/sbx_block/metadata_tests.rs:73:18 [INFO] [stderr] | [INFO] [stderr] 73 | for i in expect.len()..buffer.len() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [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] 73 | for in buffer.iter().skip(expect.len()) { [INFO] [stderr] | ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is only used to index `buffer`. [INFO] [stderr] --> src/sbx_block/metadata_tests.rs:91:18 [INFO] [stderr] | [INFO] [stderr] 91 | for i in expect.len()..buffer.len() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [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] 91 | for in buffer.iter().skip(expect.len()) { [INFO] [stderr] | ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is only used to index `buffer`. [INFO] [stderr] --> src/sbx_block/metadata_tests.rs:104:18 [INFO] [stderr] | [INFO] [stderr] 104 | for i in expect.len()..buffer.len() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [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] 104 | for in buffer.iter().skip(expect.len()) { [INFO] [stderr] | ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is only used to index `buffer`. [INFO] [stderr] --> src/sbx_block/metadata_tests.rs:117:18 [INFO] [stderr] | [INFO] [stderr] 117 | for i in expect.len()..buffer.len() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [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] 117 | for in buffer.iter().skip(expect.len()) { [INFO] [stderr] | ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: the function has a cyclomatic complexity of 65 [INFO] [stderr] --> src/sbx_block/metadata_tests.rs:236:1 [INFO] [stderr] | [INFO] [stderr] 236 | / fn test_get_meta_ref_by_id() { [INFO] [stderr] 237 | | { [INFO] [stderr] 238 | | let metas = [//Metadata::FNM("".to_string()), [INFO] [stderr] 239 | | Metadata::SNM("".to_string()), [INFO] [stderr] ... | [INFO] [stderr] 389 | | } [INFO] [stderr] 390 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [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: the function has a cyclomatic complexity of 73 [INFO] [stderr] --> src/sbx_block/metadata_tests.rs:393:1 [INFO] [stderr] | [INFO] [stderr] 393 | / fn test_get_meta_ref_mut_by_id() { [INFO] [stderr] 394 | | { [INFO] [stderr] 395 | | let mut metas = [Metadata::FNM("".to_string()), [INFO] [stderr] 396 | | Metadata::SNM("".to_string()), [INFO] [stderr] ... | [INFO] [stderr] 565 | | } [INFO] [stderr] 566 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [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: the loop variable `i` is only used to index `buffer`. [INFO] [stderr] --> src/sbx_block/mod.rs:148:14 [INFO] [stderr] | [INFO] [stderr] 148 | for i in start..block_size { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [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] 148 | for in buffer.iter_mut().take(block_size).skip(start) { [INFO] [stderr] | ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/sbx_block/mod.rs:223:9 [INFO] [stderr] | [INFO] [stderr] 223 | *i = *i * block_size; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `*i *= block_size` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::assign_op_pattern)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: an inclusive range would be more readable [INFO] [stderr] --> src/sbx_block/mod.rs:236:22 [INFO] [stderr] | [INFO] [stderr] 236 | for i in 1..1 + parity as u64 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: use: `1..=parity as u64` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#range_plus_one [INFO] [stderr] [INFO] [stderr] warning: casting u32 to u64 may become silently lossy if types change [INFO] [stderr] --> src/sbx_block/mod.rs:295:17 [INFO] [stderr] | [INFO] [stderr] 295 | let index = (seq_num - SBX_FIRST_DATA_SEQ_NUM) as u64; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u64::from(seq_num - SBX_FIRST_DATA_SEQ_NUM)` [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 u32 to u64 may become silently lossy if types change [INFO] [stderr] --> src/sbx_block/mod.rs:301:31 [INFO] [stderr] | [INFO] [stderr] 301 | if meta_enabled { SBX_FIRST_DATA_SEQ_NUM as u64 + index } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u64::from(SBX_FIRST_DATA_SEQ_NUM)` [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 u32 to u64 may become silently lossy if types change [INFO] [stderr] --> src/sbx_block/mod.rs:389:21 [INFO] [stderr] | [INFO] [stderr] 389 | let index = (seq_num - SBX_FIRST_DATA_SEQ_NUM) as u64; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u64::from(seq_num - SBX_FIRST_DATA_SEQ_NUM)` [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: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/sbx_block/mod.rs:514:29 [INFO] [stderr] | [INFO] [stderr] 514 | uid : &[u8; SBX_FILE_UID_LEN], [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: consider passing by value instead: `[u8; SBX_FILE_UID_LEN]` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::trivially_copy_pass_by_ref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/sbx_block/mod.rs:521:51 [INFO] [stderr] | [INFO] [stderr] 521 | header : Header::new(version, uid.clone(), seq_num), [INFO] [stderr] | ^^^^^^^^^^^ help: try dereferencing it: `*uid` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::clone_on_copy)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/sbx_block/mod.rs:528:51 [INFO] [stderr] | [INFO] [stderr] 528 | header : Header::new(version, uid.clone(), seq_num), [INFO] [stderr] | ^^^^^^^^^^^ help: try dereferencing it: `*uid` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: casting u32 to u64 may become silently lossy if types change [INFO] [stderr] --> src/sbx_specs.rs:154:5 [INFO] [stderr] | [INFO] [stderr] 154 | SBX_MAX_DATA_BLOCK_COUNT as u64 * data_block_size [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u64::from(SBX_MAX_DATA_BLOCK_COUNT)` [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: the loop variable `i` is used to index `refs` [INFO] [stderr] --> src/rs_codec/encoder_tests.rs:55:26 [INFO] [stderr] | [INFO] [stderr] 55 | for i in 0..9 { [INFO] [stderr] | ^^^^ [INFO] [stderr] | [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] 55 | for (i, ) in refs.iter().enumerate().take(9) { [INFO] [stderr] | ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: the variable `i` is used as a loop counter. Consider using `for (i, item) in encoder.encode_no_block_sync(refs[9]).unwrap().iter().enumerate()` or similar iterators [INFO] [stderr] --> src/rs_codec/encoder_tests.rs:64:26 [INFO] [stderr] | [INFO] [stderr] 64 | for b in encoder.encode_no_block_sync(refs[9]).unwrap().iter() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::explicit_counter_loop)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#explicit_counter_loop [INFO] [stderr] [INFO] [stderr] warning: an inclusive range would be more readable [INFO] [stderr] --> src/rs_codec/encoder_tests.rs:106:22 [INFO] [stderr] | [INFO] [stderr] 106 | for _ in 0..1 + reuse { [INFO] [stderr] | ^^^^^^^^^^^^ help: use: `0..=reuse` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#range_plus_one [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is used to index `refs` [INFO] [stderr] --> src/rs_codec/encoder_tests.rs:113:30 [INFO] [stderr] | [INFO] [stderr] 113 | for i in 0..data - 1 { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [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] 113 | for (i, ) in refs.iter().enumerate().take(data - 1) { [INFO] [stderr] | ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: the variable `i` is used as a loop counter. Consider using `for (i, item) in encoder.encode_no_block_sync(refs[data - 1]).unwrap().iter().enumerate()` or similar iterators [INFO] [stderr] --> src/rs_codec/encoder_tests.rs:130:30 [INFO] [stderr] | [INFO] [stderr] 130 | for b in encoder.encode_no_block_sync(refs[data - 1]).unwrap().iter() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#explicit_counter_loop [INFO] [stderr] [INFO] [stderr] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stderr] --> src/rs_codec/repairer.rs:279:9 [INFO] [stderr] | [INFO] [stderr] 279 | / (RSRepairStats, [INFO] [stderr] 280 | | SmallVec<[(u64, &[u8]); 32]>) [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: the function has a cyclomatic complexity of 83 [INFO] [stderr] --> src/rs_codec/repairer_tests.rs:36:1 [INFO] [stderr] | [INFO] [stderr] 36 | / fn test_repairer_repair_properly_simple_cases() { [INFO] [stderr] 37 | | let json_printer = Arc::new(JSONPrinter::new(false, OutputChannel::Stdout)); [INFO] [stderr] 38 | | [INFO] [stderr] 39 | | let version = Version::V17; [INFO] [stderr] ... | [INFO] [stderr] 221 | | } [INFO] [stderr] 222 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [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: the variable `i` is used as a loop counter. Consider using `for (i, item) in refs.iter().enumerate()` or similar iterators [INFO] [stderr] --> src/rs_codec/repairer_tests.rs:69:22 [INFO] [stderr] | [INFO] [stderr] 69 | for b in refs.iter() { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#explicit_counter_loop [INFO] [stderr] [INFO] [stderr] warning: the operation is ineffective. Consider reducing it to `1` [INFO] [stderr] --> src/rs_codec/repairer_tests.rs:123:60 [INFO] [stderr] | [INFO] [stderr] 123 | 1 + 0, [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stderr] [INFO] [stderr] warning: the operation is ineffective. Consider reducing it to `1` [INFO] [stderr] --> src/rs_codec/repairer_tests.rs:130:24 [INFO] [stderr] | [INFO] [stderr] 130 | assert_eq!(1 + 0, block.get_seq_num()); [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stderr] [INFO] [stderr] warning: the variable `i` is used as a loop counter. Consider using `for (i, item) in refs.iter().enumerate()` or similar iterators [INFO] [stderr] --> src/rs_codec/repairer_tests.rs:171:22 [INFO] [stderr] | [INFO] [stderr] 171 | for b in refs.iter() { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#explicit_counter_loop [INFO] [stderr] [INFO] [stderr] warning: an inclusive range would be more readable [INFO] [stderr] --> src/rs_codec/repairer_tests.rs:284:22 [INFO] [stderr] | [INFO] [stderr] 284 | for _ in 0..1 + reuse { [INFO] [stderr] | ^^^^^^^^^^^^ help: use: `0..=reuse` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#range_plus_one [INFO] [stderr] [INFO] [stderr] warning: redundant pattern matching, consider using `is_some()` [INFO] [stderr] --> src/rs_codec/repairer_tests.rs:301:29 [INFO] [stderr] | [INFO] [stderr] 301 | / match corrupt_pos_s.iter().find(|&&x| x == i) { [INFO] [stderr] 302 | | None => false, [INFO] [stderr] 303 | | Some(_) => true, [INFO] [stderr] 304 | | }; [INFO] [stderr] | |_____________________________^ help: try this: `corrupt_pos_s.iter().find(|&&x| x == i).is_some()` [INFO] [stderr] | [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: redundant pattern matching, consider using `is_some()` [INFO] [stderr] --> src/rs_codec/repairer_tests.rs:350:25 [INFO] [stderr] | [INFO] [stderr] 350 | / match corrupt_pos_s.iter().find(|&&x| x == i) { [INFO] [stderr] 351 | | None => false, [INFO] [stderr] 352 | | Some(_) => true, [INFO] [stderr] 353 | | }; [INFO] [stderr] | |_________________________^ help: try this: `corrupt_pos_s.iter().find(|&&x| x == i).is_some()` [INFO] [stderr] | [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: an inclusive range would be more readable [INFO] [stderr] --> src/rs_codec/repairer_tests.rs:431:22 [INFO] [stderr] | [INFO] [stderr] 431 | for _ in 0..1 + reuse { [INFO] [stderr] | ^^^^^^^^^^^^ help: use: `0..=reuse` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#range_plus_one [INFO] [stderr] [INFO] [stderr] warning: redundant pattern matching, consider using `is_some()` [INFO] [stderr] --> src/rs_codec/repairer_tests.rs:448:29 [INFO] [stderr] | [INFO] [stderr] 448 | / match corrupt_pos_s.iter().find(|&&x| x == i) { [INFO] [stderr] 449 | | None => false, [INFO] [stderr] 450 | | Some(_) => true, [INFO] [stderr] 451 | | }; [INFO] [stderr] | |_____________________________^ help: try this: `corrupt_pos_s.iter().find(|&&x| x == i).is_some()` [INFO] [stderr] | [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: redundant pattern matching, consider using `is_some()` [INFO] [stderr] --> src/rs_codec/repairer_tests.rs:497:25 [INFO] [stderr] | [INFO] [stderr] 497 | / match corrupt_pos_s.iter().find(|&&x| x == i) { [INFO] [stderr] 498 | | None => false, [INFO] [stderr] 499 | | Some(_) => true, [INFO] [stderr] 500 | | }; [INFO] [stderr] | |_________________________^ help: try this: `corrupt_pos_s.iter().find(|&&x| x == i).is_some()` [INFO] [stderr] | [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: length comparison to zero [INFO] [stderr] --> src/rs_codec/repairer_tests.rs:516:20 [INFO] [stderr] | [INFO] [stderr] 516 | if blocks.len() != 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!blocks.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: this function has too many arguments (9/7) [INFO] [stderr] --> src/encode_core.rs:151:5 [INFO] [stderr] | [INFO] [stderr] 151 | / pub fn new(version : Version, [INFO] [stderr] 152 | | uid : &[u8; SBX_FILE_UID_LEN], [INFO] [stderr] 153 | | data_par_burst : Option<(usize, usize, usize)>, [INFO] [stderr] 154 | | meta_enabled : bool, [INFO] [stderr] ... | [INFO] [stderr] 174 | | } [INFO] [stderr] 175 | | } [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: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/encode_core.rs:152:37 [INFO] [stderr] | [INFO] [stderr] 152 | uid : &[u8; SBX_FILE_UID_LEN], [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: consider passing by value instead: `[u8; SBX_FILE_UID_LEN]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/encode_core.rs:162:30 [INFO] [stderr] | [INFO] [stderr] 162 | uid : uid.clone(), [INFO] [stderr] | ^^^^^^^^^^^ help: try dereferencing it: `*uid` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: casting u32 to u64 may become silently lossy if types change [INFO] [stderr] --> src/encode_core.rs:204:9 [INFO] [stderr] | [INFO] [stderr] 204 | self.data_blocks_written as u64 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u64::from(self.data_blocks_written)` [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 u32 to u64 may become silently lossy if types change [INFO] [stderr] --> src/encode_core.rs:215:48 [INFO] [stderr] | [INFO] [stderr] 215 | fn units_so_far(&self) -> u64 { self.data_blocks_written as u64 } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u64::from(self.data_blocks_written)` [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 u32 to u64 may become silently lossy if types change [INFO] [stderr] --> src/encode_core.rs:217:48 [INFO] [stderr] | [INFO] [stderr] 217 | fn total_units(&self) -> u64 { self.total_data_blocks as u64 } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u64::from(self.total_data_blocks)` [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 seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/encode_core.rs:241:9 [INFO] [stderr] | [INFO] [stderr] 241 | / match file_size { [INFO] [stderr] 242 | | Some(f) => meta.push(Metadata::FSZ(f)), [INFO] [stderr] 243 | | None => {}, [INFO] [stderr] 244 | | } } [INFO] [stderr] | |_________^ help: try this: `if let Some(f) = file_size { meta.push(Metadata::FSZ(f)) }` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::single_match)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/encode_core.rs:246:9 [INFO] [stderr] | [INFO] [stderr] 246 | / match file_metadata { [INFO] [stderr] 247 | | &Some(ref m) => [INFO] [stderr] 248 | | match m.modified() { [INFO] [stderr] 249 | | Ok(t) => match t.duration_since(UNIX_EPOCH) { [INFO] [stderr] ... | [INFO] [stderr] 254 | | }, [INFO] [stderr] 255 | | &None => {} } } [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] 246 | match *file_metadata { [INFO] [stderr] 247 | Some(ref m) => [INFO] [stderr] 248 | match m.modified() { [INFO] [stderr] 249 | Ok(t) => match t.duration_since(UNIX_EPOCH) { [INFO] [stderr] 250 | Ok(t) => meta.push(Metadata::FDT(t.as_secs() as i64)), [INFO] [stderr] 251 | Err(_) => {} [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/encode_core.rs:248:17 [INFO] [stderr] | [INFO] [stderr] 248 | / match m.modified() { [INFO] [stderr] 249 | | Ok(t) => match t.duration_since(UNIX_EPOCH) { [INFO] [stderr] 250 | | Ok(t) => meta.push(Metadata::FDT(t.as_secs() as i64)), [INFO] [stderr] 251 | | Err(_) => {} [INFO] [stderr] 252 | | }, [INFO] [stderr] 253 | | Err(_) => {} [INFO] [stderr] 254 | | }, [INFO] [stderr] | |_________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 248 | if let Ok(t) = m.modified() { match t.duration_since(UNIX_EPOCH) { [INFO] [stderr] 249 | Ok(t) => meta.push(Metadata::FDT(t.as_secs() as i64)), [INFO] [stderr] 250 | Err(_) => {} [INFO] [stderr] 251 | } }, [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/encode_core.rs:249:31 [INFO] [stderr] | [INFO] [stderr] 249 | Ok(t) => match t.duration_since(UNIX_EPOCH) { [INFO] [stderr] | _______________________________^ [INFO] [stderr] 250 | | Ok(t) => meta.push(Metadata::FDT(t.as_secs() as i64)), [INFO] [stderr] 251 | | Err(_) => {} [INFO] [stderr] 252 | | }, [INFO] [stderr] | |_____________________^ help: try this: `if let Ok(t) = t.duration_since(UNIX_EPOCH) { meta.push(Metadata::FDT(t.as_secs() as i64)) }` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] [INFO] [stderr] warning: this function has too many arguments (9/7) [INFO] [stderr] --> src/encode_core.rs:273:1 [INFO] [stderr] | [INFO] [stderr] 273 | / fn write_meta_blocks(param : &Param, [INFO] [stderr] 274 | | stats : &Arc>, [INFO] [stderr] 275 | | file_metadata : &Option, [INFO] [stderr] 276 | | file_size : Option, [INFO] [stderr] ... | [INFO] [stderr] 316 | | Ok(()) [INFO] [stderr] 317 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [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: this function has too many arguments (8/7) [INFO] [stderr] --> src/decode_core.rs:391:1 [INFO] [stderr] | [INFO] [stderr] 391 | / fn write_data_only_block(data_par_shards : Option<(usize, usize)>, [INFO] [stderr] 392 | | is_last_data_block : bool, [INFO] [stderr] 393 | | data_size_of_last_data_block : Option, [INFO] [stderr] 394 | | ref_block : &Block, [INFO] [stderr] ... | [INFO] [stderr] 429 | | Ok(()) [INFO] [stderr] 430 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [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: you don't need to add `&` to all patterns [INFO] [stderr] --> src/decode_core.rs:415:17 [INFO] [stderr] | [INFO] [stderr] 415 | / if let &mut Some(ref mut ctx) = hash_ctx { [INFO] [stderr] 416 | | ctx.update(slice); [INFO] [stderr] 417 | | } [INFO] [stderr] | |_________________^ [INFO] [stderr] | [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] 415 | if let Some(ref mut ctx) = *hash_ctx { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/decode_core.rs:423:13 [INFO] [stderr] | [INFO] [stderr] 423 | / if let &mut Some(ref mut ctx) = hash_ctx { [INFO] [stderr] 424 | | ctx.update(slice); [INFO] [stderr] 425 | | } [INFO] [stderr] | |_____________^ [INFO] [stderr] | [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] 423 | if let Some(ref mut ctx) = *hash_ctx { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/decode_core.rs:450:5 [INFO] [stderr] | [INFO] [stderr] 450 | / if let &mut Some(ref mut ctx) = hash_ctx { [INFO] [stderr] 451 | | ctx.update(slice); [INFO] [stderr] 452 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [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] 450 | if let Some(ref mut ctx) = *hash_ctx { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: the function has a cyclomatic complexity of 57 [INFO] [stderr] --> src/decode_core.rs:457:1 [INFO] [stderr] | [INFO] [stderr] 457 | / pub fn decode(param : &Param, [INFO] [stderr] 458 | | ref_block_pos : u64, [INFO] [stderr] 459 | | ref_block : &Block, [INFO] [stderr] 460 | | ctrlc_stop_flag : &Arc) [INFO] [stderr] ... | [INFO] [stderr] 831 | | Ok((res, hash_bytes)) [INFO] [stderr] 832 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [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: redundant pattern matching, consider using `is_err()` [INFO] [stderr] --> src/decode_core.rs:578:24 [INFO] [stderr] | [INFO] [stderr] 578 | if let Err(_) = block.sync_from_buffer(&buffer, Some(&pred)) { [INFO] [stderr] | _________________- ^^^^^^ [INFO] [stderr] 579 | | stats.lock().unwrap().incre_blocks_failed(); [INFO] [stderr] 580 | | continue; [INFO] [stderr] 581 | | } [INFO] [stderr] | |_________________- help: try this: `if block.sync_from_buffer(&buffer, Some(&pred)).is_err()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stderr] [INFO] [stderr] error: this comparison involving the minimum or maximum element for this type contains a case that is always true or always false [INFO] [stderr] --> src/decode_core.rs:661:27 [INFO] [stderr] | [INFO] [stderr] 661 | while seq_num <= SBX_LAST_SEQ_NUM { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::absurd_extreme_comparisons)] on by default [INFO] [stderr] = help: because SBX_LAST_SEQ_NUM is the maximum value for this type, this comparison is always true [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#absurd_extreme_comparisons [INFO] [stderr] [INFO] [stderr] error: this comparison involving the minimum or maximum element for this type contains a case that is always true or always false [INFO] [stderr] --> src/decode_core.rs:729:27 [INFO] [stderr] | [INFO] [stderr] 729 | while seq_num <= SBX_LAST_SEQ_NUM { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: because SBX_LAST_SEQ_NUM is the maximum value for this type, this comparison is always true [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#absurd_extreme_comparisons [INFO] [stderr] [INFO] [stderr] warning: use as_ref() instead [INFO] [stderr] --> src/decode_core.rs:950:40 [INFO] [stderr] | [INFO] [stderr] 950 | let out_file_path : Option<&str> = match out_file_path { [INFO] [stderr] | ________________________________________^ [INFO] [stderr] 951 | | Some(ref f) => Some(f), [INFO] [stderr] 952 | | None => None, [INFO] [stderr] 953 | | }; [INFO] [stderr] | |_____^ help: try this: `out_file_path.as_ref()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::match_as_ref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_as_ref [INFO] [stderr] [INFO] [stderr] warning: this function has too many arguments (10/7) [INFO] [stderr] --> src/rescue_core.rs:50:5 [INFO] [stderr] | [INFO] [stderr] 50 | / pub fn new(in_file : &str, [INFO] [stderr] 51 | | out_dir : &str, [INFO] [stderr] 52 | | log_file : Option<&str>, [INFO] [stderr] 53 | | from_pos : Option, [INFO] [stderr] ... | [INFO] [stderr] 77 | | } [INFO] [stderr] 78 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [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: using `clone` on a `Copy` type [INFO] [stderr] --> src/rescue_core.rs:74:33 [INFO] [stderr] | [INFO] [stderr] 74 | Some(x) => Some(x.clone()) [INFO] [stderr] | ^^^^^^^^^ help: try dereferencing it: `*x` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: redundant pattern matching, consider using `is_err()` [INFO] [stderr] --> src/repair_core.rs:171:19 [INFO] [stderr] | [INFO] [stderr] 171 | } else if let Err(_) = block.sync_from_buffer(rs_codec.get_block_buffer(), [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 171 | } else if block.sync_from_buffer(rs_codec.get_block_buffer(), [INFO] [stderr] 172 | Some(pred)).is_err() [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: the function has a cyclomatic complexity of 40 [INFO] [stderr] --> src/repair_core.rs:225:1 [INFO] [stderr] | [INFO] [stderr] 225 | / pub fn repair_file(param : &Param) [INFO] [stderr] 226 | | -> Result, Error> { [INFO] [stderr] 227 | | let ctrlc_stop_flag = setup_ctrlc_handler(param.json_printer.json_enabled()); [INFO] [stderr] 228 | | [INFO] [stderr] ... | [INFO] [stderr] 403 | | Ok(Some(stats)) [INFO] [stderr] 404 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [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] error: this comparison involving the minimum or maximum element for this type contains a case that is always true or always false [INFO] [stderr] --> src/repair_core.rs:356:11 [INFO] [stderr] | [INFO] [stderr] 356 | while seq_num <= SBX_LAST_SEQ_NUM { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: because SBX_LAST_SEQ_NUM is the maximum value for this type, this comparison is always true [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#absurd_extreme_comparisons [INFO] [stderr] [INFO] [stderr] warning: this function has too many arguments (8/7) [INFO] [stderr] --> src/show_core.rs:93:5 [INFO] [stderr] | [INFO] [stderr] 93 | / pub fn new(show_all : bool, [INFO] [stderr] 94 | | guess_burst : bool, [INFO] [stderr] 95 | | force_misalign : bool, [INFO] [stderr] 96 | | json_printer : &Arc, [INFO] [stderr] ... | [INFO] [stderr] 110 | | } [INFO] [stderr] 111 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [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: the function has a cyclomatic complexity of 57 [INFO] [stderr] --> src/show_core.rs:114:1 [INFO] [stderr] | [INFO] [stderr] 114 | / pub fn show_file(param : &Param) [INFO] [stderr] 115 | | -> Result { [INFO] [stderr] 116 | | let ctrlc_stop_flag = setup_ctrlc_handler(param.json_printer.json_enabled()); [INFO] [stderr] 117 | | [INFO] [stderr] ... | [INFO] [stderr] 314 | | Ok(stats) [INFO] [stderr] 315 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [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: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/show_core.rs:240:56 [INFO] [stderr] | [INFO] [stderr] 240 | block.get_FNM().unwrap().unwrap_or("N/A".to_string())); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|| "N/A".to_string())` [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/show_core.rs:242:56 [INFO] [stderr] | [INFO] [stderr] 242 | block.get_SNM().unwrap().unwrap_or("N/A".to_string())); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|| "N/A".to_string())` [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: redundant pattern matching, consider using `is_err()` [INFO] [stderr] --> src/sort_core.rs:197:16 [INFO] [stderr] | [INFO] [stderr] 197 | if let Err(_) = block.sync_from_buffer(&buffer, Some(&pred)) { [INFO] [stderr] | _________- ^^^^^^ [INFO] [stderr] 198 | | stats.lock().unwrap().blocks_decode_failed += 1; [INFO] [stderr] 199 | | continue; [INFO] [stderr] 200 | | } [INFO] [stderr] | |_________- help: try this: `if block.sync_from_buffer(&buffer, Some(&pred)).is_err()` [INFO] [stderr] | [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: this boolean expression can be simplified [INFO] [stderr] --> src/progress_report.rs:275:8 [INFO] [stderr] | [INFO] [stderr] 275 | if ((verbose_while_active && !progress_complete) [INFO] [stderr] | ________^ [INFO] [stderr] 276 | | || (verbose_when_done && progress_complete)) [INFO] [stderr] 277 | | && !(context.finish_printed && progress_complete) [INFO] [stderr] | |_________________________________________________________^ help: try: `progress_complete && verbose_when_done && !context.finish_printed || verbose_while_active && !progress_complete` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::nonminimal_bool)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/progress_report.rs:356:44 [INFO] [stderr] | [INFO] [stderr] 356 | element : &ProgressElement) [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: consider passing by value instead: `ProgressElement` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: the function has a cyclomatic complexity of 183 [INFO] [stderr] --> src/cli_encode.rs:73:1 [INFO] [stderr] | [INFO] [stderr] 73 | / pub fn encode<'a>(matches : &ArgMatches<'a>) -> i32 { [INFO] [stderr] 74 | | let json_printer = get_json_printer!(matches); [INFO] [stderr] 75 | | [INFO] [stderr] 76 | | json_printer.print_open_bracket(None, BracketType::Curly); [INFO] [stderr] ... | [INFO] [stderr] 234 | | } [INFO] [stderr] 235 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [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: Err(_) will match all errors, maybe not a good idea [INFO] [stderr] --> src/cli_macros.rs:207:13 [INFO] [stderr] | [INFO] [stderr] 207 | Err(_) => { panic!(); } [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] ::: src/cli_encode.rs:95:13 [INFO] [stderr] | [INFO] [stderr] 95 | check_data_parity_shards!(data_shards, parity_shards, json_printer); [INFO] [stderr] | -------------------------------------------------------------------- in this macro invocation [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 53 [INFO] [stderr] --> src/cli_decode.rs:36:1 [INFO] [stderr] | [INFO] [stderr] 36 | / pub fn decode<'a>(matches : &ArgMatches<'a>) -> i32 { [INFO] [stderr] 37 | | let mut json_printer = get_json_printer!(matches); [INFO] [stderr] 38 | | [INFO] [stderr] 39 | | let out = matches.value_of("out"); [INFO] [stderr] ... | [INFO] [stderr] 92 | | } [INFO] [stderr] 93 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [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: the function has a cyclomatic complexity of 90 [INFO] [stderr] --> src/cli_rescue.rs:56:1 [INFO] [stderr] | [INFO] [stderr] 56 | / pub fn rescue<'a>(matches : &ArgMatches<'a>) -> i32 { [INFO] [stderr] 57 | | let json_printer = get_json_printer!(matches); [INFO] [stderr] 58 | | [INFO] [stderr] 59 | | json_printer.print_open_bracket(None, BracketType::Curly); [INFO] [stderr] ... | [INFO] [stderr] 115 | | } [INFO] [stderr] 116 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [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: the function has a cyclomatic complexity of 44 [INFO] [stderr] --> src/cli_show.rs:32:1 [INFO] [stderr] | [INFO] [stderr] 32 | / pub fn show<'a>(matches : &ArgMatches<'a>) -> i32 { [INFO] [stderr] 33 | | let json_printer = get_json_printer!(matches); [INFO] [stderr] 34 | | [INFO] [stderr] 35 | | json_printer.print_open_bracket(None, BracketType::Curly); [INFO] [stderr] ... | [INFO] [stderr] 55 | | } [INFO] [stderr] 56 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [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: the function has a cyclomatic complexity of 40 [INFO] [stderr] --> src/cli_repair.rs:37:1 [INFO] [stderr] | [INFO] [stderr] 37 | / pub fn repair<'a>(matches : &ArgMatches<'a>) -> i32 { [INFO] [stderr] 38 | | let json_printer = get_json_printer!(matches); [INFO] [stderr] 39 | | [INFO] [stderr] 40 | | json_printer.print_open_bracket(None, BracketType::Curly); [INFO] [stderr] ... | [INFO] [stderr] 87 | | } [INFO] [stderr] 88 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [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: the function has a cyclomatic complexity of 30 [INFO] [stderr] --> src/cli_check.rs:25:1 [INFO] [stderr] | [INFO] [stderr] 25 | / pub fn check<'a>(matches : &ArgMatches<'a>) -> i32 { [INFO] [stderr] 26 | | let json_printer = get_json_printer!(matches); [INFO] [stderr] 27 | | [INFO] [stderr] 28 | | json_printer.print_open_bracket(None, BracketType::Curly); [INFO] [stderr] ... | [INFO] [stderr] 43 | | } [INFO] [stderr] 44 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [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: the function has a cyclomatic complexity of 47 [INFO] [stderr] --> src/cli_sort.rs:35:1 [INFO] [stderr] | [INFO] [stderr] 35 | / pub fn sort<'a>(matches : &ArgMatches<'a>) -> i32 { [INFO] [stderr] 36 | | let json_printer = get_json_printer!(matches); [INFO] [stderr] 37 | | [INFO] [stderr] 38 | | json_printer.print_open_bracket(None, BracketType::Curly); [INFO] [stderr] ... | [INFO] [stderr] 71 | | } [INFO] [stderr] 72 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [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: the function has a cyclomatic complexity of 109 [INFO] [stderr] --> src/cli_calc.rs:35:1 [INFO] [stderr] | [INFO] [stderr] 35 | / pub fn calc<'a>(matches : &ArgMatches<'a>) -> i32 { [INFO] [stderr] 36 | | let json_printer = get_json_printer!(matches); [INFO] [stderr] 37 | | [INFO] [stderr] 38 | | json_printer.print_open_bracket(None, BracketType::Curly); [INFO] [stderr] ... | [INFO] [stderr] 197 | | exit_with_msg!(ok json_printer => "") [INFO] [stderr] 198 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [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: Err(_) will match all errors, maybe not a good idea [INFO] [stderr] --> src/cli_macros.rs:207:13 [INFO] [stderr] | [INFO] [stderr] 207 | Err(_) => { panic!(); } [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] ::: src/cli_calc.rs:56:13 [INFO] [stderr] | [INFO] [stderr] 56 | check_data_parity_shards!(data_shards, parity_shards, json_printer); [INFO] [stderr] | -------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [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] error: this `if` has identical blocks [INFO] [stderr] --> src/cli_calc.rs:95:12 [INFO] [stderr] | [INFO] [stderr] 95 | } else { [INFO] [stderr] | ____________^ [INFO] [stderr] 96 | | print_maybe_json!(json_printer, " SBX container version : {}", ver_to_usize(version)); [INFO] [stderr] 97 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::if_same_then_else)] on by default [INFO] [stderr] note: same as this [INFO] [stderr] --> src/cli_calc.rs:92:29 [INFO] [stderr] | [INFO] [stderr] 92 | if ver_uses_rs(version) { [INFO] [stderr] | _____________________________^ [INFO] [stderr] 93 | | print_maybe_json!(json_printer, " SBX container version : {}", [INFO] [stderr] 94 | | ver_to_usize(version)); [INFO] [stderr] 95 | | } else { [INFO] [stderr] | |_____^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#if_same_then_else [INFO] [stderr] [INFO] [stderr] error: aborting due to 10 previous errors [INFO] [stderr] [INFO] [stderr] error: Could not compile `rsbx`. [INFO] [stderr] [INFO] [stderr] To learn more, run the command again with --verbose. [INFO] running `"docker" "inspect" "5e4b6c550c80a0889326a06ceca434df1c5cc35aafbc74e3574e5c2b296c53f7"` [INFO] running `"docker" "rm" "-f" "5e4b6c550c80a0889326a06ceca434df1c5cc35aafbc74e3574e5c2b296c53f7"` [INFO] [stdout] 5e4b6c550c80a0889326a06ceca434df1c5cc35aafbc74e3574e5c2b296c53f7