[INFO] updating cached repository jakecraige/pals [INFO] running `"git" "fetch" "--all"` [INFO] [stdout] Fetching origin [INFO] [stderr] From git://github.com/jakecraige/pals [INFO] [stderr] * branch HEAD -> FETCH_HEAD [INFO] running `"git" "clone" "work/cache/sources/gh/jakecraige/pals" "work/ex/clippy-test-run/sources/stable/gh/jakecraige/pals"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable/gh/jakecraige/pals'... [INFO] [stderr] done. [INFO] running `"git" "clone" "work/cache/sources/gh/jakecraige/pals" "work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/jakecraige/pals"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/jakecraige/pals'... [INFO] [stderr] done. [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] b40fd84ddb55b074fed2aea1fccdfe6b42ffe2d6 [INFO] sha for GitHub repo jakecraige/pals: b40fd84ddb55b074fed2aea1fccdfe6b42ffe2d6 [INFO] validating manifest of jakecraige/pals 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 jakecraige/pals 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 jakecraige/pals [INFO] finished frobbing jakecraige/pals [INFO] frobbed toml for jakecraige/pals written to work/ex/clippy-test-run/sources/stable/gh/jakecraige/pals/Cargo.toml [INFO] started frobbing jakecraige/pals [INFO] finished frobbing jakecraige/pals [INFO] frobbed toml for jakecraige/pals written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/jakecraige/pals/Cargo.toml [INFO] crate jakecraige/pals 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 jakecraige/pals against stable for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-5/stable:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable/gh/jakecraige/pals:/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] 22fbab70ccdd3f7c77ba0e20b3b74fe727130d4ca1d6b1001d3453fbba77077d [INFO] running `"docker" "start" "-a" "22fbab70ccdd3f7c77ba0e20b3b74fe727130d4ca1d6b1001d3453fbba77077d"` [INFO] [stderr] Checking pals v0.1.0 (/opt/crater/workdir) [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/set1.rs:113:27 [INFO] [stderr] | [INFO] [stderr] 113 | let p2 = ((b1 << 4) & 0b00111111u8) ^ (b2 >> 4); [INFO] [stderr] | ^^^^^^^^^^^^ help: consider: `0b0011_1111u8` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unreadable_literal)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/set1.rs:115:21 [INFO] [stderr] | [INFO] [stderr] 115 | let p3 = ((b2 & 0b00001111u8) << 2) ^ (b3 >> 6); [INFO] [stderr] | ^^^^^^^^^^^^ help: consider: `0b0000_1111u8` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/set1.rs:117:19 [INFO] [stderr] | [INFO] [stderr] 117 | let p4 = b3 & 0b00111111u8; [INFO] [stderr] | ^^^^^^^^^^^^ help: consider: `0b0011_1111u8` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: returning the result of a let binding from a block. Consider returning the expression directly. [INFO] [stderr] --> src/set1.rs:132:5 [INFO] [stderr] | [INFO] [stderr] 132 | res [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::let_and_return)] on by default [INFO] [stderr] note: this expression can be directly returned [INFO] [stderr] --> src/set1.rs:131:15 [INFO] [stderr] | [INFO] [stderr] 131 | let res = bytes_to_base64(&bytes); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/set1.rs:254:31 [INFO] [stderr] | [INFO] [stderr] 254 | let mut lowest_distance = 999999; [INFO] [stderr] | ^^^^^^ help: consider: `999_999` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/set1.rs:113:27 [INFO] [stderr] | [INFO] [stderr] 113 | let p2 = ((b1 << 4) & 0b00111111u8) ^ (b2 >> 4); [INFO] [stderr] | ^^^^^^^^^^^^ help: consider: `0b0011_1111u8` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unreadable_literal)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/set1.rs:115:21 [INFO] [stderr] | [INFO] [stderr] 115 | let p3 = ((b2 & 0b00001111u8) << 2) ^ (b3 >> 6); [INFO] [stderr] | ^^^^^^^^^^^^ help: consider: `0b0000_1111u8` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/set1.rs:117:19 [INFO] [stderr] | [INFO] [stderr] 117 | let p4 = b3 & 0b00111111u8; [INFO] [stderr] | ^^^^^^^^^^^^ help: consider: `0b0011_1111u8` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: returning the result of a let binding from a block. Consider returning the expression directly. [INFO] [stderr] --> src/set1.rs:132:5 [INFO] [stderr] | [INFO] [stderr] 132 | res [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::let_and_return)] on by default [INFO] [stderr] note: this expression can be directly returned [INFO] [stderr] --> src/set1.rs:131:15 [INFO] [stderr] | [INFO] [stderr] 131 | let res = bytes_to_base64(&bytes); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/set1.rs:254:31 [INFO] [stderr] | [INFO] [stderr] 254 | let mut lowest_distance = 999999; [INFO] [stderr] | ^^^^^^ help: consider: `999_999` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/set1.rs:409:56 [INFO] [stderr] | [INFO] [stderr] 409 | assert_eq!(set1::nibs_to_byte(0b0000, 0b0000), 0b00000000); [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0b0000_0000` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/set1.rs:410:56 [INFO] [stderr] | [INFO] [stderr] 410 | assert_eq!(set1::nibs_to_byte(0b1111, 0b0000), 0b11110000); [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0b1111_0000` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/set1.rs:411:56 [INFO] [stderr] | [INFO] [stderr] 411 | assert_eq!(set1::nibs_to_byte(0b0000, 0b1111), 0b00001111); [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0b0000_1111` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/set1.rs:412:56 [INFO] [stderr] | [INFO] [stderr] 412 | assert_eq!(set1::nibs_to_byte(0b1010, 0b1010), 0b10101010); [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0b1010_1010` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/set1.rs:417:62 [INFO] [stderr] | [INFO] [stderr] 417 | assert_eq!(set1::nibs_to_bytes(&[0b0000, 0b0000]), &[0b00000000]); [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0b0000_0000` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/set1.rs:418:62 [INFO] [stderr] | [INFO] [stderr] 418 | assert_eq!(set1::nibs_to_bytes(&[0b1111, 0b0000]), &[0b11110000]); [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0b1111_0000` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/set1.rs:419:62 [INFO] [stderr] | [INFO] [stderr] 419 | assert_eq!(set1::nibs_to_bytes(&[0b0000, 0b1111]), &[0b00001111]); [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0b0000_1111` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/set1.rs:420:62 [INFO] [stderr] | [INFO] [stderr] 420 | assert_eq!(set1::nibs_to_bytes(&[0b1010, 0b1010]), &[0b10101010]); [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0b1010_1010` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/set1.rs:426:40 [INFO] [stderr] | [INFO] [stderr] 426 | set1::byte_triple_to_6bit((0b00000000, 0b00010000, 0b10000011)), [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0b0000_0000` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/set1.rs:426:52 [INFO] [stderr] | [INFO] [stderr] 426 | set1::byte_triple_to_6bit((0b00000000, 0b00010000, 0b10000011)), [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0b0001_0000` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/set1.rs:426:64 [INFO] [stderr] | [INFO] [stderr] 426 | set1::byte_triple_to_6bit((0b00000000, 0b00010000, 0b10000011)), [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0b1000_0011` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/set1.rs:427:14 [INFO] [stderr] | [INFO] [stderr] 427 | (0b000000, 0b000001, 0b000010, 0b000011) [INFO] [stderr] | ^^^^^^^^ help: consider: `0b00_0000` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/set1.rs:427:24 [INFO] [stderr] | [INFO] [stderr] 427 | (0b000000, 0b000001, 0b000010, 0b000011) [INFO] [stderr] | ^^^^^^^^ help: consider: `0b00_0001` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/set1.rs:427:34 [INFO] [stderr] | [INFO] [stderr] 427 | (0b000000, 0b000001, 0b000010, 0b000011) [INFO] [stderr] | ^^^^^^^^ help: consider: `0b00_0010` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/set1.rs:427:44 [INFO] [stderr] | [INFO] [stderr] 427 | (0b000000, 0b000001, 0b000010, 0b000011) [INFO] [stderr] | ^^^^^^^^ help: consider: `0b00_0011` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/set1.rs:431:40 [INFO] [stderr] | [INFO] [stderr] 431 | set1::byte_triple_to_6bit((0b01101111, 0b01101111, 0b01101101)), [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0b0110_1111` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/set1.rs:431:52 [INFO] [stderr] | [INFO] [stderr] 431 | set1::byte_triple_to_6bit((0b01101111, 0b01101111, 0b01101101)), [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0b0110_1111` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/set1.rs:431:64 [INFO] [stderr] | [INFO] [stderr] 431 | set1::byte_triple_to_6bit((0b01101111, 0b01101111, 0b01101101)), [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0b0110_1101` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/set1.rs:432:14 [INFO] [stderr] | [INFO] [stderr] 432 | (0b011011, 0b110110, 0b111101, 0b101101) [INFO] [stderr] | ^^^^^^^^ help: consider: `0b01_1011` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/set1.rs:432:24 [INFO] [stderr] | [INFO] [stderr] 432 | (0b011011, 0b110110, 0b111101, 0b101101) [INFO] [stderr] | ^^^^^^^^ help: consider: `0b11_0110` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/set1.rs:432:34 [INFO] [stderr] | [INFO] [stderr] 432 | (0b011011, 0b110110, 0b111101, 0b101101) [INFO] [stderr] | ^^^^^^^^ help: consider: `0b11_1101` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/set1.rs:432:44 [INFO] [stderr] | [INFO] [stderr] 432 | (0b011011, 0b110110, 0b111101, 0b101101) [INFO] [stderr] | ^^^^^^^^ help: consider: `0b10_1101` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/set1.rs:439:37 [INFO] [stderr] | [INFO] [stderr] 439 | set1::bytes_to_base64(&[0b00000000, 0b00010000, 0b10000011]), [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0b0000_0000` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/set1.rs:439:49 [INFO] [stderr] | [INFO] [stderr] 439 | set1::bytes_to_base64(&[0b00000000, 0b00010000, 0b10000011]), [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0b0001_0000` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/set1.rs:439:61 [INFO] [stderr] | [INFO] [stderr] 439 | set1::bytes_to_base64(&[0b00000000, 0b00010000, 0b10000011]), [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0b1000_0011` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/set1.rs:591:57 [INFO] [stderr] | [INFO] [stderr] 591 | let output = set1::bytes_to_16byte_blocks(&vec![0b00000000, 0b11111111]); [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0b0000_0000` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/set1.rs:591:69 [INFO] [stderr] | [INFO] [stderr] 591 | let output = set1::bytes_to_16byte_blocks(&vec![0b00000000, 0b11111111]); [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0b1111_1111` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/set1.rs:592:33 [INFO] [stderr] | [INFO] [stderr] 592 | assert_eq!(output, vec![0b0000000011111111]); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider: `0b0000_0000_1111_1111` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: called `.get().unwrap()` on a HashMap. Using `[]` is more clear and more concise [INFO] [stderr] --> src/set1.rs:30:28 [INFO] [stderr] | [INFO] [stderr] 30 | input.chars().map(|c| *mapping.get(&c).unwrap()).collect() [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `&mapping[&c]` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::get_unwrap)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_unwrap [INFO] [stderr] [INFO] [stderr] warning: the operation is ineffective. Consider reducing it to `left` [INFO] [stderr] --> src/set1.rs:35:6 [INFO] [stderr] | [INFO] [stderr] 35 | ((0 ^ left) << 4) ^ right [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: taken reference of right operand [INFO] [stderr] --> src/set1.rs:292:20 [INFO] [stderr] | [INFO] [stderr] 292 | if score > &0 { [INFO] [stderr] | ^^^^^^^^-- [INFO] [stderr] | | [INFO] [stderr] | help: use the right value directly: `0` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::op_ref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/set1.rs:328:32 [INFO] [stderr] | [INFO] [stderr] 328 | fn byte_hamming_distance(left: &u8, right: &u8) -> usize { [INFO] [stderr] | ^^^ help: consider passing by value instead: `u8` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::trivially_copy_pass_by_ref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/set1.rs:328:44 [INFO] [stderr] | [INFO] [stderr] 328 | fn byte_hamming_distance(left: &u8, right: &u8) -> usize { [INFO] [stderr] | ^^^ help: consider passing by value instead: `u8` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/set1.rs:363:18 [INFO] [stderr] | [INFO] [stderr] 363 | block ^= byte_pair[0] as u16; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(byte_pair[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: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/set1.rs:365:18 [INFO] [stderr] | [INFO] [stderr] 365 | block ^= byte_pair[1] as u16; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(byte_pair[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: using `clone` on a `Copy` type [INFO] [stderr] --> src/set1.rs:379:5 [INFO] [stderr] | [INFO] [stderr] 379 | max_dup.unwrap_or(&0).clone() [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try dereferencing it: `*max_dup.unwrap_or(&0)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::clone_on_copy)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/set2/aes_cbc.rs:81:8 [INFO] [stderr] | [INFO] [stderr] 81 | if data.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `data.is_empty()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::len_zero)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to match on a boolean expression [INFO] [stderr] --> src/set2/mode_detection.rs:24:9 [INFO] [stderr] | [INFO] [stderr] 24 | / match randbool() { [INFO] [stderr] 25 | | true => Mode::CBC, [INFO] [stderr] 26 | | false => Mode::ECB, [INFO] [stderr] 27 | | } [INFO] [stderr] | |_________^ help: consider using an if/else expression: `if randbool() { Mode::CBC } else { Mode::ECB }` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::match_bool)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_bool [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/set2/mode_detection.rs:30:16 [INFO] [stderr] | [INFO] [stderr] 30 | fn encrypt(&self, input: &[u8], key: &[u8], iv: &[u8]) -> Vec { [INFO] [stderr] | ^^^^^ help: consider passing by value instead: `self` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/set2/ecb_cut_and_paste.rs:31:30 [INFO] [stderr] | [INFO] [stderr] 31 | for pair in cookie.split("&") { [INFO] [stderr] | ^^^ help: try using a char instead: `'&'` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::single_char_pattern)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/set2/ecb_cut_and_paste.rs:32:49 [INFO] [stderr] | [INFO] [stderr] 32 | let mut kv_pair: Vec<&str> = pair.split("=").collect(); [INFO] [stderr] | ^^^ help: try using a char instead: `'='` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: called `.get().unwrap()` on a HashMap. Using `[]` is more clear and more concise [INFO] [stderr] --> src/set1.rs:30:28 [INFO] [stderr] | [INFO] [stderr] 30 | input.chars().map(|c| *mapping.get(&c).unwrap()).collect() [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `&mapping[&c]` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::get_unwrap)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_unwrap [INFO] [stderr] [INFO] [stderr] warning: the operation is ineffective. Consider reducing it to `left` [INFO] [stderr] --> src/set1.rs:35:6 [INFO] [stderr] | [INFO] [stderr] 35 | ((0 ^ left) << 4) ^ right [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: taken reference of right operand [INFO] [stderr] --> src/set1.rs:292:20 [INFO] [stderr] | [INFO] [stderr] 292 | if score > &0 { [INFO] [stderr] | ^^^^^^^^-- [INFO] [stderr] | | [INFO] [stderr] | help: use the right value directly: `0` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::op_ref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/set1.rs:328:32 [INFO] [stderr] | [INFO] [stderr] 328 | fn byte_hamming_distance(left: &u8, right: &u8) -> usize { [INFO] [stderr] | ^^^ help: consider passing by value instead: `u8` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::trivially_copy_pass_by_ref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/set1.rs:328:44 [INFO] [stderr] | [INFO] [stderr] 328 | fn byte_hamming_distance(left: &u8, right: &u8) -> usize { [INFO] [stderr] | ^^^ help: consider passing by value instead: `u8` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/set1.rs:363:18 [INFO] [stderr] | [INFO] [stderr] 363 | block ^= byte_pair[0] as u16; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(byte_pair[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: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/set1.rs:365:18 [INFO] [stderr] | [INFO] [stderr] 365 | block ^= byte_pair[1] as u16; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(byte_pair[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: using `clone` on a `Copy` type [INFO] [stderr] --> src/set1.rs:379:5 [INFO] [stderr] | [INFO] [stderr] 379 | max_dup.unwrap_or(&0).clone() [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try dereferencing it: `*max_dup.unwrap_or(&0)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::clone_on_copy)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/set1.rs:510:47 [INFO] [stderr] | [INFO] [stderr] 510 | let input: Vec<&str> = contents.split("\n").collect(); [INFO] [stderr] | ^^^^ help: try using a char instead: `'\n'` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::single_char_pattern)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: useless use of `vec!` [INFO] [stderr] --> src/set1.rs:591:51 [INFO] [stderr] | [INFO] [stderr] 591 | let output = set1::bytes_to_16byte_blocks(&vec![0b00000000, 0b11111111]); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: you can use a slice directly: `&[0b00000000, 0b11111111]` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::useless_vec)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/set2/aes_cbc.rs:81:8 [INFO] [stderr] | [INFO] [stderr] 81 | if data.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `data.is_empty()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::len_zero)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to match on a boolean expression [INFO] [stderr] --> src/set2/mode_detection.rs:24:9 [INFO] [stderr] | [INFO] [stderr] 24 | / match randbool() { [INFO] [stderr] 25 | | true => Mode::CBC, [INFO] [stderr] 26 | | false => Mode::ECB, [INFO] [stderr] 27 | | } [INFO] [stderr] | |_________^ help: consider using an if/else expression: `if randbool() { Mode::CBC } else { Mode::ECB }` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::match_bool)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_bool [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/set2/mode_detection.rs:30:16 [INFO] [stderr] | [INFO] [stderr] 30 | fn encrypt(&self, input: &[u8], key: &[u8], iv: &[u8]) -> Vec { [INFO] [stderr] | ^^^^^ help: consider passing by value instead: `self` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/set2/ecb_cut_and_paste.rs:31:30 [INFO] [stderr] | [INFO] [stderr] 31 | for pair in cookie.split("&") { [INFO] [stderr] | ^^^ help: try using a char instead: `'&'` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/set2/ecb_cut_and_paste.rs:32:49 [INFO] [stderr] | [INFO] [stderr] 32 | let mut kv_pair: Vec<&str> = pair.split("=").collect(); [INFO] [stderr] | ^^^ help: try using a char instead: `'='` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 1.79s [INFO] running `"docker" "inspect" "22fbab70ccdd3f7c77ba0e20b3b74fe727130d4ca1d6b1001d3453fbba77077d"` [INFO] running `"docker" "rm" "-f" "22fbab70ccdd3f7c77ba0e20b3b74fe727130d4ca1d6b1001d3453fbba77077d"` [INFO] [stdout] 22fbab70ccdd3f7c77ba0e20b3b74fe727130d4ca1d6b1001d3453fbba77077d