[INFO] fetching crate honeybadger 0.2.1... [INFO] checking honeybadger-0.2.1 against try#c387b04bf028733cd561d62128c8a5eee4bc1458+rustflags=-Dtail_expr_drop_order for pr-130930 [INFO] extracting crate honeybadger 0.2.1 into /workspace/builds/worker-4-tc2/source [INFO] validating manifest of crates.io crate honeybadger 0.2.1 on toolchain c387b04bf028733cd561d62128c8a5eee4bc1458 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c387b04bf028733cd561d62128c8a5eee4bc1458" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking crates.io crate honeybadger 0.2.1 [INFO] finished tweaking crates.io crate honeybadger 0.2.1 [INFO] tweaked toml for crates.io crate honeybadger 0.2.1 written to /workspace/builds/worker-4-tc2/source/Cargo.toml [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c387b04bf028733cd561d62128c8a5eee4bc1458" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Updating crates.io index [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Locking 150 packages to latest compatible versions [INFO] [stderr] Adding bitflags v1.3.2 (available: v2.6.0) [INFO] [stderr] Adding bytes v0.4.12 (available: v1.7.2) [INFO] [stderr] Adding cfg-if v0.1.10 (available: v1.0.0) [INFO] [stderr] Adding cloudabi v0.0.3 (available: v0.1.0) [INFO] [stderr] Adding core-foundation v0.9.4 (available: v0.10.0) [INFO] [stderr] Adding crossbeam-deque v0.7.4 (available: v0.8.5) [INFO] [stderr] Adding crossbeam-epoch v0.8.2 (available: v0.9.18) [INFO] [stderr] Adding crossbeam-queue v0.2.3 (available: v0.3.11) [INFO] [stderr] Adding crossbeam-utils v0.7.2 (available: v0.8.20) [INFO] [stderr] Adding foreign-types v0.3.2 (available: v0.5.0) [INFO] [stderr] Adding foreign-types-shared v0.1.1 (available: v0.3.1) [INFO] [stderr] Adding futures v0.1.31 (available: v0.3.30) [INFO] [stderr] Adding h2 v0.1.26 (available: v0.4.6) [INFO] [stderr] Adding hashbrown v0.12.3 (available: v0.14.5) [INFO] [stderr] Adding hermit-abi v0.3.9 (available: v0.4.0) [INFO] [stderr] Adding hostname v0.1.5 (available: v0.4.0) [INFO] [stderr] Adding http v0.1.21 (available: v1.1.0) [INFO] [stderr] Adding http-body v0.1.0 (available: v1.0.1) [INFO] [stderr] Adding hyper v0.12.36 (available: v1.4.1) [INFO] [stderr] Adding hyper-tls v0.3.2 (available: v0.6.0) [INFO] [stderr] Adding idna v0.1.5 (available: v1.0.2) [INFO] [stderr] Adding indexmap v1.9.3 (available: v2.5.0) [INFO] [stderr] Adding itoa v0.4.8 (available: v1.0.11) [INFO] [stderr] Adding linux-raw-sys v0.4.14 (available: v0.6.5) [INFO] [stderr] Adding lock_api v0.3.4 (available: v0.4.12) [INFO] [stderr] Adding memoffset v0.5.6 (available: v0.9.1) [INFO] [stderr] Adding mio v0.6.23 (available: v1.0.2) [INFO] [stderr] Adding miow v0.2.2 (available: v0.6.0) [INFO] [stderr] Adding parking_lot v0.9.0 (available: v0.12.3) [INFO] [stderr] Adding parking_lot_core v0.6.3 (available: v0.9.10) [INFO] [stderr] Adding percent-encoding v1.0.1 (available: v2.3.1) [INFO] [stderr] Adding redox_syscall v0.1.57 (available: v0.5.6) [INFO] [stderr] Adding rustc_version v0.2.3 (available: v0.4.1) [INFO] [stderr] Adding scoped-tls v0.1.2 (available: v1.0.1) [INFO] [stderr] Adding security-framework v2.11.1 (available: v3.0.0) [INFO] [stderr] Adding semver v0.9.0 (available: v1.0.23) [INFO] [stderr] Adding semver-parser v0.7.0 (available: v0.10.2) [INFO] [stderr] Adding smallvec v0.6.14 (available: v1.13.2) [INFO] [stderr] Adding string v0.2.1 (available: v0.3.1) [INFO] [stderr] Adding syn v1.0.109 (available: v2.0.79) [INFO] [stderr] Adding synstructure v0.12.6 (available: v0.13.1) [INFO] [stderr] Adding time v0.1.45 (available: v0.3.36) [INFO] [stderr] Adding tokio v0.1.22 (available: v1.40.0) [INFO] [stderr] Adding url v1.7.2 (available: v2.5.2) [INFO] [stderr] Adding want v0.2.0 (available: v0.3.1) [INFO] [stderr] Adding wasi v0.10.0+wasi-snapshot-preview1 (available: v0.10.2+wasi-snapshot-preview1) [INFO] [stderr] Adding winapi v0.2.8 (available: v0.3.9) [INFO] [stderr] Adding windows-sys v0.52.0 (available: v0.59.0) [INFO] [stderr] Adding yup-hyper-mock v3.15.0 (available: v8.0.0) [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c387b04bf028733cd561d62128c8a5eee4bc1458" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2021 [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:6252d7ea7fb8caaf7af6d800c5fb250a9cd862b9a7f9508afb3c54fa7fe1102e" "/opt/rustwide/cargo-home/bin/cargo" "+c387b04bf028733cd561d62128c8a5eee4bc1458" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] cad8b52842890518f9580df6a2843e9f6d43f1449cd8bda09ffc05227a36db6c [INFO] running `Command { std: "docker" "start" "-a" "cad8b52842890518f9580df6a2843e9f6d43f1449cd8bda09ffc05227a36db6c", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "cad8b52842890518f9580df6a2843e9f6d43f1449cd8bda09ffc05227a36db6c", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "cad8b52842890518f9580df6a2843e9f6d43f1449cd8bda09ffc05227a36db6c", kill_on_drop: false }` [INFO] [stdout] cad8b52842890518f9580df6a2843e9f6d43f1449cd8bda09ffc05227a36db6c [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid -Dtail_expr_drop_order" "-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:6252d7ea7fb8caaf7af6d800c5fb250a9cd862b9a7f9508afb3c54fa7fe1102e" "/opt/rustwide/cargo-home/bin/cargo" "+c387b04bf028733cd561d62128c8a5eee4bc1458" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] dab86ac551e9debd8d2cdfdce0dda4f43b18c5fc29d0ef3ea9841f0f5c7036fc [INFO] running `Command { std: "docker" "start" "-a" "dab86ac551e9debd8d2cdfdce0dda4f43b18c5fc29d0ef3ea9841f0f5c7036fc", kill_on_drop: false }` [INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2021 [INFO] [stderr] Compiling crossbeam-utils v0.7.2 [INFO] [stderr] Compiling memoffset v0.5.6 [INFO] [stderr] Checking lock_api v0.3.4 [INFO] [stderr] Compiling crossbeam-epoch v0.8.2 [INFO] [stderr] Checking tokio-sync v0.1.8 [INFO] [stderr] Checking itoa v0.4.8 [INFO] [stderr] Checking iovec v0.1.4 [INFO] [stderr] Checking num_cpus v1.16.0 [INFO] [stderr] Checking net2 v0.2.39 [INFO] [stderr] Compiling parking_lot_core v0.6.3 [INFO] [stderr] Compiling parking_lot v0.9.0 [INFO] [stderr] Checking smallvec v0.6.14 [INFO] [stderr] Compiling syn v1.0.109 [INFO] [stderr] Compiling hyper v0.12.36 [INFO] [stderr] Checking want v0.2.0 [INFO] [stderr] Checking openssl-sys v0.9.103 [INFO] [stderr] Checking futures-cpupool v0.1.8 [INFO] [stderr] Checking bytes v0.4.12 [INFO] [stderr] Checking time v0.1.45 [INFO] [stderr] Checking object v0.36.4 [INFO] [stderr] Compiling failure_derive v0.1.8 [INFO] [stderr] Checking mio v0.6.23 [INFO] [stderr] Compiling error-chain v0.12.4 [INFO] [stderr] Checking scoped-tls v0.1.2 [INFO] [stderr] Checking os_type v2.6.0 [INFO] [stderr] Checking hostname v0.1.5 [INFO] [stderr] Checking tokio-io v0.1.13 [INFO] [stderr] Checking http v0.1.21 [INFO] [stderr] Checking string v0.2.1 [INFO] [stderr] Checking tokio-buf v0.1.1 [INFO] [stderr] Checking tokio-executor v0.1.10 [INFO] [stderr] Checking crossbeam-queue v0.2.3 [INFO] [stderr] Checking mio-uds v0.6.8 [INFO] [stderr] Checking tokio-current-thread v0.1.7 [INFO] [stderr] Checking tokio-timer v0.2.13 [INFO] [stderr] Checking tokio-reactor v0.1.12 [INFO] [stderr] Checking tokio-codec v0.1.2 [INFO] [stderr] Checking crossbeam-deque v0.7.4 [INFO] [stderr] Checking tokio-threadpool v0.1.18 [INFO] [stderr] Checking tokio-udp v0.1.6 [INFO] [stderr] Checking tokio-uds v0.2.7 [INFO] [stderr] Checking tokio-tcp v0.1.4 [INFO] [stderr] Checking openssl v0.10.66 [INFO] [stderr] Checking tokio-fs v0.1.7 [INFO] [stderr] Checking tokio v0.1.22 [INFO] [stderr] Checking tokio-core v0.1.18 [INFO] [stderr] Checking h2 v0.1.26 [INFO] [stderr] Checking http-body v0.1.0 [INFO] [stderr] Compiling synstructure v0.12.6 [INFO] [stderr] Checking backtrace v0.3.74 [INFO] [stderr] Checking native-tls v0.2.12 [INFO] [stderr] Checking failure v0.1.8 [INFO] [stderr] Checking hyper-tls v0.3.2 [INFO] [stderr] Checking yup-hyper-mock v3.15.0 [INFO] [stderr] Checking honeybadger v0.2.1 (/opt/rustwide/workdir) [INFO] [stdout] warning: elided lifetime has a name [INFO] [stdout] --> src/honeybadger.rs:485:50 [INFO] [stdout] | [INFO] [stdout] 481 | pub fn notify<'req, E: Into<::notice::Error>>( [INFO] [stdout] | ---- lifetime `'req` declared here [INFO] [stdout] ... [INFO] [stdout] 485 | ) -> impl Future + '_ [INFO] [stdout] | ^^ this elided lifetime gets resolved as `'req` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(elided_named_lifetimes)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: elided lifetime has a name [INFO] [stdout] --> src/honeybadger.rs:485:50 [INFO] [stdout] | [INFO] [stdout] 481 | pub fn notify<'req, E: Into<::notice::Error>>( [INFO] [stdout] | ---- lifetime `'req` declared here [INFO] [stdout] ... [INFO] [stdout] 485 | ) -> impl Future + '_ [INFO] [stdout] | ^^ this elided lifetime gets resolved as `'req` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(elided_named_lifetimes)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/notice.rs:67:15 [INFO] [stdout] | [INFO] [stdout] 67 | impl From> for Error { [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 [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] 67 | impl From> for Error { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/notice.rs:67:15 [INFO] [stdout] | [INFO] [stdout] 67 | impl From> for Error { [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 [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] 67 | impl From> for Error { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `tokio::prelude::FutureExt::deadline`: use `timeout` instead [INFO] [stdout] --> src/honeybadger.rs:518:14 [INFO] [stdout] | [INFO] [stdout] 518 | .deadline(now + Duration::from_secs(timeout)) [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `tokio::prelude::FutureExt::deadline`: use `timeout` instead [INFO] [stdout] --> src/honeybadger.rs:518:14 [INFO] [stdout] | [INFO] [stdout] 518 | .deadline(now + Duration::from_secs(timeout)) [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/notice.rs:68:24 [INFO] [stdout] | [INFO] [stdout] 68 | fn from(error: Box) -> Error { [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 [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 68 | fn from(error: Box) -> Error { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/notice.rs:90:24 [INFO] [stdout] | [INFO] [stdout] 90 | fn std_err(error: &::std::error::Error) -> Error { [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 [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 90 | fn std_err(error: &dyn (::std::error::Error)) -> Error { [INFO] [stdout] | +++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/notice.rs:68:24 [INFO] [stdout] | [INFO] [stdout] 68 | fn from(error: Box) -> Error { [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 [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 68 | fn from(error: Box) -> Error { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/notice.rs:90:24 [INFO] [stdout] | [INFO] [stdout] 90 | fn std_err(error: &::std::error::Error) -> Error { [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 [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 90 | fn std_err(error: &dyn (::std::error::Error)) -> Error { [INFO] [stdout] | +++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string() [INFO] [stdout] --> src/notice.rs:84:26 [INFO] [stdout] | [INFO] [stdout] 84 | class: error.description().to_string(), [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string() [INFO] [stdout] --> src/notice.rs:92:26 [INFO] [stdout] | [INFO] [stdout] 92 | class: error.description().to_string(), [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `std::error::Error::cause`: replaced by Error::source, which can support downcasting [INFO] [stdout] --> src/notice.rs:94:27 [INFO] [stdout] | [INFO] [stdout] 94 | causes: error.cause().map(|cause| vec![Error::std_err(cause)]), [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string() [INFO] [stdout] --> src/notice.rs:84:26 [INFO] [stdout] | [INFO] [stdout] 84 | class: error.description().to_string(), [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string() [INFO] [stdout] --> src/notice.rs:92:26 [INFO] [stdout] | [INFO] [stdout] 92 | class: error.description().to_string(), [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `std::error::Error::cause`: replaced by Error::source, which can support downcasting [INFO] [stdout] --> src/notice.rs:94:27 [INFO] [stdout] | [INFO] [stdout] 94 | causes: error.cause().map(|cause| vec![Error::std_err(cause)]), [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 8 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 8 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> examples/std_error.rs:22:28 [INFO] [stdout] | [INFO] [stdout] 22 | let boxed: Box = e.into(); [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 [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] 22 | let boxed: Box = e.into(); [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 1 warning emitted [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] --> examples/failure_error.rs:10:10 [INFO] [stdout] | [INFO] [stdout] 10 | #[derive(Fail, Debug)] [INFO] [stdout] | ^--- [INFO] [stdout] | | [INFO] [stdout] | `Fail` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_MyCustomError` [INFO] [stdout] 11 | #[fail(display = "Failure error")] [INFO] [stdout] 12 | struct MyCustomError; [INFO] [stdout] | ------------- `MyCustomError` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed [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: 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 lint may become deny-by-default in the edition 2024 and higher, see the tracking issue [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, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> examples/failure_error.rs:10:10 [INFO] [stdout] | [INFO] [stdout] 10 | #[derive(Fail, Debug)] [INFO] [stdout] | ^--- [INFO] [stdout] | | [INFO] [stdout] | `Display` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_MyCustomError` [INFO] [stdout] 11 | #[fail(display = "Failure error")] [INFO] [stdout] 12 | struct MyCustomError; [INFO] [stdout] | ------------- `MyCustomError` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed [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: 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 lint may become deny-by-default in the edition 2024 and higher, see the tracking issue [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: 2 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 10.14s [INFO] running `Command { std: "docker" "inspect" "dab86ac551e9debd8d2cdfdce0dda4f43b18c5fc29d0ef3ea9841f0f5c7036fc", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "dab86ac551e9debd8d2cdfdce0dda4f43b18c5fc29d0ef3ea9841f0f5c7036fc", kill_on_drop: false }` [INFO] [stdout] dab86ac551e9debd8d2cdfdce0dda4f43b18c5fc29d0ef3ea9841f0f5c7036fc