[INFO] cloning repository https://github.com/gemini-15/fuzz [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/gemini-15/fuzz" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fgemini-15%2Ffuzz", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fgemini-15%2Ffuzz'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 98752f9c2f60b5f063941e6f85c1130fb94873df [INFO] checking gemini-15/fuzz against master#350d0ef0ec0493e6d21cfb265cb8211a0e74d766 for pr-145342-1 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fgemini-15%2Ffuzz" "/workspace/builds/worker-5-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc1/source'... [INFO] [stderr] done. [INFO] [stderr] Updating files: 97% (513/527) Updating files: 98% (517/527) Updating files: 99% (522/527) Updating files: 99% (526/527) Updating files: 100% (527/527) Updating files: 100% (527/527), done. [INFO] started tweaking git repo https://github.com/gemini-15/fuzz [INFO] finished tweaking git repo https://github.com/gemini-15/fuzz [INFO] tweaked toml for git repo https://github.com/gemini-15/fuzz written to /workspace/builds/worker-5-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/gemini-15/fuzz on toolchain 350d0ef0ec0493e6d21cfb265cb8211a0e74d766 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+350d0ef0ec0493e6d21cfb265cb8211a0e74d766" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/gemini-15/fuzz 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" "+350d0ef0ec0493e6d21cfb265cb8211a0e74d766" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024 [INFO] [stderr] Updating crates.io index [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded crc v1.7.0 [INFO] [stderr] Downloaded nom v3.2.1 [INFO] [stderr] Downloaded kerberos-parser v0.1.4 [INFO] [stderr] Downloaded der-parser v0.5.5 [INFO] [stderr] Downloaded ntp-parser v0.2.1 [INFO] [stderr] Downloaded ipsec-parser v0.3.0 [INFO] [stderr] Downloaded rusticata-macros v0.4.1 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+350d0ef0ec0493e6d21cfb265cb8211a0e74d766" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] a2d21fb8793b34f07612af4b0bcc4baa372a9d30770881c0a85d38be35c65f63 [INFO] running `Command { std: "docker" "start" "-a" "a2d21fb8793b34f07612af4b0bcc4baa372a9d30770881c0a85d38be35c65f63", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "a2d21fb8793b34f07612af4b0bcc4baa372a9d30770881c0a85d38be35c65f63", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "a2d21fb8793b34f07612af4b0bcc4baa372a9d30770881c0a85d38be35c65f63", kill_on_drop: false }` [INFO] [stdout] a2d21fb8793b34f07612af4b0bcc4baa372a9d30770881c0a85d38be35c65f63 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+350d0ef0ec0493e6d21cfb265cb8211a0e74d766" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 994cb695ef598dafabd19ae9d7b900ac72885563336b33b207380fd8307da41f [INFO] running `Command { std: "docker" "start" "-a" "994cb695ef598dafabd19ae9d7b900ac72885563336b33b207380fd8307da41f", kill_on_drop: false }` [INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024 [INFO] [stderr] Compiling libc v0.2.74 [INFO] [stderr] Compiling build_const v0.2.1 [INFO] [stderr] Compiling crc v1.7.0 [INFO] [stderr] Checking memchr v1.0.2 [INFO] [stderr] Checking nom v3.2.1 [INFO] [stderr] Checking rusticata-macros v0.4.1 [INFO] [stderr] Checking ntp-parser v0.2.1 [INFO] [stderr] Checking der-parser v0.5.5 [INFO] [stderr] Checking ipsec-parser v0.3.0 [INFO] [stderr] Checking kerberos-parser v0.1.4 [INFO] [stderr] Checking suricata v4.1.7-fmtp (/opt/rustwide/workdir) [INFO] [stdout] warning: `extern` declarations without an explicit ABI are deprecated [INFO] [stdout] --> src/core.rs:54:1 [INFO] [stdout] | [INFO] [stdout] 54 | extern { [INFO] [stdout] | ^^^^^^ help: explicitly specify the "C" ABI: `extern "C"` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(missing_abi)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/core.rs:188:1 [INFO] [stdout] | [INFO] [stdout] 188 | /// Extern functions operating on Flow. [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 189 | / extern { [INFO] [stdout] 190 | | pub fn FlowGetLastTimeAsParts(flow: &Flow, secs: *mut u64, usecs: *mut u64); [INFO] [stdout] 191 | | } [INFO] [stdout] | |_- rustdoc does not generate documentation for extern blocks [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] = note: `#[warn(unused_doc_comments)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `extern` declarations without an explicit ABI are deprecated [INFO] [stdout] --> src/core.rs:189:1 [INFO] [stdout] | [INFO] [stdout] 189 | extern { [INFO] [stdout] | ^^^^^^ help: explicitly specify the "C" ABI: `extern "C"` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `extern` declarations without an explicit ABI are deprecated [INFO] [stdout] --> src/conf.rs:27:1 [INFO] [stdout] | [INFO] [stdout] 27 | extern { [INFO] [stdout] | ^^^^^^ help: explicitly specify the "C" ABI: `extern "C"` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/json.rs:27:1 [INFO] [stdout] | [INFO] [stdout] 27 | /// Expose the jansson functions we need. [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 28 | / extern { [INFO] [stdout] 29 | | fn json_object() -> *mut JsonT; [INFO] [stdout] 30 | | fn json_object_set_new(js: *mut JsonT, key: *const c_char, [INFO] [stdout] 31 | | val: *mut JsonT) -> u32; [INFO] [stdout] ... | [INFO] [stdout] 39 | | fn SCJsonBool(val: bool) -> *mut JsonT; [INFO] [stdout] 40 | | } [INFO] [stdout] | |_- rustdoc does not generate documentation for extern blocks [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `extern` declarations without an explicit ABI are deprecated [INFO] [stdout] --> src/json.rs:28:1 [INFO] [stdout] | [INFO] [stdout] 28 | extern { [INFO] [stdout] | ^^^^^^ help: explicitly specify the "C" ABI: `extern "C"` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `extern` declarations without an explicit ABI are deprecated [INFO] [stdout] --> src/parser.rs:163:1 [INFO] [stdout] | [INFO] [stdout] 163 | extern { [INFO] [stdout] | ^^^^^^ help: explicitly specify the "C" ABI: `extern "C"` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `extern` declarations without an explicit ABI are deprecated [INFO] [stdout] --> src/parser.rs:169:1 [INFO] [stdout] | [INFO] [stdout] 169 | extern { [INFO] [stdout] | ^^^^^^ help: explicitly specify the "C" ABI: `extern "C"` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `extern` declarations without an explicit ABI are deprecated [INFO] [stdout] --> src/parser.rs:180:1 [INFO] [stdout] | [INFO] [stdout] 180 | extern { [INFO] [stdout] | ^^^^^^ help: explicitly specify the "C" ABI: `extern "C"` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around block return value [INFO] [stdout] --> src/smb/smb.rs:707:9 [INFO] [stdout] | [INFO] [stdout] 707 | (self.rec_type == hdr.rec_type && self.ssn_id == hdr.ssn_id && [INFO] [stdout] | ^ [INFO] [stdout] 708 | self.msg_id == hdr.msg_id) [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 707 ~ self.rec_type == hdr.rec_type && self.ssn_id == hdr.ssn_id && [INFO] [stdout] 708 ~ self.msg_id == hdr.msg_id [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around block return value [INFO] [stdout] --> src/smb/detect.rs:156:13 [INFO] [stdout] | [INFO] [stdout] 156 | (them < us) [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 156 - (them < us) [INFO] [stdout] 156 + them < us [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around block return value [INFO] [stdout] --> src/smb/detect.rs:159:13 [INFO] [stdout] | [INFO] [stdout] 159 | (them > us) [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 159 - (them > us) [INFO] [stdout] 159 + them > us [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around block return value [INFO] [stdout] --> src/smb/detect.rs:162:13 [INFO] [stdout] | [INFO] [stdout] 162 | (them == us) [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 162 - (them == us) [INFO] [stdout] 162 + them == us [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around block return value [INFO] [stdout] --> src/smb/detect.rs:165:13 [INFO] [stdout] | [INFO] [stdout] 165 | (them != us) [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 165 - (them != us) [INFO] [stdout] 165 + them != us [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `extern` declarations without an explicit ABI are deprecated [INFO] [stdout] --> src/core.rs:54:1 [INFO] [stdout] | [INFO] [stdout] 54 | extern { [INFO] [stdout] | ^^^^^^ help: explicitly specify the "C" ABI: `extern "C"` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(missing_abi)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/core.rs:188:1 [INFO] [stdout] | [INFO] [stdout] 188 | /// Extern functions operating on Flow. [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 189 | / extern { [INFO] [stdout] 190 | | pub fn FlowGetLastTimeAsParts(flow: &Flow, secs: *mut u64, usecs: *mut u64); [INFO] [stdout] 191 | | } [INFO] [stdout] | |_- rustdoc does not generate documentation for extern blocks [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] = note: `#[warn(unused_doc_comments)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `extern` declarations without an explicit ABI are deprecated [INFO] [stdout] --> src/core.rs:189:1 [INFO] [stdout] | [INFO] [stdout] 189 | extern { [INFO] [stdout] | ^^^^^^ help: explicitly specify the "C" ABI: `extern "C"` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `extern` declarations without an explicit ABI are deprecated [INFO] [stdout] --> src/conf.rs:27:1 [INFO] [stdout] | [INFO] [stdout] 27 | extern { [INFO] [stdout] | ^^^^^^ help: explicitly specify the "C" ABI: `extern "C"` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/json.rs:27:1 [INFO] [stdout] | [INFO] [stdout] 27 | /// Expose the jansson functions we need. [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 28 | / extern { [INFO] [stdout] 29 | | fn json_object() -> *mut JsonT; [INFO] [stdout] 30 | | fn json_object_set_new(js: *mut JsonT, key: *const c_char, [INFO] [stdout] 31 | | val: *mut JsonT) -> u32; [INFO] [stdout] ... | [INFO] [stdout] 39 | | fn SCJsonBool(val: bool) -> *mut JsonT; [INFO] [stdout] 40 | | } [INFO] [stdout] | |_- rustdoc does not generate documentation for extern blocks [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `extern` declarations without an explicit ABI are deprecated [INFO] [stdout] --> src/json.rs:28:1 [INFO] [stdout] | [INFO] [stdout] 28 | extern { [INFO] [stdout] | ^^^^^^ help: explicitly specify the "C" ABI: `extern "C"` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `extern` declarations without an explicit ABI are deprecated [INFO] [stdout] --> src/parser.rs:163:1 [INFO] [stdout] | [INFO] [stdout] 163 | extern { [INFO] [stdout] | ^^^^^^ help: explicitly specify the "C" ABI: `extern "C"` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `extern` declarations without an explicit ABI are deprecated [INFO] [stdout] --> src/parser.rs:169:1 [INFO] [stdout] | [INFO] [stdout] 169 | extern { [INFO] [stdout] | ^^^^^^ help: explicitly specify the "C" ABI: `extern "C"` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `extern` declarations without an explicit ABI are deprecated [INFO] [stdout] --> src/parser.rs:180:1 [INFO] [stdout] | [INFO] [stdout] 180 | extern { [INFO] [stdout] | ^^^^^^ help: explicitly specify the "C" ABI: `extern "C"` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around block return value [INFO] [stdout] --> src/smb/smb.rs:707:9 [INFO] [stdout] | [INFO] [stdout] 707 | (self.rec_type == hdr.rec_type && self.ssn_id == hdr.ssn_id && [INFO] [stdout] | ^ [INFO] [stdout] 708 | self.msg_id == hdr.msg_id) [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 707 ~ self.rec_type == hdr.rec_type && self.ssn_id == hdr.ssn_id && [INFO] [stdout] 708 ~ self.msg_id == hdr.msg_id [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around block return value [INFO] [stdout] --> src/smb/detect.rs:156:13 [INFO] [stdout] | [INFO] [stdout] 156 | (them < us) [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 156 - (them < us) [INFO] [stdout] 156 + them < us [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around block return value [INFO] [stdout] --> src/smb/detect.rs:159:13 [INFO] [stdout] | [INFO] [stdout] 159 | (them > us) [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 159 - (them > us) [INFO] [stdout] 159 + them > us [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around block return value [INFO] [stdout] --> src/smb/detect.rs:162:13 [INFO] [stdout] | [INFO] [stdout] 162 | (them == us) [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 162 - (them == us) [INFO] [stdout] 162 + them == us [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around block return value [INFO] [stdout] --> src/smb/detect.rs:165:13 [INFO] [stdout] | [INFO] [stdout] 165 | (them != us) [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 165 - (them != us) [INFO] [stdout] 165 + them != us [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `file_size` is never read [INFO] [stdout] --> src/filetracker.rs:55:5 [INFO] [stdout] | [INFO] [stdout] 54 | pub struct FileTransferTracker { [INFO] [stdout] | ------------------- field in this struct [INFO] [stdout] 55 | file_size: u64, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `FileTransferTracker` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over an `Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> src/log.rs:51:19 [INFO] [stdout] | [INFO] [stdout] 51 | for os_str in path.file_name() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(for_loops_over_fallibles)]` on by default [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 51 - for os_str in path.file_name() { [INFO] [stdout] 51 + while let Some(os_str) = path.file_name() { [INFO] [stdout] | [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 51 - for os_str in path.file_name() { [INFO] [stdout] 51 + if let Some(os_str) = path.file_name() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over an `Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> src/log.rs:52:25 [INFO] [stdout] | [INFO] [stdout] 52 | for basename in os_str.to_str() { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 52 - for basename in os_str.to_str() { [INFO] [stdout] 52 + while let Some(basename) = os_str.to_str() { [INFO] [stdout] | [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 52 - for basename in os_str.to_str() { [INFO] [stdout] 52 + if let Some(basename) = os_str.to_str() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/kerberos.rs:35:37 [INFO] [stdout] | [INFO] [stdout] 35 | fn parse_kerberos5_request_do(blob: &[u8]) -> IResult<&[u8], ApReq> [INFO] [stdout] | ^^^^^ ----- ----- the same lifetime is hidden here [INFO] [stdout] | | | [INFO] [stdout] | | the same lifetime is elided here [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 35 | fn parse_kerberos5_request_do(blob: &[u8]) -> IResult<&[u8], ApReq<'_>> [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: eliding a lifetime that's named elsewhere is confusing [INFO] [stdout] --> src/dns/parser.rs:220:39 [INFO] [stdout] | [INFO] [stdout] 220 | pub fn dns_parse_response<'a>(slice: &'a [u8]) [INFO] [stdout] | ^^ the lifetime is named here [INFO] [stdout] 221 | -> nom::IResult<&[u8], DNSResponse> { [INFO] [stdout] | ----- the same lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: consistently use `'a` [INFO] [stdout] | [INFO] [stdout] 221 | -> nom::IResult<&'a [u8], DNSResponse> { [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: eliding a lifetime that's named elsewhere is confusing [INFO] [stdout] --> src/dns/parser.rs:300:38 [INFO] [stdout] | [INFO] [stdout] 300 | pub fn dns_parse_request<'a>(input: &'a [u8]) -> nom::IResult<&[u8], DNSRequest> { [INFO] [stdout] | ^^ ----- the same lifetime is elided here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is named here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: consistently use `'a` [INFO] [stdout] | [INFO] [stdout] 300 | pub fn dns_parse_request<'a>(input: &'a [u8]) -> nom::IResult<&'a [u8], DNSRequest> { [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over an `Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> src/dns/log.rs:440:26 [INFO] [stdout] | [INFO] [stdout] 440 | for sshfp in dns_log_sshfp(&answer) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 440 - for sshfp in dns_log_sshfp(&answer) { [INFO] [stdout] 440 + while let Some(sshfp) = dns_log_sshfp(&answer) { [INFO] [stdout] | [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 440 - for sshfp in dns_log_sshfp(&answer) { [INFO] [stdout] 440 + if let Some(sshfp) = dns_log_sshfp(&answer) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over a `&Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> src/dns/log.rs:498:34 [INFO] [stdout] | [INFO] [stdout] 498 | for a in &answer_types.get(&type_string) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 498 - for a in &answer_types.get(&type_string) { [INFO] [stdout] 498 + while let Some(a) = &answer_types.get(&type_string) { [INFO] [stdout] | [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 498 - for a in &answer_types.get(&type_string) { [INFO] [stdout] 498 + if let Some(a) = &answer_types.get(&type_string) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over a `&Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> src/dns/log.rs:511:34 [INFO] [stdout] | [INFO] [stdout] 511 | for a in &answer_types.get(&type_string) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 511 - for a in &answer_types.get(&type_string) { [INFO] [stdout] 511 + while let Some(a) = &answer_types.get(&type_string) { [INFO] [stdout] | [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 511 - for a in &answer_types.get(&type_string) { [INFO] [stdout] 511 + if let Some(a) = &answer_types.get(&type_string) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over a `&Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> src/dns/log.rs:521:34 [INFO] [stdout] | [INFO] [stdout] 521 | for a in &answer_types.get(&type_string) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 521 - for a in &answer_types.get(&type_string) { [INFO] [stdout] 521 + while let Some(a) = &answer_types.get(&type_string) { [INFO] [stdout] | [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 521 - for a in &answer_types.get(&type_string) { [INFO] [stdout] 521 + if let Some(a) = &answer_types.get(&type_string) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over an `Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> src/dns/log.rs:522:42 [INFO] [stdout] | [INFO] [stdout] 522 | ... for sshfp in dns_log_sshfp(&answer) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 522 - for sshfp in dns_log_sshfp(&answer) { [INFO] [stdout] 522 + while let Some(sshfp) = dns_log_sshfp(&answer) { [INFO] [stdout] | [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 522 - for sshfp in dns_log_sshfp(&answer) { [INFO] [stdout] 522 + if let Some(sshfp) = dns_log_sshfp(&answer) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over a `&Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> src/dns/log.rs:685:21 [INFO] [stdout] | [INFO] [stdout] 685 | for response in &tx.response { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 685 - for response in &tx.response { [INFO] [stdout] 685 + while let Some(response) = &tx.response { [INFO] [stdout] | [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 685 - for response in &tx.response { [INFO] [stdout] 685 + if let Some(response) = &tx.response { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/smb/smb1_records.rs:285:47 [INFO] [stdout] | [INFO] [stdout] 285 | pub fn parse_smb_trans_request_record_data(i: &[u8], [INFO] [stdout] | ^^^^^ the lifetime is elided here [INFO] [stdout] 286 | pad1: usize, param_cnt: u16, pad2: usize, data_len: u16) [INFO] [stdout] 287 | -> IResult<&[u8], SmbRecordTransRequestData> [INFO] [stdout] | ----- ------------------------- the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the same lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 287 | -> IResult<&[u8], SmbRecordTransRequestData<'_>> [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/smb/dcerpc_records.rs:27:39 [INFO] [stdout] | [INFO] [stdout] 27 | pub fn parse_dcerpc_response_record(i:&[u8], frag_len: u16 ) [INFO] [stdout] | ^^^^^ the lifetime is elided here [INFO] [stdout] 28 | -> IResult<&[u8], DceRpcResponseRecord> [INFO] [stdout] | ----- -------------------- the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the same lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 28 | -> IResult<&[u8], DceRpcResponseRecord<'_>> [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/smb/dcerpc_records.rs:50:38 [INFO] [stdout] | [INFO] [stdout] 50 | pub fn parse_dcerpc_request_record(i:&[u8], frag_len: u16, little: bool) [INFO] [stdout] | ^^^^^ the lifetime is elided here [INFO] [stdout] 51 | -> IResult<&[u8], DceRpcRequestRecord> [INFO] [stdout] | ----- ------------------- the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the same lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 51 | -> IResult<&[u8], DceRpcRequestRecord<'_>> [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `file_size` is never read [INFO] [stdout] --> src/filetracker.rs:55:5 [INFO] [stdout] | [INFO] [stdout] 54 | pub struct FileTransferTracker { [INFO] [stdout] | ------------------- field in this struct [INFO] [stdout] 55 | file_size: u64, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `FileTransferTracker` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over an `Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> src/log.rs:51:19 [INFO] [stdout] | [INFO] [stdout] 51 | for os_str in path.file_name() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(for_loops_over_fallibles)]` on by default [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 51 - for os_str in path.file_name() { [INFO] [stdout] 51 + while let Some(os_str) = path.file_name() { [INFO] [stdout] | [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 51 - for os_str in path.file_name() { [INFO] [stdout] 51 + if let Some(os_str) = path.file_name() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over an `Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> src/log.rs:52:25 [INFO] [stdout] | [INFO] [stdout] 52 | for basename in os_str.to_str() { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 52 - for basename in os_str.to_str() { [INFO] [stdout] 52 + while let Some(basename) = os_str.to_str() { [INFO] [stdout] | [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 52 - for basename in os_str.to_str() { [INFO] [stdout] 52 + if let Some(basename) = os_str.to_str() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/kerberos.rs:35:37 [INFO] [stdout] | [INFO] [stdout] 35 | fn parse_kerberos5_request_do(blob: &[u8]) -> IResult<&[u8], ApReq> [INFO] [stdout] | ^^^^^ ----- ----- the same lifetime is hidden here [INFO] [stdout] | | | [INFO] [stdout] | | the same lifetime is elided here [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 35 | fn parse_kerberos5_request_do(blob: &[u8]) -> IResult<&[u8], ApReq<'_>> [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: eliding a lifetime that's named elsewhere is confusing [INFO] [stdout] --> src/dns/parser.rs:220:39 [INFO] [stdout] | [INFO] [stdout] 220 | pub fn dns_parse_response<'a>(slice: &'a [u8]) [INFO] [stdout] | ^^ the lifetime is named here [INFO] [stdout] 221 | -> nom::IResult<&[u8], DNSResponse> { [INFO] [stdout] | ----- the same lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: consistently use `'a` [INFO] [stdout] | [INFO] [stdout] 221 | -> nom::IResult<&'a [u8], DNSResponse> { [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: eliding a lifetime that's named elsewhere is confusing [INFO] [stdout] --> src/dns/parser.rs:300:38 [INFO] [stdout] | [INFO] [stdout] 300 | pub fn dns_parse_request<'a>(input: &'a [u8]) -> nom::IResult<&[u8], DNSRequest> { [INFO] [stdout] | ^^ ----- the same lifetime is elided here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is named here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: consistently use `'a` [INFO] [stdout] | [INFO] [stdout] 300 | pub fn dns_parse_request<'a>(input: &'a [u8]) -> nom::IResult<&'a [u8], DNSRequest> { [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over an `Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> src/dns/log.rs:440:26 [INFO] [stdout] | [INFO] [stdout] 440 | for sshfp in dns_log_sshfp(&answer) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 440 - for sshfp in dns_log_sshfp(&answer) { [INFO] [stdout] 440 + while let Some(sshfp) = dns_log_sshfp(&answer) { [INFO] [stdout] | [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 440 - for sshfp in dns_log_sshfp(&answer) { [INFO] [stdout] 440 + if let Some(sshfp) = dns_log_sshfp(&answer) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over a `&Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> src/dns/log.rs:498:34 [INFO] [stdout] | [INFO] [stdout] 498 | for a in &answer_types.get(&type_string) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 498 - for a in &answer_types.get(&type_string) { [INFO] [stdout] 498 + while let Some(a) = &answer_types.get(&type_string) { [INFO] [stdout] | [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 498 - for a in &answer_types.get(&type_string) { [INFO] [stdout] 498 + if let Some(a) = &answer_types.get(&type_string) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over a `&Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> src/dns/log.rs:511:34 [INFO] [stdout] | [INFO] [stdout] 511 | for a in &answer_types.get(&type_string) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 511 - for a in &answer_types.get(&type_string) { [INFO] [stdout] 511 + while let Some(a) = &answer_types.get(&type_string) { [INFO] [stdout] | [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 511 - for a in &answer_types.get(&type_string) { [INFO] [stdout] 511 + if let Some(a) = &answer_types.get(&type_string) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over a `&Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> src/dns/log.rs:521:34 [INFO] [stdout] | [INFO] [stdout] 521 | for a in &answer_types.get(&type_string) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 521 - for a in &answer_types.get(&type_string) { [INFO] [stdout] 521 + while let Some(a) = &answer_types.get(&type_string) { [INFO] [stdout] | [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 521 - for a in &answer_types.get(&type_string) { [INFO] [stdout] 521 + if let Some(a) = &answer_types.get(&type_string) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over an `Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> src/dns/log.rs:522:42 [INFO] [stdout] | [INFO] [stdout] 522 | ... for sshfp in dns_log_sshfp(&answer) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 522 - for sshfp in dns_log_sshfp(&answer) { [INFO] [stdout] 522 + while let Some(sshfp) = dns_log_sshfp(&answer) { [INFO] [stdout] | [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 522 - for sshfp in dns_log_sshfp(&answer) { [INFO] [stdout] 522 + if let Some(sshfp) = dns_log_sshfp(&answer) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over a `&Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> src/dns/log.rs:685:21 [INFO] [stdout] | [INFO] [stdout] 685 | for response in &tx.response { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 685 - for response in &tx.response { [INFO] [stdout] 685 + while let Some(response) = &tx.response { [INFO] [stdout] | [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 685 - for response in &tx.response { [INFO] [stdout] 685 + if let Some(response) = &tx.response { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/smb/smb1_records.rs:285:47 [INFO] [stdout] | [INFO] [stdout] 285 | pub fn parse_smb_trans_request_record_data(i: &[u8], [INFO] [stdout] | ^^^^^ the lifetime is elided here [INFO] [stdout] 286 | pad1: usize, param_cnt: u16, pad2: usize, data_len: u16) [INFO] [stdout] 287 | -> IResult<&[u8], SmbRecordTransRequestData> [INFO] [stdout] | ----- ------------------------- the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the same lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 287 | -> IResult<&[u8], SmbRecordTransRequestData<'_>> [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/smb/dcerpc_records.rs:27:39 [INFO] [stdout] | [INFO] [stdout] 27 | pub fn parse_dcerpc_response_record(i:&[u8], frag_len: u16 ) [INFO] [stdout] | ^^^^^ the lifetime is elided here [INFO] [stdout] 28 | -> IResult<&[u8], DceRpcResponseRecord> [INFO] [stdout] | ----- -------------------- the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the same lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 28 | -> IResult<&[u8], DceRpcResponseRecord<'_>> [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/smb/dcerpc_records.rs:50:38 [INFO] [stdout] | [INFO] [stdout] 50 | pub fn parse_dcerpc_request_record(i:&[u8], frag_len: u16, little: bool) [INFO] [stdout] | ^^^^^ the lifetime is elided here [INFO] [stdout] 51 | -> IResult<&[u8], DceRpcRequestRecord> [INFO] [stdout] | ----- ------------------- the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the same lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 51 | -> IResult<&[u8], DceRpcRequestRecord<'_>> [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 9.13s [INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: nom v3.2.1 [INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 1` [INFO] running `Command { std: "docker" "inspect" "994cb695ef598dafabd19ae9d7b900ac72885563336b33b207380fd8307da41f", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "994cb695ef598dafabd19ae9d7b900ac72885563336b33b207380fd8307da41f", kill_on_drop: false }` [INFO] [stdout] 994cb695ef598dafabd19ae9d7b900ac72885563336b33b207380fd8307da41f