[INFO] cloning repository https://github.com/Isan-Rivkin/p2p-network-graph-simulator-rs [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/p2p-network-graph-simulator-rs" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FIsan-Rivkin%2Fp2p-network-graph-simulator-rs", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FIsan-Rivkin%2Fp2p-network-graph-simulator-rs'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] d4c9a0a2bec3bbaf7d62c76e62bdb20c045ade19 [INFO] checking Isan-Rivkin/p2p-network-graph-simulator-rs/d4c9a0a2bec3bbaf7d62c76e62bdb20c045ade19 against master#ab869e094a907cc5d19b4080f22eccaf347f1f95 for pr-129604 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FIsan-Rivkin%2Fp2p-network-graph-simulator-rs" "/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/p2p-network-graph-simulator-rs on toolchain ab869e094a907cc5d19b4080f22eccaf347f1f95 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+ab869e094a907cc5d19b4080f22eccaf347f1f95" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/Isan-Rivkin/p2p-network-graph-simulator-rs [INFO] finished tweaking git repo https://github.com/Isan-Rivkin/p2p-network-graph-simulator-rs [INFO] tweaked toml for git repo https://github.com/Isan-Rivkin/p2p-network-graph-simulator-rs written to /workspace/builds/worker-5-tc1/source/Cargo.toml [INFO] crate git repo https://github.com/Isan-Rivkin/p2p-network-graph-simulator-rs 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" "+ab869e094a907cc5d19b4080f22eccaf347f1f95" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2021 [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded memchr v2.1.0 [INFO] [stderr] Downloaded csv v1.0.2 [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:923055f121b5182466d55868a8b05e67af8ba4a3a3f6bad814e953ca3cd3ac2a" "/opt/rustwide/cargo-home/bin/cargo" "+ab869e094a907cc5d19b4080f22eccaf347f1f95" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 5459483cf7d03675e0f259134c398963b36a291b5aec52787efcb394b26496b9 [INFO] running `Command { std: "docker" "start" "-a" "5459483cf7d03675e0f259134c398963b36a291b5aec52787efcb394b26496b9", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "5459483cf7d03675e0f259134c398963b36a291b5aec52787efcb394b26496b9", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "5459483cf7d03675e0f259134c398963b36a291b5aec52787efcb394b26496b9", kill_on_drop: false }` [INFO] [stdout] 5459483cf7d03675e0f259134c398963b36a291b5aec52787efcb394b26496b9 [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=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" "+ab869e094a907cc5d19b4080f22eccaf347f1f95" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 4ff6f3360ee3d20d7508b2e326deccf830efd765ccfbfbd84e91caa1518332d7 [INFO] running `Command { std: "docker" "start" "-a" "4ff6f3360ee3d20d7508b2e326deccf830efd765ccfbfbd84e91caa1518332d7", kill_on_drop: false }` [INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2021 [INFO] [stderr] Compiling version_check v0.1.5 [INFO] [stderr] Checking cfg-if v0.1.5 [INFO] [stderr] Checking libc v0.2.43 [INFO] [stderr] Compiling serde v1.0.79 [INFO] [stderr] Compiling memchr v2.1.0 [INFO] [stderr] Checking csv-core v0.1.4 [INFO] [stderr] Checking csv v1.0.2 [INFO] [stderr] Checking graph_connetions_calculator v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `print_graph` [INFO] [stdout] --> src/optimizer.rs:2:21 [INFO] [stdout] | [INFO] [stdout] 2 | use policy::{Policy,print_graph}; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Graph` [INFO] [stdout] --> src/main.rs:8:17 [INFO] [stdout] | [INFO] [stdout] 8 | use optimizer::{Graph, Optimizer}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::error::Error` [INFO] [stdout] --> src/main.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | use std::error::Error; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `print_graph` [INFO] [stdout] --> src/optimizer.rs:2:21 [INFO] [stdout] | [INFO] [stdout] 2 | use policy::{Policy,print_graph}; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Graph` [INFO] [stdout] --> src/main.rs:8:17 [INFO] [stdout] | [INFO] [stdout] 8 | use optimizer::{Graph, Optimizer}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::error::Error` [INFO] [stdout] --> src/main.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | use std::error::Error; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/input.rs:9:61 [INFO] [stdout] | [INFO] [stdout] 9 | pub fn graph_to_csv(path : &str, g : &Graph)->Result<(),Box>{ [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 9 | pub fn graph_to_csv(path : &str, g : &Graph)->Result<(),Box>{ [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/input.rs:25:92 [INFO] [stdout] | [INFO] [stdout] 25 | pub fn csv_to_graph(path : &str)->Result<(Vec,Vec>,OptimalOut,MaxIn),Box> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 25 | pub fn csv_to_graph(path : &str)->Result<(Vec,Vec>,OptimalOut,MaxIn),Box> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/input.rs:9:61 [INFO] [stdout] | [INFO] [stdout] 9 | pub fn graph_to_csv(path : &str, g : &Graph)->Result<(),Box>{ [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 9 | pub fn graph_to_csv(path : &str, g : &Graph)->Result<(),Box>{ [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/input.rs:25:92 [INFO] [stdout] | [INFO] [stdout] 25 | pub fn csv_to_graph(path : &str)->Result<(Vec,Vec>,OptimalOut,MaxIn),Box> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 25 | pub fn csv_to_graph(path : &str)->Result<(Vec,Vec>,OptimalOut,MaxIn),Box> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/optimizer.rs:64:75 [INFO] [stdout] | [INFO] [stdout] 64 | pub fn try_satisfy_graph(&self, graph : &Graph)->Result>{ [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 64 | pub fn try_satisfy_graph(&self, graph : &Graph)->Result>{ [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/optimizer.rs:112:100 [INFO] [stdout] | [INFO] [stdout] 112 | pub fn try_satisfy_node(&self, node : usize, graph: &mut Graph)->Result<(Graph,NodeStat), Box>{ [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 112 | pub fn try_satisfy_node(&self, node : usize, graph: &mut Graph)->Result<(Graph,NodeStat), Box>{ [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/optimizer.rs:64:75 [INFO] [stdout] | [INFO] [stdout] 64 | pub fn try_satisfy_graph(&self, graph : &Graph)->Result>{ [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 64 | pub fn try_satisfy_graph(&self, graph : &Graph)->Result>{ [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/optimizer.rs:112:100 [INFO] [stdout] | [INFO] [stdout] 112 | pub fn try_satisfy_node(&self, node : usize, graph: &mut Graph)->Result<(Graph,NodeStat), Box>{ [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 112 | pub fn try_satisfy_node(&self, node : usize, graph: &mut Graph)->Result<(Graph,NodeStat), Box>{ [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/optimizer.rs:114:13 [INFO] [stdout] | [INFO] [stdout] 114 | let mut test_graph = graph.clone(); [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:43:17 [INFO] [stdout] | [INFO] [stdout] 43 | let mut dns_nodes = result.0; [INFO] [stdout] | ----^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:45:17 [INFO] [stdout] | [INFO] [stdout] 45 | let mut optimal_outbound = result.2; [INFO] [stdout] | ----^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:46:17 [INFO] [stdout] | [INFO] [stdout] 46 | let mut max_inbound = result.3; [INFO] [stdout] | ----^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:53:17 [INFO] [stdout] | [INFO] [stdout] 53 | let mut g = graph.clone(); [INFO] [stdout] | ----^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `edges` is never read [INFO] [stdout] --> src/input.rs:64:9 [INFO] [stdout] | [INFO] [stdout] 60 | pub struct GeneratorConfig { [INFO] [stdout] | --------------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 64 | pub edges : Graph, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `GeneratorConfig` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_nodes` is never used [INFO] [stdout] --> src/policy.rs:158:4 [INFO] [stdout] | [INFO] [stdout] 158 | fn get_nodes(graph :& Vec< Vec>)->Vec{ [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_edges` is never used [INFO] [stdout] --> src/policy.rs:164:4 [INFO] [stdout] | [INFO] [stdout] 164 | fn get_edges(node : usize , graph :& Vec< Vec>)->Vec{ [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `node` and `missing_nodes` are never read [INFO] [stdout] --> src/optimizer.rs:12:9 [INFO] [stdout] | [INFO] [stdout] 11 | pub struct NodeStat{ [INFO] [stdout] | -------- fields in this struct [INFO] [stdout] 12 | pub node : usize, [INFO] [stdout] | ^^^^ [INFO] [stdout] 13 | pub added_nodes : usize, [INFO] [stdout] 14 | pub missing_nodes : usize, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `NodeStat` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `initial_graph` is never read [INFO] [stdout] --> src/optimizer.rs:50:5 [INFO] [stdout] | [INFO] [stdout] 48 | pub struct Optimizer<'a,'b>{ [INFO] [stdout] | --------- field in this struct [INFO] [stdout] 49 | policy : Policy<'b>, [INFO] [stdout] 50 | initial_graph :&'a Graph [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/main.rs:30:5 [INFO] [stdout] | [INFO] [stdout] 30 | graph_to_csv(path,&res); [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] 30 | let _ = graph_to_csv(path,&res); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/optimizer.rs:35:9 [INFO] [stdout] | [INFO] [stdout] 35 | write!(f,"\n --- START Optimization Stats --- \n\n"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: this warning originates in the macro `write` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/optimizer.rs:37:9 [INFO] [stdout] | [INFO] [stdout] 37 | write!(f,"\t1) Config: Optimal = {} , Max inbound = {} \n", self.config_optimal_out, self.config_max_in); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: this warning originates in the macro `write` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/optimizer.rs:38:9 [INFO] [stdout] | [INFO] [stdout] 38 | write!(f,"\t2) Satisfied Graph : {} \n" , self.is_satisfied_graph); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: this warning originates in the macro `write` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/optimizer.rs:39:9 [INFO] [stdout] | [INFO] [stdout] 39 | write!(f,"\t3) Violated graph : {} \n", self.is_violating_graph); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: this warning originates in the macro `write` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/optimizer.rs:40:9 [INFO] [stdout] | [INFO] [stdout] 40 | write!(f, "\t4) Total Nodes (with dns) : {} \n", self.final_graph.len()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: this warning originates in the macro `write` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/optimizer.rs:41:9 [INFO] [stdout] | [INFO] [stdout] 41 | write!(f,"\t5) Satisfied Nodes (exclude dns): {}/{} \n", self.satisfied_nodes_num , self.final_graph.len()- self.dns_nodes_num); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: this warning originates in the macro `write` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/optimizer.rs:42:9 [INFO] [stdout] | [INFO] [stdout] 42 | write!(f,"\t6) Dns Nodes : {} \n" , self.dns_nodes_num); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: this warning originates in the macro `write` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/optimizer.rs:43:9 [INFO] [stdout] | [INFO] [stdout] 43 | write!(f,"\t7) Not Satisfied Nodes : {} \n" , self.not_satisfied_nodes); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: this warning originates in the macro `write` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/optimizer.rs:114:13 [INFO] [stdout] | [INFO] [stdout] 114 | let mut test_graph = graph.clone(); [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:43:17 [INFO] [stdout] | [INFO] [stdout] 43 | let mut dns_nodes = result.0; [INFO] [stdout] | ----^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:45:17 [INFO] [stdout] | [INFO] [stdout] 45 | let mut optimal_outbound = result.2; [INFO] [stdout] | ----^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:46:17 [INFO] [stdout] | [INFO] [stdout] 46 | let mut max_inbound = result.3; [INFO] [stdout] | ----^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:53:17 [INFO] [stdout] | [INFO] [stdout] 53 | let mut g = graph.clone(); [INFO] [stdout] | ----^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:98:13 [INFO] [stdout] | [INFO] [stdout] 98 | let mut dns : Vec = vec![1,3]; [INFO] [stdout] | ----^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 26 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `e` [INFO] [stdout] --> src/main.rs:181:13 [INFO] [stdout] | [INFO] [stdout] 181 | Err(e)=> assert!(false) [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:151:17 [INFO] [stdout] | [INFO] [stdout] 151 | let mut dns_nodes = result.0; [INFO] [stdout] | ----^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:153:17 [INFO] [stdout] | [INFO] [stdout] 153 | let mut optimal_outbound = result.2; [INFO] [stdout] | ----^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:154:17 [INFO] [stdout] | [INFO] [stdout] 154 | let mut max_inbound = result.3; [INFO] [stdout] | ----^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:188:13 [INFO] [stdout] | [INFO] [stdout] 188 | let mut path = "./samples/g2_test.csv"; [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:191:21 [INFO] [stdout] | [INFO] [stdout] 191 | let mut dns_nodes = result.0; [INFO] [stdout] | ----^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:193:21 [INFO] [stdout] | [INFO] [stdout] 193 | let mut optimal_outbound = result.2; [INFO] [stdout] | ----^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:194:21 [INFO] [stdout] | [INFO] [stdout] 194 | let mut max_inbound = result.3; [INFO] [stdout] | ----^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:201:21 [INFO] [stdout] | [INFO] [stdout] 201 | let mut g = graph.clone(); [INFO] [stdout] | ----^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `edges` is never read [INFO] [stdout] --> src/input.rs:64:9 [INFO] [stdout] | [INFO] [stdout] 60 | pub struct GeneratorConfig { [INFO] [stdout] | --------------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 64 | pub edges : Graph, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `GeneratorConfig` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_nodes` is never used [INFO] [stdout] --> src/policy.rs:158:4 [INFO] [stdout] | [INFO] [stdout] 158 | fn get_nodes(graph :& Vec< Vec>)->Vec{ [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_edges` is never used [INFO] [stdout] --> src/policy.rs:164:4 [INFO] [stdout] | [INFO] [stdout] 164 | fn get_edges(node : usize , graph :& Vec< Vec>)->Vec{ [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `initial_graph` is never read [INFO] [stdout] --> src/optimizer.rs:50:5 [INFO] [stdout] | [INFO] [stdout] 48 | pub struct Optimizer<'a,'b>{ [INFO] [stdout] | --------- field in this struct [INFO] [stdout] 49 | policy : Policy<'b>, [INFO] [stdout] 50 | initial_graph :&'a Graph [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/main.rs:30:5 [INFO] [stdout] | [INFO] [stdout] 30 | graph_to_csv(path,&res); [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] 30 | let _ = graph_to_csv(path,&res); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/optimizer.rs:35:9 [INFO] [stdout] | [INFO] [stdout] 35 | write!(f,"\n --- START Optimization Stats --- \n\n"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: this warning originates in the macro `write` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/optimizer.rs:37:9 [INFO] [stdout] | [INFO] [stdout] 37 | write!(f,"\t1) Config: Optimal = {} , Max inbound = {} \n", self.config_optimal_out, self.config_max_in); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: this warning originates in the macro `write` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/optimizer.rs:38:9 [INFO] [stdout] | [INFO] [stdout] 38 | write!(f,"\t2) Satisfied Graph : {} \n" , self.is_satisfied_graph); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: this warning originates in the macro `write` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/optimizer.rs:39:9 [INFO] [stdout] | [INFO] [stdout] 39 | write!(f,"\t3) Violated graph : {} \n", self.is_violating_graph); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: this warning originates in the macro `write` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/optimizer.rs:40:9 [INFO] [stdout] | [INFO] [stdout] 40 | write!(f, "\t4) Total Nodes (with dns) : {} \n", self.final_graph.len()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: this warning originates in the macro `write` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/optimizer.rs:41:9 [INFO] [stdout] | [INFO] [stdout] 41 | write!(f,"\t5) Satisfied Nodes (exclude dns): {}/{} \n", self.satisfied_nodes_num , self.final_graph.len()- self.dns_nodes_num); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: this warning originates in the macro `write` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/optimizer.rs:42:9 [INFO] [stdout] | [INFO] [stdout] 42 | write!(f,"\t6) Dns Nodes : {} \n" , self.dns_nodes_num); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: this warning originates in the macro `write` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/optimizer.rs:43:9 [INFO] [stdout] | [INFO] [stdout] 43 | write!(f,"\t7) Not Satisfied Nodes : {} \n" , self.not_satisfied_nodes); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: this warning originates in the macro `write` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 35 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 3.53s [INFO] running `Command { std: "docker" "inspect" "4ff6f3360ee3d20d7508b2e326deccf830efd765ccfbfbd84e91caa1518332d7", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "4ff6f3360ee3d20d7508b2e326deccf830efd765ccfbfbd84e91caa1518332d7", kill_on_drop: false }` [INFO] [stdout] 4ff6f3360ee3d20d7508b2e326deccf830efd765ccfbfbd84e91caa1518332d7