[INFO] fetching crate pwfr 0.0.0-none...
[INFO] checking pwfr-0.0.0-none against eca445e5ae4a6679cc27d3a09106ce245e13a5a6 for pr-162478
[INFO] extracting crate pwfr 0.0.0-none into /workspace/builds/worker-3-tc1/source
[INFO] started tweaking crates.io crate pwfr 0.0.0-none
[INFO] finished tweaking crates.io crate pwfr 0.0.0-none
[INFO] tweaked toml for crates.io crate pwfr 0.0.0-none written to /workspace/builds/worker-3-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate pwfr 0.0.0-none on toolchain eca445e5ae4a6679cc27d3a09106ce245e13a5a6
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+eca445e5ae4a6679cc27d3a09106ce245e13a5a6" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate pwfr 0.0.0-none 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" "+eca445e5ae4a6679cc27d3a09106ce245e13a5a6" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: explicit `package.readme` can be inferred
[INFO] [stderr]   --> Cargo.toml:42:1
[INFO] [stderr]    |
[INFO] [stderr] 42 | readme = "README.md"
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `cargo::manual_readme` is set to `warn` by default
[INFO] [stderr] help: consider removing `package.readme`
[INFO] [stderr] warning: `pwfr` (manifest) generated 1 warning
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded pest_derive v2.1.0
[INFO] [stderr]   Downloaded redox_syscall v0.1.56
[INFO] [stderr]   Downloaded pest_generator v2.1.1
[INFO] [stderr]   Downloaded failure_derive v0.1.5
[INFO] [stderr]   Downloaded constant_time_eq v0.1.4
[INFO] [stderr]   Downloaded redox_users v0.3.1
[INFO] [stderr]   Downloaded dirs v2.0.2
[INFO] [stderr]   Downloaded arrayref v0.3.5
[INFO] [stderr]   Downloaded sha-1 v0.8.1
[INFO] [stderr]   Downloaded termion v1.5.3
[INFO] [stderr]   Downloaded block-padding v0.1.4
[INFO] [stderr]   Downloaded nodrop v0.1.13
[INFO] [stderr]   Downloaded dirs-sys v0.3.4
[INFO] [stderr]   Downloaded vec_map v0.8.1
[INFO] [stderr]   Downloaded proc-macro2 v1.0.4
[INFO] [stderr]   Downloaded log v0.4.8
[INFO] [stderr]   Downloaded rustc-demangle v0.1.16
[INFO] [stderr]   Downloaded unicode-width v0.1.6
[INFO] [stderr]   Downloaded atty v0.2.13
[INFO] [stderr]   Downloaded unicode-xid v0.2.0
[INFO] [stderr]   Downloaded generic-array v0.12.3
[INFO] [stderr]   Downloaded byteorder v1.3.2
[INFO] [stderr]   Downloaded bitflags v1.2.0
[INFO] [stderr]   Downloaded rust-argon2 v0.5.1
[INFO] [stderr]   Downloaded quote v1.0.2
[INFO] [stderr]   Downloaded pest_meta v2.1.2
[INFO] [stderr]   Downloaded typenum v1.11.2
[INFO] [stderr]   Downloaded synstructure v0.10.2
[INFO] [stderr]   Downloaded blake2b_simd v0.5.8
[INFO] [stderr]   Downloaded arrayvec v0.4.11
[INFO] [stderr]   Downloaded ucd-trie v0.1.2
[INFO] [stderr]   Downloaded failure v0.1.5
[INFO] [stderr]   Downloaded pest v2.1.2
[INFO] [stderr]   Downloaded cc v1.0.45
[INFO] [stderr]   Downloaded backtrace v0.3.38
[INFO] [stderr]   Downloaded syn v1.0.5
[INFO] [stderr]   Downloaded clap v2.33.0
[INFO] [stderr]   Downloaded libc v0.2.62
[INFO] [stderr]   Downloaded backtrace-sys v0.1.31
[INFO] [stderr]   Downloaded winapi v0.3.8
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,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" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:8683fc1fc2eb5c9ac98e0d076ab094b2ffac7f99da555d2b6a2e27f346de2ec7" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 4d617e98f79df53b4621bce359b34d12b18e57fc4200b66808ef45b61824faa3
[INFO] running `Command { std: "docker" "start" "4d617e98f79df53b4621bce359b34d12b18e57fc4200b66808ef45b61824faa3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "4d617e98f79df53b4621bce359b34d12b18e57fc4200b66808ef45b61824faa3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "4d617e98f79df53b4621bce359b34d12b18e57fc4200b66808ef45b61824faa3" "/opt/rustwide/cargo-home/bin/cargo" "+eca445e5ae4a6679cc27d3a09106ce245e13a5a6" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "4d617e98f79df53b4621bce359b34d12b18e57fc4200b66808ef45b61824faa3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-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" "-w" "/opt/rustwide/workdir" "--user" "0:0" "4d617e98f79df53b4621bce359b34d12b18e57fc4200b66808ef45b61824faa3" "/opt/rustwide/cargo-home/bin/cargo" "+eca445e5ae4a6679cc27d3a09106ce245e13a5a6" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr] warning: explicit `package.readme` can be inferred
[INFO] [stderr]   --> Cargo.toml:42:1
[INFO] [stderr]    |
[INFO] [stderr] 42 | readme = "README.md"
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `cargo::manual_readme` is set to `warn` by default
[INFO] [stderr] help: consider removing `package.readme`
[INFO] [stderr] warning: `pwfr` (manifest) generated 1 warning
[INFO] [stderr]    Compiling libc v0.2.62
[INFO] [stderr]    Compiling proc-macro2 v0.4.30
[INFO] [stderr]     Checking cfg-if v0.1.10
[INFO] [stderr]    Compiling proc-macro2 v1.0.4
[INFO] [stderr]    Compiling unicode-xid v0.1.0
[INFO] [stderr]    Compiling syn v0.15.44
[INFO] [stderr]    Compiling unicode-xid v0.2.0
[INFO] [stderr]    Compiling cc v1.0.45
[INFO] [stderr]    Compiling bitflags v1.2.0
[INFO] [stderr]    Compiling syn v1.0.5
[INFO] [stderr]    Compiling ucd-trie v0.1.2
[INFO] [stderr]    Compiling failure_derive v0.1.5
[INFO] [stderr]    Compiling pest v2.1.2
[INFO] [stderr]    Compiling maplit v1.0.2
[INFO] [stderr]     Checking rustc-demangle v0.1.16
[INFO] [stderr]    Compiling nix v0.15.0
[INFO] [stderr]    Compiling log v0.4.8
[INFO] [stderr]    Compiling quote v0.6.13
[INFO] [stderr]     Checking unicode-width v0.1.6
[INFO] [stderr]     Checking textwrap v0.11.0
[INFO] [stderr]     Checking ansi_term v0.11.0
[INFO] [stderr]    Compiling quote v1.0.2
[INFO] [stderr]     Checking strsim v0.8.0
[INFO] [stderr]     Checking numtoa v0.1.0
[INFO] [stderr]     Checking vec_map v0.8.1
[INFO] [stderr]     Checking void v1.0.2
[INFO] [stderr]     Checking glob v0.3.0
[INFO] [stderr]    Compiling backtrace-sys v0.1.31
[INFO] [stderr]    Compiling pest_meta v2.1.2
[INFO] [stderr]     Checking dirs-sys v0.3.4
[INFO] [stderr]     Checking atty v0.2.13
[INFO] [stderr]     Checking clap v2.33.0
[INFO] [stderr]     Checking termion v1.5.3
[INFO] [stderr]     Checking dirs v2.0.2
[INFO] [stderr]     Checking backtrace v0.3.38
[INFO] [stderr]    Compiling pest_generator v2.1.1
[INFO] [stderr]    Compiling synstructure v0.10.2
[INFO] [stderr]    Compiling pest_derive v2.1.0
[INFO] [stderr]     Checking failure v0.1.5
[INFO] [stderr]     Checking pwfr v0.0.0-none (/opt/rustwide/workdir)
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]   --> src/pwfr/core/ebuild/pattern.rs:85:31
[INFO] [stdout]    |
[INFO] [stdout] 85 |                     Err(e) => error!("glob error: {:?}", e),
[INFO] [stdout]    |                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]    = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]    = note: `#[warn(semicolon_in_expressions_from_non_local_macros)]` (part of `#[warn(future_incompatible)]`) on by default
[INFO] [stdout]    = note: this warning originates in the macro `error` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]   --> src/pwfr/core/ebuild/pattern.rs:85:31
[INFO] [stdout]    |
[INFO] [stdout] 85 |                     Err(e) => error!("glob error: {:?}", e),
[INFO] [stdout]    |                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]    = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]    = note: `#[warn(semicolon_in_expressions_from_non_local_macros)]` (part of `#[warn(future_incompatible)]`) on by default
[INFO] [stdout]    = note: this warning originates in the macro `error` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable expression
[INFO] [stdout]     --> src/pwfr/core/ebuild/executor.rs:1172:17
[INFO] [stdout]      |
[INFO] [stdout] 1171 |                 execv(&argv0, &args).expect("failed to exec");
[INFO] [stdout]      |                 --------------------------------------------- any code following this expression is unreachable
[INFO] [stdout] 1172 |                 unreachable!();
[INFO] [stdout]      |                 ^^^^^^^^^^^^^^ unreachable expression
[INFO] [stdout]      |
[INFO] [stdout] note: this expression has type `void::Void`, which is uninhabited
[INFO] [stdout]     --> src/pwfr/core/ebuild/executor.rs:1171:17
[INFO] [stdout]      |
[INFO] [stdout] 1171 |                 execv(&argv0, &args).expect("failed to exec");
[INFO] [stdout]      |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `pgid` and `background` are never read
[INFO] [stdout]   --> src/pwfr/core/ebuild/executor.rs:84:5
[INFO] [stdout]    |
[INFO] [stdout] 80 | struct Context {
[INFO] [stdout]    |        ------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 84 |     pgid: Option<Pid>,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 85 |     /// The process should be executed in background.
[INFO] [stdout] 86 |     background: bool,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Context` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/pwfr/core/ebuild/builtins/mod.rs:19:17
[INFO] [stdout]    |
[INFO] [stdout] 19 | #[derive(Debug, Fail)]
[INFO] [stdout]    |                 ^---
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 `Fail` is not local
[INFO] [stdout]    |                 move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_InternalCommandError`
[INFO] [stdout] 20 | pub enum InternalCommandError {
[INFO] [stdout]    |          -------------------- `InternalCommandError` 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: `#[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]   --> src/pwfr/core/ebuild/builtins/mod.rs:19:17
[INFO] [stdout]    |
[INFO] [stdout] 19 | #[derive(Debug, Fail)]
[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_InternalCommandError`
[INFO] [stdout] 20 | pub enum InternalCommandError {
[INFO] [stdout]    |          -------------------- `InternalCommandError` 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 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: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/pwfr/core/ebuild/executor.rs:458:27
[INFO] [stdout]     |
[INFO] [stdout] 458 |     pub fn exported_names(&self) -> std::collections::hash_set::Iter<String> {
[INFO] [stdout]     |                           ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 458 |     pub fn exported_names(&self) -> std::collections::hash_set::Iter<'_, String> {
[INFO] [stdout]     |                                                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/pwfr/core/ebuild/pattern.rs:10:17
[INFO] [stdout]    |
[INFO] [stdout] 10 | #[derive(Debug, Fail)]
[INFO] [stdout]    |                 ^---
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 `Fail` is not local
[INFO] [stdout]    |                 move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_NoMatchesError`
[INFO] [stdout] 11 | #[fail(display = "no matches")]
[INFO] [stdout] 12 | pub struct NoMatchesError;
[INFO] [stdout]    |            -------------- `NoMatchesError` 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 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]   --> src/pwfr/core/ebuild/pattern.rs:10:17
[INFO] [stdout]    |
[INFO] [stdout] 10 | #[derive(Debug, Fail)]
[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_NoMatchesError`
[INFO] [stdout] 11 | #[fail(display = "no matches")]
[INFO] [stdout] 12 | pub struct NoMatchesError;
[INFO] [stdout]    |            -------------- `NoMatchesError` 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 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: unreachable expression
[INFO] [stdout]     --> src/pwfr/core/ebuild/executor.rs:1172:17
[INFO] [stdout]      |
[INFO] [stdout] 1171 |                 execv(&argv0, &args).expect("failed to exec");
[INFO] [stdout]      |                 --------------------------------------------- any code following this expression is unreachable
[INFO] [stdout] 1172 |                 unreachable!();
[INFO] [stdout]      |                 ^^^^^^^^^^^^^^ unreachable expression
[INFO] [stdout]      |
[INFO] [stdout] note: this expression has type `void::Void`, which is uninhabited
[INFO] [stdout]     --> src/pwfr/core/ebuild/executor.rs:1171:17
[INFO] [stdout]      |
[INFO] [stdout] 1171 |                 execv(&argv0, &args).expect("failed to exec");
[INFO] [stdout]      |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `pgid` and `background` are never read
[INFO] [stdout]   --> src/pwfr/core/ebuild/executor.rs:84:5
[INFO] [stdout]    |
[INFO] [stdout] 80 | struct Context {
[INFO] [stdout]    |        ------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 84 |     pgid: Option<Pid>,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 85 |     /// The process should be executed in background.
[INFO] [stdout] 86 |     background: bool,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Context` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/pwfr/core/ebuild/builtins/mod.rs:19:17
[INFO] [stdout]    |
[INFO] [stdout] 19 | #[derive(Debug, Fail)]
[INFO] [stdout]    |                 ^---
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 `Fail` is not local
[INFO] [stdout]    |                 move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_InternalCommandError`
[INFO] [stdout] 20 | pub enum InternalCommandError {
[INFO] [stdout]    |          -------------------- `InternalCommandError` 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: `#[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]   --> src/pwfr/core/ebuild/builtins/mod.rs:19:17
[INFO] [stdout]    |
[INFO] [stdout] 19 | #[derive(Debug, Fail)]
[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_InternalCommandError`
[INFO] [stdout] 20 | pub enum InternalCommandError {
[INFO] [stdout]    |          -------------------- `InternalCommandError` 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 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: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/pwfr/core/ebuild/executor.rs:458:27
[INFO] [stdout]     |
[INFO] [stdout] 458 |     pub fn exported_names(&self) -> std::collections::hash_set::Iter<String> {
[INFO] [stdout]     |                           ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 458 |     pub fn exported_names(&self) -> std::collections::hash_set::Iter<'_, String> {
[INFO] [stdout]     |                                                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/pwfr/core/ebuild/pattern.rs:10:17
[INFO] [stdout]    |
[INFO] [stdout] 10 | #[derive(Debug, Fail)]
[INFO] [stdout]    |                 ^---
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 `Fail` is not local
[INFO] [stdout]    |                 move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_NoMatchesError`
[INFO] [stdout] 11 | #[fail(display = "no matches")]
[INFO] [stdout] 12 | pub struct NoMatchesError;
[INFO] [stdout]    |            -------------- `NoMatchesError` 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 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]   --> src/pwfr/core/ebuild/pattern.rs:10:17
[INFO] [stdout]    |
[INFO] [stdout] 10 | #[derive(Debug, Fail)]
[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_NoMatchesError`
[INFO] [stdout] 11 | #[fail(display = "no matches")]
[INFO] [stdout] 12 | pub struct NoMatchesError;
[INFO] [stdout]    |            -------------- `NoMatchesError` 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 warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 24.68s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: pwfr v0.0.0-none (/opt/rustwide/workdir)
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 4`
[INFO] running `Command { std: "docker" "inspect" "4d617e98f79df53b4621bce359b34d12b18e57fc4200b66808ef45b61824faa3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "4d617e98f79df53b4621bce359b34d12b18e57fc4200b66808ef45b61824faa3", kill_on_drop: false }`
[INFO] [stdout] 4d617e98f79df53b4621bce359b34d12b18e57fc4200b66808ef45b61824faa3
