[INFO] fetching crate giant-spellbook 0.4.6... [INFO] linting giant-spellbook-0.4.6 against nightly for clippy-nonminimal_bool-denied [INFO] extracting crate giant-spellbook 0.4.6 into /workspace/builds/worker-2-tc1/source [INFO] started tweaking crates.io crate giant-spellbook 0.4.6 [INFO] finished tweaking crates.io crate giant-spellbook 0.4.6 [INFO] tweaked toml for crates.io crate giant-spellbook 0.4.6 written to /workspace/builds/worker-2-tc1/source/Cargo.toml [INFO] validating manifest of crates.io crate giant-spellbook 0.4.6 on toolchain nightly [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+nightly" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate crates.io crate giant-spellbook 0.4.6 already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+nightly" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded enchanter v0.1.3 [INFO] [stderr] Downloaded uzers v0.12.2 [INFO] [stderr] Downloaded enchantress v0.1.11 [INFO] [stderr] Downloaded x509-parser v0.18.0 [INFO] [stderr] Downloaded rustls-openssl v0.3.0 [INFO] [stderr] Downloaded wormsign v0.1.13 [INFO] [stderr] Downloaded zerocopy-derive v0.8.34 [INFO] [stderr] Downloaded zerocopy v0.8.34 [INFO] [stderr] Downloaded openssl-src v300.5.4+3.5.4 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+nightly" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 23868ac00d99e50dc2bb776d1f6bab412488692f68e2a4d8f0155fd6fc555f1b [INFO] running `Command { std: "docker" "start" "-a" "23868ac00d99e50dc2bb776d1f6bab412488692f68e2a4d8f0155fd6fc555f1b", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "23868ac00d99e50dc2bb776d1f6bab412488692f68e2a4d8f0155fd6fc555f1b", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "23868ac00d99e50dc2bb776d1f6bab412488692f68e2a4d8f0155fd6fc555f1b", kill_on_drop: false }` [INFO] [stdout] 23868ac00d99e50dc2bb776d1f6bab412488692f68e2a4d8f0155fd6fc555f1b [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+nightly" "clippy" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] a4ef9ef44a9a9b9505f0a531513908f1f56947b98ae0e4651474cbb87b22c7f2 [INFO] running `Command { std: "docker" "start" "-a" "a4ef9ef44a9a9b9505f0a531513908f1f56947b98ae0e4651474cbb87b22c7f2", kill_on_drop: false }` [INFO] [stderr] Checking getrandom v0.2.17 [INFO] [stderr] Compiling find-msvc-tools v0.1.8 [INFO] [stderr] Checking inout v0.1.4 [INFO] [stderr] Compiling zerocopy v0.8.34 [INFO] [stderr] Compiling syn v2.0.114 [INFO] [stderr] Checking getrandom v0.3.4 [INFO] [stderr] Compiling time-macros v0.2.26 [INFO] [stderr] Checking nom v7.1.3 [INFO] [stderr] Checking base64ct v1.8.3 [INFO] [stderr] Compiling cc v1.2.54 [INFO] [stderr] Checking rand_core v0.9.5 [INFO] [stderr] Checking rand_core v0.6.4 [INFO] [stderr] Checking rtoolbox v0.0.3 [INFO] [stderr] Checking iana-time-zone v0.1.64 [INFO] [stderr] Checking crypto-common v0.1.7 [INFO] [stderr] Checking digest v0.10.7 [INFO] [stderr] Checking cipher v0.4.4 [INFO] [stderr] Checking universal-hash v0.5.1 [INFO] [stderr] Checking blake2 v0.10.6 [INFO] [stderr] Checking aead v0.5.2 [INFO] [stderr] Checking password-hash v0.5.0 [INFO] [stderr] Compiling openssl-src v300.5.4+3.5.4 [INFO] [stderr] Checking ctr v0.9.2 [INFO] [stderr] Checking argon2 v0.5.3 [INFO] [stderr] Checking aes v0.8.4 [INFO] [stderr] Checking polyval v0.6.2 [INFO] [stderr] Checking sha3 v0.10.8 [INFO] [stderr] Checking chrono v0.4.43 [INFO] [stderr] Checking rpassword v7.4.0 [INFO] [stderr] Compiling rustls v0.23.36 [INFO] [stderr] Compiling oid-registry v0.8.1 [INFO] [stderr] Checking rustls-webpki v0.103.9 [INFO] [stderr] Compiling openssl-sys v0.9.111 [INFO] [stderr] Checking rusticata-macros v4.1.0 [INFO] [stderr] Checking time v0.3.46 [INFO] [stderr] Compiling capstone-sys v0.17.0 [INFO] [stderr] Compiling blake3 v1.8.3 [INFO] [stderr] Checking ghash v0.5.1 [INFO] [stderr] Checking chacha20 v0.9.1 [INFO] [stderr] Checking poly1305 v0.8.0 [INFO] [stderr] Compiling rustls-openssl v0.3.0 [INFO] [stderr] Checking uzers v0.12.2 [INFO] [stderr] Checking chacha20poly1305 v0.10.1 [INFO] [stderr] Checking aes-gcm v0.10.3 [INFO] [stderr] Checking sha2 v0.10.9 [INFO] [stderr] Checking constant_time_eq v0.4.2 [INFO] [stderr] Checking rustls-pemfile v2.2.0 [INFO] [stderr] Checking bs58 v0.5.1 [INFO] [stderr] Compiling synstructure v0.13.2 [INFO] [stderr] Checking ppv-lite86 v0.2.21 [INFO] [stderr] Checking rand_chacha v0.9.0 [INFO] [stderr] Checking rand v0.9.2 [INFO] [stderr] Compiling thiserror-impl v2.0.18 [INFO] [stderr] Compiling serde_derive v1.0.228 [INFO] [stderr] Compiling asn1-rs-impl v0.2.0 [INFO] [stderr] Compiling asn1-rs-derive v0.6.0 [INFO] [stderr] Compiling displaydoc v0.2.5 [INFO] [stderr] Compiling openssl-macros v0.1.1 [INFO] [stderr] Checking thiserror v2.0.18 [INFO] [stderr] Checking asn1-rs v0.7.1 [INFO] [stderr] Checking der-parser v10.0.0 [INFO] [stderr] Checking x509-parser v0.18.0 [INFO] [stderr] Checking serde v1.0.228 [INFO] [stderr] Checking enchantress v0.1.11 [INFO] [stderr] Checking enchanter v0.1.3 [INFO] [stderr] Checking wormsign v0.1.13 [INFO] [stderr] Checking capstone v0.13.0 [INFO] [stderr] Compiling openssl v0.10.75 [INFO] [stderr] Checking giant-spellbook v0.4.6 (/opt/rustwide/workdir) [INFO] [stdout] warning: file is loaded as a module multiple times: `src/./utilities.rs` [INFO] [stdout] --> src/parsers.rs:12:1 [INFO] [stdout] | [INFO] [stdout] 12 | / #[path = "./utilities.rs"] [INFO] [stdout] 13 | | mod utilities; [INFO] [stdout] | |______________^ first loaded here [INFO] [stdout] | [INFO] [stdout] ::: src/hunter.rs:11:1 [INFO] [stdout] | [INFO] [stdout] 11 | / #[path = "./utilities.rs"] [INFO] [stdout] 12 | | mod utilities; [INFO] [stdout] | |______________^ loaded again here [INFO] [stdout] | [INFO] [stdout] ::: src/bithack.rs:9:1 [INFO] [stdout] | [INFO] [stdout] 9 | / #[path = "./utilities.rs"] [INFO] [stdout] 10 | | mod utilities; [INFO] [stdout] | |______________^ loaded again here [INFO] [stdout] | [INFO] [stdout] ::: src/analysis.rs:10:1 [INFO] [stdout] | [INFO] [stdout] 10 | / #[path = "./utilities.rs"] [INFO] [stdout] 11 | | mod utilities; [INFO] [stdout] | |______________^ loaded again here [INFO] [stdout] | [INFO] [stdout] ::: src/hashfunctions.rs:16:1 [INFO] [stdout] | [INFO] [stdout] 16 | / #[path = "./utilities.rs"] [INFO] [stdout] 17 | | mod utilities; [INFO] [stdout] | |______________^ loaded again here [INFO] [stdout] | [INFO] [stdout] ::: src/seek.rs:5:1 [INFO] [stdout] | [INFO] [stdout] 5 | / #[path = "./utilities.rs"] [INFO] [stdout] 6 | | mod utilities; [INFO] [stdout] | |______________^ loaded again here [INFO] [stdout] | [INFO] [stdout] ::: src/main.rs:31:1 [INFO] [stdout] | [INFO] [stdout] 31 | mod utilities; [INFO] [stdout] | ^^^^^^^^^^^^^^ loaded again here [INFO] [stdout] | [INFO] [stdout] = help: replace all but one `mod` item with `use` items [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#duplicate_mod [INFO] [stdout] = note: `#[warn(clippy::duplicate_mod)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: file is loaded as a module multiple times: `src/./utilities.rs` [INFO] [stdout] --> src/parsers.rs:12:1 [INFO] [stdout] | [INFO] [stdout] 12 | / #[path = "./utilities.rs"] [INFO] [stdout] 13 | | mod utilities; [INFO] [stdout] | |______________^ first loaded here [INFO] [stdout] | [INFO] [stdout] ::: src/hunter.rs:11:1 [INFO] [stdout] | [INFO] [stdout] 11 | / #[path = "./utilities.rs"] [INFO] [stdout] 12 | | mod utilities; [INFO] [stdout] | |______________^ loaded again here [INFO] [stdout] | [INFO] [stdout] ::: src/bithack.rs:9:1 [INFO] [stdout] | [INFO] [stdout] 9 | / #[path = "./utilities.rs"] [INFO] [stdout] 10 | | mod utilities; [INFO] [stdout] | |______________^ loaded again here [INFO] [stdout] | [INFO] [stdout] ::: src/analysis.rs:10:1 [INFO] [stdout] | [INFO] [stdout] 10 | / #[path = "./utilities.rs"] [INFO] [stdout] 11 | | mod utilities; [INFO] [stdout] | |______________^ loaded again here [INFO] [stdout] | [INFO] [stdout] ::: src/hashfunctions.rs:16:1 [INFO] [stdout] | [INFO] [stdout] 16 | / #[path = "./utilities.rs"] [INFO] [stdout] 17 | | mod utilities; [INFO] [stdout] | |______________^ loaded again here [INFO] [stdout] | [INFO] [stdout] ::: src/seek.rs:5:1 [INFO] [stdout] | [INFO] [stdout] 5 | / #[path = "./utilities.rs"] [INFO] [stdout] 6 | | mod utilities; [INFO] [stdout] | |______________^ loaded again here [INFO] [stdout] | [INFO] [stdout] ::: src/main.rs:31:1 [INFO] [stdout] | [INFO] [stdout] 31 | mod utilities; [INFO] [stdout] | ^^^^^^^^^^^^^^ loaded again here [INFO] [stdout] | [INFO] [stdout] = help: replace all but one `mod` item with `use` items [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#duplicate_mod [INFO] [stdout] = note: `#[warn(clippy::duplicate_mod)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: equality checks against true are unnecessary [INFO] [stdout] --> src/./utilities.rs:272:8 [INFO] [stdout] | [INFO] [stdout] 272 | if date == true { [INFO] [stdout] | ^^^^^^^^^^^^ help: try: `date` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_comparison [INFO] [stdout] = note: `#[warn(clippy::bool_comparison)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this call to `as_ref` does nothing [INFO] [stdout] --> src/parsers.rs:116:38 [INFO] [stdout] | [INFO] [stdout] 116 | ... let ip = ip.as_ref(); [INFO] [stdout] | ^^^^^^^^^^^ help: try: `ip` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_asref [INFO] [stdout] = note: `#[warn(clippy::useless_asref)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: equality checks against true are unnecessary [INFO] [stdout] --> src/./utilities.rs:272:8 [INFO] [stdout] | [INFO] [stdout] 272 | if date == true { [INFO] [stdout] | ^^^^^^^^^^^^ help: try: `date` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_comparison [INFO] [stdout] = note: `#[warn(clippy::bool_comparison)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this call to `as_ref` does nothing [INFO] [stdout] --> src/parsers.rs:116:38 [INFO] [stdout] | [INFO] [stdout] 116 | ... let ip = ip.as_ref(); [INFO] [stdout] | ^^^^^^^^^^^ help: try: `ip` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_asref [INFO] [stdout] = note: `#[warn(clippy::useless_asref)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is used to index `line` [INFO] [stdout] --> src/bithack.rs:424:22 [INFO] [stdout] | [INFO] [stdout] 424 | for i in 0..16 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] = note: `#[warn(clippy::needless_range_loop)]` on by default [INFO] [stdout] help: consider using an iterator and enumerate() [INFO] [stdout] | [INFO] [stdout] 424 - for i in 0..16 { [INFO] [stdout] 424 + for (i, ) in line.iter().enumerate().take(16) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is used to index `line` [INFO] [stdout] --> src/bithack.rs:489:22 [INFO] [stdout] | [INFO] [stdout] 489 | for i in 0..16 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator and enumerate() [INFO] [stdout] | [INFO] [stdout] 489 - for i in 0..16 { [INFO] [stdout] 489 + for (i, ) in line.iter().enumerate().take(16) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is used to index `line` [INFO] [stdout] --> src/bithack.rs:546:22 [INFO] [stdout] | [INFO] [stdout] 546 | for i in 0..16 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator and enumerate() [INFO] [stdout] | [INFO] [stdout] 546 - for i in 0..16 { [INFO] [stdout] 546 + for (i, ) in line.iter().enumerate().take(16) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant closure [INFO] [stdout] --> src/analysis.rs:139:30 [INFO] [stdout] | [INFO] [stdout] 139 | if pe_info.3.map(|s| is_uefi_subsystem(s)).unwrap_or(false) { "UEFI" } else { "Windows" } [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the function itself: `is_uefi_subsystem` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stdout] = note: `#[warn(clippy::redundant_closure)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is used to index `line` [INFO] [stdout] --> src/bithack.rs:424:22 [INFO] [stdout] | [INFO] [stdout] 424 | for i in 0..16 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] = note: `#[warn(clippy::needless_range_loop)]` on by default [INFO] [stdout] help: consider using an iterator and enumerate() [INFO] [stdout] | [INFO] [stdout] 424 - for i in 0..16 { [INFO] [stdout] 424 + for (i, ) in line.iter().enumerate().take(16) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is used to index `line` [INFO] [stdout] --> src/bithack.rs:489:22 [INFO] [stdout] | [INFO] [stdout] 489 | for i in 0..16 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator and enumerate() [INFO] [stdout] | [INFO] [stdout] 489 - for i in 0..16 { [INFO] [stdout] 489 + for (i, ) in line.iter().enumerate().take(16) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is used to index `line` [INFO] [stdout] --> src/bithack.rs:546:22 [INFO] [stdout] | [INFO] [stdout] 546 | for i in 0..16 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator and enumerate() [INFO] [stdout] | [INFO] [stdout] 546 - for i in 0..16 { [INFO] [stdout] 546 + for (i, ) in line.iter().enumerate().take(16) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`u8` -> `u8`) [INFO] [stdout] --> src/analysis.rs:383:25 [INFO] [stdout] | [INFO] [stdout] 383 | ((b - b'a' + 26 - shift) % 26 + b'a') as u8 [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `((b - b'a' + 26 - shift) % 26 + b'a')` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] = note: `#[warn(clippy::unnecessary_cast)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`u8` -> `u8`) [INFO] [stdout] --> src/analysis.rs:385:25 [INFO] [stdout] | [INFO] [stdout] 385 | ((b - b'A' + 26 - shift) % 26 + b'A') as u8 [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `((b - b'A' + 26 - shift) % 26 + b'A')` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant closure [INFO] [stdout] --> src/analysis.rs:139:30 [INFO] [stdout] | [INFO] [stdout] 139 | if pe_info.3.map(|s| is_uefi_subsystem(s)).unwrap_or(false) { "UEFI" } else { "Windows" } [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the function itself: `is_uefi_subsystem` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stdout] = note: `#[warn(clippy::redundant_closure)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant closure [INFO] [stdout] --> src/analysis.rs:635:33 [INFO] [stdout] | [INFO] [stdout] 635 | let kind = if subsystem.map(|s| is_uefi_subsystem(s)).unwrap_or(false) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the function itself: `is_uefi_subsystem` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this OR pattern can be rewritten using a range [INFO] [stdout] --> src/analysis.rs:647:19 [INFO] [stdout] | [INFO] [stdout] 647 | matches!(sub, 10 | 11 | 12 | 13) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: try: `10..=13` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_range_patterns [INFO] [stdout] = note: `#[warn(clippy::manual_range_patterns)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/analysis.rs:654:5 [INFO] [stdout] | [INFO] [stdout] 654 | / if m_be == FAT_MAGIC || m_be == FAT_MAGIC_64 { [INFO] [stdout] 655 | | if d.len() >= 8 { [INFO] [stdout] 656 | | let nfat = u32::from_be_bytes([d[4], d[5], d[6], d[7]]) as u64; [INFO] [stdout] 657 | | return (true, true, nfat, "Fat/BE"); [INFO] [stdout] 658 | | } [INFO] [stdout] 659 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] = note: `#[warn(clippy::collapsible_if)]` on by default [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 654 ~ if (m_be == FAT_MAGIC || m_be == FAT_MAGIC_64) { [INFO] [stdout] 655 ~ && d.len() >= 8 { [INFO] [stdout] 656 | let nfat = u32::from_be_bytes([d[4], d[5], d[6], d[7]]) as u64; [INFO] [stdout] 657 | return (true, true, nfat, "Fat/BE"); [INFO] [stdout] 658 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/analysis.rs:660:5 [INFO] [stdout] | [INFO] [stdout] 660 | / if m_be == FAT_CIGAM || m_be == FAT_CIGAM_64 { [INFO] [stdout] 661 | | if d.len() >= 8 { [INFO] [stdout] 662 | | let nfat = u32::from_le_bytes([d[4], d[5], d[6], d[7]]) as u64; [INFO] [stdout] 663 | | return (true, true, nfat, "Fat/LE"); [INFO] [stdout] 664 | | } [INFO] [stdout] 665 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 660 ~ if (m_be == FAT_CIGAM || m_be == FAT_CIGAM_64) { [INFO] [stdout] 661 ~ && d.len() >= 8 { [INFO] [stdout] 662 | let nfat = u32::from_le_bytes([d[4], d[5], d[6], d[7]]) as u64; [INFO] [stdout] 663 | return (true, true, nfat, "Fat/LE"); [INFO] [stdout] 664 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/analysis.rs:811:29 [INFO] [stdout] | [INFO] [stdout] 811 | let pkcs12_confidence = version_ok && authsafe_ok || (authsafe_ok && macdata_seen); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] = note: `#[warn(clippy::nonminimal_bool)]` on by default [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 811 - let pkcs12_confidence = version_ok && authsafe_ok || (authsafe_ok && macdata_seen); [INFO] [stdout] 811 + let pkcs12_confidence = !(!authsafe_ok || !version_ok && !macdata_seen); [INFO] [stdout] | [INFO] [stdout] 811 - let pkcs12_confidence = version_ok && authsafe_ok || (authsafe_ok && macdata_seen); [INFO] [stdout] 811 + let pkcs12_confidence = (macdata_seen || version_ok) && authsafe_ok; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/analysis.rs:780:5 [INFO] [stdout] | [INFO] [stdout] 780 | / if tag2 == 0x30 && c2_start + len2 <= d.len() { [INFO] [stdout] 781 | | if let Some((oid_tag, oid_len, _oid_hdr, oid_val_start)) = parse_tlv_at(d, c2_start, c2_start + len2) { [INFO] [stdout] 782 | | if oid_tag == 0x06 && oid_val_start + oid_len <= d.len() { [INFO] [stdout] 783 | | let oid_tlv = &d[oid_val_start - 2..oid_val_start + oid_len]; [INFO] [stdout] ... | [INFO] [stdout] 803 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 780 ~ if tag2 == 0x30 && c2_start + len2 <= d.len() [INFO] [stdout] 781 ~ && let Some((oid_tag, oid_len, _oid_hdr, oid_val_start)) = parse_tlv_at(d, c2_start, c2_start + len2) { [INFO] [stdout] 782 | if oid_tag == 0x06 && oid_val_start + oid_len <= d.len() { [INFO] [stdout] ... [INFO] [stdout] 801 | } [INFO] [stdout] 802 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/analysis.rs:781:9 [INFO] [stdout] | [INFO] [stdout] 781 | / if let Some((oid_tag, oid_len, _oid_hdr, oid_val_start)) = parse_tlv_at(d, c2_start, c2_start + len2) { [INFO] [stdout] 782 | | if oid_tag == 0x06 && oid_val_start + oid_len <= d.len() { [INFO] [stdout] 783 | | let oid_tlv = &d[oid_val_start - 2..oid_val_start + oid_len]; [INFO] [stdout] 784 | | if oid_tlv == OID_PKCS7_DATA_TLV || oid_tlv == OID_PKCS7_ENCRYPTED_TLV { [INFO] [stdout] ... | [INFO] [stdout] 802 | | } [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 781 ~ if let Some((oid_tag, oid_len, _oid_hdr, oid_val_start)) = parse_tlv_at(d, c2_start, c2_start + len2) [INFO] [stdout] 782 ~ && oid_tag == 0x06 && oid_val_start + oid_len <= d.len() { [INFO] [stdout] 783 | let oid_tlv = &d[oid_val_start - 2..oid_val_start + oid_len]; [INFO] [stdout] ... [INFO] [stdout] 800 | } [INFO] [stdout] 801 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/analysis.rs:784:17 [INFO] [stdout] | [INFO] [stdout] 784 | / if oid_tlv == OID_PKCS7_DATA_TLV || oid_tlv == OID_PKCS7_ENCRYPTED_TLV { [INFO] [stdout] 785 | | if let Some((c0_tag, c0_len, _c0_hdr, c0_start)) = parse_tlv_at(d, oid_val_start + oid_len, c2_start + len2) { [INFO] [stdout] 786 | | if c0_tag & 0xE0 == 0xA0 { [INFO] [stdout] 787 | | if let Some((in_tag, in_len, _in_hdr, in_start)) = parse_tlv_at(d, c0_start, c0_start + c0_len) { [INFO] [stdout] ... | [INFO] [stdout] 800 | | } [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 784 ~ if (oid_tlv == OID_PKCS7_DATA_TLV || oid_tlv == OID_PKCS7_ENCRYPTED_TLV) { [INFO] [stdout] 785 ~ && let Some((c0_tag, c0_len, _c0_hdr, c0_start)) = parse_tlv_at(d, oid_val_start + oid_len, c2_start + len2) { [INFO] [stdout] 786 | if c0_tag & 0xE0 == 0xA0 { [INFO] [stdout] ... [INFO] [stdout] 798 | } [INFO] [stdout] 799 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/analysis.rs:785:21 [INFO] [stdout] | [INFO] [stdout] 785 | / if let Some((c0_tag, c0_len, _c0_hdr, c0_start)) = parse_tlv_at(d, oid_val_start + oid_len, c2_start + len2) { [INFO] [stdout] 786 | | if c0_tag & 0xE0 == 0xA0 { [INFO] [stdout] 787 | | if let Some((in_tag, in_len, _in_hdr, in_start)) = parse_tlv_at(d, c0_start, c0_start + c0_len) { [INFO] [stdout] 788 | | if in_tag == 0x04 && in_start + in_len <= d.len() { [INFO] [stdout] ... | [INFO] [stdout] 799 | | } [INFO] [stdout] | |_____________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 785 ~ if let Some((c0_tag, c0_len, _c0_hdr, c0_start)) = parse_tlv_at(d, oid_val_start + oid_len, c2_start + len2) [INFO] [stdout] 786 ~ && c0_tag & 0xE0 == 0xA0 { [INFO] [stdout] 787 | if let Some((in_tag, in_len, _in_hdr, in_start)) = parse_tlv_at(d, c0_start, c0_start + c0_len) { [INFO] [stdout] ... [INFO] [stdout] 797 | } [INFO] [stdout] 798 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/analysis.rs:786:25 [INFO] [stdout] | [INFO] [stdout] 786 | / if c0_tag & 0xE0 == 0xA0 { [INFO] [stdout] 787 | | if let Some((in_tag, in_len, _in_hdr, in_start)) = parse_tlv_at(d, c0_start, c0_start + c0_len) { [INFO] [stdout] 788 | | if in_tag == 0x04 && in_start + in_len <= d.len() { [INFO] [stdout] 789 | | let os_payload = &d[in_start..in_start+in_len]; [INFO] [stdout] ... | [INFO] [stdout] 798 | | } [INFO] [stdout] | |_________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 786 ~ if c0_tag & 0xE0 == 0xA0 [INFO] [stdout] 787 ~ && let Some((in_tag, in_len, _in_hdr, in_start)) = parse_tlv_at(d, c0_start, c0_start + c0_len) { [INFO] [stdout] 788 | if in_tag == 0x04 && in_start + in_len <= d.len() { [INFO] [stdout] ... [INFO] [stdout] 796 | } [INFO] [stdout] 797 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/analysis.rs:805:5 [INFO] [stdout] | [INFO] [stdout] 805 | / if cursor < seq_content_end { [INFO] [stdout] 806 | | if let Some((tag3, _len3, _hdr3, _c3_start)) = parse_tlv_at(d, cursor, seq_content_end) { [INFO] [stdout] 807 | | if tag3 == 0x30 { macdata_seen = true; } [INFO] [stdout] 808 | | } [INFO] [stdout] 809 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 805 ~ if cursor < seq_content_end [INFO] [stdout] 806 ~ && let Some((tag3, _len3, _hdr3, _c3_start)) = parse_tlv_at(d, cursor, seq_content_end) { [INFO] [stdout] 807 | if tag3 == 0x30 { macdata_seen = true; } [INFO] [stdout] 808 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/analysis.rs:806:9 [INFO] [stdout] | [INFO] [stdout] 806 | / if let Some((tag3, _len3, _hdr3, _c3_start)) = parse_tlv_at(d, cursor, seq_content_end) { [INFO] [stdout] 807 | | if tag3 == 0x30 { macdata_seen = true; } [INFO] [stdout] 808 | | } [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 806 ~ if let Some((tag3, _len3, _hdr3, _c3_start)) = parse_tlv_at(d, cursor, seq_content_end) [INFO] [stdout] 807 ~ && tag3 == 0x30 { macdata_seen = true; } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`u8` -> `u8`) [INFO] [stdout] --> src/analysis.rs:383:25 [INFO] [stdout] | [INFO] [stdout] 383 | ((b - b'a' + 26 - shift) % 26 + b'a') as u8 [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `((b - b'a' + 26 - shift) % 26 + b'a')` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] = note: `#[warn(clippy::unnecessary_cast)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`u8` -> `u8`) [INFO] [stdout] --> src/analysis.rs:385:25 [INFO] [stdout] | [INFO] [stdout] 385 | ((b - b'A' + 26 - shift) % 26 + b'A') as u8 [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `((b - b'A' + 26 - shift) % 26 + b'A')` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: equality checks against true are unnecessary [INFO] [stdout] --> src/hashfunctions.rs:199:6 [INFO] [stdout] | [INFO] [stdout] 199 | if mode == true { [INFO] [stdout] | ^^^^^^^^^^^^ help: try: `mode` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_comparison [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: equality checks against true are unnecessary [INFO] [stdout] --> src/hashfunctions.rs:278:6 [INFO] [stdout] | [INFO] [stdout] 278 | if mode == true { [INFO] [stdout] | ^^^^^^^^^^^^ help: try: `mode` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_comparison [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: equality checks against true are unnecessary [INFO] [stdout] --> src/hashfunctions.rs:291:6 [INFO] [stdout] | [INFO] [stdout] 291 | if mode == true { [INFO] [stdout] | ^^^^^^^^^^^^ help: try: `mode` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_comparison [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant closure [INFO] [stdout] --> src/analysis.rs:635:33 [INFO] [stdout] | [INFO] [stdout] 635 | let kind = if subsystem.map(|s| is_uefi_subsystem(s)).unwrap_or(false) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the function itself: `is_uefi_subsystem` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this OR pattern can be rewritten using a range [INFO] [stdout] --> src/analysis.rs:647:19 [INFO] [stdout] | [INFO] [stdout] 647 | matches!(sub, 10 | 11 | 12 | 13) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: try: `10..=13` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_range_patterns [INFO] [stdout] = note: `#[warn(clippy::manual_range_patterns)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/analysis.rs:654:5 [INFO] [stdout] | [INFO] [stdout] 654 | / if m_be == FAT_MAGIC || m_be == FAT_MAGIC_64 { [INFO] [stdout] 655 | | if d.len() >= 8 { [INFO] [stdout] 656 | | let nfat = u32::from_be_bytes([d[4], d[5], d[6], d[7]]) as u64; [INFO] [stdout] 657 | | return (true, true, nfat, "Fat/BE"); [INFO] [stdout] 658 | | } [INFO] [stdout] 659 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] = note: `#[warn(clippy::collapsible_if)]` on by default [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 654 ~ if (m_be == FAT_MAGIC || m_be == FAT_MAGIC_64) { [INFO] [stdout] 655 ~ && d.len() >= 8 { [INFO] [stdout] 656 | let nfat = u32::from_be_bytes([d[4], d[5], d[6], d[7]]) as u64; [INFO] [stdout] 657 | return (true, true, nfat, "Fat/BE"); [INFO] [stdout] 658 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/analysis.rs:660:5 [INFO] [stdout] | [INFO] [stdout] 660 | / if m_be == FAT_CIGAM || m_be == FAT_CIGAM_64 { [INFO] [stdout] 661 | | if d.len() >= 8 { [INFO] [stdout] 662 | | let nfat = u32::from_le_bytes([d[4], d[5], d[6], d[7]]) as u64; [INFO] [stdout] 663 | | return (true, true, nfat, "Fat/LE"); [INFO] [stdout] 664 | | } [INFO] [stdout] 665 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 660 ~ if (m_be == FAT_CIGAM || m_be == FAT_CIGAM_64) { [INFO] [stdout] 661 ~ && d.len() >= 8 { [INFO] [stdout] 662 | let nfat = u32::from_le_bytes([d[4], d[5], d[6], d[7]]) as u64; [INFO] [stdout] 663 | return (true, true, nfat, "Fat/LE"); [INFO] [stdout] 664 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/analysis.rs:811:29 [INFO] [stdout] | [INFO] [stdout] 811 | let pkcs12_confidence = version_ok && authsafe_ok || (authsafe_ok && macdata_seen); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] = note: `#[warn(clippy::nonminimal_bool)]` on by default [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 811 - let pkcs12_confidence = version_ok && authsafe_ok || (authsafe_ok && macdata_seen); [INFO] [stdout] 811 + let pkcs12_confidence = !(!authsafe_ok || !version_ok && !macdata_seen); [INFO] [stdout] | [INFO] [stdout] 811 - let pkcs12_confidence = version_ok && authsafe_ok || (authsafe_ok && macdata_seen); [INFO] [stdout] 811 + let pkcs12_confidence = (macdata_seen || version_ok) && authsafe_ok; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/analysis.rs:780:5 [INFO] [stdout] | [INFO] [stdout] 780 | / if tag2 == 0x30 && c2_start + len2 <= d.len() { [INFO] [stdout] 781 | | if let Some((oid_tag, oid_len, _oid_hdr, oid_val_start)) = parse_tlv_at(d, c2_start, c2_start + len2) { [INFO] [stdout] 782 | | if oid_tag == 0x06 && oid_val_start + oid_len <= d.len() { [INFO] [stdout] 783 | | let oid_tlv = &d[oid_val_start - 2..oid_val_start + oid_len]; [INFO] [stdout] ... | [INFO] [stdout] 803 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 780 ~ if tag2 == 0x30 && c2_start + len2 <= d.len() [INFO] [stdout] 781 ~ && let Some((oid_tag, oid_len, _oid_hdr, oid_val_start)) = parse_tlv_at(d, c2_start, c2_start + len2) { [INFO] [stdout] 782 | if oid_tag == 0x06 && oid_val_start + oid_len <= d.len() { [INFO] [stdout] ... [INFO] [stdout] 801 | } [INFO] [stdout] 802 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/analysis.rs:781:9 [INFO] [stdout] | [INFO] [stdout] 781 | / if let Some((oid_tag, oid_len, _oid_hdr, oid_val_start)) = parse_tlv_at(d, c2_start, c2_start + len2) { [INFO] [stdout] 782 | | if oid_tag == 0x06 && oid_val_start + oid_len <= d.len() { [INFO] [stdout] 783 | | let oid_tlv = &d[oid_val_start - 2..oid_val_start + oid_len]; [INFO] [stdout] 784 | | if oid_tlv == OID_PKCS7_DATA_TLV || oid_tlv == OID_PKCS7_ENCRYPTED_TLV { [INFO] [stdout] ... | [INFO] [stdout] 802 | | } [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 781 ~ if let Some((oid_tag, oid_len, _oid_hdr, oid_val_start)) = parse_tlv_at(d, c2_start, c2_start + len2) [INFO] [stdout] 782 ~ && oid_tag == 0x06 && oid_val_start + oid_len <= d.len() { [INFO] [stdout] 783 | let oid_tlv = &d[oid_val_start - 2..oid_val_start + oid_len]; [INFO] [stdout] ... [INFO] [stdout] 800 | } [INFO] [stdout] 801 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/analysis.rs:784:17 [INFO] [stdout] | [INFO] [stdout] 784 | / if oid_tlv == OID_PKCS7_DATA_TLV || oid_tlv == OID_PKCS7_ENCRYPTED_TLV { [INFO] [stdout] 785 | | if let Some((c0_tag, c0_len, _c0_hdr, c0_start)) = parse_tlv_at(d, oid_val_start + oid_len, c2_start + len2) { [INFO] [stdout] 786 | | if c0_tag & 0xE0 == 0xA0 { [INFO] [stdout] 787 | | if let Some((in_tag, in_len, _in_hdr, in_start)) = parse_tlv_at(d, c0_start, c0_start + c0_len) { [INFO] [stdout] ... | [INFO] [stdout] 800 | | } [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 784 ~ if (oid_tlv == OID_PKCS7_DATA_TLV || oid_tlv == OID_PKCS7_ENCRYPTED_TLV) { [INFO] [stdout] 785 ~ && let Some((c0_tag, c0_len, _c0_hdr, c0_start)) = parse_tlv_at(d, oid_val_start + oid_len, c2_start + len2) { [INFO] [stdout] 786 | if c0_tag & 0xE0 == 0xA0 { [INFO] [stdout] ... [INFO] [stdout] 798 | } [INFO] [stdout] 799 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/analysis.rs:785:21 [INFO] [stdout] | [INFO] [stdout] 785 | / if let Some((c0_tag, c0_len, _c0_hdr, c0_start)) = parse_tlv_at(d, oid_val_start + oid_len, c2_start + len2) { [INFO] [stdout] 786 | | if c0_tag & 0xE0 == 0xA0 { [INFO] [stdout] 787 | | if let Some((in_tag, in_len, _in_hdr, in_start)) = parse_tlv_at(d, c0_start, c0_start + c0_len) { [INFO] [stdout] 788 | | if in_tag == 0x04 && in_start + in_len <= d.len() { [INFO] [stdout] ... | [INFO] [stdout] 799 | | } [INFO] [stdout] | |_____________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 785 ~ if let Some((c0_tag, c0_len, _c0_hdr, c0_start)) = parse_tlv_at(d, oid_val_start + oid_len, c2_start + len2) [INFO] [stdout] 786 ~ && c0_tag & 0xE0 == 0xA0 { [INFO] [stdout] 787 | if let Some((in_tag, in_len, _in_hdr, in_start)) = parse_tlv_at(d, c0_start, c0_start + c0_len) { [INFO] [stdout] ... [INFO] [stdout] 797 | } [INFO] [stdout] 798 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: equality checks against true are unnecessary [INFO] [stdout] --> src/hashfunctions.rs:362:6 [INFO] [stdout] | [INFO] [stdout] 362 | if mode == true { [INFO] [stdout] | ^^^^^^^^^^^^ help: try: `mode` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_comparison [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/analysis.rs:786:25 [INFO] [stdout] | [INFO] [stdout] 786 | / if c0_tag & 0xE0 == 0xA0 { [INFO] [stdout] 787 | | if let Some((in_tag, in_len, _in_hdr, in_start)) = parse_tlv_at(d, c0_start, c0_start + c0_len) { [INFO] [stdout] 788 | | if in_tag == 0x04 && in_start + in_len <= d.len() { [INFO] [stdout] 789 | | let os_payload = &d[in_start..in_start+in_len]; [INFO] [stdout] ... | [INFO] [stdout] 798 | | } [INFO] [stdout] | |_________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 786 ~ if c0_tag & 0xE0 == 0xA0 [INFO] [stdout] 787 ~ && let Some((in_tag, in_len, _in_hdr, in_start)) = parse_tlv_at(d, c0_start, c0_start + c0_len) { [INFO] [stdout] 788 | if in_tag == 0x04 && in_start + in_len <= d.len() { [INFO] [stdout] ... [INFO] [stdout] 796 | } [INFO] [stdout] 797 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/analysis.rs:805:5 [INFO] [stdout] | [INFO] [stdout] 805 | / if cursor < seq_content_end { [INFO] [stdout] 806 | | if let Some((tag3, _len3, _hdr3, _c3_start)) = parse_tlv_at(d, cursor, seq_content_end) { [INFO] [stdout] 807 | | if tag3 == 0x30 { macdata_seen = true; } [INFO] [stdout] 808 | | } [INFO] [stdout] 809 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 805 ~ if cursor < seq_content_end [INFO] [stdout] 806 ~ && let Some((tag3, _len3, _hdr3, _c3_start)) = parse_tlv_at(d, cursor, seq_content_end) { [INFO] [stdout] 807 | if tag3 == 0x30 { macdata_seen = true; } [INFO] [stdout] 808 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/analysis.rs:806:9 [INFO] [stdout] | [INFO] [stdout] 806 | / if let Some((tag3, _len3, _hdr3, _c3_start)) = parse_tlv_at(d, cursor, seq_content_end) { [INFO] [stdout] 807 | | if tag3 == 0x30 { macdata_seen = true; } [INFO] [stdout] 808 | | } [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 806 ~ if let Some((tag3, _len3, _hdr3, _c3_start)) = parse_tlv_at(d, cursor, seq_content_end) [INFO] [stdout] 807 ~ && tag3 == 0x30 { macdata_seen = true; } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: equality checks against true are unnecessary [INFO] [stdout] --> src/hashfunctions.rs:375:6 [INFO] [stdout] | [INFO] [stdout] 375 | if mode == true { [INFO] [stdout] | ^^^^^^^^^^^^ help: try: `mode` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_comparison [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: equality checks against true are unnecessary [INFO] [stdout] --> src/hashfunctions.rs:446:6 [INFO] [stdout] | [INFO] [stdout] 446 | if mode == true { [INFO] [stdout] | ^^^^^^^^^^^^ help: try: `mode` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_comparison [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: equality checks against true are unnecessary [INFO] [stdout] --> src/hashfunctions.rs:482:6 [INFO] [stdout] | [INFO] [stdout] 482 | if mode == true { [INFO] [stdout] | ^^^^^^^^^^^^ help: try: `mode` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_comparison [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: equality checks against true are unnecessary [INFO] [stdout] --> src/hashfunctions.rs:569:6 [INFO] [stdout] | [INFO] [stdout] 569 | if mode == true { [INFO] [stdout] | ^^^^^^^^^^^^ help: try: `mode` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_comparison [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: equality checks against true are unnecessary [INFO] [stdout] --> src/hashfunctions.rs:199:6 [INFO] [stdout] | [INFO] [stdout] 199 | if mode == true { [INFO] [stdout] | ^^^^^^^^^^^^ help: try: `mode` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_comparison [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/commander.rs:72:9 [INFO] [stdout] | [INFO] [stdout] 72 | / if let Some(mut stdin) = child.stdin.take() { [INFO] [stdout] 73 | | if let Err(e) = writeln!(stdin, "{}", line) { [INFO] [stdout] 74 | | writeln!( [INFO] [stdout] 75 | | log, [INFO] [stdout] ... | [INFO] [stdout] 82 | | } [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 72 ~ if let Some(mut stdin) = child.stdin.take() [INFO] [stdout] 73 ~ && let Err(e) = writeln!(stdin, "{}", line) { [INFO] [stdout] 74 | writeln!( [INFO] [stdout] ... [INFO] [stdout] 80 | )?; [INFO] [stdout] 81 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: equality checks against true are unnecessary [INFO] [stdout] --> src/hashfunctions.rs:278:6 [INFO] [stdout] | [INFO] [stdout] 278 | if mode == true { [INFO] [stdout] | ^^^^^^^^^^^^ help: try: `mode` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_comparison [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: equality checks against true are unnecessary [INFO] [stdout] --> src/hashfunctions.rs:291:6 [INFO] [stdout] | [INFO] [stdout] 291 | if mode == true { [INFO] [stdout] | ^^^^^^^^^^^^ help: try: `mode` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_comparison [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: equality checks against true are unnecessary [INFO] [stdout] --> src/hashfunctions.rs:362:6 [INFO] [stdout] | [INFO] [stdout] 362 | if mode == true { [INFO] [stdout] | ^^^^^^^^^^^^ help: try: `mode` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_comparison [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: equality checks against true are unnecessary [INFO] [stdout] --> src/hashfunctions.rs:375:6 [INFO] [stdout] | [INFO] [stdout] 375 | if mode == true { [INFO] [stdout] | ^^^^^^^^^^^^ help: try: `mode` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_comparison [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: equality checks against true are unnecessary [INFO] [stdout] --> src/hashfunctions.rs:446:6 [INFO] [stdout] | [INFO] [stdout] 446 | if mode == true { [INFO] [stdout] | ^^^^^^^^^^^^ help: try: `mode` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_comparison [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: equality checks against true are unnecessary [INFO] [stdout] --> src/hashfunctions.rs:482:6 [INFO] [stdout] | [INFO] [stdout] 482 | if mode == true { [INFO] [stdout] | ^^^^^^^^^^^^ help: try: `mode` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_comparison [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function has too many arguments (14/7) [INFO] [stdout] --> src/researcher.rs:357:1 [INFO] [stdout] | [INFO] [stdout] 357 | / fn build_hex_area_styled( [INFO] [stdout] 358 | | chunk: &[u8], [INFO] [stdout] 359 | | base_off: u64, [INFO] [stdout] 360 | | bytes_per_row: usize, [INFO] [stdout] ... | [INFO] [stdout] 371 | | is_macho: bool, [INFO] [stdout] 372 | | ) -> String { [INFO] [stdout] | |___________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stdout] = note: `#[warn(clippy::too_many_arguments)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is used to index `chunk` [INFO] [stdout] --> src/researcher.rs:376:14 [INFO] [stdout] | [INFO] [stdout] 376 | for i in 0..bytes_per_row { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator and enumerate() [INFO] [stdout] | [INFO] [stdout] 376 - for i in 0..bytes_per_row { [INFO] [stdout] 376 + for (i, ) in chunk.iter().enumerate().take(bytes_per_row) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function has too many arguments (12/7) [INFO] [stdout] --> src/researcher.rs:413:1 [INFO] [stdout] | [INFO] [stdout] 413 | / fn build_ascii_area_styled( [INFO] [stdout] 414 | | chunk: &[u8], [INFO] [stdout] 415 | | base_off: u64, [INFO] [stdout] 416 | | bytes_per_row: usize, [INFO] [stdout] ... | [INFO] [stdout] 425 | | is_macho: bool, [INFO] [stdout] 426 | | ) -> String { [INFO] [stdout] | |___________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: equality checks against true are unnecessary [INFO] [stdout] --> src/hashfunctions.rs:569:6 [INFO] [stdout] | [INFO] [stdout] 569 | if mode == true { [INFO] [stdout] | ^^^^^^^^^^^^ help: try: `mode` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_comparison [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/commander.rs:72:9 [INFO] [stdout] | [INFO] [stdout] 72 | / if let Some(mut stdin) = child.stdin.take() { [INFO] [stdout] 73 | | if let Err(e) = writeln!(stdin, "{}", line) { [INFO] [stdout] 74 | | writeln!( [INFO] [stdout] 75 | | log, [INFO] [stdout] ... | [INFO] [stdout] 82 | | } [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 72 ~ if let Some(mut stdin) = child.stdin.take() [INFO] [stdout] 73 ~ && let Err(e) = writeln!(stdin, "{}", line) { [INFO] [stdout] 74 | writeln!( [INFO] [stdout] ... [INFO] [stdout] 80 | )?; [INFO] [stdout] 81 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `std::mem::drop` with a value that does not implement `Drop`. Dropping such a type only extends its contained lifetimes [INFO] [stdout] --> src/tls_debug.rs:182:5 [INFO] [stdout] | [INFO] [stdout] 182 | drop(recorder); [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: argument has type `tls_debug::RecordingIo<'_>` [INFO] [stdout] --> src/tls_debug.rs:182:10 [INFO] [stdout] | [INFO] [stdout] 182 | drop(recorder); [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#drop_non_drop [INFO] [stdout] = note: `#[warn(clippy::drop_non_drop)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function has too many arguments (14/7) [INFO] [stdout] --> src/researcher.rs:357:1 [INFO] [stdout] | [INFO] [stdout] 357 | / fn build_hex_area_styled( [INFO] [stdout] 358 | | chunk: &[u8], [INFO] [stdout] 359 | | base_off: u64, [INFO] [stdout] 360 | | bytes_per_row: usize, [INFO] [stdout] ... | [INFO] [stdout] 371 | | is_macho: bool, [INFO] [stdout] 372 | | ) -> String { [INFO] [stdout] | |___________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stdout] = note: `#[warn(clippy::too_many_arguments)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is used to index `chunk` [INFO] [stdout] --> src/researcher.rs:376:14 [INFO] [stdout] | [INFO] [stdout] 376 | for i in 0..bytes_per_row { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator and enumerate() [INFO] [stdout] | [INFO] [stdout] 376 - for i in 0..bytes_per_row { [INFO] [stdout] 376 + for (i, ) in chunk.iter().enumerate().take(bytes_per_row) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function has too many arguments (12/7) [INFO] [stdout] --> src/researcher.rs:413:1 [INFO] [stdout] | [INFO] [stdout] 413 | / fn build_ascii_area_styled( [INFO] [stdout] 414 | | chunk: &[u8], [INFO] [stdout] 415 | | base_off: u64, [INFO] [stdout] 416 | | bytes_per_row: usize, [INFO] [stdout] ... | [INFO] [stdout] 425 | | is_macho: bool, [INFO] [stdout] 426 | | ) -> String { [INFO] [stdout] | |___________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `std::mem::drop` with a value that does not implement `Drop`. Dropping such a type only extends its contained lifetimes [INFO] [stdout] --> src/tls_debug.rs:344:5 [INFO] [stdout] | [INFO] [stdout] 344 | drop(recorder); [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: argument has type `tls_debug::RecordingIo<'_>` [INFO] [stdout] --> src/tls_debug.rs:344:10 [INFO] [stdout] | [INFO] [stdout] 344 | drop(recorder); [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#drop_non_drop [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `std::mem::drop` with a value that does not implement `Drop`. Dropping such a type only extends its contained lifetimes [INFO] [stdout] --> src/tls_debug.rs:182:5 [INFO] [stdout] | [INFO] [stdout] 182 | drop(recorder); [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: argument has type `tls_debug::RecordingIo<'_>` [INFO] [stdout] --> src/tls_debug.rs:182:10 [INFO] [stdout] | [INFO] [stdout] 182 | drop(recorder); [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#drop_non_drop [INFO] [stdout] = note: `#[warn(clippy::drop_non_drop)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `std::mem::drop` with a value that does not implement `Drop`. Dropping such a type only extends its contained lifetimes [INFO] [stdout] --> src/tls_debug.rs:344:5 [INFO] [stdout] | [INFO] [stdout] 344 | drop(recorder); [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: argument has type `tls_debug::RecordingIo<'_>` [INFO] [stdout] --> src/tls_debug.rs:344:10 [INFO] [stdout] | [INFO] [stdout] 344 | drop(recorder); [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#drop_non_drop [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `std::mem::drop` with a value that does not implement `Drop`. Dropping such a type only extends its contained lifetimes [INFO] [stdout] --> src/tls_debug.rs:507:5 [INFO] [stdout] | [INFO] [stdout] 507 | drop(recorder); [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: argument has type `tls_debug::RecordingIo<'_>` [INFO] [stdout] --> src/tls_debug.rs:507:10 [INFO] [stdout] | [INFO] [stdout] 507 | drop(recorder); [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#drop_non_drop [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `std::mem::drop` with a value that does not implement `Drop`. Dropping such a type only extends its contained lifetimes [INFO] [stdout] --> src/tls_debug.rs:507:5 [INFO] [stdout] | [INFO] [stdout] 507 | drop(recorder); [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: argument has type `tls_debug::RecordingIo<'_>` [INFO] [stdout] --> src/tls_debug.rs:507:10 [INFO] [stdout] | [INFO] [stdout] 507 | drop(recorder); [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#drop_non_drop [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `std::mem::drop` with a value that does not implement `Drop`. Dropping such a type only extends its contained lifetimes [INFO] [stdout] --> src/tls_debug.rs:678:5 [INFO] [stdout] | [INFO] [stdout] 678 | drop(recorder); [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: argument has type `tls_debug::RecordingIo<'_>` [INFO] [stdout] --> src/tls_debug.rs:678:10 [INFO] [stdout] | [INFO] [stdout] 678 | drop(recorder); [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#drop_non_drop [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `std::mem::drop` with a value that does not implement `Drop`. Dropping such a type only extends its contained lifetimes [INFO] [stdout] --> src/tls_debug.rs:678:5 [INFO] [stdout] | [INFO] [stdout] 678 | drop(recorder); [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: argument has type `tls_debug::RecordingIo<'_>` [INFO] [stdout] --> src/tls_debug.rs:678:10 [INFO] [stdout] | [INFO] [stdout] 678 | drop(recorder); [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#drop_non_drop [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless conversion to the same type: `rustls::pki_types::CertificateDer<'_>` [INFO] [stdout] --> src/tls_debug.rs:856:61 [INFO] [stdout] | [INFO] [stdout] 856 | roots.add_parsable_certificates(std::iter::once(CertificateDer::from(cert))); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `CertificateDer::from()`: `cert` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] = note: `#[warn(clippy::useless_conversion)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/tls_debug.rs:926:9 [INFO] [stdout] | [INFO] [stdout] 926 | / if *attr.attr_type() == OID_X509_COMMON_NAME { [INFO] [stdout] 927 | | if let Ok(s) = attr.as_str() { [INFO] [stdout] 928 | | subject_cn = Some(s.to_string()); [INFO] [stdout] 929 | | break; [INFO] [stdout] 930 | | } [INFO] [stdout] 931 | | } [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 926 ~ if *attr.attr_type() == OID_X509_COMMON_NAME [INFO] [stdout] 927 ~ && let Ok(s) = attr.as_str() { [INFO] [stdout] 928 | subject_cn = Some(s.to_string()); [INFO] [stdout] 929 | break; [INFO] [stdout] 930 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless conversion to the same type: `rustls::pki_types::CertificateDer<'_>` [INFO] [stdout] --> src/tls_debug.rs:856:61 [INFO] [stdout] | [INFO] [stdout] 856 | roots.add_parsable_certificates(std::iter::once(CertificateDer::from(cert))); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `CertificateDer::from()`: `cert` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] = note: `#[warn(clippy::useless_conversion)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/tls_debug.rs:926:9 [INFO] [stdout] | [INFO] [stdout] 926 | / if *attr.attr_type() == OID_X509_COMMON_NAME { [INFO] [stdout] 927 | | if let Ok(s) = attr.as_str() { [INFO] [stdout] 928 | | subject_cn = Some(s.to_string()); [INFO] [stdout] 929 | | break; [INFO] [stdout] 930 | | } [INFO] [stdout] 931 | | } [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 926 ~ if *attr.attr_type() == OID_X509_COMMON_NAME [INFO] [stdout] 927 ~ && let Ok(s) = attr.as_str() { [INFO] [stdout] 928 | subject_cn = Some(s.to_string()); [INFO] [stdout] 929 | break; [INFO] [stdout] 930 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant pattern matching, consider using `is_err()` [INFO] [stdout] --> src/main.rs:133:30 [INFO] [stdout] | [INFO] [stdout] 133 | let file_is_open = match OpenOptions::new().read(true).write(true).open(file_path) { [INFO] [stdout] | ______________________________^ [INFO] [stdout] 134 | | Ok(_) => false, [INFO] [stdout] 135 | | Err(_) => true, [INFO] [stdout] 136 | | }; [INFO] [stdout] | |___________^ help: try: `OpenOptions::new().read(true).write(true).open(file_path).is_err()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stdout] = note: `#[warn(clippy::redundant_pattern_matching)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: needlessly taken reference of left operand [INFO] [stdout] --> src/main.rs:156:57 [INFO] [stdout] | [INFO] [stdout] 156 | println!(" \"Total as megabytes\": \"{}\",", &num_bytes / (1024 * 1024)); [INFO] [stdout] | ----------^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: use the left value directly: `num_bytes` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stdout] = note: `#[warn(clippy::op_ref)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant pattern matching, consider using `is_err()` [INFO] [stdout] --> src/main.rs:133:30 [INFO] [stdout] | [INFO] [stdout] 133 | let file_is_open = match OpenOptions::new().read(true).write(true).open(file_path) { [INFO] [stdout] | ______________________________^ [INFO] [stdout] 134 | | Ok(_) => false, [INFO] [stdout] 135 | | Err(_) => true, [INFO] [stdout] 136 | | }; [INFO] [stdout] | |___________^ help: try: `OpenOptions::new().read(true).write(true).open(file_path).is_err()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stdout] = note: `#[warn(clippy::redundant_pattern_matching)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: needlessly taken reference of left operand [INFO] [stdout] --> src/main.rs:156:57 [INFO] [stdout] | [INFO] [stdout] 156 | println!(" \"Total as megabytes\": \"{}\",", &num_bytes / (1024 * 1024)); [INFO] [stdout] | ----------^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: use the left value directly: `num_bytes` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stdout] = note: `#[warn(clippy::op_ref)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this let-binding has unit value [INFO] [stdout] --> src/main.rs:820:15 [INFO] [stdout] | [INFO] [stdout] 820 | let report = bithack::hexdump_range(file_path, starting_byte, ending_byte)?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_unit_value [INFO] [stdout] = note: `#[warn(clippy::let_unit_value)]` on by default [INFO] [stdout] help: replace variable usages with `()` [INFO] [stdout] | [INFO] [stdout] 820 ~ let report = (); [INFO] [stdout] 821 ~ bithack::hexdump_range(file_path, starting_byte, ending_byte)?; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this let-binding has unit value [INFO] [stdout] --> src/main.rs:826:15 [INFO] [stdout] | [INFO] [stdout] 826 | let report = bithack::hex_range(file_path, starting_byte, ending_byte)?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_unit_value [INFO] [stdout] help: replace variable usages with `()` [INFO] [stdout] | [INFO] [stdout] 826 ~ let report = (); [INFO] [stdout] 827 ~ bithack::hex_range(file_path, starting_byte, ending_byte)?; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this let-binding has unit value [INFO] [stdout] --> src/main.rs:832:15 [INFO] [stdout] | [INFO] [stdout] 832 | let report = bithack::serialized_hex_range(file_path, starting_byte, ending_byte)?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_unit_value [INFO] [stdout] help: replace variable usages with `()` [INFO] [stdout] | [INFO] [stdout] 832 ~ let report = (); [INFO] [stdout] 833 ~ bithack::serialized_hex_range(file_path, starting_byte, ending_byte)?; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant pattern matching, consider using `is_err()` [INFO] [stdout] --> src/main.rs:1068:30 [INFO] [stdout] | [INFO] [stdout] 1068 | let file_is_open = match OpenOptions::new().read(true).write(true).open(file_path) { [INFO] [stdout] | ______________________________^ [INFO] [stdout] 1069 | | Ok(_) => false, [INFO] [stdout] 1070 | | Err(_) => true, [INFO] [stdout] 1071 | | }; [INFO] [stdout] | |___________^ help: try: `OpenOptions::new().read(true).write(true).open(file_path).is_err()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: needlessly taken reference of left operand [INFO] [stdout] --> src/main.rs:1091:57 [INFO] [stdout] | [INFO] [stdout] 1091 | println!(" \"Total as megabytes\": \"{}\",", &num_bytes / (1024 * 1024)); [INFO] [stdout] | ----------^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: use the left value directly: `num_bytes` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this let-binding has unit value [INFO] [stdout] --> src/main.rs:820:15 [INFO] [stdout] | [INFO] [stdout] 820 | let report = bithack::hexdump_range(file_path, starting_byte, ending_byte)?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_unit_value [INFO] [stdout] = note: `#[warn(clippy::let_unit_value)]` on by default [INFO] [stdout] help: replace variable usages with `()` [INFO] [stdout] | [INFO] [stdout] 820 ~ let report = (); [INFO] [stdout] 821 ~ bithack::hexdump_range(file_path, starting_byte, ending_byte)?; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this let-binding has unit value [INFO] [stdout] --> src/main.rs:826:15 [INFO] [stdout] | [INFO] [stdout] 826 | let report = bithack::hex_range(file_path, starting_byte, ending_byte)?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_unit_value [INFO] [stdout] help: replace variable usages with `()` [INFO] [stdout] | [INFO] [stdout] 826 ~ let report = (); [INFO] [stdout] 827 ~ bithack::hex_range(file_path, starting_byte, ending_byte)?; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this let-binding has unit value [INFO] [stdout] --> src/main.rs:832:15 [INFO] [stdout] | [INFO] [stdout] 832 | let report = bithack::serialized_hex_range(file_path, starting_byte, ending_byte)?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_unit_value [INFO] [stdout] help: replace variable usages with `()` [INFO] [stdout] | [INFO] [stdout] 832 ~ let report = (); [INFO] [stdout] 833 ~ bithack::serialized_hex_range(file_path, starting_byte, ending_byte)?; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant pattern matching, consider using `is_err()` [INFO] [stdout] --> src/main.rs:1068:30 [INFO] [stdout] | [INFO] [stdout] 1068 | let file_is_open = match OpenOptions::new().read(true).write(true).open(file_path) { [INFO] [stdout] | ______________________________^ [INFO] [stdout] 1069 | | Ok(_) => false, [INFO] [stdout] 1070 | | Err(_) => true, [INFO] [stdout] 1071 | | }; [INFO] [stdout] | |___________^ help: try: `OpenOptions::new().read(true).write(true).open(file_path).is_err()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: needlessly taken reference of left operand [INFO] [stdout] --> src/main.rs:1091:57 [INFO] [stdout] | [INFO] [stdout] 1091 | println!(" \"Total as megabytes\": \"{}\",", &num_bytes / (1024 * 1024)); [INFO] [stdout] | ----------^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: use the left value directly: `num_bytes` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 5m 41s [INFO] running `Command { std: "docker" "inspect" "a4ef9ef44a9a9b9505f0a531513908f1f56947b98ae0e4651474cbb87b22c7f2", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "a4ef9ef44a9a9b9505f0a531513908f1f56947b98ae0e4651474cbb87b22c7f2", kill_on_drop: false }` [INFO] [stdout] a4ef9ef44a9a9b9505f0a531513908f1f56947b98ae0e4651474cbb87b22c7f2