[INFO] updating cached repository EkardNT/external-sort [INFO] running `"git" "fetch" "--all"` [INFO] [stdout] Fetching origin [INFO] [stderr] From git://github.com/EkardNT/external-sort [INFO] [stderr] * branch HEAD -> FETCH_HEAD [INFO] running `"git" "clone" "work/cache/sources/gh/EkardNT/external-sort" "work/ex/clippy-test-run/sources/stable/gh/EkardNT/external-sort"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable/gh/EkardNT/external-sort'... [INFO] [stderr] done. [INFO] running `"git" "clone" "work/cache/sources/gh/EkardNT/external-sort" "work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/EkardNT/external-sort"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/EkardNT/external-sort'... [INFO] [stderr] done. [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] 3531ca6f4287a0fe197337e699ebcc1d89c1ef6f [INFO] sha for GitHub repo EkardNT/external-sort: 3531ca6f4287a0fe197337e699ebcc1d89c1ef6f [INFO] validating manifest of EkardNT/external-sort 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 EkardNT/external-sort 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 EkardNT/external-sort [INFO] finished frobbing EkardNT/external-sort [INFO] frobbed toml for EkardNT/external-sort written to work/ex/clippy-test-run/sources/stable/gh/EkardNT/external-sort/Cargo.toml [INFO] started frobbing EkardNT/external-sort [INFO] finished frobbing EkardNT/external-sort [INFO] frobbed toml for EkardNT/external-sort written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/EkardNT/external-sort/Cargo.toml [INFO] crate EkardNT/external-sort has a lockfile. skipping [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] linting EkardNT/external-sort against stable+rustflags=-Dclippy::into_iter_on_array for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-0/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/EkardNT/external-sort:/opt/crater/workdir:ro,Z" "-v" "/mnt/big/crater/work/local/cargo-home:/opt/crater/cargo-home:ro,Z" "-v" "/mnt/big/crater/work/local/rustup-home:/opt/crater/rustup-home:ro,Z" "-e" "USER_ID=1000" "-e" "SOURCE_DIR=/opt/crater/workdir" "-e" "MAP_USER_ID=1000" "-e" "CARGO_TARGET_DIR=/opt/crater/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid -Dclippy::into_iter_on_array" "-e" "CARGO_HOME=/opt/crater/cargo-home" "-e" "RUSTUP_HOME=/opt/crater/rustup-home" "-w" "/opt/crater/workdir" "-m" "1536M" "--network" "none" "rustops/crates-build-env" "/opt/crater/cargo-home/bin/cargo" "+stable" "clippy" "--frozen" "--all" "--all-targets"` [INFO] [stdout] 5a2a6a144f5785f6895995c069e36d5f2a51d3ea2af67ea31ca3ffbdf89abc4e [INFO] running `"docker" "start" "-a" "5a2a6a144f5785f6895995c069e36d5f2a51d3ea2af67ea31ca3ffbdf89abc4e"` [INFO] [stderr] Checking fine_grained v0.1.2 [INFO] [stderr] Checking external-sort v0.1.0 (/opt/crater/workdir) [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/bin/sort.rs:70:56 [INFO] [stderr] | [INFO] [stderr] 70 | let mut word_data : Vec = Vec::with_capacity(100000); [INFO] [stderr] | ^^^^^^ help: consider: `100_000` [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/bin/sort.rs:469:35 [INFO] [stderr] | [INFO] [stderr] 469 | const NANOS_PER_SECOND :f64 = 1000000000.0; [INFO] [stderr] | ^^^^^^^^^^^^ help: consider: `1_000_000_000.0` [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: digit groups should be smaller [INFO] [stderr] --> src/bin/sort.rs:555:17 [INFO] [stderr] | [INFO] [stderr] 555 | 0b00000_00001_00010), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: consider: `0b000_0000_0010_0010` [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: digit groups should be smaller [INFO] [stderr] --> src/bin/sort.rs:557:17 [INFO] [stderr] | [INFO] [stderr] 557 | 0b00000_00000_00000), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: consider: `0b000_0000_0000_0000` [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/bin/sort.rs:559:17 [INFO] [stderr] | [INFO] [stderr] 559 | 0b11001_11001_11001), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: consider: `0b110_0111_0011_1001` [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/bin/sort.rs:561:17 [INFO] [stderr] | [INFO] [stderr] 561 | 0b00010_00001_00000), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: consider: `0b000_1000_0010_0000` [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/bin/sort.rs:568:17 [INFO] [stderr] | [INFO] [stderr] 568 | 0b00100_01100_00001_01011_00000_11001_01110_01101_01100_00100_01101_10011), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider: `0b0010_0011_0000_0010_1011_0000_0110_0101_1100_1101_0110_0001_0001_1011_0011` [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/bin/sort.rs:587:17 [INFO] [stderr] | [INFO] [stderr] 587 | 0b11001_11001_11001_11001_11001_11001_11001_11001_11001_11001_11001_11001) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider: `0b1100_1110_0111_0011_1001_1100_1110_0111_0011_1001_1100_1110_0111_0011_1001` [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: casting character literal to u8. `char`s are 4 bytes wide in rust, so casting to u8 truncates them [INFO] [stderr] --> src/bin/generate.rs:57:35 [INFO] [stderr] | [INFO] [stderr] 57 | let letter_range = Range::new('a' as u8, 'z' as u8 + 1); [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::char_lit_as_u8)] on by default [INFO] [stderr] = help: Consider using a byte literal instead: [INFO] [stderr] b'a' [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#char_lit_as_u8 [INFO] [stderr] [INFO] [stderr] warning: casting character literal to u8. `char`s are 4 bytes wide in rust, so casting to u8 truncates them [INFO] [stderr] --> src/bin/generate.rs:57:46 [INFO] [stderr] | [INFO] [stderr] 57 | let letter_range = Range::new('a' as u8, 'z' as u8 + 1); [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Consider using a byte literal instead: [INFO] [stderr] b'z' [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#char_lit_as_u8 [INFO] [stderr] [INFO] [stderr] error: handle written amount returned or use `Write::write_all` instead [INFO] [stderr] --> src/bin/generate.rs:65:9 [INFO] [stderr] | [INFO] [stderr] 65 | writer.write(&line).expect("Failed to write line"); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] warning: casting character literal to u8. `char`s are 4 bytes wide in rust, so casting to u8 truncates them [INFO] [stderr] --> src/bin/generate.rs:57:35 [INFO] [stderr] | [INFO] [stderr] 57 | let letter_range = Range::new('a' as u8, 'z' as u8 + 1); [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::char_lit_as_u8)] on by default [INFO] [stderr] = help: Consider using a byte literal instead: [INFO] [stderr] b'a' [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#char_lit_as_u8 [INFO] [stderr] [INFO] [stderr] warning: casting character literal to u8. `char`s are 4 bytes wide in rust, so casting to u8 truncates them [INFO] [stderr] --> src/bin/generate.rs:57:46 [INFO] [stderr] | [INFO] [stderr] 57 | let letter_range = Range::new('a' as u8, 'z' as u8 + 1); [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Consider using a byte literal instead: [INFO] [stderr] b'z' [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#char_lit_as_u8 [INFO] [stderr] [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::unused_io_amount)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_io_amount [INFO] [stderr] [INFO] [stderr] warning: use of `writeln!(stderr(), ...).unwrap()`. Consider using `eprintln!` instead [INFO] [stderr] --> src/bin/generate.rs:68:5 [INFO] [stderr] | [INFO] [stderr] 68 | writeln!(std::io::stderr(), "Elapsed time: {duration}", duration = stopwatch).unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::explicit_write)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#explicit_write [INFO] [stderr] [INFO] [stderr] warning: casting character literal to u8. `char`s are 4 bytes wide in rust, so casting to u8 truncates them [INFO] [stderr] --> src/bin/generate.rs:83:21 [INFO] [stderr] | [INFO] [stderr] 83 | let mut line = ['!' as u8; LINE_LENGTH_WITH_NEWLINE]; [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] error: handle written amount returned or use `Write::write_all` instead [INFO] [stderr] --> src/bin/generate.rs:65:9 [INFO] [stderr] | [INFO] [stderr] 65 | writer.write(&line).expect("Failed to write line"); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::unused_io_amount)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_io_amount [INFO] [stderr] [INFO] [stderr] warning: use of `writeln!(stderr(), ...).unwrap()`. Consider using `eprintln!` instead [INFO] [stderr] --> src/bin/generate.rs:68:5 [INFO] [stderr] | [INFO] [stderr] 68 | writeln!(std::io::stderr(), "Elapsed time: {duration}", duration = stopwatch).unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::explicit_write)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#explicit_write [INFO] [stderr] [INFO] [stderr] warning: casting character literal to u8. `char`s are 4 bytes wide in rust, so casting to u8 truncates them [INFO] [stderr] --> src/bin/generate.rs:83:21 [INFO] [stderr] | [INFO] [stderr] 83 | let mut line = ['!' as u8; LINE_LENGTH_WITH_NEWLINE]; [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Consider using a byte literal instead: [INFO] [stderr] b'!' [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#char_lit_as_u8 [INFO] [stderr] [INFO] [stderr] warning: casting character literal to u8. `char`s are 4 bytes wide in rust, so casting to u8 truncates them [INFO] [stderr] --> src/bin/generate.rs:84:42 [INFO] [stderr] | [INFO] [stderr] 84 | line[LINE_LENGTH_WITH_NEWLINE - 1] = '\n' as u8; [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Consider using a byte literal instead: [INFO] [stderr] b'\n' [INFO] [stderr] | [INFO] [stderr] = help: Consider using a byte literal instead: [INFO] [stderr] b'!' [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#char_lit_as_u8 [INFO] [stderr] [INFO] [stderr] warning: casting character literal to u8. `char`s are 4 bytes wide in rust, so casting to u8 truncates them [INFO] [stderr] --> src/bin/generate.rs:84:42 [INFO] [stderr] | [INFO] [stderr] 84 | line[LINE_LENGTH_WITH_NEWLINE - 1] = '\n' as u8; [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Consider using a byte literal instead: [INFO] [stderr] b'\n' [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#char_lit_as_u8 [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/bin/generate.rs:88:65 [INFO] [stderr] | [INFO] [stderr] 88 | fn fill_line(line: &mut [u8], rng: &mut TRng, range: &Range) { [INFO] [stderr] | ^^^^^^^^^^ help: consider passing by value instead: `Range` [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] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#char_lit_as_u8 [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/bin/generate.rs:88:65 [INFO] [stderr] | [INFO] [stderr] 88 | fn fill_line(line: &mut [u8], rng: &mut TRng, range: &Range) { [INFO] [stderr] | ^^^^^^^^^^ help: consider passing by value instead: `Range` [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] error: aborting due to previous error [INFO] [stderr] [INFO] [stderr] error: aborting due to previous error [INFO] [stderr] [INFO] [stderr] error: Could not compile `external-sort`. [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stderr] error: Could not compile `external-sort`. [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stderr] warning: this boolean expression can be simplified [INFO] [stderr] --> src/bin/validate.rs:48:20 [INFO] [stderr] | [INFO] [stderr] 48 | if !(prev_line <= curr_line) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `prev_line > curr_line` [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: use of `writeln!(stderr(), ...).unwrap()`. Consider using `eprintln!` instead [INFO] [stderr] --> src/bin/validate.rs:49:21 [INFO] [stderr] | [INFO] [stderr] 49 | writeln!(std::io::stderr(), "Lines {} and {} are not monotonically increasing: \"{}\" and \"{}\"", curr_index - 1, curr_index, prev_line, curr_line).unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::explicit_write)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#explicit_write [INFO] [stderr] [INFO] [stderr] warning: use of `writeln!(stderr(), ...).unwrap()`. Consider using `eprintln!` instead [INFO] [stderr] --> src/bin/validate.rs:56:17 [INFO] [stderr] | [INFO] [stderr] 56 | writeln!(std::io::stderr(), "Unable to read line: {}", error).unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#explicit_write [INFO] [stderr] [INFO] [stderr] warning: use of `writeln!(stderr(), ...).unwrap()`. Consider using `eprintln!` instead [INFO] [stderr] --> src/bin/validate.rs:63:5 [INFO] [stderr] | [INFO] [stderr] 63 | writeln!(std::io::stderr(), "Elapsed time: {duration}", duration = stopwatch).unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#explicit_write [INFO] [stderr] [INFO] [stderr] warning: field is never used: `entries` [INFO] [stderr] --> src/bin/sort.rs:268:5 [INFO] [stderr] | [INFO] [stderr] 268 | entries: usize, [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(dead_code)] on by default [INFO] [stderr] [INFO] [stderr] warning: field is never used: `bytes` [INFO] [stderr] --> src/bin/sort.rs:270:5 [INFO] [stderr] | [INFO] [stderr] 270 | bytes: usize, [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never used: `line_max_length` [INFO] [stderr] --> src/bin/sort.rs:272:5 [INFO] [stderr] | [INFO] [stderr] 272 | line_max_length: usize, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never used: `line_min_length` [INFO] [stderr] --> src/bin/sort.rs:274:5 [INFO] [stderr] | [INFO] [stderr] 274 | line_min_length: usize [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never used: `chunk_index` [INFO] [stderr] --> src/bin/sort.rs:325:5 [INFO] [stderr] | [INFO] [stderr] 325 | chunk_index: usize, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of `writeln!(stderr(), ...).unwrap()`. Consider using `eprintln!` instead [INFO] [stderr] --> src/bin/sort.rs:29:9 [INFO] [stderr] | [INFO] [stderr] 29 | writeln!(::std::io::stderr(), "Unable to determine current directory: {}", err).unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::explicit_write)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#explicit_write [INFO] [stderr] [INFO] [stderr] warning: casting character literal to u8. `char`s are 4 bytes wide in rust, so casting to u8 truncates them [INFO] [stderr] --> src/bin/sort.rs:81:44 [INFO] [stderr] | [INFO] [stderr] 81 | let bytes_read = reader.read_until('\n' as u8, &mut chunk_data).expect("Failure while reading from source file"); [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::char_lit_as_u8)] on by default [INFO] [stderr] = help: Consider using a byte literal instead: [INFO] [stderr] b'\n' [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#char_lit_as_u8 [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/bin/sort.rs:209:49 [INFO] [stderr] | [INFO] [stderr] 209 | fn k_way_merge(destination_path: &Path, chunks: &Vec) { [INFO] [stderr] | ^^^^^^^^^^^ help: change this to: `&[Chunk]` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::ptr_arg)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: the loop variable `chunk_index` is used to index `merging_chunks` [INFO] [stderr] --> src/bin/sort.rs:229:28 [INFO] [stderr] | [INFO] [stderr] 229 | for chunk_index in 0..merging_chunks.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] 229 | for (chunk_index, ) in merging_chunks.iter().enumerate() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: casting character literal to u8. `char`s are 4 bytes wide in rust, so casting to u8 truncates them [INFO] [stderr] --> src/bin/sort.rs:316:49 [INFO] [stderr] | [INFO] [stderr] 316 | let bytes_read = self.reader.read_until('\n' as u8, &mut self.head_data).expect("Unable to read chunk file for merging"); [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Consider using a byte literal instead: [INFO] [stderr] b'\n' [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#char_lit_as_u8 [INFO] [stderr] [INFO] [stderr] warning: casting character literal to u8. `char`s are 4 bytes wide in rust, so casting to u8 truncates them [INFO] [stderr] --> src/bin/sort.rs:492:73 [INFO] [stderr] | [INFO] [stderr] 492 | let letter_val = (chunk_data[word_offset + msb_offset] as u8) - ('a' as u8); [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Consider using a byte literal instead: [INFO] [stderr] b'a' [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#char_lit_as_u8 [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/bin/sort.rs:70:56 [INFO] [stderr] | [INFO] [stderr] 70 | let mut word_data : Vec = Vec::with_capacity(100000); [INFO] [stderr] | ^^^^^^ help: consider: `100_000` [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/bin/sort.rs:469:35 [INFO] [stderr] | [INFO] [stderr] 469 | const NANOS_PER_SECOND :f64 = 1000000000.0; [INFO] [stderr] | ^^^^^^^^^^^^ help: consider: `1_000_000_000.0` [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 character literal to u8. `char`s are 4 bytes wide in rust, so casting to u8 truncates them [INFO] [stderr] --> src/bin/sort.rs:554:19 [INFO] [stderr] | [INFO] [stderr] 554 | (vec!['a' as u8, 'b' as u8, 'c' as u8, '\n' as u8], 0, 4, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Consider using a byte literal instead: [INFO] [stderr] b'a' [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#char_lit_as_u8 [INFO] [stderr] [INFO] [stderr] warning: casting character literal to u8. `char`s are 4 bytes wide in rust, so casting to u8 truncates them [INFO] [stderr] --> src/bin/sort.rs:554:30 [INFO] [stderr] | [INFO] [stderr] 554 | (vec!['a' as u8, 'b' as u8, 'c' as u8, '\n' as u8], 0, 4, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Consider using a byte literal instead: [INFO] [stderr] b'b' [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#char_lit_as_u8 [INFO] [stderr] [INFO] [stderr] warning: casting character literal to u8. `char`s are 4 bytes wide in rust, so casting to u8 truncates them [INFO] [stderr] --> src/bin/sort.rs:554:41 [INFO] [stderr] | [INFO] [stderr] 554 | (vec!['a' as u8, 'b' as u8, 'c' as u8, '\n' as u8], 0, 4, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Consider using a byte literal instead: [INFO] [stderr] b'c' [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#char_lit_as_u8 [INFO] [stderr] [INFO] [stderr] warning: casting character literal to u8. `char`s are 4 bytes wide in rust, so casting to u8 truncates them [INFO] [stderr] --> src/bin/sort.rs:554:52 [INFO] [stderr] | [INFO] [stderr] 554 | (vec!['a' as u8, 'b' as u8, 'c' as u8, '\n' as u8], 0, 4, [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Consider using a byte literal instead: [INFO] [stderr] b'\n' [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#char_lit_as_u8 [INFO] [stderr] [INFO] [stderr] warning: casting character literal to u8. `char`s are 4 bytes wide in rust, so casting to u8 truncates them [INFO] [stderr] --> src/bin/sort.rs:556:19 [INFO] [stderr] | [INFO] [stderr] 556 | (vec!['a' as u8, 'a' as u8, 'a' as u8, '\n' as u8], 0, 4, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Consider using a byte literal instead: [INFO] [stderr] b'a' [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#char_lit_as_u8 [INFO] [stderr] [INFO] [stderr] warning: casting character literal to u8. `char`s are 4 bytes wide in rust, so casting to u8 truncates them [INFO] [stderr] --> src/bin/sort.rs:556:30 [INFO] [stderr] | [INFO] [stderr] 556 | (vec!['a' as u8, 'a' as u8, 'a' as u8, '\n' as u8], 0, 4, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Consider using a byte literal instead: [INFO] [stderr] b'a' [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#char_lit_as_u8 [INFO] [stderr] [INFO] [stderr] warning: casting character literal to u8. `char`s are 4 bytes wide in rust, so casting to u8 truncates them [INFO] [stderr] --> src/bin/sort.rs:556:41 [INFO] [stderr] | [INFO] [stderr] 556 | (vec!['a' as u8, 'a' as u8, 'a' as u8, '\n' as u8], 0, 4, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Consider using a byte literal instead: [INFO] [stderr] b'a' [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#char_lit_as_u8 [INFO] [stderr] [INFO] [stderr] warning: casting character literal to u8. `char`s are 4 bytes wide in rust, so casting to u8 truncates them [INFO] [stderr] --> src/bin/sort.rs:556:52 [INFO] [stderr] | [INFO] [stderr] 556 | (vec!['a' as u8, 'a' as u8, 'a' as u8, '\n' as u8], 0, 4, [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Consider using a byte literal instead: [INFO] [stderr] b'\n' [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#char_lit_as_u8 [INFO] [stderr] [INFO] [stderr] warning: casting character literal to u8. `char`s are 4 bytes wide in rust, so casting to u8 truncates them [INFO] [stderr] --> src/bin/sort.rs:558:19 [INFO] [stderr] | [INFO] [stderr] 558 | (vec!['z' as u8, 'z' as u8, 'z' as u8, '\n' as u8], 0, 4, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Consider using a byte literal instead: [INFO] [stderr] b'z' [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#char_lit_as_u8 [INFO] [stderr] [INFO] [stderr] warning: casting character literal to u8. `char`s are 4 bytes wide in rust, so casting to u8 truncates them [INFO] [stderr] --> src/bin/sort.rs:558:30 [INFO] [stderr] | [INFO] [stderr] 558 | (vec!['z' as u8, 'z' as u8, 'z' as u8, '\n' as u8], 0, 4, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Consider using a byte literal instead: [INFO] [stderr] b'z' [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#char_lit_as_u8 [INFO] [stderr] [INFO] [stderr] warning: casting character literal to u8. `char`s are 4 bytes wide in rust, so casting to u8 truncates them [INFO] [stderr] --> src/bin/sort.rs:558:41 [INFO] [stderr] | [INFO] [stderr] 558 | (vec!['z' as u8, 'z' as u8, 'z' as u8, '\n' as u8], 0, 4, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Consider using a byte literal instead: [INFO] [stderr] b'z' [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#char_lit_as_u8 [INFO] [stderr] [INFO] [stderr] warning: casting character literal to u8. `char`s are 4 bytes wide in rust, so casting to u8 truncates them [INFO] [stderr] --> src/bin/sort.rs:558:52 [INFO] [stderr] | [INFO] [stderr] 558 | (vec!['z' as u8, 'z' as u8, 'z' as u8, '\n' as u8], 0, 4, [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Consider using a byte literal instead: [INFO] [stderr] b'\n' [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#char_lit_as_u8 [INFO] [stderr] [INFO] [stderr] warning: casting character literal to u8. `char`s are 4 bytes wide in rust, so casting to u8 truncates them [INFO] [stderr] --> src/bin/sort.rs:560:19 [INFO] [stderr] | [INFO] [stderr] 560 | (vec!['c' as u8, 'b' as u8, 'a' as u8, '\n' as u8], 0, 4, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Consider using a byte literal instead: [INFO] [stderr] b'c' [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#char_lit_as_u8 [INFO] [stderr] [INFO] [stderr] warning: casting character literal to u8. `char`s are 4 bytes wide in rust, so casting to u8 truncates them [INFO] [stderr] --> src/bin/sort.rs:560:30 [INFO] [stderr] | [INFO] [stderr] 560 | (vec!['c' as u8, 'b' as u8, 'a' as u8, '\n' as u8], 0, 4, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Consider using a byte literal instead: [INFO] [stderr] b'b' [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#char_lit_as_u8 [INFO] [stderr] [INFO] [stderr] warning: casting character literal to u8. `char`s are 4 bytes wide in rust, so casting to u8 truncates them [INFO] [stderr] --> src/bin/sort.rs:560:41 [INFO] [stderr] | [INFO] [stderr] 560 | (vec!['c' as u8, 'b' as u8, 'a' as u8, '\n' as u8], 0, 4, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Consider using a byte literal instead: [INFO] [stderr] b'a' [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#char_lit_as_u8 [INFO] [stderr] [INFO] [stderr] warning: casting character literal to u8. `char`s are 4 bytes wide in rust, so casting to u8 truncates them [INFO] [stderr] --> src/bin/sort.rs:560:52 [INFO] [stderr] | [INFO] [stderr] 560 | (vec!['c' as u8, 'b' as u8, 'a' as u8, '\n' as u8], 0, 4, [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Consider using a byte literal instead: [INFO] [stderr] b'\n' [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#char_lit_as_u8 [INFO] [stderr] [INFO] [stderr] warning: casting character literal to u8. `char`s are 4 bytes wide in rust, so casting to u8 truncates them [INFO] [stderr] --> src/bin/sort.rs:564:17 [INFO] [stderr] | [INFO] [stderr] 564 | 'z' as u8, 'e' as u8, 'm' as u8, 'b' as u8, 'l' as u8, 'a' as u8, 'z' as u8, 'o' as u8, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Consider using a byte literal instead: [INFO] [stderr] b'z' [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#char_lit_as_u8 [INFO] [stderr] [INFO] [stderr] warning: casting character literal to u8. `char`s are 4 bytes wide in rust, so casting to u8 truncates them [INFO] [stderr] --> src/bin/sort.rs:564:28 [INFO] [stderr] | [INFO] [stderr] 564 | 'z' as u8, 'e' as u8, 'm' as u8, 'b' as u8, 'l' as u8, 'a' as u8, 'z' as u8, 'o' as u8, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Consider using a byte literal instead: [INFO] [stderr] b'e' [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#char_lit_as_u8 [INFO] [stderr] [INFO] [stderr] warning: casting character literal to u8. `char`s are 4 bytes wide in rust, so casting to u8 truncates them [INFO] [stderr] --> src/bin/sort.rs:564:39 [INFO] [stderr] | [INFO] [stderr] 564 | 'z' as u8, 'e' as u8, 'm' as u8, 'b' as u8, 'l' as u8, 'a' as u8, 'z' as u8, 'o' as u8, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Consider using a byte literal instead: [INFO] [stderr] b'm' [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#char_lit_as_u8 [INFO] [stderr] [INFO] [stderr] warning: casting character literal to u8. `char`s are 4 bytes wide in rust, so casting to u8 truncates them [INFO] [stderr] --> src/bin/sort.rs:564:50 [INFO] [stderr] | [INFO] [stderr] 564 | 'z' as u8, 'e' as u8, 'm' as u8, 'b' as u8, 'l' as u8, 'a' as u8, 'z' as u8, 'o' as u8, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Consider using a byte literal instead: [INFO] [stderr] b'b' [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#char_lit_as_u8 [INFO] [stderr] [INFO] [stderr] warning: casting character literal to u8. `char`s are 4 bytes wide in rust, so casting to u8 truncates them [INFO] [stderr] --> src/bin/sort.rs:564:61 [INFO] [stderr] | [INFO] [stderr] 564 | 'z' as u8, 'e' as u8, 'm' as u8, 'b' as u8, 'l' as u8, 'a' as u8, 'z' as u8, 'o' as u8, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Consider using a byte literal instead: [INFO] [stderr] b'l' [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#char_lit_as_u8 [INFO] [stderr] [INFO] [stderr] warning: casting character literal to u8. `char`s are 4 bytes wide in rust, so casting to u8 truncates them [INFO] [stderr] --> src/bin/sort.rs:564:72 [INFO] [stderr] | [INFO] [stderr] 564 | 'z' as u8, 'e' as u8, 'm' as u8, 'b' as u8, 'l' as u8, 'a' as u8, 'z' as u8, 'o' as u8, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Consider using a byte literal instead: [INFO] [stderr] b'a' [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#char_lit_as_u8 [INFO] [stderr] [INFO] [stderr] warning: casting character literal to u8. `char`s are 4 bytes wide in rust, so casting to u8 truncates them [INFO] [stderr] --> src/bin/sort.rs:564:83 [INFO] [stderr] | [INFO] [stderr] 564 | 'z' as u8, 'e' as u8, 'm' as u8, 'b' as u8, 'l' as u8, 'a' as u8, 'z' as u8, 'o' as u8, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Consider using a byte literal instead: [INFO] [stderr] b'z' [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#char_lit_as_u8 [INFO] [stderr] [INFO] [stderr] warning: casting character literal to u8. `char`s are 4 bytes wide in rust, so casting to u8 truncates them [INFO] [stderr] --> src/bin/sort.rs:564:94 [INFO] [stderr] | [INFO] [stderr] 564 | 'z' as u8, 'e' as u8, 'm' as u8, 'b' as u8, 'l' as u8, 'a' as u8, 'z' as u8, 'o' as u8, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Consider using a byte literal instead: [INFO] [stderr] b'o' [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#char_lit_as_u8 [INFO] [stderr] [INFO] [stderr] warning: casting character literal to u8. `char`s are 4 bytes wide in rust, so casting to u8 truncates them [INFO] [stderr] --> src/bin/sort.rs:565:17 [INFO] [stderr] | [INFO] [stderr] 565 | 'n' as u8, 'm' as u8, 'e' as u8, 'n' as u8, 't' as u8, 'z' as u8, '\n' as u8 [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Consider using a byte literal instead: [INFO] [stderr] b'n' [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#char_lit_as_u8 [INFO] [stderr] [INFO] [stderr] warning: casting character literal to u8. `char`s are 4 bytes wide in rust, so casting to u8 truncates them [INFO] [stderr] --> src/bin/sort.rs:565:28 [INFO] [stderr] | [INFO] [stderr] 565 | 'n' as u8, 'm' as u8, 'e' as u8, 'n' as u8, 't' as u8, 'z' as u8, '\n' as u8 [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Consider using a byte literal instead: [INFO] [stderr] b'm' [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#char_lit_as_u8 [INFO] [stderr] [INFO] [stderr] warning: casting character literal to u8. `char`s are 4 bytes wide in rust, so casting to u8 truncates them [INFO] [stderr] --> src/bin/sort.rs:565:39 [INFO] [stderr] | [INFO] [stderr] 565 | 'n' as u8, 'm' as u8, 'e' as u8, 'n' as u8, 't' as u8, 'z' as u8, '\n' as u8 [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Consider using a byte literal instead: [INFO] [stderr] b'e' [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#char_lit_as_u8 [INFO] [stderr] [INFO] [stderr] warning: casting character literal to u8. `char`s are 4 bytes wide in rust, so casting to u8 truncates them [INFO] [stderr] --> src/bin/sort.rs:565:50 [INFO] [stderr] | [INFO] [stderr] 565 | 'n' as u8, 'm' as u8, 'e' as u8, 'n' as u8, 't' as u8, 'z' as u8, '\n' as u8 [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Consider using a byte literal instead: [INFO] [stderr] b'n' [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#char_lit_as_u8 [INFO] [stderr] [INFO] [stderr] warning: casting character literal to u8. `char`s are 4 bytes wide in rust, so casting to u8 truncates them [INFO] [stderr] --> src/bin/sort.rs:565:61 [INFO] [stderr] | [INFO] [stderr] 565 | 'n' as u8, 'm' as u8, 'e' as u8, 'n' as u8, 't' as u8, 'z' as u8, '\n' as u8 [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Consider using a byte literal instead: [INFO] [stderr] b't' [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#char_lit_as_u8 [INFO] [stderr] [INFO] [stderr] warning: casting character literal to u8. `char`s are 4 bytes wide in rust, so casting to u8 truncates them [INFO] [stderr] --> src/bin/sort.rs:565:72 [INFO] [stderr] | [INFO] [stderr] 565 | 'n' as u8, 'm' as u8, 'e' as u8, 'n' as u8, 't' as u8, 'z' as u8, '\n' as u8 [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Consider using a byte literal instead: [INFO] [stderr] b'z' [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#char_lit_as_u8 [INFO] [stderr] [INFO] [stderr] warning: casting character literal to u8. `char`s are 4 bytes wide in rust, so casting to u8 truncates them [INFO] [stderr] --> src/bin/sort.rs:565:83 [INFO] [stderr] | [INFO] [stderr] 565 | 'n' as u8, 'm' as u8, 'e' as u8, 'n' as u8, 't' as u8, 'z' as u8, '\n' as u8 [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Consider using a byte literal instead: [INFO] [stderr] b'\n' [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#char_lit_as_u8 [INFO] [stderr] [INFO] [stderr] warning: casting character literal to u8. `char`s are 4 bytes wide in rust, so casting to u8 truncates them [INFO] [stderr] --> src/bin/sort.rs:570:17 [INFO] [stderr] | [INFO] [stderr] 570 | 'a' as u8, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Consider using a byte literal instead: [INFO] [stderr] b'a' [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#char_lit_as_u8 [INFO] [stderr] [INFO] [stderr] warning: casting character literal to u8. `char`s are 4 bytes wide in rust, so casting to u8 truncates them [INFO] [stderr] --> src/bin/sort.rs:571:17 [INFO] [stderr] | [INFO] [stderr] 571 | 'z' as u8, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Consider using a byte literal instead: [INFO] [stderr] b'z' [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#char_lit_as_u8 [INFO] [stderr] [INFO] [stderr] warning: casting character literal to u8. `char`s are 4 bytes wide in rust, so casting to u8 truncates them [INFO] [stderr] --> src/bin/sort.rs:572:17 [INFO] [stderr] | [INFO] [stderr] 572 | 'z' as u8, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Consider using a byte literal instead: [INFO] [stderr] b'z' [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#char_lit_as_u8 [INFO] [stderr] [INFO] [stderr] warning: casting character literal to u8. `char`s are 4 bytes wide in rust, so casting to u8 truncates them [INFO] [stderr] --> src/bin/sort.rs:573:17 [INFO] [stderr] | [INFO] [stderr] 573 | 'z' as u8, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Consider using a byte literal instead: [INFO] [stderr] b'z' [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#char_lit_as_u8 [INFO] [stderr] [INFO] [stderr] warning: casting character literal to u8. `char`s are 4 bytes wide in rust, so casting to u8 truncates them [INFO] [stderr] --> src/bin/sort.rs:574:17 [INFO] [stderr] | [INFO] [stderr] 574 | 'z' as u8, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Consider using a byte literal instead: [INFO] [stderr] b'z' [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#char_lit_as_u8 [INFO] [stderr] [INFO] [stderr] warning: casting character literal to u8. `char`s are 4 bytes wide in rust, so casting to u8 truncates them [INFO] [stderr] --> src/bin/sort.rs:575:17 [INFO] [stderr] | [INFO] [stderr] 575 | 'z' as u8, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Consider using a byte literal instead: [INFO] [stderr] b'z' [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#char_lit_as_u8 [INFO] [stderr] [INFO] [stderr] warning: casting character literal to u8. `char`s are 4 bytes wide in rust, so casting to u8 truncates them [INFO] [stderr] --> src/bin/sort.rs:576:17 [INFO] [stderr] | [INFO] [stderr] 576 | 'z' as u8, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Consider using a byte literal instead: [INFO] [stderr] b'z' [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#char_lit_as_u8 [INFO] [stderr] [INFO] [stderr] warning: casting character literal to u8. `char`s are 4 bytes wide in rust, so casting to u8 truncates them [INFO] [stderr] --> src/bin/sort.rs:577:17 [INFO] [stderr] | [INFO] [stderr] 577 | 'z' as u8, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Consider using a byte literal instead: [INFO] [stderr] b'z' [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#char_lit_as_u8 [INFO] [stderr] [INFO] [stderr] warning: casting character literal to u8. `char`s are 4 bytes wide in rust, so casting to u8 truncates them [INFO] [stderr] --> src/bin/sort.rs:578:17 [INFO] [stderr] | [INFO] [stderr] 578 | 'z' as u8, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Consider using a byte literal instead: [INFO] [stderr] b'z' [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#char_lit_as_u8 [INFO] [stderr] [INFO] [stderr] warning: casting character literal to u8. `char`s are 4 bytes wide in rust, so casting to u8 truncates them [INFO] [stderr] --> src/bin/sort.rs:579:17 [INFO] [stderr] | [INFO] [stderr] 579 | 'z' as u8, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Consider using a byte literal instead: [INFO] [stderr] b'z' [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#char_lit_as_u8 [INFO] [stderr] [INFO] [stderr] warning: casting character literal to u8. `char`s are 4 bytes wide in rust, so casting to u8 truncates them [INFO] [stderr] --> src/bin/sort.rs:580:17 [INFO] [stderr] | [INFO] [stderr] 580 | 'z' as u8, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Consider using a byte literal instead: [INFO] [stderr] b'z' [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#char_lit_as_u8 [INFO] [stderr] [INFO] [stderr] warning: casting character literal to u8. `char`s are 4 bytes wide in rust, so casting to u8 truncates them [INFO] [stderr] --> src/bin/sort.rs:581:17 [INFO] [stderr] | [INFO] [stderr] 581 | 'z' as u8, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Consider using a byte literal instead: [INFO] [stderr] b'z' [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#char_lit_as_u8 [INFO] [stderr] [INFO] [stderr] warning: casting character literal to u8. `char`s are 4 bytes wide in rust, so casting to u8 truncates them [INFO] [stderr] --> src/bin/sort.rs:582:17 [INFO] [stderr] | [INFO] [stderr] 582 | 'z' as u8, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Consider using a byte literal instead: [INFO] [stderr] b'z' [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#char_lit_as_u8 [INFO] [stderr] [INFO] [stderr] warning: casting character literal to u8. `char`s are 4 bytes wide in rust, so casting to u8 truncates them [INFO] [stderr] --> src/bin/sort.rs:583:17 [INFO] [stderr] | [INFO] [stderr] 583 | 'a' as u8, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Consider using a byte literal instead: [INFO] [stderr] b'a' [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#char_lit_as_u8 [INFO] [stderr] [INFO] [stderr] warning: casting character literal to u8. `char`s are 4 bytes wide in rust, so casting to u8 truncates them [INFO] [stderr] --> src/bin/sort.rs:584:17 [INFO] [stderr] | [INFO] [stderr] 584 | '\n' as u8 [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Consider using a byte literal instead: [INFO] [stderr] b'\n' [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#char_lit_as_u8 [INFO] [stderr] [INFO] [stderr] warning: this boolean expression can be simplified [INFO] [stderr] --> src/bin/validate.rs:48:20 [INFO] [stderr] | [INFO] [stderr] 48 | if !(prev_line <= curr_line) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `prev_line > curr_line` [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: use of `writeln!(stderr(), ...).unwrap()`. Consider using `eprintln!` instead [INFO] [stderr] --> src/bin/validate.rs:49:21 [INFO] [stderr] | [INFO] [stderr] 49 | writeln!(std::io::stderr(), "Lines {} and {} are not monotonically increasing: \"{}\" and \"{}\"", curr_index - 1, curr_index, prev_line, curr_line).unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::explicit_write)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#explicit_write [INFO] [stderr] [INFO] [stderr] warning: use of `writeln!(stderr(), ...).unwrap()`. Consider using `eprintln!` instead [INFO] [stderr] --> src/bin/validate.rs:56:17 [INFO] [stderr] | [INFO] [stderr] 56 | writeln!(std::io::stderr(), "Unable to read line: {}", error).unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#explicit_write [INFO] [stderr] [INFO] [stderr] warning: use of `writeln!(stderr(), ...).unwrap()`. Consider using `eprintln!` instead [INFO] [stderr] --> src/bin/validate.rs:63:5 [INFO] [stderr] | [INFO] [stderr] 63 | writeln!(std::io::stderr(), "Elapsed time: {duration}", duration = stopwatch).unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#explicit_write [INFO] [stderr] [INFO] [stderr] warning: field is never used: `entries` [INFO] [stderr] --> src/bin/sort.rs:268:5 [INFO] [stderr] | [INFO] [stderr] 268 | entries: usize, [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(dead_code)] on by default [INFO] [stderr] [INFO] [stderr] warning: field is never used: `bytes` [INFO] [stderr] --> src/bin/sort.rs:270:5 [INFO] [stderr] | [INFO] [stderr] 270 | bytes: usize, [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never used: `line_max_length` [INFO] [stderr] --> src/bin/sort.rs:272:5 [INFO] [stderr] | [INFO] [stderr] 272 | line_max_length: usize, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never used: `line_min_length` [INFO] [stderr] --> src/bin/sort.rs:274:5 [INFO] [stderr] | [INFO] [stderr] 274 | line_min_length: usize [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never used: `chunk_index` [INFO] [stderr] --> src/bin/sort.rs:325:5 [INFO] [stderr] | [INFO] [stderr] 325 | chunk_index: usize, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of `writeln!(stderr(), ...).unwrap()`. Consider using `eprintln!` instead [INFO] [stderr] --> src/bin/sort.rs:29:9 [INFO] [stderr] | [INFO] [stderr] 29 | writeln!(::std::io::stderr(), "Unable to determine current directory: {}", err).unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::explicit_write)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#explicit_write [INFO] [stderr] [INFO] [stderr] warning: casting character literal to u8. `char`s are 4 bytes wide in rust, so casting to u8 truncates them [INFO] [stderr] --> src/bin/sort.rs:81:44 [INFO] [stderr] | [INFO] [stderr] 81 | let bytes_read = reader.read_until('\n' as u8, &mut chunk_data).expect("Failure while reading from source file"); [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::char_lit_as_u8)] on by default [INFO] [stderr] = help: Consider using a byte literal instead: [INFO] [stderr] b'\n' [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#char_lit_as_u8 [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/bin/sort.rs:209:49 [INFO] [stderr] | [INFO] [stderr] 209 | fn k_way_merge(destination_path: &Path, chunks: &Vec) { [INFO] [stderr] | ^^^^^^^^^^^ help: change this to: `&[Chunk]` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::ptr_arg)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: the loop variable `chunk_index` is used to index `merging_chunks` [INFO] [stderr] --> src/bin/sort.rs:229:28 [INFO] [stderr] | [INFO] [stderr] 229 | for chunk_index in 0..merging_chunks.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] 229 | for (chunk_index, ) in merging_chunks.iter().enumerate() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: casting character literal to u8. `char`s are 4 bytes wide in rust, so casting to u8 truncates them [INFO] [stderr] --> src/bin/sort.rs:316:49 [INFO] [stderr] | [INFO] [stderr] 316 | let bytes_read = self.reader.read_until('\n' as u8, &mut self.head_data).expect("Unable to read chunk file for merging"); [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Consider using a byte literal instead: [INFO] [stderr] b'\n' [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#char_lit_as_u8 [INFO] [stderr] [INFO] [stderr] warning: casting character literal to u8. `char`s are 4 bytes wide in rust, so casting to u8 truncates them [INFO] [stderr] --> src/bin/sort.rs:492:73 [INFO] [stderr] | [INFO] [stderr] 492 | let letter_val = (chunk_data[word_offset + msb_offset] as u8) - ('a' as u8); [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Consider using a byte literal instead: [INFO] [stderr] b'a' [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#char_lit_as_u8 [INFO] [stderr] [INFO] [stderr] error: build failed [INFO] running `"docker" "inspect" "5a2a6a144f5785f6895995c069e36d5f2a51d3ea2af67ea31ca3ffbdf89abc4e"` [INFO] running `"docker" "rm" "-f" "5a2a6a144f5785f6895995c069e36d5f2a51d3ea2af67ea31ca3ffbdf89abc4e"` [INFO] [stdout] 5a2a6a144f5785f6895995c069e36d5f2a51d3ea2af67ea31ca3ffbdf89abc4e