[INFO] fetching crate pyra 0.0.8...
[INFO] checking pyra-0.0.8 against eca445e5ae4a6679cc27d3a09106ce245e13a5a6 for pr-162478
[INFO] extracting crate pyra 0.0.8 into /workspace/builds/worker-3-tc1/source
[INFO] started tweaking crates.io crate pyra 0.0.8
[INFO] finished tweaking crates.io crate pyra 0.0.8
[INFO] tweaked toml for crates.io crate pyra 0.0.8 written to /workspace/builds/worker-3-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate pyra 0.0.8 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 pyra 0.0.8 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:55:1
[INFO] [stderr]    |
[INFO] [stderr] 55 | 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: `pyra` (manifest) generated 1 warning
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded widestring v0.4.0
[INFO] [stderr]   Downloaded structopt-derive v0.3.2
[INFO] [stderr]   Downloaded webbrowser v0.5.2
[INFO] [stderr]   Downloaded rgb v0.8.14
[INFO] [stderr]   Downloaded itoa v0.4.4
[INFO] [stderr]   Downloaded dialoguer v0.4.0
[INFO] [stderr]   Downloaded autocfg v0.1.6
[INFO] [stderr]   Downloaded bitflags v1.1.0
[INFO] [stderr]   Downloaded rand_chacha v0.2.1
[INFO] [stderr]   Downloaded redox_users v0.3.1
[INFO] [stderr]   Downloaded arrayref v0.3.5
[INFO] [stderr]   Downloaded approx v0.1.1
[INFO] [stderr]   Downloaded constant_time_eq v0.1.4
[INFO] [stderr]   Downloaded ctrlc v3.1.3
[INFO] [stderr]   Downloaded remove_dir_all v0.5.2
[INFO] [stderr]   Downloaded dirs-sys v0.3.4
[INFO] [stderr]   Downloaded cfg-if v0.1.9
[INFO] [stderr]   Downloaded c2-chacha v0.2.2
[INFO] [stderr]   Downloaded ppv-lite86 v0.2.5
[INFO] [stderr]   Downloaded log v0.4.8
[INFO] [stderr]   Downloaded indicatif v0.12.0
[INFO] [stderr]   Downloaded console v0.9.0
[INFO] [stderr]   Downloaded nodrop v0.1.13
[INFO] [stderr]   Downloaded byteorder v1.3.2
[INFO] [stderr]   Downloaded redox_syscall v0.1.56
[INFO] [stderr]   Downloaded synstructure v0.10.2
[INFO] [stderr]   Downloaded colored v1.8.0
[INFO] [stderr]   Downloaded structopt v0.3.2
[INFO] [stderr]   Downloaded ryu v1.0.0
[INFO] [stderr]   Downloaded getrandom v0.1.12
[INFO] [stderr]   Downloaded crossbeam-utils v0.6.6
[INFO] [stderr]   Downloaded arrayvec v0.4.11
[INFO] [stderr]   Downloaded rustc-demangle v0.1.16
[INFO] [stderr]   Downloaded num-traits v0.2.8
[INFO] [stderr]   Downloaded proc-macro2 v1.0.4
[INFO] [stderr]   Downloaded serde_derive v1.0.101
[INFO] [stderr]   Downloaded rust-argon2 v0.5.1
[INFO] [stderr]   Downloaded winconsole v0.10.0
[INFO] [stderr]   Downloaded blake2b_simd v0.5.8
[INFO] [stderr]   Downloaded cc v1.0.45
[INFO] [stderr]   Downloaded cgmath v0.16.1
[INFO] [stderr]   Downloaded unicode-segmentation v1.3.0
[INFO] [stderr]   Downloaded serde_json v1.0.40
[INFO] [stderr]   Downloaded serde v1.0.101
[INFO] [stderr]   Downloaded backtrace v0.3.37
[INFO] [stderr]   Downloaded rand v0.7.2
[INFO] [stderr]   Downloaded syn v1.0.5
[INFO] [stderr]   Downloaded regex v1.3.1
[INFO] [stderr]   Downloaded regex-syntax v0.6.12
[INFO] [stderr]   Downloaded libc v0.2.62
[INFO] [stderr]   Downloaded backtrace-sys v0.1.31
[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] f8ca649b804b029283e306f2aebb4f4d77c2b74d4ab7eac6cfd004eacc3995a7
[INFO] running `Command { std: "docker" "start" "f8ca649b804b029283e306f2aebb4f4d77c2b74d4ab7eac6cfd004eacc3995a7", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "f8ca649b804b029283e306f2aebb4f4d77c2b74d4ab7eac6cfd004eacc3995a7", 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" "f8ca649b804b029283e306f2aebb4f4d77c2b74d4ab7eac6cfd004eacc3995a7" "/opt/rustwide/cargo-home/bin/cargo" "+eca445e5ae4a6679cc27d3a09106ce245e13a5a6" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "f8ca649b804b029283e306f2aebb4f4d77c2b74d4ab7eac6cfd004eacc3995a7", 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" "f8ca649b804b029283e306f2aebb4f4d77c2b74d4ab7eac6cfd004eacc3995a7" "/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:55:1
[INFO] [stderr]    |
[INFO] [stderr] 55 | 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: `pyra` (manifest) generated 1 warning
[INFO] [stderr]    Compiling libc v0.2.62
[INFO] [stderr]     Checking cfg-if v0.1.9
[INFO] [stderr]    Compiling proc-macro2 v1.0.4
[INFO] [stderr]    Compiling unicode-xid v0.2.0
[INFO] [stderr]    Compiling syn v1.0.5
[INFO] [stderr]    Compiling autocfg v0.1.6
[INFO] [stderr]    Compiling getrandom v0.1.12
[INFO] [stderr]    Compiling bitflags v1.1.0
[INFO] [stderr]     Checking unicode-width v0.1.6
[INFO] [stderr]     Checking ppv-lite86 v0.2.5
[INFO] [stderr]    Compiling cgmath v0.16.1
[INFO] [stderr]     Checking regex-syntax v0.6.12
[INFO] [stderr]    Compiling winapi v0.3.8
[INFO] [stderr]     Checking approx v0.1.1
[INFO] [stderr]    Compiling nix v0.14.1
[INFO] [stderr]    Compiling ryu v1.0.0
[INFO] [stderr]    Compiling serde v1.0.101
[INFO] [stderr]    Compiling unicode-segmentation v1.3.0
[INFO] [stderr]     Checking ansi_term v0.11.0
[INFO] [stderr]    Compiling log v0.4.8
[INFO] [stderr]     Checking textwrap v0.11.0
[INFO] [stderr]     Checking void v1.0.2
[INFO] [stderr]     Checking vec_map v0.8.1
[INFO] [stderr]     Checking rgb v0.8.14
[INFO] [stderr]     Checking remove_dir_all v0.5.2
[INFO] [stderr]     Checking itoa v0.4.4
[INFO] [stderr]     Checking number_prefix v0.3.0
[INFO] [stderr]    Compiling num-traits v0.2.8
[INFO] [stderr]     Checking webbrowser v0.5.2
[INFO] [stderr]     Checking termios v0.3.1
[INFO] [stderr]     Checking rand v0.4.6
[INFO] [stderr]     Checking clicolors-control v1.0.1
[INFO] [stderr]     Checking atty v0.2.13
[INFO] [stderr]     Checking dirs-sys v0.3.4
[INFO] [stderr]     Checking c2-chacha v0.2.2
[INFO] [stderr]    Compiling heck v0.3.1
[INFO] [stderr]     Checking clap v2.33.0
[INFO] [stderr]     Checking rand_core v0.5.1
[INFO] [stderr]     Checking dirs v2.0.2
[INFO] [stderr]     Checking rand_chacha v0.2.1
[INFO] [stderr]     Checking rand v0.7.2
[INFO] [stderr]    Compiling quote v1.0.2
[INFO] [stderr]     Checking num-traits v0.1.43
[INFO] [stderr]     Checking regex v1.3.1
[INFO] [stderr]     Checking tempfile v3.1.0
[INFO] [stderr]     Checking console v0.9.0
[INFO] [stderr]     Checking dialoguer v0.4.0
[INFO] [stderr]     Checking indicatif v0.12.0
[INFO] [stderr]     Checking ctrlc v3.1.3
[INFO] [stderr]     Checking winconsole v0.10.0
[INFO] [stderr]     Checking colored v1.8.0
[INFO] [stderr]    Compiling proc-macro-error v0.2.6
[INFO] [stderr]    Compiling serde_derive v1.0.101
[INFO] [stderr]    Compiling structopt-derive v0.3.2
[INFO] [stderr]     Checking structopt v0.3.2
[INFO] [stderr]     Checking serde_json v1.0.40
[INFO] [stderr]     Checking pyra v0.0.8 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `Confirmation`
[INFO] [stdout]  --> src/cli.rs:4:62
[INFO] [stdout]   |
[INFO] [stdout] 4 |     theme::ColorfulTheme, theme::CustomPromptCharacterTheme, Confirmation, Input, Select, Checkboxes
[INFO] [stdout]   |                                                              ^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io`
[INFO] [stdout]  --> src/cli.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::io;
[INFO] [stdout]   |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `debug` and `warn`
[INFO] [stdout]   --> src/cli.rs:20:11
[INFO] [stdout]    |
[INFO] [stdout] 20 | use log::{debug, warn};
[INFO] [stdout]    |           ^^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stdout]   --> src/cli.rs:22:10
[INFO] [stdout]    |
[INFO] [stdout] 22 | #[derive(Serialize, Deserialize, Debug)]
[INFO] [stdout]    |          ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: no expected values for `feature`
[INFO] [stdout]    = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stdout]    = help: try referring to `Serialize` crate for guidance on how handle this unexpected cfg
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stdout]   --> src/cli.rs:22:21
[INFO] [stdout]    |
[INFO] [stdout] 22 | #[derive(Serialize, Deserialize, Debug)]
[INFO] [stdout]    |                     ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: no expected values for `feature`
[INFO] [stdout]    = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stdout]    = help: try referring to `Deserialize` crate for guidance on how handle this unexpected cfg
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Duration`
[INFO] [stdout]  --> src/platform/substrate.rs:6:17
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::time::{Duration, Instant};
[INFO] [stdout]   |                 ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `webbrowser`
[INFO] [stdout]   --> src/platform/substrate.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | use webbrowser;
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Confirmation`
[INFO] [stdout]  --> src/cli.rs:4:62
[INFO] [stdout]   |
[INFO] [stdout] 4 |     theme::ColorfulTheme, theme::CustomPromptCharacterTheme, Confirmation, Input, Select, Checkboxes
[INFO] [stdout]   |                                                              ^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io`
[INFO] [stdout]  --> src/cli.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::io;
[INFO] [stdout]   |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `debug` and `warn`
[INFO] [stdout]   --> src/cli.rs:20:11
[INFO] [stdout]    |
[INFO] [stdout] 20 | use log::{debug, warn};
[INFO] [stdout]    |           ^^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stdout]   --> src/cli.rs:22:10
[INFO] [stdout]    |
[INFO] [stdout] 22 | #[derive(Serialize, Deserialize, Debug)]
[INFO] [stdout]    |          ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: no expected values for `feature`
[INFO] [stdout]    = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stdout]    = help: try referring to `Serialize` crate for guidance on how handle this unexpected cfg
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stdout]   --> src/cli.rs:22:21
[INFO] [stdout]    |
[INFO] [stdout] 22 | #[derive(Serialize, Deserialize, Debug)]
[INFO] [stdout]    |                     ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: no expected values for `feature`
[INFO] [stdout]    = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stdout]    = help: try referring to `Deserialize` crate for guidance on how handle this unexpected cfg
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Duration`
[INFO] [stdout]  --> src/platform/substrate.rs:6:17
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::time::{Duration, Instant};
[INFO] [stdout]   |                 ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `webbrowser`
[INFO] [stdout]   --> src/platform/substrate.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | use webbrowser;
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `settings_data`
[INFO] [stdout]    --> src/cli.rs:278:20
[INFO] [stdout]     |
[INFO] [stdout] 278 | pub fn run_scanner(settings_data: serde_json::value::Value) {}
[INFO] [stdout]     |                    ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_settings_data`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `project_name`
[INFO] [stdout]    --> src/platform/substrate.rs:194:50
[INFO] [stdout]     |
[INFO] [stdout] 194 | pub fn initialize_wasm_environment(path: String, project_name: String) {
[INFO] [stdout]     |                                                  ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_project_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `project_name`
[INFO] [stdout]    --> src/platform/substrate.rs:211:29
[INFO] [stdout]     |
[INFO] [stdout] 211 | pub fn build_substrate_node(project_name: String, path: String) -> std::process::Child {
[INFO] [stdout]     |                             ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_project_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `project_name`
[INFO] [stdout]    --> src/platform/substrate.rs:226:24
[INFO] [stdout]     |
[INFO] [stdout] 226 | pub fn build_substrate(project_name: String, path: String, target: String) {
[INFO] [stdout]     |                        ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_project_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `project_name`
[INFO] [stdout]    --> src/platform/substrate.rs:276:23
[INFO] [stdout]     |
[INFO] [stdout] 276 | pub fn test_substrate(project_name: String, path: String, target: String) {
[INFO] [stdout]     |                       ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_project_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `settings_data`
[INFO] [stdout]    --> src/cli.rs:278:20
[INFO] [stdout]     |
[INFO] [stdout] 278 | pub fn run_scanner(settings_data: serde_json::value::Value) {}
[INFO] [stdout]     |                    ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_settings_data`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `project_name`
[INFO] [stdout]    --> src/platform/substrate.rs:322:22
[INFO] [stdout]     |
[INFO] [stdout] 322 | pub fn run_substrate(project_name: String, path: String) {
[INFO] [stdout]     |                      ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_project_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `run_scanner` is never used
[INFO] [stdout]    --> src/cli.rs:278:8
[INFO] [stdout]     |
[INFO] [stdout] 278 | pub fn run_scanner(settings_data: serde_json::value::Value) {}
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout]     |
[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/cli.rs:22:10
[INFO] [stdout]    |
[INFO] [stdout] 22 | #[derive(Serialize, Deserialize, Debug)]
[INFO] [stdout]    |          ^--------
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `Serialize` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_Project`
[INFO] [stdout] 23 | struct Project {
[INFO] [stdout]    |        ------- `Project` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `Serialize` (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/cli.rs:22:21
[INFO] [stdout]    |
[INFO] [stdout] 22 | #[derive(Serialize, Deserialize, Debug)]
[INFO] [stdout]    |                     ^----------
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     `Deserialize` is not local
[INFO] [stdout]    |                     move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Project`
[INFO] [stdout] 23 | struct Project {
[INFO] [stdout]    |        ------- `Project` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]   --> src/cli.rs:78:28
[INFO] [stdout]    |
[INFO] [stdout] 78 |         .with_prompt(prompt.clone())
[INFO] [stdout]    |                            ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]    |
[INFO] [stdout]    = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout]    = note: `#[warn(noop_method_call)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]   --> src/cli.rs:85:25
[INFO] [stdout]    |
[INFO] [stdout] 85 |         checklist(prompt.clone(), settings_data);
[INFO] [stdout]    |                         ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]    |
[INFO] [stdout]    = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/cli.rs:362:42
[INFO] [stdout]     |
[INFO] [stdout] 362 |     let results = checklist(remove_prompt.clone(), settings_data.clone());
[INFO] [stdout]     |                                          ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/cli.rs:400:12
[INFO] [stdout]     |
[INFO] [stdout] 400 |     panic!("The project to remove does not exist in the settings file".red());
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: `#[warn(non_fmt_panics)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]     |
[INFO] [stdout] 400 |     panic!("{}", "The project to remove does not exist in the settings file".red());
[INFO] [stdout]     |            +++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]     |
[INFO] [stdout] 400 -     panic!("The project to remove does not exist in the settings file".red());
[INFO] [stdout] 400 +     std::panic::panic_any("The project to remove does not exist in the settings file".red());
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/cli.rs:472:12
[INFO] [stdout]     |
[INFO] [stdout] 472 |     panic!("setting file is broken".red());
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]     |
[INFO] [stdout] 472 |     panic!("{}", "setting file is broken".red());
[INFO] [stdout]     |            +++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]     |
[INFO] [stdout] 472 -     panic!("setting file is broken".red());
[INFO] [stdout] 472 +     std::panic::panic_any("setting file is broken".red());
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/cli.rs:483:12
[INFO] [stdout]     |
[INFO] [stdout] 483 |     panic!("setting file is broken".red());
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]     |
[INFO] [stdout] 483 |     panic!("{}", "setting file is broken".red());
[INFO] [stdout]     |            +++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]     |
[INFO] [stdout] 483 -     panic!("setting file is broken".red());
[INFO] [stdout] 483 +     std::panic::panic_any("setting file is broken".red());
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `project_name`
[INFO] [stdout]    --> src/platform/substrate.rs:194:50
[INFO] [stdout]     |
[INFO] [stdout] 194 | pub fn initialize_wasm_environment(path: String, project_name: String) {
[INFO] [stdout]     |                                                  ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_project_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `project_name`
[INFO] [stdout]    --> src/platform/substrate.rs:211:29
[INFO] [stdout]     |
[INFO] [stdout] 211 | pub fn build_substrate_node(project_name: String, path: String) -> std::process::Child {
[INFO] [stdout]     |                             ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_project_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `project_name`
[INFO] [stdout]    --> src/platform/substrate.rs:226:24
[INFO] [stdout]     |
[INFO] [stdout] 226 | pub fn build_substrate(project_name: String, path: String, target: String) {
[INFO] [stdout]     |                        ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_project_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `project_name`
[INFO] [stdout]    --> src/platform/substrate.rs:276:23
[INFO] [stdout]     |
[INFO] [stdout] 276 | pub fn test_substrate(project_name: String, path: String, target: String) {
[INFO] [stdout]     |                       ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_project_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `project_name`
[INFO] [stdout]    --> src/platform/substrate.rs:322:22
[INFO] [stdout]     |
[INFO] [stdout] 322 | pub fn run_substrate(project_name: String, path: String) {
[INFO] [stdout]     |                      ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_project_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `run_scanner` is never used
[INFO] [stdout]    --> src/cli.rs:278:8
[INFO] [stdout]     |
[INFO] [stdout] 278 | pub fn run_scanner(settings_data: serde_json::value::Value) {}
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout]     |
[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/cli.rs:22:10
[INFO] [stdout]    |
[INFO] [stdout] 22 | #[derive(Serialize, Deserialize, Debug)]
[INFO] [stdout]    |          ^--------
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `Serialize` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_Project`
[INFO] [stdout] 23 | struct Project {
[INFO] [stdout]    |        ------- `Project` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `Serialize` (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/cli.rs:22:21
[INFO] [stdout]    |
[INFO] [stdout] 22 | #[derive(Serialize, Deserialize, Debug)]
[INFO] [stdout]    |                     ^----------
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     `Deserialize` is not local
[INFO] [stdout]    |                     move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Project`
[INFO] [stdout] 23 | struct Project {
[INFO] [stdout]    |        ------- `Project` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]   --> src/cli.rs:78:28
[INFO] [stdout]    |
[INFO] [stdout] 78 |         .with_prompt(prompt.clone())
[INFO] [stdout]    |                            ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]    |
[INFO] [stdout]    = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout]    = note: `#[warn(noop_method_call)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]   --> src/cli.rs:85:25
[INFO] [stdout]    |
[INFO] [stdout] 85 |         checklist(prompt.clone(), settings_data);
[INFO] [stdout]    |                         ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]    |
[INFO] [stdout]    = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/cli.rs:362:42
[INFO] [stdout]     |
[INFO] [stdout] 362 |     let results = checklist(remove_prompt.clone(), settings_data.clone());
[INFO] [stdout]     |                                          ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/cli.rs:400:12
[INFO] [stdout]     |
[INFO] [stdout] 400 |     panic!("The project to remove does not exist in the settings file".red());
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: `#[warn(non_fmt_panics)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]     |
[INFO] [stdout] 400 |     panic!("{}", "The project to remove does not exist in the settings file".red());
[INFO] [stdout]     |            +++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]     |
[INFO] [stdout] 400 -     panic!("The project to remove does not exist in the settings file".red());
[INFO] [stdout] 400 +     std::panic::panic_any("The project to remove does not exist in the settings file".red());
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/cli.rs:472:12
[INFO] [stdout]     |
[INFO] [stdout] 472 |     panic!("setting file is broken".red());
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]     |
[INFO] [stdout] 472 |     panic!("{}", "setting file is broken".red());
[INFO] [stdout]     |            +++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]     |
[INFO] [stdout] 472 -     panic!("setting file is broken".red());
[INFO] [stdout] 472 +     std::panic::panic_any("setting file is broken".red());
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/cli.rs:483:12
[INFO] [stdout]     |
[INFO] [stdout] 483 |     panic!("setting file is broken".red());
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]     |
[INFO] [stdout] 483 |     panic!("{}", "setting file is broken".red());
[INFO] [stdout]     |            +++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]     |
[INFO] [stdout] 483 -     panic!("setting file is broken".red());
[INFO] [stdout] 483 +     std::panic::panic_any("setting file is broken".red());
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 18.51s
[INFO] running `Command { std: "docker" "inspect" "f8ca649b804b029283e306f2aebb4f4d77c2b74d4ab7eac6cfd004eacc3995a7", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "f8ca649b804b029283e306f2aebb4f4d77c2b74d4ab7eac6cfd004eacc3995a7", kill_on_drop: false }`
[INFO] [stdout] f8ca649b804b029283e306f2aebb4f4d77c2b74d4ab7eac6cfd004eacc3995a7
