[INFO] cloning repository https://github.com/semtexzv/podcomp
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/semtexzv/podcomp" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fsemtexzv%2Fpodcomp", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fsemtexzv%2Fpodcomp'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] b95624788458c8ed937a16c0d33ee71ae544ff17
[INFO] checking semtexzv/podcomp against try#50f413885985a8b0a0b6ca0766a0aedd45304953 for pr-155657
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fsemtexzv%2Fpodcomp" "/workspace/builds/worker-4-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/semtexzv/podcomp
[INFO] finished tweaking git repo https://github.com/semtexzv/podcomp
[INFO] tweaked toml for git repo https://github.com/semtexzv/podcomp written to /workspace/builds/worker-4-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/semtexzv/podcomp on toolchain 50f413885985a8b0a0b6ca0766a0aedd45304953
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+50f413885985a8b0a0b6ca0766a0aedd45304953" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/semtexzv/podcomp 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" "+50f413885985a8b0a0b6ca0766a0aedd45304953" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+50f413885985a8b0a0b6ca0766a0aedd45304953" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] a52ade893201738270ce768d8acd997c4c84147fbb904259808158eda61f6c99
[INFO] running `Command { std: "docker" "start" "-a" "a52ade893201738270ce768d8acd997c4c84147fbb904259808158eda61f6c99", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "a52ade893201738270ce768d8acd997c4c84147fbb904259808158eda61f6c99", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "a52ade893201738270ce768d8acd997c4c84147fbb904259808158eda61f6c99", kill_on_drop: false }`
[INFO] [stdout] a52ade893201738270ce768d8acd997c4c84147fbb904259808158eda61f6c99
[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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+50f413885985a8b0a0b6ca0766a0aedd45304953" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 2cbffee0d101b3440f3d5716620c78d2c37d9a987453cdadaf32591a44299e6f
[INFO] running `Command { std: "docker" "start" "-a" "2cbffee0d101b3440f3d5716620c78d2c37d9a987453cdadaf32591a44299e6f", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.6
[INFO] [stderr]    Compiling syn v1.0.8
[INFO] [stderr]    Compiling libc v0.2.65
[INFO] [stderr]    Compiling memchr v2.2.1
[INFO] [stderr]    Compiling serde v1.0.102
[INFO] [stderr]    Compiling log v0.4.8
[INFO] [stderr]     Checking unicode-width v0.1.6
[INFO] [stderr]    Compiling unicode-segmentation v1.6.0
[INFO] [stderr]     Checking thread_local v0.3.6
[INFO] [stderr]     Checking textwrap v0.11.0
[INFO] [stderr]     Checking regex-syntax v0.6.12
[INFO] [stderr]     Checking quick-error v1.2.2
[INFO] [stderr]     Checking yaml-rust v0.4.3
[INFO] [stderr]     Checking humantime v1.3.0
[INFO] [stderr]     Checking dtoa v0.4.4
[INFO] [stderr]     Checking termcolor v1.0.5
[INFO] [stderr]    Compiling heck v0.3.1
[INFO] [stderr]     Checking atty v0.2.13
[INFO] [stderr]     Checking clap v2.33.0
[INFO] [stderr]     Checking aho-corasick v0.7.6
[INFO] [stderr]    Compiling quote v1.0.2
[INFO] [stderr]     Checking regex v1.3.1
[INFO] [stderr]     Checking env_logger v0.7.1
[INFO] [stderr]    Compiling proc-macro-error v0.2.6
[INFO] [stderr]    Compiling serde_derive v1.0.102
[INFO] [stderr]    Compiling structopt-derive v0.3.4
[INFO] [stderr]     Checking structopt v0.3.4
[INFO] [stderr]     Checking serde_yaml v0.8.11
[INFO] [stderr]     Checking podcomp v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/main.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `DeserializeOwned`
[INFO] [stdout]  --> src/prelude.rs:6:37
[INFO] [stdout]   |
[INFO] [stdout] 6 | use serde::de::{MapAccess, Visitor, DeserializeOwned};
[INFO] [stdout]   |                                     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Deserializer` and `Serialize`
[INFO] [stdout]  --> src/compose.rs:3:26
[INFO] [stdout]   |
[INFO] [stdout] 3 | use serde::{Deserialize, Serialize, Deserializer};
[INFO] [stdout]   |                          ^^^^^^^^^  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stdout]   --> src/compose.rs:18:17
[INFO] [stdout]    |
[INFO] [stdout] 18 | #[derive(Debug, Deserialize)]
[INFO] [stdout]    |                 ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: no expected values for `feature`
[INFO] [stdout]    = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stdout]    = help: try referring to `Deserialize` crate for guidance on how handle this unexpected cfg
[INFO] [stdout]    = help: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stdout]   --> src/compose.rs:25:17
[INFO] [stdout]    |
[INFO] [stdout] 25 | #[derive(Debug, Deserialize)]
[INFO] [stdout]    |                 ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: no expected values for `feature`
[INFO] [stdout]    = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stdout]    = help: try referring to `Deserialize` crate for guidance on how handle this unexpected cfg
[INFO] [stdout]    = help: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stdout]   --> src/compose.rs:32:17
[INFO] [stdout]    |
[INFO] [stdout] 32 | #[derive(Debug, Deserialize)]
[INFO] [stdout]    |                 ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: no expected values for `feature`
[INFO] [stdout]    = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stdout]    = help: try referring to `Deserialize` crate for guidance on how handle this unexpected cfg
[INFO] [stdout]    = help: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stdout]   --> src/compose.rs:39:26
[INFO] [stdout]    |
[INFO] [stdout] 39 | #[derive(Debug, Default, Deserialize)]
[INFO] [stdout]    |                          ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: no expected values for `feature`
[INFO] [stdout]    = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stdout]    = help: try referring to `Deserialize` crate for guidance on how handle this unexpected cfg
[INFO] [stdout]    = help: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stdout]   --> src/compose.rs:46:26
[INFO] [stdout]    |
[INFO] [stdout] 46 | #[derive(Debug, Default, Deserialize)]
[INFO] [stdout]    |                          ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: no expected values for `feature`
[INFO] [stdout]    = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stdout]    = help: try referring to `Deserialize` crate for guidance on how handle this unexpected cfg
[INFO] [stdout]    = help: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stdout]   --> src/compose.rs:69:17
[INFO] [stdout]    |
[INFO] [stdout] 69 | #[derive(Debug, Deserialize)]
[INFO] [stdout]    |                 ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: no expected values for `feature`
[INFO] [stdout]    = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stdout]    = help: try referring to `Deserialize` crate for guidance on how handle this unexpected cfg
[INFO] [stdout]    = help: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stdout]   --> src/compose.rs:77:17
[INFO] [stdout]    |
[INFO] [stdout] 77 | #[derive(Debug, Deserialize)]
[INFO] [stdout]    |                 ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: no expected values for `feature`
[INFO] [stdout]    = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stdout]    = help: try referring to `Deserialize` crate for guidance on how handle this unexpected cfg
[INFO] [stdout]    = help: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stdout]   --> src/compose.rs:85:17
[INFO] [stdout]    |
[INFO] [stdout] 85 | #[derive(Debug, Deserialize)]
[INFO] [stdout]    |                 ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: no expected values for `feature`
[INFO] [stdout]    = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stdout]    = help: try referring to `Deserialize` crate for guidance on how handle this unexpected cfg
[INFO] [stdout]    = help: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stdout]   --> src/compose.rs:96:17
[INFO] [stdout]    |
[INFO] [stdout] 96 | #[derive(Debug, Deserialize)]
[INFO] [stdout]    |                 ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: no expected values for `feature`
[INFO] [stdout]    = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stdout]    = help: try referring to `Deserialize` crate for guidance on how handle this unexpected cfg
[INFO] [stdout]    = help: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stdout]    --> src/compose.rs:101:17
[INFO] [stdout]     |
[INFO] [stdout] 101 | #[derive(Debug, Deserialize)]
[INFO] [stdout]     |                 ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: no expected values for `feature`
[INFO] [stdout]     = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stdout]     = help: try referring to `Deserialize` crate for guidance on how handle this unexpected cfg
[INFO] [stdout]     = help: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stdout]    --> src/compose.rs:106:17
[INFO] [stdout]     |
[INFO] [stdout] 106 | #[derive(Debug, Deserialize)]
[INFO] [stdout]     |                 ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: no expected values for `feature`
[INFO] [stdout]     = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stdout]     = help: try referring to `Deserialize` crate for guidance on how handle this unexpected cfg
[INFO] [stdout]     = help: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stdout]    --> src/compose.rs:120:17
[INFO] [stdout]     |
[INFO] [stdout] 120 | #[derive(Debug, Deserialize)]
[INFO] [stdout]     |                 ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: no expected values for `feature`
[INFO] [stdout]     = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stdout]     = help: try referring to `Deserialize` crate for guidance on how handle this unexpected cfg
[INFO] [stdout]     = help: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stdout]    --> src/compose.rs:129:17
[INFO] [stdout]     |
[INFO] [stdout] 129 | #[derive(Debug, Deserialize)]
[INFO] [stdout]     |                 ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: no expected values for `feature`
[INFO] [stdout]     = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stdout]     = help: try referring to `Deserialize` crate for guidance on how handle this unexpected cfg
[INFO] [stdout]     = help: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stdout]    --> src/compose.rs:139:17
[INFO] [stdout]     |
[INFO] [stdout] 139 | #[derive(Debug, Deserialize)]
[INFO] [stdout]     |                 ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: no expected values for `feature`
[INFO] [stdout]     = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stdout]     = help: try referring to `Deserialize` crate for guidance on how handle this unexpected cfg
[INFO] [stdout]     = help: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stdout]    --> src/compose.rs:151:17
[INFO] [stdout]     |
[INFO] [stdout] 151 | #[derive(Debug, Deserialize)]
[INFO] [stdout]     |                 ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: no expected values for `feature`
[INFO] [stdout]     = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stdout]     = help: try referring to `Deserialize` crate for guidance on how handle this unexpected cfg
[INFO] [stdout]     = help: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stdout]    --> src/compose.rs:193:17
[INFO] [stdout]     |
[INFO] [stdout] 193 | #[derive(Debug, Deserialize)]
[INFO] [stdout]     |                 ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: no expected values for `feature`
[INFO] [stdout]     = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stdout]     = help: try referring to `Deserialize` crate for guidance on how handle this unexpected cfg
[INFO] [stdout]     = help: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/cmds/util.rs:12:80
[INFO] [stdout]    |
[INFO] [stdout] 12 |     fn run(compose: Compose, global: GlobalOpts, opts: Self) -> Result<(), Box<Error>> {
[INFO] [stdout]    |                                                                                ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 12 |     fn run(compose: Compose, global: GlobalOpts, opts: Self) -> Result<(), Box<dyn Error>> {
[INFO] [stdout]    |                                                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/cmds/util.rs:25:80
[INFO] [stdout]    |
[INFO] [stdout] 25 |     fn run(compose: Compose, global: GlobalOpts, opts: Self) -> Result<(), Box<Error>> {
[INFO] [stdout]    |                                                                                ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 25 |     fn run(compose: Compose, global: GlobalOpts, opts: Self) -> Result<(), Box<dyn Error>> {
[INFO] [stdout]    |                                                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/cmds/util.rs:41:80
[INFO] [stdout]    |
[INFO] [stdout] 41 |     fn run(compose: Compose, global: GlobalOpts, opts: Self) -> Result<(), Box<Error>> {
[INFO] [stdout]    |                                                                                ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 41 |     fn run(compose: Compose, global: GlobalOpts, opts: Self) -> Result<(), Box<dyn Error>> {
[INFO] [stdout]    |                                                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/main.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `DeserializeOwned`
[INFO] [stdout]  --> src/prelude.rs:6:37
[INFO] [stdout]   |
[INFO] [stdout] 6 | use serde::de::{MapAccess, Visitor, DeserializeOwned};
[INFO] [stdout]   |                                     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Deserializer` and `Serialize`
[INFO] [stdout]  --> src/compose.rs:3:26
[INFO] [stdout]   |
[INFO] [stdout] 3 | use serde::{Deserialize, Serialize, Deserializer};
[INFO] [stdout]   |                          ^^^^^^^^^  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stdout]   --> src/compose.rs:18:17
[INFO] [stdout]    |
[INFO] [stdout] 18 | #[derive(Debug, Deserialize)]
[INFO] [stdout]    |                 ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: no expected values for `feature`
[INFO] [stdout]    = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stdout]    = help: try referring to `Deserialize` crate for guidance on how handle this unexpected cfg
[INFO] [stdout]    = help: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stdout]   --> src/compose.rs:25:17
[INFO] [stdout]    |
[INFO] [stdout] 25 | #[derive(Debug, Deserialize)]
[INFO] [stdout]    |                 ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: no expected values for `feature`
[INFO] [stdout]    = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stdout]    = help: try referring to `Deserialize` crate for guidance on how handle this unexpected cfg
[INFO] [stdout]    = help: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stdout]   --> src/compose.rs:32:17
[INFO] [stdout]    |
[INFO] [stdout] 32 | #[derive(Debug, Deserialize)]
[INFO] [stdout]    |                 ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: no expected values for `feature`
[INFO] [stdout]    = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stdout]    = help: try referring to `Deserialize` crate for guidance on how handle this unexpected cfg
[INFO] [stdout]    = help: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stdout]   --> src/compose.rs:39:26
[INFO] [stdout]    |
[INFO] [stdout] 39 | #[derive(Debug, Default, Deserialize)]
[INFO] [stdout]    |                          ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: no expected values for `feature`
[INFO] [stdout]    = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stdout]    = help: try referring to `Deserialize` crate for guidance on how handle this unexpected cfg
[INFO] [stdout]    = help: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stdout]   --> src/compose.rs:46:26
[INFO] [stdout]    |
[INFO] [stdout] 46 | #[derive(Debug, Default, Deserialize)]
[INFO] [stdout]    |                          ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: no expected values for `feature`
[INFO] [stdout]    = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stdout]    = help: try referring to `Deserialize` crate for guidance on how handle this unexpected cfg
[INFO] [stdout]    = help: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stdout]   --> src/compose.rs:69:17
[INFO] [stdout]    |
[INFO] [stdout] 69 | #[derive(Debug, Deserialize)]
[INFO] [stdout]    |                 ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: no expected values for `feature`
[INFO] [stdout]    = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stdout]    = help: try referring to `Deserialize` crate for guidance on how handle this unexpected cfg
[INFO] [stdout]    = help: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stdout]   --> src/compose.rs:77:17
[INFO] [stdout]    |
[INFO] [stdout] 77 | #[derive(Debug, Deserialize)]
[INFO] [stdout]    |                 ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: no expected values for `feature`
[INFO] [stdout]    = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stdout]    = help: try referring to `Deserialize` crate for guidance on how handle this unexpected cfg
[INFO] [stdout]    = help: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stdout]   --> src/compose.rs:85:17
[INFO] [stdout]    |
[INFO] [stdout] 85 | #[derive(Debug, Deserialize)]
[INFO] [stdout]    |                 ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: no expected values for `feature`
[INFO] [stdout]    = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stdout]    = help: try referring to `Deserialize` crate for guidance on how handle this unexpected cfg
[INFO] [stdout]    = help: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stdout]   --> src/compose.rs:96:17
[INFO] [stdout]    |
[INFO] [stdout] 96 | #[derive(Debug, Deserialize)]
[INFO] [stdout]    |                 ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: no expected values for `feature`
[INFO] [stdout]    = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stdout]    = help: try referring to `Deserialize` crate for guidance on how handle this unexpected cfg
[INFO] [stdout]    = help: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stdout]    --> src/compose.rs:101:17
[INFO] [stdout]     |
[INFO] [stdout] 101 | #[derive(Debug, Deserialize)]
[INFO] [stdout]     |                 ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: no expected values for `feature`
[INFO] [stdout]     = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stdout]     = help: try referring to `Deserialize` crate for guidance on how handle this unexpected cfg
[INFO] [stdout]     = help: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stdout]    --> src/compose.rs:106:17
[INFO] [stdout]     |
[INFO] [stdout] 106 | #[derive(Debug, Deserialize)]
[INFO] [stdout]     |                 ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: no expected values for `feature`
[INFO] [stdout]     = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stdout]     = help: try referring to `Deserialize` crate for guidance on how handle this unexpected cfg
[INFO] [stdout]     = help: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stdout]    --> src/compose.rs:120:17
[INFO] [stdout]     |
[INFO] [stdout] 120 | #[derive(Debug, Deserialize)]
[INFO] [stdout]     |                 ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: no expected values for `feature`
[INFO] [stdout]     = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stdout]     = help: try referring to `Deserialize` crate for guidance on how handle this unexpected cfg
[INFO] [stdout]     = help: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stdout]    --> src/compose.rs:129:17
[INFO] [stdout]     |
[INFO] [stdout] 129 | #[derive(Debug, Deserialize)]
[INFO] [stdout]     |                 ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: no expected values for `feature`
[INFO] [stdout]     = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stdout]     = help: try referring to `Deserialize` crate for guidance on how handle this unexpected cfg
[INFO] [stdout]     = help: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stdout]    --> src/compose.rs:139:17
[INFO] [stdout]     |
[INFO] [stdout] 139 | #[derive(Debug, Deserialize)]
[INFO] [stdout]     |                 ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: no expected values for `feature`
[INFO] [stdout]     = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stdout]     = help: try referring to `Deserialize` crate for guidance on how handle this unexpected cfg
[INFO] [stdout]     = help: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stdout]    --> src/compose.rs:151:17
[INFO] [stdout]     |
[INFO] [stdout] 151 | #[derive(Debug, Deserialize)]
[INFO] [stdout]     |                 ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: no expected values for `feature`
[INFO] [stdout]     = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stdout]     = help: try referring to `Deserialize` crate for guidance on how handle this unexpected cfg
[INFO] [stdout]     = help: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stdout]    --> src/compose.rs:193:17
[INFO] [stdout]     |
[INFO] [stdout] 193 | #[derive(Debug, Deserialize)]
[INFO] [stdout]     |                 ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: no expected values for `feature`
[INFO] [stdout]     = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stdout]     = help: try referring to `Deserialize` crate for guidance on how handle this unexpected cfg
[INFO] [stdout]     = help: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/cmds/util.rs:12:80
[INFO] [stdout]    |
[INFO] [stdout] 12 |     fn run(compose: Compose, global: GlobalOpts, opts: Self) -> Result<(), Box<Error>> {
[INFO] [stdout]    |                                                                                ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 12 |     fn run(compose: Compose, global: GlobalOpts, opts: Self) -> Result<(), Box<dyn Error>> {
[INFO] [stdout]    |                                                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/cmds/util.rs:25:80
[INFO] [stdout]    |
[INFO] [stdout] 25 |     fn run(compose: Compose, global: GlobalOpts, opts: Self) -> Result<(), Box<Error>> {
[INFO] [stdout]    |                                                                                ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 25 |     fn run(compose: Compose, global: GlobalOpts, opts: Self) -> Result<(), Box<dyn Error>> {
[INFO] [stdout]    |                                                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/cmds/util.rs:41:80
[INFO] [stdout]    |
[INFO] [stdout] 41 |     fn run(compose: Compose, global: GlobalOpts, opts: Self) -> Result<(), Box<Error>> {
[INFO] [stdout]    |                                                                                ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 41 |     fn run(compose: Compose, global: GlobalOpts, opts: Self) -> Result<(), Box<dyn Error>> {
[INFO] [stdout]    |                                                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `out`
[INFO] [stdout]    --> src/compose.rs:231:13
[INFO] [stdout]     |
[INFO] [stdout] 231 |         let out = std::process::Command::new(&self.podman)
[INFO] [stdout]     |             ^^^ help: if this is intentional, prefix it with an underscore: `_out`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/compose.rs:311:9
[INFO] [stdout]     |
[INFO] [stdout] 311 |     let mut ordered_svc_names: Vec<_> = ordered_svc_names
[INFO] [stdout]     |         ----^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `v`
[INFO] [stdout]    --> src/compose.rs:313:19
[INFO] [stdout]     |
[INFO] [stdout] 313 |         .map(|(k, v)| k.to_string())
[INFO] [stdout]     |                   ^ help: if this is intentional, prefix it with an underscore: `_v`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `k`
[INFO] [stdout]    --> src/compose.rs:308:44
[INFO] [stdout]     |
[INFO] [stdout] 308 |     ordered_svc_names.sort_by_cached_key(|(k, v)| v.depends_on.len());
[INFO] [stdout]     |                                            ^ help: if this is intentional, prefix it with an underscore: `_k`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/cmds/build.rs:23:9
[INFO] [stdout]    |
[INFO] [stdout] 23 |     let mut build = &cnt.build.as_ref().unwrap();
[INFO] [stdout]    |         ----^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `global`
[INFO] [stdout]   --> src/cmds/build.rs:18:52
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub fn build_one(compose: &Compose, cnt: &Service, global: &GlobalOpts, opts: &BuildOpts) -> Result<()> {
[INFO] [stdout]    |                                                    ^^^^^^ help: if this is intentional, prefix it with an underscore: `_global`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `global`
[INFO] [stdout]   --> src/cmds/down.rs:15:30
[INFO] [stdout]    |
[INFO] [stdout] 15 |     fn run(compose: Compose, global: GlobalOpts, opts: Self) -> Result<(), Box<dyn Error>> {
[INFO] [stdout]    |                              ^^^^^^ help: if this is intentional, prefix it with an underscore: `_global`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `opts`
[INFO] [stdout]   --> src/cmds/down.rs:15:50
[INFO] [stdout]    |
[INFO] [stdout] 15 |     fn run(compose: Compose, global: GlobalOpts, opts: Self) -> Result<(), Box<dyn Error>> {
[INFO] [stdout]    |                                                  ^^^^ help: if this is intentional, prefix it with an underscore: `_opts`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `global`
[INFO] [stdout]   --> src/cmds/pull.rs:23:30
[INFO] [stdout]    |
[INFO] [stdout] 23 |     fn run(compose: Compose, global: GlobalOpts, opts: Self) -> Result<(), Box<dyn Error>> {
[INFO] [stdout]    |                              ^^^^^^ help: if this is intentional, prefix it with an underscore: `_global`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `opts`
[INFO] [stdout]   --> src/cmds/pull.rs:23:50
[INFO] [stdout]    |
[INFO] [stdout] 23 |     fn run(compose: Compose, global: GlobalOpts, opts: Self) -> Result<(), Box<dyn Error>> {
[INFO] [stdout]    |                                                  ^^^^ help: if this is intentional, prefix it with an underscore: `_opts`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]   --> src/cmds/pull.rs:24:14
[INFO] [stdout]    |
[INFO] [stdout] 24 |         for (name, svc) in compose.services.iter() {
[INFO] [stdout]    |              ^^^^ help: if this is intentional, prefix it with an underscore: `_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `global`
[INFO] [stdout]   --> src/cmds/push.rs:14:30
[INFO] [stdout]    |
[INFO] [stdout] 14 |     fn run(compose: Compose, global: GlobalOpts, opts: Self) -> Result<(), Box<dyn Error>> {
[INFO] [stdout]    |                              ^^^^^^ help: if this is intentional, prefix it with an underscore: `_global`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `opts`
[INFO] [stdout]   --> src/cmds/push.rs:14:50
[INFO] [stdout]    |
[INFO] [stdout] 14 |     fn run(compose: Compose, global: GlobalOpts, opts: Self) -> Result<(), Box<dyn Error>> {
[INFO] [stdout]    |                                                  ^^^^ help: if this is intentional, prefix it with an underscore: `_opts`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]   --> src/cmds/push.rs:15:14
[INFO] [stdout]    |
[INFO] [stdout] 15 |         for (name, svc) in compose.services.iter() {
[INFO] [stdout]    |              ^^^^ help: if this is intentional, prefix it with an underscore: `_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `compose`
[INFO] [stdout]   --> src/cmds/restart.rs:14:12
[INFO] [stdout]    |
[INFO] [stdout] 14 |     fn run(compose: Compose, global: GlobalOpts, opts: Self) -> Result<(), Box<dyn Error>> {
[INFO] [stdout]    |            ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_compose`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `global`
[INFO] [stdout]   --> src/cmds/restart.rs:14:30
[INFO] [stdout]    |
[INFO] [stdout] 14 |     fn run(compose: Compose, global: GlobalOpts, opts: Self) -> Result<(), Box<dyn Error>> {
[INFO] [stdout]    |                              ^^^^^^ help: if this is intentional, prefix it with an underscore: `_global`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `opts`
[INFO] [stdout]   --> src/cmds/restart.rs:14:50
[INFO] [stdout]    |
[INFO] [stdout] 14 |     fn run(compose: Compose, global: GlobalOpts, opts: Self) -> Result<(), Box<dyn Error>> {
[INFO] [stdout]    |                                                  ^^^^ help: if this is intentional, prefix it with an underscore: `_opts`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `compose`
[INFO] [stdout]   --> src/cmds/run.rs:38:12
[INFO] [stdout]    |
[INFO] [stdout] 38 |     fn run(compose: Compose, global: GlobalOpts, opts: Self) -> Result<(), Box<dyn Error>> {
[INFO] [stdout]    |            ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_compose`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `global`
[INFO] [stdout]   --> src/cmds/run.rs:38:30
[INFO] [stdout]    |
[INFO] [stdout] 38 |     fn run(compose: Compose, global: GlobalOpts, opts: Self) -> Result<(), Box<dyn Error>> {
[INFO] [stdout]    |                              ^^^^^^ help: if this is intentional, prefix it with an underscore: `_global`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `opts`
[INFO] [stdout]   --> src/cmds/run.rs:38:50
[INFO] [stdout]    |
[INFO] [stdout] 38 |     fn run(compose: Compose, global: GlobalOpts, opts: Self) -> Result<(), Box<dyn Error>> {
[INFO] [stdout]    |                                                  ^^^^ help: if this is intentional, prefix it with an underscore: `_opts`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `compose`
[INFO] [stdout]   --> src/cmds/start.rs:12:12
[INFO] [stdout]    |
[INFO] [stdout] 12 |     fn run(compose: Compose, global: GlobalOpts, opts: Self) -> Result<(), Box<dyn Error>> {
[INFO] [stdout]    |            ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_compose`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `global`
[INFO] [stdout]   --> src/cmds/start.rs:12:30
[INFO] [stdout]    |
[INFO] [stdout] 12 |     fn run(compose: Compose, global: GlobalOpts, opts: Self) -> Result<(), Box<dyn Error>> {
[INFO] [stdout]    |                              ^^^^^^ help: if this is intentional, prefix it with an underscore: `_global`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `opts`
[INFO] [stdout]   --> src/cmds/start.rs:12:50
[INFO] [stdout]    |
[INFO] [stdout] 12 |     fn run(compose: Compose, global: GlobalOpts, opts: Self) -> Result<(), Box<dyn Error>> {
[INFO] [stdout]    |                                                  ^^^^ help: if this is intentional, prefix it with an underscore: `_opts`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `compose`
[INFO] [stdout]   --> src/cmds/stop.rs:15:12
[INFO] [stdout]    |
[INFO] [stdout] 15 |     fn run(compose: Compose, global: GlobalOpts, opts: Self) -> Result<(), Box<dyn Error>> {
[INFO] [stdout]    |            ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_compose`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `global`
[INFO] [stdout]   --> src/cmds/stop.rs:15:30
[INFO] [stdout]    |
[INFO] [stdout] 15 |     fn run(compose: Compose, global: GlobalOpts, opts: Self) -> Result<(), Box<dyn Error>> {
[INFO] [stdout]    |                              ^^^^^^ help: if this is intentional, prefix it with an underscore: `_global`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `opts`
[INFO] [stdout]   --> src/cmds/stop.rs:15:50
[INFO] [stdout]    |
[INFO] [stdout] 15 |     fn run(compose: Compose, global: GlobalOpts, opts: Self) -> Result<(), Box<dyn Error>> {
[INFO] [stdout]    |                                                  ^^^^ help: if this is intentional, prefix it with an underscore: `_opts`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `global`
[INFO] [stdout]   --> src/cmds/up.rs:41:30
[INFO] [stdout]    |
[INFO] [stdout] 41 |     fn run(compose: Compose, global: GlobalOpts, opts: Self) -> Result<(), Box<dyn Error>> {
[INFO] [stdout]    |                              ^^^^^^ help: if this is intentional, prefix it with an underscore: `_global`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `podman_cmd`
[INFO] [stdout]   --> src/cmds/up.rs:42:13
[INFO] [stdout]    |
[INFO] [stdout] 42 |         let podman_cmd = if opts.detach { "create" } else { "run" };
[INFO] [stdout]    |             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_podman_cmd`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cnt`
[INFO] [stdout]   --> src/cmds/up.rs:44:13
[INFO] [stdout]    |
[INFO] [stdout] 44 |         for cnt in compose.containers.iter() {
[INFO] [stdout]    |             ^^^ help: if this is intentional, prefix it with an underscore: `_cnt`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `global`
[INFO] [stdout]   --> src/cmds/util.rs:12:30
[INFO] [stdout]    |
[INFO] [stdout] 12 |     fn run(compose: Compose, global: GlobalOpts, opts: Self) -> Result<(), Box<Error>> {
[INFO] [stdout]    |                              ^^^^^^ help: if this is intentional, prefix it with an underscore: `_global`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `opts`
[INFO] [stdout]   --> src/cmds/util.rs:12:50
[INFO] [stdout]    |
[INFO] [stdout] 12 |     fn run(compose: Compose, global: GlobalOpts, opts: Self) -> Result<(), Box<Error>> {
[INFO] [stdout]    |                                                  ^^^^ help: if this is intentional, prefix it with an underscore: `_opts`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `compose`
[INFO] [stdout]   --> src/cmds/util.rs:25:12
[INFO] [stdout]    |
[INFO] [stdout] 25 |     fn run(compose: Compose, global: GlobalOpts, opts: Self) -> Result<(), Box<Error>> {
[INFO] [stdout]    |            ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_compose`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `global`
[INFO] [stdout]   --> src/cmds/util.rs:25:30
[INFO] [stdout]    |
[INFO] [stdout] 25 |     fn run(compose: Compose, global: GlobalOpts, opts: Self) -> Result<(), Box<Error>> {
[INFO] [stdout]    |                              ^^^^^^ help: if this is intentional, prefix it with an underscore: `_global`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `opts`
[INFO] [stdout]   --> src/cmds/util.rs:25:50
[INFO] [stdout]    |
[INFO] [stdout] 25 |     fn run(compose: Compose, global: GlobalOpts, opts: Self) -> Result<(), Box<Error>> {
[INFO] [stdout]    |                                                  ^^^^ help: if this is intentional, prefix it with an underscore: `_opts`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `compose`
[INFO] [stdout]   --> src/cmds/util.rs:41:12
[INFO] [stdout]    |
[INFO] [stdout] 41 |     fn run(compose: Compose, global: GlobalOpts, opts: Self) -> Result<(), Box<Error>> {
[INFO] [stdout]    |            ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_compose`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `global`
[INFO] [stdout]   --> src/cmds/util.rs:41:30
[INFO] [stdout]    |
[INFO] [stdout] 41 |     fn run(compose: Compose, global: GlobalOpts, opts: Self) -> Result<(), Box<Error>> {
[INFO] [stdout]    |                              ^^^^^^ help: if this is intentional, prefix it with an underscore: `_global`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `opts`
[INFO] [stdout]   --> src/cmds/util.rs:41:50
[INFO] [stdout]    |
[INFO] [stdout] 41 |     fn run(compose: Compose, global: GlobalOpts, opts: Self) -> Result<(), Box<Error>> {
[INFO] [stdout]    |                                                  ^^^^ help: if this is intentional, prefix it with an underscore: `_opts`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/main.rs:93:9
[INFO] [stdout]    |
[INFO] [stdout] 93 |     let mut c = compose::parse_compose(&mut opts.global).unwrap();
[INFO] [stdout]    |         ----^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `no_ansi`, `no_cleanup`, `dry_run`, and `transform_policy` are never read
[INFO] [stdout]   --> src/main.rs:45:5
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub struct GlobalOpts {
[INFO] [stdout]    |            ---------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 45 |     no_ansi: bool,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 46 |     #[structopt(long = "no-cleanup")]
[INFO] [stdout] 47 |     no_cleanup: bool,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 48 |     #[structopt(long = "dry-run")]
[INFO] [stdout] 49 |     dry_run: bool,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 50 |     #[structopt(long = "transform-policy")]
[INFO] [stdout] 51 |     transform_policy: Option<String>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `GlobalOpts` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `endpoint_mode`, `labels`, `mode`, and `replicas` are never read
[INFO] [stdout]   --> src/compose.rs:87:5
[INFO] [stdout]    |
[INFO] [stdout] 86 | pub struct StackDeploy {
[INFO] [stdout]    |            ----------- fields in this struct
[INFO] [stdout] 87 |     endpoint_mode: Option<EndpointMode>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 88 |     labels: Option<HashMap<String, String>>,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 89 |     mode: Option<Mode>,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 90 |     //placement : Option<Placement>,
[INFO] [stdout] 91 |     replicas: Option<usize>,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `StackDeploy` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `devices` is never read
[INFO] [stdout]   --> src/compose.rs:98:5
[INFO] [stdout]    |
[INFO] [stdout] 97 | pub struct UpDeploy {
[INFO] [stdout]    |            -------- field in this struct
[INFO] [stdout] 98 |     devices: Option<Vec<String>>,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `UpDeploy` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `size` is never read
[INFO] [stdout]    --> src/compose.rs:103:5
[INFO] [stdout]     |
[INFO] [stdout] 102 | pub struct TmpFs {
[INFO] [stdout]     |            ----- field in this struct
[INFO] [stdout] 103 |     size: ByteAmount,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `TmpFs` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `driver`, `driver_opts`, `external`, `labels`, and `name` are never read
[INFO] [stdout]    --> src/compose.rs:122:5
[INFO] [stdout]     |
[INFO] [stdout] 121 | pub struct Volume {
[INFO] [stdout]     |            ------ fields in this struct
[INFO] [stdout] 122 |     driver: Option<String>,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 123 |     driver_opts: Option<Mapping>,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] 124 |     external: bool,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] 125 |     labels: Option<Mapping>,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 126 |     name: Option<String>,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Volume` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `driver`, `driver_opts`, `enable_ipv6`, `internal`, `external`, and `labels` are never read
[INFO] [stdout]    --> src/compose.rs:131:5
[INFO] [stdout]     |
[INFO] [stdout] 130 | pub struct Network {
[INFO] [stdout]     |            ------- fields in this struct
[INFO] [stdout] 131 |     driver: Option<String>,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 132 |     driver_opts: Option<Mapping>,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] 133 |     enable_ipv6: Option<String>,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] 134 |     internal: bool,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] 135 |     external: bool,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] 136 |     labels: Option<Mapping>,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Network` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `dry_run` is never read
[INFO] [stdout]    --> src/compose.rs:214:5
[INFO] [stdout]     |
[INFO] [stdout] 212 | pub struct Podman {
[INFO] [stdout]     |            ------ field in this struct
[INFO] [stdout] 213 |     podman: String,
[INFO] [stdout] 214 |     dry_run: bool,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Podman` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `container_to_args` is never used
[INFO] [stdout]    --> src/compose.rs:331:4
[INFO] [stdout]     |
[INFO] [stdout] 331 | fn container_to_args(compose: &Compose, container: &str, detached: bool, cmd: &str) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `services` is never read
[INFO] [stdout]   --> src/cmds/build.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | pub struct BuildOpts {
[INFO] [stdout]    |            --------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 15 |     services: Vec<String>,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `BuildOpts` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `pull` and `pull_always` are never read
[INFO] [stdout]   --> src/cmds/down.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  7 | pub struct DownOpts {
[INFO] [stdout]    |            -------- fields in this struct
[INFO] [stdout]  8 |     #[structopt(long = "rmi")]
[INFO] [stdout]  9 |     pull: Option<String>,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 10 |     #[structopt(long = "volumes")]
[INFO] [stdout] 11 |     pull_always: Vec<String>,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `DownOpts` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `ignore_failures`, `parallel`, `no_parallel`, `quiet`, `include_deps`, and `services` are never read
[INFO] [stdout]   --> src/cmds/pull.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  7 | pub struct PullOpts {
[INFO] [stdout]    |            -------- fields in this struct
[INFO] [stdout]  8 |     #[structopt(long = "ignore-pull-failures")]
[INFO] [stdout]  9 |     ignore_failures: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 10 |     #[structopt(long = "parallel")]
[INFO] [stdout] 11 |     parallel: bool,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 12 |     #[structopt(long = "no-parallel")]
[INFO] [stdout] 13 |     no_parallel: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 14 |     #[structopt(short = "q", long = "quiet")]
[INFO] [stdout] 15 |     quiet: bool,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 16 |     #[structopt(long = "include-deps")]
[INFO] [stdout] 17 |     include_deps: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 18 |
[INFO] [stdout] 19 |     services: Vec<String>,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `PullOpts` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `ignore_failures` and `services` are never read
[INFO] [stdout]   --> src/cmds/push.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  7 | pub struct PushOpts {
[INFO] [stdout]    |            -------- fields in this struct
[INFO] [stdout]  8 |     #[structopt(long = "ignore-push-failures")]
[INFO] [stdout]  9 |     ignore_failures: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 10 |     services: Vec<String>,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `PushOpts` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `timeout` and `services` are never read
[INFO] [stdout]   --> src/cmds/restart.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  7 | pub struct RestartOpts {
[INFO] [stdout]    |            ----------- fields in this struct
[INFO] [stdout]  8 |     #[structopt(short = "t", long = "timeout", default_value = "10")]
[INFO] [stdout]  9 |     timeout: f32,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 10 |     services: Vec<String>,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `RestartOpts` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]   --> src/cmds/run.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  7 | pub struct RunOpts {
[INFO] [stdout]    |            ------- fields in this struct
[INFO] [stdout]  8 |     #[structopt(short = "d", long = "detach")]
[INFO] [stdout]  9 |     detach: bool,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 10 |     #[structopt(long = "name")]
[INFO] [stdout] 11 |     name: Option<String>,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 12 |     #[structopt(long = "entrypoint")]
[INFO] [stdout] 13 |     entrypoint: Option<String>,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 14 |     #[structopt(short = "e")]
[INFO] [stdout] 15 |     env_vars: Vec<String>,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 16 |     #[structopt(long = "no-deps", help = "Don't start linked services")]
[INFO] [stdout] 17 |     no_deps: bool,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 18 |     #[structopt(long = "rm")]
[INFO] [stdout] 19 |     rm: bool,
[INFO] [stdout]    |     ^^
[INFO] [stdout] 20 |     #[structopt(short = "p", long = "publish")]
[INFO] [stdout] 21 |     publish: Vec<String>,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 22 |     #[structopt(long = "service-ports")]
[INFO] [stdout] 23 |     service_ports: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 26 |     volumes: Vec<String>,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 27 |     #[structopt(short = "T")]
[INFO] [stdout] 28 |     no_tty: Vec<String>,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 29 |     #[structopt(short = "w", long = "workdir")]
[INFO] [stdout] 30 |     workdir: Vec<String>,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 31 |     #[structopt(help = "name of the service")]
[INFO] [stdout] 32 |     service: String,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 33 |     #[structopt(help = "Command and its arguments")]
[INFO] [stdout] 34 |     cmd: Vec<String>,
[INFO] [stdout]    |     ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `RunOpts` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `services` is never read
[INFO] [stdout]  --> src/cmds/start.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub struct StartOpts {
[INFO] [stdout]   |            --------- field in this struct
[INFO] [stdout] 8 |     services: Vec<String>,
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `StartOpts` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `timeout` and `services` are never read
[INFO] [stdout]   --> src/cmds/stop.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  7 | pub struct StopOpts {
[INFO] [stdout]    |            -------- fields in this struct
[INFO] [stdout]  8 |     #[structopt(short = "t", long = "timeout", default_value = "10")]
[INFO] [stdout]  9 |     timeout: f32,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 10 |     services: Vec<String>,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `StopOpts` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]   --> src/cmds/up.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout]  7 | pub struct UpOpts {
[INFO] [stdout]    |            ------ fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 11 |     quiet_pull: bool,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 12 |     #[structopt(long = "no-deps", help = "Don't start linked services")]
[INFO] [stdout] 13 |     no_deps: bool,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 14 |     #[structopt(long = "force-recreate")]
[INFO] [stdout] 15 |     force_recreate: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 16 |     #[structopt(long = "always-recreate-deps")]
[INFO] [stdout] 17 |     always_recreate_deps: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 18 |     #[structopt(long = "no-build")]
[INFO] [stdout] 19 |     no_build: bool,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 20 |     #[structopt(long = "no-start")]
[INFO] [stdout] 21 |     no_start: bool,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 22 |     #[structopt(long = "build")]
[INFO] [stdout] 23 |     build: bool,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 24 |     #[structopt(long = "abort-on-container-exit")]
[INFO] [stdout] 25 |     abort_on_container_exit: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 26 |     #[structopt(short = "t", long = "timeout", default_value = "10")]
[INFO] [stdout] 27 |     timeout: f32,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 28 |     #[structopt(short = "V", long = "renew-anon-volumes")]
[INFO] [stdout] 29 |     renew_anon_volumes: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 30 |     #[structopt(long = "remove-orphans")]
[INFO] [stdout] 31 |     remove_orphans: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 32 |     #[structopt(long = "scale")]
[INFO] [stdout] 33 |     scale: Vec<String>,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 34 |     #[structopt(long = "exit-code-from")]
[INFO] [stdout] 35 |     exit_code_from: Option<String>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 36 |
[INFO] [stdout] 37 |     services: Vec<String>,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `UpOpts` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `quiet_pull` is never read
[INFO] [stdout]   --> src/cmds/util.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub struct PsOpts {
[INFO] [stdout]    |            ------ field in this struct
[INFO] [stdout] 20 |     #[structopt(short = "q", long = "quiet")]
[INFO] [stdout] 21 |     quiet_pull: bool,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `PsOpts` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `follow`, `timestamps`, and `service` are never read
[INFO] [stdout]   --> src/cmds/util.rs:33:5
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub struct LogsOpts {
[INFO] [stdout]    |            -------- fields in this struct
[INFO] [stdout] 32 |     #[structopt(short = "f", long = "follow")]
[INFO] [stdout] 33 |     follow: bool,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 34 |     #[structopt(short = "t", long = "timestamps")]
[INFO] [stdout] 35 |     timestamps: bool,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 36 |
[INFO] [stdout] 37 |     service: String,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `LogsOpts` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/compose.rs:18:17
[INFO] [stdout]    |
[INFO] [stdout] 18 | #[derive(Debug, Deserialize)]
[INFO] [stdout]    |                 ^----------
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 `Deserialize` is not local
[INFO] [stdout]    |                 move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_ByteAmount`
[INFO] [stdout] 19 | #[serde(untagged)]
[INFO] [stdout] 20 | pub enum ByteAmount {
[INFO] [stdout]    |          ---------- `ByteAmount` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: `#[warn(non_local_definitions)]` on by default
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/compose.rs:25:17
[INFO] [stdout]    |
[INFO] [stdout] 25 | #[derive(Debug, Deserialize)]
[INFO] [stdout]    |                 ^----------
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 `Deserialize` is not local
[INFO] [stdout]    |                 move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Mapping`
[INFO] [stdout] 26 | #[serde(untagged)]
[INFO] [stdout] 27 | pub enum Mapping {
[INFO] [stdout]    |          ------- `Mapping` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/compose.rs:32:17
[INFO] [stdout]    |
[INFO] [stdout] 32 | #[derive(Debug, Deserialize)]
[INFO] [stdout]    |                 ^----------
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 `Deserialize` is not local
[INFO] [stdout]    |                 move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_StrOrList`
[INFO] [stdout] 33 | #[serde(untagged)]
[INFO] [stdout] 34 | pub enum StrOrList {
[INFO] [stdout]    |          --------- `StrOrList` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/compose.rs:39:26
[INFO] [stdout]    |
[INFO] [stdout] 39 | #[derive(Debug, Default, Deserialize)]
[INFO] [stdout]    |                          ^----------
[INFO] [stdout]    |                          |
[INFO] [stdout]    |                          `Deserialize` is not local
[INFO] [stdout]    |                          move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Build`
[INFO] [stdout] 40 | pub struct Build {
[INFO] [stdout]    |            ----- `Build` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/compose.rs:46:26
[INFO] [stdout]    |
[INFO] [stdout] 46 | #[derive(Debug, Default, Deserialize)]
[INFO] [stdout]    |                          ^----------
[INFO] [stdout]    |                          |
[INFO] [stdout]    |                          `Deserialize` is not local
[INFO] [stdout]    |                          move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_BuildData`
[INFO] [stdout] 47 | pub struct BuildData {
[INFO] [stdout]    |            --------- `BuildData` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/compose.rs:69:17
[INFO] [stdout]    |
[INFO] [stdout] 69 | #[derive(Debug, Deserialize)]
[INFO] [stdout]    |                 ^----------
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 `Deserialize` is not local
[INFO] [stdout]    |                 move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_EndpointMode`
[INFO] [stdout] 70 | pub enum EndpointMode {
[INFO] [stdout]    |          ------------ `EndpointMode` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/compose.rs:77:17
[INFO] [stdout]    |
[INFO] [stdout] 77 | #[derive(Debug, Deserialize)]
[INFO] [stdout]    |                 ^----------
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 `Deserialize` is not local
[INFO] [stdout]    |                 move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Mode`
[INFO] [stdout] 78 | pub enum Mode {
[INFO] [stdout]    |          ---- `Mode` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/compose.rs:85:17
[INFO] [stdout]    |
[INFO] [stdout] 85 | #[derive(Debug, Deserialize)]
[INFO] [stdout]    |                 ^----------
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 `Deserialize` is not local
[INFO] [stdout]    |                 move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_StackDeploy`
[INFO] [stdout] 86 | pub struct StackDeploy {
[INFO] [stdout]    |            ----------- `StackDeploy` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/compose.rs:96:17
[INFO] [stdout]    |
[INFO] [stdout] 96 | #[derive(Debug, Deserialize)]
[INFO] [stdout]    |                 ^----------
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 `Deserialize` is not local
[INFO] [stdout]    |                 move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_UpDeploy`
[INFO] [stdout] 97 | pub struct UpDeploy {
[INFO] [stdout]    |            -------- `UpDeploy` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/compose.rs:101:17
[INFO] [stdout]     |
[INFO] [stdout] 101 | #[derive(Debug, Deserialize)]
[INFO] [stdout]     |                 ^----------
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 `Deserialize` is not local
[INFO] [stdout]     |                 move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_TmpFs`
[INFO] [stdout] 102 | pub struct TmpFs {
[INFO] [stdout]     |            ----- `TmpFs` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/compose.rs:106:17
[INFO] [stdout]     |
[INFO] [stdout] 106 | #[derive(Debug, Deserialize)]
[INFO] [stdout]     |                 ^----------
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 `Deserialize` is not local
[INFO] [stdout]     |                 move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_VolumeRef`
[INFO] [stdout] 107 | #[serde(untagged)]
[INFO] [stdout] 108 | pub enum VolumeRef {
[INFO] [stdout]     |          --------- `VolumeRef` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/compose.rs:120:17
[INFO] [stdout]     |
[INFO] [stdout] 120 | #[derive(Debug, Deserialize)]
[INFO] [stdout]     |                 ^----------
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 `Deserialize` is not local
[INFO] [stdout]     |                 move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Volume`
[INFO] [stdout] 121 | pub struct Volume {
[INFO] [stdout]     |            ------ `Volume` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/compose.rs:129:17
[INFO] [stdout]     |
[INFO] [stdout] 129 | #[derive(Debug, Deserialize)]
[INFO] [stdout]     |                 ^----------
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 `Deserialize` is not local
[INFO] [stdout]     |                 move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Network`
[INFO] [stdout] 130 | pub struct Network {
[INFO] [stdout]     |            ------- `Network` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/compose.rs:139:17
[INFO] [stdout]     |
[INFO] [stdout] 139 | #[derive(Debug, Deserialize)]
[INFO] [stdout]     |                 ^----------
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 `Deserialize` is not local
[INFO] [stdout]     |                 move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Restart`
[INFO] [stdout] 140 | pub enum Restart {
[INFO] [stdout]     |          ------- `Restart` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/compose.rs:151:17
[INFO] [stdout]     |
[INFO] [stdout] 151 | #[derive(Debug, Deserialize)]
[INFO] [stdout]     |                 ^----------
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 `Deserialize` is not local
[INFO] [stdout]     |                 move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Service`
[INFO] [stdout] 152 | pub struct Service {
[INFO] [stdout]     |            ------- `Service` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/compose.rs:193:17
[INFO] [stdout]     |
[INFO] [stdout] 193 | #[derive(Debug, Deserialize)]
[INFO] [stdout]     |                 ^----------
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 `Deserialize` is not local
[INFO] [stdout]     |                 move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Compose`
[INFO] [stdout] 194 | pub struct Compose {
[INFO] [stdout]     |            ------- `Compose` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]    --> src/compose.rs:299:5
[INFO] [stdout]     |
[INFO] [stdout] 299 |     dotenv::dotenv();
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 299 |     let _ = dotenv::dotenv();
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]   --> src/cmds/pull.rs:26:17
[INFO] [stdout]    |
[INFO] [stdout] 26 |                 compose.podman.run(vec!["pull".to_string(), svc.image.clone().unwrap()]);
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 26 |                 let _ = compose.podman.run(vec!["pull".to_string(), svc.image.clone().unwrap()]);
[INFO] [stdout]    |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]   --> src/cmds/push.rs:17:17
[INFO] [stdout]    |
[INFO] [stdout] 17 |                 compose.podman.run(vec!["push".to_string(), svc.image.clone().unwrap()]);
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 17 |                 let _ = compose.podman.run(vec!["push".to_string(), svc.image.clone().unwrap()]);
[INFO] [stdout]    |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `out`
[INFO] [stdout]    --> src/compose.rs:231:13
[INFO] [stdout]     |
[INFO] [stdout] 231 |         let out = std::process::Command::new(&self.podman)
[INFO] [stdout]     |             ^^^ help: if this is intentional, prefix it with an underscore: `_out`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/compose.rs:311:9
[INFO] [stdout]     |
[INFO] [stdout] 311 |     let mut ordered_svc_names: Vec<_> = ordered_svc_names
[INFO] [stdout]     |         ----^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `v`
[INFO] [stdout]    --> src/compose.rs:313:19
[INFO] [stdout]     |
[INFO] [stdout] 313 |         .map(|(k, v)| k.to_string())
[INFO] [stdout]     |                   ^ help: if this is intentional, prefix it with an underscore: `_v`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `k`
[INFO] [stdout]    --> src/compose.rs:308:44
[INFO] [stdout]     |
[INFO] [stdout] 308 |     ordered_svc_names.sort_by_cached_key(|(k, v)| v.depends_on.len());
[INFO] [stdout]     |                                            ^ help: if this is intentional, prefix it with an underscore: `_k`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/cmds/build.rs:23:9
[INFO] [stdout]    |
[INFO] [stdout] 23 |     let mut build = &cnt.build.as_ref().unwrap();
[INFO] [stdout]    |         ----^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `global`
[INFO] [stdout]   --> src/cmds/build.rs:18:52
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub fn build_one(compose: &Compose, cnt: &Service, global: &GlobalOpts, opts: &BuildOpts) -> Result<()> {
[INFO] [stdout]    |                                                    ^^^^^^ help: if this is intentional, prefix it with an underscore: `_global`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `global`
[INFO] [stdout]   --> src/cmds/down.rs:15:30
[INFO] [stdout]    |
[INFO] [stdout] 15 |     fn run(compose: Compose, global: GlobalOpts, opts: Self) -> Result<(), Box<dyn Error>> {
[INFO] [stdout]    |                              ^^^^^^ help: if this is intentional, prefix it with an underscore: `_global`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `opts`
[INFO] [stdout]   --> src/cmds/down.rs:15:50
[INFO] [stdout]    |
[INFO] [stdout] 15 |     fn run(compose: Compose, global: GlobalOpts, opts: Self) -> Result<(), Box<dyn Error>> {
[INFO] [stdout]    |                                                  ^^^^ help: if this is intentional, prefix it with an underscore: `_opts`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `global`
[INFO] [stdout]   --> src/cmds/pull.rs:23:30
[INFO] [stdout]    |
[INFO] [stdout] 23 |     fn run(compose: Compose, global: GlobalOpts, opts: Self) -> Result<(), Box<dyn Error>> {
[INFO] [stdout]    |                              ^^^^^^ help: if this is intentional, prefix it with an underscore: `_global`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `opts`
[INFO] [stdout]   --> src/cmds/pull.rs:23:50
[INFO] [stdout]    |
[INFO] [stdout] 23 |     fn run(compose: Compose, global: GlobalOpts, opts: Self) -> Result<(), Box<dyn Error>> {
[INFO] [stdout]    |                                                  ^^^^ help: if this is intentional, prefix it with an underscore: `_opts`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]   --> src/cmds/pull.rs:24:14
[INFO] [stdout]    |
[INFO] [stdout] 24 |         for (name, svc) in compose.services.iter() {
[INFO] [stdout]    |              ^^^^ help: if this is intentional, prefix it with an underscore: `_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `global`
[INFO] [stdout]   --> src/cmds/push.rs:14:30
[INFO] [stdout]    |
[INFO] [stdout] 14 |     fn run(compose: Compose, global: GlobalOpts, opts: Self) -> Result<(), Box<dyn Error>> {
[INFO] [stdout]    |                              ^^^^^^ help: if this is intentional, prefix it with an underscore: `_global`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `opts`
[INFO] [stdout]   --> src/cmds/push.rs:14:50
[INFO] [stdout]    |
[INFO] [stdout] 14 |     fn run(compose: Compose, global: GlobalOpts, opts: Self) -> Result<(), Box<dyn Error>> {
[INFO] [stdout]    |                                                  ^^^^ help: if this is intentional, prefix it with an underscore: `_opts`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]   --> src/cmds/push.rs:15:14
[INFO] [stdout]    |
[INFO] [stdout] 15 |         for (name, svc) in compose.services.iter() {
[INFO] [stdout]    |              ^^^^ help: if this is intentional, prefix it with an underscore: `_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `compose`
[INFO] [stdout]   --> src/cmds/restart.rs:14:12
[INFO] [stdout]    |
[INFO] [stdout] 14 |     fn run(compose: Compose, global: GlobalOpts, opts: Self) -> Result<(), Box<dyn Error>> {
[INFO] [stdout]    |            ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_compose`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `global`
[INFO] [stdout]   --> src/cmds/restart.rs:14:30
[INFO] [stdout]    |
[INFO] [stdout] 14 |     fn run(compose: Compose, global: GlobalOpts, opts: Self) -> Result<(), Box<dyn Error>> {
[INFO] [stdout]    |                              ^^^^^^ help: if this is intentional, prefix it with an underscore: `_global`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `opts`
[INFO] [stdout]   --> src/cmds/restart.rs:14:50
[INFO] [stdout]    |
[INFO] [stdout] 14 |     fn run(compose: Compose, global: GlobalOpts, opts: Self) -> Result<(), Box<dyn Error>> {
[INFO] [stdout]    |                                                  ^^^^ help: if this is intentional, prefix it with an underscore: `_opts`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `compose`
[INFO] [stdout]   --> src/cmds/run.rs:38:12
[INFO] [stdout]    |
[INFO] [stdout] 38 |     fn run(compose: Compose, global: GlobalOpts, opts: Self) -> Result<(), Box<dyn Error>> {
[INFO] [stdout]    |            ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_compose`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `global`
[INFO] [stdout]   --> src/cmds/run.rs:38:30
[INFO] [stdout]    |
[INFO] [stdout] 38 |     fn run(compose: Compose, global: GlobalOpts, opts: Self) -> Result<(), Box<dyn Error>> {
[INFO] [stdout]    |                              ^^^^^^ help: if this is intentional, prefix it with an underscore: `_global`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `opts`
[INFO] [stdout]   --> src/cmds/run.rs:38:50
[INFO] [stdout]    |
[INFO] [stdout] 38 |     fn run(compose: Compose, global: GlobalOpts, opts: Self) -> Result<(), Box<dyn Error>> {
[INFO] [stdout]    |                                                  ^^^^ help: if this is intentional, prefix it with an underscore: `_opts`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `compose`
[INFO] [stdout]   --> src/cmds/start.rs:12:12
[INFO] [stdout]    |
[INFO] [stdout] 12 |     fn run(compose: Compose, global: GlobalOpts, opts: Self) -> Result<(), Box<dyn Error>> {
[INFO] [stdout]    |            ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_compose`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `global`
[INFO] [stdout]   --> src/cmds/start.rs:12:30
[INFO] [stdout]    |
[INFO] [stdout] 12 |     fn run(compose: Compose, global: GlobalOpts, opts: Self) -> Result<(), Box<dyn Error>> {
[INFO] [stdout]    |                              ^^^^^^ help: if this is intentional, prefix it with an underscore: `_global`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `opts`
[INFO] [stdout]   --> src/cmds/start.rs:12:50
[INFO] [stdout]    |
[INFO] [stdout] 12 |     fn run(compose: Compose, global: GlobalOpts, opts: Self) -> Result<(), Box<dyn Error>> {
[INFO] [stdout]    |                                                  ^^^^ help: if this is intentional, prefix it with an underscore: `_opts`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `compose`
[INFO] [stdout]   --> src/cmds/stop.rs:15:12
[INFO] [stdout]    |
[INFO] [stdout] 15 |     fn run(compose: Compose, global: GlobalOpts, opts: Self) -> Result<(), Box<dyn Error>> {
[INFO] [stdout]    |            ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_compose`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `global`
[INFO] [stdout]   --> src/cmds/stop.rs:15:30
[INFO] [stdout]    |
[INFO] [stdout] 15 |     fn run(compose: Compose, global: GlobalOpts, opts: Self) -> Result<(), Box<dyn Error>> {
[INFO] [stdout]    |                              ^^^^^^ help: if this is intentional, prefix it with an underscore: `_global`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `opts`
[INFO] [stdout]   --> src/cmds/stop.rs:15:50
[INFO] [stdout]    |
[INFO] [stdout] 15 |     fn run(compose: Compose, global: GlobalOpts, opts: Self) -> Result<(), Box<dyn Error>> {
[INFO] [stdout]    |                                                  ^^^^ help: if this is intentional, prefix it with an underscore: `_opts`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `global`
[INFO] [stdout]   --> src/cmds/up.rs:41:30
[INFO] [stdout]    |
[INFO] [stdout] 41 |     fn run(compose: Compose, global: GlobalOpts, opts: Self) -> Result<(), Box<dyn Error>> {
[INFO] [stdout]    |                              ^^^^^^ help: if this is intentional, prefix it with an underscore: `_global`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `podman_cmd`
[INFO] [stdout]   --> src/cmds/up.rs:42:13
[INFO] [stdout]    |
[INFO] [stdout] 42 |         let podman_cmd = if opts.detach { "create" } else { "run" };
[INFO] [stdout]    |             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_podman_cmd`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cnt`
[INFO] [stdout]   --> src/cmds/up.rs:44:13
[INFO] [stdout]    |
[INFO] [stdout] 44 |         for cnt in compose.containers.iter() {
[INFO] [stdout]    |             ^^^ help: if this is intentional, prefix it with an underscore: `_cnt`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `global`
[INFO] [stdout]   --> src/cmds/util.rs:12:30
[INFO] [stdout]    |
[INFO] [stdout] 12 |     fn run(compose: Compose, global: GlobalOpts, opts: Self) -> Result<(), Box<Error>> {
[INFO] [stdout]    |                              ^^^^^^ help: if this is intentional, prefix it with an underscore: `_global`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `opts`
[INFO] [stdout]   --> src/cmds/util.rs:12:50
[INFO] [stdout]    |
[INFO] [stdout] 12 |     fn run(compose: Compose, global: GlobalOpts, opts: Self) -> Result<(), Box<Error>> {
[INFO] [stdout]    |                                                  ^^^^ help: if this is intentional, prefix it with an underscore: `_opts`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `compose`
[INFO] [stdout]   --> src/cmds/util.rs:25:12
[INFO] [stdout]    |
[INFO] [stdout] 25 |     fn run(compose: Compose, global: GlobalOpts, opts: Self) -> Result<(), Box<Error>> {
[INFO] [stdout]    |            ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_compose`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `global`
[INFO] [stdout]   --> src/cmds/util.rs:25:30
[INFO] [stdout]    |
[INFO] [stdout] 25 |     fn run(compose: Compose, global: GlobalOpts, opts: Self) -> Result<(), Box<Error>> {
[INFO] [stdout]    |                              ^^^^^^ help: if this is intentional, prefix it with an underscore: `_global`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `opts`
[INFO] [stdout]   --> src/cmds/util.rs:25:50
[INFO] [stdout]    |
[INFO] [stdout] 25 |     fn run(compose: Compose, global: GlobalOpts, opts: Self) -> Result<(), Box<Error>> {
[INFO] [stdout]    |                                                  ^^^^ help: if this is intentional, prefix it with an underscore: `_opts`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `compose`
[INFO] [stdout]   --> src/cmds/util.rs:41:12
[INFO] [stdout]    |
[INFO] [stdout] 41 |     fn run(compose: Compose, global: GlobalOpts, opts: Self) -> Result<(), Box<Error>> {
[INFO] [stdout]    |            ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_compose`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `global`
[INFO] [stdout]   --> src/cmds/util.rs:41:30
[INFO] [stdout]    |
[INFO] [stdout] 41 |     fn run(compose: Compose, global: GlobalOpts, opts: Self) -> Result<(), Box<Error>> {
[INFO] [stdout]    |                              ^^^^^^ help: if this is intentional, prefix it with an underscore: `_global`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `opts`
[INFO] [stdout]   --> src/cmds/util.rs:41:50
[INFO] [stdout]    |
[INFO] [stdout] 41 |     fn run(compose: Compose, global: GlobalOpts, opts: Self) -> Result<(), Box<Error>> {
[INFO] [stdout]    |                                                  ^^^^ help: if this is intentional, prefix it with an underscore: `_opts`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/main.rs:93:9
[INFO] [stdout]    |
[INFO] [stdout] 93 |     let mut c = compose::parse_compose(&mut opts.global).unwrap();
[INFO] [stdout]    |         ----^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `no_ansi`, `no_cleanup`, `dry_run`, and `transform_policy` are never read
[INFO] [stdout]   --> src/main.rs:45:5
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub struct GlobalOpts {
[INFO] [stdout]    |            ---------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 45 |     no_ansi: bool,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 46 |     #[structopt(long = "no-cleanup")]
[INFO] [stdout] 47 |     no_cleanup: bool,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 48 |     #[structopt(long = "dry-run")]
[INFO] [stdout] 49 |     dry_run: bool,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 50 |     #[structopt(long = "transform-policy")]
[INFO] [stdout] 51 |     transform_policy: Option<String>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `GlobalOpts` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `endpoint_mode`, `labels`, `mode`, and `replicas` are never read
[INFO] [stdout]   --> src/compose.rs:87:5
[INFO] [stdout]    |
[INFO] [stdout] 86 | pub struct StackDeploy {
[INFO] [stdout]    |            ----------- fields in this struct
[INFO] [stdout] 87 |     endpoint_mode: Option<EndpointMode>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 88 |     labels: Option<HashMap<String, String>>,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 89 |     mode: Option<Mode>,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 90 |     //placement : Option<Placement>,
[INFO] [stdout] 91 |     replicas: Option<usize>,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `StackDeploy` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `devices` is never read
[INFO] [stdout]   --> src/compose.rs:98:5
[INFO] [stdout]    |
[INFO] [stdout] 97 | pub struct UpDeploy {
[INFO] [stdout]    |            -------- field in this struct
[INFO] [stdout] 98 |     devices: Option<Vec<String>>,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `UpDeploy` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `size` is never read
[INFO] [stdout]    --> src/compose.rs:103:5
[INFO] [stdout]     |
[INFO] [stdout] 102 | pub struct TmpFs {
[INFO] [stdout]     |            ----- field in this struct
[INFO] [stdout] 103 |     size: ByteAmount,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `TmpFs` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `driver`, `driver_opts`, `external`, `labels`, and `name` are never read
[INFO] [stdout]    --> src/compose.rs:122:5
[INFO] [stdout]     |
[INFO] [stdout] 121 | pub struct Volume {
[INFO] [stdout]     |            ------ fields in this struct
[INFO] [stdout] 122 |     driver: Option<String>,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 123 |     driver_opts: Option<Mapping>,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] 124 |     external: bool,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] 125 |     labels: Option<Mapping>,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 126 |     name: Option<String>,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Volume` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `driver`, `driver_opts`, `enable_ipv6`, `internal`, `external`, and `labels` are never read
[INFO] [stdout]    --> src/compose.rs:131:5
[INFO] [stdout]     |
[INFO] [stdout] 130 | pub struct Network {
[INFO] [stdout]     |            ------- fields in this struct
[INFO] [stdout] 131 |     driver: Option<String>,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 132 |     driver_opts: Option<Mapping>,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] 133 |     enable_ipv6: Option<String>,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] 134 |     internal: bool,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] 135 |     external: bool,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] 136 |     labels: Option<Mapping>,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Network` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `dry_run` is never read
[INFO] [stdout]    --> src/compose.rs:214:5
[INFO] [stdout]     |
[INFO] [stdout] 212 | pub struct Podman {
[INFO] [stdout]     |            ------ field in this struct
[INFO] [stdout] 213 |     podman: String,
[INFO] [stdout] 214 |     dry_run: bool,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Podman` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `container_to_args` is never used
[INFO] [stdout]    --> src/compose.rs:331:4
[INFO] [stdout]     |
[INFO] [stdout] 331 | fn container_to_args(compose: &Compose, container: &str, detached: bool, cmd: &str) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `services` is never read
[INFO] [stdout]   --> src/cmds/build.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | pub struct BuildOpts {
[INFO] [stdout]    |            --------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 15 |     services: Vec<String>,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `BuildOpts` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `pull` and `pull_always` are never read
[INFO] [stdout]   --> src/cmds/down.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  7 | pub struct DownOpts {
[INFO] [stdout]    |            -------- fields in this struct
[INFO] [stdout]  8 |     #[structopt(long = "rmi")]
[INFO] [stdout]  9 |     pull: Option<String>,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 10 |     #[structopt(long = "volumes")]
[INFO] [stdout] 11 |     pull_always: Vec<String>,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `DownOpts` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `ignore_failures`, `parallel`, `no_parallel`, `quiet`, `include_deps`, and `services` are never read
[INFO] [stdout]   --> src/cmds/pull.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  7 | pub struct PullOpts {
[INFO] [stdout]    |            -------- fields in this struct
[INFO] [stdout]  8 |     #[structopt(long = "ignore-pull-failures")]
[INFO] [stdout]  9 |     ignore_failures: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 10 |     #[structopt(long = "parallel")]
[INFO] [stdout] 11 |     parallel: bool,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 12 |     #[structopt(long = "no-parallel")]
[INFO] [stdout] 13 |     no_parallel: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 14 |     #[structopt(short = "q", long = "quiet")]
[INFO] [stdout] 15 |     quiet: bool,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 16 |     #[structopt(long = "include-deps")]
[INFO] [stdout] 17 |     include_deps: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 18 |
[INFO] [stdout] 19 |     services: Vec<String>,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `PullOpts` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `ignore_failures` and `services` are never read
[INFO] [stdout]   --> src/cmds/push.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  7 | pub struct PushOpts {
[INFO] [stdout]    |            -------- fields in this struct
[INFO] [stdout]  8 |     #[structopt(long = "ignore-push-failures")]
[INFO] [stdout]  9 |     ignore_failures: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 10 |     services: Vec<String>,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `PushOpts` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `timeout` and `services` are never read
[INFO] [stdout]   --> src/cmds/restart.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  7 | pub struct RestartOpts {
[INFO] [stdout]    |            ----------- fields in this struct
[INFO] [stdout]  8 |     #[structopt(short = "t", long = "timeout", default_value = "10")]
[INFO] [stdout]  9 |     timeout: f32,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 10 |     services: Vec<String>,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `RestartOpts` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]   --> src/cmds/run.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  7 | pub struct RunOpts {
[INFO] [stdout]    |            ------- fields in this struct
[INFO] [stdout]  8 |     #[structopt(short = "d", long = "detach")]
[INFO] [stdout]  9 |     detach: bool,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 10 |     #[structopt(long = "name")]
[INFO] [stdout] 11 |     name: Option<String>,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 12 |     #[structopt(long = "entrypoint")]
[INFO] [stdout] 13 |     entrypoint: Option<String>,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 14 |     #[structopt(short = "e")]
[INFO] [stdout] 15 |     env_vars: Vec<String>,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 16 |     #[structopt(long = "no-deps", help = "Don't start linked services")]
[INFO] [stdout] 17 |     no_deps: bool,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 18 |     #[structopt(long = "rm")]
[INFO] [stdout] 19 |     rm: bool,
[INFO] [stdout]    |     ^^
[INFO] [stdout] 20 |     #[structopt(short = "p", long = "publish")]
[INFO] [stdout] 21 |     publish: Vec<String>,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 22 |     #[structopt(long = "service-ports")]
[INFO] [stdout] 23 |     service_ports: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 26 |     volumes: Vec<String>,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 27 |     #[structopt(short = "T")]
[INFO] [stdout] 28 |     no_tty: Vec<String>,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 29 |     #[structopt(short = "w", long = "workdir")]
[INFO] [stdout] 30 |     workdir: Vec<String>,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 31 |     #[structopt(help = "name of the service")]
[INFO] [stdout] 32 |     service: String,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 33 |     #[structopt(help = "Command and its arguments")]
[INFO] [stdout] 34 |     cmd: Vec<String>,
[INFO] [stdout]    |     ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `RunOpts` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `services` is never read
[INFO] [stdout]  --> src/cmds/start.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub struct StartOpts {
[INFO] [stdout]   |            --------- field in this struct
[INFO] [stdout] 8 |     services: Vec<String>,
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `StartOpts` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `timeout` and `services` are never read
[INFO] [stdout]   --> src/cmds/stop.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  7 | pub struct StopOpts {
[INFO] [stdout]    |            -------- fields in this struct
[INFO] [stdout]  8 |     #[structopt(short = "t", long = "timeout", default_value = "10")]
[INFO] [stdout]  9 |     timeout: f32,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 10 |     services: Vec<String>,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `StopOpts` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]   --> src/cmds/up.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout]  7 | pub struct UpOpts {
[INFO] [stdout]    |            ------ fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 11 |     quiet_pull: bool,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 12 |     #[structopt(long = "no-deps", help = "Don't start linked services")]
[INFO] [stdout] 13 |     no_deps: bool,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 14 |     #[structopt(long = "force-recreate")]
[INFO] [stdout] 15 |     force_recreate: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 16 |     #[structopt(long = "always-recreate-deps")]
[INFO] [stdout] 17 |     always_recreate_deps: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 18 |     #[structopt(long = "no-build")]
[INFO] [stdout] 19 |     no_build: bool,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 20 |     #[structopt(long = "no-start")]
[INFO] [stdout] 21 |     no_start: bool,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 22 |     #[structopt(long = "build")]
[INFO] [stdout] 23 |     build: bool,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 24 |     #[structopt(long = "abort-on-container-exit")]
[INFO] [stdout] 25 |     abort_on_container_exit: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 26 |     #[structopt(short = "t", long = "timeout", default_value = "10")]
[INFO] [stdout] 27 |     timeout: f32,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 28 |     #[structopt(short = "V", long = "renew-anon-volumes")]
[INFO] [stdout] 29 |     renew_anon_volumes: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 30 |     #[structopt(long = "remove-orphans")]
[INFO] [stdout] 31 |     remove_orphans: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 32 |     #[structopt(long = "scale")]
[INFO] [stdout] 33 |     scale: Vec<String>,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 34 |     #[structopt(long = "exit-code-from")]
[INFO] [stdout] 35 |     exit_code_from: Option<String>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 36 |
[INFO] [stdout] 37 |     services: Vec<String>,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `UpOpts` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `quiet_pull` is never read
[INFO] [stdout]   --> src/cmds/util.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub struct PsOpts {
[INFO] [stdout]    |            ------ field in this struct
[INFO] [stdout] 20 |     #[structopt(short = "q", long = "quiet")]
[INFO] [stdout] 21 |     quiet_pull: bool,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `PsOpts` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `follow`, `timestamps`, and `service` are never read
[INFO] [stdout]   --> src/cmds/util.rs:33:5
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub struct LogsOpts {
[INFO] [stdout]    |            -------- fields in this struct
[INFO] [stdout] 32 |     #[structopt(short = "f", long = "follow")]
[INFO] [stdout] 33 |     follow: bool,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 34 |     #[structopt(short = "t", long = "timestamps")]
[INFO] [stdout] 35 |     timestamps: bool,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 36 |
[INFO] [stdout] 37 |     service: String,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `LogsOpts` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/compose.rs:18:17
[INFO] [stdout]    |
[INFO] [stdout] 18 | #[derive(Debug, Deserialize)]
[INFO] [stdout]    |                 ^----------
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 `Deserialize` is not local
[INFO] [stdout]    |                 move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_ByteAmount`
[INFO] [stdout] 19 | #[serde(untagged)]
[INFO] [stdout] 20 | pub enum ByteAmount {
[INFO] [stdout]    |          ---------- `ByteAmount` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: `#[warn(non_local_definitions)]` on by default
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/compose.rs:25:17
[INFO] [stdout]    |
[INFO] [stdout] 25 | #[derive(Debug, Deserialize)]
[INFO] [stdout]    |                 ^----------
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 `Deserialize` is not local
[INFO] [stdout]    |                 move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Mapping`
[INFO] [stdout] 26 | #[serde(untagged)]
[INFO] [stdout] 27 | pub enum Mapping {
[INFO] [stdout]    |          ------- `Mapping` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/compose.rs:32:17
[INFO] [stdout]    |
[INFO] [stdout] 32 | #[derive(Debug, Deserialize)]
[INFO] [stdout]    |                 ^----------
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 `Deserialize` is not local
[INFO] [stdout]    |                 move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_StrOrList`
[INFO] [stdout] 33 | #[serde(untagged)]
[INFO] [stdout] 34 | pub enum StrOrList {
[INFO] [stdout]    |          --------- `StrOrList` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/compose.rs:39:26
[INFO] [stdout]    |
[INFO] [stdout] 39 | #[derive(Debug, Default, Deserialize)]
[INFO] [stdout]    |                          ^----------
[INFO] [stdout]    |                          |
[INFO] [stdout]    |                          `Deserialize` is not local
[INFO] [stdout]    |                          move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Build`
[INFO] [stdout] 40 | pub struct Build {
[INFO] [stdout]    |            ----- `Build` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/compose.rs:46:26
[INFO] [stdout]    |
[INFO] [stdout] 46 | #[derive(Debug, Default, Deserialize)]
[INFO] [stdout]    |                          ^----------
[INFO] [stdout]    |                          |
[INFO] [stdout]    |                          `Deserialize` is not local
[INFO] [stdout]    |                          move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_BuildData`
[INFO] [stdout] 47 | pub struct BuildData {
[INFO] [stdout]    |            --------- `BuildData` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/compose.rs:69:17
[INFO] [stdout]    |
[INFO] [stdout] 69 | #[derive(Debug, Deserialize)]
[INFO] [stdout]    |                 ^----------
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 `Deserialize` is not local
[INFO] [stdout]    |                 move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_EndpointMode`
[INFO] [stdout] 70 | pub enum EndpointMode {
[INFO] [stdout]    |          ------------ `EndpointMode` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/compose.rs:77:17
[INFO] [stdout]    |
[INFO] [stdout] 77 | #[derive(Debug, Deserialize)]
[INFO] [stdout]    |                 ^----------
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 `Deserialize` is not local
[INFO] [stdout]    |                 move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Mode`
[INFO] [stdout] 78 | pub enum Mode {
[INFO] [stdout]    |          ---- `Mode` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/compose.rs:85:17
[INFO] [stdout]    |
[INFO] [stdout] 85 | #[derive(Debug, Deserialize)]
[INFO] [stdout]    |                 ^----------
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 `Deserialize` is not local
[INFO] [stdout]    |                 move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_StackDeploy`
[INFO] [stdout] 86 | pub struct StackDeploy {
[INFO] [stdout]    |            ----------- `StackDeploy` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/compose.rs:96:17
[INFO] [stdout]    |
[INFO] [stdout] 96 | #[derive(Debug, Deserialize)]
[INFO] [stdout]    |                 ^----------
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 `Deserialize` is not local
[INFO] [stdout]    |                 move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_UpDeploy`
[INFO] [stdout] 97 | pub struct UpDeploy {
[INFO] [stdout]    |            -------- `UpDeploy` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/compose.rs:101:17
[INFO] [stdout]     |
[INFO] [stdout] 101 | #[derive(Debug, Deserialize)]
[INFO] [stdout]     |                 ^----------
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 `Deserialize` is not local
[INFO] [stdout]     |                 move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_TmpFs`
[INFO] [stdout] 102 | pub struct TmpFs {
[INFO] [stdout]     |            ----- `TmpFs` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/compose.rs:106:17
[INFO] [stdout]     |
[INFO] [stdout] 106 | #[derive(Debug, Deserialize)]
[INFO] [stdout]     |                 ^----------
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 `Deserialize` is not local
[INFO] [stdout]     |                 move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_VolumeRef`
[INFO] [stdout] 107 | #[serde(untagged)]
[INFO] [stdout] 108 | pub enum VolumeRef {
[INFO] [stdout]     |          --------- `VolumeRef` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/compose.rs:120:17
[INFO] [stdout]     |
[INFO] [stdout] 120 | #[derive(Debug, Deserialize)]
[INFO] [stdout]     |                 ^----------
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 `Deserialize` is not local
[INFO] [stdout]     |                 move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Volume`
[INFO] [stdout] 121 | pub struct Volume {
[INFO] [stdout]     |            ------ `Volume` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/compose.rs:129:17
[INFO] [stdout]     |
[INFO] [stdout] 129 | #[derive(Debug, Deserialize)]
[INFO] [stdout]     |                 ^----------
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 `Deserialize` is not local
[INFO] [stdout]     |                 move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Network`
[INFO] [stdout] 130 | pub struct Network {
[INFO] [stdout]     |            ------- `Network` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/compose.rs:139:17
[INFO] [stdout]     |
[INFO] [stdout] 139 | #[derive(Debug, Deserialize)]
[INFO] [stdout]     |                 ^----------
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 `Deserialize` is not local
[INFO] [stdout]     |                 move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Restart`
[INFO] [stdout] 140 | pub enum Restart {
[INFO] [stdout]     |          ------- `Restart` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/compose.rs:151:17
[INFO] [stdout]     |
[INFO] [stdout] 151 | #[derive(Debug, Deserialize)]
[INFO] [stdout]     |                 ^----------
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 `Deserialize` is not local
[INFO] [stdout]     |                 move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Service`
[INFO] [stdout] 152 | pub struct Service {
[INFO] [stdout]     |            ------- `Service` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/compose.rs:193:17
[INFO] [stdout]     |
[INFO] [stdout] 193 | #[derive(Debug, Deserialize)]
[INFO] [stdout]     |                 ^----------
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 `Deserialize` is not local
[INFO] [stdout]     |                 move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Compose`
[INFO] [stdout] 194 | pub struct Compose {
[INFO] [stdout]     |            ------- `Compose` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]    --> src/compose.rs:299:5
[INFO] [stdout]     |
[INFO] [stdout] 299 |     dotenv::dotenv();
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 299 |     let _ = dotenv::dotenv();
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]   --> src/cmds/pull.rs:26:17
[INFO] [stdout]    |
[INFO] [stdout] 26 |                 compose.podman.run(vec!["pull".to_string(), svc.image.clone().unwrap()]);
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 26 |                 let _ = compose.podman.run(vec!["pull".to_string(), svc.image.clone().unwrap()]);
[INFO] [stdout]    |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]   --> src/cmds/push.rs:17:17
[INFO] [stdout]    |
[INFO] [stdout] 17 |                 compose.podman.run(vec!["push".to_string(), svc.image.clone().unwrap()]);
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 17 |                 let _ = compose.podman.run(vec!["push".to_string(), svc.image.clone().unwrap()]);
[INFO] [stdout]    |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 22.73s
[INFO] running `Command { std: "docker" "inspect" "2cbffee0d101b3440f3d5716620c78d2c37d9a987453cdadaf32591a44299e6f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "2cbffee0d101b3440f3d5716620c78d2c37d9a987453cdadaf32591a44299e6f", kill_on_drop: false }`
[INFO] [stdout] 2cbffee0d101b3440f3d5716620c78d2c37d9a987453cdadaf32591a44299e6f
