[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 master#1871252fc8bb672d40787e67404e6eaae7059369 for pr-125151
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FIsan-Rivkin%2Focti" "/workspace/builds/worker-0-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc1/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/Isan-Rivkin/octi on toolchain 1871252fc8bb672d40787e67404e6eaae7059369
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1871252fc8bb672d40787e67404e6eaae7059369" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[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-0-tc1/source/Cargo.toml
[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" "+1871252fc8bb672d40787e67404e6eaae7059369" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded syn v0.15.30
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:59a85a07ab18ca8720692f8e61effa1c651d9e2ca591e072c2b212bb91a6b8b5" "/opt/rustwide/cargo-home/bin/cargo" "+1871252fc8bb672d40787e67404e6eaae7059369" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 0cf90cd60e8ef7fa669b8ad0172ca112e1258c5c900780d5e27c2fe403b6e308
[INFO] running `Command { std: "docker" "start" "-a" "0cf90cd60e8ef7fa669b8ad0172ca112e1258c5c900780d5e27c2fe403b6e308", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "0cf90cd60e8ef7fa669b8ad0172ca112e1258c5c900780d5e27c2fe403b6e308", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "0cf90cd60e8ef7fa669b8ad0172ca112e1258c5c900780d5e27c2fe403b6e308", kill_on_drop: false }`
[INFO] [stdout] 0cf90cd60e8ef7fa669b8ad0172ca112e1258c5c900780d5e27c2fe403b6e308
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:59a85a07ab18ca8720692f8e61effa1c651d9e2ca591e072c2b212bb91a6b8b5" "/opt/rustwide/cargo-home/bin/cargo" "+1871252fc8bb672d40787e67404e6eaae7059369" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 1d552a1baa6dd29be03f03515cdb4f83b5179c397ed01121b274f64cc775f6df
[INFO] running `Command { std: "docker" "start" "-a" "1d552a1baa6dd29be03f03515cdb4f83b5179c397ed01121b274f64cc775f6df", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v0.4.27
[INFO] [stderr]    Compiling unicode-xid v0.1.0
[INFO] [stderr]    Compiling syn v0.15.30
[INFO] [stderr]    Compiling serde v1.0.90
[INFO] [stderr]    Compiling ryu v0.2.7
[INFO] [stderr]    Compiling libc v0.2.51
[INFO] [stderr]    Compiling itoa v0.4.3
[INFO] [stderr]    Compiling same-file v1.0.4
[INFO] [stderr]    Compiling fs_extra v1.1.0
[INFO] [stderr]    Compiling walkdir v2.2.7
[INFO] [stderr]    Compiling lazy_static v1.3.0
[INFO] [stderr]    Compiling quote v0.6.11
[INFO] [stderr]    Compiling uname v0.1.1
[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`, `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)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `DirEntry`, `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)]` 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)]` 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: 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: 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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 78 |     fn 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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 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:17
[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)]` 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)]` 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)]` 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)]` 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: fields `arch` and `os` are never read
[INFO] [stdout]  --> src/parser/os_info.rs:3:9
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub struct OsInfo{
[INFO] [stdout]   |            ------ fields in this struct
[INFO] [stdout] 3 |     pub arch : String, 
[INFO] [stdout]   |         ^^^^
[INFO] [stdout] 4 |     pub os : 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] 
[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: 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]   = note: `CMakeGenerator` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[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, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/parser/manifest.rs:12:11
[INFO] [stdout]    |
[INFO] [stdout] 12 | #[derive( Deserialize,Serialize, Clone,Debug)]
[INFO] [stdout]    |           ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_IMPL_DESERIALIZE_FOR_BuildType`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: the derive macro `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: `#[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, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/parser/manifest.rs:12:23
[INFO] [stdout]    |
[INFO] [stdout] 12 | #[derive( Deserialize,Serialize, Clone,Debug)]
[INFO] [stdout]    |                       ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_BuildType`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: the derive macro `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: 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, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/parser/manifest.rs:19:11
[INFO] [stdout]    |
[INFO] [stdout] 19 | #[derive( Deserialize,Serialize, Clone,Debug)]
[INFO] [stdout]    |           ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_IMPL_DESERIALIZE_FOR_PackageType`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: the derive macro `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: 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, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/parser/manifest.rs:19:23
[INFO] [stdout]    |
[INFO] [stdout] 19 | #[derive( Deserialize,Serialize, Clone,Debug)]
[INFO] [stdout]    |                       ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_PackageType`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: the derive macro `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: 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, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/parser/manifest.rs:27:11
[INFO] [stdout]    |
[INFO] [stdout] 27 | #[derive( Deserialize,Serialize, Clone,Debug)]
[INFO] [stdout]    |           ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_IMPL_DESERIALIZE_FOR_Dependency`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: the derive macro `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: 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, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/parser/manifest.rs:27:23
[INFO] [stdout]    |
[INFO] [stdout] 27 | #[derive( Deserialize,Serialize, Clone,Debug)]
[INFO] [stdout]    |                       ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_Dependency`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: the derive macro `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: 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, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/parser/manifest.rs:36:11
[INFO] [stdout]    |
[INFO] [stdout] 36 | #[derive( Deserialize,Serialize, Clone,Debug)]
[INFO] [stdout]    |           ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_IMPL_DESERIALIZE_FOR_Manifest`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: the derive macro `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: 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, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/parser/manifest.rs:36:23
[INFO] [stdout]    |
[INFO] [stdout] 36 | #[derive( Deserialize,Serialize, Clone,Debug)]
[INFO] [stdout]    |                       ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_Manifest`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: the derive macro `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: 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)]` 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] [stdout] warning: 67 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 6.56s
[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" "1d552a1baa6dd29be03f03515cdb4f83b5179c397ed01121b274f64cc775f6df", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "1d552a1baa6dd29be03f03515cdb4f83b5179c397ed01121b274f64cc775f6df", kill_on_drop: false }`
[INFO] [stdout] 1d552a1baa6dd29be03f03515cdb4f83b5179c397ed01121b274f64cc775f6df
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:59a85a07ab18ca8720692f8e61effa1c651d9e2ca591e072c2b212bb91a6b8b5" "/opt/rustwide/cargo-home/bin/cargo" "+1871252fc8bb672d40787e67404e6eaae7059369" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] e13f35d9c837e91eaa0faa2483a58105c1c79ad4cab5af280e9f420e7f6accc2
[INFO] running `Command { std: "docker" "start" "-a" "e13f35d9c837e91eaa0faa2483a58105c1c79ad4cab5af280e9f420e7f6accc2", kill_on_drop: false }`
[INFO] [stderr]    Compiling octi v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused imports: `PathBuf`, `Path`, `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)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `DirEntry`, `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`, `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)]` 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)]` 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: 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: 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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 78 |     fn 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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 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:17
[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)]` 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)]` 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)]` 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)]` 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, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/parser/manifest.rs:12:11
[INFO] [stdout]    |
[INFO] [stdout] 12 | #[derive( Deserialize,Serialize, Clone,Debug)]
[INFO] [stdout]    |           ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_IMPL_DESERIALIZE_FOR_BuildType`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: the derive macro `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: `#[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, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/parser/manifest.rs:12:23
[INFO] [stdout]    |
[INFO] [stdout] 12 | #[derive( Deserialize,Serialize, Clone,Debug)]
[INFO] [stdout]    |                       ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_BuildType`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: the derive macro `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: 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, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/parser/manifest.rs:19:11
[INFO] [stdout]    |
[INFO] [stdout] 19 | #[derive( Deserialize,Serialize, Clone,Debug)]
[INFO] [stdout]    |           ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_IMPL_DESERIALIZE_FOR_PackageType`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: the derive macro `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: 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, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/parser/manifest.rs:19:23
[INFO] [stdout]    |
[INFO] [stdout] 19 | #[derive( Deserialize,Serialize, Clone,Debug)]
[INFO] [stdout]    |                       ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_PackageType`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: the derive macro `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: 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, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/parser/manifest.rs:27:11
[INFO] [stdout]    |
[INFO] [stdout] 27 | #[derive( Deserialize,Serialize, Clone,Debug)]
[INFO] [stdout]    |           ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_IMPL_DESERIALIZE_FOR_Dependency`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: the derive macro `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: 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, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/parser/manifest.rs:27:23
[INFO] [stdout]    |
[INFO] [stdout] 27 | #[derive( Deserialize,Serialize, Clone,Debug)]
[INFO] [stdout]    |                       ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_Dependency`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: the derive macro `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: 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, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/parser/manifest.rs:36:11
[INFO] [stdout]    |
[INFO] [stdout] 36 | #[derive( Deserialize,Serialize, Clone,Debug)]
[INFO] [stdout]    |           ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_IMPL_DESERIALIZE_FOR_Manifest`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: the derive macro `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: 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, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/parser/manifest.rs:36:23
[INFO] [stdout]    |
[INFO] [stdout] 36 | #[derive( Deserialize,Serialize, Clone,Debug)]
[INFO] [stdout]    |                       ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_Manifest`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: the derive macro `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: 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)]` 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] [stdout] warning: 54 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.60s
[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" "e13f35d9c837e91eaa0faa2483a58105c1c79ad4cab5af280e9f420e7f6accc2", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "e13f35d9c837e91eaa0faa2483a58105c1c79ad4cab5af280e9f420e7f6accc2", kill_on_drop: false }`
[INFO] [stdout] e13f35d9c837e91eaa0faa2483a58105c1c79ad4cab5af280e9f420e7f6accc2
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:59a85a07ab18ca8720692f8e61effa1c651d9e2ca591e072c2b212bb91a6b8b5" "/opt/rustwide/cargo-home/bin/cargo" "+1871252fc8bb672d40787e67404e6eaae7059369" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] fd6c5261004dd5db56db542344b42e0aab2f1b2508a2fdce70dcb251ee5871e6
[INFO] running `Command { std: "docker" "start" "-a" "fd6c5261004dd5db56db542344b42e0aab2f1b2508a2fdce70dcb251ee5871e6", kill_on_drop: false }`
[INFO] [stderr] warning: unused imports: `PathBuf`, `Path`, `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)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `DirEntry`, `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`, `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)]` 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)]` 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: 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: 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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stderr] help: if this is an object-safe 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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is an object-safe 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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is an object-safe 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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is an object-safe 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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is an object-safe 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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is an object-safe 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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is an object-safe 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:17
[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)]` 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)]` 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)]` 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)]` 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, they should be avoided as they go against expectation
[INFO] [stderr]   --> src/parser/manifest.rs:12:11
[INFO] [stderr]    |
[INFO] [stderr] 12 | #[derive( Deserialize,Serialize, Clone,Debug)]
[INFO] [stderr]    |           ^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = help: move this `impl` block outside the of the current constant `_IMPL_DESERIALIZE_FOR_BuildType`
[INFO] [stderr]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stderr]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [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: `#[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, they should be avoided as they go against expectation
[INFO] [stderr]   --> src/parser/manifest.rs:12:23
[INFO] [stderr]    |
[INFO] [stderr] 12 | #[derive( Deserialize,Serialize, Clone,Debug)]
[INFO] [stderr]    |                       ^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_BuildType`
[INFO] [stderr]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stderr]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [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: 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, they should be avoided as they go against expectation
[INFO] [stderr]   --> src/parser/manifest.rs:19:11
[INFO] [stderr]    |
[INFO] [stderr] 19 | #[derive( Deserialize,Serialize, Clone,Debug)]
[INFO] [stderr]    |           ^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = help: move this `impl` block outside the of the current constant `_IMPL_DESERIALIZE_FOR_PackageType`
[INFO] [stderr]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stderr]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [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: 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, they should be avoided as they go against expectation
[INFO] [stderr]   --> src/parser/manifest.rs:19:23
[INFO] [stderr]    |
[INFO] [stderr] 19 | #[derive( Deserialize,Serialize, Clone,Debug)]
[INFO] [stderr]    |                       ^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_PackageType`
[INFO] [stderr]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stderr]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [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: 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, they should be avoided as they go against expectation
[INFO] [stderr]   --> src/parser/manifest.rs:27:11
[INFO] [stderr]    |
[INFO] [stderr] 27 | #[derive( Deserialize,Serialize, Clone,Debug)]
[INFO] [stderr]    |           ^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = help: move this `impl` block outside the of the current constant `_IMPL_DESERIALIZE_FOR_Dependency`
[INFO] [stderr]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stderr]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [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: 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, they should be avoided as they go against expectation
[INFO] [stderr]   --> src/parser/manifest.rs:27:23
[INFO] [stderr]    |
[INFO] [stderr] 27 | #[derive( Deserialize,Serialize, Clone,Debug)]
[INFO] [stderr]    |                       ^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_Dependency`
[INFO] [stderr]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stderr]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [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: 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, they should be avoided as they go against expectation
[INFO] [stderr]   --> src/parser/manifest.rs:36:11
[INFO] [stderr]    |
[INFO] [stderr] 36 | #[derive( Deserialize,Serialize, Clone,Debug)]
[INFO] [stderr]    |           ^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = help: move this `impl` block outside the of the current constant `_IMPL_DESERIALIZE_FOR_Manifest`
[INFO] [stderr]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stderr]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [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: 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, they should be avoided as they go against expectation
[INFO] [stderr]   --> src/parser/manifest.rs:36:23
[INFO] [stderr]    |
[INFO] [stderr] 36 | #[derive( Deserialize,Serialize, Clone,Debug)]
[INFO] [stderr]    |                       ^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_Manifest`
[INFO] [stderr]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stderr]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [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: 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)]` 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 54 warnings (run `cargo fix --bin "octi" --tests` to apply 17 suggestions)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.02s
[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-46483045d5e8025f)
[INFO] [stdout] 
[INFO] [stdout] running 7 tests
[INFO] [stdout] test cmake_generator::test::test_generate_cmake ... ok
[INFO] [stdout] test parser::os_info::test::basic_os_detection ... ok
[INFO] [stdout] test parser::test::test_load_manifest ... ok
[INFO] [stdout] test eval::traverse::test::test_dir_traverse ... ok
[INFO] [stdout] test eval::evaluator::test::test_evaluateor ... ok
[INFO] [stdout] test workspace::test::test_collect_workspace_artifacts ... 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] thread 'workspace::test::test_create_workspace' 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:     0x55660c161d85 - std::backtrace_rs::backtrace::libunwind::trace::h59d96bdb08384354
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/../../backtrace/src/backtrace/libunwind.rs:105:5
[INFO] [stdout]    1:     0x55660c161d85 - std::backtrace_rs::backtrace::trace_unsynchronized::h9cf5becacfc93fba
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
[INFO] [stdout]    2:     0x55660c161d85 - std::sys_common::backtrace::_print_fmt::h10b76d10405dbd48
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/sys_common/backtrace.rs:68:5
[INFO] [stdout]    3:     0x55660c161d85 - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::h6ed9e62a156d84e4
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/sys_common/backtrace.rs:44:22
[INFO] [stdout]    4:     0x55660c189e2b - core::fmt::rt::Argument::fmt::h645c680983f03c9f
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/core/src/fmt/rt.rs:165:63
[INFO] [stdout]    5:     0x55660c189e2b - core::fmt::write::h8bcd80919a02be29
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/core/src/fmt/mod.rs:1169:21
[INFO] [stdout]    6:     0x55660c15f26f - std::io::Write::write_fmt::h8d0c47c662cad79c
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/io/mod.rs:1835:15
[INFO] [stdout]    7:     0x55660c161b5e - std::sys_common::backtrace::_print::h6306f131a28d62b0
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/sys_common/backtrace.rs:47:5
[INFO] [stdout]    8:     0x55660c161b5e - std::sys_common::backtrace::print::h7079288e0a26dfcc
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/sys_common/backtrace.rs:34:9
[INFO] [stdout]    9:     0x55660c163589 - std::panicking::default_hook::{{closure}}::hb063ecec81a736ba
[INFO] [stdout]   10:     0x55660c16324e - std::panicking::default_hook::hd56ee406bf547b5c
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/panicking.rs:295:9
[INFO] [stdout]   11:     0x55660c11b05a - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::he5eacdef44c8728f
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/alloc/src/boxed.rs:2036:9
[INFO] [stdout]   12:     0x55660c11b05a - test::test_main::{{closure}}::h0ec9aed229e79095
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/test/src/lib.rs:137:21
[INFO] [stdout]   13:     0x55660c163b8b - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::hcbd0d80e1ad4e4f9
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/alloc/src/boxed.rs:2036:9
[INFO] [stdout]   14:     0x55660c163b8b - std::panicking::rust_panic_with_hook::h624aa3ca42ebb8f2
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/panicking.rs:799:13
[INFO] [stdout]   15:     0x55660c1638cb - std::panicking::begin_panic_handler::{{closure}}::hbc4e76194a5e287c
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/panicking.rs:656:13
[INFO] [stdout]   16:     0x55660c162249 - std::sys_common::backtrace::__rust_end_short_backtrace::h847fedc9d1ff7b6d
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/sys_common/backtrace.rs:171:18
[INFO] [stdout]   17:     0x55660c163637 - rust_begin_unwind
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/panicking.rs:652:5
[INFO] [stdout]   18:     0x55660c0a5993 - core::panicking::panic_fmt::hec11a924b87ce965
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/core/src/panicking.rs:72:14
[INFO] [stdout]   19:     0x55660c0a5a3c - core::panicking::panic::hb6a980c1ddfde273
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/core/src/panicking.rs:146:5
[INFO] [stdout]   20:     0x55660c0d21f7 - octi::workspace::test::test_create_workspace::h9517f778799dea75
[INFO] [stdout]                                at /opt/rustwide/workdir/src/workspace/mod.rs:17:9
[INFO] [stdout]   21:     0x55660c0d1fd7 - octi::workspace::test::test_create_workspace::{{closure}}::hf1d7ece26f684386
[INFO] [stdout]                                at /opt/rustwide/workdir/src/workspace/mod.rs:14:31
[INFO] [stdout]   22:     0x55660c0c9f16 - core::ops::function::FnOnce::call_once::h454b04c8cb34cf0f
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   23:     0x55660c11fa3b - core::ops::function::FnOnce::call_once::h2e43a8f6f3d94b99
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   24:     0x55660c11fa3b - test::__rust_begin_short_backtrace::h214c9f2d2d3fee90
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/test/src/lib.rs:625:18
[INFO] [stdout]   25:     0x55660c11f141 - test::run_test_in_process::{{closure}}::h510b7ba7990692a5
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/test/src/lib.rs:648:60
[INFO] [stdout]   26:     0x55660c11f141 - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h4157186197a93871
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/core/src/panic/unwind_safe.rs:272:9
[INFO] [stdout]   27:     0x55660c11f141 - std::panicking::try::do_call::h1bf2463bccd4b28c
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/panicking.rs:559:40
[INFO] [stdout]   28:     0x55660c11f141 - std::panicking::try::hd6d4808c9fab4fa5
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/panicking.rs:523:19
[INFO] [stdout]   29:     0x55660c11f141 - std::panic::catch_unwind::hd5641d97d123f9f2
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/panic.rs:149:14
[INFO] [stdout]   30:     0x55660c11f141 - test::run_test_in_process::hc273b71c8b878a4c
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/test/src/lib.rs:648:27
[INFO] [stdout]   31:     0x55660c11f141 - test::run_test::{{closure}}::h6838df834eb8467e
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/test/src/lib.rs:569:43
[INFO] [stdout]   32:     0x55660c0e7b04 - test::run_test::{{closure}}::h608b98ecff5665fb
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/test/src/lib.rs:599:41
[INFO] [stdout]   33:     0x55660c0e7b04 - std::sys_common::backtrace::__rust_begin_short_backtrace::hdc4182b97d1042e9
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/sys_common/backtrace.rs:155:18
[INFO] [stdout]   34:     0x55660c0ec532 - std::thread::Builder::spawn_unchecked_::{{closure}}::{{closure}}::h571773fd21d674c8
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/thread/mod.rs:542:17
[INFO] [stdout]   35:     0x55660c0ec532 - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::hdcd384cf2fa70ba3
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/core/src/panic/unwind_safe.rs:272:9
[INFO] [stdout]   36:     0x55660c0ec532 - std::panicking::try::do_call::h4f1a44bd81423be1
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/panicking.rs:559:40
[INFO] [stdout]   37:     0x55660c0ec532 - std::panicking::try::h5e02afcb81dcd361
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/panicking.rs:523:19
[INFO] [stdout]   38:     0x55660c0ec532 - std::panic::catch_unwind::h022f75775bfd8c45
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/panic.rs:149:14
[INFO] [stdout]   39:     0x55660c0ec532 - std::thread::Builder::spawn_unchecked_::{{closure}}::hf5a62e9e4e6df1f8
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/thread/mod.rs:541:30
[INFO] [stdout]   40:     0x55660c0ec532 - core::ops::function::FnOnce::call_once{{vtable.shim}}::h6d56360aeb9509a7
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   41:     0x55660c1694fb - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h7a343dc551c06baa
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/alloc/src/boxed.rs:2022:9
[INFO] [stdout]   42:     0x55660c1694fb - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h30b8111cbaa644f3
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/alloc/src/boxed.rs:2022:9
[INFO] [stdout]   43:     0x55660c1694fb - std::sys::pal::unix::thread::Thread::new::thread_start::h7404e134e61e7a11
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/sys/pal/unix/thread.rs:108:17
[INFO] [stdout]   44:     0x7fe0623ffac3 - <unknown>
[INFO] [stdout]   45:     0x7fe062490a04 - __clone
[INFO] [stdout]   46:                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.01s
[INFO] [stdout] 
[INFO] [stderr] error: test failed, to rerun pass `--bin octi`
[INFO] running `Command { std: "docker" "inspect" "fd6c5261004dd5db56db542344b42e0aab2f1b2508a2fdce70dcb251ee5871e6", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "fd6c5261004dd5db56db542344b42e0aab2f1b2508a2fdce70dcb251ee5871e6", kill_on_drop: false }`
[INFO] [stdout] fd6c5261004dd5db56db542344b42e0aab2f1b2508a2fdce70dcb251ee5871e6
