[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 1.75.0 for beta-1.76-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FIsan-Rivkin%2Focti" "/workspace/builds/worker-5-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc1/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/Isan-Rivkin/octi on toolchain 1.75.0
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.75.0" "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-5-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" "+1.75.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded serde v1.0.90
[INFO] [stderr]   Downloaded serde_derive v1.0.90
[INFO] [stderr]   Downloaded ryu v0.2.7
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+1.75.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 72557d6a3e21d25d08ed19879012727cef356aae5064a15aea3c76ccf559c1cb
[INFO] running `Command { std: "docker" "start" "-a" "72557d6a3e21d25d08ed19879012727cef356aae5064a15aea3c76ccf559c1cb", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "72557d6a3e21d25d08ed19879012727cef356aae5064a15aea3c76ccf559c1cb", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "72557d6a3e21d25d08ed19879012727cef356aae5064a15aea3c76ccf559c1cb", kill_on_drop: false }`
[INFO] [stdout] 72557d6a3e21d25d08ed19879012727cef356aae5064a15aea3c76ccf559c1cb
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+1.75.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 728b37988ffc2bf76d668c716d433a75c731a1f60725e05c9cd5153ff329a45d
[INFO] running `Command { std: "docker" "start" "-a" "728b37988ffc2bf76d668c716d433a75c731a1f60725e05c9cd5153ff329a45d", 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 libc v0.2.51
[INFO] [stderr]    Compiling serde v1.0.90
[INFO] [stderr]    Compiling ryu v0.2.7
[INFO] [stderr]    Compiling same-file v1.0.4
[INFO] [stderr]    Compiling itoa v0.4.3
[INFO] [stderr]    Compiling walkdir v2.2.7
[INFO] [stderr]    Compiling lazy_static v1.3.0
[INFO] [stderr]    Compiling fs_extra v1.1.0
[INFO] [stderr]    Compiling uname v0.1.1
[INFO] [stderr]    Compiling quote v0.6.11
[INFO] [stderr]    Compiling serde_derive v1.0.90
[INFO] [stderr]    Compiling serde_json v1.0.39
[INFO] [stderr]    Compiling octi v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused imports: `PathBuf`, `Path`, `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: 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: 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: 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: 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: 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: 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: 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: 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: fields `output_path` and `manifest` are never read
[INFO] [stdout]   --> src/cmake_generator/generator.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 9  | pub struct CMakeGenerator<'a> {
[INFO] [stdout]    |            -------------- fields in this struct
[INFO] [stdout] 10 |     output_path: String,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 11 |     manifest: &'a Manifest,
[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: 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: 57 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished dev [unoptimized + debuginfo] target(s) in 14.55s
[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" "728b37988ffc2bf76d668c716d433a75c731a1f60725e05c9cd5153ff329a45d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "728b37988ffc2bf76d668c716d433a75c731a1f60725e05c9cd5153ff329a45d", kill_on_drop: false }`
[INFO] [stdout] 728b37988ffc2bf76d668c716d433a75c731a1f60725e05c9cd5153ff329a45d
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+1.75.0" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 4ffc7fe60db7f825a183e287e6e29885612dbb37f113e4ceaad5a7b6594920af
[INFO] running `Command { std: "docker" "start" "-a" "4ffc7fe60db7f825a183e287e6e29885612dbb37f113e4ceaad5a7b6594920af", 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: 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: 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: 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: 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: 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: 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: 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: 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]    = note: `#[warn(dead_code)]` on by default
[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: 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: 44 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished test [unoptimized + debuginfo] target(s) in 1.37s
[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" "4ffc7fe60db7f825a183e287e6e29885612dbb37f113e4ceaad5a7b6594920af", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "4ffc7fe60db7f825a183e287e6e29885612dbb37f113e4ceaad5a7b6594920af", kill_on_drop: false }`
[INFO] [stdout] 4ffc7fe60db7f825a183e287e6e29885612dbb37f113e4ceaad5a7b6594920af
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+1.75.0" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 7a76f0de658e16405180cd4a62069e519049129beec5b0ecd9ef6737299dc5e0
[INFO] running `Command { std: "docker" "start" "-a" "7a76f0de658e16405180cd4a62069e519049129beec5b0ecd9ef6737299dc5e0", 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: 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: 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: 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: 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: 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: 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: 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: 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]    = note: `#[warn(dead_code)]` on by default
[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: 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 44 warnings (run `cargo fix --bin "octi" --tests` to apply 20 suggestions)
[INFO] [stderr]     Finished test [unoptimized + debuginfo] target(s) in 0.04s
[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-4bb5f6ee28072522)
[INFO] [stdout] 
[INFO] [stdout] running 7 tests
[INFO] [stdout] test parser::os_info::test::basic_os_detection ... ok
[INFO] [stdout] test eval::evaluator::test::test_evaluateor ... ok
[INFO] [stdout] test eval::traverse::test::test_dir_traverse ... ok
[INFO] [stdout] test parser::test::test_load_manifest ... ok
[INFO] [stdout] test cmake_generator::test::test_generate_cmake ... ok
[INFO] [stdout] test workspace::test::test_collect_workspace_artifacts ... ok
[INFO] [stderr] error: test failed, to rerun pass `--bin octi`
[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:     0x563881e7a85c - std::backtrace_rs::backtrace::libunwind::trace::ha637c64ce894333a
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/../../backtrace/src/backtrace/libunwind.rs:104:5
[INFO] [stdout]    1:     0x563881e7a85c - std::backtrace_rs::backtrace::trace_unsynchronized::h47f62dea28e0c88d
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
[INFO] [stdout]    2:     0x563881e7a85c - std::sys_common::backtrace::_print_fmt::h9eef0abe20ede486
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/sys_common/backtrace.rs:67:5
[INFO] [stdout]    3:     0x563881e7a85c - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::hed7f999df88cc644
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/sys_common/backtrace.rs:44:22
[INFO] [stdout]    4:     0x563881ea58c0 - core::fmt::rt::Argument::fmt::h1539a9308b8d058d
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/fmt/rt.rs:142:9
[INFO] [stdout]    5:     0x563881ea58c0 - core::fmt::write::h3a39390d8560d9c9
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/fmt/mod.rs:1120:17
[INFO] [stdout]    6:     0x563881e77f9f - std::io::Write::write_fmt::h040b369f3a0f9cbc
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/io/mod.rs:1762:15
[INFO] [stdout]    7:     0x563881e7a644 - std::sys_common::backtrace::_print::h894006fb5c6f3d45
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/sys_common/backtrace.rs:47:5
[INFO] [stdout]    8:     0x563881e7a644 - std::sys_common::backtrace::print::h23a2d212c6fff936
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/sys_common/backtrace.rs:34:9
[INFO] [stdout]    9:     0x563881e7c307 - std::panicking::default_hook::{{closure}}::h8a1d2ee00185001a
[INFO] [stdout]   10:     0x563881e7bff3 - std::panicking::default_hook::h6038f2eba384e475
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panicking.rs:289:9
[INFO] [stdout]   11:     0x563881e356f7 - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h0ad024c9bdc6d768
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/alloc/src/boxed.rs:2021:9
[INFO] [stdout]   12:     0x563881e356f7 - test::test_main::{{closure}}::h7500b54257359db6
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/test/src/lib.rs:138:21
[INFO] [stdout]   13:     0x563881e7c918 - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h1f8f335eaa9cfaee
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/alloc/src/boxed.rs:2021:9
[INFO] [stdout]   14:     0x563881e7c918 - std::panicking::rust_panic_with_hook::h2b5517d590cab22e
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panicking.rs:783:13
[INFO] [stdout]   15:     0x563881e7c639 - std::panicking::begin_panic_handler::{{closure}}::h233112c06e0ef43e
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panicking.rs:649:13
[INFO] [stdout]   16:     0x563881e7ad26 - std::sys_common::backtrace::__rust_end_short_backtrace::h6e893f24d7ebbff8
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/sys_common/backtrace.rs:170:18
[INFO] [stdout]   17:     0x563881e7c3d2 - rust_begin_unwind
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panicking.rs:645:5
[INFO] [stdout]   18:     0x563881dc10e5 - core::panicking::panic_fmt::hbf0e066aabfa482c
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/panicking.rs:72:14
[INFO] [stdout]   19:     0x563881dc1183 - core::panicking::panic::h195fc2a96298d4c3
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/panicking.rs:127:5
[INFO] [stdout]   20:     0x563881ddf699 - octi::workspace::test::test_create_workspace::h13b88535d197284a
[INFO] [stdout]                                at /opt/rustwide/workdir/src/workspace/mod.rs:17:9
[INFO] [stdout]   21:     0x563881ddf477 - octi::workspace::test::test_create_workspace::{{closure}}::h30cd748b7a2a537c
[INFO] [stdout]                                at /opt/rustwide/workdir/src/workspace/mod.rs:14:31
[INFO] [stdout]   22:     0x563881df0866 - core::ops::function::FnOnce::call_once::hfd56b204ce93eefc
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   23:     0x563881e3ad4f - core::ops::function::FnOnce::call_once::h2b5d431d5046312d
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   24:     0x563881e3ad4f - test::__rust_begin_short_backtrace::h7714669af176e207
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/test/src/lib.rs:628:18
[INFO] [stdout]   25:     0x563881e39d65 - test::run_test_in_process::{{closure}}::h85218797dcbcec12
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/test/src/lib.rs:651:60
[INFO] [stdout]   26:     0x563881e39d65 - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h76c106ea31c14d7b
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/panic/unwind_safe.rs:272:9
[INFO] [stdout]   27:     0x563881e39d65 - std::panicking::try::do_call::h3bd5d0f6620ee946
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panicking.rs:552:40
[INFO] [stdout]   28:     0x563881e39d65 - std::panicking::try::h232e535e4744fe31
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panicking.rs:516:19
[INFO] [stdout]   29:     0x563881e39d65 - std::panic::catch_unwind::h3ce3bd6ca8dbac68
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panic.rs:142:14
[INFO] [stdout]   30:     0x563881e39d65 - test::run_test_in_process::hc97b257c9621286a
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/test/src/lib.rs:651:27
[INFO] [stdout]   31:     0x563881e39d65 - test::run_test::{{closure}}::h2aa798823a438d38
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/test/src/lib.rs:574:43
[INFO] [stdout]   32:     0x563881e02026 - test::run_test::{{closure}}::h87d231c78fb59832
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/test/src/lib.rs:602:41
[INFO] [stdout]   33:     0x563881e02026 - std::sys_common::backtrace::__rust_begin_short_backtrace::he6df152596625789
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/sys_common/backtrace.rs:154:18
[INFO] [stdout]   34:     0x563881e070d7 - std::thread::Builder::spawn_unchecked_::{{closure}}::{{closure}}::ha94be15d1e0acf36
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/thread/mod.rs:529:17
[INFO] [stdout]   35:     0x563881e070d7 - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h9dc6bd6372f16606
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/panic/unwind_safe.rs:272:9
[INFO] [stdout]   36:     0x563881e070d7 - std::panicking::try::do_call::h9057517f80303cd4
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panicking.rs:552:40
[INFO] [stdout]   37:     0x563881e070d7 - std::panicking::try::he3a30b11ee45340c
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panicking.rs:516:19
[INFO] [stdout]   38:     0x563881e070d7 - std::panic::catch_unwind::h410458cfd3528b8b
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panic.rs:142:14
[INFO] [stdout]   39:     0x563881e070d7 - std::thread::Builder::spawn_unchecked_::{{closure}}::h72ac3bdb567b737b
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/thread/mod.rs:528:30
[INFO] [stdout]   40:     0x563881e070d7 - core::ops::function::FnOnce::call_once{{vtable.shim}}::h38f34da3654a8344
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   41:     0x563881e827f5 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::hc7eafaff61e32df9
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/alloc/src/boxed.rs:2007:9
[INFO] [stdout]   42:     0x563881e827f5 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h6ba4a5de48dd2304
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/alloc/src/boxed.rs:2007:9
[INFO] [stdout]   43:     0x563881e827f5 - std::sys::unix::thread::Thread::new::thread_start::he469335aef763e45
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/sys/unix/thread.rs:108:17
[INFO] [stdout]   44:     0x7f02e7361ac3 - <unknown>
[INFO] [stdout]   45:     0x7f02e73f2bf4 - __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.05s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "7a76f0de658e16405180cd4a62069e519049129beec5b0ecd9ef6737299dc5e0", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "7a76f0de658e16405180cd4a62069e519049129beec5b0ecd9ef6737299dc5e0", kill_on_drop: false }`
[INFO] [stdout] 7a76f0de658e16405180cd4a62069e519049129beec5b0ecd9ef6737299dc5e0
[INFO] testing Isan-Rivkin/octi against beta-2023-12-22 for beta-1.76-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FIsan-Rivkin%2Focti" "/workspace/builds/worker-5-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc2/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/Isan-Rivkin/octi on toolchain beta-2023-12-22
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2023-12-22" "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-5-tc2/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" "+beta-2023-12-22" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2023-12-22" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] f6c156924ebc1f212c1d997114e13f3dbb76618f311019e23a94c64a6b47162f
[INFO] running `Command { std: "docker" "start" "-a" "f6c156924ebc1f212c1d997114e13f3dbb76618f311019e23a94c64a6b47162f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "f6c156924ebc1f212c1d997114e13f3dbb76618f311019e23a94c64a6b47162f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "f6c156924ebc1f212c1d997114e13f3dbb76618f311019e23a94c64a6b47162f", kill_on_drop: false }`
[INFO] [stdout] f6c156924ebc1f212c1d997114e13f3dbb76618f311019e23a94c64a6b47162f
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2023-12-22" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] bb2894901e6fe5380346e628dd1fef9766401f2bf85e62b437c037fd79176421
[INFO] running `Command { std: "docker" "start" "-a" "bb2894901e6fe5380346e628dd1fef9766401f2bf85e62b437c037fd79176421", 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 ryu v0.2.7
[INFO] [stderr]    Compiling libc v0.2.51
[INFO] [stderr]    Compiling serde v1.0.90
[INFO] [stderr]    Compiling same-file v1.0.4
[INFO] [stderr]    Compiling itoa v0.4.3
[INFO] [stderr]    Compiling walkdir v2.2.7
[INFO] [stderr]    Compiling fs_extra v1.1.0
[INFO] [stderr]    Compiling lazy_static v1.3.0
[INFO] [stderr]    Compiling uname v0.1.1
[INFO] [stderr]    Compiling quote v0.6.11
[INFO] [stderr]    Compiling serde_derive v1.0.90
[INFO] [stderr]    Compiling serde_json v1.0.39
[INFO] [stderr]    Compiling octi v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused imports: `PathBuf`, `Path`, `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: 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: 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: 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: 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: 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: 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: 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: 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: fields `output_path` and `manifest` are never read
[INFO] [stdout]   --> src/cmake_generator/generator.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 9  | pub struct CMakeGenerator<'a> {
[INFO] [stdout]    |            -------------- fields in this struct
[INFO] [stdout] 10 |     output_path: String,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 11 |     manifest: &'a Manifest,
[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: 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: 57 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished dev [unoptimized + debuginfo] target(s) in 14.54s
[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" "bb2894901e6fe5380346e628dd1fef9766401f2bf85e62b437c037fd79176421", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "bb2894901e6fe5380346e628dd1fef9766401f2bf85e62b437c037fd79176421", kill_on_drop: false }`
[INFO] [stdout] bb2894901e6fe5380346e628dd1fef9766401f2bf85e62b437c037fd79176421
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2023-12-22" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 329c844c24256a1f811ac4aa40df7925b41b155ff972304b96945f5b18a24871
[INFO] running `Command { std: "docker" "start" "-a" "329c844c24256a1f811ac4aa40df7925b41b155ff972304b96945f5b18a24871", 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: 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: 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: 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: 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: 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: 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: 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: 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]    = note: `#[warn(dead_code)]` on by default
[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: 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: 44 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished test [unoptimized + debuginfo] target(s) in 1.38s
[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" "329c844c24256a1f811ac4aa40df7925b41b155ff972304b96945f5b18a24871", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "329c844c24256a1f811ac4aa40df7925b41b155ff972304b96945f5b18a24871", kill_on_drop: false }`
[INFO] [stdout] 329c844c24256a1f811ac4aa40df7925b41b155ff972304b96945f5b18a24871
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2023-12-22" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 36753e29991d4d8c34f7f4ef956a071d5f7d8a40cf1675d180b8217fb2ae6314
[INFO] running `Command { std: "docker" "start" "-a" "36753e29991d4d8c34f7f4ef956a071d5f7d8a40cf1675d180b8217fb2ae6314", 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: 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: 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: 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: 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: 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: 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: 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: 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]    = note: `#[warn(dead_code)]` on by default
[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: 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 44 warnings (run `cargo fix --bin "octi" --tests` to apply 20 suggestions)
[INFO] [stderr]     Finished test [unoptimized + debuginfo] target(s) in 0.03s
[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-23a89d3d70506194)
[INFO] [stdout] 
[INFO] [stdout] running 7 tests
[INFO] [stdout] test eval::traverse::test::test_dir_traverse ... ok
[INFO] [stdout] test eval::evaluator::test::test_evaluateor ... ok
[INFO] [stdout] test parser::os_info::test::basic_os_detection ... ok
[INFO] [stdout] test workspace::test::test_collect_workspace_artifacts ... ok
[INFO] [stdout] test parser::test::test_load_manifest ... ok
[INFO] [stdout] test cmake_generator::test::test_generate_cmake ... 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:     0x55584c11f646 - std::backtrace_rs::backtrace::libunwind::trace::h261606ad26a499c1
[INFO] [stdout]                                at /rustc/0e09125c6c3c2fd70d7de961bcf0e51575235fad/library/std/src/../../backtrace/src/backtrace/libunwind.rs:104:5
[INFO] [stdout]    1:     0x55584c11f646 - std::backtrace_rs::backtrace::trace_unsynchronized::hd183f0625477fb28
[INFO] [stdout]                                at /rustc/0e09125c6c3c2fd70d7de961bcf0e51575235fad/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
[INFO] [stdout]    2:     0x55584c11f646 - std::sys_common::backtrace::_print_fmt::hd7f8fef21b4eda67
[INFO] [stdout]                                at /rustc/0e09125c6c3c2fd70d7de961bcf0e51575235fad/library/std/src/sys_common/backtrace.rs:68:5
[INFO] [stdout]    3:     0x55584c11f646 - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::h623d9b51f2f453f1
[INFO] [stdout]                                at /rustc/0e09125c6c3c2fd70d7de961bcf0e51575235fad/library/std/src/sys_common/backtrace.rs:44:22
[INFO] [stdout]    4:     0x55584c1499d0 - core::fmt::rt::Argument::fmt::h9f417ac76a86f368
[INFO] [stdout]                                at /rustc/0e09125c6c3c2fd70d7de961bcf0e51575235fad/library/core/src/fmt/rt.rs:142:9
[INFO] [stdout]    5:     0x55584c1499d0 - core::fmt::write::hc9b6faf4ac2aeff7
[INFO] [stdout]                                at /rustc/0e09125c6c3c2fd70d7de961bcf0e51575235fad/library/core/src/fmt/mod.rs:1120:17
[INFO] [stdout]    6:     0x55584c11ce3f - std::io::Write::write_fmt::he04625a3a989fec3
[INFO] [stdout]                                at /rustc/0e09125c6c3c2fd70d7de961bcf0e51575235fad/library/std/src/io/mod.rs:1810:15
[INFO] [stdout]    7:     0x55584c11f424 - std::sys_common::backtrace::_print::hd5d66399c7df88a2
[INFO] [stdout]                                at /rustc/0e09125c6c3c2fd70d7de961bcf0e51575235fad/library/std/src/sys_common/backtrace.rs:47:5
[INFO] [stdout]    8:     0x55584c11f424 - std::sys_common::backtrace::print::he81ed2da642d37e5
[INFO] [stdout]                                at /rustc/0e09125c6c3c2fd70d7de961bcf0e51575235fad/library/std/src/sys_common/backtrace.rs:34:9
[INFO] [stdout]    9:     0x55584c121197 - std::panicking::default_hook::{{closure}}::h85773f4fa117163d
[INFO] [stdout]   10:     0x55584c120e7d - std::panicking::default_hook::h6a1694a91d09b278
[INFO] [stdout]                                at /rustc/0e09125c6c3c2fd70d7de961bcf0e51575235fad/library/std/src/panicking.rs:289:9
[INFO] [stdout]   11:     0x55584c0d9db7 - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h616ac37fa3cd6c8f
[INFO] [stdout]                                at /rustc/0e09125c6c3c2fd70d7de961bcf0e51575235fad/library/alloc/src/boxed.rs:2029:9
[INFO] [stdout]   12:     0x55584c0d9db7 - test::test_main::{{closure}}::h00d84697cefdcbb6
[INFO] [stdout]                                at /rustc/0e09125c6c3c2fd70d7de961bcf0e51575235fad/library/test/src/lib.rs:138:21
[INFO] [stdout]   13:     0x55584c1217b6 - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::hcb3fe3b9bb537ba8
[INFO] [stdout]                                at /rustc/0e09125c6c3c2fd70d7de961bcf0e51575235fad/library/alloc/src/boxed.rs:2029:9
[INFO] [stdout]   14:     0x55584c1217b6 - std::panicking::rust_panic_with_hook::h0a7ad96e90f7145b
[INFO] [stdout]                                at /rustc/0e09125c6c3c2fd70d7de961bcf0e51575235fad/library/std/src/panicking.rs:783:13
[INFO] [stdout]   15:     0x55584c1214c9 - std::panicking::begin_panic_handler::{{closure}}::h7919090525c6485e
[INFO] [stdout]                                at /rustc/0e09125c6c3c2fd70d7de961bcf0e51575235fad/library/std/src/panicking.rs:649:13
[INFO] [stdout]   16:     0x55584c11fb46 - std::sys_common::backtrace::__rust_end_short_backtrace::hf3289479464f7dfe
[INFO] [stdout]                                at /rustc/0e09125c6c3c2fd70d7de961bcf0e51575235fad/library/std/src/sys_common/backtrace.rs:171:18
[INFO] [stdout]   17:     0x55584c121260 - rust_begin_unwind
[INFO] [stdout]                                at /rustc/0e09125c6c3c2fd70d7de961bcf0e51575235fad/library/std/src/panicking.rs:645:5
[INFO] [stdout]   18:     0x55584c0640f5 - core::panicking::panic_fmt::hcc9f77c5c132af55
[INFO] [stdout]                                at /rustc/0e09125c6c3c2fd70d7de961bcf0e51575235fad/library/core/src/panicking.rs:72:14
[INFO] [stdout]   19:     0x55584c0641b3 - core::panicking::panic::h5a1259c1164bd480
[INFO] [stdout]                                at /rustc/0e09125c6c3c2fd70d7de961bcf0e51575235fad/library/core/src/panicking.rs:144:5
[INFO] [stdout]   20:     0x55584c07f1a7 - octi::workspace::test::test_create_workspace::h007544b12ae9350b
[INFO] [stdout]                                at /opt/rustwide/workdir/src/workspace/mod.rs:17:9
[INFO] [stdout]   21:     0x55584c07ef87 - octi::workspace::test::test_create_workspace::{{closure}}::hfeae15871c825685
[INFO] [stdout]                                at /opt/rustwide/workdir/src/workspace/mod.rs:14:31
[INFO] [stdout]   22:     0x55584c095b26 - core::ops::function::FnOnce::call_once::hfdbe82f8a430ee30
[INFO] [stdout]                                at /rustc/0e09125c6c3c2fd70d7de961bcf0e51575235fad/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   23:     0x55584c0df68f - core::ops::function::FnOnce::call_once::hd64d26f405258157
[INFO] [stdout]                                at /rustc/0e09125c6c3c2fd70d7de961bcf0e51575235fad/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   24:     0x55584c0df68f - test::__rust_begin_short_backtrace::he21b0b7a6d731bf9
[INFO] [stdout]                                at /rustc/0e09125c6c3c2fd70d7de961bcf0e51575235fad/library/test/src/lib.rs:627:18
[INFO] [stdout]   25:     0x55584c0de411 - test::run_test_in_process::{{closure}}::hf5c73986d7bdfde2
[INFO] [stdout]                                at /rustc/0e09125c6c3c2fd70d7de961bcf0e51575235fad/library/test/src/lib.rs:650:60
[INFO] [stdout]   26:     0x55584c0de411 - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h330011ad032aadc0
[INFO] [stdout]                                at /rustc/0e09125c6c3c2fd70d7de961bcf0e51575235fad/library/core/src/panic/unwind_safe.rs:272:9
[INFO] [stdout]   27:     0x55584c0de411 - std::panicking::try::do_call::he61b0a958b795a41
[INFO] [stdout]                                at /rustc/0e09125c6c3c2fd70d7de961bcf0e51575235fad/library/std/src/panicking.rs:552:40
[INFO] [stdout]   28:     0x55584c0de411 - std::panicking::try::h7309da130f906eb7
[INFO] [stdout]                                at /rustc/0e09125c6c3c2fd70d7de961bcf0e51575235fad/library/std/src/panicking.rs:516:19
[INFO] [stdout]   29:     0x55584c0de411 - std::panic::catch_unwind::hc5c3a06fdaf0a92a
[INFO] [stdout]                                at /rustc/0e09125c6c3c2fd70d7de961bcf0e51575235fad/library/std/src/panic.rs:142:14
[INFO] [stdout]   30:     0x55584c0de411 - test::run_test_in_process::h7e7b7c71c3324e0f
[INFO] [stdout]                                at /rustc/0e09125c6c3c2fd70d7de961bcf0e51575235fad/library/test/src/lib.rs:650:27
[INFO] [stdout]   31:     0x55584c0de411 - test::run_test::{{closure}}::h1f509f28f5cf20b1
[INFO] [stdout]                                at /rustc/0e09125c6c3c2fd70d7de961bcf0e51575235fad/library/test/src/lib.rs:573:43
[INFO] [stdout]   32:     0x55584c0a5746 - test::run_test::{{closure}}::h1754218abf443f6d
[INFO] [stdout]                                at /rustc/0e09125c6c3c2fd70d7de961bcf0e51575235fad/library/test/src/lib.rs:601:41
[INFO] [stdout]   33:     0x55584c0a5746 - std::sys_common::backtrace::__rust_begin_short_backtrace::h2ee174b9d5954948
[INFO] [stdout]                                at /rustc/0e09125c6c3c2fd70d7de961bcf0e51575235fad/library/std/src/sys_common/backtrace.rs:155:18
[INFO] [stdout]   34:     0x55584c0aa7a7 - std::thread::Builder::spawn_unchecked_::{{closure}}::{{closure}}::hf60bee9c1a17ef09
[INFO] [stdout]                                at /rustc/0e09125c6c3c2fd70d7de961bcf0e51575235fad/library/std/src/thread/mod.rs:529:17
[INFO] [stdout]   35:     0x55584c0aa7a7 - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h33d0dddec5216160
[INFO] [stdout]                                at /rustc/0e09125c6c3c2fd70d7de961bcf0e51575235fad/library/core/src/panic/unwind_safe.rs:272:9
[INFO] [stdout]   36:     0x55584c0aa7a7 - std::panicking::try::do_call::h144b3048b546f835
[INFO] [stdout]                                at /rustc/0e09125c6c3c2fd70d7de961bcf0e51575235fad/library/std/src/panicking.rs:552:40
[INFO] [stdout]   37:     0x55584c0aa7a7 - std::panicking::try::h978244d04646189f
[INFO] [stdout]                                at /rustc/0e09125c6c3c2fd70d7de961bcf0e51575235fad/library/std/src/panicking.rs:516:19
[INFO] [stdout]   38:     0x55584c0aa7a7 - std::panic::catch_unwind::hdf436369d188fe86
[INFO] [stdout]                                at /rustc/0e09125c6c3c2fd70d7de961bcf0e51575235fad/library/std/src/panic.rs:142:14
[INFO] [stdout]   39:     0x55584c0aa7a7 - std::thread::Builder::spawn_unchecked_::{{closure}}::h87329cbdd33c79ec
[INFO] [stdout]                                at /rustc/0e09125c6c3c2fd70d7de961bcf0e51575235fad/library/std/src/thread/mod.rs:528:30
[INFO] [stdout]   40:     0x55584c0aa7a7 - core::ops::function::FnOnce::call_once{{vtable.shim}}::h401abbe67897d450
[INFO] [stdout]                                at /rustc/0e09125c6c3c2fd70d7de961bcf0e51575235fad/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   41:     0x55584c1276d5 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h5d7c8f150ab9c84c
[INFO] [stdout]                                at /rustc/0e09125c6c3c2fd70d7de961bcf0e51575235fad/library/alloc/src/boxed.rs:2015:9
[INFO] [stdout]   42:     0x55584c1276d5 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h570d5b005c242c15
[INFO] [stdout]                                at /rustc/0e09125c6c3c2fd70d7de961bcf0e51575235fad/library/alloc/src/boxed.rs:2015:9
[INFO] [stdout]   43:     0x55584c1276d5 - std::sys::unix::thread::Thread::new::thread_start::h36b0a20c0b2361ad
[INFO] [stdout]                                at /rustc/0e09125c6c3c2fd70d7de961bcf0e51575235fad/library/std/src/sys/unix/thread.rs:108:17
[INFO] [stdout]   44:     0x7fa8644a6ac3 - <unknown>
[INFO] [stdout]   45:     0x7fa864537bf4 - __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.04s
[INFO] [stdout] 
[INFO] [stderr] error: test failed, to rerun pass `--bin octi`
[INFO] running `Command { std: "docker" "inspect" "36753e29991d4d8c34f7f4ef956a071d5f7d8a40cf1675d180b8217fb2ae6314", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "36753e29991d4d8c34f7f4ef956a071d5f7d8a40cf1675d180b8217fb2ae6314", kill_on_drop: false }`
[INFO] [stdout] 36753e29991d4d8c34f7f4ef956a071d5f7d8a40cf1675d180b8217fb2ae6314
