[INFO] cloning repository https://github.com/tmccombs/dopen [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/tmccombs/dopen" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftmccombs%2Fdopen", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftmccombs%2Fdopen'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] ea9b55830ff69db081de276bc5864436b9a9f6c7 [INFO] testing tmccombs/dopen against try#8de4c7234dd9b97c9d76b58671343fdbbc9a433e+target=x86_64-unknown-linux-musl for musl_upgrade_1_2_5_with_libc_patch_0 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftmccombs%2Fdopen" "/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/tmccombs/dopen [INFO] finished tweaking git repo https://github.com/tmccombs/dopen [INFO] tweaked toml for git repo https://github.com/tmccombs/dopen written to /workspace/builds/worker-1-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/tmccombs/dopen on toolchain 8de4c7234dd9b97c9d76b58671343fdbbc9a433e [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+8de4c7234dd9b97c9d76b58671343fdbbc9a433e" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/tmccombs/dopen 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" "+8de4c7234dd9b97c9d76b58671343fdbbc9a433e" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded nom-regex v0.2.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:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+8de4c7234dd9b97c9d76b58671343fdbbc9a433e" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] a796b206559d7661a341a4ba983f20c8e891d2332fb9bc4c14d983d0d6600067 [INFO] running `Command { std: "docker" "start" "-a" "a796b206559d7661a341a4ba983f20c8e891d2332fb9bc4c14d983d0d6600067", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "a796b206559d7661a341a4ba983f20c8e891d2332fb9bc4c14d983d0d6600067", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "a796b206559d7661a341a4ba983f20c8e891d2332fb9bc4c14d983d0d6600067", kill_on_drop: false }` [INFO] [stdout] a796b206559d7661a341a4ba983f20c8e891d2332fb9bc4c14d983d0d6600067 [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:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+8de4c7234dd9b97c9d76b58671343fdbbc9a433e" "build" "--frozen" "--message-format=json" "--target" "x86_64-unknown-linux-musl", kill_on_drop: false }` [INFO] [stdout] f8c3e388022e4bb79c3d8d484dfeb367b67890b6fb34c16c192a2bbb0da46197 [INFO] running `Command { std: "docker" "start" "-a" "f8c3e388022e4bb79c3d8d484dfeb367b67890b6fb34c16c192a2bbb0da46197", kill_on_drop: false }` [INFO] [stderr] Compiling aho-corasick v0.7.18 [INFO] [stderr] Compiling regex-syntax v0.6.26 [INFO] [stderr] Compiling once_cell v1.12.0 [INFO] [stderr] Compiling nom v7.1.1 [INFO] [stderr] Compiling regex v1.5.6 [INFO] [stderr] Compiling nom-regex v0.2.0 [INFO] [stderr] Compiling dopen v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: field `entry` is never read [INFO] [stdout] --> src/desktop/execute.rs:145:5 [INFO] [stdout] | [INFO] [stdout] 144 | pub struct CommandExecutor<'a> { [INFO] [stdout] | --------------- field in this struct [INFO] [stdout] 145 | entry: &'a DesktopEntry, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/desktop/entries.rs:211:31 [INFO] [stdout] | [INFO] [stdout] 211 | pub fn split_value_str(s: &str) -> Values { [INFO] [stdout] | ^^^^ ------ the lifetime gets resolved as `'_` [INFO] [stdout] | | [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] 211 | pub fn split_value_str(s: &str) -> Values<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused return value of `exec` that must be used [INFO] [stdout] --> src/desktop/execute.rs:171:9 [INFO] [stdout] | [INFO] [stdout] 171 | self.command.exec(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 171 | let _ = self.command.exec(); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/desktop/model.rs:63:19 [INFO] [stdout] | [INFO] [stdout] 63 | pub fn groups(&self) -> slice::Iter { [INFO] [stdout] | ^^^^^ ------------------ the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [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] 63 | pub fn groups(&self) -> slice::Iter<'_, Group> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/desktop/parser.rs:48:25 [INFO] [stdout] | [INFO] [stdout] 48 | fn desktop_entry(input: &[u8]) -> IResult { [INFO] [stdout] | ^^^^^ --------------------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [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] 48 | fn desktop_entry(input: &[u8]) -> IResult<'_, DesktopEntry> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/desktop/parser.rs:52:13 [INFO] [stdout] | [INFO] [stdout] 52 | fn group(i: &[u8]) -> IResult { [INFO] [stdout] | ^^^^^ -------------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [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] 52 | fn group(i: &[u8]) -> IResult<'_, Group> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/desktop/parser.rs:61:15 [INFO] [stdout] | [INFO] [stdout] 61 | fn comment(i: &[u8]) -> IResult<&[u8]> { [INFO] [stdout] | ^^^^^ -------------- [INFO] [stdout] | | | | [INFO] [stdout] | | | the lifetimes get resolved as `'_` [INFO] [stdout] | | the lifetimes get resolved as `'_` [INFO] [stdout] | this lifetime flows to the output [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] 61 | fn comment(i: &[u8]) -> IResult<'_, &[u8]> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/desktop/parser.rs:65:14 [INFO] [stdout] | [INFO] [stdout] 65 | fn blanks(i: &[u8]) -> IResult<()> { [INFO] [stdout] | ^^^^^ ----------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [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] 65 | fn blanks(i: &[u8]) -> IResult<'_, ()> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/desktop/parser.rs:70:22 [INFO] [stdout] | [INFO] [stdout] 70 | fn key_value_list(i: &[u8]) -> IResult> { [INFO] [stdout] | ^^^^^ -------------------------------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [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] 70 | fn key_value_list(i: &[u8]) -> IResult<'_, HashMap> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/desktop/parser.rs:81:13 [INFO] [stdout] | [INFO] [stdout] 81 | fn entry(i: &[u8]) -> IResult<(String, String)> { [INFO] [stdout] | ^^^^^ ------------------------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [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] 81 | fn entry(i: &[u8]) -> IResult<'_, (String, String)> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/desktop/parser.rs:93:17 [INFO] [stdout] | [INFO] [stdout] 93 | fn entry_key(i: &[u8]) -> IResult { [INFO] [stdout] | ^^^^^ --------------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [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] 93 | fn entry_key(i: &[u8]) -> IResult<'_, String> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/desktop/parser.rs:109:19 [INFO] [stdout] | [INFO] [stdout] 109 | fn entry_value(i: &[u8]) -> IResult { [INFO] [stdout] | ^^^^^ --------------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [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] 109 | fn entry_value(i: &[u8]) -> IResult<'_, String> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 4.21s [INFO] running `Command { std: "docker" "inspect" "f8c3e388022e4bb79c3d8d484dfeb367b67890b6fb34c16c192a2bbb0da46197", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "f8c3e388022e4bb79c3d8d484dfeb367b67890b6fb34c16c192a2bbb0da46197", kill_on_drop: false }` [INFO] [stdout] f8c3e388022e4bb79c3d8d484dfeb367b67890b6fb34c16c192a2bbb0da46197 [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:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+8de4c7234dd9b97c9d76b58671343fdbbc9a433e" "test" "--frozen" "--no-run" "--message-format=json" "--target" "x86_64-unknown-linux-musl", kill_on_drop: false }` [INFO] [stdout] d6c556ab8b7833d04afcc3dcf7818f9893857d98fda28142aae6f577f3f8b9d9 [INFO] running `Command { std: "docker" "start" "-a" "d6c556ab8b7833d04afcc3dcf7818f9893857d98fda28142aae6f577f3f8b9d9", kill_on_drop: false }` [INFO] [stderr] Compiling dopen v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: field `entry` is never read [INFO] [stdout] --> src/desktop/execute.rs:145:5 [INFO] [stdout] | [INFO] [stdout] 144 | pub struct CommandExecutor<'a> { [INFO] [stdout] | --------------- field in this struct [INFO] [stdout] 145 | entry: &'a DesktopEntry, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/desktop/entries.rs:211:31 [INFO] [stdout] | [INFO] [stdout] 211 | pub fn split_value_str(s: &str) -> Values { [INFO] [stdout] | ^^^^ ------ the lifetime gets resolved as `'_` [INFO] [stdout] | | [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] 211 | pub fn split_value_str(s: &str) -> Values<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused return value of `exec` that must be used [INFO] [stdout] --> src/desktop/execute.rs:171:9 [INFO] [stdout] | [INFO] [stdout] 171 | self.command.exec(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 171 | let _ = self.command.exec(); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/desktop/model.rs:63:19 [INFO] [stdout] | [INFO] [stdout] 63 | pub fn groups(&self) -> slice::Iter { [INFO] [stdout] | ^^^^^ ------------------ the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [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] 63 | pub fn groups(&self) -> slice::Iter<'_, Group> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/desktop/parser.rs:48:25 [INFO] [stdout] | [INFO] [stdout] 48 | fn desktop_entry(input: &[u8]) -> IResult { [INFO] [stdout] | ^^^^^ --------------------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [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] 48 | fn desktop_entry(input: &[u8]) -> IResult<'_, DesktopEntry> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/desktop/parser.rs:52:13 [INFO] [stdout] | [INFO] [stdout] 52 | fn group(i: &[u8]) -> IResult { [INFO] [stdout] | ^^^^^ -------------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [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] 52 | fn group(i: &[u8]) -> IResult<'_, Group> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/desktop/parser.rs:61:15 [INFO] [stdout] | [INFO] [stdout] 61 | fn comment(i: &[u8]) -> IResult<&[u8]> { [INFO] [stdout] | ^^^^^ -------------- [INFO] [stdout] | | | | [INFO] [stdout] | | | the lifetimes get resolved as `'_` [INFO] [stdout] | | the lifetimes get resolved as `'_` [INFO] [stdout] | this lifetime flows to the output [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] 61 | fn comment(i: &[u8]) -> IResult<'_, &[u8]> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/desktop/parser.rs:65:14 [INFO] [stdout] | [INFO] [stdout] 65 | fn blanks(i: &[u8]) -> IResult<()> { [INFO] [stdout] | ^^^^^ ----------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [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] 65 | fn blanks(i: &[u8]) -> IResult<'_, ()> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/desktop/parser.rs:70:22 [INFO] [stdout] | [INFO] [stdout] 70 | fn key_value_list(i: &[u8]) -> IResult> { [INFO] [stdout] | ^^^^^ -------------------------------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [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] 70 | fn key_value_list(i: &[u8]) -> IResult<'_, HashMap> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/desktop/parser.rs:81:13 [INFO] [stdout] | [INFO] [stdout] 81 | fn entry(i: &[u8]) -> IResult<(String, String)> { [INFO] [stdout] | ^^^^^ ------------------------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [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] 81 | fn entry(i: &[u8]) -> IResult<'_, (String, String)> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/desktop/parser.rs:93:17 [INFO] [stdout] | [INFO] [stdout] 93 | fn entry_key(i: &[u8]) -> IResult { [INFO] [stdout] | ^^^^^ --------------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [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] 93 | fn entry_key(i: &[u8]) -> IResult<'_, String> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/desktop/parser.rs:109:19 [INFO] [stdout] | [INFO] [stdout] 109 | fn entry_value(i: &[u8]) -> IResult { [INFO] [stdout] | ^^^^^ --------------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [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] 109 | fn entry_value(i: &[u8]) -> IResult<'_, String> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `entry` is never read [INFO] [stdout] --> src/desktop/execute.rs:145:5 [INFO] [stdout] | [INFO] [stdout] 144 | pub struct CommandExecutor<'a> { [INFO] [stdout] | --------------- field in this struct [INFO] [stdout] 145 | entry: &'a DesktopEntry, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/desktop/entries.rs:211:31 [INFO] [stdout] | [INFO] [stdout] 211 | pub fn split_value_str(s: &str) -> Values { [INFO] [stdout] | ^^^^ ------ the lifetime gets resolved as `'_` [INFO] [stdout] | | [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] 211 | pub fn split_value_str(s: &str) -> Values<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused return value of `exec` that must be used [INFO] [stdout] --> src/desktop/execute.rs:171:9 [INFO] [stdout] | [INFO] [stdout] 171 | self.command.exec(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 171 | let _ = self.command.exec(); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/desktop/model.rs:63:19 [INFO] [stdout] | [INFO] [stdout] 63 | pub fn groups(&self) -> slice::Iter { [INFO] [stdout] | ^^^^^ ------------------ the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [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] 63 | pub fn groups(&self) -> slice::Iter<'_, Group> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/desktop/parser.rs:48:25 [INFO] [stdout] | [INFO] [stdout] 48 | fn desktop_entry(input: &[u8]) -> IResult { [INFO] [stdout] | ^^^^^ --------------------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [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] 48 | fn desktop_entry(input: &[u8]) -> IResult<'_, DesktopEntry> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/desktop/parser.rs:52:13 [INFO] [stdout] | [INFO] [stdout] 52 | fn group(i: &[u8]) -> IResult { [INFO] [stdout] | ^^^^^ -------------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [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] 52 | fn group(i: &[u8]) -> IResult<'_, Group> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/desktop/parser.rs:61:15 [INFO] [stdout] | [INFO] [stdout] 61 | fn comment(i: &[u8]) -> IResult<&[u8]> { [INFO] [stdout] | ^^^^^ -------------- [INFO] [stdout] | | | | [INFO] [stdout] | | | the lifetimes get resolved as `'_` [INFO] [stdout] | | the lifetimes get resolved as `'_` [INFO] [stdout] | this lifetime flows to the output [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] 61 | fn comment(i: &[u8]) -> IResult<'_, &[u8]> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/desktop/parser.rs:65:14 [INFO] [stdout] | [INFO] [stdout] 65 | fn blanks(i: &[u8]) -> IResult<()> { [INFO] [stdout] | ^^^^^ ----------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [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] 65 | fn blanks(i: &[u8]) -> IResult<'_, ()> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/desktop/parser.rs:70:22 [INFO] [stdout] | [INFO] [stdout] 70 | fn key_value_list(i: &[u8]) -> IResult> { [INFO] [stdout] | ^^^^^ -------------------------------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [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] 70 | fn key_value_list(i: &[u8]) -> IResult<'_, HashMap> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/desktop/parser.rs:81:13 [INFO] [stdout] | [INFO] [stdout] 81 | fn entry(i: &[u8]) -> IResult<(String, String)> { [INFO] [stdout] | ^^^^^ ------------------------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [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] 81 | fn entry(i: &[u8]) -> IResult<'_, (String, String)> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/desktop/parser.rs:93:17 [INFO] [stdout] | [INFO] [stdout] 93 | fn entry_key(i: &[u8]) -> IResult { [INFO] [stdout] | ^^^^^ --------------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [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] 93 | fn entry_key(i: &[u8]) -> IResult<'_, String> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/desktop/parser.rs:109:19 [INFO] [stdout] | [INFO] [stdout] 109 | fn entry_value(i: &[u8]) -> IResult { [INFO] [stdout] | ^^^^^ --------------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [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] 109 | fn entry_value(i: &[u8]) -> IResult<'_, String> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 1.22s [INFO] running `Command { std: "docker" "inspect" "d6c556ab8b7833d04afcc3dcf7818f9893857d98fda28142aae6f577f3f8b9d9", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "d6c556ab8b7833d04afcc3dcf7818f9893857d98fda28142aae6f577f3f8b9d9", kill_on_drop: false }` [INFO] [stdout] d6c556ab8b7833d04afcc3dcf7818f9893857d98fda28142aae6f577f3f8b9d9 [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:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+8de4c7234dd9b97c9d76b58671343fdbbc9a433e" "test" "--frozen" "--target" "x86_64-unknown-linux-musl", kill_on_drop: false }` [INFO] [stdout] c45f0fc5a818bee5a91d5b9d534f994a913f75561692eeb8905f9205d9a6845b [INFO] running `Command { std: "docker" "start" "-a" "c45f0fc5a818bee5a91d5b9d534f994a913f75561692eeb8905f9205d9a6845b", kill_on_drop: false }` [INFO] [stderr] warning: field `entry` is never read [INFO] [stderr] --> src/desktop/execute.rs:145:5 [INFO] [stderr] | [INFO] [stderr] 144 | pub struct CommandExecutor<'a> { [INFO] [stderr] | --------------- field in this struct [INFO] [stderr] 145 | entry: &'a DesktopEntry, [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stderr] --> src/desktop/entries.rs:211:31 [INFO] [stderr] | [INFO] [stderr] 211 | pub fn split_value_str(s: &str) -> Values { [INFO] [stderr] | ^^^^ ------ the lifetime gets resolved as `'_` [INFO] [stderr] | | [INFO] [stderr] | this lifetime flows to the output [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stderr] | [INFO] [stderr] 211 | pub fn split_value_str(s: &str) -> Values<'_> { [INFO] [stderr] | ++++ [INFO] [stderr] [INFO] [stderr] warning: unused return value of `exec` that must be used [INFO] [stderr] --> src/desktop/execute.rs:171:9 [INFO] [stderr] | [INFO] [stderr] 171 | self.command.exec(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_must_use)]` on by default [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 171 | let _ = self.command.exec(); [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stderr] --> src/desktop/model.rs:63:19 [INFO] [stderr] | [INFO] [stderr] 63 | pub fn groups(&self) -> slice::Iter { [INFO] [stderr] | ^^^^^ ------------------ the lifetime gets resolved as `'_` [INFO] [stderr] | | [INFO] [stderr] | this lifetime flows to the output [INFO] [stderr] | [INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stderr] | [INFO] [stderr] 63 | pub fn groups(&self) -> slice::Iter<'_, Group> { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stderr] --> src/desktop/parser.rs:48:25 [INFO] [stderr] | [INFO] [stderr] 48 | fn desktop_entry(input: &[u8]) -> IResult { [INFO] [stderr] | ^^^^^ --------------------- the lifetime gets resolved as `'_` [INFO] [stderr] | | [INFO] [stderr] | this lifetime flows to the output [INFO] [stderr] | [INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stderr] | [INFO] [stderr] 48 | fn desktop_entry(input: &[u8]) -> IResult<'_, DesktopEntry> { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stderr] --> src/desktop/parser.rs:52:13 [INFO] [stderr] | [INFO] [stderr] 52 | fn group(i: &[u8]) -> IResult { [INFO] [stderr] | ^^^^^ -------------- the lifetime gets resolved as `'_` [INFO] [stderr] | | [INFO] [stderr] | this lifetime flows to the output [INFO] [stderr] | [INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stderr] | [INFO] [stderr] 52 | fn group(i: &[u8]) -> IResult<'_, Group> { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stderr] --> src/desktop/parser.rs:61:15 [INFO] [stderr] | [INFO] [stderr] 61 | fn comment(i: &[u8]) -> IResult<&[u8]> { [INFO] [stderr] | ^^^^^ -------------- [INFO] [stderr] | | | | [INFO] [stderr] | | | the lifetimes get resolved as `'_` [INFO] [stderr] | | the lifetimes get resolved as `'_` [INFO] [stderr] | this lifetime flows to the output [INFO] [stderr] | [INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stderr] | [INFO] [stderr] 61 | fn comment(i: &[u8]) -> IResult<'_, &[u8]> { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stderr] --> src/desktop/parser.rs:65:14 [INFO] [stderr] | [INFO] [stderr] 65 | fn blanks(i: &[u8]) -> IResult<()> { [INFO] [stderr] | ^^^^^ ----------- the lifetime gets resolved as `'_` [INFO] [stderr] | | [INFO] [stderr] | this lifetime flows to the output [INFO] [stderr] | [INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stderr] | [INFO] [stderr] 65 | fn blanks(i: &[u8]) -> IResult<'_, ()> { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stderr] --> src/desktop/parser.rs:70:22 [INFO] [stderr] | [INFO] [stderr] 70 | fn key_value_list(i: &[u8]) -> IResult> { [INFO] [stderr] | ^^^^^ -------------------------------- the lifetime gets resolved as `'_` [INFO] [stderr] | | [INFO] [stderr] | this lifetime flows to the output [INFO] [stderr] | [INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stderr] | [INFO] [stderr] 70 | fn key_value_list(i: &[u8]) -> IResult<'_, HashMap> { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stderr] --> src/desktop/parser.rs:81:13 [INFO] [stderr] | [INFO] [stderr] 81 | fn entry(i: &[u8]) -> IResult<(String, String)> { [INFO] [stderr] | ^^^^^ ------------------------- the lifetime gets resolved as `'_` [INFO] [stderr] | | [INFO] [stderr] | this lifetime flows to the output [INFO] [stderr] | [INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stderr] | [INFO] [stderr] 81 | fn entry(i: &[u8]) -> IResult<'_, (String, String)> { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stderr] --> src/desktop/parser.rs:93:17 [INFO] [stderr] | [INFO] [stderr] 93 | fn entry_key(i: &[u8]) -> IResult { [INFO] [stderr] | ^^^^^ --------------- the lifetime gets resolved as `'_` [INFO] [stderr] | | [INFO] [stderr] | this lifetime flows to the output [INFO] [stderr] | [INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stderr] | [INFO] [stderr] 93 | fn entry_key(i: &[u8]) -> IResult<'_, String> { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stderr] --> src/desktop/parser.rs:109:19 [INFO] [stderr] | [INFO] [stderr] 109 | fn entry_value(i: &[u8]) -> IResult { [INFO] [stderr] | ^^^^^ --------------- the lifetime gets resolved as `'_` [INFO] [stderr] | | [INFO] [stderr] | this lifetime flows to the output [INFO] [stderr] | [INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stderr] | [INFO] [stderr] 109 | fn entry_value(i: &[u8]) -> IResult<'_, String> { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: `dopen` (lib) generated 12 warnings (run `cargo fix --lib -p dopen` to apply 10 suggestions) [INFO] [stderr] warning: `dopen` (lib test) generated 12 warnings (12 duplicates) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.04s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/x86_64-unknown-linux-musl/debug/deps/libdopen-fb48eec9cdfbc8c9) [INFO] [stdout] [INFO] [stdout] running 10 tests [INFO] [stdout] test desktop::entries::tests::unescape_value_test ... ok [INFO] [stdout] test desktop::parser::test::entry_value_test_basic ... ok [INFO] [stdout] test desktop::entries::tests::split_value_str_escape_test ... ok [INFO] [stdout] test desktop::parser::test::entry_value_test_empty ... ok [INFO] [stdout] test desktop::parser::test::entry_value_test_invalid_utf8 ... ok [INFO] [stdout] test desktop::parser::test::entry_test ... ok [INFO] [stdout] test desktop::parser::test::entry_value_test_escapes ... ok [INFO] [stdout] test desktop::entries::tests::split_value_str_test ... ok [INFO] [stdout] test desktop::parser::test::parse_test ... ok [INFO] [stdout] test desktop::parser::test::entry_key_test_locales ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 10 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "c45f0fc5a818bee5a91d5b9d534f994a913f75561692eeb8905f9205d9a6845b", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "c45f0fc5a818bee5a91d5b9d534f994a913f75561692eeb8905f9205d9a6845b", kill_on_drop: false }` [INFO] [stdout] c45f0fc5a818bee5a91d5b9d534f994a913f75561692eeb8905f9205d9a6845b