[INFO] fetching crate cni 0.1.3...
[INFO] checking cni-0.1.3 against try#93086cfebfccb79083c59d0d3b2052944bba643c for pr-146440-1
[INFO] extracting crate cni 0.1.3 into /workspace/builds/worker-3-tc2/source
[INFO] started tweaking crates.io crate cni 0.1.3
[INFO] finished tweaking crates.io crate cni 0.1.3
[INFO] tweaked toml for crates.io crate cni 0.1.3 written to /workspace/builds/worker-3-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate cni 0.1.3 on toolchain 93086cfebfccb79083c59d0d3b2052944bba643c
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+93086cfebfccb79083c59d0d3b2052944bba643c" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+93086cfebfccb79083c59d0d3b2052944bba643c" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]      Locking 22 packages to latest compatible versions
[INFO] [stderr]       Adding ipnetwork v0.17.0 (available: v0.21.1)
[INFO] [stderr]       Adding thiserror v1.0.69 (available: v2.0.18)
[INFO] [stderr]       Adding typetag v0.1.8 (available: v0.2.22)
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+93086cfebfccb79083c59d0d3b2052944bba643c" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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" "+93086cfebfccb79083c59d0d3b2052944bba643c" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 3a7a33ca55c3752a2766c25bb67ac7e3ea64a106de36f98dcb6868a54122278f
[INFO] running `Command { std: "docker" "start" "-a" "3a7a33ca55c3752a2766c25bb67ac7e3ea64a106de36f98dcb6868a54122278f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "3a7a33ca55c3752a2766c25bb67ac7e3ea64a106de36f98dcb6868a54122278f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "3a7a33ca55c3752a2766c25bb67ac7e3ea64a106de36f98dcb6868a54122278f", kill_on_drop: false }`
[INFO] [stdout] 3a7a33ca55c3752a2766c25bb67ac7e3ea64a106de36f98dcb6868a54122278f
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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" "+93086cfebfccb79083c59d0d3b2052944bba643c" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 646d7bdb0fb31f662c36773b6d8cfc48d34973eb554cfba2bc485ee98a26f5cd
[INFO] running `Command { std: "docker" "start" "-a" "646d7bdb0fb31f662c36773b6d8cfc48d34973eb554cfba2bc485ee98a26f5cd", kill_on_drop: false }`
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]    Compiling serde_json v1.0.150
[INFO] [stderr]     Checking memchr v2.8.1
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling ghost v0.1.21
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]     Checking thiserror v1.0.69
[INFO] [stderr]    Compiling ctor v0.1.26
[INFO] [stderr]    Compiling typetag-impl v0.1.8
[INFO] [stderr]     Checking inventory v0.2.3
[INFO] [stderr]     Checking serde v1.0.228
[INFO] [stderr]     Checking erased-serde v0.3.31
[INFO] [stderr]     Checking ipnetwork v0.17.0
[INFO] [stderr]     Checking typetag v0.1.8
[INFO] [stderr]     Checking cni v0.1.3 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `crate::libcni::types`
[INFO] [stdout]  --> src/libcni/api.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::libcni::types;
[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: `Command`
[INFO] [stdout]  --> src/libcni/exec.rs:5:15
[INFO] [stdout]   |
[INFO] [stdout] 5 |     process::{Command, Stdio},
[INFO] [stdout]   |               ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::libcni::types`
[INFO] [stdout]  --> src/libcni/api.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::libcni::types;
[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: `Command`
[INFO] [stdout]  --> src/libcni/exec.rs:5:15
[INFO] [stdout]   |
[INFO] [stdout] 5 |     process::{Command, Stdio},
[INFO] [stdout]   |               ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::libcni::types::DNS`
[INFO] [stdout]  --> src/libcni/result/result100.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::libcni::types::DNS;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::libcni::types::DNS`
[INFO] [stdout]  --> src/libcni/result/result100.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::libcni::types::DNS;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `io::Read`
[INFO] [stdout]  --> src/libcni/exec.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 |     io::Read,
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `io::Read`
[INFO] [stdout]  --> src/libcni/exec.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 |     io::Read,
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `plugin`
[INFO] [stdout]   --> src/libcni/exec.rs:51:28
[INFO] [stdout]    |
[INFO] [stdout] 51 |     fn find_in_path(&self, plugin: String, paths: Vec<String>) -> Result<String> {
[INFO] [stdout]    |                            ^^^^^^ help: if this is intentional, prefix it with an underscore: `_plugin`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `plugin`
[INFO] [stdout]   --> src/libcni/exec.rs:51:28
[INFO] [stdout]    |
[INFO] [stdout] 51 |     fn find_in_path(&self, plugin: String, paths: Vec<String>) -> Result<String> {
[INFO] [stdout]    |                            ^^^^^^ help: if this is intentional, prefix it with an underscore: `_plugin`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `paths`
[INFO] [stdout]   --> src/libcni/exec.rs:51:44
[INFO] [stdout]    |
[INFO] [stdout] 51 |     fn find_in_path(&self, plugin: String, paths: Vec<String>) -> Result<String> {
[INFO] [stdout]    |                                            ^^^^^ help: if this is intentional, prefix it with an underscore: `_paths`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `paths`
[INFO] [stdout]   --> src/libcni/exec.rs:51:44
[INFO] [stdout]    |
[INFO] [stdout] 51 |     fn find_in_path(&self, plugin: String, paths: Vec<String>) -> Result<String> {
[INFO] [stdout]    |                                            ^^^^^ help: if this is intentional, prefix it with an underscore: `_paths`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]   --> src/libcni/exec.rs:55:22
[INFO] [stdout]    |
[INFO] [stdout] 55 |     fn decode(&self, data: &[u8]) -> Result<()> {
[INFO] [stdout]    |                      ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]   --> src/libcni/exec.rs:55:22
[INFO] [stdout]    |
[INFO] [stdout] 55 |     fn decode(&self, data: &[u8]) -> Result<()> {
[INFO] [stdout]    |                      ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `w`
[INFO] [stdout]   --> src/libcni/plugin.rs:19:41
[INFO] [stdout]    |
[INFO] [stdout] 19 |     fn encode<W: std::io::Write>(&self, w: W) -> super::Result<()> {
[INFO] [stdout]    |                                         ^ help: if this is intentional, prefix it with an underscore: `_w`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `w`
[INFO] [stdout]   --> src/libcni/plugin.rs:19:41
[INFO] [stdout]    |
[INFO] [stdout] 19 |     fn encode<W: std::io::Write>(&self, w: W) -> super::Result<()> {
[INFO] [stdout]    |                                         ^ help: if this is intentional, prefix it with an underscore: `_w`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CODE_UNKNOWN` is never used
[INFO] [stdout]  --> src/libcni/error.rs:6:7
[INFO] [stdout]   |
[INFO] [stdout] 6 | const CODE_UNKNOWN: usize = 0;
[INFO] [stdout]   |       ^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CODE_INCOMPATIBLE_CNI_VERSION` is never used
[INFO] [stdout]  --> src/libcni/error.rs:7:7
[INFO] [stdout]   |
[INFO] [stdout] 7 | const CODE_INCOMPATIBLE_CNI_VERSION: usize = 1;
[INFO] [stdout]   |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CODE_UNSUPPORTED_FIELD` is never used
[INFO] [stdout]  --> src/libcni/error.rs:8:7
[INFO] [stdout]   |
[INFO] [stdout] 8 | const CODE_UNSUPPORTED_FIELD: usize = 2;
[INFO] [stdout]   |       ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CODE_UNKNOWN_CONTAINER` is never used
[INFO] [stdout]  --> src/libcni/error.rs:9:7
[INFO] [stdout]   |
[INFO] [stdout] 9 | const CODE_UNKNOWN_CONTAINER: usize = 3;
[INFO] [stdout]   |       ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CODE_INVALID_ENVIRONMENT_VARIABLES` is never used
[INFO] [stdout]   --> src/libcni/error.rs:10:7
[INFO] [stdout]    |
[INFO] [stdout] 10 | const CODE_INVALID_ENVIRONMENT_VARIABLES: usize = 4;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CODE_IO_FILURE` is never used
[INFO] [stdout]   --> src/libcni/error.rs:11:7
[INFO] [stdout]    |
[INFO] [stdout] 11 | const CODE_IO_FILURE: usize = 5;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CODE_DECODING_FAILURE` is never used
[INFO] [stdout]   --> src/libcni/error.rs:12:7
[INFO] [stdout]    |
[INFO] [stdout] 12 | const CODE_DECODING_FAILURE: usize = 6;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CODE_INVALID_NETWORK_CONFIG` is never used
[INFO] [stdout]   --> src/libcni/error.rs:13:7
[INFO] [stdout]    |
[INFO] [stdout] 13 | const CODE_INVALID_NETWORK_CONFIG: usize = 7;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CODE_TRY_AGAIN_LATER` is never used
[INFO] [stdout]   --> src/libcni/error.rs:14:7
[INFO] [stdout]    |
[INFO] [stdout] 14 | const CODE_TRY_AGAIN_LATER: usize = 11;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CODE_INTERNAL` is never used
[INFO] [stdout]   --> src/libcni/error.rs:15:7
[INFO] [stdout]    |
[INFO] [stdout] 15 | const CODE_INTERNAL: usize = 999;
[INFO] [stdout]    |       ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: struct `RawExec` is never constructed
[INFO] [stdout]   --> src/libcni/exec.rs:19:12
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub struct RawExec<W: std::io::Write> {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `pub` struct has private fields, no public constructor, and is not otherwise reachable through the external API, so consider providing a public constructor or removing it
[INFO] [stdout]    = note: `#[deny(unused_unconstructable_pub_structs)]` (part of `#[deny(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `stderr` is never read
[INFO] [stdout]   --> src/libcni/exec.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub struct RawExec<W: std::io::Write> {
[INFO] [stdout]    |            ------- field in this struct
[INFO] [stdout] 20 |     stderr: W,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BufferedStdin` is never constructed
[INFO] [stdout]   --> src/libcni/exec.rs:60:8
[INFO] [stdout]    |
[INFO] [stdout] 60 | struct BufferedStdin<'a> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/libcni/exec.rs:65:8
[INFO] [stdout]    |
[INFO] [stdout] 64 | impl<'a> BufferedStdin<'a> {
[INFO] [stdout]    | -------------------------- associated function in this implementation
[INFO] [stdout] 65 |     fn new(buf: &'a [u8]) -> BufferedStdin {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PluginInfoT` is never constructed
[INFO] [stdout]  --> src/libcni/plugin.rs:7:8
[INFO] [stdout]   |
[INFO] [stdout] 7 | struct PluginInfoT {
[INFO] [stdout]   |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `IMPLEMENTED_SPEC_VERSION` is never used
[INFO] [stdout]  --> src/libcni/result/result100.rs:5:7
[INFO] [stdout]   |
[INFO] [stdout] 5 | const IMPLEMENTED_SPEC_VERSION: &'static str = "1.0.0";
[INFO] [stdout]   |       ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `container_id`, `net_ns`, `if_name`, `args`, `capability_args`, and `cache_dir` are never read
[INFO] [stdout]   --> src/libcni/types.rs:5:5
[INFO] [stdout]    |
[INFO] [stdout]  4 | pub struct RuntimeConf {
[INFO] [stdout]    |            ----------- fields in this struct
[INFO] [stdout]  5 |     container_id: String,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout]  6 |     net_ns: String,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]  7 |     if_name: String,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout]  8 |     args: Vec<[String; 2]>,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]  9 |     capability_args: HashMap<String, String>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 10 |     cache_dir: String,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stdout]   --> src/libcni/exec.rs:65:30
[INFO] [stdout]    |
[INFO] [stdout] 65 |     fn new(buf: &'a [u8]) -> BufferedStdin {
[INFO] [stdout]    |                  --          ^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                  |
[INFO] [stdout]    |                  the lifetime is named here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: consistently use `'a`
[INFO] [stdout]    |
[INFO] [stdout] 65 |     fn new(buf: &'a [u8]) -> BufferedStdin<'a> {
[INFO] [stdout]    |                                           ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CODE_UNKNOWN` is never used
[INFO] [stdout]  --> src/libcni/error.rs:6:7
[INFO] [stdout]   |
[INFO] [stdout] 6 | const CODE_UNKNOWN: usize = 0;
[INFO] [stdout]   |       ^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CODE_INCOMPATIBLE_CNI_VERSION` is never used
[INFO] [stdout]  --> src/libcni/error.rs:7:7
[INFO] [stdout]   |
[INFO] [stdout] 7 | const CODE_INCOMPATIBLE_CNI_VERSION: usize = 1;
[INFO] [stdout]   |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CODE_UNSUPPORTED_FIELD` is never used
[INFO] [stdout]  --> src/libcni/error.rs:8:7
[INFO] [stdout]   |
[INFO] [stdout] 8 | const CODE_UNSUPPORTED_FIELD: usize = 2;
[INFO] [stdout]   |       ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CODE_UNKNOWN_CONTAINER` is never used
[INFO] [stdout]  --> src/libcni/error.rs:9:7
[INFO] [stdout]   |
[INFO] [stdout] 9 | const CODE_UNKNOWN_CONTAINER: usize = 3;
[INFO] [stdout]   |       ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CODE_INVALID_ENVIRONMENT_VARIABLES` is never used
[INFO] [stdout]   --> src/libcni/error.rs:10:7
[INFO] [stdout]    |
[INFO] [stdout] 10 | const CODE_INVALID_ENVIRONMENT_VARIABLES: usize = 4;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CODE_IO_FILURE` is never used
[INFO] [stdout]   --> src/libcni/error.rs:11:7
[INFO] [stdout]    |
[INFO] [stdout] 11 | const CODE_IO_FILURE: usize = 5;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CODE_DECODING_FAILURE` is never used
[INFO] [stdout]   --> src/libcni/error.rs:12:7
[INFO] [stdout]    |
[INFO] [stdout] 12 | const CODE_DECODING_FAILURE: usize = 6;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CODE_INVALID_NETWORK_CONFIG` is never used
[INFO] [stdout]   --> src/libcni/error.rs:13:7
[INFO] [stdout]    |
[INFO] [stdout] 13 | const CODE_INVALID_NETWORK_CONFIG: usize = 7;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CODE_TRY_AGAIN_LATER` is never used
[INFO] [stdout]   --> src/libcni/error.rs:14:7
[INFO] [stdout]    |
[INFO] [stdout] 14 | const CODE_TRY_AGAIN_LATER: usize = 11;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CODE_INTERNAL` is never used
[INFO] [stdout]   --> src/libcni/error.rs:15:7
[INFO] [stdout]    |
[INFO] [stdout] 15 | const CODE_INTERNAL: usize = 999;
[INFO] [stdout]    |       ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: struct `RawExec` is never constructed
[INFO] [stdout]   --> src/libcni/exec.rs:19:12
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub struct RawExec<W: std::io::Write> {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `pub` struct has private fields, no public constructor, and is not otherwise reachable through the external API, so consider providing a public constructor or removing it
[INFO] [stdout]    = note: `#[deny(unused_unconstructable_pub_structs)]` (part of `#[deny(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `stderr` is never read
[INFO] [stdout]   --> src/libcni/exec.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub struct RawExec<W: std::io::Write> {
[INFO] [stdout]    |            ------- field in this struct
[INFO] [stdout] 20 |     stderr: W,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BufferedStdin` is never constructed
[INFO] [stdout]   --> src/libcni/exec.rs:60:8
[INFO] [stdout]    |
[INFO] [stdout] 60 | struct BufferedStdin<'a> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/libcni/exec.rs:65:8
[INFO] [stdout]    |
[INFO] [stdout] 64 | impl<'a> BufferedStdin<'a> {
[INFO] [stdout]    | -------------------------- associated function in this implementation
[INFO] [stdout] 65 |     fn new(buf: &'a [u8]) -> BufferedStdin {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PluginInfoT` is never constructed
[INFO] [stdout]  --> src/libcni/plugin.rs:7:8
[INFO] [stdout]   |
[INFO] [stdout] 7 | struct PluginInfoT {
[INFO] [stdout]   |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `IMPLEMENTED_SPEC_VERSION` is never used
[INFO] [stdout]  --> src/libcni/result/result100.rs:5:7
[INFO] [stdout]   |
[INFO] [stdout] 5 | const IMPLEMENTED_SPEC_VERSION: &'static str = "1.0.0";
[INFO] [stdout]   |       ^^^^^^^^^^^^^^^^^^^^^^^^
[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/libcni/result/mod.rs:5:1
[INFO] [stdout]   |
[INFO] [stdout] 5 | #[typetag::serde(tag = "type")]
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   | |
[INFO] [stdout]   | `Serialize` is not local
[INFO] [stdout]   | move the `impl` block outside of this constant `_APIResult_registry`
[INFO] [stdout] 6 | pub trait APIResult {
[INFO] [stdout]   |           --------- `APIResult` is not local
[INFO] [stdout]   |
[INFO] [stdout]   = note: the attribute macro `typetag::serde` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]   = note: the attribute macro `typetag::serde` may come from an old version of the `typetag_impl` crate, try updating your dependency with `cargo update -p typetag_impl`
[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 attribute macro `typetag::serde` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `container_id`, `net_ns`, `if_name`, `args`, `capability_args`, and `cache_dir` are never read
[INFO] [stdout]   --> src/libcni/types.rs:5:5
[INFO] [stdout]    |
[INFO] [stdout]  4 | pub struct RuntimeConf {
[INFO] [stdout]    |            ----------- fields in this struct
[INFO] [stdout]  5 |     container_id: String,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout]  6 |     net_ns: String,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]  7 |     if_name: String,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout]  8 |     args: Vec<[String; 2]>,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]  9 |     capability_args: HashMap<String, String>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 10 |     cache_dir: String,
[INFO] [stdout]    |     ^^^^^^^^^
[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/libcni/result/mod.rs:5:1
[INFO] [stdout]   |
[INFO] [stdout] 5 | #[typetag::serde(tag = "type")]
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   | |
[INFO] [stdout]   | `Send` is not local
[INFO] [stdout]   | `Serialize` is not local
[INFO] [stdout]   | move the `impl` block outside of this constant `_APIResult_registry`
[INFO] [stdout] 6 | pub trait APIResult {
[INFO] [stdout]   |           --------- `APIResult` is not local
[INFO] [stdout]   |
[INFO] [stdout]   = note: the attribute macro `typetag::serde` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]   = note: the attribute macro `typetag::serde` may come from an old version of the `typetag_impl` crate, try updating your dependency with `cargo update -p typetag_impl`
[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 attribute macro `typetag::serde` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stdout]   --> src/libcni/exec.rs:65:30
[INFO] [stdout]    |
[INFO] [stdout] 65 |     fn new(buf: &'a [u8]) -> BufferedStdin {
[INFO] [stdout]    |                  --          ^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                  |
[INFO] [stdout]    |                  the lifetime is named here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: consistently use `'a`
[INFO] [stdout]    |
[INFO] [stdout] 65 |     fn new(buf: &'a [u8]) -> BufferedStdin<'a> {
[INFO] [stdout]    |                                           ++++
[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/libcni/result/mod.rs:5:1
[INFO] [stdout]   |
[INFO] [stdout] 5 | #[typetag::serde(tag = "type")]
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   | |
[INFO] [stdout]   | `Serialize` is not local
[INFO] [stdout]   | move the `impl` block outside of this constant `_APIResult_registry`
[INFO] [stdout] 6 | pub trait APIResult {
[INFO] [stdout]   |           --------- `APIResult` is not local
[INFO] [stdout]   |
[INFO] [stdout]   = note: the attribute macro `typetag::serde` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]   = note: the attribute macro `typetag::serde` may come from an old version of the `typetag_impl` crate, try updating your dependency with `cargo update -p typetag_impl`
[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 attribute macro `typetag::serde` (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/libcni/result/mod.rs:5:1
[INFO] [stdout]   |
[INFO] [stdout] 5 | #[typetag::serde(tag = "type")]
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   | |
[INFO] [stdout]   | `Sync` is not local
[INFO] [stdout]   | `Serialize` is not local
[INFO] [stdout]   | move the `impl` block outside of this constant `_APIResult_registry`
[INFO] [stdout] 6 | pub trait APIResult {
[INFO] [stdout]   |           --------- `APIResult` is not local
[INFO] [stdout]   |
[INFO] [stdout]   = note: the attribute macro `typetag::serde` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]   = note: the attribute macro `typetag::serde` may come from an old version of the `typetag_impl` crate, try updating your dependency with `cargo update -p typetag_impl`
[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 attribute macro `typetag::serde` (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/libcni/result/mod.rs:5:1
[INFO] [stdout]   |
[INFO] [stdout] 5 | #[typetag::serde(tag = "type")]
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   | |
[INFO] [stdout]   | `Send` is not local
[INFO] [stdout]   | `Sync` is not local
[INFO] [stdout]   | `Serialize` is not local
[INFO] [stdout]   | move the `impl` block outside of this constant `_APIResult_registry`
[INFO] [stdout] 6 | pub trait APIResult {
[INFO] [stdout]   |           --------- `APIResult` is not local
[INFO] [stdout]   |
[INFO] [stdout]   = note: the attribute macro `typetag::serde` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]   = note: the attribute macro `typetag::serde` may come from an old version of the `typetag_impl` crate, try updating your dependency with `cargo update -p typetag_impl`
[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 attribute macro `typetag::serde` (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/libcni/result/mod.rs:5:1
[INFO] [stdout]   |
[INFO] [stdout] 5 | #[typetag::serde(tag = "type")]
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ move the `impl` block outside of this constant `_APIResult_registry`
[INFO] [stdout] 6 | pub trait APIResult {
[INFO] [stdout]   |           --------- `APIResult` is not local
[INFO] [stdout]   |
[INFO] [stdout]   = note: the attribute macro `typetag::serde` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]   = note: the attribute macro `typetag::serde` may come from an old version of the `typetag_impl` crate, try updating your dependency with `cargo update -p typetag_impl`
[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 attribute macro `typetag::serde` (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/libcni/result/mod.rs:5:1
[INFO] [stdout]   |
[INFO] [stdout] 5 | #[typetag::serde(tag = "type")]
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   | |
[INFO] [stdout]   | `Send` is not local
[INFO] [stdout]   | `Serialize` is not local
[INFO] [stdout]   | move the `impl` block outside of this constant `_APIResult_registry`
[INFO] [stdout] 6 | pub trait APIResult {
[INFO] [stdout]   |           --------- `APIResult` is not local
[INFO] [stdout]   |
[INFO] [stdout]   = note: the attribute macro `typetag::serde` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]   = note: the attribute macro `typetag::serde` may come from an old version of the `typetag_impl` crate, try updating your dependency with `cargo update -p typetag_impl`
[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 attribute macro `typetag::serde` (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/libcni/result/mod.rs:5:1
[INFO] [stdout]   |
[INFO] [stdout] 5 | #[typetag::serde(tag = "type")]
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   | |
[INFO] [stdout]   | `Strictest` is not local
[INFO] [stdout]   | move the `impl` block outside of this constant `_APIResult_registry`
[INFO] [stdout] 6 | pub trait APIResult {
[INFO] [stdout]   |           --------- `APIResult` is not local
[INFO] [stdout]   |
[INFO] [stdout]   = note: the attribute macro `typetag::serde` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]   = note: the attribute macro `typetag::serde` may come from an old version of the `typetag_impl` crate, try updating your dependency with `cargo update -p typetag_impl`
[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 attribute macro `typetag::serde` (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/libcni/result/mod.rs:5:1
[INFO] [stdout]   |
[INFO] [stdout] 5 | #[typetag::serde(tag = "type")]
[INFO] [stdout]   | -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   | |
[INFO] [stdout]   | `Box` is not local
[INFO] [stdout]   | `Deserialize` is not local
[INFO] [stdout]   | move the `impl` block outside of this constant `_APIResult_registry`
[INFO] [stdout] 6 | pub trait APIResult {
[INFO] [stdout]   |           --------- `APIResult` is not local
[INFO] [stdout]   |
[INFO] [stdout]   = note: the attribute macro `typetag::serde` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]   = note: the attribute macro `typetag::serde` may come from an old version of the `typetag_impl` crate, try updating your dependency with `cargo update -p typetag_impl`
[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 attribute macro `typetag::serde` (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/libcni/result/mod.rs:5:1
[INFO] [stdout]   |
[INFO] [stdout] 5 | #[typetag::serde(tag = "type")]
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   | |
[INFO] [stdout]   | `Sync` is not local
[INFO] [stdout]   | `Serialize` is not local
[INFO] [stdout]   | move the `impl` block outside of this constant `_APIResult_registry`
[INFO] [stdout] 6 | pub trait APIResult {
[INFO] [stdout]   |           --------- `APIResult` is not local
[INFO] [stdout]   |
[INFO] [stdout]   = note: the attribute macro `typetag::serde` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]   = note: the attribute macro `typetag::serde` may come from an old version of the `typetag_impl` crate, try updating your dependency with `cargo update -p typetag_impl`
[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 attribute macro `typetag::serde` (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/libcni/result/mod.rs:5:1
[INFO] [stdout]   |
[INFO] [stdout] 5 | #[typetag::serde(tag = "type")]
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   | |
[INFO] [stdout]   | `Send` is not local
[INFO] [stdout]   | `Sync` is not local
[INFO] [stdout]   | `Serialize` is not local
[INFO] [stdout]   | move the `impl` block outside of this constant `_APIResult_registry`
[INFO] [stdout] 6 | pub trait APIResult {
[INFO] [stdout]   |           --------- `APIResult` is not local
[INFO] [stdout]   |
[INFO] [stdout]   = note: the attribute macro `typetag::serde` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]   = note: the attribute macro `typetag::serde` may come from an old version of the `typetag_impl` crate, try updating your dependency with `cargo update -p typetag_impl`
[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 attribute macro `typetag::serde` (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/libcni/result/mod.rs:5:1
[INFO] [stdout]   |
[INFO] [stdout] 5 | #[typetag::serde(tag = "type")]
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ move the `impl` block outside of this constant `_APIResult_registry`
[INFO] [stdout] 6 | pub trait APIResult {
[INFO] [stdout]   |           --------- `APIResult` is not local
[INFO] [stdout]   |
[INFO] [stdout]   = note: the attribute macro `typetag::serde` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]   = note: the attribute macro `typetag::serde` may come from an old version of the `typetag_impl` crate, try updating your dependency with `cargo update -p typetag_impl`
[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 attribute macro `typetag::serde` (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/libcni/result/mod.rs:5:1
[INFO] [stdout]   |
[INFO] [stdout] 5 | #[typetag::serde(tag = "type")]
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   | |
[INFO] [stdout]   | `Strictest` is not local
[INFO] [stdout]   | move the `impl` block outside of this constant `_APIResult_registry`
[INFO] [stdout] 6 | pub trait APIResult {
[INFO] [stdout]   |           --------- `APIResult` is not local
[INFO] [stdout]   |
[INFO] [stdout]   = note: the attribute macro `typetag::serde` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]   = note: the attribute macro `typetag::serde` may come from an old version of the `typetag_impl` crate, try updating your dependency with `cargo update -p typetag_impl`
[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 attribute macro `typetag::serde` (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/libcni/result/mod.rs:5:1
[INFO] [stdout]   |
[INFO] [stdout] 5 | #[typetag::serde(tag = "type")]
[INFO] [stdout]   | -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   | |
[INFO] [stdout]   | `Box` is not local
[INFO] [stdout]   | `Deserialize` is not local
[INFO] [stdout]   | move the `impl` block outside of this constant `_APIResult_registry`
[INFO] [stdout] 6 | pub trait APIResult {
[INFO] [stdout]   |           --------- `APIResult` is not local
[INFO] [stdout]   |
[INFO] [stdout]   = note: the attribute macro `typetag::serde` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]   = note: the attribute macro `typetag::serde` may come from an old version of the `typetag_impl` crate, try updating your dependency with `cargo update -p typetag_impl`
[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 attribute macro `typetag::serde` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `cni` (lib) due to 1 previous error; 32 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stderr] error: could not compile `cni` (lib test) due to 1 previous error; 32 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "646d7bdb0fb31f662c36773b6d8cfc48d34973eb554cfba2bc485ee98a26f5cd", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "646d7bdb0fb31f662c36773b6d8cfc48d34973eb554cfba2bc485ee98a26f5cd", kill_on_drop: false }`
[INFO] [stdout] 646d7bdb0fb31f662c36773b6d8cfc48d34973eb554cfba2bc485ee98a26f5cd
