[INFO] crate indexed_bitvec_core 2.0.0 is already in cache [INFO] extracting crate indexed_bitvec_core 2.0.0 into work/ex/clippy-test-run/sources/stable/reg/indexed_bitvec_core/2.0.0 [INFO] extracting crate indexed_bitvec_core 2.0.0 into work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/indexed_bitvec_core/2.0.0 [INFO] validating manifest of indexed_bitvec_core-2.0.0 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 indexed_bitvec_core-2.0.0 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 indexed_bitvec_core-2.0.0 [INFO] finished frobbing indexed_bitvec_core-2.0.0 [INFO] frobbed toml for indexed_bitvec_core-2.0.0 written to work/ex/clippy-test-run/sources/stable/reg/indexed_bitvec_core/2.0.0/Cargo.toml [INFO] started frobbing indexed_bitvec_core-2.0.0 [INFO] finished frobbing indexed_bitvec_core-2.0.0 [INFO] frobbed toml for indexed_bitvec_core-2.0.0 written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/indexed_bitvec_core/2.0.0/Cargo.toml [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update"` [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 indexed_bitvec_core-2.0.0 against stable for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-0/stable:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable/reg/indexed_bitvec_core/2.0.0:/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] 9a71f0d6a37870e295c8dc48ed78bec13722af8c04c38fdf084586d85d95313f [INFO] running `"docker" "start" "-a" "9a71f0d6a37870e295c8dc48ed78bec13722af8c04c38fdf084586d85d95313f"` [INFO] [stderr] Checking indexed_bitvec_core v2.0.0 (/opt/crater/workdir) [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/word.rs:97:24 [INFO] [stderr] | [INFO] [stderr] 97 | nth -= (from & 0xffff0000).count_ones(); [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0xffff_0000` [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/word.rs:98:17 [INFO] [stderr] | [INFO] [stderr] 98 | from &= 0x0000ffff; [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0x0000_ffff` [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: this `else { if .. }` block can be collapsed [INFO] [stderr] --> src/word.rs:168:16 [INFO] [stderr] | [INFO] [stderr] 168 | } else { [INFO] [stderr] | ________________^ [INFO] [stderr] 169 | | if rank_48 > nth { [INFO] [stderr] 170 | | select_ones_u16(((int >> 16) & 0xffff) as u16, nth - rank_32) + 32 [INFO] [stderr] 171 | | } else { [INFO] [stderr] ... | [INFO] [stderr] 177 | | } [INFO] [stderr] 178 | | }; [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] 168 | } else if rank_48 > nth { [INFO] [stderr] 169 | select_ones_u16(((int >> 16) & 0xffff) as u16, nth - rank_32) + 32 [INFO] [stderr] 170 | } else { [INFO] [stderr] 171 | if nth >= self.count_ones() { [INFO] [stderr] 172 | return None; [INFO] [stderr] 173 | } [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/index_raw.rs:150:61 [INFO] [stderr] | [INFO] [stderr] 150 | L1L2Entry(((base_rank as u64) << 32) | self.0 & 0xffffffff) [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0xffff_ffff` [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: Closure called just once immediately after it was declared [INFO] [stderr] --> src/index_raw.rs:424:13 [INFO] [stderr] | [INFO] [stderr] 424 | counts[0] = count_or_zero(chunks.next()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_closure_call)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure_call [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/index_raw.rs:674:5 [INFO] [stderr] | [INFO] [stderr] 674 | return false_up_to; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `false_up_to` [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: passing a unit value to a function [INFO] [stderr] --> src/word.rs:78:31 [INFO] [stderr] | [INFO] [stderr] 78 | Some(rep) => Some(*self = rep), [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unit_arg)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unit_arg [INFO] [stderr] help: if you intended to pass a unit value, use a unit literal instead [INFO] [stderr] | [INFO] [stderr] 78 | Some(rep) => Some(()), [INFO] [stderr] | ^^ [INFO] [stderr] [INFO] [stderr] warning: casting u16 to u32 may become silently lossy if types change [INFO] [stderr] --> src/word.rs:85:20 [INFO] [stderr] | [INFO] [stderr] 85 | let mut from = from as u32; [INFO] [stderr] | ^^^^^^^^^^^ help: try: `u32::from(from)` [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: very complex type used. Consider factoring parts into `type` definitions [INFO] [stderr] --> src/bytes.rs:40:34 [INFO] [stderr] | [INFO] [stderr] 40 | fn bytes_as_u64s(data: &[u8]) -> Result<(&[u8], &[u64], &[u8]), &[u8]> { [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] error: casting from `*const u8` to a more-strictly-aligned pointer (`*const u64`) [INFO] [stderr] --> src/bytes.rs:62:19 [INFO] [stderr] | [INFO] [stderr] 62 | let ptr = data.as_ptr() as *const u64; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::cast_ptr_alignment)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_ptr_alignment [INFO] [stderr] [INFO] [stderr] warning: casting u32 to u64 may become silently lossy if types change [INFO] [stderr] --> src/bytes.rs:70:26 [INFO] [stderr] | [INFO] [stderr] 70 | data.iter().map(|&x| count_ones(x) as u64).sum::() [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try: `u64::from(count_ones(x))` [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/bytes.rs:101:29 [INFO] [stderr] | [INFO] [stderr] 101 | Some(full_bytes_count + rem_count as u64) [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: try: `u64::from(rem_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: casting u32 to u64 may become silently lossy if types change [INFO] [stderr] --> src/bytes.rs:110:38 [INFO] [stderr] | [INFO] [stderr] 110 | let count = W::convert_count(byte.count_ones() as u64, 8); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u64::from(byte.count_ones())` [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/bytes.rs:113:17 [INFO] [stderr] | [INFO] [stderr] 113 | byte as u16 [INFO] [stderr] | ^^^^^^^^^^^ help: try: `u16::from(byte)` [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/bytes.rs:115:17 [INFO] [stderr] | [INFO] [stderr] 115 | (!byte) as u16 [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try: `u16::from((!byte))` [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/bytes.rs:118:26 [INFO] [stderr] | [INFO] [stderr] 118 | let answer = selected as u64 - 8 + running_index; [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `u64::from(selected)` [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/bytes.rs:150:38 [INFO] [stderr] | [INFO] [stderr] 150 | let count = W::convert_count(word.count_ones() as u64, 64); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u64::from(word.count_ones())` [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/bytes.rs:154:48 [INFO] [stderr] | [INFO] [stderr] 154 | .map(|sub_res| running_index + sub_res as u64); [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try: `u64::from(sub_res)` [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: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/index_raw.rs:31:5 [INFO] [stderr] | [INFO] [stderr] 31 | / fn chunks_by_bytes<'s>(&'s self, bytes_per_chunk: usize) -> impl Iterator> { [INFO] [stderr] 32 | | [INFO] [stderr] 33 | | let bits_per_chunk = (bytes_per_chunk as u64) * 8; [INFO] [stderr] 34 | | self.bytes().chunks(bytes_per_chunk).enumerate().map( [INFO] [stderr] ... | [INFO] [stderr] 40 | | ) [INFO] [stderr] 41 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_lifetimes)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: casting u32 to u64 may become silently lossy if types change [INFO] [stderr] --> src/index_raw.rs:140:18 [INFO] [stderr] | [INFO] [stderr] 140 | ((base_rank as u64) << 32) | ((first_counts[0] as u64) << 22) | [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: try: `u64::from(base_rank)` [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 u16 to u64 may become silently lossy if types change [INFO] [stderr] --> src/index_raw.rs:140:47 [INFO] [stderr] | [INFO] [stderr] 140 | ((base_rank as u64) << 32) | ((first_counts[0] as u64) << 22) | [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u64::from(first_counts[0])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u16 to u64 may become silently lossy if types change [INFO] [stderr] --> src/index_raw.rs:141:22 [INFO] [stderr] | [INFO] [stderr] 141 | ((first_counts[1] as u64) << 12) | ((first_counts[2] as u64) << 2), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u64::from(first_counts[1])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u16 to u64 may become silently lossy if types change [INFO] [stderr] --> src/index_raw.rs:141:57 [INFO] [stderr] | [INFO] [stderr] 141 | ((first_counts[1] as u64) << 12) | ((first_counts[2] as u64) << 2), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u64::from(first_counts[2])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to u64 may become silently lossy if types change [INFO] [stderr] --> src/index_raw.rs:150:24 [INFO] [stderr] | [INFO] [stderr] 150 | L1L2Entry(((base_rank as u64) << 32) | self.0 & 0xffffffff) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: try: `u64::from(base_rank)` [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: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/index_raw.rs:179:5 [INFO] [stderr] | [INFO] [stderr] 179 | / fn cast_to_l1l2<'a>(data: &'a [u64]) -> &'a [L1L2Entry] { [INFO] [stderr] 180 | | debug_assert_eq!(size_of::(), size_of::()); [INFO] [stderr] 181 | | debug_assert_eq!(align_of::(), align_of::()); [INFO] [stderr] 182 | | [INFO] [stderr] ... | [INFO] [stderr] 188 | | } [INFO] [stderr] 189 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/index_raw.rs:191:5 [INFO] [stderr] | [INFO] [stderr] 191 | / fn cast_to_l1l2_mut<'a>(data: &'a mut [u64]) -> &'a mut [L1L2Entry] { [INFO] [stderr] 192 | | debug_assert_eq!(size_of::(), size_of::()); [INFO] [stderr] 193 | | debug_assert_eq!(align_of::(), align_of::()); [INFO] [stderr] 194 | | [INFO] [stderr] ... | [INFO] [stderr] 200 | | } [INFO] [stderr] 201 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/index_raw.rs:203:5 [INFO] [stderr] | [INFO] [stderr] 203 | / fn cast_to_samples<'a>(data: &'a [u64]) -> &'a [SampleEntry] { [INFO] [stderr] 204 | | debug_assert_eq!(size_of::(), 2 * size_of::()); [INFO] [stderr] 205 | | debug_assert_eq!(align_of::(), 2 * align_of::()); [INFO] [stderr] 206 | | [INFO] [stderr] ... | [INFO] [stderr] 212 | | } [INFO] [stderr] 213 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/index_raw.rs:215:5 [INFO] [stderr] | [INFO] [stderr] 215 | / fn cast_to_samples_mut<'a>(data: &'a mut [u64]) -> &'a mut [SampleEntry] { [INFO] [stderr] 216 | | debug_assert_eq!(size_of::(), 2 * size_of::()); [INFO] [stderr] 217 | | debug_assert_eq!(align_of::(), 2 * align_of::()); [INFO] [stderr] 218 | | [INFO] [stderr] ... | [INFO] [stderr] 224 | | } [INFO] [stderr] 225 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/index_raw.rs:395:29 [INFO] [stderr] | [INFO] [stderr] 395 | total_count_ones += l0_entry.clone(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: try dereferencing it: `*l0_entry` [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: casting u16 to u32 may become silently lossy if types change [INFO] [stderr] --> src/index_raw.rs:432:41 [INFO] [stderr] | [INFO] [stderr] 432 | *write_to = L1L2Entry::pack(total as u32, counts); [INFO] [stderr] | ^^^^^^^^^^^^ help: try: `u32::from(total)` [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: using `clone` on a `Copy` type [INFO] [stderr] --> src/index_raw.rs:438:25 [INFO] [stderr] | [INFO] [stderr] 438 | let base_rank = running_total.clone() as u32; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `running_total` [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: length comparison to zero [INFO] [stderr] --> src/index_raw.rs:682:19 [INFO] [stderr] | [INFO] [stderr] 682 | debug_assert!(l0_index.len() > 0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!l0_index.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] error: this `if` has identical blocks [INFO] [stderr] --> src/index_raw.rs:729:66 [INFO] [stderr] | [INFO] [stderr] 729 | } else if next_sample_idx >= select_samples.len() as u64 { [INFO] [stderr] | __________________________________________________________________^ [INFO] [stderr] 730 | | // Sample does not exist [INFO] [stderr] 731 | | inner_l1l2_index.len() [INFO] [stderr] 732 | | } else { [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/index_raw.rs:726:51 [INFO] [stderr] | [INFO] [stderr] 726 | if next_sample_rank >= next_l0_block_rank { [INFO] [stderr] | ___________________________________________________^ [INFO] [stderr] 727 | | // Sample is in the next l0 block [INFO] [stderr] 728 | | inner_l1l2_index.len() [INFO] [stderr] 729 | | } else if next_sample_idx >= select_samples.len() as u64 { [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 2 previous errors [INFO] [stderr] [INFO] [stderr] error: Could not compile `indexed_bitvec_core`. [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/word.rs:97:24 [INFO] [stderr] | [INFO] [stderr] 97 | nth -= (from & 0xffff0000).count_ones(); [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0xffff_0000` [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/word.rs:98:17 [INFO] [stderr] | [INFO] [stderr] 98 | from &= 0x0000ffff; [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0x0000_ffff` [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: this `else { if .. }` block can be collapsed [INFO] [stderr] --> src/word.rs:168:16 [INFO] [stderr] | [INFO] [stderr] 168 | } else { [INFO] [stderr] | ________________^ [INFO] [stderr] 169 | | if rank_48 > nth { [INFO] [stderr] 170 | | select_ones_u16(((int >> 16) & 0xffff) as u16, nth - rank_32) + 32 [INFO] [stderr] 171 | | } else { [INFO] [stderr] ... | [INFO] [stderr] 177 | | } [INFO] [stderr] 178 | | }; [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] 168 | } else if rank_48 > nth { [INFO] [stderr] 169 | select_ones_u16(((int >> 16) & 0xffff) as u16, nth - rank_32) + 32 [INFO] [stderr] 170 | } else { [INFO] [stderr] 171 | if nth >= self.count_ones() { [INFO] [stderr] 172 | return None; [INFO] [stderr] 173 | } [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/word.rs:227:32 [INFO] [stderr] | [INFO] [stderr] 227 | for (i, x) in get_bits(0xffffffffffffffff) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider: `0xffff_ffff_ffff_ffff` [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/word.rs:230:32 [INFO] [stderr] | [INFO] [stderr] 230 | for (i, x) in get_bits(0x0000000000000000) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider: `0x0000_0000_0000_0000` [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/word.rs:233:32 [INFO] [stderr] | [INFO] [stderr] 233 | for (i, x) in get_bits(0xffffffff00000000) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider: `0xffff_ffff_0000_0000` [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/word.rs:236:32 [INFO] [stderr] | [INFO] [stderr] 236 | for (i, x) in get_bits(0x00000000ffffffff) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider: `0x0000_0000_ffff_ffff` [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/word.rs:239:32 [INFO] [stderr] | [INFO] [stderr] 239 | for (i, x) in get_bits(0xaaaaaaaaaaaaaaaa) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider: `0xaaaa_aaaa_aaaa_aaaa` [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/word.rs:242:32 [INFO] [stderr] | [INFO] [stderr] 242 | for (i, x) in get_bits(0x5555555555555555) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider: `0x5555_5555_5555_5555` [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/word.rs:247:36 [INFO] [stderr] | [INFO] [stderr] 247 | for (i, x) in get_bits(0x8000000000000000 >> shift) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider: `0x8000_0000_0000_0000` [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/index_raw.rs:150:61 [INFO] [stderr] | [INFO] [stderr] 150 | L1L2Entry(((base_rank as u64) << 32) | self.0 & 0xffffffff) [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0xffff_ffff` [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: Closure called just once immediately after it was declared [INFO] [stderr] --> src/index_raw.rs:424:13 [INFO] [stderr] | [INFO] [stderr] 424 | counts[0] = count_or_zero(chunks.next()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_closure_call)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure_call [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/index_raw.rs:674:5 [INFO] [stderr] | [INFO] [stderr] 674 | return false_up_to; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `false_up_to` [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 is a decimal constant [INFO] [stderr] --> src/index_raw.rs:808:13 [INFO] [stderr] | [INFO] [stderr] 808 | 05, [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] 808 | 5, [INFO] [stderr] | ^ [INFO] [stderr] help: if you mean to use an octal constant, use `0o` [INFO] [stderr] | [INFO] [stderr] 808 | 0o5, [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: passing a unit value to a function [INFO] [stderr] --> src/word.rs:78:31 [INFO] [stderr] | [INFO] [stderr] 78 | Some(rep) => Some(*self = rep), [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unit_arg)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unit_arg [INFO] [stderr] help: if you intended to pass a unit value, use a unit literal instead [INFO] [stderr] | [INFO] [stderr] 78 | Some(rep) => Some(()), [INFO] [stderr] | ^^ [INFO] [stderr] [INFO] [stderr] warning: casting u16 to u32 may become silently lossy if types change [INFO] [stderr] --> src/word.rs:85:20 [INFO] [stderr] | [INFO] [stderr] 85 | let mut from = from as u32; [INFO] [stderr] | ^^^^^^^^^^^ help: try: `u32::from(from)` [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: using `clone` on a `Copy` type [INFO] [stderr] --> src/word.rs:261:33 [INFO] [stderr] | [INFO] [stderr] 261 | let mut x = x.clone(); [INFO] [stderr] | ^^^^^^^^^ help: try removing the `clone` call: `x` [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/word.rs:266:33 [INFO] [stderr] | [INFO] [stderr] 266 | let mut x = x.clone(); [INFO] [stderr] | ^^^^^^^^^ help: try removing the `clone` call: `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: equality checks against true are unnecessary [INFO] [stderr] --> src/word.rs:273:25 [INFO] [stderr] | [INFO] [stderr] 273 | set_true.get(j).unwrap() == true [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try simplifying it as shown: `set_true.get(j).unwrap()` [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/word.rs:274:28 [INFO] [stderr] | [INFO] [stderr] 274 | && set_false.get(j).unwrap() == false [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try simplifying it as shown: `!set_false.get(j).unwrap()` [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 u16 to u64 may become silently lossy if types change [INFO] [stderr] --> src/word.rs:322:37 [INFO] [stderr] | [INFO] [stderr] 322 | let x_bits = Word::from((x as u64) << 48); [INFO] [stderr] | ^^^^^^^^^^ help: try: `u64::from(x)` [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/bytes.rs:40:34 [INFO] [stderr] | [INFO] [stderr] 40 | fn bytes_as_u64s(data: &[u8]) -> Result<(&[u8], &[u64], &[u8]), &[u8]> { [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] error: casting from `*const u8` to a more-strictly-aligned pointer (`*const u64`) [INFO] [stderr] --> src/bytes.rs:62:19 [INFO] [stderr] | [INFO] [stderr] 62 | let ptr = data.as_ptr() as *const u64; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::cast_ptr_alignment)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_ptr_alignment [INFO] [stderr] [INFO] [stderr] warning: casting u32 to u64 may become silently lossy if types change [INFO] [stderr] --> src/bytes.rs:70:26 [INFO] [stderr] | [INFO] [stderr] 70 | data.iter().map(|&x| count_ones(x) as u64).sum::() [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try: `u64::from(count_ones(x))` [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/bytes.rs:101:29 [INFO] [stderr] | [INFO] [stderr] 101 | Some(full_bytes_count + rem_count as u64) [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: try: `u64::from(rem_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: casting u32 to u64 may become silently lossy if types change [INFO] [stderr] --> src/bytes.rs:110:38 [INFO] [stderr] | [INFO] [stderr] 110 | let count = W::convert_count(byte.count_ones() as u64, 8); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u64::from(byte.count_ones())` [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/bytes.rs:113:17 [INFO] [stderr] | [INFO] [stderr] 113 | byte as u16 [INFO] [stderr] | ^^^^^^^^^^^ help: try: `u16::from(byte)` [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/bytes.rs:115:17 [INFO] [stderr] | [INFO] [stderr] 115 | (!byte) as u16 [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try: `u16::from((!byte))` [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/bytes.rs:118:26 [INFO] [stderr] | [INFO] [stderr] 118 | let answer = selected as u64 - 8 + running_index; [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `u64::from(selected)` [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/bytes.rs:150:38 [INFO] [stderr] | [INFO] [stderr] 150 | let count = W::convert_count(word.count_ones() as u64, 64); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u64::from(word.count_ones())` [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/bytes.rs:154:48 [INFO] [stderr] | [INFO] [stderr] 154 | .map(|sub_res| running_index + sub_res as u64); [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try: `u64::from(sub_res)` [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/bytes.rs:202:40 [INFO] [stderr] | [INFO] [stderr] 202 | expected_count_ones += byte.count_ones() as u64; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u64::from(byte.count_ones())` [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/bytes.rs:203:41 [INFO] [stderr] | [INFO] [stderr] 203 | expected_count_zeros += byte.count_zeros() as u64; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u64::from(byte.count_zeros())` [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: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/bytes.rs:256:45 [INFO] [stderr] | [INFO] [stderr] 256 | fn do_test_select(data: &Vec) { [INFO] [stderr] | ^^^^^^^^ help: change this to: `&[u8]` [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: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/index_raw.rs:31:5 [INFO] [stderr] | [INFO] [stderr] 31 | / fn chunks_by_bytes<'s>(&'s self, bytes_per_chunk: usize) -> impl Iterator> { [INFO] [stderr] 32 | | [INFO] [stderr] 33 | | let bits_per_chunk = (bytes_per_chunk as u64) * 8; [INFO] [stderr] 34 | | self.bytes().chunks(bytes_per_chunk).enumerate().map( [INFO] [stderr] ... | [INFO] [stderr] 40 | | ) [INFO] [stderr] 41 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_lifetimes)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: casting u32 to u64 may become silently lossy if types change [INFO] [stderr] --> src/index_raw.rs:140:18 [INFO] [stderr] | [INFO] [stderr] 140 | ((base_rank as u64) << 32) | ((first_counts[0] as u64) << 22) | [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: try: `u64::from(base_rank)` [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 u16 to u64 may become silently lossy if types change [INFO] [stderr] --> src/index_raw.rs:140:47 [INFO] [stderr] | [INFO] [stderr] 140 | ((base_rank as u64) << 32) | ((first_counts[0] as u64) << 22) | [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u64::from(first_counts[0])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u16 to u64 may become silently lossy if types change [INFO] [stderr] --> src/index_raw.rs:141:22 [INFO] [stderr] | [INFO] [stderr] 141 | ((first_counts[1] as u64) << 12) | ((first_counts[2] as u64) << 2), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u64::from(first_counts[1])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u16 to u64 may become silently lossy if types change [INFO] [stderr] --> src/index_raw.rs:141:57 [INFO] [stderr] | [INFO] [stderr] 141 | ((first_counts[1] as u64) << 12) | ((first_counts[2] as u64) << 2), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u64::from(first_counts[2])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to u64 may become silently lossy if types change [INFO] [stderr] --> src/index_raw.rs:150:24 [INFO] [stderr] | [INFO] [stderr] 150 | L1L2Entry(((base_rank as u64) << 32) | self.0 & 0xffffffff) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: try: `u64::from(base_rank)` [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: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/index_raw.rs:179:5 [INFO] [stderr] | [INFO] [stderr] 179 | / fn cast_to_l1l2<'a>(data: &'a [u64]) -> &'a [L1L2Entry] { [INFO] [stderr] 180 | | debug_assert_eq!(size_of::(), size_of::()); [INFO] [stderr] 181 | | debug_assert_eq!(align_of::(), align_of::()); [INFO] [stderr] 182 | | [INFO] [stderr] ... | [INFO] [stderr] 188 | | } [INFO] [stderr] 189 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/index_raw.rs:191:5 [INFO] [stderr] | [INFO] [stderr] 191 | / fn cast_to_l1l2_mut<'a>(data: &'a mut [u64]) -> &'a mut [L1L2Entry] { [INFO] [stderr] 192 | | debug_assert_eq!(size_of::(), size_of::()); [INFO] [stderr] 193 | | debug_assert_eq!(align_of::(), align_of::()); [INFO] [stderr] 194 | | [INFO] [stderr] ... | [INFO] [stderr] 200 | | } [INFO] [stderr] 201 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/index_raw.rs:203:5 [INFO] [stderr] | [INFO] [stderr] 203 | / fn cast_to_samples<'a>(data: &'a [u64]) -> &'a [SampleEntry] { [INFO] [stderr] 204 | | debug_assert_eq!(size_of::(), 2 * size_of::()); [INFO] [stderr] 205 | | debug_assert_eq!(align_of::(), 2 * align_of::()); [INFO] [stderr] 206 | | [INFO] [stderr] ... | [INFO] [stderr] 212 | | } [INFO] [stderr] 213 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/index_raw.rs:215:5 [INFO] [stderr] | [INFO] [stderr] 215 | / fn cast_to_samples_mut<'a>(data: &'a mut [u64]) -> &'a mut [SampleEntry] { [INFO] [stderr] 216 | | debug_assert_eq!(size_of::(), 2 * size_of::()); [INFO] [stderr] 217 | | debug_assert_eq!(align_of::(), 2 * align_of::()); [INFO] [stderr] 218 | | [INFO] [stderr] ... | [INFO] [stderr] 224 | | } [INFO] [stderr] 225 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/index_raw.rs:395:29 [INFO] [stderr] | [INFO] [stderr] 395 | total_count_ones += l0_entry.clone(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: try dereferencing it: `*l0_entry` [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 u16 to u32 may become silently lossy if types change [INFO] [stderr] --> src/index_raw.rs:432:41 [INFO] [stderr] | [INFO] [stderr] 432 | *write_to = L1L2Entry::pack(total as u32, counts); [INFO] [stderr] | ^^^^^^^^^^^^ help: try: `u32::from(total)` [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: using `clone` on a `Copy` type [INFO] [stderr] --> src/index_raw.rs:438:25 [INFO] [stderr] | [INFO] [stderr] 438 | let base_rank = running_total.clone() as u32; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `running_total` [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: length comparison to zero [INFO] [stderr] --> src/index_raw.rs:682:19 [INFO] [stderr] | [INFO] [stderr] 682 | debug_assert!(l0_index.len() > 0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!l0_index.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] error: this `if` has identical blocks [INFO] [stderr] --> src/index_raw.rs:729:66 [INFO] [stderr] | [INFO] [stderr] 729 | } else if next_sample_idx >= select_samples.len() as u64 { [INFO] [stderr] | __________________________________________________________________^ [INFO] [stderr] 730 | | // Sample does not exist [INFO] [stderr] 731 | | inner_l1l2_index.len() [INFO] [stderr] 732 | | } else { [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/index_raw.rs:726:51 [INFO] [stderr] | [INFO] [stderr] 726 | if next_sample_rank >= next_l0_block_rank { [INFO] [stderr] | ___________________________________________________^ [INFO] [stderr] 727 | | // Sample is in the next l0 block [INFO] [stderr] 728 | | inner_l1l2_index.len() [INFO] [stderr] 729 | | } else if next_sample_idx >= select_samples.len() as u64 { [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 2 previous errors [INFO] [stderr] [INFO] [stderr] error: Could not compile `indexed_bitvec_core`. [INFO] [stderr] [INFO] [stderr] To learn more, run the command again with --verbose. [INFO] running `"docker" "inspect" "9a71f0d6a37870e295c8dc48ed78bec13722af8c04c38fdf084586d85d95313f"` [INFO] running `"docker" "rm" "-f" "9a71f0d6a37870e295c8dc48ed78bec13722af8c04c38fdf084586d85d95313f"` [INFO] [stdout] 9a71f0d6a37870e295c8dc48ed78bec13722af8c04c38fdf084586d85d95313f