[INFO] cloning repository https://github.com/Isan-Rivkin/octi
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Isan-Rivkin/octi" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FIsan-Rivkin%2Focti", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FIsan-Rivkin%2Focti'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 804ffaeead7f755fff6ac7e714af7fe071b2281a
[INFO] testing Isan-Rivkin/octi against try#28f95933dc0727396c07b48d0a8cb5211b7fb472 for pr-154065-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FIsan-Rivkin%2Focti" "/workspace/builds/worker-2-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/Isan-Rivkin/octi
[INFO] finished tweaking git repo https://github.com/Isan-Rivkin/octi
[INFO] tweaked toml for git repo https://github.com/Isan-Rivkin/octi written to /workspace/builds/worker-2-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/Isan-Rivkin/octi on toolchain 28f95933dc0727396c07b48d0a8cb5211b7fb472
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+28f95933dc0727396c07b48d0a8cb5211b7fb472" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/Isan-Rivkin/octi 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" "+28f95933dc0727396c07b48d0a8cb5211b7fb472" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+28f95933dc0727396c07b48d0a8cb5211b7fb472" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 4624090b06d4712d4f0c243acc19c25bf394ef3f3e9cd5aee3ce0d4ffb18d60f
[INFO] running `Command { std: "docker" "start" "-a" "4624090b06d4712d4f0c243acc19c25bf394ef3f3e9cd5aee3ce0d4ffb18d60f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "4624090b06d4712d4f0c243acc19c25bf394ef3f3e9cd5aee3ce0d4ffb18d60f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "4624090b06d4712d4f0c243acc19c25bf394ef3f3e9cd5aee3ce0d4ffb18d60f", kill_on_drop: false }`
[INFO] [stdout] 4624090b06d4712d4f0c243acc19c25bf394ef3f3e9cd5aee3ce0d4ffb18d60f
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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" "-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+28f95933dc0727396c07b48d0a8cb5211b7fb472" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 1de60e2d650e7175dbd72d25386435fc440588e936d0462122cf4b56b38948f3
[INFO] running `Command { std: "docker" "start" "-a" "1de60e2d650e7175dbd72d25386435fc440588e936d0462122cf4b56b38948f3", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v0.4.27
[INFO] [stderr]    Compiling syn v0.15.30
[INFO] [stderr]    Compiling libc v0.2.51
[INFO] [stderr]    Compiling serde v1.0.90
[INFO] [stderr]    Compiling ryu v0.2.7
[INFO] [stderr]    Compiling same-file v1.0.4
[INFO] [stderr]    Compiling itoa v0.4.3
[INFO] [stderr]    Compiling fs_extra v1.1.0
[INFO] [stderr]    Compiling lazy_static v1.3.0
[INFO] [stderr]    Compiling walkdir v2.2.7
[INFO] [stderr]    Compiling uname v0.1.1
[INFO] [stderr]    Compiling quote v0.6.11
[INFO] [stderr]    Compiling serde_derive v1.0.90
[INFO] [stderr]    Compiling serde_json v1.0.39
[INFO] [stderr]    Compiling octi v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused imports: `PathBuf`, `Path`, and `ffi::OsStr`
[INFO] [stdout]  --> src/eval/traverse.rs:5:12
[INFO] [stdout]   |
[INFO] [stdout] 5 |     path::{Path,PathBuf},
[INFO] [stdout]   |            ^^^^ ^^^^^^^
[INFO] [stdout] 6 |     ffi::OsStr,
[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 imports: `DirEntry` and `WalkDir`
[INFO] [stdout]  --> src/eval/evaluator.rs:1:15
[INFO] [stdout]   |
[INFO] [stdout] 1 | use walkdir::{DirEntry, WalkDir};
[INFO] [stdout]   |               ^^^^^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> src/eval/evaluator.rs:24:11
[INFO] [stdout]    |
[INFO] [stdout] 24 |         if(src_dirs.len() > 0){
[INFO] [stdout]    |           ^                  ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 24 -         if(src_dirs.len() > 0){
[INFO] [stdout] 24 +         if src_dirs.len() > 0 {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `uname`
[INFO] [stdout]  --> src/parser/manifest.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use uname; 
[INFO] [stdout]   |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `debug` should have an upper camel case name
[INFO] [stdout]   --> src/parser/manifest.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 |     debug, 
[INFO] [stdout]    |     ^^^^^ help: convert the identifier to upper camel case: `Debug`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_camel_case_types)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `release` should have an upper camel case name
[INFO] [stdout]   --> src/parser/manifest.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 |     release,
[INFO] [stdout]    |     ^^^^^^^ help: convert the identifier to upper camel case: `Release`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stdout]   --> src/parser/manifest.rs:12:11
[INFO] [stdout]    |
[INFO] [stdout] 12 | #[derive( Deserialize,Serialize, Clone,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: `#[warn(unexpected_cfgs)]` on by default
[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: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stdout]   --> src/parser/manifest.rs:12:23
[INFO] [stdout]    |
[INFO] [stdout] 12 | #[derive( Deserialize,Serialize, Clone,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: 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: variant `staticlib` should have an upper camel case name
[INFO] [stdout]   --> src/parser/manifest.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 22 |     staticlib,
[INFO] [stdout]    |     ^^^^^^^^^ help: convert the identifier to upper camel case (notice the capitalization): `Staticlib`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `sharedlib` should have an upper camel case name
[INFO] [stdout]   --> src/parser/manifest.rs:23:5
[INFO] [stdout]    |
[INFO] [stdout] 23 |     sharedlib,
[INFO] [stdout]    |     ^^^^^^^^^ help: convert the identifier to upper camel case (notice the capitalization): `Sharedlib`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `bin` should have an upper camel case name
[INFO] [stdout]   --> src/parser/manifest.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 24 |     bin,
[INFO] [stdout]    |     ^^^ help: convert the identifier to upper camel case: `Bin`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stdout]   --> src/parser/manifest.rs:19:11
[INFO] [stdout]    |
[INFO] [stdout] 19 | #[derive( Deserialize,Serialize, Clone,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: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stdout]   --> src/parser/manifest.rs:19:23
[INFO] [stdout]    |
[INFO] [stdout] 19 | #[derive( Deserialize,Serialize, Clone,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: 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/parser/manifest.rs:27:11
[INFO] [stdout]    |
[INFO] [stdout] 27 | #[derive( Deserialize,Serialize, Clone,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: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stdout]   --> src/parser/manifest.rs:27:23
[INFO] [stdout]    |
[INFO] [stdout] 27 | #[derive( Deserialize,Serialize, Clone,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: 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/parser/manifest.rs:36:11
[INFO] [stdout]    |
[INFO] [stdout] 36 | #[derive( Deserialize,Serialize, Clone,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: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stdout]   --> src/parser/manifest.rs:36:23
[INFO] [stdout]    |
[INFO] [stdout] 36 | #[derive( Deserialize,Serialize, Clone,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: 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: unused import: `PackageType`
[INFO] [stdout]  --> src/workspace/ws_controller.rs:1:41
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::parser::manifest::{Manifest, PackageType};
[INFO] [stdout]   |                                         ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::env`
[INFO] [stdout]  --> src/main.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::env;
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/parser/manifest.rs:51:61
[INFO] [stdout]    |
[INFO] [stdout] 51 |     pub fn new<P: AsRef<Path>>(path: P) -> Result<Self, Box<Error>> {
[INFO] [stdout]    |                                                             ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 51 |     pub fn new<P: AsRef<Path>>(path: P) -> Result<Self, Box<dyn Error>> {
[INFO] [stdout]    |                                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/cmake_generator/generator.rs:19:65
[INFO] [stdout]    |
[INFO] [stdout] 19 |     fn add_cmake_meta(&self, file: &mut File) -> Result<(), Box<Error>> {
[INFO] [stdout]    |                                                                 ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 19 |     fn add_cmake_meta(&self, file: &mut File) -> Result<(), Box<dyn Error>> {
[INFO] [stdout]    |                                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/cmake_generator/generator.rs:30:75
[INFO] [stdout]    |
[INFO] [stdout] 30 |     fn add_cmake_compiler_flags(&self, file: &mut File) -> Result<(), Box<Error>> {
[INFO] [stdout]    |                                                                           ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 30 |     fn add_cmake_compiler_flags(&self, file: &mut File) -> Result<(), Box<dyn Error>> {
[INFO] [stdout]    |                                                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/cmake_generator/generator.rs:41:67
[INFO] [stdout]    |
[INFO] [stdout] 41 |     fn add_cmake_target(&self, file: &mut File) -> Result<(), Box<Error>> {
[INFO] [stdout]    |                                                                   ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 41 |     fn add_cmake_target(&self, file: &mut File) -> Result<(), Box<dyn Error>> {
[INFO] [stdout]    |                                                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/cmake_generator/generator.rs:61:67
[INFO] [stdout]    |
[INFO] [stdout] 61 |     fn add_cmake_config(&self, file: &mut File) -> Result<(), Box<Error>> {
[INFO] [stdout]    |                                                                   ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 61 |     fn add_cmake_config(&self, file: &mut File) -> Result<(), Box<dyn Error>> {
[INFO] [stdout]    |                                                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/cmake_generator/generator.rs:78:55
[INFO] [stdout]    |
[INFO] [stdout] 78 |     fn create_project_config(&self) -> Result<(), Box<Error>> {
[INFO] [stdout]    |                                                       ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 78 |     fn create_project_config(&self) -> Result<(), Box<dyn Error>> {
[INFO] [stdout]    |                                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/cmake_generator/generator.rs:88:45
[INFO] [stdout]    |
[INFO] [stdout] 88 |     pub fn generate(&self) -> Result<(),Box<Error>>{
[INFO] [stdout]    |                                             ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 88 |     pub fn generate(&self) -> Result<(),Box<dyn Error>>{
[INFO] [stdout]    |                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `dirs` is assigned to, but never used
[INFO] [stdout]   --> src/eval/evaluator.rs:21:13
[INFO] [stdout]    |
[INFO] [stdout] 21 |         let mut dirs = vec![default_src]; 
[INFO] [stdout]    |             ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: consider using `_dirs` instead
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `dirs` is never read
[INFO] [stdout]   --> src/eval/evaluator.rs:25:13
[INFO] [stdout]    |
[INFO] [stdout] 25 |             dirs = src_dirs.to_vec(); 
[INFO] [stdout]    |             ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: maybe it is overwritten before being read?
[INFO] [stdout]    = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/cmake_generator/generator.rs:89:13
[INFO] [stdout]    |
[INFO] [stdout] 89 |         let mut path = Path::new(self.output_path.as_str()).join("CMakeLists.txt");
[INFO] [stdout]    |             ----^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `base_path`
[INFO] [stdout]   --> src/workspace/ws_controller.rs:96:50
[INFO] [stdout]    |
[INFO] [stdout] 96 | pub fn finalize_source_artifacts<P: AsRef<Path>>(base_path: P, source_name: String) {
[INFO] [stdout]    |                                                  ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_base_path`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `source_name`
[INFO] [stdout]   --> src/workspace/ws_controller.rs:96:64
[INFO] [stdout]    |
[INFO] [stdout] 96 | pub fn finalize_source_artifacts<P: AsRef<Path>>(base_path: P, source_name: String) {
[INFO] [stdout]    |                                                                ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_source_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_src_files` is never used
[INFO] [stdout]   --> src/eval/traverse.rs:21:8
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub fn get_src_files(path : &str)->Result<Vec<DirEntry>,walkdir::Error>{
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_valid_extension` is never used
[INFO] [stdout]   --> src/eval/traverse.rs:33:8
[INFO] [stdout]    |
[INFO] [stdout] 33 | pub fn is_valid_extension(entry: &DirEntry)->bool{
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Evaluator` is never constructed
[INFO] [stdout]  --> src/eval/evaluator.rs:5:12
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub struct Evaluator<'a> {
[INFO] [stdout]   |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `expand_src_files` are never used
[INFO] [stdout]   --> src/eval/evaluator.rs:11:12
[INFO] [stdout]    |
[INFO] [stdout] 10 | impl<'a> Evaluator<'a> {
[INFO] [stdout]    | ---------------------- associated items in this implementation
[INFO] [stdout] 11 |     pub fn new(manifest: &'a mut Manifest) -> Evaluator<'a> {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 18 |     pub fn expand_src_files(&mut self)->Result<bool,walkdir::Error>{
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `OsInfo` is never constructed
[INFO] [stdout]  --> src/parser/os_info.rs:2:12
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub struct OsInfo{
[INFO] [stdout]   |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]  --> src/parser/os_info.rs:7:12
[INFO] [stdout]   |
[INFO] [stdout] 6 | impl OsInfo{
[INFO] [stdout]   | ----------- associated function in this implementation
[INFO] [stdout] 7 |     pub fn new()->Self{
[INFO] [stdout]   |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `BuildType` is never used
[INFO] [stdout]   --> src/parser/manifest.rs:14:10
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub enum BuildType {
[INFO] [stdout]    |          ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `PackageType` is never used
[INFO] [stdout]   --> src/parser/manifest.rs:21:10
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub enum PackageType {
[INFO] [stdout]    |          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Dependency` is never constructed
[INFO] [stdout]   --> src/parser/manifest.rs:28:12
[INFO] [stdout]    |
[INFO] [stdout] 28 | pub struct Dependency{
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Manifest` is never constructed
[INFO] [stdout]   --> src/parser/manifest.rs:37:12
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub struct Manifest{
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `set_os_info`, `add_src_files`, `get_src_dirs`, and `get_src_files` are never used
[INFO] [stdout]   --> src/parser/manifest.rs:51:12
[INFO] [stdout]    |
[INFO] [stdout] 50 | impl Manifest{
[INFO] [stdout]    | ------------- associated items in this implementation
[INFO] [stdout] 51 |     pub fn new<P: AsRef<Path>>(path: P) -> Result<Self, Box<Error>> {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 57 |     fn set_os_info(&mut self){  
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 61 |     pub fn add_src_files(&mut self,mut other_src_files : Vec<String>){
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 64 |     pub fn get_src_dirs(&self)-> &Vec<String>{
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 67 |     pub fn get_src_files(&self)-> &Vec<String>{
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CMAKE_TARGET_LIBARY_TEMPLATE` is never used
[INFO] [stdout]  --> src/cmake_generator/templates.rs:1:11
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub const CMAKE_TARGET_LIBARY_TEMPLATE: &str = r#"
[INFO] [stdout]   |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CMAKE_TARGET_BINARY_TEMPLATE` is never used
[INFO] [stdout]   --> src/cmake_generator/templates.rs:14:11
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub const CMAKE_TARGET_BINARY_TEMPLATE: &str = r#"
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CMAKE_COMPILER_FLAGS_TEMPLATE` is never used
[INFO] [stdout]   --> src/cmake_generator/templates.rs:26:11
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub const CMAKE_COMPILER_FLAGS_TEMPLATE: &str = r#"
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CMAKE_PACKAGE_METADATA_TEMPLATE` is never used
[INFO] [stdout]   --> src/cmake_generator/templates.rs:30:11
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub const CMAKE_PACKAGE_METADATA_TEMPLATE: &str = r#"
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CMAKE_TEST_TEMPLATE` is never used
[INFO] [stdout]   --> src/cmake_generator/templates.rs:35:11
[INFO] [stdout]    |
[INFO] [stdout] 35 | pub const CMAKE_TEST_TEMPLATE: &str = r#"
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CMAKE_CONFIG_TEMPLATE` is never used
[INFO] [stdout]   --> src/cmake_generator/templates.rs:38:11
[INFO] [stdout]    |
[INFO] [stdout] 38 | pub const CMAKE_CONFIG_TEMPLATE: &str = r#"
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CPP_CONFIG_TEMPLATE` is never used
[INFO] [stdout]   --> src/cmake_generator/templates.rs:42:11
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub const CPP_CONFIG_TEMPLATE: &str = r#"
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CMakeGenerator` is never constructed
[INFO] [stdout]  --> src/cmake_generator/generator.rs:9:12
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub struct CMakeGenerator<'a> {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]   --> src/cmake_generator/generator.rs:15:12
[INFO] [stdout]    |
[INFO] [stdout] 14 | impl<'a> CMakeGenerator<'a> {
[INFO] [stdout]    | --------------------------- associated items in this implementation
[INFO] [stdout] 15 |     pub fn new(output_path: String, manifest: &'a Manifest) -> CMakeGenerator<'a> {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 19 |     fn add_cmake_meta(&self, file: &mut File) -> Result<(), Box<Error>> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 30 |     fn add_cmake_compiler_flags(&self, file: &mut File) -> Result<(), Box<Error>> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 41 |     fn add_cmake_target(&self, file: &mut File) -> Result<(), Box<Error>> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 61 |     fn add_cmake_config(&self, file: &mut File) -> Result<(), Box<Error>> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 78 |     fn create_project_config(&self) -> Result<(), Box<Error>> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 88 |     pub fn generate(&self) -> Result<(),Box<Error>>{
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `WorkspaceArtifact` is never constructed
[INFO] [stdout]  --> src/workspace/ws_controller.rs:6:12
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct WorkspaceArtifact {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/workspace/ws_controller.rs:14:12
[INFO] [stdout]    |
[INFO] [stdout] 13 | impl WorkspaceArtifact {
[INFO] [stdout]    | ---------------------- associated function in this implementation
[INFO] [stdout] 14 |     pub fn new() -> WorkspaceArtifact {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `create_folder_in_workspace` is never used
[INFO] [stdout]   --> src/workspace/ws_controller.rs:24:8
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub fn create_folder_in_workspace<P: AsRef<Path>>(base_path: P, folder_path: P) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `create_workspace` is never used
[INFO] [stdout]   --> src/workspace/ws_controller.rs:32:8
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub fn create_workspace<P: AsRef<Path>>(base_path: P) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `workspace_exists` is never used
[INFO] [stdout]   --> src/workspace/ws_controller.rs:45:8
[INFO] [stdout]    |
[INFO] [stdout] 45 | pub fn workspace_exists<P: AsRef<Path>>(base_path: P) -> Result<bool, Error> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `collect_workspace_artifacts` is never used
[INFO] [stdout]   --> src/workspace/ws_controller.rs:51:8
[INFO] [stdout]    |
[INFO] [stdout] 51 | pub fn collect_workspace_artifacts<P: AsRef<Path>>(base_path: P) -> Result<Vec<WorkspaceArtifact>, Error> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `clear_workspace_artifacts` is never used
[INFO] [stdout]   --> src/workspace/ws_controller.rs:87:8
[INFO] [stdout]    |
[INFO] [stdout] 87 | pub fn clear_workspace_artifacts<P: AsRef<Path>>(base_path: P) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `finalize_source_artifacts` is never used
[INFO] [stdout]   --> src/workspace/ws_controller.rs:96:8
[INFO] [stdout]    |
[INFO] [stdout] 96 | pub fn finalize_source_artifacts<P: AsRef<Path>>(base_path: P, source_name: 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/parser/manifest.rs:12:11
[INFO] [stdout]    |
[INFO] [stdout] 12 | #[derive( Deserialize,Serialize, Clone,Debug)]
[INFO] [stdout]    |           ^----------
[INFO] [stdout]    |           |
[INFO] [stdout]    |           `Deserialize` is not local
[INFO] [stdout]    |           move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_BuildType`
[INFO] [stdout] 13 | #[serde(rename = "build_type")]
[INFO] [stdout] 14 | pub enum BuildType {
[INFO] [stdout]    |          --------- `BuildType` 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: `#[warn(non_local_definitions)]` on by default
[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: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/parser/manifest.rs:12:23
[INFO] [stdout]    |
[INFO] [stdout] 12 | #[derive( Deserialize,Serialize, Clone,Debug)]
[INFO] [stdout]    |                       ^--------
[INFO] [stdout]    |                       |
[INFO] [stdout]    |                       `Serialize` is not local
[INFO] [stdout]    |                       move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_BuildType`
[INFO] [stdout] 13 | #[serde(rename = "build_type")]
[INFO] [stdout] 14 | pub enum BuildType {
[INFO] [stdout]    |          --------- `BuildType` 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: 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/parser/manifest.rs:19:11
[INFO] [stdout]    |
[INFO] [stdout] 19 | #[derive( Deserialize,Serialize, Clone,Debug)]
[INFO] [stdout]    |           ^----------
[INFO] [stdout]    |           |
[INFO] [stdout]    |           `Deserialize` is not local
[INFO] [stdout]    |           move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_PackageType`
[INFO] [stdout] 20 | #[serde(rename = "package_type")]
[INFO] [stdout] 21 | pub enum PackageType {
[INFO] [stdout]    |          ----------- `PackageType` 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: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/parser/manifest.rs:19:23
[INFO] [stdout]    |
[INFO] [stdout] 19 | #[derive( Deserialize,Serialize, Clone,Debug)]
[INFO] [stdout]    |                       ^--------
[INFO] [stdout]    |                       |
[INFO] [stdout]    |                       `Serialize` is not local
[INFO] [stdout]    |                       move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_PackageType`
[INFO] [stdout] 20 | #[serde(rename = "package_type")]
[INFO] [stdout] 21 | pub enum PackageType {
[INFO] [stdout]    |          ----------- `PackageType` 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: 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/parser/manifest.rs:27:11
[INFO] [stdout]    |
[INFO] [stdout] 27 | #[derive( Deserialize,Serialize, Clone,Debug)]
[INFO] [stdout]    |           ^----------
[INFO] [stdout]    |           |
[INFO] [stdout]    |           `Deserialize` is not local
[INFO] [stdout]    |           move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Dependency`
[INFO] [stdout] 28 | pub struct Dependency{
[INFO] [stdout]    |            ---------- `Dependency` 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: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/parser/manifest.rs:27:23
[INFO] [stdout]    |
[INFO] [stdout] 27 | #[derive( Deserialize,Serialize, Clone,Debug)]
[INFO] [stdout]    |                       ^--------
[INFO] [stdout]    |                       |
[INFO] [stdout]    |                       `Serialize` is not local
[INFO] [stdout]    |                       move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_Dependency`
[INFO] [stdout] 28 | pub struct Dependency{
[INFO] [stdout]    |            ---------- `Dependency` 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: 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/parser/manifest.rs:36:11
[INFO] [stdout]    |
[INFO] [stdout] 36 | #[derive( Deserialize,Serialize, Clone,Debug)]
[INFO] [stdout]    |           ^----------
[INFO] [stdout]    |           |
[INFO] [stdout]    |           `Deserialize` is not local
[INFO] [stdout]    |           move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Manifest`
[INFO] [stdout] 37 | pub struct Manifest{
[INFO] [stdout]    |            -------- `Manifest` 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: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/parser/manifest.rs:36:23
[INFO] [stdout]    |
[INFO] [stdout] 36 | #[derive( Deserialize,Serialize, Clone,Debug)]
[INFO] [stdout]    |                       ^--------
[INFO] [stdout]    |                       |
[INFO] [stdout]    |                       `Serialize` is not local
[INFO] [stdout]    |                       move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_Manifest`
[INFO] [stdout] 37 | pub struct Manifest{
[INFO] [stdout]    |            -------- `Manifest` 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: 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: unused `Result` that must be used
[INFO] [stdout]   --> src/cmake_generator/generator.rs:56:9
[INFO] [stdout]    |
[INFO] [stdout] 56 |         file.write_all(template.as_bytes());
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 56 |         let _ = file.write_all(template.as_bytes());
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/cmake_generator/generator.rs:73:9
[INFO] [stdout]    |
[INFO] [stdout] 73 |         file.write_all(template.as_bytes());
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 73 |         let _ = file.write_all(template.as_bytes());
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/cmake_generator/generator.rs:83:9
[INFO] [stdout]    |
[INFO] [stdout] 83 |         file.write_all(CPP_CONFIG_TEMPLATE.as_bytes());
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 83 |         let _ = file.write_all(CPP_CONFIG_TEMPLATE.as_bytes());
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/cmake_generator/generator.rs:95:9
[INFO] [stdout]    |
[INFO] [stdout] 95 |         self.create_project_config();
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 95 |         let _ = self.create_project_config();
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/cmake_generator/generator.rs:98:9
[INFO] [stdout]    |
[INFO] [stdout] 98 |         self.add_cmake_meta(&mut file);
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 98 |         let _ = self.add_cmake_meta(&mut file);
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/cmake_generator/generator.rs:99:9
[INFO] [stdout]    |
[INFO] [stdout] 99 |         self.add_cmake_compiler_flags(&mut file);
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 99 |         let _ = self.add_cmake_compiler_flags(&mut file);
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/cmake_generator/generator.rs:100:9
[INFO] [stdout]     |
[INFO] [stdout] 100 |         self.add_cmake_target(&mut file);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 100 |         let _ = self.add_cmake_target(&mut file);
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/cmake_generator/generator.rs:101:9
[INFO] [stdout]     |
[INFO] [stdout] 101 |         self.add_cmake_config(&mut file);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 101 |         let _ = self.add_cmake_config(&mut file);
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/workspace/ws_controller.rs:28:5
[INFO] [stdout]    |
[INFO] [stdout] 28 |     create_dir_all(ws_folder_path);
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 28 |     let _ = create_dir_all(ws_folder_path);
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/workspace/ws_controller.rs:37:9
[INFO] [stdout]    |
[INFO] [stdout] 37 |         create_dir(&ws_path);
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 37 |         let _ = create_dir(&ws_path);
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/workspace/ws_controller.rs:92:5
[INFO] [stdout]    |
[INFO] [stdout] 92 |     remove_dir_all(&artifacts_dir);
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 92 |     let _ = remove_dir_all(&artifacts_dir);
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/workspace/ws_controller.rs:93:5
[INFO] [stdout]    |
[INFO] [stdout] 93 |     create_dir(artifacts_dir);
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 93 |     let _ = create_dir(artifacts_dir);
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 11.48s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: fs_extra v1.1.0
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 1`
[INFO] running `Command { std: "docker" "inspect" "1de60e2d650e7175dbd72d25386435fc440588e936d0462122cf4b56b38948f3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "1de60e2d650e7175dbd72d25386435fc440588e936d0462122cf4b56b38948f3", kill_on_drop: false }`
[INFO] [stdout] 1de60e2d650e7175dbd72d25386435fc440588e936d0462122cf4b56b38948f3
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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" "-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+28f95933dc0727396c07b48d0a8cb5211b7fb472" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] b3ad5975b272a28598d51f74b1a17c7f72697cf8ab5d983e2298076ee6b76569
[INFO] running `Command { std: "docker" "start" "-a" "b3ad5975b272a28598d51f74b1a17c7f72697cf8ab5d983e2298076ee6b76569", kill_on_drop: false }`
[INFO] [stderr]    Compiling octi v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused imports: `PathBuf`, `Path`, and `ffi::OsStr`
[INFO] [stdout]  --> src/eval/traverse.rs:5:12
[INFO] [stdout]   |
[INFO] [stdout] 5 |     path::{Path,PathBuf},
[INFO] [stdout]   |            ^^^^ ^^^^^^^
[INFO] [stdout] 6 |     ffi::OsStr,
[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 imports: `DirEntry` and `WalkDir`
[INFO] [stdout]   --> src/eval/traverse.rs:47:19
[INFO] [stdout]    |
[INFO] [stdout] 47 |     use walkdir::{DirEntry, WalkDir};
[INFO] [stdout]    |                   ^^^^^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `DirEntry` and `WalkDir`
[INFO] [stdout]  --> src/eval/evaluator.rs:1:15
[INFO] [stdout]   |
[INFO] [stdout] 1 | use walkdir::{DirEntry, WalkDir};
[INFO] [stdout]   |               ^^^^^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> src/eval/evaluator.rs:24:11
[INFO] [stdout]    |
[INFO] [stdout] 24 |         if(src_dirs.len() > 0){
[INFO] [stdout]    |           ^                  ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 24 -         if(src_dirs.len() > 0){
[INFO] [stdout] 24 +         if src_dirs.len() > 0 {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `uname`
[INFO] [stdout]  --> src/parser/manifest.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use uname; 
[INFO] [stdout]   |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `debug` should have an upper camel case name
[INFO] [stdout]   --> src/parser/manifest.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 |     debug, 
[INFO] [stdout]    |     ^^^^^ help: convert the identifier to upper camel case: `Debug`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_camel_case_types)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `release` should have an upper camel case name
[INFO] [stdout]   --> src/parser/manifest.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 |     release,
[INFO] [stdout]    |     ^^^^^^^ help: convert the identifier to upper camel case: `Release`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stdout]   --> src/parser/manifest.rs:12:11
[INFO] [stdout]    |
[INFO] [stdout] 12 | #[derive( Deserialize,Serialize, Clone,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: `#[warn(unexpected_cfgs)]` on by default
[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: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stdout]   --> src/parser/manifest.rs:12:23
[INFO] [stdout]    |
[INFO] [stdout] 12 | #[derive( Deserialize,Serialize, Clone,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: 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: variant `staticlib` should have an upper camel case name
[INFO] [stdout]   --> src/parser/manifest.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 22 |     staticlib,
[INFO] [stdout]    |     ^^^^^^^^^ help: convert the identifier to upper camel case (notice the capitalization): `Staticlib`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `sharedlib` should have an upper camel case name
[INFO] [stdout]   --> src/parser/manifest.rs:23:5
[INFO] [stdout]    |
[INFO] [stdout] 23 |     sharedlib,
[INFO] [stdout]    |     ^^^^^^^^^ help: convert the identifier to upper camel case (notice the capitalization): `Sharedlib`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `bin` should have an upper camel case name
[INFO] [stdout]   --> src/parser/manifest.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 24 |     bin,
[INFO] [stdout]    |     ^^^ help: convert the identifier to upper camel case: `Bin`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stdout]   --> src/parser/manifest.rs:19:11
[INFO] [stdout]    |
[INFO] [stdout] 19 | #[derive( Deserialize,Serialize, Clone,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: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stdout]   --> src/parser/manifest.rs:19:23
[INFO] [stdout]    |
[INFO] [stdout] 19 | #[derive( Deserialize,Serialize, Clone,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: 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/parser/manifest.rs:27:11
[INFO] [stdout]    |
[INFO] [stdout] 27 | #[derive( Deserialize,Serialize, Clone,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: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stdout]   --> src/parser/manifest.rs:27:23
[INFO] [stdout]    |
[INFO] [stdout] 27 | #[derive( Deserialize,Serialize, Clone,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: 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/parser/manifest.rs:36:11
[INFO] [stdout]    |
[INFO] [stdout] 36 | #[derive( Deserialize,Serialize, Clone,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: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stdout]   --> src/parser/manifest.rs:36:23
[INFO] [stdout]    |
[INFO] [stdout] 36 | #[derive( Deserialize,Serialize, Clone,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: 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: unused import: `OsInfo`
[INFO] [stdout]  --> src/parser/mod.rs:6:34
[INFO] [stdout]   |
[INFO] [stdout] 6 |     use crate::parser::os_info::{OsInfo};
[INFO] [stdout]   |                                  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `PackageType`
[INFO] [stdout]  --> src/workspace/ws_controller.rs:1:41
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::parser::manifest::{Manifest, PackageType};
[INFO] [stdout]   |                                         ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `match` scrutinee expression
[INFO] [stdout]   --> src/workspace/mod.rs:31:18
[INFO] [stdout]    |
[INFO] [stdout] 31 |             match(r) {
[INFO] [stdout]    |                  ^ ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 31 -             match(r) {
[INFO] [stdout] 31 +             match r  {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::env`
[INFO] [stdout]  --> src/main.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::env;
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/parser/manifest.rs:51:61
[INFO] [stdout]    |
[INFO] [stdout] 51 |     pub fn new<P: AsRef<Path>>(path: P) -> Result<Self, Box<Error>> {
[INFO] [stdout]    |                                                             ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 51 |     pub fn new<P: AsRef<Path>>(path: P) -> Result<Self, Box<dyn Error>> {
[INFO] [stdout]    |                                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/cmake_generator/generator.rs:19:65
[INFO] [stdout]    |
[INFO] [stdout] 19 |     fn add_cmake_meta(&self, file: &mut File) -> Result<(), Box<Error>> {
[INFO] [stdout]    |                                                                 ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 19 |     fn add_cmake_meta(&self, file: &mut File) -> Result<(), Box<dyn Error>> {
[INFO] [stdout]    |                                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/cmake_generator/generator.rs:30:75
[INFO] [stdout]    |
[INFO] [stdout] 30 |     fn add_cmake_compiler_flags(&self, file: &mut File) -> Result<(), Box<Error>> {
[INFO] [stdout]    |                                                                           ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 30 |     fn add_cmake_compiler_flags(&self, file: &mut File) -> Result<(), Box<dyn Error>> {
[INFO] [stdout]    |                                                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/cmake_generator/generator.rs:41:67
[INFO] [stdout]    |
[INFO] [stdout] 41 |     fn add_cmake_target(&self, file: &mut File) -> Result<(), Box<Error>> {
[INFO] [stdout]    |                                                                   ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 41 |     fn add_cmake_target(&self, file: &mut File) -> Result<(), Box<dyn Error>> {
[INFO] [stdout]    |                                                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/cmake_generator/generator.rs:61:67
[INFO] [stdout]    |
[INFO] [stdout] 61 |     fn add_cmake_config(&self, file: &mut File) -> Result<(), Box<Error>> {
[INFO] [stdout]    |                                                                   ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 61 |     fn add_cmake_config(&self, file: &mut File) -> Result<(), Box<dyn Error>> {
[INFO] [stdout]    |                                                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/cmake_generator/generator.rs:78:55
[INFO] [stdout]    |
[INFO] [stdout] 78 |     fn create_project_config(&self) -> Result<(), Box<Error>> {
[INFO] [stdout]    |                                                       ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 78 |     fn create_project_config(&self) -> Result<(), Box<dyn Error>> {
[INFO] [stdout]    |                                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/cmake_generator/generator.rs:88:45
[INFO] [stdout]    |
[INFO] [stdout] 88 |     pub fn generate(&self) -> Result<(),Box<Error>>{
[INFO] [stdout]    |                                             ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 88 |     pub fn generate(&self) -> Result<(),Box<dyn Error>>{
[INFO] [stdout]    |                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `dirs` is assigned to, but never used
[INFO] [stdout]   --> src/eval/evaluator.rs:21:13
[INFO] [stdout]    |
[INFO] [stdout] 21 |         let mut dirs = vec![default_src]; 
[INFO] [stdout]    |             ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: consider using `_dirs` instead
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `dirs` is never read
[INFO] [stdout]   --> src/eval/evaluator.rs:25:13
[INFO] [stdout]    |
[INFO] [stdout] 25 |             dirs = src_dirs.to_vec(); 
[INFO] [stdout]    |             ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: maybe it is overwritten before being read?
[INFO] [stdout]    = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/cmake_generator/generator.rs:89:13
[INFO] [stdout]    |
[INFO] [stdout] 89 |         let mut path = Path::new(self.output_path.as_str()).join("CMakeLists.txt");
[INFO] [stdout]    |             ----^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `base_path`
[INFO] [stdout]   --> src/workspace/ws_controller.rs:96:50
[INFO] [stdout]    |
[INFO] [stdout] 96 | pub fn finalize_source_artifacts<P: AsRef<Path>>(base_path: P, source_name: String) {
[INFO] [stdout]    |                                                  ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_base_path`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `source_name`
[INFO] [stdout]   --> src/workspace/ws_controller.rs:96:64
[INFO] [stdout]    |
[INFO] [stdout] 96 | pub fn finalize_source_artifacts<P: AsRef<Path>>(base_path: P, source_name: String) {
[INFO] [stdout]    |                                                                ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_source_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `v`
[INFO] [stdout]   --> src/workspace/mod.rs:32:20
[INFO] [stdout]    |
[INFO] [stdout] 32 |                 Ok(v) => {
[INFO] [stdout]    |                    ^ help: if this is intentional, prefix it with an underscore: `_v`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `arch` is never read
[INFO] [stdout]  --> src/parser/os_info.rs:3:9
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub struct OsInfo{
[INFO] [stdout]   |            ------ field in this struct
[INFO] [stdout] 3 |     pub arch : String, 
[INFO] [stdout]   |         ^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `OsInfo` 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: field `os_info` is never read
[INFO] [stdout]   --> src/parser/manifest.rs:48:9
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub struct Manifest{
[INFO] [stdout]    |            -------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 48 |     pub os_info : OsInfo,
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Manifest` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `set_os_info` is never used
[INFO] [stdout]   --> src/parser/manifest.rs:57:8
[INFO] [stdout]    |
[INFO] [stdout] 50 | impl Manifest{
[INFO] [stdout]    | ------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 57 |     fn set_os_info(&mut self){  
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CMAKE_TEST_TEMPLATE` is never used
[INFO] [stdout]   --> src/cmake_generator/templates.rs:35:11
[INFO] [stdout]    |
[INFO] [stdout] 35 | pub const CMAKE_TEST_TEMPLATE: &str = r#"
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `clear_workspace_artifacts` is never used
[INFO] [stdout]   --> src/workspace/ws_controller.rs:87:8
[INFO] [stdout]    |
[INFO] [stdout] 87 | pub fn clear_workspace_artifacts<P: AsRef<Path>>(base_path: P) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `finalize_source_artifacts` is never used
[INFO] [stdout]   --> src/workspace/ws_controller.rs:96:8
[INFO] [stdout]    |
[INFO] [stdout] 96 | pub fn finalize_source_artifacts<P: AsRef<Path>>(base_path: P, source_name: 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/parser/manifest.rs:12:11
[INFO] [stdout]    |
[INFO] [stdout] 12 | #[derive( Deserialize,Serialize, Clone,Debug)]
[INFO] [stdout]    |           ^----------
[INFO] [stdout]    |           |
[INFO] [stdout]    |           `Deserialize` is not local
[INFO] [stdout]    |           move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_BuildType`
[INFO] [stdout] 13 | #[serde(rename = "build_type")]
[INFO] [stdout] 14 | pub enum BuildType {
[INFO] [stdout]    |          --------- `BuildType` 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: `#[warn(non_local_definitions)]` on by default
[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: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/parser/manifest.rs:12:23
[INFO] [stdout]    |
[INFO] [stdout] 12 | #[derive( Deserialize,Serialize, Clone,Debug)]
[INFO] [stdout]    |                       ^--------
[INFO] [stdout]    |                       |
[INFO] [stdout]    |                       `Serialize` is not local
[INFO] [stdout]    |                       move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_BuildType`
[INFO] [stdout] 13 | #[serde(rename = "build_type")]
[INFO] [stdout] 14 | pub enum BuildType {
[INFO] [stdout]    |          --------- `BuildType` 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: 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/parser/manifest.rs:19:11
[INFO] [stdout]    |
[INFO] [stdout] 19 | #[derive( Deserialize,Serialize, Clone,Debug)]
[INFO] [stdout]    |           ^----------
[INFO] [stdout]    |           |
[INFO] [stdout]    |           `Deserialize` is not local
[INFO] [stdout]    |           move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_PackageType`
[INFO] [stdout] 20 | #[serde(rename = "package_type")]
[INFO] [stdout] 21 | pub enum PackageType {
[INFO] [stdout]    |          ----------- `PackageType` 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: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/parser/manifest.rs:19:23
[INFO] [stdout]    |
[INFO] [stdout] 19 | #[derive( Deserialize,Serialize, Clone,Debug)]
[INFO] [stdout]    |                       ^--------
[INFO] [stdout]    |                       |
[INFO] [stdout]    |                       `Serialize` is not local
[INFO] [stdout]    |                       move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_PackageType`
[INFO] [stdout] 20 | #[serde(rename = "package_type")]
[INFO] [stdout] 21 | pub enum PackageType {
[INFO] [stdout]    |          ----------- `PackageType` 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: 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/parser/manifest.rs:27:11
[INFO] [stdout]    |
[INFO] [stdout] 27 | #[derive( Deserialize,Serialize, Clone,Debug)]
[INFO] [stdout]    |           ^----------
[INFO] [stdout]    |           |
[INFO] [stdout]    |           `Deserialize` is not local
[INFO] [stdout]    |           move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Dependency`
[INFO] [stdout] 28 | pub struct Dependency{
[INFO] [stdout]    |            ---------- `Dependency` 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: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/parser/manifest.rs:27:23
[INFO] [stdout]    |
[INFO] [stdout] 27 | #[derive( Deserialize,Serialize, Clone,Debug)]
[INFO] [stdout]    |                       ^--------
[INFO] [stdout]    |                       |
[INFO] [stdout]    |                       `Serialize` is not local
[INFO] [stdout]    |                       move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_Dependency`
[INFO] [stdout] 28 | pub struct Dependency{
[INFO] [stdout]    |            ---------- `Dependency` 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: 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/parser/manifest.rs:36:11
[INFO] [stdout]    |
[INFO] [stdout] 36 | #[derive( Deserialize,Serialize, Clone,Debug)]
[INFO] [stdout]    |           ^----------
[INFO] [stdout]    |           |
[INFO] [stdout]    |           `Deserialize` is not local
[INFO] [stdout]    |           move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Manifest`
[INFO] [stdout] 37 | pub struct Manifest{
[INFO] [stdout]    |            -------- `Manifest` 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: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/parser/manifest.rs:36:23
[INFO] [stdout]    |
[INFO] [stdout] 36 | #[derive( Deserialize,Serialize, Clone,Debug)]
[INFO] [stdout]    |                       ^--------
[INFO] [stdout]    |                       |
[INFO] [stdout]    |                       `Serialize` is not local
[INFO] [stdout]    |                       move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_Manifest`
[INFO] [stdout] 37 | pub struct Manifest{
[INFO] [stdout]    |            -------- `Manifest` 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: 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: unused `Result` that must be used
[INFO] [stdout]   --> src/cmake_generator/generator.rs:56:9
[INFO] [stdout]    |
[INFO] [stdout] 56 |         file.write_all(template.as_bytes());
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 56 |         let _ = file.write_all(template.as_bytes());
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/cmake_generator/generator.rs:73:9
[INFO] [stdout]    |
[INFO] [stdout] 73 |         file.write_all(template.as_bytes());
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 73 |         let _ = file.write_all(template.as_bytes());
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/cmake_generator/generator.rs:83:9
[INFO] [stdout]    |
[INFO] [stdout] 83 |         file.write_all(CPP_CONFIG_TEMPLATE.as_bytes());
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 83 |         let _ = file.write_all(CPP_CONFIG_TEMPLATE.as_bytes());
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/cmake_generator/generator.rs:95:9
[INFO] [stdout]    |
[INFO] [stdout] 95 |         self.create_project_config();
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 95 |         let _ = self.create_project_config();
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/cmake_generator/generator.rs:98:9
[INFO] [stdout]    |
[INFO] [stdout] 98 |         self.add_cmake_meta(&mut file);
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 98 |         let _ = self.add_cmake_meta(&mut file);
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/cmake_generator/generator.rs:99:9
[INFO] [stdout]    |
[INFO] [stdout] 99 |         self.add_cmake_compiler_flags(&mut file);
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 99 |         let _ = self.add_cmake_compiler_flags(&mut file);
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/cmake_generator/generator.rs:100:9
[INFO] [stdout]     |
[INFO] [stdout] 100 |         self.add_cmake_target(&mut file);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 100 |         let _ = self.add_cmake_target(&mut file);
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/cmake_generator/generator.rs:101:9
[INFO] [stdout]     |
[INFO] [stdout] 101 |         self.add_cmake_config(&mut file);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 101 |         let _ = self.add_cmake_config(&mut file);
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/cmake_generator/mod.rs:15:9
[INFO] [stdout]    |
[INFO] [stdout] 15 |         gen.generate();
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 15 |         let _ = gen.generate();
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/workspace/ws_controller.rs:28:5
[INFO] [stdout]    |
[INFO] [stdout] 28 |     create_dir_all(ws_folder_path);
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 28 |     let _ = create_dir_all(ws_folder_path);
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/workspace/ws_controller.rs:37:9
[INFO] [stdout]    |
[INFO] [stdout] 37 |         create_dir(&ws_path);
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 37 |         let _ = create_dir(&ws_path);
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/workspace/ws_controller.rs:92:5
[INFO] [stdout]    |
[INFO] [stdout] 92 |     remove_dir_all(&artifacts_dir);
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 92 |     let _ = remove_dir_all(&artifacts_dir);
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/workspace/ws_controller.rs:93:5
[INFO] [stdout]    |
[INFO] [stdout] 93 |     create_dir(artifacts_dir);
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 93 |     let _ = create_dir(artifacts_dir);
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.99s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: fs_extra v1.1.0
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 1`
[INFO] running `Command { std: "docker" "inspect" "b3ad5975b272a28598d51f74b1a17c7f72697cf8ab5d983e2298076ee6b76569", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "b3ad5975b272a28598d51f74b1a17c7f72697cf8ab5d983e2298076ee6b76569", kill_on_drop: false }`
[INFO] [stdout] b3ad5975b272a28598d51f74b1a17c7f72697cf8ab5d983e2298076ee6b76569
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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" "-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+28f95933dc0727396c07b48d0a8cb5211b7fb472" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 381eefcc3db52f9080be0243dc6b61873e6bebd2a599b9b3335d635be46fe3f9
[INFO] running `Command { std: "docker" "start" "-a" "381eefcc3db52f9080be0243dc6b61873e6bebd2a599b9b3335d635be46fe3f9", kill_on_drop: false }`
[INFO] [stderr] warning: unused imports: `PathBuf`, `Path`, and `ffi::OsStr`
[INFO] [stderr]  --> src/eval/traverse.rs:5:12
[INFO] [stderr]   |
[INFO] [stderr] 5 |     path::{Path,PathBuf},
[INFO] [stderr]   |            ^^^^ ^^^^^^^
[INFO] [stderr] 6 |     ffi::OsStr,
[INFO] [stderr]   |     ^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `DirEntry` and `WalkDir`
[INFO] [stderr]   --> src/eval/traverse.rs:47:19
[INFO] [stderr]    |
[INFO] [stderr] 47 |     use walkdir::{DirEntry, WalkDir};
[INFO] [stderr]    |                   ^^^^^^^^  ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `DirEntry` and `WalkDir`
[INFO] [stderr]  --> src/eval/evaluator.rs:1:15
[INFO] [stderr]   |
[INFO] [stderr] 1 | use walkdir::{DirEntry, WalkDir};
[INFO] [stderr]   |               ^^^^^^^^  ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `if` condition
[INFO] [stderr]   --> src/eval/evaluator.rs:24:11
[INFO] [stderr]    |
[INFO] [stderr] 24 |         if(src_dirs.len() > 0){
[INFO] [stderr]    |           ^                  ^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]    |
[INFO] [stderr] 24 -         if(src_dirs.len() > 0){
[INFO] [stderr] 24 +         if src_dirs.len() > 0 {
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `uname`
[INFO] [stderr]  --> src/parser/manifest.rs:4:5
[INFO] [stderr]   |
[INFO] [stderr] 4 | use uname; 
[INFO] [stderr]   |     ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variant `debug` should have an upper camel case name
[INFO] [stderr]   --> src/parser/manifest.rs:15:5
[INFO] [stderr]    |
[INFO] [stderr] 15 |     debug, 
[INFO] [stderr]    |     ^^^^^ help: convert the identifier to upper camel case: `Debug`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(non_camel_case_types)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variant `release` should have an upper camel case name
[INFO] [stderr]   --> src/parser/manifest.rs:16:5
[INFO] [stderr]    |
[INFO] [stderr] 16 |     release,
[INFO] [stderr]    |     ^^^^^^^ help: convert the identifier to upper camel case: `Release`
[INFO] [stderr] 
[INFO] [stderr] warning: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stderr]   --> src/parser/manifest.rs:12:11
[INFO] [stderr]    |
[INFO] [stderr] 12 | #[derive( Deserialize,Serialize, Clone,Debug)]
[INFO] [stderr]    |           ^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: no expected values for `feature`
[INFO] [stderr]    = 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] [stderr]    = help: try referring to `Deserialize` crate for guidance on how handle this unexpected cfg
[INFO] [stderr]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stderr]    = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stderr]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stderr]   --> src/parser/manifest.rs:12:23
[INFO] [stderr]    |
[INFO] [stderr] 12 | #[derive( Deserialize,Serialize, Clone,Debug)]
[INFO] [stderr]    |                       ^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: no expected values for `feature`
[INFO] [stderr]    = 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] [stderr]    = help: try referring to `Serialize` crate for guidance on how handle this unexpected cfg
[INFO] [stderr]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stderr]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: variant `staticlib` should have an upper camel case name
[INFO] [stderr]   --> src/parser/manifest.rs:22:5
[INFO] [stderr]    |
[INFO] [stderr] 22 |     staticlib,
[INFO] [stderr]    |     ^^^^^^^^^ help: convert the identifier to upper camel case (notice the capitalization): `Staticlib`
[INFO] [stderr] 
[INFO] [stderr] warning: variant `sharedlib` should have an upper camel case name
[INFO] [stderr]   --> src/parser/manifest.rs:23:5
[INFO] [stderr]    |
[INFO] [stderr] 23 |     sharedlib,
[INFO] [stderr]    |     ^^^^^^^^^ help: convert the identifier to upper camel case (notice the capitalization): `Sharedlib`
[INFO] [stderr] 
[INFO] [stderr] warning: variant `bin` should have an upper camel case name
[INFO] [stderr]   --> src/parser/manifest.rs:24:5
[INFO] [stderr]    |
[INFO] [stderr] 24 |     bin,
[INFO] [stderr]    |     ^^^ help: convert the identifier to upper camel case: `Bin`
[INFO] [stderr] 
[INFO] [stderr] warning: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stderr]   --> src/parser/manifest.rs:19:11
[INFO] [stderr]    |
[INFO] [stderr] 19 | #[derive( Deserialize,Serialize, Clone,Debug)]
[INFO] [stderr]    |           ^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: no expected values for `feature`
[INFO] [stderr]    = 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] [stderr]    = help: try referring to `Deserialize` crate for guidance on how handle this unexpected cfg
[INFO] [stderr]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stderr]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stderr]   --> src/parser/manifest.rs:19:23
[INFO] [stderr]    |
[INFO] [stderr] 19 | #[derive( Deserialize,Serialize, Clone,Debug)]
[INFO] [stderr]    |                       ^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: no expected values for `feature`
[INFO] [stderr]    = 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] [stderr]    = help: try referring to `Serialize` crate for guidance on how handle this unexpected cfg
[INFO] [stderr]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stderr]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stderr]   --> src/parser/manifest.rs:27:11
[INFO] [stderr]    |
[INFO] [stderr] 27 | #[derive( Deserialize,Serialize, Clone,Debug)]
[INFO] [stderr]    |           ^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: no expected values for `feature`
[INFO] [stderr]    = 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] [stderr]    = help: try referring to `Deserialize` crate for guidance on how handle this unexpected cfg
[INFO] [stderr]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stderr]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stderr]   --> src/parser/manifest.rs:27:23
[INFO] [stderr]    |
[INFO] [stderr] 27 | #[derive( Deserialize,Serialize, Clone,Debug)]
[INFO] [stderr]    |                       ^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: no expected values for `feature`
[INFO] [stderr]    = 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] [stderr]    = help: try referring to `Serialize` crate for guidance on how handle this unexpected cfg
[INFO] [stderr]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stderr]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stderr]   --> src/parser/manifest.rs:36:11
[INFO] [stderr]    |
[INFO] [stderr] 36 | #[derive( Deserialize,Serialize, Clone,Debug)]
[INFO] [stderr]    |           ^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: no expected values for `feature`
[INFO] [stderr]    = 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] [stderr]    = help: try referring to `Deserialize` crate for guidance on how handle this unexpected cfg
[INFO] [stderr]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stderr]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stderr]   --> src/parser/manifest.rs:36:23
[INFO] [stderr]    |
[INFO] [stderr] 36 | #[derive( Deserialize,Serialize, Clone,Debug)]
[INFO] [stderr]    |                       ^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: no expected values for `feature`
[INFO] [stderr]    = 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] [stderr]    = help: try referring to `Serialize` crate for guidance on how handle this unexpected cfg
[INFO] [stderr]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stderr]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `OsInfo`
[INFO] [stderr]  --> src/parser/mod.rs:6:34
[INFO] [stderr]   |
[INFO] [stderr] 6 |     use crate::parser::os_info::{OsInfo};
[INFO] [stderr]   |                                  ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `PackageType`
[INFO] [stderr]  --> src/workspace/ws_controller.rs:1:41
[INFO] [stderr]   |
[INFO] [stderr] 1 | use crate::parser::manifest::{Manifest, PackageType};
[INFO] [stderr]   |                                         ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `match` scrutinee expression
[INFO] [stderr]   --> src/workspace/mod.rs:31:18
[INFO] [stderr]    |
[INFO] [stderr] 31 |             match(r) {
[INFO] [stderr]    |                  ^ ^
[INFO] [stderr]    |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]    |
[INFO] [stderr] 31 -             match(r) {
[INFO] [stderr] 31 +             match r  {
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::env`
[INFO] [stderr]  --> src/main.rs:8:5
[INFO] [stderr]   |
[INFO] [stderr] 8 | use std::env;
[INFO] [stderr]   |     ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/parser/manifest.rs:51:61
[INFO] [stderr]    |
[INFO] [stderr] 51 |     pub fn new<P: AsRef<Path>>(path: P) -> Result<Self, Box<Error>> {
[INFO] [stderr]    |                                                             ^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr]    = note: `#[warn(bare_trait_objects)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 51 |     pub fn new<P: AsRef<Path>>(path: P) -> Result<Self, Box<dyn Error>> {
[INFO] [stderr]    |                                                             +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/cmake_generator/generator.rs:19:65
[INFO] [stderr]    |
[INFO] [stderr] 19 |     fn add_cmake_meta(&self, file: &mut File) -> Result<(), Box<Error>> {
[INFO] [stderr]    |                                                                 ^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 19 |     fn add_cmake_meta(&self, file: &mut File) -> Result<(), Box<dyn Error>> {
[INFO] [stderr]    |                                                                 +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/cmake_generator/generator.rs:30:75
[INFO] [stderr]    |
[INFO] [stderr] 30 |     fn add_cmake_compiler_flags(&self, file: &mut File) -> Result<(), Box<Error>> {
[INFO] [stderr]    |                                                                           ^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 30 |     fn add_cmake_compiler_flags(&self, file: &mut File) -> Result<(), Box<dyn Error>> {
[INFO] [stderr]    |                                                                           +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/cmake_generator/generator.rs:41:67
[INFO] [stderr]    |
[INFO] [stderr] 41 |     fn add_cmake_target(&self, file: &mut File) -> Result<(), Box<Error>> {
[INFO] [stderr]    |                                                                   ^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 41 |     fn add_cmake_target(&self, file: &mut File) -> Result<(), Box<dyn Error>> {
[INFO] [stderr]    |                                                                   +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/cmake_generator/generator.rs:61:67
[INFO] [stderr]    |
[INFO] [stderr] 61 |     fn add_cmake_config(&self, file: &mut File) -> Result<(), Box<Error>> {
[INFO] [stderr]    |                                                                   ^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 61 |     fn add_cmake_config(&self, file: &mut File) -> Result<(), Box<dyn Error>> {
[INFO] [stderr]    |                                                                   +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/cmake_generator/generator.rs:78:55
[INFO] [stderr]    |
[INFO] [stderr] 78 |     fn create_project_config(&self) -> Result<(), Box<Error>> {
[INFO] [stderr]    |                                                       ^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 78 |     fn create_project_config(&self) -> Result<(), Box<dyn Error>> {
[INFO] [stderr]    |                                                       +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/cmake_generator/generator.rs:88:45
[INFO] [stderr]    |
[INFO] [stderr] 88 |     pub fn generate(&self) -> Result<(),Box<Error>>{
[INFO] [stderr]    |                                             ^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 88 |     pub fn generate(&self) -> Result<(),Box<dyn Error>>{
[INFO] [stderr]    |                                             +++
[INFO] [stderr] 
[INFO] [stderr] warning: variable `dirs` is assigned to, but never used
[INFO] [stderr]   --> src/eval/evaluator.rs:21:13
[INFO] [stderr]    |
[INFO] [stderr] 21 |         let mut dirs = vec![default_src]; 
[INFO] [stderr]    |             ^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: consider using `_dirs` instead
[INFO] [stderr]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: value assigned to `dirs` is never read
[INFO] [stderr]   --> src/eval/evaluator.rs:25:13
[INFO] [stderr]    |
[INFO] [stderr] 25 |             dirs = src_dirs.to_vec(); 
[INFO] [stderr]    |             ^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = help: maybe it is overwritten before being read?
[INFO] [stderr]    = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/cmake_generator/generator.rs:89:13
[INFO] [stderr]    |
[INFO] [stderr] 89 |         let mut path = Path::new(self.output_path.as_str()).join("CMakeLists.txt");
[INFO] [stderr]    |             ----^^^^
[INFO] [stderr]    |             |
[INFO] [stderr]    |             help: remove this `mut`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `base_path`
[INFO] [stderr]   --> src/workspace/ws_controller.rs:96:50
[INFO] [stderr]    |
[INFO] [stderr] 96 | pub fn finalize_source_artifacts<P: AsRef<Path>>(base_path: P, source_name: String) {
[INFO] [stderr]    |                                                  ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_base_path`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `source_name`
[INFO] [stderr]   --> src/workspace/ws_controller.rs:96:64
[INFO] [stderr]    |
[INFO] [stderr] 96 | pub fn finalize_source_artifacts<P: AsRef<Path>>(base_path: P, source_name: String) {
[INFO] [stderr]    |                                                                ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_source_name`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `v`
[INFO] [stderr]   --> src/workspace/mod.rs:32:20
[INFO] [stderr]    |
[INFO] [stderr] 32 |                 Ok(v) => {
[INFO] [stderr]    |                    ^ help: if this is intentional, prefix it with an underscore: `_v`
[INFO] [stderr] 
[INFO] [stderr] warning: field `arch` is never read
[INFO] [stderr]  --> src/parser/os_info.rs:3:9
[INFO] [stderr]   |
[INFO] [stderr] 2 | pub struct OsInfo{
[INFO] [stderr]   |            ------ field in this struct
[INFO] [stderr] 3 |     pub arch : String, 
[INFO] [stderr]   |         ^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `OsInfo` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: field `os_info` is never read
[INFO] [stderr]   --> src/parser/manifest.rs:48:9
[INFO] [stderr]    |
[INFO] [stderr] 37 | pub struct Manifest{
[INFO] [stderr]    |            -------- field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 48 |     pub os_info : OsInfo,
[INFO] [stderr]    |         ^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `Manifest` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: method `set_os_info` is never used
[INFO] [stderr]   --> src/parser/manifest.rs:57:8
[INFO] [stderr]    |
[INFO] [stderr] 50 | impl Manifest{
[INFO] [stderr]    | ------------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 57 |     fn set_os_info(&mut self){  
[INFO] [stderr]    |        ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `CMAKE_TEST_TEMPLATE` is never used
[INFO] [stderr]   --> src/cmake_generator/templates.rs:35:11
[INFO] [stderr]    |
[INFO] [stderr] 35 | pub const CMAKE_TEST_TEMPLATE: &str = r#"
[INFO] [stderr]    |           ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `clear_workspace_artifacts` is never used
[INFO] [stderr]   --> src/workspace/ws_controller.rs:87:8
[INFO] [stderr]    |
[INFO] [stderr] 87 | pub fn clear_workspace_artifacts<P: AsRef<Path>>(base_path: P) {
[INFO] [stderr]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `finalize_source_artifacts` is never used
[INFO] [stderr]   --> src/workspace/ws_controller.rs:96:8
[INFO] [stderr]    |
[INFO] [stderr] 96 | pub fn finalize_source_artifacts<P: AsRef<Path>>(base_path: P, source_name: String) {
[INFO] [stderr]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> src/parser/manifest.rs:12:11
[INFO] [stderr]    |
[INFO] [stderr] 12 | #[derive( Deserialize,Serialize, Clone,Debug)]
[INFO] [stderr]    |           ^----------
[INFO] [stderr]    |           |
[INFO] [stderr]    |           `Deserialize` is not local
[INFO] [stderr]    |           move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_BuildType`
[INFO] [stderr] 13 | #[serde(rename = "build_type")]
[INFO] [stderr] 14 | pub enum BuildType {
[INFO] [stderr]    |          --------- `BuildType` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = 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] [stderr]    = 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] [stderr]    = 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] [stderr]    = note: `#[warn(non_local_definitions)]` on by default
[INFO] [stderr]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> src/parser/manifest.rs:12:23
[INFO] [stderr]    |
[INFO] [stderr] 12 | #[derive( Deserialize,Serialize, Clone,Debug)]
[INFO] [stderr]    |                       ^--------
[INFO] [stderr]    |                       |
[INFO] [stderr]    |                       `Serialize` is not local
[INFO] [stderr]    |                       move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_BuildType`
[INFO] [stderr] 13 | #[serde(rename = "build_type")]
[INFO] [stderr] 14 | pub enum BuildType {
[INFO] [stderr]    |          --------- `BuildType` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = 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] [stderr]    = 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] [stderr]    = 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] [stderr]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> src/parser/manifest.rs:19:11
[INFO] [stderr]    |
[INFO] [stderr] 19 | #[derive( Deserialize,Serialize, Clone,Debug)]
[INFO] [stderr]    |           ^----------
[INFO] [stderr]    |           |
[INFO] [stderr]    |           `Deserialize` is not local
[INFO] [stderr]    |           move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_PackageType`
[INFO] [stderr] 20 | #[serde(rename = "package_type")]
[INFO] [stderr] 21 | pub enum PackageType {
[INFO] [stderr]    |          ----------- `PackageType` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = 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] [stderr]    = 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] [stderr]    = 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] [stderr]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> src/parser/manifest.rs:19:23
[INFO] [stderr]    |
[INFO] [stderr] 19 | #[derive( Deserialize,Serialize, Clone,Debug)]
[INFO] [stderr]    |                       ^--------
[INFO] [stderr]    |                       |
[INFO] [stderr]    |                       `Serialize` is not local
[INFO] [stderr]    |                       move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_PackageType`
[INFO] [stderr] 20 | #[serde(rename = "package_type")]
[INFO] [stderr] 21 | pub enum PackageType {
[INFO] [stderr]    |          ----------- `PackageType` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = 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] [stderr]    = 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] [stderr]    = 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] [stderr]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> src/parser/manifest.rs:27:11
[INFO] [stderr]    |
[INFO] [stderr] 27 | #[derive( Deserialize,Serialize, Clone,Debug)]
[INFO] [stderr]    |           ^----------
[INFO] [stderr]    |           |
[INFO] [stderr]    |           `Deserialize` is not local
[INFO] [stderr]    |           move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Dependency`
[INFO] [stderr] 28 | pub struct Dependency{
[INFO] [stderr]    |            ---------- `Dependency` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = 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] [stderr]    = 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] [stderr]    = 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] [stderr]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> src/parser/manifest.rs:27:23
[INFO] [stderr]    |
[INFO] [stderr] 27 | #[derive( Deserialize,Serialize, Clone,Debug)]
[INFO] [stderr]    |                       ^--------
[INFO] [stderr]    |                       |
[INFO] [stderr]    |                       `Serialize` is not local
[INFO] [stderr]    |                       move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_Dependency`
[INFO] [stderr] 28 | pub struct Dependency{
[INFO] [stderr]    |            ---------- `Dependency` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = 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] [stderr]    = 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] [stderr]    = 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] [stderr]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> src/parser/manifest.rs:36:11
[INFO] [stderr]    |
[INFO] [stderr] 36 | #[derive( Deserialize,Serialize, Clone,Debug)]
[INFO] [stderr]    |           ^----------
[INFO] [stderr]    |           |
[INFO] [stderr]    |           `Deserialize` is not local
[INFO] [stderr]    |           move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Manifest`
[INFO] [stderr] 37 | pub struct Manifest{
[INFO] [stderr]    |            -------- `Manifest` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = 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] [stderr]    = 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] [stderr]    = 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] [stderr]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> src/parser/manifest.rs:36:23
[INFO] [stderr]    |
[INFO] [stderr] 36 | #[derive( Deserialize,Serialize, Clone,Debug)]
[INFO] [stderr]    |                       ^--------
[INFO] [stderr]    |                       |
[INFO] [stderr]    |                       `Serialize` is not local
[INFO] [stderr]    |                       move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_Manifest`
[INFO] [stderr] 37 | pub struct Manifest{
[INFO] [stderr]    |            -------- `Manifest` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = 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] [stderr]    = 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] [stderr]    = 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] [stderr]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]   --> src/cmake_generator/generator.rs:56:9
[INFO] [stderr]    |
[INFO] [stderr] 56 |         file.write_all(template.as_bytes());
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr]    = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]    |
[INFO] [stderr] 56 |         let _ = file.write_all(template.as_bytes());
[INFO] [stderr]    |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]   --> src/cmake_generator/generator.rs:73:9
[INFO] [stderr]    |
[INFO] [stderr] 73 |         file.write_all(template.as_bytes());
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]    |
[INFO] [stderr] 73 |         let _ = file.write_all(template.as_bytes());
[INFO] [stderr]    |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]   --> src/cmake_generator/generator.rs:83:9
[INFO] [stderr]    |
[INFO] [stderr] 83 |         file.write_all(CPP_CONFIG_TEMPLATE.as_bytes());
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]    |
[INFO] [stderr] 83 |         let _ = file.write_all(CPP_CONFIG_TEMPLATE.as_bytes());
[INFO] [stderr]    |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]   --> src/cmake_generator/generator.rs:95:9
[INFO] [stderr]    |
[INFO] [stderr] 95 |         self.create_project_config();
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]    |
[INFO] [stderr] 95 |         let _ = self.create_project_config();
[INFO] [stderr]    |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]   --> src/cmake_generator/generator.rs:98:9
[INFO] [stderr]    |
[INFO] [stderr] 98 |         self.add_cmake_meta(&mut file);
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]    |
[INFO] [stderr] 98 |         let _ = self.add_cmake_meta(&mut file);
[INFO] [stderr]    |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]   --> src/cmake_generator/generator.rs:99:9
[INFO] [stderr]    |
[INFO] [stderr] 99 |         self.add_cmake_compiler_flags(&mut file);
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]    |
[INFO] [stderr] 99 |         let _ = self.add_cmake_compiler_flags(&mut file);
[INFO] [stderr]    |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> src/cmake_generator/generator.rs:100:9
[INFO] [stderr]     |
[INFO] [stderr] 100 |         self.add_cmake_target(&mut file);
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 100 |         let _ = self.add_cmake_target(&mut file);
[INFO] [stderr]     |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> src/cmake_generator/generator.rs:101:9
[INFO] [stderr]     |
[INFO] [stderr] 101 |         self.add_cmake_config(&mut file);
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 101 |         let _ = self.add_cmake_config(&mut file);
[INFO] [stderr]     |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]   --> src/cmake_generator/mod.rs:15:9
[INFO] [stderr]    |
[INFO] [stderr] 15 |         gen.generate();
[INFO] [stderr]    |         ^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]    |
[INFO] [stderr] 15 |         let _ = gen.generate();
[INFO] [stderr]    |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]   --> src/workspace/ws_controller.rs:28:5
[INFO] [stderr]    |
[INFO] [stderr] 28 |     create_dir_all(ws_folder_path);
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]    |
[INFO] [stderr] 28 |     let _ = create_dir_all(ws_folder_path);
[INFO] [stderr]    |     +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]   --> src/workspace/ws_controller.rs:37:9
[INFO] [stderr]    |
[INFO] [stderr] 37 |         create_dir(&ws_path);
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]    |
[INFO] [stderr] 37 |         let _ = create_dir(&ws_path);
[INFO] [stderr]    |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]   --> src/workspace/ws_controller.rs:92:5
[INFO] [stderr]    |
[INFO] [stderr] 92 |     remove_dir_all(&artifacts_dir);
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]    |
[INFO] [stderr] 92 |     let _ = remove_dir_all(&artifacts_dir);
[INFO] [stderr]    |     +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]   --> src/workspace/ws_controller.rs:93:5
[INFO] [stderr]    |
[INFO] [stderr] 93 |     create_dir(artifacts_dir);
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]    |
[INFO] [stderr] 93 |     let _ = create_dir(artifacts_dir);
[INFO] [stderr]    |     +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: `octi` (bin "octi" test) generated 62 warnings (run `cargo fix --bin "octi" -p octi --tests` to apply 20 suggestions)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.13s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: fs_extra v1.1.0
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 1`
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/octi-d3da099ca729b08f)
[INFO] [stdout] 
[INFO] [stdout] running 7 tests
[INFO] [stdout] test cmake_generator::test::test_generate_cmake ... ok
[INFO] [stdout] test parser::test::test_load_manifest ... ok
[INFO] [stdout] test eval::traverse::test::test_dir_traverse ... ok
[INFO] [stdout] test workspace::test::test_collect_workspace_artifacts ... ok
[INFO] [stdout] test parser::os_info::test::basic_os_detection ... ok
[INFO] [stdout] test eval::evaluator::test::test_evaluateor ... ok
[INFO] [stdout] test workspace::test::test_create_workspace ... FAILED
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- workspace::test::test_create_workspace stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'workspace::test::test_create_workspace' (24) panicked at src/workspace/mod.rs:17:9:
[INFO] [stdout] assertion failed: Path::new([WORKSPACE_NAME, "target", "build"].join("/").as_str()).exists()
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5617ca007958 - std[d054f6f42beb1baa]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x5617ca007958 - std[d054f6f42beb1baa]::backtrace_rs::backtrace::trace_unsynchronized::<std[d054f6f42beb1baa]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x5617ca007958 - std[d054f6f42beb1baa]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x5617ca007958 - <<std[d054f6f42beb1baa]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[5a1c3e9896636f3a]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x5617ca01be6a - <core[5a1c3e9896636f3a]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x5617ca01be6a - core[5a1c3e9896636f3a]::fmt::write
[INFO] [stdout]    6:     0x5617ca00c4d2 - std[d054f6f42beb1baa]::io::default_write_fmt::<alloc[154f689e5dd3bae5]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/io/mod.rs:622:11
[INFO] [stdout]    7:     0x5617ca00c4d2 - <alloc[154f689e5dd3bae5]::vec::Vec<u8> as std[d054f6f42beb1baa]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/io/mod.rs:1977:13
[INFO] [stdout]    8:     0x5617c9fe4266 - <std[d054f6f42beb1baa]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x5617c9fe4266 - std[d054f6f42beb1baa]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x5617c9ffe929 - std[d054f6f42beb1baa]::panicking::default_hook
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x5617c9f850ec - <alloc[154f689e5dd3bae5]::boxed::Box<dyn for<'a, 'b> core[5a1c3e9896636f3a]::ops::function::Fn<(&'a std[d054f6f42beb1baa]::panic::PanicHookInfo<'b>,), Output = ()> + core[5a1c3e9896636f3a]::marker::Send + core[5a1c3e9896636f3a]::marker::Sync> as core[5a1c3e9896636f3a]::ops::function::Fn<(&std[d054f6f42beb1baa]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/alloc/src/boxed.rs:2291:9
[INFO] [stdout]   12:     0x5617c9f850ec - test[fad20673b750c10e]::test_main_inner::<test[fad20673b750c10e]::test_main_static::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/test/src/lib.rs:155:21
[INFO] [stdout]   13:     0x5617c9ffeae2 - <alloc[154f689e5dd3bae5]::boxed::Box<dyn for<'a, 'b> core[5a1c3e9896636f3a]::ops::function::Fn<(&'a std[d054f6f42beb1baa]::panic::PanicHookInfo<'b>,), Output = ()> + core[5a1c3e9896636f3a]::marker::Send + core[5a1c3e9896636f3a]::marker::Sync> as core[5a1c3e9896636f3a]::ops::function::Fn<(&std[d054f6f42beb1baa]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/alloc/src/boxed.rs:2291:9
[INFO] [stdout]   14:     0x5617c9ffeae2 - std[d054f6f42beb1baa]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x5617c9fe4354 - std[d054f6f42beb1baa]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/panicking.rs:691:13
[INFO] [stdout]   16:     0x5617c9fdbb09 - std[d054f6f42beb1baa]::sys::backtrace::__rust_end_short_backtrace::<std[d054f6f42beb1baa]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x5617c9fe503d - __rustc[7ab284efd7f33ea8]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x5617ca01c5fc - core[5a1c3e9896636f3a]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x5617ca01c5c2 - core[5a1c3e9896636f3a]::panicking::panic
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/core/src/panicking.rs:150:5
[INFO] [stdout]   20:     0x5617c9f5e49b - octi[c967892de41b4ebd]::workspace::test::test_create_workspace
[INFO] [stdout]                                at /opt/rustwide/workdir/src/workspace/mod.rs:17:9
[INFO] [stdout]   21:     0x5617c9f5c617 - octi[c967892de41b4ebd]::workspace::test::test_create_workspace::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/src/workspace/mod.rs:14:31
[INFO] [stdout]   22:     0x5617c9f665b6 - <octi[c967892de41b4ebd]::workspace::test::test_create_workspace::{closure#0} as core[5a1c3e9896636f3a]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   23:     0x5617c9f781cb - <fn() -> core[5a1c3e9896636f3a]::result::Result<(), alloc[154f689e5dd3bae5]::string::String> as core[5a1c3e9896636f3a]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   24:     0x5617c9f781cb - test[fad20673b750c10e]::__rust_begin_short_backtrace::<core[5a1c3e9896636f3a]::result::Result<(), alloc[154f689e5dd3bae5]::string::String>, fn() -> core[5a1c3e9896636f3a]::result::Result<(), alloc[154f689e5dd3bae5]::string::String>>
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/test/src/lib.rs:724:18
[INFO] [stdout]   25:     0x5617c9f85a45 - test[fad20673b750c10e]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/test/src/lib.rs:747:74
[INFO] [stdout]   26:     0x5617c9f85a45 - <core[5a1c3e9896636f3a]::panic::unwind_safe::AssertUnwindSafe<test[fad20673b750c10e]::run_test_in_process::{closure#0}> as core[5a1c3e9896636f3a]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   27:     0x5617c9f85a45 - std[d054f6f42beb1baa]::panicking::catch_unwind::do_call::<core[5a1c3e9896636f3a]::panic::unwind_safe::AssertUnwindSafe<test[fad20673b750c10e]::run_test_in_process::{closure#0}>, core[5a1c3e9896636f3a]::result::Result<(), alloc[154f689e5dd3bae5]::string::String>>
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/panicking.rs:581:40
[INFO] [stdout]   28:     0x5617c9f85a45 - std[d054f6f42beb1baa]::panicking::catch_unwind::<core[5a1c3e9896636f3a]::result::Result<(), alloc[154f689e5dd3bae5]::string::String>, core[5a1c3e9896636f3a]::panic::unwind_safe::AssertUnwindSafe<test[fad20673b750c10e]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/panicking.rs:544:19
[INFO] [stdout]   29:     0x5617c9f85a45 - std[d054f6f42beb1baa]::panic::catch_unwind::<core[5a1c3e9896636f3a]::panic::unwind_safe::AssertUnwindSafe<test[fad20673b750c10e]::run_test_in_process::{closure#0}>, core[5a1c3e9896636f3a]::result::Result<(), alloc[154f689e5dd3bae5]::string::String>>
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/panic.rs:359:14
[INFO] [stdout]   30:     0x5617c9f85a45 - test[fad20673b750c10e]::run_test_in_process
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/test/src/lib.rs:747:27
[INFO] [stdout]   31:     0x5617c9f85a45 - test[fad20673b750c10e]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/test/src/lib.rs:668:43
[INFO] [stdout]   32:     0x5617c9f805a4 - test[fad20673b750c10e]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/test/src/lib.rs:698:41
[INFO] [stdout]   33:     0x5617c9f805a4 - std[d054f6f42beb1baa]::sys::backtrace::__rust_begin_short_backtrace::<test[fad20673b750c10e]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   34:     0x5617c9f88ac2 - std[d054f6f42beb1baa]::thread::lifecycle::spawn_unchecked::<test[fad20673b750c10e]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/thread/lifecycle.rs:70:13
[INFO] [stdout]   35:     0x5617c9f88ac2 - <core[5a1c3e9896636f3a]::panic::unwind_safe::AssertUnwindSafe<std[d054f6f42beb1baa]::thread::lifecycle::spawn_unchecked<test[fad20673b750c10e]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[5a1c3e9896636f3a]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   36:     0x5617c9f88ac2 - std[d054f6f42beb1baa]::panicking::catch_unwind::do_call::<core[5a1c3e9896636f3a]::panic::unwind_safe::AssertUnwindSafe<std[d054f6f42beb1baa]::thread::lifecycle::spawn_unchecked<test[fad20673b750c10e]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/panicking.rs:581:40
[INFO] [stdout]   37:     0x5617c9f88ac2 - std[d054f6f42beb1baa]::panicking::catch_unwind::<(), core[5a1c3e9896636f3a]::panic::unwind_safe::AssertUnwindSafe<std[d054f6f42beb1baa]::thread::lifecycle::spawn_unchecked<test[fad20673b750c10e]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/panicking.rs:544:19
[INFO] [stdout]   38:     0x5617c9f88ac2 - std[d054f6f42beb1baa]::panic::catch_unwind::<core[5a1c3e9896636f3a]::panic::unwind_safe::AssertUnwindSafe<std[d054f6f42beb1baa]::thread::lifecycle::spawn_unchecked<test[fad20673b750c10e]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/panic.rs:359:14
[INFO] [stdout]   39:     0x5617c9f88ac2 - std[d054f6f42beb1baa]::thread::lifecycle::spawn_unchecked::<test[fad20673b750c10e]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/thread/lifecycle.rs:68:26
[INFO] [stdout]   40:     0x5617c9f88ac2 - <std[d054f6f42beb1baa]::thread::lifecycle::spawn_unchecked<test[fad20673b750c10e]::run_test::{closure#1}, ()>::{closure#1} as core[5a1c3e9896636f3a]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   41:     0x5617ca00720f - <alloc[154f689e5dd3bae5]::boxed::Box<dyn core[5a1c3e9896636f3a]::ops::function::FnOnce<(), Output = ()> + core[5a1c3e9896636f3a]::marker::Send> as core[5a1c3e9896636f3a]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/alloc/src/boxed.rs:2277:9
[INFO] [stdout]   42:     0x5617ca00720f - <std[d054f6f42beb1baa]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/sys/thread/unix.rs:118:17
[INFO] [stdout]   43:     0x7a23b4452aa4 - <unknown>
[INFO] [stdout]   44:     0x7a23b44dfa64 - clone
[INFO] [stdout]   45:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     workspace::test::test_create_workspace
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 6 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.07s
[INFO] [stdout] 
[INFO] [stderr] error: test failed, to rerun pass `--bin octi`
[INFO] running `Command { std: "docker" "inspect" "381eefcc3db52f9080be0243dc6b61873e6bebd2a599b9b3335d635be46fe3f9", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "381eefcc3db52f9080be0243dc6b61873e6bebd2a599b9b3335d635be46fe3f9", kill_on_drop: false }`
[INFO] [stdout] 381eefcc3db52f9080be0243dc6b61873e6bebd2a599b9b3335d635be46fe3f9
