[INFO] fetching crate dfu-core 0.6.0...
[INFO] checking dfu-core-0.6.0 against master#c2f2db79ca3024f68d22b45aa22b570775c2c4ad for pr-124157
[INFO] extracting crate dfu-core 0.6.0 into /workspace/builds/worker-2-tc1/source
[INFO] validating manifest of crates.io crate dfu-core 0.6.0 on toolchain c2f2db79ca3024f68d22b45aa22b570775c2c4ad
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c2f2db79ca3024f68d22b45aa22b570775c2c4ad" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate dfu-core 0.6.0
[INFO] finished tweaking crates.io crate dfu-core 0.6.0
[INFO] tweaked toml for crates.io crate dfu-core 0.6.0 written to /workspace/builds/worker-2-tc1/source/Cargo.toml
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c2f2db79ca3024f68d22b45aa22b570775c2c4ad" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]      Locking 37 packages to latest compatible versions
[INFO] [stderr]       Adding env_logger v0.10.2 (latest: v0.11.3)
[INFO] [stderr]       Adding num-derive v0.3.3 (latest: v0.4.2)
[INFO] [stderr]       Adding pretty-hex v0.3.0 (latest: v0.4.1)
[INFO] [stderr]       Adding syn v1.0.109 (latest: v2.0.60)
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c2f2db79ca3024f68d22b45aa22b570775c2c4ad" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded pretty-hex v0.3.0
[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:99613afd962a8cfa530ec1899472a458bd015a1ab0af876cf7eb06f6006d81ea" "/opt/rustwide/cargo-home/bin/cargo" "+c2f2db79ca3024f68d22b45aa22b570775c2c4ad" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] afe985b9e98930f313a75671a67592ee101f48ac271ca19b138b26d9e16a098a
[INFO] running `Command { std: "docker" "start" "-a" "afe985b9e98930f313a75671a67592ee101f48ac271ca19b138b26d9e16a098a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "afe985b9e98930f313a75671a67592ee101f48ac271ca19b138b26d9e16a098a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "afe985b9e98930f313a75671a67592ee101f48ac271ca19b138b26d9e16a098a", kill_on_drop: false }`
[INFO] [stdout] afe985b9e98930f313a75671a67592ee101f48ac271ca19b138b26d9e16a098a
[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:99613afd962a8cfa530ec1899472a458bd015a1ab0af876cf7eb06f6006d81ea" "/opt/rustwide/cargo-home/bin/cargo" "+c2f2db79ca3024f68d22b45aa22b570775c2c4ad" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 0591f2df5b4dc8609b0ccaa213047393c8d39d3272b2153bbc06f67a9c869a87
[INFO] running `Command { std: "docker" "start" "-a" "0591f2df5b4dc8609b0ccaa213047393c8d39d3272b2153bbc06f67a9c869a87", kill_on_drop: false }`
[INFO] [stderr]     Checking memchr v2.7.2
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]     Checking log v0.4.21
[INFO] [stderr]     Checking humantime v2.1.0
[INFO] [stderr]     Checking pretty-hex v0.3.0
[INFO] [stderr]    Compiling syn v2.0.60
[INFO] [stderr]     Checking termcolor v1.4.1
[INFO] [stderr]     Checking aho-corasick v1.1.3
[INFO] [stderr]     Checking regex-automata v0.4.6
[INFO] [stderr]    Compiling displaydoc v0.2.4
[INFO] [stderr]    Compiling thiserror-impl v1.0.59
[INFO] [stderr]    Compiling num-derive v0.3.3
[INFO] [stderr]     Checking dfu-core v0.6.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/lib.rs:32:17
[INFO] [stdout]    |
[INFO] [stdout] 32 | #[derive(Debug, Display)]
[INFO] [stdout]    |                 ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_DERIVE_Display_FOR_Error`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: the derive macro `Display` may come from an old version of the `displaydoc` crate, try updating your dependency with `cargo update -p displaydoc`
[INFO] [stdout]    = note: `#[warn(non_local_definitions)]` on by default
[INFO] [stdout]    = note: this warning originates in the derive macro `Display` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]    --> src/lib.rs:259:45
[INFO] [stdout]     |
[INFO] [stdout] 259 | #[derive(Debug, Clone, Copy, Eq, PartialEq, Display)]
[INFO] [stdout]     |                                             ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: move this `impl` block outside the of the current constant `_DERIVE_Display_FOR_Status`
[INFO] [stdout]     = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]     = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]     = note: the derive macro `Display` may come from an old version of the `displaydoc` crate, try updating your dependency with `cargo update -p displaydoc`
[INFO] [stdout]     = note: this warning originates in the derive macro `Display` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]    --> src/lib.rs:348:45
[INFO] [stdout]     |
[INFO] [stdout] 348 | #[derive(Debug, Clone, Copy, Eq, PartialEq, Display)]
[INFO] [stdout]     |                                             ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: move this `impl` block outside the of the current constant `_DERIVE_Display_FOR_State`
[INFO] [stdout]     = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]     = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]     = note: the derive macro `Display` may come from an old version of the `displaydoc` crate, try updating your dependency with `cargo update -p displaydoc`
[INFO] [stdout]     = note: this warning originates in the derive macro `Display` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]  --> src/functional_descriptor.rs:6:17
[INFO] [stdout]   |
[INFO] [stdout] 6 | #[derive(Debug, Display)]
[INFO] [stdout]   |                 ^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = help: move this `impl` block outside the of the current constant `_DERIVE_Display_FOR_Error`
[INFO] [stdout]   = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]   = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]   = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]   = note: the derive macro `Display` may come from an old version of the `displaydoc` crate, try updating your dependency with `cargo update -p displaydoc`
[INFO] [stdout]   = note: this warning originates in the derive macro `Display` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 4 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking thiserror v1.0.59
[INFO] [stderr]     Checking regex v1.10.4
[INFO] [stderr]     Checking env_logger v0.10.2
[INFO] [stdout] error[E0432]: unresolved import `dfu_core::memory_layout::MemoryLayout`
[INFO] [stdout]   --> tests/mock.rs:5:50
[INFO] [stdout]    |
[INFO] [stdout] 5  |     functional_descriptor::FunctionalDescriptor, memory_layout::MemoryLayout, DfuProtocol, State,
[INFO] [stdout]    |                                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^ no `MemoryLayout` in `memory_layout`
[INFO] [stdout]    |
[INFO] [stdout] note: found an item that was configured out
[INFO] [stdout]   --> /opt/rustwide/workdir/src/memory_layout.rs:33:12
[INFO] [stdout]    |
[INFO] [stdout] 33 | pub struct MemoryLayout(Vec<MemoryPage>);
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: could not find `sync` in `dfu_core`
[INFO] [stdout]   --> tests/download.rs:61:29
[INFO] [stdout]    |
[INFO] [stdout] 61 |     let mut dfu = dfu_core::sync::DfuSync::new(mock);
[INFO] [stdout]    |                             ^^^^ could not find `sync` in `dfu_core`
[INFO] [stdout]    |
[INFO] [stdout] note: found an item that was configured out
[INFO] [stdout]   --> /opt/rustwide/workdir/src/lib.rs:24:9
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub mod sync;
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `convert::TryFrom`
[INFO] [stdout]  --> tests/mock.rs:1:26
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{cell::RefCell, convert::TryFrom};
[INFO] [stdout]   |                          ^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `dfu_core::memory_layout::MemoryLayout`
[INFO] [stdout]   --> tests/mock.rs:5:50
[INFO] [stdout]    |
[INFO] [stdout] 5  |     functional_descriptor::FunctionalDescriptor, memory_layout::MemoryLayout, DfuProtocol, State,
[INFO] [stdout]    |                                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^ no `MemoryLayout` in `memory_layout`
[INFO] [stdout]    |
[INFO] [stdout] note: found an item that was configured out
[INFO] [stdout]   --> /opt/rustwide/workdir/src/memory_layout.rs:33:12
[INFO] [stdout]    |
[INFO] [stdout] 33 | pub struct MemoryLayout(Vec<MemoryPage>);
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `convert::TryFrom`
[INFO] [stdout]  --> tests/mock.rs:1:26
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{cell::RefCell, convert::TryFrom};
[INFO] [stdout]   |                          ^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> tests/mock.rs:129:32
[INFO] [stdout]     |
[INFO] [stdout] 129 |             } => memory_layout.iter().sum(),
[INFO] [stdout]     |                                ^^^^ cannot infer type for type parameter `M` declared on the enum `DfuProtocol`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> tests/mock.rs:129:32
[INFO] [stdout]     |
[INFO] [stdout] 129 |             } => memory_layout.iter().sum(),
[INFO] [stdout]     |                                ^^^^ cannot infer type for type parameter `M` declared on the enum `DfuProtocol`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed for `&_`
[INFO] [stdout]    --> tests/mock.rs:138:13
[INFO] [stdout]     |
[INFO] [stdout] 138 |         let m = match self.protocol {
[INFO] [stdout]     |             ^
[INFO] [stdout] ...
[INFO] [stdout] 147 |             .iter()
[INFO] [stdout]     |              ---- type must be known at this point
[INFO] [stdout]     |
[INFO] [stdout] help: consider giving `m` an explicit type, where the type for type parameter `M` is specified
[INFO] [stdout]     |
[INFO] [stdout] 138 |         let m: &M = match self.protocol {
[INFO] [stdout]     |              ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed for `&_`
[INFO] [stdout]    --> tests/mock.rs:138:13
[INFO] [stdout]     |
[INFO] [stdout] 138 |         let m = match self.protocol {
[INFO] [stdout]     |             ^
[INFO] [stdout] ...
[INFO] [stdout] 147 |             .iter()
[INFO] [stdout]     |              ---- type must be known at this point
[INFO] [stdout]     |
[INFO] [stdout] help: consider giving `m` an explicit type, where the type for type parameter `M` is specified
[INFO] [stdout]     |
[INFO] [stdout] 138 |         let m: &M = match self.protocol {
[INFO] [stdout]     |              ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `as_dyn_error` exists for reference `&Error`, but its trait bounds were not satisfied
[INFO] [stdout]    --> tests/mock.rs:287:13
[INFO] [stdout]     |
[INFO] [stdout] 287 |     #[error(transparent)]
[INFO] [stdout]     |             ^^^^^^^^^^^ method cannot be called on `&Error` due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/workdir/src/lib.rs:35:1
[INFO] [stdout]     |
[INFO] [stdout] 35  | pub enum Error {
[INFO] [stdout]     | -------------- doesn't satisfy `dfu_core::Error: AsDynError<'_>` or `dfu_core::Error: std::error::Error`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `dfu_core::Error: std::error::Error`
[INFO] [stdout]             which is required by `dfu_core::Error: AsDynError<'_>`
[INFO] [stdout]             `&dfu_core::Error: std::error::Error`
[INFO] [stdout]             which is required by `&dfu_core::Error: AsDynError<'_>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `as_dyn_error` exists for reference `&Error`, but its trait bounds were not satisfied
[INFO] [stdout]    --> tests/mock.rs:287:13
[INFO] [stdout]     |
[INFO] [stdout] 287 |     #[error(transparent)]
[INFO] [stdout]     |             ^^^^^^^^^^^ method cannot be called on `&Error` due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/workdir/src/lib.rs:35:1
[INFO] [stdout]     |
[INFO] [stdout] 35  | pub enum Error {
[INFO] [stdout]     | -------------- doesn't satisfy `dfu_core::Error: AsDynError<'_>` or `dfu_core::Error: std::error::Error`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `dfu_core::Error: std::error::Error`
[INFO] [stdout]             which is required by `dfu_core::Error: AsDynError<'_>`
[INFO] [stdout]             `&dfu_core::Error: std::error::Error`
[INFO] [stdout]             which is required by `&dfu_core::Error: AsDynError<'_>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/lib.rs:32:17
[INFO] [stdout]    |
[INFO] [stdout] 32 | #[derive(Debug, Display)]
[INFO] [stdout]    |                 ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_DERIVE_Display_FOR_Error`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: the derive macro `Display` may come from an old version of the `displaydoc` crate, try updating your dependency with `cargo update -p displaydoc`
[INFO] [stdout]    = note: `#[warn(non_local_definitions)]` on by default
[INFO] [stdout]    = note: this warning originates in the derive macro `Display` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 4 previous errors; 1 warning emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0282, E0432, E0599.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0282`.
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]    --> src/lib.rs:259:45
[INFO] [stdout]     |
[INFO] [stdout] 259 | #[derive(Debug, Clone, Copy, Eq, PartialEq, Display)]
[INFO] [stdout]     |                                             ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: move this `impl` block outside the of the current constant `_DERIVE_Display_FOR_Status`
[INFO] [stdout]     = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]     = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]     = note: the derive macro `Display` may come from an old version of the `displaydoc` crate, try updating your dependency with `cargo update -p displaydoc`
[INFO] [stdout]     = note: this warning originates in the derive macro `Display` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]    --> src/lib.rs:348:45
[INFO] [stdout]     |
[INFO] [stdout] 348 | #[derive(Debug, Clone, Copy, Eq, PartialEq, Display)]
[INFO] [stdout]     |                                             ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: move this `impl` block outside the of the current constant `_DERIVE_Display_FOR_State`
[INFO] [stdout]     = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]     = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]     = note: the derive macro `Display` may come from an old version of the `displaydoc` crate, try updating your dependency with `cargo update -p displaydoc`
[INFO] [stdout]     = note: this warning originates in the derive macro `Display` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `dfu-core` (test "mock") due to 5 previous errors; 1 warning emitted
[INFO] [stdout] warning: unused import: `dfu_core::DfuIo`
[INFO] [stdout]  --> tests/download.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use dfu_core::DfuIo;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] error: aborting due to 5 previous errors; 2 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0282, E0432, E0433, E0599.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0282`.
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]  --> src/functional_descriptor.rs:6:17
[INFO] [stdout]   |
[INFO] [stdout] 6 | #[derive(Debug, Display)]
[INFO] [stdout]   |                 ^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = help: move this `impl` block outside the of the current constant `_DERIVE_Display_FOR_Error`
[INFO] [stdout]   = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]   = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]   = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]   = note: the derive macro `Display` may come from an old version of the `displaydoc` crate, try updating your dependency with `cargo update -p displaydoc`
[INFO] [stdout]   = note: this warning originates in the derive macro `Display` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/memory_layout.rs:11:17
[INFO] [stdout]    |
[INFO] [stdout] 11 | #[derive(Debug, Display, Error)]
[INFO] [stdout]    |                 ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_DERIVE_Display_FOR_Error`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: the derive macro `Display` may come from an old version of the `displaydoc` crate, try updating your dependency with `cargo update -p displaydoc`
[INFO] [stdout]    = note: this warning originates in the derive macro `Display` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `dfu-core` (test "download") due to 6 previous errors; 2 warnings emitted
[INFO] [stdout] warning: 5 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "0591f2df5b4dc8609b0ccaa213047393c8d39d3272b2153bbc06f67a9c869a87", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "0591f2df5b4dc8609b0ccaa213047393c8d39d3272b2153bbc06f67a9c869a87", kill_on_drop: false }`
[INFO] [stdout] 0591f2df5b4dc8609b0ccaa213047393c8d39d3272b2153bbc06f67a9c869a87
