[INFO] updating cached repository lalaithion/errorcorrection [INFO] running `"git" "fetch" "--all"` [INFO] [stdout] Fetching origin [INFO] [stderr] From git://github.com/lalaithion/errorcorrection [INFO] [stderr] * branch HEAD -> FETCH_HEAD [INFO] running `"git" "clone" "work/cache/sources/gh/lalaithion/errorcorrection" "work/ex/clippy-test-run/sources/stable/gh/lalaithion/errorcorrection"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable/gh/lalaithion/errorcorrection'... [INFO] [stderr] done. [INFO] running `"git" "clone" "work/cache/sources/gh/lalaithion/errorcorrection" "work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/lalaithion/errorcorrection"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/lalaithion/errorcorrection'... [INFO] [stderr] done. [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] 740c0b708c0158a7c86cfa9fc78375afaf523807 [INFO] sha for GitHub repo lalaithion/errorcorrection: 740c0b708c0158a7c86cfa9fc78375afaf523807 [INFO] validating manifest of lalaithion/errorcorrection 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 lalaithion/errorcorrection 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 lalaithion/errorcorrection [INFO] finished frobbing lalaithion/errorcorrection [INFO] frobbed toml for lalaithion/errorcorrection written to work/ex/clippy-test-run/sources/stable/gh/lalaithion/errorcorrection/Cargo.toml [INFO] started frobbing lalaithion/errorcorrection [INFO] finished frobbing lalaithion/errorcorrection [INFO] frobbed toml for lalaithion/errorcorrection written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/lalaithion/errorcorrection/Cargo.toml [INFO] crate lalaithion/errorcorrection has a lockfile. skipping [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] linting lalaithion/errorcorrection against stable for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-3/stable:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable/gh/lalaithion/errorcorrection:/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] 56c62609477d6c082481366b99e69e3bf06dde6230589ba744a001d995d600d2 [INFO] running `"docker" "start" "-a" "56c62609477d6c082481366b99e69e3bf06dde6230589ba744a001d995d600d2"` [INFO] [stderr] Checking eccfile v0.1.0 (/opt/crater/workdir) [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/bitvec.rs:148:13 [INFO] [stderr] | [INFO] [stderr] 148 | nbits: nbits [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `nbits` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_field_names)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/bitvec.rs:148:13 [INFO] [stderr] | [INFO] [stderr] 148 | nbits: nbits [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `nbits` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_field_names)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: this `else { if .. }` block can be collapsed [INFO] [stderr] --> src/multiple.rs:32:20 [INFO] [stderr] | [INFO] [stderr] 32 | } else { [INFO] [stderr] | ____________________^ [INFO] [stderr] 33 | | if sum > (n as u8)/2 { 1 } else { 0 } [INFO] [stderr] 34 | | }; [INFO] [stderr] | |_____________^ help: try: `if sum > (n as u8)/2 { 1 } else { 0 }` [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] [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/bitvec.rs:13:14 [INFO] [stderr] | [INFO] [stderr] 13 | const TRUE: &'static bool = &true; [INFO] [stderr] | -^^^^^^^----- help: consider removing `'static`: `&bool` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::const_static_lifetime)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#const_static_lifetime [INFO] [stderr] [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/bitvec.rs:14:15 [INFO] [stderr] | [INFO] [stderr] 14 | const FALSE: &'static bool = &false; [INFO] [stderr] | -^^^^^^^----- help: consider removing `'static`: `&bool` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#const_static_lifetime [INFO] [stderr] [INFO] [stderr] warning: operator precedence can trip the unwary [INFO] [stderr] --> src/bitvec.rs:71:5 [INFO] [stderr] | [INFO] [stderr] 71 | !0 >> (32 - bits % 32) % 32 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider parenthesizing your expression: `!0 >> ((32 - bits % 32) % 32)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::precedence)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#precedence [INFO] [stderr] [INFO] [stderr] warning: this `else { if .. }` block can be collapsed [INFO] [stderr] --> src/main.rs:48:12 [INFO] [stderr] | [INFO] [stderr] 48 | } else { [INFO] [stderr] | ____________^ [INFO] [stderr] 49 | | if encode { [INFO] [stderr] 50 | | output = hamming::encode(&input, num); [INFO] [stderr] 51 | | } else { [INFO] [stderr] 52 | | output = hamming::decode(&input, num); [INFO] [stderr] 53 | | } [INFO] [stderr] 54 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 48 | } else if encode { [INFO] [stderr] 49 | output = hamming::encode(&input, num); [INFO] [stderr] 50 | } else { [INFO] [stderr] 51 | output = hamming::decode(&input, num); [INFO] [stderr] 52 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: this `else { if .. }` block can be collapsed [INFO] [stderr] --> src/multiple.rs:32:20 [INFO] [stderr] | [INFO] [stderr] 32 | } else { [INFO] [stderr] | ____________________^ [INFO] [stderr] 33 | | if sum > (n as u8)/2 { 1 } else { 0 } [INFO] [stderr] 34 | | }; [INFO] [stderr] | |_____________^ help: try: `if sum > (n as u8)/2 { 1 } else { 0 }` [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] [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/bitvec.rs:13:14 [INFO] [stderr] | [INFO] [stderr] 13 | const TRUE: &'static bool = &true; [INFO] [stderr] | -^^^^^^^----- help: consider removing `'static`: `&bool` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::const_static_lifetime)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#const_static_lifetime [INFO] [stderr] [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/bitvec.rs:14:15 [INFO] [stderr] | [INFO] [stderr] 14 | const FALSE: &'static bool = &false; [INFO] [stderr] | -^^^^^^^----- help: consider removing `'static`: `&bool` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#const_static_lifetime [INFO] [stderr] [INFO] [stderr] warning: operator precedence can trip the unwary [INFO] [stderr] --> src/bitvec.rs:71:5 [INFO] [stderr] | [INFO] [stderr] 71 | !0 >> (32 - bits % 32) % 32 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider parenthesizing your expression: `!0 >> ((32 - bits % 32) % 32)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::precedence)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#precedence [INFO] [stderr] [INFO] [stderr] warning: this `else { if .. }` block can be collapsed [INFO] [stderr] --> src/main.rs:48:12 [INFO] [stderr] | [INFO] [stderr] 48 | } else { [INFO] [stderr] | ____________^ [INFO] [stderr] 49 | | if encode { [INFO] [stderr] 50 | | output = hamming::encode(&input, num); [INFO] [stderr] 51 | | } else { [INFO] [stderr] 52 | | output = hamming::decode(&input, num); [INFO] [stderr] 53 | | } [INFO] [stderr] 54 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 48 | } else if encode { [INFO] [stderr] 49 | output = hamming::encode(&input, num); [INFO] [stderr] 50 | } else { [INFO] [stderr] 51 | output = hamming::decode(&input, num); [INFO] [stderr] 52 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unused variable: `i` [INFO] [stderr] --> src/hamming.rs:377:14 [INFO] [stderr] | [INFO] [stderr] 377 | let (i, result) = arrange(&plain, i, 3); [INFO] [stderr] | ^ help: consider using `_i` instead [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_variables)] on by default [INFO] [stderr] [INFO] [stderr] warning: type alias is never used: `MatchWords` [INFO] [stderr] --> src/bitvec.rs:18:1 [INFO] [stderr] | [INFO] [stderr] 18 | type MatchWords<'a> = Chain>, Skip>>>>; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(dead_code)] on by default [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/multiple.rs:3:18 [INFO] [stderr] | [INFO] [stderr] 3 | pub fn encode(v: &Vec, n: usize) -> 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: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/multiple.rs:16:18 [INFO] [stderr] | [INFO] [stderr] 16 | pub fn decode(v: &Vec, n: usize) -> Vec { [INFO] [stderr] | ^^^^^^^^ help: change this to: `&[u8]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is used to index `myself` [INFO] [stderr] --> src/hamming.rs:9:14 [INFO] [stderr] | [INFO] [stderr] 9 | for i in 0..myself.len() { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_range_loop)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stderr] help: consider using an iterator [INFO] [stderr] | [INFO] [stderr] 9 | for (i, ) in myself.iter().enumerate() { [INFO] [stderr] | ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is used to index `other` [INFO] [stderr] --> src/hamming.rs:12:14 [INFO] [stderr] | [INFO] [stderr] 12 | for i in 0..other.len() { [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stderr] help: consider using an iterator [INFO] [stderr] | [INFO] [stderr] 12 | for (i, ) in other.iter().enumerate() { [INFO] [stderr] | ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is used to index `block` [INFO] [stderr] --> src/hamming.rs:26:18 [INFO] [stderr] | [INFO] [stderr] 26 | for i in (pindex)..block.len() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stderr] help: consider using an iterator [INFO] [stderr] | [INFO] [stderr] 26 | for (i, ) in block.iter().enumerate().skip((pindex)) { [INFO] [stderr] | ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/hamming.rs:30:17 [INFO] [stderr] | [INFO] [stderr] 30 | parity = block[i] ^ parity; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `parity ^= block[i]` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::assign_op_pattern)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is used to index `block` [INFO] [stderr] --> src/hamming.rs:60:14 [INFO] [stderr] | [INFO] [stderr] 60 | for i in 0..(1 << p) { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stderr] help: consider using an iterator [INFO] [stderr] | [INFO] [stderr] 60 | for (i, ) in block.iter().enumerate().take((1 << p)) { [INFO] [stderr] | ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is used to index `block` [INFO] [stderr] --> src/hamming.rs:79:18 [INFO] [stderr] | [INFO] [stderr] 79 | for i in (pindex)..block.len() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stderr] help: consider using an iterator [INFO] [stderr] | [INFO] [stderr] 79 | for (i, ) in block.iter().enumerate().skip((pindex)) { [INFO] [stderr] | ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/hamming.rs:83:17 [INFO] [stderr] | [INFO] [stderr] 83 | parity = block[i] ^ parity; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `parity ^= block[i]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/hamming.rs:110:18 [INFO] [stderr] | [INFO] [stderr] 110 | pub fn encode(v: &Vec, p: usize) -> Vec { [INFO] [stderr] | ^^^^^^^^ help: change this to: `&[u8]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [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/hamming.rs:123:18 [INFO] [stderr] | [INFO] [stderr] 123 | pub fn decode(v: &Vec, p: usize) -> Vec { [INFO] [stderr] | ^^^^^^^^ help: change this to: `&[u8]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is only used to index `code`. [INFO] [stderr] --> src/hamming.rs:133:18 [INFO] [stderr] | [INFO] [stderr] 133 | for i in index..(index+length) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stderr] help: consider using an iterator [INFO] [stderr] | [INFO] [stderr] 133 | for in code.iter().skip(index).take(length) { [INFO] [stderr] | ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/hamming.rs:139:9 [INFO] [stderr] | [INFO] [stderr] 139 | index = index+length; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `index += length` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: the operation is ineffective. Consider reducing it to `(reverse_bits(bytes[i * 4 + 0]) as u32)` [INFO] [stderr] --> src/bitvec.rs:195:17 [INFO] [stderr] | [INFO] [stderr] 195 | ((reverse_bits(bytes[i * 4 + 0]) as u32) << 0) | [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::identity_op)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u32 may become silently lossy if types change [INFO] [stderr] --> src/bitvec.rs:195:18 [INFO] [stderr] | [INFO] [stderr] 195 | ((reverse_bits(bytes[i * 4 + 0]) as u32) << 0) | [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u32::from(reverse_bits(bytes[i * 4 + 0]))` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::cast_lossless)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: the operation is ineffective. Consider reducing it to `i * 4` [INFO] [stderr] --> src/bitvec.rs:195:38 [INFO] [stderr] | [INFO] [stderr] 195 | ((reverse_bits(bytes[i * 4 + 0]) as u32) << 0) | [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u32 may become silently lossy if types change [INFO] [stderr] --> src/bitvec.rs:196:18 [INFO] [stderr] | [INFO] [stderr] 196 | ((reverse_bits(bytes[i * 4 + 1]) as u32) << 8) | [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u32::from(reverse_bits(bytes[i * 4 + 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 u8 to u32 may become silently lossy if types change [INFO] [stderr] --> src/bitvec.rs:197:18 [INFO] [stderr] | [INFO] [stderr] 197 | ((reverse_bits(bytes[i * 4 + 2]) as u32) << 16) | [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u32::from(reverse_bits(bytes[i * 4 + 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 u8 to u32 may become silently lossy if types change [INFO] [stderr] --> src/bitvec.rs:198:18 [INFO] [stderr] | [INFO] [stderr] 198 | ((reverse_bits(bytes[i * 4 + 3]) as u32) << 24) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u32::from(reverse_bits(bytes[i * 4 + 3]))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u32 may become silently lossy if types change [INFO] [stderr] --> src/bitvec.rs:205:30 [INFO] [stderr] | [INFO] [stderr] 205 | last_word |= (reverse_bits(byte) as u32) << (i * 8); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u32::from(reverse_bits(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: type alias is never used: `MatchWords` [INFO] [stderr] --> src/bitvec.rs:18:1 [INFO] [stderr] | [INFO] [stderr] 18 | type MatchWords<'a> = Chain>, Skip>>>>; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(dead_code)] on by default [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/multiple.rs:3:18 [INFO] [stderr] | [INFO] [stderr] 3 | pub fn encode(v: &Vec, n: usize) -> 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: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/multiple.rs:16:18 [INFO] [stderr] | [INFO] [stderr] 16 | pub fn decode(v: &Vec, n: usize) -> Vec { [INFO] [stderr] | ^^^^^^^^ help: change this to: `&[u8]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is used to index `myself` [INFO] [stderr] --> src/hamming.rs:9:14 [INFO] [stderr] | [INFO] [stderr] 9 | for i in 0..myself.len() { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_range_loop)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stderr] help: consider using an iterator [INFO] [stderr] | [INFO] [stderr] 9 | for (i, ) in myself.iter().enumerate() { [INFO] [stderr] | ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is used to index `other` [INFO] [stderr] --> src/hamming.rs:12:14 [INFO] [stderr] | [INFO] [stderr] 12 | for i in 0..other.len() { [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stderr] help: consider using an iterator [INFO] [stderr] | [INFO] [stderr] 12 | for (i, ) in other.iter().enumerate() { [INFO] [stderr] | ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is used to index `block` [INFO] [stderr] --> src/hamming.rs:26:18 [INFO] [stderr] | [INFO] [stderr] 26 | for i in (pindex)..block.len() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stderr] help: consider using an iterator [INFO] [stderr] | [INFO] [stderr] 26 | for (i, ) in block.iter().enumerate().skip((pindex)) { [INFO] [stderr] | ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/hamming.rs:30:17 [INFO] [stderr] | [INFO] [stderr] 30 | parity = block[i] ^ parity; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `parity ^= block[i]` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::assign_op_pattern)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is used to index `block` [INFO] [stderr] --> src/hamming.rs:60:14 [INFO] [stderr] | [INFO] [stderr] 60 | for i in 0..(1 << p) { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stderr] help: consider using an iterator [INFO] [stderr] | [INFO] [stderr] 60 | for (i, ) in block.iter().enumerate().take((1 << p)) { [INFO] [stderr] | ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is used to index `block` [INFO] [stderr] --> src/hamming.rs:79:18 [INFO] [stderr] | [INFO] [stderr] 79 | for i in (pindex)..block.len() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stderr] help: consider using an iterator [INFO] [stderr] | [INFO] [stderr] 79 | for (i, ) in block.iter().enumerate().skip((pindex)) { [INFO] [stderr] | ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/hamming.rs:83:17 [INFO] [stderr] | [INFO] [stderr] 83 | parity = block[i] ^ parity; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `parity ^= block[i]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/hamming.rs:110:18 [INFO] [stderr] | [INFO] [stderr] 110 | pub fn encode(v: &Vec, p: usize) -> Vec { [INFO] [stderr] | ^^^^^^^^ help: change this to: `&[u8]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [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/hamming.rs:123:18 [INFO] [stderr] | [INFO] [stderr] 123 | pub fn decode(v: &Vec, p: usize) -> Vec { [INFO] [stderr] | ^^^^^^^^ help: change this to: `&[u8]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is only used to index `code`. [INFO] [stderr] --> src/hamming.rs:133:18 [INFO] [stderr] | [INFO] [stderr] 133 | for i in index..(index+length) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stderr] help: consider using an iterator [INFO] [stderr] | [INFO] [stderr] 133 | for in code.iter().skip(index).take(length) { [INFO] [stderr] | ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/hamming.rs:139:9 [INFO] [stderr] | [INFO] [stderr] 139 | index = index+length; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `index += length` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: the operation is ineffective. Consider reducing it to `(reverse_bits(bytes[i * 4 + 0]) as u32)` [INFO] [stderr] --> src/bitvec.rs:195:17 [INFO] [stderr] | [INFO] [stderr] 195 | ((reverse_bits(bytes[i * 4 + 0]) as u32) << 0) | [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::identity_op)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u32 may become silently lossy if types change [INFO] [stderr] --> src/bitvec.rs:195:18 [INFO] [stderr] | [INFO] [stderr] 195 | ((reverse_bits(bytes[i * 4 + 0]) as u32) << 0) | [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u32::from(reverse_bits(bytes[i * 4 + 0]))` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::cast_lossless)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: the operation is ineffective. Consider reducing it to `i * 4` [INFO] [stderr] --> src/bitvec.rs:195:38 [INFO] [stderr] | [INFO] [stderr] 195 | ((reverse_bits(bytes[i * 4 + 0]) as u32) << 0) | [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u32 may become silently lossy if types change [INFO] [stderr] --> src/bitvec.rs:196:18 [INFO] [stderr] | [INFO] [stderr] 196 | ((reverse_bits(bytes[i * 4 + 1]) as u32) << 8) | [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u32::from(reverse_bits(bytes[i * 4 + 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 u8 to u32 may become silently lossy if types change [INFO] [stderr] --> src/bitvec.rs:197:18 [INFO] [stderr] | [INFO] [stderr] 197 | ((reverse_bits(bytes[i * 4 + 2]) as u32) << 16) | [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u32::from(reverse_bits(bytes[i * 4 + 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 u8 to u32 may become silently lossy if types change [INFO] [stderr] --> src/bitvec.rs:198:18 [INFO] [stderr] | [INFO] [stderr] 198 | ((reverse_bits(bytes[i * 4 + 3]) as u32) << 24) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u32::from(reverse_bits(bytes[i * 4 + 3]))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u32 may become silently lossy if types change [INFO] [stderr] --> src/bitvec.rs:205:30 [INFO] [stderr] | [INFO] [stderr] 205 | last_word |= (reverse_bits(byte) as u32) << (i * 8); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u32::from(reverse_bits(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] Finished dev [unoptimized + debuginfo] target(s) in 1.50s [INFO] running `"docker" "inspect" "56c62609477d6c082481366b99e69e3bf06dde6230589ba744a001d995d600d2"` [INFO] running `"docker" "rm" "-f" "56c62609477d6c082481366b99e69e3bf06dde6230589ba744a001d995d600d2"` [INFO] [stdout] 56c62609477d6c082481366b99e69e3bf06dde6230589ba744a001d995d600d2