[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 try#2b39fe756f52bc2825bf5b2bfc385cab922dae10 for pr-143011 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fgemini-15%2Ffuzz" "/workspace/builds/worker-4-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc2/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-4-tc2/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/gemini-15/fuzz on toolchain 2b39fe756f52bc2825bf5b2bfc385cab922dae10 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+2b39fe756f52bc2825bf5b2bfc385cab922dae10" "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" "+2b39fe756f52bc2825bf5b2bfc385cab922dae10" "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] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/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:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+2b39fe756f52bc2825bf5b2bfc385cab922dae10" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 5b4b96a4d1a9f7b0ab8e3a1839d1a60068239a994b5a548cf105cdcd7d07e6a1 [INFO] running `Command { std: "docker" "start" "-a" "5b4b96a4d1a9f7b0ab8e3a1839d1a60068239a994b5a548cf105cdcd7d07e6a1", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "5b4b96a4d1a9f7b0ab8e3a1839d1a60068239a994b5a548cf105cdcd7d07e6a1", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "5b4b96a4d1a9f7b0ab8e3a1839d1a60068239a994b5a548cf105cdcd7d07e6a1", kill_on_drop: false }` [INFO] [stdout] 5b4b96a4d1a9f7b0ab8e3a1839d1a60068239a994b5a548cf105cdcd7d07e6a1 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/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:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+2b39fe756f52bc2825bf5b2bfc385cab922dae10" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 78408f714f4f63ff0cf4d990628f1b86d2b8e93d832174aa1906bb0c9a61f4cb [INFO] running `Command { std: "docker" "start" "-a" "78408f714f4f63ff0cf4d990628f1b86d2b8e93d832174aa1906bb0c9a61f4cb", 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] [stderr] error: could not compile `suricata` (lib); 1 warning emitted [INFO] [stderr] [INFO] [stderr] Caused by: [INFO] [stderr] No space left on device (os error 28) [INFO] [stderr] [INFO] [stderr] Caused by: [INFO] [stderr] failed to parse process output: `/opt/rustwide/rustup-home/toolchains/2b39fe756f52bc2825bf5b2bfc385cab922dae10/bin/rustc --crate-name suricata --edition=2015 src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type staticlib --emit=dep-info,metadata -C embed-bitcode=no -C debuginfo=2 --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values("debug", "lua", "lua_int8", "strict"))' -C metadata=c9da3eee47cd5788 -C extra-filename=-7dbcc3e7482f3e5a --out-dir /opt/rustwide/target/debug/deps -L dependency=/opt/rustwide/target/debug/deps --extern crc=/opt/rustwide/target/debug/deps/libcrc-8a99bff6365a37ba.rmeta --extern der_parser=/opt/rustwide/target/debug/deps/libder_parser-18050bf70e29d59f.rmeta --extern ipsec_parser=/opt/rustwide/target/debug/deps/libipsec_parser-2e674298ed3c7b97.rmeta --extern kerberos_parser=/opt/rustwide/target/debug/deps/libkerberos_parser-3c1047cfa9181c44.rmeta --extern libc=/opt/rustwide/target/debug/deps/liblibc-651775ac12221f07.rmeta --extern nom=/opt/rustwide/target/debug/deps/libnom-55b26cfdf1627be2.rmeta --extern ntp_parser=/opt/rustwide/target/debug/deps/libntp_parser-5a1c4b8061b9641e.rmeta --cap-lints=forbid` (exit status: 0) [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [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: lifetime flowing from input to output with different syntax can be 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 lifetimes get resolved as `'_` [INFO] [stdout] | | | [INFO] [stdout] | | the lifetimes get resolved as `'_` [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for 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: lifetime flowing from input to output with different syntax can be 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] | ^^ this lifetime flows to the output [INFO] [stdout] 221 | -> nom::IResult<&[u8], DNSResponse> { [INFO] [stdout] | ----- the lifetime gets resolved as `'a` [INFO] [stdout] | [INFO] [stdout] help: one option is to consistently use `'a` [INFO] [stdout] | [INFO] [stdout] 221 | -> nom::IResult<&'a [u8], DNSResponse> { [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be 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 lifetime gets resolved as `'a` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to 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: lifetime flowing from input to output with different syntax can be 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] | ^^^^^ this lifetime flows to the output [INFO] [stdout] 286 | pad1: usize, param_cnt: u16, pad2: usize, data_len: u16) [INFO] [stdout] 287 | -> IResult<&[u8], SmbRecordTransRequestData> [INFO] [stdout] | ----- ------------------------- the lifetimes get resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | the lifetimes get resolved as `'_` [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 287 | -> IResult<&[u8], SmbRecordTransRequestData<'_>> [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be 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] | ^^^^^ this lifetime flows to the output [INFO] [stdout] 28 | -> IResult<&[u8], DceRpcResponseRecord> [INFO] [stdout] | ----- -------------------- the lifetimes get resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | the lifetimes get resolved as `'_` [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 28 | -> IResult<&[u8], DceRpcResponseRecord<'_>> [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be 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] | ^^^^^ this lifetime flows to the output [INFO] [stdout] 51 | -> IResult<&[u8], DceRpcRequestRecord> [INFO] [stdout] | ----- ------------------- the lifetimes get resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | the lifetimes get resolved as `'_` [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 51 | -> IResult<&[u8], DceRpcRequestRecord<'_>> [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "78408f714f4f63ff0cf4d990628f1b86d2b8e93d832174aa1906bb0c9a61f4cb", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "78408f714f4f63ff0cf4d990628f1b86d2b8e93d832174aa1906bb0c9a61f4cb", kill_on_drop: false }` [INFO] [stdout] 78408f714f4f63ff0cf4d990628f1b86d2b8e93d832174aa1906bb0c9a61f4cb