[INFO] fetching crate cni 0.1.3...
[INFO] checking cni-0.1.3 against try#0611f7de057c584b8771102fde7aed6c70c71d3b for pr-146440
[INFO] extracting crate cni 0.1.3 into /workspace/builds/worker-5-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-5-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate cni 0.1.3 on toolchain 0611f7de057c584b8771102fde7aed6c70c71d3b
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+0611f7de057c584b8771102fde7aed6c70c71d3b" "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" "+0611f7de057c584b8771102fde7aed6c70c71d3b" "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" "+0611f7de057c584b8771102fde7aed6c70c71d3b" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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" "+0611f7de057c584b8771102fde7aed6c70c71d3b" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] f19a809ee192953f93dea69e40960c42c68abbd0bfc8dbf31c6f8173564677e4
[INFO] running `Command { std: "docker" "start" "-a" "f19a809ee192953f93dea69e40960c42c68abbd0bfc8dbf31c6f8173564677e4", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "f19a809ee192953f93dea69e40960c42c68abbd0bfc8dbf31c6f8173564677e4", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "f19a809ee192953f93dea69e40960c42c68abbd0bfc8dbf31c6f8173564677e4", kill_on_drop: false }`
[INFO] [stdout] f19a809ee192953f93dea69e40960c42c68abbd0bfc8dbf31c6f8173564677e4
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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" "+0611f7de057c584b8771102fde7aed6c70c71d3b" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] e0a97d1ea862ac2ba05e3b85622bda11049ef7ef4f2d3b54987ce756ac153b43
[INFO] running `Command { std: "docker" "start" "-a" "e0a97d1ea862ac2ba05e3b85622bda11049ef7ef4f2d3b54987ce756ac153b43", kill_on_drop: false }`
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]    Compiling ghost v0.1.21
[INFO] [stderr]     Checking erased-serde v0.3.31
[INFO] [stderr]     Checking ipnetwork v0.17.0
[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 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::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`
[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: `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: `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: `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: `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_struct)]` (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: 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: 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_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_struct)]` (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: 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]   | `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]   | `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] [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]   | `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]   | `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" "e0a97d1ea862ac2ba05e3b85622bda11049ef7ef4f2d3b54987ce756ac153b43", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "e0a97d1ea862ac2ba05e3b85622bda11049ef7ef4f2d3b54987ce756ac153b43", kill_on_drop: false }`
[INFO] [stdout] e0a97d1ea862ac2ba05e3b85622bda11049ef7ef4f2d3b54987ce756ac153b43
