[INFO] cloning repository https://github.com/nouwaarom/beaver_build [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/nouwaarom/beaver_build" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fnouwaarom%2Fbeaver_build", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fnouwaarom%2Fbeaver_build'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] d43471d0cdb5b1849c06fcbdb4e11c411fbf0979 [INFO] checking nouwaarom/beaver_build against master#1f12b9b0fdbe735968ac002792a720f0ba4faca6 for crater-rollup-uwu [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fnouwaarom%2Fbeaver_build" "/workspace/builds/worker-1-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc1/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/nouwaarom/beaver_build on toolchain 1f12b9b0fdbe735968ac002792a720f0ba4faca6 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1f12b9b0fdbe735968ac002792a720f0ba4faca6" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/nouwaarom/beaver_build [INFO] finished tweaking git repo https://github.com/nouwaarom/beaver_build [INFO] tweaked toml for git repo https://github.com/nouwaarom/beaver_build written to /workspace/builds/worker-1-tc1/source/Cargo.toml [INFO] crate git repo https://github.com/nouwaarom/beaver_build 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" "+1f12b9b0fdbe735968ac002792a720f0ba4faca6" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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:923055f121b5182466d55868a8b05e67af8ba4a3a3f6bad814e953ca3cd3ac2a" "/opt/rustwide/cargo-home/bin/cargo" "+1f12b9b0fdbe735968ac002792a720f0ba4faca6" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] a325391ce4b6b24859ae409c87489bfad47b8a8400bb762d6501f71e51cbf7ae [INFO] running `Command { std: "docker" "start" "-a" "a325391ce4b6b24859ae409c87489bfad47b8a8400bb762d6501f71e51cbf7ae", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "a325391ce4b6b24859ae409c87489bfad47b8a8400bb762d6501f71e51cbf7ae", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "a325391ce4b6b24859ae409c87489bfad47b8a8400bb762d6501f71e51cbf7ae", kill_on_drop: false }` [INFO] [stdout] a325391ce4b6b24859ae409c87489bfad47b8a8400bb762d6501f71e51cbf7ae [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:923055f121b5182466d55868a8b05e67af8ba4a3a3f6bad814e953ca3cd3ac2a" "/opt/rustwide/cargo-home/bin/cargo" "+1f12b9b0fdbe735968ac002792a720f0ba4faca6" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 2321f49e6d3c2e741d6c66fcfeee3b915fc78b928c2e1f461b98e313605a9498 [INFO] running `Command { std: "docker" "start" "-a" "2321f49e6d3c2e741d6c66fcfeee3b915fc78b928c2e1f461b98e313605a9498", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.148 [INFO] [stderr] Compiling serde v1.0.189 [INFO] [stderr] Checking itertools v0.11.0 [INFO] [stderr] Checking num_cpus v1.16.0 [INFO] [stderr] Checking nix v0.27.1 [INFO] [stderr] Checking threadpool v1.8.1 [INFO] [stderr] Checking serde_json v1.0.107 [INFO] [stderr] Checking beaver_build v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `Result` [INFO] [stdout] --> src/configurator.rs:2:18 [INFO] [stdout] | [INFO] [stdout] 2 | use serde_json::{Result, Value}; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections::HashMap` [INFO] [stdout] --> src/dependency_graph.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use std::collections::HashMap; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::marker::PhantomData` [INFO] [stdout] --> src/dependency_graph.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use std::marker::PhantomData; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `GraphVisitor` [INFO] [stdout] --> src/scheduler.rs:2:27 [INFO] [stdout] | [INFO] [stdout] 2 | use crate::graph_walker::{GraphVisitor}; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `ExitStatus` [INFO] [stdout] --> src/work_pool.rs:2:29 [INFO] [stdout] | [INFO] [stdout] 2 | use std::process::{Command, ExitStatus}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Builder` [INFO] [stdout] --> src/main.rs:13:15 [INFO] [stdout] | [INFO] [stdout] 13 | use builder::{Builder}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `GraphVisitor` and `GraphWalker` [INFO] [stdout] --> src/main.rs:15:20 [INFO] [stdout] | [INFO] [stdout] 15 | use graph_walker::{GraphWalker, GraphVisitor}; [INFO] [stdout] | ^^^^^^^^^^^ ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Result` [INFO] [stdout] --> src/configurator.rs:2:18 [INFO] [stdout] | [INFO] [stdout] 2 | use serde_json::{Result, Value}; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections::HashMap` [INFO] [stdout] --> src/dependency_graph.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use std::collections::HashMap; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::marker::PhantomData` [INFO] [stdout] --> src/dependency_graph.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use std::marker::PhantomData; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `GraphVisitor` [INFO] [stdout] --> src/scheduler.rs:2:27 [INFO] [stdout] | [INFO] [stdout] 2 | use crate::graph_walker::{GraphVisitor}; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `ExitStatus` [INFO] [stdout] --> src/work_pool.rs:2:29 [INFO] [stdout] | [INFO] [stdout] 2 | use std::process::{Command, ExitStatus}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Builder` [INFO] [stdout] --> src/main.rs:13:15 [INFO] [stdout] | [INFO] [stdout] 13 | use builder::{Builder}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `GraphVisitor` and `GraphWalker` [INFO] [stdout] --> src/main.rs:15:20 [INFO] [stdout] | [INFO] [stdout] 15 | use graph_walker::{GraphWalker, GraphVisitor}; [INFO] [stdout] | ^^^^^^^^^^^ ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: irrefutable `if let` pattern [INFO] [stdout] --> src/dependency_graph.rs:130:12 [INFO] [stdout] | [INFO] [stdout] 130 | if let DependencyOptions::ExecutableOptions {..} = options { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this pattern will always match, so the `if let` is useless [INFO] [stdout] = help: consider replacing the `if let` with a `let` [INFO] [stdout] = note: `#[warn(irrefutable_let_patterns)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: irrefutable `if let` pattern [INFO] [stdout] --> src/dependency_graph.rs:130:12 [INFO] [stdout] | [INFO] [stdout] 130 | if let DependencyOptions::ExecutableOptions {..} = options { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this pattern will always match, so the `if let` is useless [INFO] [stdout] = help: consider replacing the `if let` with a `let` [INFO] [stdout] = note: `#[warn(irrefutable_let_patterns)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `graph` [INFO] [stdout] --> src/scheduler.rs:52:30 [INFO] [stdout] | [INFO] [stdout] 52 | fn visit_node(&mut self, graph: &DependencyGraph, node: Ref) { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_graph` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `node` [INFO] [stdout] --> src/scheduler.rs:52:55 [INFO] [stdout] | [INFO] [stdout] 52 | fn visit_node(&mut self, graph: &DependencyGraph, node: Ref) { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `graph` [INFO] [stdout] --> src/scheduler.rs:52:30 [INFO] [stdout] | [INFO] [stdout] 52 | fn visit_node(&mut self, graph: &DependencyGraph, node: Ref) { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_graph` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `node` [INFO] [stdout] --> src/scheduler.rs:52:55 [INFO] [stdout] | [INFO] [stdout] 52 | fn visit_node(&mut self, graph: &DependencyGraph, node: Ref) { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `name` [INFO] [stdout] --> src/builder.rs:41:13 [INFO] [stdout] | [INFO] [stdout] 41 | let name = graph.get_name(node); [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_name` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: irrefutable `if let` pattern [INFO] [stdout] --> src/builder.rs:171:41 [INFO] [stdout] | [INFO] [stdout] 171 | let link_libraries = if let DependencyOptions::ExecutableOptions { link_flags, link_libraries } = executable_options { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this pattern will always match, so the `if let` is useless [INFO] [stdout] = help: consider replacing the `if let` with a `let` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `link_flags` [INFO] [stdout] --> src/builder.rs:171:84 [INFO] [stdout] | [INFO] [stdout] 171 | let link_libraries = if let DependencyOptions::ExecutableOptions { link_flags, link_libraries } = executable_options { [INFO] [stdout] | ^^^^^^^^^^ help: try ignoring the field: `link_flags: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `name` [INFO] [stdout] --> src/builder.rs:41:13 [INFO] [stdout] | [INFO] [stdout] 41 | let name = graph.get_name(node); [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_name` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: irrefutable `if let` pattern [INFO] [stdout] --> src/builder.rs:171:41 [INFO] [stdout] | [INFO] [stdout] 171 | let link_libraries = if let DependencyOptions::ExecutableOptions { link_flags, link_libraries } = executable_options { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this pattern will always match, so the `if let` is useless [INFO] [stdout] = help: consider replacing the `if let` with a `let` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `link_flags` [INFO] [stdout] --> src/builder.rs:171:84 [INFO] [stdout] | [INFO] [stdout] 171 | let link_libraries = if let DependencyOptions::ExecutableOptions { link_flags, link_libraries } = executable_options { [INFO] [stdout] | ^^^^^^^^^^ help: try ignoring the field: `link_flags: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `work_pool` [INFO] [stdout] --> src/main.rs:42:13 [INFO] [stdout] | [INFO] [stdout] 42 | let mut work_pool = WorkPool::new(4); [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_work_pool` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:39:9 [INFO] [stdout] | [INFO] [stdout] 39 | let mut dependency_graph = configure_clib_project("./data/clib"); [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: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:42:9 [INFO] [stdout] | [INFO] [stdout] 42 | let mut work_pool = WorkPool::new(4); [INFO] [stdout] | ----^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `work_pool` [INFO] [stdout] --> src/main.rs:42:13 [INFO] [stdout] | [INFO] [stdout] 42 | let mut work_pool = WorkPool::new(4); [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_work_pool` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `get_dependencies` is never used [INFO] [stdout] --> src/dependency_graph.rs:174:12 [INFO] [stdout] | [INFO] [stdout] 72 | impl DependencyGraph { [INFO] [stdout] | -------------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 174 | pub fn get_dependencies(&self, node: Ref) -> Vec> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new_recursive_for` and `read_files_in_dir_recursive` are never used [INFO] [stdout] --> src/filesystem.rs:20:12 [INFO] [stdout] | [INFO] [stdout] 11 | impl DirReader { [INFO] [stdout] | -------------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 20 | pub fn new_recursive_for(dir: &str) -> DirReader { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 60 | fn read_files_in_dir_recursive(&mut self, dir: &Path) -> io::Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `number_of_unbuilt_dependencies` and `is_built` are never read [INFO] [stdout] --> src/scheduler.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 5 | struct TargetStatus { [INFO] [stdout] | ------------ fields in this struct [INFO] [stdout] 6 | // Target can only be built when all dependencies have been built. [INFO] [stdout] 7 | number_of_unbuilt_dependencies: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 8 | is_built: bool, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `target_status_map` and `target_data_map` are never read [INFO] [stdout] --> src/scheduler.rs:21:5 [INFO] [stdout] | [INFO] [stdout] 19 | pub struct Scheduler { [INFO] [stdout] | --------- fields in this struct [INFO] [stdout] 20 | // TODO, replace hashmap by something smarter because we know how many nodes there are. [INFO] [stdout] 21 | target_status_map: HashMap, TargetStatus>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] 22 | target_data_map: HashMap, TargetData>, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `get_next_result_blocking` is never used [INFO] [stdout] --> src/work_pool.rs:81:12 [INFO] [stdout] | [INFO] [stdout] 36 | impl WorkPool { [INFO] [stdout] | ------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 81 | pub fn get_next_result_blocking(&mut self) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `visit_pre_dependency` and `visit_post_dependency` are never used [INFO] [stdout] --> src/graph_walker.rs:5:8 [INFO] [stdout] | [INFO] [stdout] 3 | pub trait GraphVisitor { [INFO] [stdout] | ------------ methods in this trait [INFO] [stdout] 4 | /// Will be executed before all the dependencies of the current node are processed. [INFO] [stdout] 5 | fn visit_pre_dependency(&mut self, graph: &DependencyGraph, node: Ref); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 6 | /// Will be executed after all the dependencies of the current node are processed. [INFO] [stdout] 7 | fn visit_post_dependency(&mut self, graph: &DependencyGraph, node: Ref); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `GraphWalker` is never constructed [INFO] [stdout] --> src/graph_walker.rs:10:12 [INFO] [stdout] | [INFO] [stdout] 10 | pub struct GraphWalker<'a> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `walk`, and `visit` are never used [INFO] [stdout] --> src/graph_walker.rs:15:12 [INFO] [stdout] | [INFO] [stdout] 14 | impl GraphWalker<'_> { [INFO] [stdout] | -------------------- associated items in this implementation [INFO] [stdout] 15 | pub fn new<'b>(graph: &'b mut DependencyGraph) -> GraphWalker<'b> { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 24 | pub fn walk(&mut self, root: Ref, visitor: &mut dyn GraphVisitor) { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 30 | fn visit(&self, node: Ref, visitor: &mut dyn GraphVisitor) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new` and `reset` are never used [INFO] [stdout] --> src/builder.rs:22:12 [INFO] [stdout] | [INFO] [stdout] 21 | impl Builder<'_> { [INFO] [stdout] | ---------------- associated items in this implementation [INFO] [stdout] 22 | pub fn new(build_dir: String, work_pool: &mut WorkPool) -> Builder { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 33 | pub fn reset(&mut self) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:39:9 [INFO] [stdout] | [INFO] [stdout] 39 | let mut dependency_graph = configure_clib_project("./data/clib"); [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: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:42:9 [INFO] [stdout] | [INFO] [stdout] 42 | let mut work_pool = WorkPool::new(4); [INFO] [stdout] | ----^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `get_dependencies` is never used [INFO] [stdout] --> src/dependency_graph.rs:174:12 [INFO] [stdout] | [INFO] [stdout] 72 | impl DependencyGraph { [INFO] [stdout] | -------------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 174 | pub fn get_dependencies(&self, node: Ref) -> Vec> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new_recursive_for` and `read_files_in_dir_recursive` are never used [INFO] [stdout] --> src/filesystem.rs:20:12 [INFO] [stdout] | [INFO] [stdout] 11 | impl DirReader { [INFO] [stdout] | -------------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 20 | pub fn new_recursive_for(dir: &str) -> DirReader { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 60 | fn read_files_in_dir_recursive(&mut self, dir: &Path) -> io::Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `number_of_unbuilt_dependencies` and `is_built` are never read [INFO] [stdout] --> src/scheduler.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 5 | struct TargetStatus { [INFO] [stdout] | ------------ fields in this struct [INFO] [stdout] 6 | // Target can only be built when all dependencies have been built. [INFO] [stdout] 7 | number_of_unbuilt_dependencies: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 8 | is_built: bool, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `target_status_map` and `target_data_map` are never read [INFO] [stdout] --> src/scheduler.rs:21:5 [INFO] [stdout] | [INFO] [stdout] 19 | pub struct Scheduler { [INFO] [stdout] | --------- fields in this struct [INFO] [stdout] 20 | // TODO, replace hashmap by something smarter because we know how many nodes there are. [INFO] [stdout] 21 | target_status_map: HashMap, TargetStatus>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] 22 | target_data_map: HashMap, TargetData>, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `get_next_result_blocking` is never used [INFO] [stdout] --> src/work_pool.rs:81:12 [INFO] [stdout] | [INFO] [stdout] 36 | impl WorkPool { [INFO] [stdout] | ------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 81 | pub fn get_next_result_blocking(&mut self) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `visit_pre_dependency` and `visit_post_dependency` are never used [INFO] [stdout] --> src/graph_walker.rs:5:8 [INFO] [stdout] | [INFO] [stdout] 3 | pub trait GraphVisitor { [INFO] [stdout] | ------------ methods in this trait [INFO] [stdout] 4 | /// Will be executed before all the dependencies of the current node are processed. [INFO] [stdout] 5 | fn visit_pre_dependency(&mut self, graph: &DependencyGraph, node: Ref); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 6 | /// Will be executed after all the dependencies of the current node are processed. [INFO] [stdout] 7 | fn visit_post_dependency(&mut self, graph: &DependencyGraph, node: Ref); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `GraphWalker` is never constructed [INFO] [stdout] --> src/graph_walker.rs:10:12 [INFO] [stdout] | [INFO] [stdout] 10 | pub struct GraphWalker<'a> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `walk`, and `visit` are never used [INFO] [stdout] --> src/graph_walker.rs:15:12 [INFO] [stdout] | [INFO] [stdout] 14 | impl GraphWalker<'_> { [INFO] [stdout] | -------------------- associated items in this implementation [INFO] [stdout] 15 | pub fn new<'b>(graph: &'b mut DependencyGraph) -> GraphWalker<'b> { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 24 | pub fn walk(&mut self, root: Ref, visitor: &mut dyn GraphVisitor) { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 30 | fn visit(&self, node: Ref, visitor: &mut dyn GraphVisitor) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new` and `reset` are never used [INFO] [stdout] --> src/builder.rs:22:12 [INFO] [stdout] | [INFO] [stdout] 21 | impl Builder<'_> { [INFO] [stdout] | ---------------- associated items in this implementation [INFO] [stdout] 22 | pub fn new(build_dir: String, work_pool: &mut WorkPool) -> Builder { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 33 | pub fn reset(&mut self) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 25 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 25 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 3.87s [INFO] running `Command { std: "docker" "inspect" "2321f49e6d3c2e741d6c66fcfeee3b915fc78b928c2e1f461b98e313605a9498", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "2321f49e6d3c2e741d6c66fcfeee3b915fc78b928c2e1f461b98e313605a9498", kill_on_drop: false }` [INFO] [stdout] 2321f49e6d3c2e741d6c66fcfeee3b915fc78b928c2e1f461b98e313605a9498