[INFO] fetching crate cni 0.1.3... [INFO] checking cni-0.1.3 against master#350d0ef0ec0493e6d21cfb265cb8211a0e74d766 for pr-145342-1 [INFO] extracting crate cni 0.1.3 into /workspace/builds/worker-2-tc1/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-2-tc1/source/Cargo.toml [INFO] validating manifest of crates.io crate cni 0.1.3 on toolchain 350d0ef0ec0493e6d21cfb265cb8211a0e74d766 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+350d0ef0ec0493e6d21cfb265cb8211a0e74d766" "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" "+350d0ef0ec0493e6d21cfb265cb8211a0e74d766" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Locking 21 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.16) [INFO] [stderr] Adding typetag v0.1.8 (available: v0.2.20) [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+350d0ef0ec0493e6d21cfb265cb8211a0e74d766" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded ghost v0.1.20 [INFO] [stderr] Downloaded inventory v0.2.3 [INFO] [stderr] Downloaded ipnetwork v0.17.0 [INFO] [stderr] Downloaded typetag-impl v0.1.8 [INFO] [stderr] Downloaded typetag v0.1.8 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+350d0ef0ec0493e6d21cfb265cb8211a0e74d766" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 672cd24e156413f77b3381892585d161ffd0dfe4927f3bb1bbca9e0a44a4032b [INFO] running `Command { std: "docker" "start" "-a" "672cd24e156413f77b3381892585d161ffd0dfe4927f3bb1bbca9e0a44a4032b", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "672cd24e156413f77b3381892585d161ffd0dfe4927f3bb1bbca9e0a44a4032b", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "672cd24e156413f77b3381892585d161ffd0dfe4927f3bb1bbca9e0a44a4032b", kill_on_drop: false }` [INFO] [stdout] 672cd24e156413f77b3381892585d161ffd0dfe4927f3bb1bbca9e0a44a4032b [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+350d0ef0ec0493e6d21cfb265cb8211a0e74d766" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 29f6c6720cec7d741b48706bff8a1e2c4693fe9be53ad38ac455dbcaf51d9f42 [INFO] running `Command { std: "docker" "start" "-a" "29f6c6720cec7d741b48706bff8a1e2c4693fe9be53ad38ac455dbcaf51d9f42", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro2 v1.0.101 [INFO] [stderr] Compiling unicode-ident v1.0.18 [INFO] [stderr] Compiling syn v1.0.109 [INFO] [stderr] Compiling serde v1.0.219 [INFO] [stderr] Compiling thiserror v1.0.69 [INFO] [stderr] Compiling serde_json v1.0.143 [INFO] [stderr] Checking ryu v1.0.20 [INFO] [stderr] Checking once_cell v1.21.3 [INFO] [stderr] Checking itoa v1.0.15 [INFO] [stderr] Checking memchr v2.7.5 [INFO] [stderr] Compiling quote v1.0.40 [INFO] [stderr] Compiling syn v2.0.106 [INFO] [stderr] Compiling serde_derive v1.0.219 [INFO] [stderr] Compiling ghost v0.1.20 [INFO] [stderr] Compiling thiserror-impl 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 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)]` 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 variable: `plugin` [INFO] [stdout] --> src/libcni/exec.rs:51:28 [INFO] [stdout] | [INFO] [stdout] 51 | fn find_in_path(&self, plugin: String, paths: Vec) -> Result { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_plugin` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` 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) -> Result { [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(&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 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)]` 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: 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)]` 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] warning: field `stderr` is never read [INFO] [stdout] --> src/libcni/exec.rs:20:5 [INFO] [stdout] | [INFO] [stdout] 19 | pub struct RawExec { [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, [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:18 [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: 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) -> Result { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_plugin` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` 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) -> Result { [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(&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)]` 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] warning: field `stderr` is never read [INFO] [stdout] --> src/libcni/exec.rs:20:5 [INFO] [stdout] | [INFO] [stdout] 19 | pub struct RawExec { [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, [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:18 [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] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 22.02s [INFO] running `Command { std: "docker" "inspect" "29f6c6720cec7d741b48706bff8a1e2c4693fe9be53ad38ac455dbcaf51d9f42", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "29f6c6720cec7d741b48706bff8a1e2c4693fe9be53ad38ac455dbcaf51d9f42", kill_on_drop: false }` [INFO] [stdout] 29f6c6720cec7d741b48706bff8a1e2c4693fe9be53ad38ac455dbcaf51d9f42