[INFO] cloning repository https://github.com/zeozeozeo/edisasm [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/zeozeozeo/edisasm" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fzeozeozeo%2Fedisasm", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fzeozeozeo%2Fedisasm'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 6c0548b8b0c34c4c6075582e9aa4b913a43ff759 [INFO] linting zeozeozeo/edisasm against nightly for clippy-nonminimal_bool-denied [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fzeozeozeo%2Fedisasm" "/workspace/builds/worker-1-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc1/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/zeozeozeo/edisasm [INFO] finished tweaking git repo https://github.com/zeozeozeo/edisasm [INFO] tweaked toml for git repo https://github.com/zeozeozeo/edisasm written to /workspace/builds/worker-1-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/zeozeozeo/edisasm 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 git repo https://github.com/zeozeozeo/edisasm 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 msvc-demangler v0.11.0 [INFO] [stderr] Downloaded egui-scale v0.3.0 [INFO] [stderr] Downloaded rfd v0.17.2 [INFO] [stderr] Downloaded ehttp v0.6.0 [INFO] [stderr] Downloaded egui_extras v0.33.3 [INFO] [stderr] Downloaded pdb v0.8.0 [INFO] [stderr] Downloaded cpp_demangle v0.5.1 [INFO] [stderr] Downloaded ron v0.11.0 [INFO] [stderr] Downloaded object v0.38.1 [INFO] [stderr] Downloaded egui-snarl v0.9.0 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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] 71fdc6fc8a72b3f3c62be110d03e9b94652778c266a04fa90cdc48561d45f87e [INFO] running `Command { std: "docker" "start" "-a" "71fdc6fc8a72b3f3c62be110d03e9b94652778c266a04fa90cdc48561d45f87e", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "71fdc6fc8a72b3f3c62be110d03e9b94652778c266a04fa90cdc48561d45f87e", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "71fdc6fc8a72b3f3c62be110d03e9b94652778c266a04fa90cdc48561d45f87e", kill_on_drop: false }` [INFO] [stdout] 71fdc6fc8a72b3f3c62be110d03e9b94652778c266a04fa90cdc48561d45f87e [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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] 0b25181b9b3519ebbda78dbe64f4c05a954ff4f09d68faf42008fbef9b564267 [INFO] running `Command { std: "docker" "start" "-a" "0b25181b9b3519ebbda78dbe64f4c05a954ff4f09d68faf42008fbef9b564267", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro2 v1.0.106 [INFO] [stderr] Compiling quote v1.0.44 [INFO] [stderr] Compiling serde_core v1.0.228 [INFO] [stderr] Compiling rustix v1.1.3 [INFO] [stderr] Compiling find-msvc-tools v0.1.8 [INFO] [stderr] Compiling wayland-sys v0.31.8 [INFO] [stderr] Checking dlib v0.5.2 [INFO] [stderr] Compiling log v0.4.29 [INFO] [stderr] Checking event-listener v5.4.1 [INFO] [stderr] Compiling endi v1.1.1 [INFO] [stderr] Checking flate2 v1.1.8 [INFO] [stderr] Compiling zerocopy v0.8.33 [INFO] [stderr] Compiling ahash v0.8.12 [INFO] [stderr] Checking async-executor v1.13.3 [INFO] [stderr] Compiling aho-corasick v1.1.4 [INFO] [stderr] Compiling xml-rs v0.8.28 [INFO] [stderr] Checking memmap2 v0.9.9 [INFO] [stderr] Compiling zmij v1.0.16 [INFO] [stderr] Compiling cc v1.2.54 [INFO] [stderr] Compiling crossbeam-epoch v0.9.18 [INFO] [stderr] Compiling bstr v1.12.1 [INFO] [stderr] Checking epaint_default_fonts v0.33.3 [INFO] [stderr] Checking rustls-pki-types v1.14.0 [INFO] [stderr] Checking x11-dl v2.21.0 [INFO] [stderr] Checking event-listener-strategy v0.5.4 [INFO] [stderr] Checking png v0.17.16 [INFO] [stderr] Checking pxfm v0.1.27 [INFO] [stderr] Checking getrandom v0.2.17 [INFO] [stderr] Checking async-channel v2.5.0 [INFO] [stderr] Checking async-lock v3.4.2 [INFO] [stderr] Checking async-broadcast v0.7.2 [INFO] [stderr] Compiling crossbeam-deque v0.8.6 [INFO] [stderr] Compiling unicase v2.9.0 [INFO] [stderr] Checking gif v0.14.1 [INFO] [stderr] Checking image-webp v0.2.4 [INFO] [stderr] Checking blocking v1.6.2 [INFO] [stderr] Compiling phf_shared v0.11.3 [INFO] [stderr] Compiling gl_generator v0.14.0 [INFO] [stderr] Compiling syn v2.0.114 [INFO] [stderr] Checking regex-automata v0.4.13 [INFO] [stderr] Compiling rustls v0.23.36 [INFO] [stderr] Compiling smithay-client-toolkit v0.20.0 [INFO] [stderr] Compiling phf v0.11.3 [INFO] [stderr] Checking webpki-roots v1.0.5 [INFO] [stderr] Compiling arc-swap v1.8.0 [INFO] [stderr] Compiling stable_deref_trait v1.2.1 [INFO] [stderr] Compiling ryu v1.0.22 [INFO] [stderr] Checking bitflags v2.10.0 [INFO] [stderr] Checking uuid v1.19.0 [INFO] [stderr] Compiling unsafe-libyaml v0.2.11 [INFO] [stderr] Compiling glutin_egl_sys v0.7.1 [INFO] [stderr] Compiling glutin_glx_sys v0.6.1 [INFO] [stderr] Checking rustix v0.38.44 [INFO] [stderr] Checking xkbcommon-dl v0.4.2 [INFO] [stderr] Checking png v0.18.0 [INFO] [stderr] Compiling wayland-backend v0.3.12 [INFO] [stderr] Compiling ring v0.17.14 [INFO] [stderr] Compiling itertools v0.11.0 [INFO] [stderr] Compiling libmimalloc-sys v0.1.44 [INFO] [stderr] Compiling mime_guess2 v2.3.1 [INFO] [stderr] Checking webpki-roots v0.26.11 [INFO] [stderr] Compiling serde_json v1.0.149 [INFO] [stderr] Checking moxcms v0.7.11 [INFO] [stderr] Checking simplecss v0.2.2 [INFO] [stderr] Compiling base62 v2.2.3 [INFO] [stderr] Compiling normpath v1.5.0 [INFO] [stderr] Checking glutin v0.32.3 [INFO] [stderr] Compiling globset v0.4.18 [INFO] [stderr] Compiling regex v1.12.2 [INFO] [stderr] Compiling ignore v0.4.25 [INFO] [stderr] Compiling cpp_demangle v0.5.1 [INFO] [stderr] Compiling rfd v0.17.2 [INFO] [stderr] Checking twox-hash v2.1.2 [INFO] [stderr] Compiling object v0.38.1 [INFO] [stderr] Checking ruzstd v0.8.2 [INFO] [stderr] Checking fallible-iterator v0.2.0 [INFO] [stderr] Checking scroll v0.11.0 [INFO] [stderr] Checking iced-x86 v1.21.0 [INFO] [stderr] Checking msvc-demangler v0.11.0 [INFO] [stderr] Checking mimalloc v0.1.48 [INFO] [stderr] Checking globwalk v0.8.1 [INFO] [stderr] Checking pdb v0.8.0 [INFO] [stderr] Checking rustls-webpki v0.103.9 [INFO] [stderr] Compiling rust-i18n v3.1.5 [INFO] [stderr] Compiling synstructure v0.13.2 [INFO] [stderr] Compiling serde_derive v1.0.228 [INFO] [stderr] Compiling enumflags2_derive v0.7.12 [INFO] [stderr] Compiling bytemuck_derive v1.10.2 [INFO] [stderr] Compiling zerofrom-derive v0.1.6 [INFO] [stderr] Compiling yoke-derive v0.8.1 [INFO] [stderr] Compiling zerovec-derive v0.11.2 [INFO] [stderr] Compiling tracing-attributes v0.1.31 [INFO] [stderr] Compiling displaydoc v0.2.5 [INFO] [stderr] Compiling thiserror-impl v1.0.69 [INFO] [stderr] Compiling enumn v0.1.14 [INFO] [stderr] Compiling async-trait v0.1.89 [INFO] [stderr] Compiling serde_repr v0.1.20 [INFO] [stderr] Checking polling v3.11.0 [INFO] [stderr] Checking async-io v2.6.0 [INFO] [stderr] Checking gethostname v1.1.0 [INFO] [stderr] Compiling futures-macro v0.3.31 [INFO] [stderr] Checking x11rb v0.13.2 [INFO] [stderr] Compiling thiserror-impl v2.0.18 [INFO] [stderr] Compiling enum-map-derive v0.17.0 [INFO] [stderr] Checking async-signal v0.2.13 [INFO] [stderr] Checking wayland-csd-frame v0.3.0 [INFO] [stderr] Checking bytemuck v1.24.0 [INFO] [stderr] Checking tiny-skia-path v0.11.4 [INFO] [stderr] Checking async-process v2.5.0 [INFO] [stderr] Checking image v0.25.9 [INFO] [stderr] Checking rgb v0.8.52 [INFO] [stderr] Checking thiserror v1.0.69 [INFO] [stderr] Checking tracing v0.1.44 [INFO] [stderr] Checking enum-map v2.7.3 [INFO] [stderr] Checking calloop v0.13.0 [INFO] [stderr] Checking futures-util v0.3.31 [INFO] [stderr] Checking zerofrom v0.1.6 [INFO] [stderr] Checking tiny-skia v0.11.4 [INFO] [stderr] Checking usvg v0.45.1 [INFO] [stderr] Checking yoke v0.8.1 [INFO] [stderr] Checking calloop v0.14.3 [INFO] [stderr] Checking zerovec v0.11.5 [INFO] [stderr] Checking zerotrie v0.2.3 [INFO] [stderr] Checking thiserror v2.0.18 [INFO] [stderr] Checking tinystr v0.8.2 [INFO] [stderr] Checking potential_utf v0.1.4 [INFO] [stderr] Checking icu_collections v2.1.1 [INFO] [stderr] Checking icu_locale_core v2.1.1 [INFO] [stderr] Checking resvg v0.45.1 [INFO] [stderr] Checking arboard v3.6.1 [INFO] [stderr] Compiling serde v1.0.228 [INFO] [stderr] Checking icu_provider v2.1.1 [INFO] [stderr] Checking icu_properties v2.1.2 [INFO] [stderr] Checking zvariant_utils v3.3.0 [INFO] [stderr] Checking enumflags2 v0.7.12 [INFO] [stderr] Checking accesskit v0.21.1 [INFO] [stderr] Checking quick-xml v0.38.4 [INFO] [stderr] Checking emath v0.33.3 [INFO] [stderr] Checking icu_normalizer v2.1.1 [INFO] [stderr] Checking ron v0.11.0 [INFO] [stderr] Checking serde_spanned v0.6.9 [INFO] [stderr] Checking toml_datetime v0.6.11 [INFO] [stderr] Checking serde_yaml v0.9.34+deprecated [INFO] [stderr] Checking triomphe v0.1.15 [INFO] [stderr] Checking toml_edit v0.22.27 [INFO] [stderr] Compiling zvariant_derive v5.9.2 [INFO] [stderr] Checking ecolor v0.33.3 [INFO] [stderr] Checking epaint v0.33.3 [INFO] [stderr] Checking idna_adapter v1.2.1 [INFO] [stderr] Checking idna v1.1.0 [INFO] [stderr] Checking url v2.5.8 [INFO] [stderr] Checking accesskit_consumer v0.31.0 [INFO] [stderr] Compiling zvariant v5.9.2 [INFO] [stderr] Checking toml v0.8.23 [INFO] [stderr] Checking ureq v2.12.1 [INFO] [stderr] Checking webbrowser v1.0.6 [INFO] [stderr] Compiling wayland-scanner v0.31.8 [INFO] [stderr] Checking rust-i18n-support v3.1.5 [INFO] [stderr] Checking ehttp v0.6.0 [INFO] [stderr] Checking wayland-client v0.31.12 [INFO] [stderr] Checking egui v0.33.3 [INFO] [stderr] Compiling rust-i18n-macro v3.1.5 [INFO] [stderr] Checking zbus_names v4.3.1 [INFO] [stderr] Checking zbus_xml v5.1.0 [INFO] [stderr] Checking wayland-protocols v0.32.10 [INFO] [stderr] Checking wayland-cursor v0.31.12 [INFO] [stderr] Checking calloop-wayland-source v0.3.0 [INFO] [stderr] Checking calloop-wayland-source v0.4.1 [INFO] [stderr] Checking zbus-lockstep v0.5.2 [INFO] [stderr] Compiling zbus_macros v5.13.2 [INFO] [stderr] Compiling zbus-lockstep-macros v0.5.2 [INFO] [stderr] Checking zbus v5.13.2 [INFO] [stderr] Checking egui_glow v0.33.3 [INFO] [stderr] Checking egui-scale v0.3.0 [INFO] [stderr] Checking egui_extras v0.33.3 [INFO] [stderr] Checking egui-snarl v0.9.0 [INFO] [stderr] Checking wayland-protocols-wlr v0.3.10 [INFO] [stderr] Checking wayland-protocols-plasma v0.3.10 [INFO] [stderr] Checking wayland-protocols-experimental v20250721.0.1 [INFO] [stderr] Checking wayland-protocols-misc v0.3.10 [INFO] [stderr] Checking smithay-client-toolkit v0.19.2 [INFO] [stderr] Checking smithay-clipboard v0.7.3 [INFO] [stderr] Checking sctk-adwaita v0.10.1 [INFO] [stderr] Checking winit v0.30.12 [INFO] [stderr] Checking atspi-common v0.9.0 [INFO] [stderr] Checking glutin-winit v0.5.0 [INFO] [stderr] Checking atspi-proxies v0.9.0 [INFO] [stderr] Checking accesskit_atspi_common v0.14.2 [INFO] [stderr] Checking atspi-connection v0.9.0 [INFO] [stderr] Checking atspi v0.25.0 [INFO] [stderr] Checking accesskit_unix v0.17.2 [INFO] [stderr] Checking accesskit_winit v0.29.2 [INFO] [stderr] Checking egui-winit v0.33.3 [INFO] [stderr] Checking eframe v0.33.3 [INFO] [stderr] Checking edisasm v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/analysis.rs:202:21 [INFO] [stdout] | [INFO] [stdout] 202 | / if target != 0 && is_valid_address(target, base_address, bytes.len()) { [INFO] [stdout] 203 | | if instr.mnemonic() == Mnemonic::Jmp { [INFO] [stdout] 204 | | queue.push_back(target); [INFO] [stdout] 205 | | } [INFO] [stdout] 206 | | } [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] 202 ~ if target != 0 && is_valid_address(target, base_address, bytes.len()) [INFO] [stdout] 203 ~ && instr.mnemonic() == Mnemonic::Jmp { [INFO] [stdout] 204 | queue.push_back(target); [INFO] [stdout] 205 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` can be collapsed into the outer `match` [INFO] [stdout] --> src/analysis.rs:359:21 [INFO] [stdout] | [INFO] [stdout] 359 | / if instr.flow_control() == FlowControl::IndirectCall { [INFO] [stdout] 360 | | work_queue.push_back(instr.next_ip()); [INFO] [stdout] 361 | | } [INFO] [stdout] | |_____________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_match [INFO] [stdout] = note: `#[warn(clippy::collapsible_match)]` on by default [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 358 ~ FlowControl::IndirectBranch | FlowControl::IndirectCall [INFO] [stdout] 359 ~ if instr.flow_control() == FlowControl::IndirectCall => { [INFO] [stdout] 360 | work_queue.push_back(instr.next_ip()); [INFO] [stdout] 361 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/binary_loader.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | / if name.starts_with('?') || name.starts_with("@?") { [INFO] [stdout] 11 | | if let Ok(demangled) = msvc_demangler::demangle(name, msvc_demangler::DemangleFlags::llvm()) [INFO] [stdout] 12 | | { [INFO] [stdout] 13 | | return demangled; [INFO] [stdout] 14 | | } [INFO] [stdout] 15 | | } [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] 10 ~ if (name.starts_with('?') || name.starts_with("@?")) { [INFO] [stdout] 11 ~ && let Ok(demangled) = msvc_demangler::demangle(name, msvc_demangler::DemangleFlags::llvm()) [INFO] [stdout] 12 | { [INFO] [stdout] 13 | return demangled; [INFO] [stdout] 14 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/binary_loader.rs:17:5 [INFO] [stdout] | [INFO] [stdout] 17 | / if let Ok(sym) = cpp_demangle::Symbol::new(name) { [INFO] [stdout] 18 | | if let Ok(demangled) = sym.demangle() { [INFO] [stdout] 19 | | return demangled; [INFO] [stdout] 20 | | } [INFO] [stdout] 21 | | } [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] 17 ~ if let Ok(sym) = cpp_demangle::Symbol::new(name) [INFO] [stdout] 18 ~ && let Ok(demangled) = sym.demangle() { [INFO] [stdout] 19 | return demangled; [INFO] [stdout] 20 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/binary_loader.rs:95:13 [INFO] [stdout] | [INFO] [stdout] 95 | / if let Ok(name) = symbol.name() { [INFO] [stdout] 96 | | if name == "_start" || name == "__libc_start_main" { [INFO] [stdout] 97 | | entry_point = symbol.address(); [INFO] [stdout] 98 | | break; [INFO] [stdout] 99 | | } [INFO] [stdout] 100 | | } [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] 95 ~ if let Ok(name) = symbol.name() [INFO] [stdout] 96 ~ && (name == "_start" || name == "__libc_start_main") { [INFO] [stdout] 97 | entry_point = symbol.address(); [INFO] [stdout] 98 | break; [INFO] [stdout] 99 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/binary_loader.rs:105:17 [INFO] [stdout] | [INFO] [stdout] 105 | / if let Ok(name) = symbol.name() { [INFO] [stdout] 106 | | if name == "main" || name == "_start" { [INFO] [stdout] 107 | | entry_point = symbol.address(); [INFO] [stdout] 108 | | break; [INFO] [stdout] 109 | | } [INFO] [stdout] 110 | | } [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] 105 ~ if let Ok(name) = symbol.name() [INFO] [stdout] 106 ~ && (name == "main" || name == "_start") { [INFO] [stdout] 107 | entry_point = symbol.address(); [INFO] [stdout] 108 | break; [INFO] [stdout] 109 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/main.rs:81:13 [INFO] [stdout] | [INFO] [stdout] 81 | / if let Some(storage) = cc.storage { [INFO] [stdout] 82 | | if let Some(app_state) = eframe::get_value::(storage, eframe::APP_KEY) { [INFO] [stdout] 83 | | cc.egui_ctx.set_theme(app_state.theme_preference); [INFO] [stdout] 84 | | rust_i18n::set_locale(app_state.current_language.code()); [INFO] [stdout] ... | [INFO] [stdout] 87 | | } [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] 81 ~ if let Some(storage) = cc.storage [INFO] [stdout] 82 ~ && let Some(app_state) = eframe::get_value::(storage, eframe::APP_KEY) { [INFO] [stdout] 83 | cc.egui_ctx.set_theme(app_state.theme_preference); [INFO] [stdout] 84 | rust_i18n::set_locale(app_state.current_language.code()); [INFO] [stdout] 85 | return Ok(Box::new(app_state)); [INFO] [stdout] 86 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> src/main.rs:168:26 [INFO] [stdout] | [INFO] [stdout] 168 | pending_file_dialog: Option)>>>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] = note: `#[warn(clippy::type_complexity)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/main.rs:516:44 [INFO] [stdout] | [INFO] [stdout] 516 | ... } else if let Some(ep) = entry_point { [INFO] [stdout] | ______________________________^ [INFO] [stdout] 517 | | ... if func.start_address == ep { [INFO] [stdout] 518 | | ... func.name = "_start".to_string(); [INFO] [stdout] 519 | | ... } [INFO] [stdout] 520 | | ... } [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] 516 ~ } else if let Some(ep) = entry_point [INFO] [stdout] 517 ~ && func.start_address == ep { [INFO] [stdout] 518 | func.name = "_start".to_string(); [INFO] [stdout] 519 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/main.rs:1171:90 [INFO] [stdout] | [INFO] [stdout] 1171 | ... get_string_comment_for_instruction_static(instr, &strings); [INFO] [stdout] | ^^^^^^^^ help: change this to: `strings` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] = note: `#[warn(clippy::needless_borrow)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/analysis.rs:202:21 [INFO] [stdout] | [INFO] [stdout] 202 | / if target != 0 && is_valid_address(target, base_address, bytes.len()) { [INFO] [stdout] 203 | | if instr.mnemonic() == Mnemonic::Jmp { [INFO] [stdout] 204 | | queue.push_back(target); [INFO] [stdout] 205 | | } [INFO] [stdout] 206 | | } [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] 202 ~ if target != 0 && is_valid_address(target, base_address, bytes.len()) [INFO] [stdout] 203 ~ && instr.mnemonic() == Mnemonic::Jmp { [INFO] [stdout] 204 | queue.push_back(target); [INFO] [stdout] 205 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/main.rs:1254:49 [INFO] [stdout] | [INFO] [stdout] 1254 | / ... if let Some(analysis) = &self.analysis { [INFO] [stdout] 1255 | | ... if let Some(target_func_idx) = [INFO] [stdout] 1256 | | ... analysis.functions.iter().position(|f| { [INFO] [stdout] 1257 | | ... target >= f.start_address [INFO] [stdout] ... | [INFO] [stdout] 1264 | | ... } [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] 1254 ~ if let Some(analysis) = &self.analysis [INFO] [stdout] 1255 ~ && let Some(target_func_idx) = [INFO] [stdout] 1256 | analysis.functions.iter().position(|f| { [INFO] [stdout] ... [INFO] [stdout] 1262 | jump_to_address = Some(target); [INFO] [stdout] 1263 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` can be collapsed into the outer `match` [INFO] [stdout] --> src/analysis.rs:359:21 [INFO] [stdout] | [INFO] [stdout] 359 | / if instr.flow_control() == FlowControl::IndirectCall { [INFO] [stdout] 360 | | work_queue.push_back(instr.next_ip()); [INFO] [stdout] 361 | | } [INFO] [stdout] | |_____________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_match [INFO] [stdout] = note: `#[warn(clippy::collapsible_match)]` on by default [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 358 ~ FlowControl::IndirectBranch | FlowControl::IndirectCall [INFO] [stdout] 359 ~ if instr.flow_control() == FlowControl::IndirectCall => { [INFO] [stdout] 360 | work_queue.push_back(instr.next_ip()); [INFO] [stdout] 361 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/binary_loader.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | / if name.starts_with('?') || name.starts_with("@?") { [INFO] [stdout] 11 | | if let Ok(demangled) = msvc_demangler::demangle(name, msvc_demangler::DemangleFlags::llvm()) [INFO] [stdout] 12 | | { [INFO] [stdout] 13 | | return demangled; [INFO] [stdout] 14 | | } [INFO] [stdout] 15 | | } [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] 10 ~ if (name.starts_with('?') || name.starts_with("@?")) { [INFO] [stdout] 11 ~ && let Ok(demangled) = msvc_demangler::demangle(name, msvc_demangler::DemangleFlags::llvm()) [INFO] [stdout] 12 | { [INFO] [stdout] 13 | return demangled; [INFO] [stdout] 14 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/binary_loader.rs:17:5 [INFO] [stdout] | [INFO] [stdout] 17 | / if let Ok(sym) = cpp_demangle::Symbol::new(name) { [INFO] [stdout] 18 | | if let Ok(demangled) = sym.demangle() { [INFO] [stdout] 19 | | return demangled; [INFO] [stdout] 20 | | } [INFO] [stdout] 21 | | } [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] 17 ~ if let Ok(sym) = cpp_demangle::Symbol::new(name) [INFO] [stdout] 18 ~ && let Ok(demangled) = sym.demangle() { [INFO] [stdout] 19 | return demangled; [INFO] [stdout] 20 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/binary_loader.rs:95:13 [INFO] [stdout] | [INFO] [stdout] 95 | / if let Ok(name) = symbol.name() { [INFO] [stdout] 96 | | if name == "_start" || name == "__libc_start_main" { [INFO] [stdout] 97 | | entry_point = symbol.address(); [INFO] [stdout] 98 | | break; [INFO] [stdout] 99 | | } [INFO] [stdout] 100 | | } [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] 95 ~ if let Ok(name) = symbol.name() [INFO] [stdout] 96 ~ && (name == "_start" || name == "__libc_start_main") { [INFO] [stdout] 97 | entry_point = symbol.address(); [INFO] [stdout] 98 | break; [INFO] [stdout] 99 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/binary_loader.rs:105:17 [INFO] [stdout] | [INFO] [stdout] 105 | / if let Ok(name) = symbol.name() { [INFO] [stdout] 106 | | if name == "main" || name == "_start" { [INFO] [stdout] 107 | | entry_point = symbol.address(); [INFO] [stdout] 108 | | break; [INFO] [stdout] 109 | | } [INFO] [stdout] 110 | | } [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] 105 ~ if let Ok(name) = symbol.name() [INFO] [stdout] 106 ~ && (name == "main" || name == "_start") { [INFO] [stdout] 107 | entry_point = symbol.address(); [INFO] [stdout] 108 | break; [INFO] [stdout] 109 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/main.rs:1556:13 [INFO] [stdout] | [INFO] [stdout] 1556 | / if target != 0 { [INFO] [stdout] 1557 | | if let Some(&target_idx) = addr_to_idx.get(&target) { [INFO] [stdout] 1558 | | branches.push((idx, target_idx)); [INFO] [stdout] 1559 | | } [INFO] [stdout] 1560 | | } [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] 1556 ~ if target != 0 [INFO] [stdout] 1557 ~ && let Some(&target_idx) = addr_to_idx.get(&target) { [INFO] [stdout] 1558 | branches.push((idx, target_idx)); [INFO] [stdout] 1559 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/main.rs:1582:17 [INFO] [stdout] | [INFO] [stdout] 1582 | / if let Some(&other_lane) = lane_assignments.get(&(other_from, other_to)) { [INFO] [stdout] 1583 | | if other_lane == lane { [INFO] [stdout] 1584 | | let (other_start, other_end) = if other_from < other_to { [INFO] [stdout] 1585 | | (other_from, other_to) [INFO] [stdout] ... | [INFO] [stdout] 1595 | | } [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] 1582 ~ if let Some(&other_lane) = lane_assignments.get(&(other_from, other_to)) [INFO] [stdout] 1583 ~ && other_lane == lane { [INFO] [stdout] 1584 | let (other_start, other_end) = if other_from < other_to { [INFO] [stdout] ... [INFO] [stdout] 1593 | } [INFO] [stdout] 1594 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `idx` is used to index `flows` [INFO] [stdout] --> src/main.rs:1615:20 [INFO] [stdout] | [INFO] [stdout] 1615 | for idx in start..=end { [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] 1615 - for idx in start..=end { [INFO] [stdout] 1615 + for (idx, ) in flows.iter_mut().enumerate().take(end + 1).skip(start) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/main.rs:81:13 [INFO] [stdout] | [INFO] [stdout] 81 | / if let Some(storage) = cc.storage { [INFO] [stdout] 82 | | if let Some(app_state) = eframe::get_value::(storage, eframe::APP_KEY) { [INFO] [stdout] 83 | | cc.egui_ctx.set_theme(app_state.theme_preference); [INFO] [stdout] 84 | | rust_i18n::set_locale(app_state.current_language.code()); [INFO] [stdout] ... | [INFO] [stdout] 87 | | } [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] 81 ~ if let Some(storage) = cc.storage [INFO] [stdout] 82 ~ && let Some(app_state) = eframe::get_value::(storage, eframe::APP_KEY) { [INFO] [stdout] 83 | cc.egui_ctx.set_theme(app_state.theme_preference); [INFO] [stdout] 84 | rust_i18n::set_locale(app_state.current_language.code()); [INFO] [stdout] 85 | return Ok(Box::new(app_state)); [INFO] [stdout] 86 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> src/main.rs:168:26 [INFO] [stdout] | [INFO] [stdout] 168 | pending_file_dialog: Option)>>>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] = note: `#[warn(clippy::type_complexity)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/main.rs:516:44 [INFO] [stdout] | [INFO] [stdout] 516 | ... } else if let Some(ep) = entry_point { [INFO] [stdout] | ______________________________^ [INFO] [stdout] 517 | | ... if func.start_address == ep { [INFO] [stdout] 518 | | ... func.name = "_start".to_string(); [INFO] [stdout] 519 | | ... } [INFO] [stdout] 520 | | ... } [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] 516 ~ } else if let Some(ep) = entry_point [INFO] [stdout] 517 ~ && func.start_address == ep { [INFO] [stdout] 518 | func.name = "_start".to_string(); [INFO] [stdout] 519 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/main.rs:1171:90 [INFO] [stdout] | [INFO] [stdout] 1171 | ... get_string_comment_for_instruction_static(instr, &strings); [INFO] [stdout] | ^^^^^^^^ help: change this to: `strings` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] = note: `#[warn(clippy::needless_borrow)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/main.rs:1254:49 [INFO] [stdout] | [INFO] [stdout] 1254 | / ... if let Some(analysis) = &self.analysis { [INFO] [stdout] 1255 | | ... if let Some(target_func_idx) = [INFO] [stdout] 1256 | | ... analysis.functions.iter().position(|f| { [INFO] [stdout] 1257 | | ... target >= f.start_address [INFO] [stdout] ... | [INFO] [stdout] 1264 | | ... } [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] 1254 ~ if let Some(analysis) = &self.analysis [INFO] [stdout] 1255 ~ && let Some(target_func_idx) = [INFO] [stdout] 1256 | analysis.functions.iter().position(|f| { [INFO] [stdout] ... [INFO] [stdout] 1262 | jump_to_address = Some(target); [INFO] [stdout] 1263 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/main.rs:1556:13 [INFO] [stdout] | [INFO] [stdout] 1556 | / if target != 0 { [INFO] [stdout] 1557 | | if let Some(&target_idx) = addr_to_idx.get(&target) { [INFO] [stdout] 1558 | | branches.push((idx, target_idx)); [INFO] [stdout] 1559 | | } [INFO] [stdout] 1560 | | } [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] 1556 ~ if target != 0 [INFO] [stdout] 1557 ~ && let Some(&target_idx) = addr_to_idx.get(&target) { [INFO] [stdout] 1558 | branches.push((idx, target_idx)); [INFO] [stdout] 1559 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/main.rs:1582:17 [INFO] [stdout] | [INFO] [stdout] 1582 | / if let Some(&other_lane) = lane_assignments.get(&(other_from, other_to)) { [INFO] [stdout] 1583 | | if other_lane == lane { [INFO] [stdout] 1584 | | let (other_start, other_end) = if other_from < other_to { [INFO] [stdout] 1585 | | (other_from, other_to) [INFO] [stdout] ... | [INFO] [stdout] 1595 | | } [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] 1582 ~ if let Some(&other_lane) = lane_assignments.get(&(other_from, other_to)) [INFO] [stdout] 1583 ~ && other_lane == lane { [INFO] [stdout] 1584 | let (other_start, other_end) = if other_from < other_to { [INFO] [stdout] ... [INFO] [stdout] 1593 | } [INFO] [stdout] 1594 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `idx` is used to index `flows` [INFO] [stdout] --> src/main.rs:1615:20 [INFO] [stdout] | [INFO] [stdout] 1615 | for idx in start..=end { [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] 1615 - for idx in start..=end { [INFO] [stdout] 1615 + for (idx, ) in flows.iter_mut().enumerate().take(end + 1).skip(start) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 51s [INFO] running `Command { std: "docker" "inspect" "0b25181b9b3519ebbda78dbe64f4c05a954ff4f09d68faf42008fbef9b564267", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "0b25181b9b3519ebbda78dbe64f4c05a954ff4f09d68faf42008fbef9b564267", kill_on_drop: false }` [INFO] [stdout] 0b25181b9b3519ebbda78dbe64f4c05a954ff4f09d68faf42008fbef9b564267