[INFO] crate libotp 0.1.3 is already in cache [INFO] extracting crate libotp 0.1.3 into work/ex/clippy-test-run/sources/stable/reg/libotp/0.1.3 [INFO] extracting crate libotp 0.1.3 into work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/libotp/0.1.3 [INFO] validating manifest of libotp-0.1.3 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 libotp-0.1.3 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 libotp-0.1.3 [INFO] finished frobbing libotp-0.1.3 [INFO] frobbed toml for libotp-0.1.3 written to work/ex/clippy-test-run/sources/stable/reg/libotp/0.1.3/Cargo.toml [INFO] started frobbing libotp-0.1.3 [INFO] finished frobbing libotp-0.1.3 [INFO] frobbed toml for libotp-0.1.3 written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/libotp/0.1.3/Cargo.toml [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] linting libotp-0.1.3 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/reg/libotp/0.1.3:/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] 026a1f53eda97949dbb73f5c5fa6fa485391c86f0f2de640ade028d945da74b8 [INFO] running `"docker" "start" "-a" "026a1f53eda97949dbb73f5c5fa6fa485391c86f0f2de640ade028d945da74b8"` [INFO] [stderr] Checking binascii v0.1.2 [INFO] [stderr] Checking libotp v0.1.3 (/opt/crater/workdir) [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/lib.rs:191:9 [INFO] [stderr] | [INFO] [stderr] 191 | return num % 10u32.pow(digits); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `num % 10u32.pow(digits)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_return)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/lib.rs:201:9 [INFO] [stderr] | [INFO] [stderr] 201 | return result; [INFO] [stderr] | ^^^^^^^^^^^^^^ help: remove `return` as shown: `result` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/lib.rs:248:9 [INFO] [stderr] | [INFO] [stderr] 248 | return (now.as_secs() + self.start_time) / self.time_step; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `(now.as_secs() + self.start_time) / self.time_step` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/lib.rs:258:9 [INFO] [stderr] | [INFO] [stderr] 258 | return self.secret.get_otp(buf, digits); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `self.secret.get_otp(buf, digits)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/lib.rs:273:9 [INFO] [stderr] | [INFO] [stderr] 273 | return false; [INFO] [stderr] | ^^^^^^^^^^^^^ help: remove `return` as shown: `false` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/tests.rs:47:21 [INFO] [stderr] | [INFO] [stderr] 47 | assert_eq!(num, 0x50ef7f19); [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0x50ef_7f19` [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/tests.rs:69:65 [INFO] [stderr] | [INFO] [stderr] 69 | assert_eq!(hotp_sha1.get_otp(&[0, 0, 0, 0, 0, 0, 0, 1], 8), 94287082); [INFO] [stderr] | ^^^^^^^^ help: consider: `94_287_082` [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/tests.rs:70:67 [INFO] [stderr] | [INFO] [stderr] 70 | assert_eq!(hotp_sha256.get_otp(&[0, 0, 0, 0, 0, 0, 0, 1], 8), 46119246); [INFO] [stderr] | ^^^^^^^^ help: consider: `46_119_246` [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/tests.rs:71:67 [INFO] [stderr] | [INFO] [stderr] 71 | assert_eq!(hotp_sha512.get_otp(&[0, 0, 0, 0, 0, 0, 0, 1], 8), 90693936); [INFO] [stderr] | ^^^^^^^^ help: consider: `90_693_936` [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/tests.rs:72:77 [INFO] [stderr] | [INFO] [stderr] 72 | assert_eq!(hotp_sha1.get_otp(&[0, 0, 0, 0, 0x02, 0x35, 0x23, 0xec], 8), 7081804); [INFO] [stderr] | ^^^^^^^ help: consider: `7_081_804` [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/tests.rs:73:79 [INFO] [stderr] | [INFO] [stderr] 73 | assert_eq!(hotp_sha256.get_otp(&[0, 0, 0, 0, 0x02, 0x35, 0x23, 0xec], 8), 68084774); [INFO] [stderr] | ^^^^^^^^ help: consider: `68_084_774` [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/tests.rs:74:79 [INFO] [stderr] | [INFO] [stderr] 74 | assert_eq!(hotp_sha512.get_otp(&[0, 0, 0, 0, 0x02, 0x35, 0x23, 0xec], 8), 25091201); [INFO] [stderr] | ^^^^^^^^ help: consider: `25_091_201` [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/tests.rs:75:77 [INFO] [stderr] | [INFO] [stderr] 75 | assert_eq!(hotp_sha1.get_otp(&[0, 0, 0, 0, 0x02, 0x35, 0x23, 0xed], 8), 14050471); [INFO] [stderr] | ^^^^^^^^ help: consider: `14_050_471` [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/tests.rs:76:79 [INFO] [stderr] | [INFO] [stderr] 76 | assert_eq!(hotp_sha256.get_otp(&[0, 0, 0, 0, 0x02, 0x35, 0x23, 0xed], 8), 67062674); [INFO] [stderr] | ^^^^^^^^ help: consider: `67_062_674` [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/tests.rs:77:79 [INFO] [stderr] | [INFO] [stderr] 77 | assert_eq!(hotp_sha512.get_otp(&[0, 0, 0, 0, 0x02, 0x35, 0x23, 0xed], 8), 99943326); [INFO] [stderr] | ^^^^^^^^ help: consider: `99_943_326` [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/tests.rs:78:77 [INFO] [stderr] | [INFO] [stderr] 78 | assert_eq!(hotp_sha1.get_otp(&[0, 0, 0, 0, 0x02, 0x73, 0xef, 0x07], 8), 89005924); [INFO] [stderr] | ^^^^^^^^ help: consider: `89_005_924` [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/tests.rs:79:79 [INFO] [stderr] | [INFO] [stderr] 79 | assert_eq!(hotp_sha256.get_otp(&[0, 0, 0, 0, 0x02, 0x73, 0xef, 0x07], 8), 91819424); [INFO] [stderr] | ^^^^^^^^ help: consider: `91_819_424` [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/tests.rs:80:79 [INFO] [stderr] | [INFO] [stderr] 80 | assert_eq!(hotp_sha512.get_otp(&[0, 0, 0, 0, 0x02, 0x73, 0xef, 0x07], 8), 93441116); [INFO] [stderr] | ^^^^^^^^ help: consider: `93_441_116` [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/tests.rs:81:77 [INFO] [stderr] | [INFO] [stderr] 81 | assert_eq!(hotp_sha1.get_otp(&[0, 0, 0, 0, 0x03, 0xf9, 0x40, 0xaa], 8), 69279037); [INFO] [stderr] | ^^^^^^^^ help: consider: `69_279_037` [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/tests.rs:82:79 [INFO] [stderr] | [INFO] [stderr] 82 | assert_eq!(hotp_sha256.get_otp(&[0, 0, 0, 0, 0x03, 0xf9, 0x40, 0xaa], 8), 90698825); [INFO] [stderr] | ^^^^^^^^ help: consider: `90_698_825` [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/tests.rs:83:79 [INFO] [stderr] | [INFO] [stderr] 83 | assert_eq!(hotp_sha512.get_otp(&[0, 0, 0, 0, 0x03, 0xf9, 0x40, 0xaa], 8), 38618901); [INFO] [stderr] | ^^^^^^^^ help: consider: `38_618_901` [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/tests.rs:84:77 [INFO] [stderr] | [INFO] [stderr] 84 | assert_eq!(hotp_sha1.get_otp(&[0, 0, 0, 0, 0x27, 0xbc, 0x86, 0xaa], 8), 65353130); [INFO] [stderr] | ^^^^^^^^ help: consider: `65_353_130` [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/tests.rs:85:79 [INFO] [stderr] | [INFO] [stderr] 85 | assert_eq!(hotp_sha256.get_otp(&[0, 0, 0, 0, 0x27, 0xbc, 0x86, 0xaa], 8), 77737706); [INFO] [stderr] | ^^^^^^^^ help: consider: `77_737_706` [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/tests.rs:86:79 [INFO] [stderr] | [INFO] [stderr] 86 | assert_eq!(hotp_sha512.get_otp(&[0, 0, 0, 0, 0x27, 0xbc, 0x86, 0xaa], 8), 47863826); [INFO] [stderr] | ^^^^^^^^ help: consider: `47_863_826` [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/tests.rs:93:38 [INFO] [stderr] | [INFO] [stderr] 93 | assert_eq!(&utils::num_to_buffer(1111111109 / STEP)[..], &[0, 0, 0, 0, 0x02, 0x35, 0x23, 0xec]); [INFO] [stderr] | ^^^^^^^^^^ help: consider: `1_111_111_109` [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/tests.rs:94:38 [INFO] [stderr] | [INFO] [stderr] 94 | assert_eq!(&utils::num_to_buffer(1111111111 / STEP)[..], &[0, 0, 0, 0, 0x02, 0x35, 0x23, 0xed]); [INFO] [stderr] | ^^^^^^^^^^ help: consider: `1_111_111_111` [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/tests.rs:95:38 [INFO] [stderr] | [INFO] [stderr] 95 | assert_eq!(&utils::num_to_buffer(1234567890 / STEP)[..], &[0, 0, 0, 0, 0x02, 0x73, 0xef, 0x07]); [INFO] [stderr] | ^^^^^^^^^^ help: consider: `1_234_567_890` [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/tests.rs:96:38 [INFO] [stderr] | [INFO] [stderr] 96 | assert_eq!(&utils::num_to_buffer(2000000000 / STEP)[..], &[0, 0, 0, 0, 0x03, 0xf9, 0x40, 0xaa]); [INFO] [stderr] | ^^^^^^^^^^ help: consider: `2_000_000_000` [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/tests.rs:97:38 [INFO] [stderr] | [INFO] [stderr] 97 | assert_eq!(&utils::num_to_buffer(20000000000 / STEP)[..], &[0, 0, 0, 0, 0x27, 0xbc, 0x86, 0xaa]); [INFO] [stderr] | ^^^^^^^^^^^ help: consider: `20_000_000_000` [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: unneeded return statement [INFO] [stderr] --> src/lib.rs:191:9 [INFO] [stderr] | [INFO] [stderr] 191 | return num % 10u32.pow(digits); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `num % 10u32.pow(digits)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_return)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/lib.rs:201:9 [INFO] [stderr] | [INFO] [stderr] 201 | return result; [INFO] [stderr] | ^^^^^^^^^^^^^^ help: remove `return` as shown: `result` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/lib.rs:248:9 [INFO] [stderr] | [INFO] [stderr] 248 | return (now.as_secs() + self.start_time) / self.time_step; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `(now.as_secs() + self.start_time) / self.time_step` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/lib.rs:258:9 [INFO] [stderr] | [INFO] [stderr] 258 | return self.secret.get_otp(buf, digits); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `self.secret.get_otp(buf, digits)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/lib.rs:273:9 [INFO] [stderr] | [INFO] [stderr] 273 | return false; [INFO] [stderr] | ^^^^^^^^^^^^^ help: remove `return` as shown: `false` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: casting u32 to u64 may become silently lossy if types change [INFO] [stderr] --> src/utils.rs:4:34 [INFO] [stderr] | [INFO] [stderr] 4 | let byte_mask: u64 = 0xff << (bits_offset as u64); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try: `u64::from(bits_offset)` [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: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/lib.rs:64:30 [INFO] [stderr] | [INFO] [stderr] 64 | pub fn get_algorithm<'a>(&self) -> &'a ring::digest::Algorithm { [INFO] [stderr] | ^^^^^ help: consider passing by value instead: `self` [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: casting u8 to u32 may become silently lossy if types change [INFO] [stderr] --> src/lib.rs:197:28 [INFO] [stderr] | [INFO] [stderr] 197 | let result: u32 = (((data[offset] & 0x7f) as u32) << 24) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u32::from(data[offset] & 0x7f)` [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/lib.rs:198:16 [INFO] [stderr] | [INFO] [stderr] 198 | | (((data[offset + 1] & 0xff) as u32) << 16) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u32::from(data[offset + 1] & 0xff)` [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: the operation is ineffective. Consider reducing it to `data[offset + 1]` [INFO] [stderr] --> src/lib.rs:198:17 [INFO] [stderr] | [INFO] [stderr] 198 | | (((data[offset + 1] & 0xff) as u32) << 16) [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/lib.rs:199:16 [INFO] [stderr] | [INFO] [stderr] 199 | | (((data[offset + 2] & 0xff) as u32) << 8) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u32::from(data[offset + 2] & 0xff)` [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: the operation is ineffective. Consider reducing it to `data[offset + 2]` [INFO] [stderr] --> src/lib.rs:199:17 [INFO] [stderr] | [INFO] [stderr] 199 | | (((data[offset + 2] & 0xff) as u32) << 8) [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/lib.rs:200:15 [INFO] [stderr] | [INFO] [stderr] 200 | | ((data[offset + 3] & 0xff) as u32); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u32::from(data[offset + 3] & 0xff)` [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: the operation is ineffective. Consider reducing it to `data[offset + 3]` [INFO] [stderr] --> src/lib.rs:200:16 [INFO] [stderr] | [INFO] [stderr] 200 | | ((data[offset + 3] & 0xff) as u32); [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 i32 to i64 may become silently lossy if types change [INFO] [stderr] --> src/lib.rs:257:76 [INFO] [stderr] | [INFO] [stderr] 257 | let buf: &[u8] = &utils::num_to_buffer(((self.get_time() as i64) + (offset as i64)) as u64 ); [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `i64::from(offset)` [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: an inclusive range would be more readable [INFO] [stderr] --> src/lib.rs:348:22 [INFO] [stderr] | [INFO] [stderr] 348 | for i in (-validation_margin)..(validation_margin+1) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use: `((-validation_margin)..=validation_margin)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::range_plus_one)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#range_plus_one [INFO] [stderr] [INFO] [stderr] warning: casting i32 to i64 may become silently lossy if types change [INFO] [stderr] --> src/lib.rs:349:58 [INFO] [stderr] | [INFO] [stderr] 349 | let current_counter = (counter as i64) + (i as i64); [INFO] [stderr] | ^^^^^^^^^^ help: try: `i64::from(i)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to u64 may become silently lossy if types change [INFO] [stderr] --> src/utils.rs:4:34 [INFO] [stderr] | [INFO] [stderr] 4 | let byte_mask: u64 = 0xff << (bits_offset as u64); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try: `u64::from(bits_offset)` [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: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/lib.rs:64:30 [INFO] [stderr] | [INFO] [stderr] 64 | pub fn get_algorithm<'a>(&self) -> &'a ring::digest::Algorithm { [INFO] [stderr] | ^^^^^ help: consider passing by value instead: `self` [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: casting u8 to u32 may become silently lossy if types change [INFO] [stderr] --> src/lib.rs:197:28 [INFO] [stderr] | [INFO] [stderr] 197 | let result: u32 = (((data[offset] & 0x7f) as u32) << 24) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u32::from(data[offset] & 0x7f)` [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/lib.rs:198:16 [INFO] [stderr] | [INFO] [stderr] 198 | | (((data[offset + 1] & 0xff) as u32) << 16) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u32::from(data[offset + 1] & 0xff)` [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: the operation is ineffective. Consider reducing it to `data[offset + 1]` [INFO] [stderr] --> src/lib.rs:198:17 [INFO] [stderr] | [INFO] [stderr] 198 | | (((data[offset + 1] & 0xff) as u32) << 16) [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/lib.rs:199:16 [INFO] [stderr] | [INFO] [stderr] 199 | | (((data[offset + 2] & 0xff) as u32) << 8) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u32::from(data[offset + 2] & 0xff)` [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: the operation is ineffective. Consider reducing it to `data[offset + 2]` [INFO] [stderr] --> src/lib.rs:199:17 [INFO] [stderr] | [INFO] [stderr] 199 | | (((data[offset + 2] & 0xff) as u32) << 8) [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/lib.rs:200:15 [INFO] [stderr] | [INFO] [stderr] 200 | | ((data[offset + 3] & 0xff) as u32); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u32::from(data[offset + 3] & 0xff)` [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: the operation is ineffective. Consider reducing it to `data[offset + 3]` [INFO] [stderr] --> src/lib.rs:200:16 [INFO] [stderr] | [INFO] [stderr] 200 | | ((data[offset + 3] & 0xff) as u32); [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 i32 to i64 may become silently lossy if types change [INFO] [stderr] --> src/lib.rs:257:76 [INFO] [stderr] | [INFO] [stderr] 257 | let buf: &[u8] = &utils::num_to_buffer(((self.get_time() as i64) + (offset as i64)) as u64 ); [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `i64::from(offset)` [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: an inclusive range would be more readable [INFO] [stderr] --> src/lib.rs:348:22 [INFO] [stderr] | [INFO] [stderr] 348 | for i in (-validation_margin)..(validation_margin+1) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use: `((-validation_margin)..=validation_margin)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::range_plus_one)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#range_plus_one [INFO] [stderr] [INFO] [stderr] warning: casting i32 to i64 may become silently lossy if types change [INFO] [stderr] --> src/lib.rs:349:58 [INFO] [stderr] | [INFO] [stderr] 349 | let current_counter = (counter as i64) + (i as i64); [INFO] [stderr] | ^^^^^^^^^^ help: try: `i64::from(i)` [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.40s [INFO] running `"docker" "inspect" "026a1f53eda97949dbb73f5c5fa6fa485391c86f0f2de640ade028d945da74b8"` [INFO] running `"docker" "rm" "-f" "026a1f53eda97949dbb73f5c5fa6fa485391c86f0f2de640ade028d945da74b8"` [INFO] [stdout] 026a1f53eda97949dbb73f5c5fa6fa485391c86f0f2de640ade028d945da74b8