[INFO] fetching crate bit-array 0.4.4... [INFO] linting bit-array-0.4.4 against nightly for clippy-nonminimal_bool-denied [INFO] extracting crate bit-array 0.4.4 into /workspace/builds/worker-0-tc1/source [INFO] started tweaking crates.io crate bit-array 0.4.4 [INFO] finished tweaking crates.io crate bit-array 0.4.4 [INFO] tweaked toml for crates.io crate bit-array 0.4.4 written to /workspace/builds/worker-0-tc1/source/Cargo.toml [INFO] validating manifest of crates.io crate bit-array 0.4.4 on toolchain nightly [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+nightly" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+nightly" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Locking 14 packages to latest compatible versions [INFO] [stderr] Adding bit-vec v0.4.4 (available: v0.9.1) [INFO] [stderr] Adding generic-array v0.3.2 (available: v1.3.5) [INFO] [stderr] Adding rand v0.3.23 (available: v0.10.0) [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+nightly" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] warning: `package.edition` is unspecified, defaulting to `2015` while the latest is `2024` [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded bit-vec v0.4.4 [INFO] [stderr] Downloaded generic-array v0.3.2 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+nightly" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] c818ed8229915b9f996b5843c98801cf43b955991dbcd9aad11ddbdb21f7540e [INFO] running `Command { std: "docker" "start" "-a" "c818ed8229915b9f996b5843c98801cf43b955991dbcd9aad11ddbdb21f7540e", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "c818ed8229915b9f996b5843c98801cf43b955991dbcd9aad11ddbdb21f7540e", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "c818ed8229915b9f996b5843c98801cf43b955991dbcd9aad11ddbdb21f7540e", kill_on_drop: false }` [INFO] [stdout] c818ed8229915b9f996b5843c98801cf43b955991dbcd9aad11ddbdb21f7540e [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+nightly" "clippy" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] d380a6ce18a583e66dd9537d1db0b4d2bb1c1689328de082fe1703ba12583e6c [INFO] running `Command { std: "docker" "start" "-a" "d380a6ce18a583e66dd9537d1db0b4d2bb1c1689328de082fe1703ba12583e6c", kill_on_drop: false }` [INFO] [stderr] warning: `package.edition` is unspecified, defaulting to `2015` while the latest is `2024` [INFO] [stderr] Checking nodrop v0.1.14 [INFO] [stderr] Checking bit-vec v0.4.4 [INFO] [stderr] Checking rand v0.4.6 [INFO] [stderr] Checking generic-array v0.3.2 [INFO] [stderr] Checking bit-array v0.4.4 (/opt/rustwide/workdir) [INFO] [stdout] warning: unnecessary parentheses around closure body [INFO] [stdout] --> src/lib.rs:555:38 [INFO] [stdout] | [INFO] [stdout] 555 | self.process(other, |w1, w2| (w1 | w2)) [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 555 - self.process(other, |w1, w2| (w1 | w2)) [INFO] [stdout] 555 + self.process(other, |w1, w2| w1 | w2) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around closure body [INFO] [stdout] --> src/lib.rs:590:38 [INFO] [stdout] | [INFO] [stdout] 590 | self.process(other, |w1, w2| (w1 & w2)) [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 590 - self.process(other, |w1, w2| (w1 & w2)) [INFO] [stdout] 590 + self.process(other, |w1, w2| w1 & w2) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around closure body [INFO] [stdout] --> src/lib.rs:632:38 [INFO] [stdout] | [INFO] [stdout] 632 | self.process(other, |w1, w2| (w1 & !w2)) [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 632 - self.process(other, |w1, w2| (w1 & !w2)) [INFO] [stdout] 632 + self.process(other, |w1, w2| w1 & !w2) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: bound is defined in more than one place [INFO] [stdout] --> src/lib.rs:758:48 [INFO] [stdout] | [INFO] [stdout] 758 | ... fn bit(bit_array: &BitArray, byte: usize, bit: usize) ->... [INFO] [stdout] | ^^^^^ [INFO] [stdout] 759 | ... where NBits: Add<::Output>, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#multiple_bound_locations [INFO] [stdout] = note: `#[warn(clippy::multiple_bound_locations)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/lib.rs:909:13 [INFO] [stdout] | [INFO] [stdout] 909 | try!(write!(fmt, "{}", if bit { 1 } else { 0 })); [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `MatchWords` is never used [INFO] [stdout] --> src/lib.rs:114:6 [INFO] [stdout] | [INFO] [stdout] 114 | type MatchWords<'a, B> = Chain>, Skip>>>>; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: importing legacy numeric constants [INFO] [stdout] --> src/lib.rs:108:11 [INFO] [stdout] | [INFO] [stdout] 108 | use std::{u8, usize}; [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = help: remove this import [INFO] [stdout] = note: then `u8::` will resolve to the respective associated constant [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#legacy_numeric_constants [INFO] [stdout] = note: `#[warn(clippy::legacy_numeric_constants)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: importing legacy numeric constants [INFO] [stdout] --> src/lib.rs:108:15 [INFO] [stdout] | [INFO] [stdout] 108 | use std::{u8, usize}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: remove this import [INFO] [stdout] = note: then `usize::` will resolve to the respective associated constant [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#legacy_numeric_constants [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> src/lib.rs:147:9 [INFO] [stdout] | [INFO] [stdout] 147 | result = result | ((byte >> i) & 1) << (u8::bits() - 1 - i); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `result |= ((byte >> i) & 1) << (u8::bits() - 1 - i)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stdout] = note: `#[warn(clippy::assign_op_pattern)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> src/lib.rs:193:14 [INFO] [stdout] | [INFO] [stdout] 193 | storage: GenericArray>> [INFO] [stdout] 197 | | ,BitsInOut [INFO] [stdout] 198 | | > [INFO] [stdout] 199 | | >, [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] = note: `#[warn(clippy::type_complexity)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unsafe function's docs are missing a `# Safety` section [INFO] [stdout] --> src/lib.rs:394:5 [INFO] [stdout] | [INFO] [stdout] 394 | pub unsafe fn storage_mut(&mut self) -> &mut[B] { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_safety_doc [INFO] [stdout] = note: `#[warn(clippy::missing_safety_doc)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `BitArray` has a public `len` method, but no `is_empty` method [INFO] [stdout] --> src/lib.rs:815:5 [INFO] [stdout] | [INFO] [stdout] 815 | pub fn len(&self) -> usize { NBits::to_usize() } [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_without_is_empty [INFO] [stdout] = note: `#[warn(clippy::len_without_is_empty)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/lib.rs:373:19 [INFO] [stdout] | [INFO] [stdout] 373 | fn blocks_mut(&mut self) -> MutBlocks { [INFO] [stdout] | ^^^^^^^^^ ^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 373 | fn blocks_mut(&mut self) -> MutBlocks<'_, B> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/lib.rs:379:19 [INFO] [stdout] | [INFO] [stdout] 379 | pub fn blocks(&self) -> Blocks { [INFO] [stdout] | ^^^^^ ^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 379 | pub fn blocks(&self) -> Blocks<'_, B> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/lib.rs:680:17 [INFO] [stdout] | [INFO] [stdout] 680 | pub fn iter(&self) -> Iter { [INFO] [stdout] | ^^^^^ ^^^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 680 | pub fn iter(&self) -> Iter<'_, B, NBits> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Checking rand v0.3.23 [INFO] [stdout] warning: unnecessary parentheses around closure body [INFO] [stdout] --> src/lib.rs:555:38 [INFO] [stdout] | [INFO] [stdout] 555 | self.process(other, |w1, w2| (w1 | w2)) [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 555 - self.process(other, |w1, w2| (w1 | w2)) [INFO] [stdout] 555 + self.process(other, |w1, w2| w1 | w2) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around closure body [INFO] [stdout] --> src/lib.rs:590:38 [INFO] [stdout] | [INFO] [stdout] 590 | self.process(other, |w1, w2| (w1 & w2)) [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 590 - self.process(other, |w1, w2| (w1 & w2)) [INFO] [stdout] 590 + self.process(other, |w1, w2| w1 & w2) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around closure body [INFO] [stdout] --> src/lib.rs:632:38 [INFO] [stdout] | [INFO] [stdout] 632 | self.process(other, |w1, w2| (w1 & !w2)) [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 632 - self.process(other, |w1, w2| (w1 & !w2)) [INFO] [stdout] 632 + self.process(other, |w1, w2| w1 & !w2) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: bound is defined in more than one place [INFO] [stdout] --> src/lib.rs:758:48 [INFO] [stdout] | [INFO] [stdout] 758 | ... fn bit(bit_array: &BitArray, byte: usize, bit: usize) ->... [INFO] [stdout] | ^^^^^ [INFO] [stdout] 759 | ... where NBits: Add<::Output>, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#multiple_bound_locations [INFO] [stdout] = note: `#[warn(clippy::multiple_bound_locations)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/lib.rs:909:13 [INFO] [stdout] | [INFO] [stdout] 909 | try!(write!(fmt, "{}", if bit { 1 } else { 0 })); [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `MatchWords` is never used [INFO] [stdout] --> src/lib.rs:114:6 [INFO] [stdout] | [INFO] [stdout] 114 | type MatchWords<'a, B> = Chain>, Skip>>>>; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: importing legacy numeric constants [INFO] [stdout] --> src/lib.rs:108:11 [INFO] [stdout] | [INFO] [stdout] 108 | use std::{u8, usize}; [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = help: remove this import [INFO] [stdout] = note: then `u8::` will resolve to the respective associated constant [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#legacy_numeric_constants [INFO] [stdout] = note: `#[warn(clippy::legacy_numeric_constants)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: importing legacy numeric constants [INFO] [stdout] --> src/lib.rs:108:15 [INFO] [stdout] | [INFO] [stdout] 108 | use std::{u8, usize}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: remove this import [INFO] [stdout] = note: then `usize::` will resolve to the respective associated constant [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#legacy_numeric_constants [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> src/lib.rs:147:9 [INFO] [stdout] | [INFO] [stdout] 147 | result = result | ((byte >> i) & 1) << (u8::bits() - 1 - i); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `result |= ((byte >> i) & 1) << (u8::bits() - 1 - i)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stdout] = note: `#[warn(clippy::assign_op_pattern)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> src/lib.rs:193:14 [INFO] [stdout] | [INFO] [stdout] 193 | storage: GenericArray>> [INFO] [stdout] 197 | | ,BitsInOut [INFO] [stdout] 198 | | > [INFO] [stdout] 199 | | >, [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] = note: `#[warn(clippy::type_complexity)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unsafe function's docs are missing a `# Safety` section [INFO] [stdout] --> src/lib.rs:394:5 [INFO] [stdout] | [INFO] [stdout] 394 | pub unsafe fn storage_mut(&mut self) -> &mut[B] { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_safety_doc [INFO] [stdout] = note: `#[warn(clippy::missing_safety_doc)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `BitArray` has a public `len` method, but no `is_empty` method [INFO] [stdout] --> src/lib.rs:815:5 [INFO] [stdout] | [INFO] [stdout] 815 | pub fn len(&self) -> usize { NBits::to_usize() } [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_without_is_empty [INFO] [stdout] = note: `#[warn(clippy::len_without_is_empty)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you are using an explicit closure for copying elements [INFO] [stdout] --> src/lib.rs:1466:44 [INFO] [stdout] | [INFO] [stdout] 1466 | let bit_array: BitArray = bools.iter().map(|n| *n).collect(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: consider calling the dedicated `copied` method: `bools.iter().copied()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_clone [INFO] [stdout] = note: `#[warn(clippy::map_clone)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you are using an explicit closure for copying elements [INFO] [stdout] --> src/lib.rs:1480:44 [INFO] [stdout] | [INFO] [stdout] 1480 | let bit_array: BitArray = bools.iter().map(|n| *n).collect(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: consider calling the dedicated `copied` method: `bools.iter().copied()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_clone [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you are using an explicit closure for copying elements [INFO] [stdout] --> src/lib.rs:1485:48 [INFO] [stdout] | [INFO] [stdout] 1485 | let bit_array: BitArray = long.iter().map(|n| *n).collect(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ help: consider calling the dedicated `copied` method: `long.iter().copied()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_clone [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/lib.rs:1538:17 [INFO] [stdout] | [INFO] [stdout] 1538 | assert!(!(a < b) && !(b < a)); [INFO] [stdout] | ^^^^^^^^ help: try: `(a >= b)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] = note: `#[warn(clippy::nonminimal_bool)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/lib.rs:1538:29 [INFO] [stdout] | [INFO] [stdout] 1538 | assert!(!(a < b) && !(b < a)); [INFO] [stdout] | ^^^^^^^^ help: try: `(b >= a)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/lib.rs:1544:17 [INFO] [stdout] | [INFO] [stdout] 1544 | assert!(!(a < b) && b < a); [INFO] [stdout] | ^^^^^^^^ help: try: `(a >= b)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this binary expression can be simplified [INFO] [stdout] --> src/lib.rs:1554:17 [INFO] [stdout] | [INFO] [stdout] 1554 | assert!(a <= b && a >= b); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: try: `a == b` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#double_comparisons [INFO] [stdout] = note: `#[warn(clippy::double_comparisons)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you are using an explicit closure for copying elements [INFO] [stdout] --> src/lib.rs:1614:44 [INFO] [stdout] | [INFO] [stdout] 1614 | let bit_array: BitArray = bools.iter().map(|n| *n).collect(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: consider calling the dedicated `copied` method: `bools.iter().copied()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_clone [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you are using an explicit closure for copying elements [INFO] [stdout] --> src/lib.rs:1623:44 [INFO] [stdout] | [INFO] [stdout] 1623 | let bit_array: BitArray = bools.iter().map(|n| *n).collect(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: consider calling the dedicated `copied` method: `bools.iter().copied()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_clone [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you are using an explicit closure for copying elements [INFO] [stdout] --> src/lib.rs:1632:44 [INFO] [stdout] | [INFO] [stdout] 1632 | let bit_array: BitArray = bools.iter().map(|n| *n).collect(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: consider calling the dedicated `copied` method: `bools.iter().copied()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_clone [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `vec!` [INFO] [stdout] --> src/lib.rs:1465:21 [INFO] [stdout] | [INFO] [stdout] 1465 | let bools = vec![true, false, true, true]; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: you can use an array directly: `[true, false, true, true]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stdout] = note: `#[warn(clippy::useless_vec)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `vec!` [INFO] [stdout] --> src/lib.rs:1613:21 [INFO] [stdout] | [INFO] [stdout] 1613 | let bools = vec![true, false, true, true]; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: you can use an array directly: `[true, false, true, true]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/lib.rs:373:19 [INFO] [stdout] | [INFO] [stdout] 373 | fn blocks_mut(&mut self) -> MutBlocks { [INFO] [stdout] | ^^^^^^^^^ ^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 373 | fn blocks_mut(&mut self) -> MutBlocks<'_, B> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/lib.rs:379:19 [INFO] [stdout] | [INFO] [stdout] 379 | pub fn blocks(&self) -> Blocks { [INFO] [stdout] | ^^^^^ ^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 379 | pub fn blocks(&self) -> Blocks<'_, B> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/lib.rs:680:17 [INFO] [stdout] | [INFO] [stdout] 680 | pub fn iter(&self) -> Iter { [INFO] [stdout] | ^^^^^ ^^^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 680 | pub fn iter(&self) -> Iter<'_, B, NBits> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 1.17s [INFO] running `Command { std: "docker" "inspect" "d380a6ce18a583e66dd9537d1db0b4d2bb1c1689328de082fe1703ba12583e6c", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "d380a6ce18a583e66dd9537d1db0b4d2bb1c1689328de082fe1703ba12583e6c", kill_on_drop: false }` [INFO] [stdout] d380a6ce18a583e66dd9537d1db0b4d2bb1c1689328de082fe1703ba12583e6c