[INFO] fetching crate mail-core-ng 0.6.3...
[INFO] checking mail-core-ng-0.6.3 against master#c2f2db79ca3024f68d22b45aa22b570775c2c4ad for pr-124157
[INFO] extracting crate mail-core-ng 0.6.3 into /workspace/builds/worker-1-tc1/source
[INFO] validating manifest of crates.io crate mail-core-ng 0.6.3 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 mail-core-ng 0.6.3
[INFO] finished tweaking crates.io crate mail-core-ng 0.6.3
[INFO] tweaked toml for crates.io crate mail-core-ng 0.6.3 written to /workspace/builds/worker-1-tc1/source/Cargo.toml
[INFO] crate crates.io crate mail-core-ng 0.6.3 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c2f2db79ca3024f68d22b45aa22b570775c2c4ad" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded vec1 v1.10.1
[INFO] [stderr]   Downloaded media-type v0.4.0-unstable
[INFO] [stderr]   Downloaded mail-internals-ng v0.2.4
[INFO] [stderr]   Downloaded media-type-impl-utils v0.3.0-unstable
[INFO] [stderr]   Downloaded vec-drain-where v1.0.1
[INFO] [stderr]   Downloaded lut v0.1.0-unstable
[INFO] [stderr]   Downloaded checked_command v0.2.4
[INFO] [stderr]   Downloaded total-order-multi-map v0.4.6
[INFO] [stderr]   Downloaded soft-ascii-string v1.1.0
[INFO] [stderr]   Downloaded mail-headers-ng v0.6.7
[INFO] [stderr]   Downloaded quoted-string v0.6.1
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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] f7574079e7811c8fc191446b34b75cc374eeb0edb39d2ffc5a8af70079fc3199
[INFO] running `Command { std: "docker" "start" "-a" "f7574079e7811c8fc191446b34b75cc374eeb0edb39d2ffc5a8af70079fc3199", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "f7574079e7811c8fc191446b34b75cc374eeb0edb39d2ffc5a8af70079fc3199", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "f7574079e7811c8fc191446b34b75cc374eeb0edb39d2ffc5a8af70079fc3199", kill_on_drop: false }`
[INFO] [stdout] f7574079e7811c8fc191446b34b75cc374eeb0edb39d2ffc5a8af70079fc3199
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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] 7d19ea3638acd07f1114d55a1f1b0e09c50614fbb5b4eb8b4de4967d837aa9bc
[INFO] running `Command { std: "docker" "start" "-a" "7d19ea3638acd07f1114d55a1f1b0e09c50614fbb5b4eb8b4de4967d837aa9bc", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.147
[INFO] [stderr]    Compiling memchr v2.5.0
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]    Compiling unicode-xid v0.2.4
[INFO] [stderr]    Compiling num-traits v0.2.16
[INFO] [stderr]     Checking gimli v0.27.3
[INFO] [stderr]    Compiling quote v1.0.32
[INFO] [stderr]     Checking lut v0.1.0-unstable
[INFO] [stderr]     Checking miniz_oxide v0.7.1
[INFO] [stderr]     Checking quoted-string v0.6.1
[INFO] [stderr]     Checking media-type-impl-utils v0.3.0-unstable
[INFO] [stderr]     Checking unicode-normalization v0.1.22
[INFO] [stderr]     Checking iana-time-zone v0.1.57
[INFO] [stderr]    Compiling serde v1.0.183
[INFO] [stderr]     Checking object v0.31.1
[INFO] [stderr]     Checking safemem v0.2.0
[INFO] [stderr]     Checking unicode-bidi v0.3.13
[INFO] [stderr]     Checking base64 v0.6.0
[INFO] [stderr]     Checking media-type v0.4.0-unstable
[INFO] [stderr]    Compiling cc v1.0.82
[INFO] [stderr]     Checking time v0.1.45
[INFO] [stderr]     Checking memchr v1.0.2
[INFO] [stderr]     Checking nom v3.2.1
[INFO] [stderr]     Checking idna v0.1.5
[INFO] [stderr]     Checking soft-ascii-string v1.1.0
[INFO] [stderr]     Checking chrono v0.4.26
[INFO] [stderr]     Checking quoted_printable v0.4.8
[INFO] [stderr]    Compiling checked_command v0.2.4
[INFO] [stderr]     Checking vec1 v1.10.1
[INFO] [stderr]     Checking vec-drain-where v1.0.1
[INFO] [stderr]     Checking rand v0.4.6
[INFO] [stderr]     Checking num_cpus v1.16.0
[INFO] [stderr]     Checking total-order-multi-map v0.4.6
[INFO] [stderr]     Checking futures v0.1.31
[INFO] [stderr]     Checking addr2line v0.20.0
[INFO] [stderr]    Compiling serde_json v1.0.104
[INFO] [stderr]     Checking log v0.4.19
[INFO] [stderr]    Compiling backtrace v0.3.68
[INFO] [stderr]    Compiling synstructure v0.12.6
[INFO] [stderr]     Checking log v0.3.9
[INFO] [stderr]     Checking rand v0.3.23
[INFO] [stderr]     Checking futures-cpupool v0.1.8
[INFO] [stderr]    Compiling failure_derive v0.1.8
[INFO] [stderr]     Checking failure v0.1.8
[INFO] [stderr]     Checking mail-internals-ng v0.2.4
[INFO] [stderr]     Checking mail-headers-ng v0.6.7
[INFO] [stderr]     Checking serde_test v1.0.176
[INFO] [stderr]     Checking mail-core-ng v0.6.3 (/opt/rustwide/workdir)
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/utils.rs:13:36
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub type SendBoxFuture<I, E> = Box<Future<Item=I, Error=E> + Send + 'static>;
[INFO] [stdout]    |                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub type SendBoxFuture<I, E> = Box<dyn Future<Item=I, Error=E> + Send + 'static>;
[INFO] [stdout]    |                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/error.rs:78:32
[INFO] [stdout]    |
[INFO] [stdout] 78 |     fn cause(&self) -> Option<&Fail> {
[INFO] [stdout]    |                                ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 78 |     fn cause(&self) -> Option<&dyn Fail> {
[INFO] [stdout]    |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/utils.rs:13:36
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub type SendBoxFuture<I, E> = Box<Future<Item=I, Error=E> + Send + 'static>;
[INFO] [stdout]    |                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub type SendBoxFuture<I, E> = Box<dyn Future<Item=I, Error=E> + Send + 'static>;
[INFO] [stdout]    |                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/error.rs:78:32
[INFO] [stdout]    |
[INFO] [stdout] 78 |     fn cause(&self) -> Option<&Fail> {
[INFO] [stdout]    |                                ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 78 |     fn cause(&self) -> Option<&dyn Fail> {
[INFO] [stdout]    |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/mail.rs:600:17
[INFO] [stdout]     |
[INFO] [stdout] 600 |             let mut headers: &mut HeaderMap = headers;
[INFO] [stdout]     |                 ----^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/iri.rs:14:30
[INFO] [stdout]    |
[INFO] [stdout] 14 | #[derive(Copy, Clone, Debug, Fail)]
[INFO] [stdout]    |                              ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_DERIVE_failure_Fail_FOR_InvalidIRIScheme`
[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 `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: `#[warn(non_local_definitions)]` on by default
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (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/iri.rs:14:30
[INFO] [stdout]    |
[INFO] [stdout] 14 | #[derive(Copy, Clone, Debug, Fail)]
[INFO] [stdout]    |                              ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_DERIVE_failure_core_fmt_Display_FOR_InvalidIRIScheme`
[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 `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (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/error.rs:22:17
[INFO] [stdout]    |
[INFO] [stdout] 22 | #[derive(Debug, Fail)]
[INFO] [stdout]    |                 ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_DERIVE_failure_Fail_FOR_ResourceError`
[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 `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (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/error.rs:22:17
[INFO] [stdout]    |
[INFO] [stdout] 22 | #[derive(Debug, Fail)]
[INFO] [stdout]    |                 ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_DERIVE_failure_core_fmt_Display_FOR_ResourceError`
[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 `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (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/error.rs:50:30
[INFO] [stdout]    |
[INFO] [stdout] 50 | #[derive(Copy, Clone, Debug, Fail, PartialEq, Eq, Hash)]
[INFO] [stdout]    |                              ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_DERIVE_failure_Fail_FOR_ResourceLoadingErrorKind`
[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 `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (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/error.rs:50:30
[INFO] [stdout]    |
[INFO] [stdout] 50 | #[derive(Copy, Clone, Debug, Fail, PartialEq, Eq, Hash)]
[INFO] [stdout]    |                              ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_DERIVE_failure_core_fmt_Display_FOR_ResourceLoadingErrorKind`
[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 `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (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/error.rs:155:17
[INFO] [stdout]     |
[INFO] [stdout] 155 | #[derive(Debug, Fail)]
[INFO] [stdout]     |                 ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: move this `impl` block outside the of the current constant `_DERIVE_failure_Fail_FOR_OtherValidationError`
[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 `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]     = note: this warning originates in the derive macro `Fail` (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/error.rs:155:17
[INFO] [stdout]     |
[INFO] [stdout] 155 | #[derive(Debug, Fail)]
[INFO] [stdout]     |                 ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: move this `impl` block outside the of the current constant `_DERIVE_failure_core_fmt_Display_FOR_OtherValidationError`
[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 `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]     = note: this warning originates in the derive macro `Fail` (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/error.rs:203:17
[INFO] [stdout]     |
[INFO] [stdout] 203 | #[derive(Debug, Fail)]
[INFO] [stdout]     |                 ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: move this `impl` block outside the of the current constant `_DERIVE_failure_Fail_FOR_MailError`
[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 `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]     = note: this warning originates in the derive macro `Fail` (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/error.rs:203:17
[INFO] [stdout]     |
[INFO] [stdout] 203 | #[derive(Debug, Fail)]
[INFO] [stdout]     |                 ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: move this `impl` block outside the of the current constant `_DERIVE_failure_core_fmt_Display_FOR_MailError`
[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 `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]     = note: this warning originates in the derive macro `Fail` (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/error.rs:281:30
[INFO] [stdout]     |
[INFO] [stdout] 281 | #[derive(Copy, Clone, Debug, Fail)]
[INFO] [stdout]     |                              ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: move this `impl` block outside the of the current constant `_DERIVE_failure_Fail_FOR_ResourceNotUnloadableError`
[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 `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]     = note: this warning originates in the derive macro `Fail` (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/error.rs:281:30
[INFO] [stdout]     |
[INFO] [stdout] 281 | #[derive(Copy, Clone, Debug, Fail)]
[INFO] [stdout]     |                              ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: move this `impl` block outside the of the current constant `_DERIVE_failure_core_fmt_Display_FOR_ResourceNotUnloadableError`
[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 `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]     = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `std::mem::replace` that must be used
[INFO] [stdout]    --> src/resource/loading.rs:184:21
[INFO] [stdout]     |
[INFO] [stdout] 184 |                     mem::replace(resource_ref, new_resource.to_resource());
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 184 |                     let _ = mem::replace(resource_ref, new_resource.to_resource());
[INFO] [stdout]     |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `std::mem::replace` that must be used
[INFO] [stdout]    --> src/mail.rs:466:21
[INFO] [stdout]     |
[INFO] [stdout] 466 | /                     mem::replace(
[INFO] [stdout] 467 | |                         &mut self.inner,
[INFO] [stdout] 468 | |                         InnerMailFuture::Loading {
[INFO] [stdout] 469 | |                             mail, ctx,
[INFO] [stdout] 470 | |                             pending: future::join_all(futures)
[INFO] [stdout] 471 | |                         }
[INFO] [stdout] 472 | |                     );
[INFO] [stdout]     | |_____________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 466 |                     let _ = mem::replace(
[INFO] [stdout]     |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `std::mem::replace` that must be used
[INFO] [stdout]    --> src/mail.rs:478:29
[INFO] [stdout]     |
[INFO] [stdout] 478 | / ...                   mem::replace(
[INFO] [stdout] 479 | | ...                       &mut self.inner,
[INFO] [stdout] 480 | | ...                       InnerMailFuture::Loading { mail, pending, ctx }
[INFO] [stdout] 481 | | ...                   );
[INFO] [stdout]     | |_______________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 478 |                             let _ = mem::replace(
[INFO] [stdout]     |                             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `std::mem::replace` that must be used
[INFO] [stdout]    --> src/mail.rs:554:9
[INFO] [stdout]     |
[INFO] [stdout] 554 |         mem::replace(resource, Resource::EncData(enc_data));
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 554 |         let _ = mem::replace(resource, Resource::EncData(enc_data));
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/default_impl/simple_context.rs:41:17
[INFO] [stdout]    |
[INFO] [stdout] 41 | #[derive(Debug, Fail)]
[INFO] [stdout]    |                 ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_DERIVE_failure_Fail_FOR_ContextSetupError`
[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 `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (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/default_impl/simple_context.rs:41:17
[INFO] [stdout]    |
[INFO] [stdout] 41 | #[derive(Debug, Fail)]
[INFO] [stdout]    |                 ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_DERIVE_failure_core_fmt_Display_FOR_ContextSetupError`
[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 `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 21 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `chrono::TimeZone::ymd`: use `with_ymd_and_hms()` instead
[INFO] [stdout]    --> src/mail.rs:885:37
[INFO] [stdout]     |
[INFO] [stdout] 885 |             let provided_date = Utc.ymd(1992, 5, 25).and_hms(23, 41, 12);
[INFO] [stdout]     |                                     ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `chrono::Date::<Tz>::and_hms`: Use and_hms_opt() instead
[INFO] [stdout]    --> src/mail.rs:885:54
[INFO] [stdout]     |
[INFO] [stdout] 885 |             let provided_date = Utc.ymd(1992, 5, 25).and_hms(23, 41, 12);
[INFO] [stdout]     |                                                      ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0463]: can't find crate for `mail_core`
[INFO] [stdout]  --> examples/readme.rs:4:1
[INFO] [stdout]   |
[INFO] [stdout] 4 | extern crate mail_core;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^ can't find crate
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0463]: can't find crate for `mail_core`
[INFO] [stdout]  --> tests/mail.rs:1:1
[INFO] [stdout]   |
[INFO] [stdout] 1 | extern crate mail_core;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^ can't find crate
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `futures::Future`
[INFO] [stdout]  --> tests/resource/load_file.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use futures::Future;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error; 1 warning emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0463`.
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `futures::Future`
[INFO] [stdout]   --> examples/readme.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use futures::Future;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error; 1 warning emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0463`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `mail-core-ng` (test "mail") due to 2 previous errors; 1 warning emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stderr] error: could not compile `mail-core-ng` (example "readme") due to 2 previous errors; 1 warning emitted
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/mail.rs:600:17
[INFO] [stdout]     |
[INFO] [stdout] 600 |             let mut headers: &mut HeaderMap = headers;
[INFO] [stdout]     |                 ----^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `AssertDebug` is never used
[INFO] [stdout]    --> src/mail.rs:677:11
[INFO] [stdout]     |
[INFO] [stdout] 677 |     trait AssertDebug: Debug {}
[INFO] [stdout]     |           ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `AssertSend` is never used
[INFO] [stdout]    --> src/mail.rs:678:11
[INFO] [stdout]     |
[INFO] [stdout] 678 |     trait AssertSend: Send {}
[INFO] [stdout]     |           ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `AssertSync` is never used
[INFO] [stdout]    --> src/mail.rs:679:11
[INFO] [stdout]     |
[INFO] [stdout] 679 |     trait AssertSync: Sync {}
[INFO] [stdout]     |           ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/iri.rs:14:30
[INFO] [stdout]    |
[INFO] [stdout] 14 | #[derive(Copy, Clone, Debug, Fail)]
[INFO] [stdout]    |                              ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_DERIVE_failure_Fail_FOR_InvalidIRIScheme`
[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 `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: `#[warn(non_local_definitions)]` on by default
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (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/iri.rs:14:30
[INFO] [stdout]    |
[INFO] [stdout] 14 | #[derive(Copy, Clone, Debug, Fail)]
[INFO] [stdout]    |                              ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_DERIVE_failure_core_fmt_Display_FOR_InvalidIRIScheme`
[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 `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (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/error.rs:22:17
[INFO] [stdout]    |
[INFO] [stdout] 22 | #[derive(Debug, Fail)]
[INFO] [stdout]    |                 ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_DERIVE_failure_Fail_FOR_ResourceError`
[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 `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (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/error.rs:22:17
[INFO] [stdout]    |
[INFO] [stdout] 22 | #[derive(Debug, Fail)]
[INFO] [stdout]    |                 ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_DERIVE_failure_core_fmt_Display_FOR_ResourceError`
[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 `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (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/error.rs:50:30
[INFO] [stdout]    |
[INFO] [stdout] 50 | #[derive(Copy, Clone, Debug, Fail, PartialEq, Eq, Hash)]
[INFO] [stdout]    |                              ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_DERIVE_failure_Fail_FOR_ResourceLoadingErrorKind`
[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 `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (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/error.rs:50:30
[INFO] [stdout]    |
[INFO] [stdout] 50 | #[derive(Copy, Clone, Debug, Fail, PartialEq, Eq, Hash)]
[INFO] [stdout]    |                              ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_DERIVE_failure_core_fmt_Display_FOR_ResourceLoadingErrorKind`
[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 `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (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/error.rs:155:17
[INFO] [stdout]     |
[INFO] [stdout] 155 | #[derive(Debug, Fail)]
[INFO] [stdout]     |                 ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: move this `impl` block outside the of the current constant `_DERIVE_failure_Fail_FOR_OtherValidationError`
[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 `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]     = note: this warning originates in the derive macro `Fail` (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/error.rs:155:17
[INFO] [stdout]     |
[INFO] [stdout] 155 | #[derive(Debug, Fail)]
[INFO] [stdout]     |                 ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: move this `impl` block outside the of the current constant `_DERIVE_failure_core_fmt_Display_FOR_OtherValidationError`
[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 `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]     = note: this warning originates in the derive macro `Fail` (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/error.rs:203:17
[INFO] [stdout]     |
[INFO] [stdout] 203 | #[derive(Debug, Fail)]
[INFO] [stdout]     |                 ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: move this `impl` block outside the of the current constant `_DERIVE_failure_Fail_FOR_MailError`
[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 `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]     = note: this warning originates in the derive macro `Fail` (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/error.rs:203:17
[INFO] [stdout]     |
[INFO] [stdout] 203 | #[derive(Debug, Fail)]
[INFO] [stdout]     |                 ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: move this `impl` block outside the of the current constant `_DERIVE_failure_core_fmt_Display_FOR_MailError`
[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 `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]     = note: this warning originates in the derive macro `Fail` (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/error.rs:281:30
[INFO] [stdout]     |
[INFO] [stdout] 281 | #[derive(Copy, Clone, Debug, Fail)]
[INFO] [stdout]     |                              ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: move this `impl` block outside the of the current constant `_DERIVE_failure_Fail_FOR_ResourceNotUnloadableError`
[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 `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]     = note: this warning originates in the derive macro `Fail` (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/error.rs:281:30
[INFO] [stdout]     |
[INFO] [stdout] 281 | #[derive(Copy, Clone, Debug, Fail)]
[INFO] [stdout]     |                              ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: move this `impl` block outside the of the current constant `_DERIVE_failure_core_fmt_Display_FOR_ResourceNotUnloadableError`
[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 `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]     = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `std::mem::replace` that must be used
[INFO] [stdout]    --> src/resource/loading.rs:184:21
[INFO] [stdout]     |
[INFO] [stdout] 184 |                     mem::replace(resource_ref, new_resource.to_resource());
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 184 |                     let _ = mem::replace(resource_ref, new_resource.to_resource());
[INFO] [stdout]     |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `std::mem::replace` that must be used
[INFO] [stdout]    --> src/mail.rs:466:21
[INFO] [stdout]     |
[INFO] [stdout] 466 | /                     mem::replace(
[INFO] [stdout] 467 | |                         &mut self.inner,
[INFO] [stdout] 468 | |                         InnerMailFuture::Loading {
[INFO] [stdout] 469 | |                             mail, ctx,
[INFO] [stdout] 470 | |                             pending: future::join_all(futures)
[INFO] [stdout] 471 | |                         }
[INFO] [stdout] 472 | |                     );
[INFO] [stdout]     | |_____________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 466 |                     let _ = mem::replace(
[INFO] [stdout]     |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `std::mem::replace` that must be used
[INFO] [stdout]    --> src/mail.rs:478:29
[INFO] [stdout]     |
[INFO] [stdout] 478 | / ...                   mem::replace(
[INFO] [stdout] 479 | | ...                       &mut self.inner,
[INFO] [stdout] 480 | | ...                       InnerMailFuture::Loading { mail, pending, ctx }
[INFO] [stdout] 481 | | ...                   );
[INFO] [stdout]     | |_______________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 478 |                             let _ = mem::replace(
[INFO] [stdout]     |                             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `std::mem::replace` that must be used
[INFO] [stdout]    --> src/mail.rs:554:9
[INFO] [stdout]     |
[INFO] [stdout] 554 |         mem::replace(resource, Resource::EncData(enc_data));
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 554 |         let _ = mem::replace(resource, Resource::EncData(enc_data));
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/default_impl/simple_context.rs:41:17
[INFO] [stdout]    |
[INFO] [stdout] 41 | #[derive(Debug, Fail)]
[INFO] [stdout]    |                 ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_DERIVE_failure_Fail_FOR_ContextSetupError`
[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 `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (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/default_impl/simple_context.rs:41:17
[INFO] [stdout]    |
[INFO] [stdout] 41 | #[derive(Debug, Fail)]
[INFO] [stdout]    |                 ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_DERIVE_failure_core_fmt_Display_FOR_ContextSetupError`
[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 `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 26 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "7d19ea3638acd07f1114d55a1f1b0e09c50614fbb5b4eb8b4de4967d837aa9bc", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "7d19ea3638acd07f1114d55a1f1b0e09c50614fbb5b4eb8b4de4967d837aa9bc", kill_on_drop: false }`
[INFO] [stdout] 7d19ea3638acd07f1114d55a1f1b0e09c50614fbb5b4eb8b4de4967d837aa9bc
