[INFO] cloning repository https://github.com/uhhJoyz/pynary [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/uhhJoyz/pynary" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FuhhJoyz%2Fpynary", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FuhhJoyz%2Fpynary'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] ea2a5e3db9cba1f50215098df64064aba04154c7 [INFO] linting uhhJoyz/pynary against nightly for clippy-nonminimal_bool-denied [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FuhhJoyz%2Fpynary" "/workspace/builds/worker-2-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc1/source'... [INFO] [stderr] done. [INFO] removed /workspace/builds/worker-2-tc1/source/rust-toolchain.toml [INFO] started tweaking git repo https://github.com/uhhJoyz/pynary [INFO] finished tweaking git repo https://github.com/uhhJoyz/pynary [INFO] tweaked toml for git repo https://github.com/uhhJoyz/pynary written to /workspace/builds/worker-2-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/uhhJoyz/pynary 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] crate git repo https://github.com/uhhJoyz/pynary already has a lockfile, it will not be regenerated [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] Updating crates.io index [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded unindent v0.2.3 [INFO] [stderr] Downloaded pyo3-ffi v0.20.3 [INFO] [stderr] Downloaded indoc v2.0.4 [INFO] [stderr] Downloaded pyo3-macros v0.20.3 [INFO] [stderr] Downloaded pyo3-build-config v0.20.3 [INFO] [stderr] Downloaded pyo3-macros-backend v0.20.3 [INFO] [stderr] Downloaded portable-atomic v1.6.0 [INFO] [stderr] Downloaded pyo3 v0.20.3 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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] f9f49181707a5dbc0e2156e0e2c74634ae9cab5226a10a079192e465847dd829 [INFO] running `Command { std: "docker" "start" "-a" "f9f49181707a5dbc0e2156e0e2c74634ae9cab5226a10a079192e465847dd829", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "f9f49181707a5dbc0e2156e0e2c74634ae9cab5226a10a079192e465847dd829", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "f9f49181707a5dbc0e2156e0e2c74634ae9cab5226a10a079192e465847dd829", kill_on_drop: false }` [INFO] [stdout] f9f49181707a5dbc0e2156e0e2c74634ae9cab5226a10a079192e465847dd829 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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] 138efe923c68f2070eb799d79220cbf389d0e7e55af8d753371d1afa5762e53e [INFO] running `Command { std: "docker" "start" "-a" "138efe923c68f2070eb799d79220cbf389d0e7e55af8d753371d1afa5762e53e", kill_on_drop: false }` [INFO] [stderr] Compiling target-lexicon v0.12.14 [INFO] [stderr] Compiling once_cell v1.19.0 [INFO] [stderr] Compiling proc-macro2 v1.0.78 [INFO] [stderr] Compiling heck v0.4.1 [INFO] [stderr] Compiling portable-atomic v1.6.0 [INFO] [stderr] Checking smallvec v1.13.1 [INFO] [stderr] Compiling indoc v2.0.4 [INFO] [stderr] Checking unindent v0.2.3 [INFO] [stderr] Compiling memoffset v0.9.0 [INFO] [stderr] Checking parking_lot_core v0.9.9 [INFO] [stderr] Checking parking_lot v0.12.1 [INFO] [stderr] Compiling pyo3-build-config v0.20.3 [INFO] [stderr] Compiling quote v1.0.35 [INFO] [stderr] Compiling syn v2.0.52 [INFO] [stderr] Compiling pyo3-ffi v0.20.3 [INFO] [stderr] Compiling pyo3 v0.20.3 [INFO] [stderr] Compiling pyo3-macros-backend v0.20.3 [INFO] [stderr] Compiling pyo3-macros v0.20.3 [INFO] [stderr] Checking pynary v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `self` [INFO] [stdout] --> src/lib.rs:6:12 [INFO] [stdout] | [INFO] [stdout] 6 | simd::{self, u32x4, u8x16}, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: operator precedence might not be obvious [INFO] [stdout] --> src/lib.rs:34:53 [INFO] [stdout] | [INFO] [stdout] 34 | v[i] = !(self.binary_storage[i / 32] & (1u32 << i % 32) == 0) as u8; [INFO] [stdout] | ^^^^^^^^^^^^^^ help: consider parenthesizing your expression: `1u32 << (i % 32)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#precedence [INFO] [stdout] = note: `#[warn(clippy::precedence)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `FIRST_ONE_BIT_U8` is never used [INFO] [stdout] --> src/preload.rs:2:11 [INFO] [stdout] | [INFO] [stdout] 2 | pub const FIRST_ONE_BIT_U8: [u32; 16] = [4, 3, 2, 2, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0]; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `ONE_COUNT_4_BIT` is never used [INFO] [stdout] --> src/preload.rs:7:11 [INFO] [stdout] | [INFO] [stdout] 7 | pub const ONE_COUNT_4_BIT: [u32; 16] = [0, 1, 1, 2, 1, 2, 2, 3, 1, 2, 2, 3, 2, 3, 3, 4]; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/lib.rs:34:20 [INFO] [stdout] | [INFO] [stdout] 34 | v[i] = !(self.binary_storage[i / 32] & (1u32 << i % 32) == 0) as u8; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `(self.binary_storage[i / 32] & (1u32 << i % 32) != 0)` [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: the loop variable `i` is used to index `v` [INFO] [stdout] --> src/lib.rs:33:18 [INFO] [stdout] | [INFO] [stdout] 33 | for i in 0..self.length { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] = note: `#[warn(clippy::needless_range_loop)]` on by default [INFO] [stdout] help: consider using an iterator and enumerate() [INFO] [stdout] | [INFO] [stdout] 33 - for i in 0..self.length { [INFO] [stdout] 33 + for (i, ) in v.iter_mut().enumerate().take(self.length) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded unit return type [INFO] [stdout] --> src/lib.rs:48:52 [INFO] [stdout] | [INFO] [stdout] 48 | fn __setitem__(&mut self, idx: usize, val: u32) -> () { [INFO] [stdout] | ^^^^^^ help: remove the `-> ()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stdout] = note: `#[warn(clippy::unused_unit)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded unit return type [INFO] [stdout] --> src/lib.rs:79:43 [INFO] [stdout] | [INFO] [stdout] 79 | fn bit_and(&self, other: &BinaryArray) -> () { [INFO] [stdout] | ^^^^^^ help: remove the `-> ()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded unit return type [INFO] [stdout] --> src/lib.rs:97:42 [INFO] [stdout] | [INFO] [stdout] 97 | fn bit_or(&self, other: &BinaryArray) -> () { [INFO] [stdout] | ^^^^^^ help: remove the `-> ()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/lib.rs:236:20 [INFO] [stdout] | [INFO] [stdout] 236 | fn compress_bin(v: &Vec) -> Vec { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] = note: `#[warn(clippy::ptr_arg)]` on by default [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 236 - fn compress_bin(v: &Vec) -> Vec { [INFO] [stdout] 236 + fn compress_bin(v: &[u32]) -> Vec { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> src/lib.rs:240:9 [INFO] [stdout] | [INFO] [stdout] 240 | bin_arr[i / 32] = ((*b as u32) << (i as u32 % 32u32)) | bin_arr[i / 32]; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `bin_arr[i / 32] |= ((*b as u32) << (i as u32 % 32u32))` [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: casting to the same type is unnecessary (`u32` -> `u32`) [INFO] [stdout] --> src/lib.rs:240:28 [INFO] [stdout] | [INFO] [stdout] 240 | bin_arr[i / 32] = ((*b as u32) << (i as u32 % 32u32)) | bin_arr[i / 32]; [INFO] [stdout] | ^^^^^^^^^^^ help: try: `*b` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] = note: `#[warn(clippy::unnecessary_cast)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/lib.rs:20:1 [INFO] [stdout] | [INFO] [stdout] 20 | #[pymethods] [INFO] [stdout] | ^----------- [INFO] [stdout] | | [INFO] [stdout] | move the `impl` block outside of this method `__setitem__` and up 2 bodies [INFO] [stdout] 21 | impl BinaryArray { [INFO] [stdout] | ----------- `BinaryArray` is not local [INFO] [stdout] | [INFO] [stdout] = note: the attribute macro `pymethods` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the attribute macro `pymethods` may come from an old version of the `pyo3_macros` crate, try updating your dependency with `cargo update -p pyo3_macros` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: `#[warn(non_local_definitions)]` on by default [INFO] [stdout] = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/lib.rs:20:1 [INFO] [stdout] | [INFO] [stdout] 20 | #[pymethods] [INFO] [stdout] | ^----------- [INFO] [stdout] | | [INFO] [stdout] | move the `impl` block outside of this method `__eq__` and up 2 bodies [INFO] [stdout] 21 | impl BinaryArray { [INFO] [stdout] | ----------- `BinaryArray` is not local [INFO] [stdout] | [INFO] [stdout] = note: the attribute macro `pymethods` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the attribute macro `pymethods` may come from an old version of the `pyo3_macros` crate, try updating your dependency with `cargo update -p pyo3_macros` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/lib.rs:20:1 [INFO] [stdout] | [INFO] [stdout] 20 | #[pymethods] [INFO] [stdout] | ^----------- [INFO] [stdout] | | [INFO] [stdout] | move the `impl` block outside of this method `__sub__` and up 2 bodies [INFO] [stdout] 21 | impl BinaryArray { [INFO] [stdout] | ----------- `BinaryArray` is not local [INFO] [stdout] | [INFO] [stdout] = note: the attribute macro `pymethods` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the attribute macro `pymethods` may come from an old version of the `pyo3_macros` crate, try updating your dependency with `cargo update -p pyo3_macros` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/lib.rs:20:1 [INFO] [stdout] | [INFO] [stdout] 20 | #[pymethods] [INFO] [stdout] | ^----------- [INFO] [stdout] | | [INFO] [stdout] | move the `impl` block outside of this method `__lt__` and up 2 bodies [INFO] [stdout] 21 | impl BinaryArray { [INFO] [stdout] | ----------- `BinaryArray` is not local [INFO] [stdout] | [INFO] [stdout] = note: the attribute macro `pymethods` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the attribute macro `pymethods` may come from an old version of the `pyo3_macros` crate, try updating your dependency with `cargo update -p pyo3_macros` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/lib.rs:20:1 [INFO] [stdout] | [INFO] [stdout] 20 | #[pymethods] [INFO] [stdout] | ^----------- [INFO] [stdout] | | [INFO] [stdout] | move the `impl` block outside of this method `__gt__` and up 2 bodies [INFO] [stdout] 21 | impl BinaryArray { [INFO] [stdout] | ----------- `BinaryArray` is not local [INFO] [stdout] | [INFO] [stdout] = note: the attribute macro `pymethods` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the attribute macro `pymethods` may come from an old version of the `pyo3_macros` crate, try updating your dependency with `cargo update -p pyo3_macros` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/lib.rs:20:1 [INFO] [stdout] | [INFO] [stdout] 20 | #[pymethods] [INFO] [stdout] | ^----------- [INFO] [stdout] | | [INFO] [stdout] | move the `impl` block outside of this method `__le__` and up 2 bodies [INFO] [stdout] 21 | impl BinaryArray { [INFO] [stdout] | ----------- `BinaryArray` is not local [INFO] [stdout] | [INFO] [stdout] = note: the attribute macro `pymethods` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the attribute macro `pymethods` may come from an old version of the `pyo3_macros` crate, try updating your dependency with `cargo update -p pyo3_macros` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/lib.rs:20:1 [INFO] [stdout] | [INFO] [stdout] 20 | #[pymethods] [INFO] [stdout] | ^----------- [INFO] [stdout] | | [INFO] [stdout] | move the `impl` block outside of this method `__ge__` and up 2 bodies [INFO] [stdout] 21 | impl BinaryArray { [INFO] [stdout] | ----------- `BinaryArray` is not local [INFO] [stdout] | [INFO] [stdout] = note: the attribute macro `pymethods` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the attribute macro `pymethods` may come from an old version of the `pyo3_macros` crate, try updating your dependency with `cargo update -p pyo3_macros` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `self` [INFO] [stdout] --> src/lib.rs:6:12 [INFO] [stdout] | [INFO] [stdout] 6 | simd::{self, u32x4, u8x16}, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: operator precedence might not be obvious [INFO] [stdout] --> src/lib.rs:34:53 [INFO] [stdout] | [INFO] [stdout] 34 | v[i] = !(self.binary_storage[i / 32] & (1u32 << i % 32) == 0) as u8; [INFO] [stdout] | ^^^^^^^^^^^^^^ help: consider parenthesizing your expression: `1u32 << (i % 32)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#precedence [INFO] [stdout] = note: `#[warn(clippy::precedence)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/lib.rs:20:1 [INFO] [stdout] | [INFO] [stdout] 20 | #[pymethods] [INFO] [stdout] | -^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | `PyClassImplCollector` is not local [INFO] [stdout] | `PyClassNewTextSignature` is not local [INFO] [stdout] | move the `impl` block outside of this function `trampoline` and up 4 bodies [INFO] [stdout] 21 | impl BinaryArray { [INFO] [stdout] | ----------- [INFO] [stdout] | | [INFO] [stdout] | `BinaryArray` is not local [INFO] [stdout] | `BinaryArray` is not local [INFO] [stdout] | [INFO] [stdout] = note: the attribute macro `pymethods` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the attribute macro `pymethods` may come from an old version of the `pyo3_macros` crate, try updating your dependency with `cargo update -p pyo3_macros` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/lib.rs:20:1 [INFO] [stdout] | [INFO] [stdout] 20 | #[pymethods] [INFO] [stdout] | ^^^^^^^^^^^^ move the `impl` block outside of this static `ITEMS` and up 3 bodies [INFO] [stdout] 21 | impl BinaryArray { [INFO] [stdout] | ----------- `BinaryArray` is not local [INFO] [stdout] | [INFO] [stdout] = note: the macro `_pyo3::impl_::pyclass::generate_pyclass_richcompare_slot` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the macro `_pyo3::impl_::pyclass::generate_pyclass_richcompare_slot` may come from an old version of the `pyo3` crate, try updating your dependency with `cargo update -p pyo3` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the macro `_pyo3::impl_::pyclass::generate_pyclass_richcompare_slot` which comes from the expansion of the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `FIRST_ONE_BIT_U8` is never used [INFO] [stdout] --> src/preload.rs:2:11 [INFO] [stdout] | [INFO] [stdout] 2 | pub const FIRST_ONE_BIT_U8: [u32; 16] = [4, 3, 2, 2, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0]; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `ONE_COUNT_4_BIT` is never used [INFO] [stdout] --> src/preload.rs:7:11 [INFO] [stdout] | [INFO] [stdout] 7 | pub const ONE_COUNT_4_BIT: [u32; 16] = [0, 1, 1, 2, 1, 2, 2, 3, 1, 2, 2, 3, 2, 3, 3, 4]; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/lib.rs:34:20 [INFO] [stdout] | [INFO] [stdout] 34 | v[i] = !(self.binary_storage[i / 32] & (1u32 << i % 32) == 0) as u8; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `(self.binary_storage[i / 32] & (1u32 << i % 32) != 0)` [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: the loop variable `i` is used to index `v` [INFO] [stdout] --> src/lib.rs:33:18 [INFO] [stdout] | [INFO] [stdout] 33 | for i in 0..self.length { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] = note: `#[warn(clippy::needless_range_loop)]` on by default [INFO] [stdout] help: consider using an iterator and enumerate() [INFO] [stdout] | [INFO] [stdout] 33 - for i in 0..self.length { [INFO] [stdout] 33 + for (i, ) in v.iter_mut().enumerate().take(self.length) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded unit return type [INFO] [stdout] --> src/lib.rs:48:52 [INFO] [stdout] | [INFO] [stdout] 48 | fn __setitem__(&mut self, idx: usize, val: u32) -> () { [INFO] [stdout] | ^^^^^^ help: remove the `-> ()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stdout] = note: `#[warn(clippy::unused_unit)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded unit return type [INFO] [stdout] --> src/lib.rs:79:43 [INFO] [stdout] | [INFO] [stdout] 79 | fn bit_and(&self, other: &BinaryArray) -> () { [INFO] [stdout] | ^^^^^^ help: remove the `-> ()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded unit return type [INFO] [stdout] --> src/lib.rs:97:42 [INFO] [stdout] | [INFO] [stdout] 97 | fn bit_or(&self, other: &BinaryArray) -> () { [INFO] [stdout] | ^^^^^^ help: remove the `-> ()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/lib.rs:236:20 [INFO] [stdout] | [INFO] [stdout] 236 | fn compress_bin(v: &Vec) -> Vec { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] = note: `#[warn(clippy::ptr_arg)]` on by default [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 236 - fn compress_bin(v: &Vec) -> Vec { [INFO] [stdout] 236 + fn compress_bin(v: &[u32]) -> Vec { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> src/lib.rs:240:9 [INFO] [stdout] | [INFO] [stdout] 240 | bin_arr[i / 32] = ((*b as u32) << (i as u32 % 32u32)) | bin_arr[i / 32]; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `bin_arr[i / 32] |= ((*b as u32) << (i as u32 % 32u32))` [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: casting to the same type is unnecessary (`u32` -> `u32`) [INFO] [stdout] --> src/lib.rs:240:28 [INFO] [stdout] | [INFO] [stdout] 240 | bin_arr[i / 32] = ((*b as u32) << (i as u32 % 32u32)) | bin_arr[i / 32]; [INFO] [stdout] | ^^^^^^^^^^^ help: try: `*b` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] = note: `#[warn(clippy::unnecessary_cast)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/lib.rs:20:1 [INFO] [stdout] | [INFO] [stdout] 20 | #[pymethods] [INFO] [stdout] | ^----------- [INFO] [stdout] | | [INFO] [stdout] | move the `impl` block outside of this method `__setitem__` and up 2 bodies [INFO] [stdout] 21 | impl BinaryArray { [INFO] [stdout] | ----------- `BinaryArray` is not local [INFO] [stdout] | [INFO] [stdout] = note: the attribute macro `pymethods` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the attribute macro `pymethods` may come from an old version of the `pyo3_macros` crate, try updating your dependency with `cargo update -p pyo3_macros` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: `#[warn(non_local_definitions)]` on by default [INFO] [stdout] = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/lib.rs:20:1 [INFO] [stdout] | [INFO] [stdout] 20 | #[pymethods] [INFO] [stdout] | ^----------- [INFO] [stdout] | | [INFO] [stdout] | move the `impl` block outside of this method `__eq__` and up 2 bodies [INFO] [stdout] 21 | impl BinaryArray { [INFO] [stdout] | ----------- `BinaryArray` is not local [INFO] [stdout] | [INFO] [stdout] = note: the attribute macro `pymethods` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the attribute macro `pymethods` may come from an old version of the `pyo3_macros` crate, try updating your dependency with `cargo update -p pyo3_macros` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/lib.rs:20:1 [INFO] [stdout] | [INFO] [stdout] 20 | #[pymethods] [INFO] [stdout] | ^----------- [INFO] [stdout] | | [INFO] [stdout] | move the `impl` block outside of this method `__sub__` and up 2 bodies [INFO] [stdout] 21 | impl BinaryArray { [INFO] [stdout] | ----------- `BinaryArray` is not local [INFO] [stdout] | [INFO] [stdout] = note: the attribute macro `pymethods` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the attribute macro `pymethods` may come from an old version of the `pyo3_macros` crate, try updating your dependency with `cargo update -p pyo3_macros` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/lib.rs:20:1 [INFO] [stdout] | [INFO] [stdout] 20 | #[pymethods] [INFO] [stdout] | ^----------- [INFO] [stdout] | | [INFO] [stdout] | move the `impl` block outside of this method `__lt__` and up 2 bodies [INFO] [stdout] 21 | impl BinaryArray { [INFO] [stdout] | ----------- `BinaryArray` is not local [INFO] [stdout] | [INFO] [stdout] = note: the attribute macro `pymethods` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the attribute macro `pymethods` may come from an old version of the `pyo3_macros` crate, try updating your dependency with `cargo update -p pyo3_macros` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/lib.rs:20:1 [INFO] [stdout] | [INFO] [stdout] 20 | #[pymethods] [INFO] [stdout] | ^----------- [INFO] [stdout] | | [INFO] [stdout] | move the `impl` block outside of this method `__gt__` and up 2 bodies [INFO] [stdout] 21 | impl BinaryArray { [INFO] [stdout] | ----------- `BinaryArray` is not local [INFO] [stdout] | [INFO] [stdout] = note: the attribute macro `pymethods` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the attribute macro `pymethods` may come from an old version of the `pyo3_macros` crate, try updating your dependency with `cargo update -p pyo3_macros` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/lib.rs:20:1 [INFO] [stdout] | [INFO] [stdout] 20 | #[pymethods] [INFO] [stdout] | ^----------- [INFO] [stdout] | | [INFO] [stdout] | move the `impl` block outside of this method `__le__` and up 2 bodies [INFO] [stdout] 21 | impl BinaryArray { [INFO] [stdout] | ----------- `BinaryArray` is not local [INFO] [stdout] | [INFO] [stdout] = note: the attribute macro `pymethods` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the attribute macro `pymethods` may come from an old version of the `pyo3_macros` crate, try updating your dependency with `cargo update -p pyo3_macros` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/lib.rs:20:1 [INFO] [stdout] | [INFO] [stdout] 20 | #[pymethods] [INFO] [stdout] | ^----------- [INFO] [stdout] | | [INFO] [stdout] | move the `impl` block outside of this method `__ge__` and up 2 bodies [INFO] [stdout] 21 | impl BinaryArray { [INFO] [stdout] | ----------- `BinaryArray` is not local [INFO] [stdout] | [INFO] [stdout] = note: the attribute macro `pymethods` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the attribute macro `pymethods` may come from an old version of the `pyo3_macros` crate, try updating your dependency with `cargo update -p pyo3_macros` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/lib.rs:20:1 [INFO] [stdout] | [INFO] [stdout] 20 | #[pymethods] [INFO] [stdout] | -^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | `PyClassImplCollector` is not local [INFO] [stdout] | `PyClassNewTextSignature` is not local [INFO] [stdout] | move the `impl` block outside of this function `trampoline` and up 4 bodies [INFO] [stdout] 21 | impl BinaryArray { [INFO] [stdout] | ----------- [INFO] [stdout] | | [INFO] [stdout] | `BinaryArray` is not local [INFO] [stdout] | `BinaryArray` is not local [INFO] [stdout] | [INFO] [stdout] = note: the attribute macro `pymethods` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the attribute macro `pymethods` may come from an old version of the `pyo3_macros` crate, try updating your dependency with `cargo update -p pyo3_macros` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/lib.rs:20:1 [INFO] [stdout] | [INFO] [stdout] 20 | #[pymethods] [INFO] [stdout] | ^^^^^^^^^^^^ move the `impl` block outside of this static `ITEMS` and up 3 bodies [INFO] [stdout] 21 | impl BinaryArray { [INFO] [stdout] | ----------- `BinaryArray` is not local [INFO] [stdout] | [INFO] [stdout] = note: the macro `_pyo3::impl_::pyclass::generate_pyclass_richcompare_slot` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the macro `_pyo3::impl_::pyclass::generate_pyclass_richcompare_slot` may come from an old version of the `pyo3` crate, try updating your dependency with `cargo update -p pyo3` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the macro `_pyo3::impl_::pyclass::generate_pyclass_richcompare_slot` which comes from the expansion of the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 13.86s [INFO] running `Command { std: "docker" "inspect" "138efe923c68f2070eb799d79220cbf389d0e7e55af8d753371d1afa5762e53e", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "138efe923c68f2070eb799d79220cbf389d0e7e55af8d753371d1afa5762e53e", kill_on_drop: false }` [INFO] [stdout] 138efe923c68f2070eb799d79220cbf389d0e7e55af8d753371d1afa5762e53e