[INFO] cloning repository https://github.com/mariette03/HittingSetPace [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/mariette03/HittingSetPace" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmariette03%2FHittingSetPace", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmariette03%2FHittingSetPace'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 9e210d7745b7cfe53ddfa96e3331d431fb92fc7a [INFO] checking mariette03/HittingSetPace against master#08cd08fbef8c6663b052d8d9e4930d5696cbb8a7 for 150662-leaf [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmariette03%2FHittingSetPace" "/workspace/builds/worker-4-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc1/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/mariette03/HittingSetPace [INFO] finished tweaking git repo https://github.com/mariette03/HittingSetPace [INFO] tweaked toml for git repo https://github.com/mariette03/HittingSetPace written to /workspace/builds/worker-4-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/mariette03/HittingSetPace on toolchain 08cd08fbef8c6663b052d8d9e4930d5696cbb8a7 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+08cd08fbef8c6663b052d8d9e4930d5696cbb8a7" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/mariette03/HittingSetPace 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" "+08cd08fbef8c6663b052d8d9e4930d5696cbb8a7" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Updating crates.io index [INFO] [stderr] Locking 3 packages to latest compatible versions [INFO] [stderr] Adding errno v0.3.14 [INFO] [stderr] Adding signal-hook v0.3.18 (available: v0.4.4) [INFO] [stderr] Adding signal-hook-registry v1.4.8 [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded libc v0.1.12 [INFO] [stderr] Downloaded rayon-cond v0.3.0 [INFO] [stderr] Downloaded priority-queue v2.3.1 [INFO] [stderr] Downloaded rustworkx-core v0.16.0 [INFO] [stderr] Downloaded glpk-sys v0.2.0 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+08cd08fbef8c6663b052d8d9e4930d5696cbb8a7" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] b219c13fe84ed04d39e11389f39320ffe38a57b378aff6b257627175fd639c97 [INFO] running `Command { std: "docker" "start" "-a" "b219c13fe84ed04d39e11389f39320ffe38a57b378aff6b257627175fd639c97", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "b219c13fe84ed04d39e11389f39320ffe38a57b378aff6b257627175fd639c97", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "b219c13fe84ed04d39e11389f39320ffe38a57b378aff6b257627175fd639c97", kill_on_drop: false }` [INFO] [stdout] b219c13fe84ed04d39e11389f39320ffe38a57b378aff6b257627175fd639c97 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+08cd08fbef8c6663b052d8d9e4930d5696cbb8a7" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] a87b5f882b1db834d54a2bb555603fc74e0a9b4582f87956c26cff06aee580e6 [INFO] running `Command { std: "docker" "start" "-a" "a87b5f882b1db834d54a2bb555603fc74e0a9b4582f87956c26cff06aee580e6", kill_on_drop: false }` [INFO] [stderr] Checking either v1.15.0 [INFO] [stderr] Compiling zerocopy v0.8.24 [INFO] [stderr] Compiling syn v1.0.109 [INFO] [stderr] Checking getrandom v0.2.15 [INFO] [stderr] Checking atty v0.2.14 [INFO] [stderr] Checking regex-syntax v0.8.5 [INFO] [stderr] Checking errno v0.3.14 [INFO] [stderr] Compiling signal-hook v0.3.18 [INFO] [stderr] Compiling syn v2.0.100 [INFO] [stderr] Compiling proc-macro-error-attr v1.0.4 [INFO] [stderr] Checking num-complex v0.4.6 [INFO] [stderr] Checking num-integer v0.1.46 [INFO] [stderr] Compiling serde_json v1.0.140 [INFO] [stderr] Checking fixedbitset v0.5.7 [INFO] [stderr] Compiling glpk-sys v0.2.0 [INFO] [stderr] Checking humantime v2.2.0 [INFO] [stderr] Checking clap v2.34.0 [INFO] [stderr] Checking signal-hook-registry v1.4.8 [INFO] [stderr] Checking log v0.4.27 [INFO] [stderr] Checking rand_core v0.6.4 [INFO] [stderr] Checking ahash v0.8.11 [INFO] [stderr] Checking rayon v1.10.0 [INFO] [stderr] Checking itertools v0.11.0 [INFO] [stderr] Checking libc v0.1.12 [INFO] [stderr] Checking itertools v0.14.0 [INFO] [stderr] Checking rand_pcg v0.3.1 [INFO] [stderr] Checking regex-automata v0.4.9 [INFO] [stderr] Checking hashbrown v0.15.2 [INFO] [stderr] Checking ndarray v0.16.1 [INFO] [stderr] Checking rayon-cond v0.3.0 [INFO] [stderr] Compiling serde_derive v1.0.219 [INFO] [stderr] Checking ppv-lite86 v0.2.21 [INFO] [stderr] Checking indexmap v2.9.0 [INFO] [stderr] Checking rand_chacha v0.3.1 [INFO] [stderr] Checking rand v0.8.5 [INFO] [stderr] Checking petgraph v0.7.1 [INFO] [stderr] Checking priority-queue v2.3.1 [INFO] [stderr] Checking regex v1.11.1 [INFO] [stderr] Checking env_logger v0.9.3 [INFO] [stderr] Compiling proc-macro-error v1.0.4 [INFO] [stderr] Compiling structopt-derive v0.4.18 [INFO] [stderr] Compiling derivative v2.2.0 [INFO] [stderr] Checking serde v1.0.219 [INFO] [stderr] Checking rustworkx-core v0.16.0 [INFO] [stderr] Checking structopt v0.3.26 [INFO] [stderr] Checking csv v1.3.1 [INFO] [stderr] Checking hitdomsolver v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused imports: `NodeIdx` and `utils::select_vertex_node_degree` [INFO] [stdout] --> src/main.rs:3:34 [INFO] [stdout] | [INFO] [stdout] 3 | ...e, NodeIdx}, reductions::calc_greedy_approximation, report::{IlpReductionReport, ReductionStats, Report, RuntimeStats}, utils::select_vertex_node_degree}; [INFO] [stdout] | ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `env_logger::init` [INFO] [stdout] --> src/main.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use env_logger::init; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::ffi::OsString` [INFO] [stdout] --> src/main.rs:14:5 [INFO] [stdout] | [INFO] [stdout] 14 | use std::ffi::OsString; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::report::GreedyMode` [INFO] [stdout] --> src/main.rs:18:5 [INFO] [stdout] | [INFO] [stdout] 18 | use crate::report::GreedyMode; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `AnalysisInstance` and `create_idx_struct` [INFO] [stdout] --> src/ds_instance.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | create_idx_struct, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 5 | instance::{GeneralInstance, AnalysisInstance, NodeIdx, EdgeIdx, EntryIdx}, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `anyhow` and `ensure` [INFO] [stdout] --> src/ds_instance.rs:7:14 [INFO] [stdout] | [INFO] [stdout] 7 | use anyhow::{anyhow, ensure, Result}; [INFO] [stdout] | ^^^^^^ ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Itertools` and `all` [INFO] [stdout] --> src/ds_instance.rs:8:17 [INFO] [stdout] | [INFO] [stdout] 8 | use itertools::{all, Itertools}; [INFO] [stdout] | ^^^ ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `debug`, `info`, and `trace` [INFO] [stdout] --> src/ds_instance.rs:9:11 [INFO] [stdout] | [INFO] [stdout] 9 | use log::{debug, info, trace}; [INFO] [stdout] | ^^^^^ ^^^^ ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `rustworkx_core::petgraph::algo::connected_components` [INFO] [stdout] --> src/ds_instance.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | use rustworkx_core::petgraph::algo::connected_components; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Edge` [INFO] [stdout] --> src/ds_instance.rs:12:39 [INFO] [stdout] | [INFO] [stdout] 12 | use rustworkx_core::petgraph::graph::{Edge, UnGraph}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `rustworkx_core::planar::is_planar` [INFO] [stdout] --> src/ds_instance.rs:14:5 [INFO] [stdout] | [INFO] [stdout] 14 | use rustworkx_core::planar::is_planar; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `serde::Deserialize` [INFO] [stdout] --> src/ds_instance.rs:15:5 [INFO] [stdout] | [INFO] [stdout] 15 | use serde::Deserialize; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::cmp::PartialEq` [INFO] [stdout] --> src/ds_instance.rs:17:5 [INFO] [stdout] | [INFO] [stdout] 17 | use std::cmp::PartialEq; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections::VecDeque` [INFO] [stdout] --> src/ds_instance.rs:18:5 [INFO] [stdout] | [INFO] [stdout] 18 | use std::collections::VecDeque; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Display`, `mem`, `self`, and `time::Instant` [INFO] [stdout] --> src/ds_instance.rs:20:11 [INFO] [stdout] | [INFO] [stdout] 20 | fmt::{self, Display, Write as _}, [INFO] [stdout] | ^^^^ ^^^^^^^ [INFO] [stdout] 21 | io::{BufRead, Write}, [INFO] [stdout] 22 | mem, [INFO] [stdout] | ^^^ [INFO] [stdout] 23 | time::Instant, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::info` [INFO] [stdout] --> src/data_structures/cont_idx_vec.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::info; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `serde::Deserialize` [INFO] [stdout] --> src/instance.rs:14:5 [INFO] [stdout] | [INFO] [stdout] 14 | use serde::Deserialize; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/instance.rs:96:37 [INFO] [stdout] | [INFO] [stdout] 96 | single_component &= (*dist < self.num_nodes()); [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 96 - single_component &= (*dist < self.num_nodes()); [INFO] [stdout] 96 + single_component &= *dist < self.num_nodes() ; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/instance.rs:97:42 [INFO] [stdout] | [INFO] [stdout] 97 | allowed_vertices[vert] = (*dist < self.num_nodes()); [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 97 - allowed_vertices[vert] = (*dist < self.num_nodes()); [INFO] [stdout] 97 + allowed_vertices[vert] = *dist < self.num_nodes() ; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/instance.rs:98:34 [INFO] [stdout] | [INFO] [stdout] 98 | visited[vert] |= (*dist < self.num_nodes()); [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 98 - visited[vert] |= (*dist < self.num_nodes()); [INFO] [stdout] 98 + visited[vert] |= *dist < self.num_nodes() ; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/reductions.rs:600:16 [INFO] [stdout] | [INFO] [stdout] 600 | if (depth == 0){ [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 600 - if (depth == 0){ [INFO] [stdout] 600 + if depth == 0 { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `EdgeIdx`, `IdxHashSet`, `InstanceType`, `ReductionResult`, `SmallIdx`, `UpperBoundImprovement`, and `select_vertex` [INFO] [stdout] --> src/solve.rs:2:35 [INFO] [stdout] | [INFO] [stdout] 2 | instance::{Instance, NodeIdx, EdgeIdx, InstanceType}, [INFO] [stdout] | ^^^^^^^ ^^^^^^^^^^^^ [INFO] [stdout] 3 | reductions::{self, ReductionResult}, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 4 | report::{ReductionStats, Report, RuntimeStats, Settings, UpperBoundImprovement}, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 5 | small_indices::{IdxHashSet, SmallIdx}, [INFO] [stdout] | ^^^^^^^^^^ ^^^^^^^^ [INFO] [stdout] 6 | utils::{is_hitting_set, select_vertex}, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `trace` and `warn` [INFO] [stdout] --> src/solve.rs:10:24 [INFO] [stdout] | [INFO] [stdout] 10 | use log::{debug, info, trace, warn}; [INFO] [stdout] | ^^^^^ ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::reductions::optimistic_reductions` [INFO] [stdout] --> src/solve.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 12 | use crate::reductions::optimistic_reductions; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `signal_hook::consts::SIGTERM` [INFO] [stdout] --> src/solve.rs:15:5 [INFO] [stdout] | [INFO] [stdout] 15 | use signal_hook::consts::SIGTERM; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `signal_hook::iterator::Signals` [INFO] [stdout] --> src/solve.rs:16:5 [INFO] [stdout] | [INFO] [stdout] 16 | use signal_hook::iterator::Signals; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::thread` [INFO] [stdout] --> src/solve.rs:17:5 [INFO] [stdout] | [INFO] [stdout] 17 | use std::thread; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::path::Path` [INFO] [stdout] --> src/strategies/small_width.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use std::path::Path; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/strategies/small_width.rs:38:5 [INFO] [stdout] | [INFO] [stdout] 38 | /// TODO: solve using DP [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 39 | Status::Stop [INFO] [stdout] | ------------ rustdoc does not generate documentation for expressions [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] = note: `#[warn(unused_doc_comments)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `EdgeIdx` [INFO] [stdout] --> src/lp_solver.rs:1:23 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::instance::{EdgeIdx, Instance, NodeIdx}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/lp_solver.rs:20:8 [INFO] [stdout] | [INFO] [stdout] 20 | if (instance.num_nodes() == 0 || instance.num_edges() == 0) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 20 - if (instance.num_nodes() == 0 || instance.num_edges() == 0) { [INFO] [stdout] 20 + if instance.num_nodes() == 0 || instance.num_edges() == 0 { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/lp_solver.rs:110:8 [INFO] [stdout] | [INFO] [stdout] 110 | if (instance.num_nodes() == 0 || instance.num_edges() == 0) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 110 - if (instance.num_nodes() == 0 || instance.num_edges() == 0) { [INFO] [stdout] 110 + if instance.num_nodes() == 0 || instance.num_edges() == 0 { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `max` [INFO] [stdout] --> src/analysis/utils.rs:4:16 [INFO] [stdout] | [INFO] [stdout] 4 | use std::cmp::{max, max_by_key}; [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `BTreeMap` and `HashMap` [INFO] [stdout] --> src/analysis/utils.rs:5:24 [INFO] [stdout] | [INFO] [stdout] 5 | use std::collections::{BTreeMap, HashMap}; [INFO] [stdout] | ^^^^^^^^ ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::path::PathBuf` [INFO] [stdout] --> src/analysis/utils.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use std::path::PathBuf; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around pattern [INFO] [stdout] --> src/analysis/utils.rs:19:20 [INFO] [stdout] | [INFO] [stdout] 19 | .chunk_by(|(deg)| *deg) [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 19 - .chunk_by(|(deg)| *deg) [INFO] [stdout] 19 + .chunk_by(|deg | *deg) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Instance` [INFO] [stdout] --> src/hs_instance.rs:4:78 [INFO] [stdout] | [INFO] [stdout] 4 | AnalysisInstance, CompressedIlpName, EdgeIdx, EntryIdx, GeneralInstance, Instance, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `NodeIdx` and `utils::select_vertex_node_degree` [INFO] [stdout] --> src/main.rs:3:34 [INFO] [stdout] | [INFO] [stdout] 3 | ...e, NodeIdx}, reductions::calc_greedy_approximation, report::{IlpReductionReport, ReductionStats, Report, RuntimeStats}, utils::select_vertex_node_degree}; [INFO] [stdout] | ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `env_logger::init` [INFO] [stdout] --> src/main.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use env_logger::init; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::ffi::OsString` [INFO] [stdout] --> src/main.rs:14:5 [INFO] [stdout] | [INFO] [stdout] 14 | use std::ffi::OsString; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::report::GreedyMode` [INFO] [stdout] --> src/main.rs:18:5 [INFO] [stdout] | [INFO] [stdout] 18 | use crate::report::GreedyMode; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `AnalysisInstance` and `create_idx_struct` [INFO] [stdout] --> src/ds_instance.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | create_idx_struct, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 5 | instance::{GeneralInstance, AnalysisInstance, NodeIdx, EdgeIdx, EntryIdx}, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `anyhow` and `ensure` [INFO] [stdout] --> src/ds_instance.rs:7:14 [INFO] [stdout] | [INFO] [stdout] 7 | use anyhow::{anyhow, ensure, Result}; [INFO] [stdout] | ^^^^^^ ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Itertools` and `all` [INFO] [stdout] --> src/ds_instance.rs:8:17 [INFO] [stdout] | [INFO] [stdout] 8 | use itertools::{all, Itertools}; [INFO] [stdout] | ^^^ ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `debug`, `info`, and `trace` [INFO] [stdout] --> src/ds_instance.rs:9:11 [INFO] [stdout] | [INFO] [stdout] 9 | use log::{debug, info, trace}; [INFO] [stdout] | ^^^^^ ^^^^ ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `rustworkx_core::petgraph::algo::connected_components` [INFO] [stdout] --> src/ds_instance.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | use rustworkx_core::petgraph::algo::connected_components; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Edge` [INFO] [stdout] --> src/ds_instance.rs:12:39 [INFO] [stdout] | [INFO] [stdout] 12 | use rustworkx_core::petgraph::graph::{Edge, UnGraph}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `rustworkx_core::planar::is_planar` [INFO] [stdout] --> src/ds_instance.rs:14:5 [INFO] [stdout] | [INFO] [stdout] 14 | use rustworkx_core::planar::is_planar; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `serde::Deserialize` [INFO] [stdout] --> src/ds_instance.rs:15:5 [INFO] [stdout] | [INFO] [stdout] 15 | use serde::Deserialize; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::cmp::PartialEq` [INFO] [stdout] --> src/ds_instance.rs:17:5 [INFO] [stdout] | [INFO] [stdout] 17 | use std::cmp::PartialEq; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections::VecDeque` [INFO] [stdout] --> src/ds_instance.rs:18:5 [INFO] [stdout] | [INFO] [stdout] 18 | use std::collections::VecDeque; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Display`, `mem`, `self`, and `time::Instant` [INFO] [stdout] --> src/ds_instance.rs:20:11 [INFO] [stdout] | [INFO] [stdout] 20 | fmt::{self, Display, Write as _}, [INFO] [stdout] | ^^^^ ^^^^^^^ [INFO] [stdout] 21 | io::{BufRead, Write}, [INFO] [stdout] 22 | mem, [INFO] [stdout] | ^^^ [INFO] [stdout] 23 | time::Instant, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::info` [INFO] [stdout] --> src/data_structures/cont_idx_vec.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::info; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `serde::Deserialize` [INFO] [stdout] --> src/instance.rs:14:5 [INFO] [stdout] | [INFO] [stdout] 14 | use serde::Deserialize; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/instance.rs:96:37 [INFO] [stdout] | [INFO] [stdout] 96 | single_component &= (*dist < self.num_nodes()); [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 96 - single_component &= (*dist < self.num_nodes()); [INFO] [stdout] 96 + single_component &= *dist < self.num_nodes() ; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/instance.rs:97:42 [INFO] [stdout] | [INFO] [stdout] 97 | allowed_vertices[vert] = (*dist < self.num_nodes()); [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 97 - allowed_vertices[vert] = (*dist < self.num_nodes()); [INFO] [stdout] 97 + allowed_vertices[vert] = *dist < self.num_nodes() ; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/instance.rs:98:34 [INFO] [stdout] | [INFO] [stdout] 98 | visited[vert] |= (*dist < self.num_nodes()); [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 98 - visited[vert] |= (*dist < self.num_nodes()); [INFO] [stdout] 98 + visited[vert] |= *dist < self.num_nodes() ; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/reductions.rs:600:16 [INFO] [stdout] | [INFO] [stdout] 600 | if (depth == 0){ [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 600 - if (depth == 0){ [INFO] [stdout] 600 + if depth == 0 { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `EdgeIdx`, `IdxHashSet`, `InstanceType`, `ReductionResult`, `SmallIdx`, `UpperBoundImprovement`, and `select_vertex` [INFO] [stdout] --> src/solve.rs:2:35 [INFO] [stdout] | [INFO] [stdout] 2 | instance::{Instance, NodeIdx, EdgeIdx, InstanceType}, [INFO] [stdout] | ^^^^^^^ ^^^^^^^^^^^^ [INFO] [stdout] 3 | reductions::{self, ReductionResult}, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 4 | report::{ReductionStats, Report, RuntimeStats, Settings, UpperBoundImprovement}, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 5 | small_indices::{IdxHashSet, SmallIdx}, [INFO] [stdout] | ^^^^^^^^^^ ^^^^^^^^ [INFO] [stdout] 6 | utils::{is_hitting_set, select_vertex}, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `trace` and `warn` [INFO] [stdout] --> src/solve.rs:10:24 [INFO] [stdout] | [INFO] [stdout] 10 | use log::{debug, info, trace, warn}; [INFO] [stdout] | ^^^^^ ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::reductions::optimistic_reductions` [INFO] [stdout] --> src/solve.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 12 | use crate::reductions::optimistic_reductions; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `signal_hook::consts::SIGTERM` [INFO] [stdout] --> src/solve.rs:15:5 [INFO] [stdout] | [INFO] [stdout] 15 | use signal_hook::consts::SIGTERM; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `signal_hook::iterator::Signals` [INFO] [stdout] --> src/solve.rs:16:5 [INFO] [stdout] | [INFO] [stdout] 16 | use signal_hook::iterator::Signals; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::thread` [INFO] [stdout] --> src/solve.rs:17:5 [INFO] [stdout] | [INFO] [stdout] 17 | use std::thread; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::path::Path` [INFO] [stdout] --> src/strategies/small_width.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use std::path::Path; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/strategies/small_width.rs:38:5 [INFO] [stdout] | [INFO] [stdout] 38 | /// TODO: solve using DP [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 39 | Status::Stop [INFO] [stdout] | ------------ rustdoc does not generate documentation for expressions [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] = note: `#[warn(unused_doc_comments)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `EdgeIdx` [INFO] [stdout] --> src/lp_solver.rs:1:23 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::instance::{EdgeIdx, Instance, NodeIdx}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/lp_solver.rs:20:8 [INFO] [stdout] | [INFO] [stdout] 20 | if (instance.num_nodes() == 0 || instance.num_edges() == 0) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 20 - if (instance.num_nodes() == 0 || instance.num_edges() == 0) { [INFO] [stdout] 20 + if instance.num_nodes() == 0 || instance.num_edges() == 0 { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/lp_solver.rs:110:8 [INFO] [stdout] | [INFO] [stdout] 110 | if (instance.num_nodes() == 0 || instance.num_edges() == 0) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 110 - if (instance.num_nodes() == 0 || instance.num_edges() == 0) { [INFO] [stdout] 110 + if instance.num_nodes() == 0 || instance.num_edges() == 0 { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `max` [INFO] [stdout] --> src/analysis/utils.rs:4:16 [INFO] [stdout] | [INFO] [stdout] 4 | use std::cmp::{max, max_by_key}; [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `BTreeMap` and `HashMap` [INFO] [stdout] --> src/analysis/utils.rs:5:24 [INFO] [stdout] | [INFO] [stdout] 5 | use std::collections::{BTreeMap, HashMap}; [INFO] [stdout] | ^^^^^^^^ ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::path::PathBuf` [INFO] [stdout] --> src/analysis/utils.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use std::path::PathBuf; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around pattern [INFO] [stdout] --> src/analysis/utils.rs:19:20 [INFO] [stdout] | [INFO] [stdout] 19 | .chunk_by(|(deg)| *deg) [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 19 - .chunk_by(|(deg)| *deg) [INFO] [stdout] 19 + .chunk_by(|deg | *deg) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Instance` [INFO] [stdout] --> src/hs_instance.rs:4:78 [INFO] [stdout] | [INFO] [stdout] 4 | AnalysisInstance, CompressedIlpName, EdgeIdx, EntryIdx, GeneralInstance, Instance, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Write` [INFO] [stdout] --> src/ds_instance.rs:20:26 [INFO] [stdout] | [INFO] [stdout] 20 | fmt::{self, Display, Write as _}, [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `edge` [INFO] [stdout] --> src/ds_instance.rs:58:27 [INFO] [stdout] | [INFO] [stdout] 58 | fn simple_edge(&self, edge: EdgeIdx) -> (NodeIdx, NodeIdx) { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_edge` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `reader` [INFO] [stdout] --> src/ds_instance.rs:116:25 [INFO] [stdout] | [INFO] [stdout] 116 | fn load_from_buffer(reader: impl BufRead) -> Result { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_reader` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `new_nodes` [INFO] [stdout] --> src/ds_instance.rs:120:32 [INFO] [stdout] | [INFO] [stdout] 120 | fn partial_instance(&self, new_nodes: &Vec) -> Self [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_new_nodes` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `node_idx` [INFO] [stdout] --> src/ds_instance.rs:141:31 [INFO] [stdout] | [INFO] [stdout] 141 | fn delete_node(&mut self, node_idx: NodeIdx) { [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_node_idx` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `edge_idx` [INFO] [stdout] --> src/ds_instance.rs:145:31 [INFO] [stdout] | [INFO] [stdout] 145 | fn delete_edge(&mut self, edge_idx: EdgeIdx) { [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_edge_idx` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `node_idx` [INFO] [stdout] --> src/ds_instance.rs:149:32 [INFO] [stdout] | [INFO] [stdout] 149 | fn restore_node(&mut self, node_idx: NodeIdx) { [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_node_idx` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `edge_idx` [INFO] [stdout] --> src/ds_instance.rs:153:32 [INFO] [stdout] | [INFO] [stdout] 153 | fn restore_edge(&mut self, edge_idx: EdgeIdx) { [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_edge_idx` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `node` [INFO] [stdout] --> src/ds_instance.rs:157:31 [INFO] [stdout] | [INFO] [stdout] 157 | fn is_node_deleted(&self, node: NodeIdx) -> bool { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `writer` [INFO] [stdout] --> src/ds_instance.rs:161:29 [INFO] [stdout] | [INFO] [stdout] 161 | fn export_to_ilp(&self, writer: impl Write) -> Result<()> { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_writer` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `writer` [INFO] [stdout] --> src/ds_instance.rs:165:33 [INFO] [stdout] | [INFO] [stdout] 165 | fn export_to_max_sat(&self, writer: impl Write) -> Result<()> { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_writer` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Write` [INFO] [stdout] --> src/ds_instance.rs:20:26 [INFO] [stdout] | [INFO] [stdout] 20 | fmt::{self, Display, Write as _}, [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `edge` [INFO] [stdout] --> src/ds_instance.rs:58:27 [INFO] [stdout] | [INFO] [stdout] 58 | fn simple_edge(&self, edge: EdgeIdx) -> (NodeIdx, NodeIdx) { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_edge` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `reader` [INFO] [stdout] --> src/ds_instance.rs:116:25 [INFO] [stdout] | [INFO] [stdout] 116 | fn load_from_buffer(reader: impl BufRead) -> Result { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_reader` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `new_nodes` [INFO] [stdout] --> src/ds_instance.rs:120:32 [INFO] [stdout] | [INFO] [stdout] 120 | fn partial_instance(&self, new_nodes: &Vec) -> Self [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_new_nodes` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `node_idx` [INFO] [stdout] --> src/ds_instance.rs:141:31 [INFO] [stdout] | [INFO] [stdout] 141 | fn delete_node(&mut self, node_idx: NodeIdx) { [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_node_idx` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `edge_idx` [INFO] [stdout] --> src/ds_instance.rs:145:31 [INFO] [stdout] | [INFO] [stdout] 145 | fn delete_edge(&mut self, edge_idx: EdgeIdx) { [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_edge_idx` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `node_idx` [INFO] [stdout] --> src/ds_instance.rs:149:32 [INFO] [stdout] | [INFO] [stdout] 149 | fn restore_node(&mut self, node_idx: NodeIdx) { [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_node_idx` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `edge_idx` [INFO] [stdout] --> src/ds_instance.rs:153:32 [INFO] [stdout] | [INFO] [stdout] 153 | fn restore_edge(&mut self, edge_idx: EdgeIdx) { [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_edge_idx` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `node` [INFO] [stdout] --> src/ds_instance.rs:157:31 [INFO] [stdout] | [INFO] [stdout] 157 | fn is_node_deleted(&self, node: NodeIdx) -> bool { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `writer` [INFO] [stdout] --> src/ds_instance.rs:161:29 [INFO] [stdout] | [INFO] [stdout] 161 | fn export_to_ilp(&self, writer: impl Write) -> Result<()> { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_writer` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `writer` [INFO] [stdout] --> src/ds_instance.rs:165:33 [INFO] [stdout] | [INFO] [stdout] 165 | fn export_to_max_sat(&self, writer: impl Write) -> Result<()> { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_writer` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `copied_vertices` [INFO] [stdout] --> src/instance.rs:322:36 [INFO] [stdout] | [INFO] [stdout] 322 | pub fn partial_instance(&self, copied_vertices: Vec) -> (Self, Vec<(NodeIdx, NodeIdx)>) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_copied_vertices` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `copied_vertices` [INFO] [stdout] --> src/instance.rs:322:36 [INFO] [stdout] | [INFO] [stdout] 322 | pub fn partial_instance(&self, copied_vertices: Vec) -> (Self, Vec<(NodeIdx, NodeIdx)>) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_copied_vertices` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `state` [INFO] [stdout] --> src/reductions.rs:85:5 [INFO] [stdout] | [INFO] [stdout] 85 | state: &mut State, [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_state` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `lp_bound` [INFO] [stdout] --> src/reductions.rs:107:14 [INFO] [stdout] | [INFO] [stdout] 107 | let (lp_bound, vertex_importance_lp) = lp_solver::solve_lp(&instance); [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_lp_bound` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/reductions.rs:488:19 [INFO] [stdout] | [INFO] [stdout] 488 | if let Ok(mut min_hs_guard) = state.minimum_hs.lock() { [INFO] [stdout] | ----^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/reductions.rs:499:19 [INFO] [stdout] | [INFO] [stdout] 499 | if let Ok(mut min_hs_guard) = state.minimum_hs.lock() { [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/reductions.rs:511:23 [INFO] [stdout] | [INFO] [stdout] 511 | if let Ok(mut min_hs_guard) = state.minimum_hs.lock() { [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/reductions.rs:523:19 [INFO] [stdout] | [INFO] [stdout] 523 | if let Ok(mut min_hs_guard) = state.minimum_hs.lock() { [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/reductions.rs:524:17 [INFO] [stdout] | [INFO] [stdout] 524 | let mut lower_bound_breakpoint = min_hs_guard.len() - state.partial_hs.len(); [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/reductions.rs:688:23 [INFO] [stdout] | [INFO] [stdout] 688 | if let Ok(mut min_hs_guard) = state.minimum_hs.lock() { [INFO] [stdout] | ----^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `lower_bound_breakpoint` [INFO] [stdout] --> src/reductions.rs:524:17 [INFO] [stdout] | [INFO] [stdout] 524 | let mut lower_bound_breakpoint = min_hs_guard.len() - state.partial_hs.len(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_lower_bound_breakpoint` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `state` [INFO] [stdout] --> src/reductions.rs:85:5 [INFO] [stdout] | [INFO] [stdout] 85 | state: &mut State, [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_state` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `lp_bound` [INFO] [stdout] --> src/reductions.rs:107:14 [INFO] [stdout] | [INFO] [stdout] 107 | let (lp_bound, vertex_importance_lp) = lp_solver::solve_lp(&instance); [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_lp_bound` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/reductions.rs:488:19 [INFO] [stdout] | [INFO] [stdout] 488 | if let Ok(mut min_hs_guard) = state.minimum_hs.lock() { [INFO] [stdout] | ----^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/reductions.rs:499:19 [INFO] [stdout] | [INFO] [stdout] 499 | if let Ok(mut min_hs_guard) = state.minimum_hs.lock() { [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/reductions.rs:511:23 [INFO] [stdout] | [INFO] [stdout] 511 | if let Ok(mut min_hs_guard) = state.minimum_hs.lock() { [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/reductions.rs:523:19 [INFO] [stdout] | [INFO] [stdout] 523 | if let Ok(mut min_hs_guard) = state.minimum_hs.lock() { [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/reductions.rs:524:17 [INFO] [stdout] | [INFO] [stdout] 524 | let mut lower_bound_breakpoint = min_hs_guard.len() - state.partial_hs.len(); [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/reductions.rs:688:23 [INFO] [stdout] | [INFO] [stdout] 688 | if let Ok(mut min_hs_guard) = state.minimum_hs.lock() { [INFO] [stdout] | ----^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `lower_bound_breakpoint` [INFO] [stdout] --> src/reductions.rs:524:17 [INFO] [stdout] | [INFO] [stdout] 524 | let mut lower_bound_breakpoint = min_hs_guard.len() - state.partial_hs.len(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_lower_bound_breakpoint` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/solve.rs:47:5 [INFO] [stdout] | [INFO] [stdout] 47 | mut report: Report, [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/solve.rs:69:9 [INFO] [stdout] | [INFO] [stdout] 69 | let mut hard_instance : bool = instance.is_hard_instance(); [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/solve.rs:122:9 [INFO] [stdout] | [INFO] [stdout] 122 | let mut min_hs = state.minimum_hs.lock().unwrap().clone(); [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `report` [INFO] [stdout] --> src/solve.rs:47:5 [INFO] [stdout] | [INFO] [stdout] 47 | mut report: Report, [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_report` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `hard_instance` [INFO] [stdout] --> src/solve.rs:69:9 [INFO] [stdout] | [INFO] [stdout] 69 | let mut hard_instance : bool = instance.is_hard_instance(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_hard_instance` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `global_lower_bound` is assigned to, but never used [INFO] [stdout] --> src/solve.rs:74:9 [INFO] [stdout] | [INFO] [stdout] 74 | let mut global_lower_bound = 0; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: consider using `_global_lower_bound` instead [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `global_lower_bound` is never read [INFO] [stdout] --> src/solve.rs:83:9 [INFO] [stdout] | [INFO] [stdout] 83 | global_lower_bound = lp_bound; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `instance` [INFO] [stdout] --> src/strategies/decomposition.rs:5:28 [INFO] [stdout] | [INFO] [stdout] 5 | fn solve_via_decomposition(instance: &Instance) -> Status { [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_instance` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `instance` [INFO] [stdout] --> src/strategies/planar.rs:5:17 [INFO] [stdout] | [INFO] [stdout] 5 | fn solve_planar(instance: &Instance) -> Status { [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_instance` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `nice_tree_root` [INFO] [stdout] --> src/strategies/small_width.rs:37:9 [INFO] [stdout] | [INFO] [stdout] 37 | let nice_tree_root = compute_nice_tree_decomposition(instance); [INFO] [stdout] | ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_nice_tree_root` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `instance` [INFO] [stdout] --> src/strategies/small_width.rs:43:36 [INFO] [stdout] | [INFO] [stdout] 43 | fn compute_nice_tree_decomposition(instance: &Instance) -> Box { [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_instance` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `parent_bag` [INFO] [stdout] --> src/strategies/small_width.rs:194:38 [INFO] [stdout] | [INFO] [stdout] 194 | fn assign_node_types(node: &RawNode, parent_bag: Option<&Vec>) -> Box { [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_parent_bag` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/utils.rs:25:20 [INFO] [stdout] | [INFO] [stdout] 25 | let (lp_bound, mut vertex_importance_lp) = lp_solver::solve_lp(&instance); [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/utils.rs:27:9 [INFO] [stdout] | [INFO] [stdout] 27 | let mut degree_importance = instance [INFO] [stdout] | ----^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `lp_bound` [INFO] [stdout] --> src/utils.rs:25:10 [INFO] [stdout] | [INFO] [stdout] 25 | let (lp_bound, mut vertex_importance_lp) = lp_solver::solve_lp(&instance); [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_lp_bound` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `degree_importance` [INFO] [stdout] --> src/utils.rs:27:9 [INFO] [stdout] | [INFO] [stdout] 27 | let mut degree_importance = instance [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_degree_importance` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `instance` [INFO] [stdout] --> src/analysis/utils.rs:25:22 [INFO] [stdout] | [INFO] [stdout] 25 | pub fn apx_treewidth(instance: &Instance) -> usize { [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_instance` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/solve.rs:47:5 [INFO] [stdout] | [INFO] [stdout] 47 | mut report: Report, [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/solve.rs:69:9 [INFO] [stdout] | [INFO] [stdout] 69 | let mut hard_instance : bool = instance.is_hard_instance(); [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/solve.rs:122:9 [INFO] [stdout] | [INFO] [stdout] 122 | let mut min_hs = state.minimum_hs.lock().unwrap().clone(); [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `report` [INFO] [stdout] --> src/solve.rs:47:5 [INFO] [stdout] | [INFO] [stdout] 47 | mut report: Report, [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_report` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `hard_instance` [INFO] [stdout] --> src/solve.rs:69:9 [INFO] [stdout] | [INFO] [stdout] 69 | let mut hard_instance : bool = instance.is_hard_instance(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_hard_instance` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `global_lower_bound` is assigned to, but never used [INFO] [stdout] --> src/solve.rs:74:9 [INFO] [stdout] | [INFO] [stdout] 74 | let mut global_lower_bound = 0; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: consider using `_global_lower_bound` instead [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `global_lower_bound` is never read [INFO] [stdout] --> src/solve.rs:83:9 [INFO] [stdout] | [INFO] [stdout] 83 | global_lower_bound = lp_bound; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `instance` [INFO] [stdout] --> src/strategies/decomposition.rs:5:28 [INFO] [stdout] | [INFO] [stdout] 5 | fn solve_via_decomposition(instance: &Instance) -> Status { [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_instance` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `instance` [INFO] [stdout] --> src/strategies/planar.rs:5:17 [INFO] [stdout] | [INFO] [stdout] 5 | fn solve_planar(instance: &Instance) -> Status { [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_instance` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `nice_tree_root` [INFO] [stdout] --> src/strategies/small_width.rs:37:9 [INFO] [stdout] | [INFO] [stdout] 37 | let nice_tree_root = compute_nice_tree_decomposition(instance); [INFO] [stdout] | ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_nice_tree_root` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `instance` [INFO] [stdout] --> src/strategies/small_width.rs:43:36 [INFO] [stdout] | [INFO] [stdout] 43 | fn compute_nice_tree_decomposition(instance: &Instance) -> Box { [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_instance` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `parent_bag` [INFO] [stdout] --> src/strategies/small_width.rs:194:38 [INFO] [stdout] | [INFO] [stdout] 194 | fn assign_node_types(node: &RawNode, parent_bag: Option<&Vec>) -> Box { [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_parent_bag` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/utils.rs:25:20 [INFO] [stdout] | [INFO] [stdout] 25 | let (lp_bound, mut vertex_importance_lp) = lp_solver::solve_lp(&instance); [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/utils.rs:27:9 [INFO] [stdout] | [INFO] [stdout] 27 | let mut degree_importance = instance [INFO] [stdout] | ----^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `lp_bound` [INFO] [stdout] --> src/utils.rs:25:10 [INFO] [stdout] | [INFO] [stdout] 25 | let (lp_bound, mut vertex_importance_lp) = lp_solver::solve_lp(&instance); [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_lp_bound` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/hs_instance.rs:215:13 [INFO] [stdout] | [INFO] [stdout] 215 | let mut old_nodes_mapping = new_nodes [INFO] [stdout] | ----^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `degree_importance` [INFO] [stdout] --> src/utils.rs:27:9 [INFO] [stdout] | [INFO] [stdout] 27 | let mut degree_importance = instance [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_degree_importance` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `new_nodes` [INFO] [stdout] --> src/hs_instance.rs:347:32 [INFO] [stdout] | [INFO] [stdout] 347 | fn partial_instance(&self, new_nodes: &Vec) -> Self { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_new_nodes` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `instance` [INFO] [stdout] --> src/analysis/utils.rs:25:22 [INFO] [stdout] | [INFO] [stdout] 25 | pub fn apx_treewidth(instance: &Instance) -> usize { [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_instance` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:199:9 [INFO] [stdout] | [INFO] [stdout] 199 | let mut instance = opts.common.load_instance()?; [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:227:9 [INFO] [stdout] | [INFO] [stdout] 227 | let mut hard_instance : bool = instance.is_hard_instance(); [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:232:9 [INFO] [stdout] | [INFO] [stdout] 232 | let mut initial_hs = Vec::new(); [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:233:9 [INFO] [stdout] | [INFO] [stdout] 233 | let mut global_lower_bound = 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:235:9 [INFO] [stdout] | [INFO] [stdout] 235 | let mut state = State { [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:260:9 [INFO] [stdout] | [INFO] [stdout] 260 | let mut initial_hs = calc_greedy_approximation(&instance); [INFO] [stdout] | ----^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `use_first_lp` [INFO] [stdout] --> src/main.rs:211:9 [INFO] [stdout] | [INFO] [stdout] 211 | let use_first_lp = settings.lp_guided; [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_use_first_lp` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `hard_instance` [INFO] [stdout] --> src/main.rs:227:9 [INFO] [stdout] | [INFO] [stdout] 227 | let mut hard_instance : bool = instance.is_hard_instance(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_hard_instance` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/hs_instance.rs:215:13 [INFO] [stdout] | [INFO] [stdout] 215 | let mut old_nodes_mapping = new_nodes [INFO] [stdout] | ----^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `new_nodes` [INFO] [stdout] --> src/hs_instance.rs:347:32 [INFO] [stdout] | [INFO] [stdout] 347 | fn partial_instance(&self, new_nodes: &Vec) -> Self { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_new_nodes` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `json` is never read [INFO] [stdout] --> src/main.rs:82:5 [INFO] [stdout] | [INFO] [stdout] 75 | struct CommonOpts { [INFO] [stdout] | ---------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 82 | json: bool, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `CommonOpts` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `hardcoded_solve_opts` is never used [INFO] [stdout] --> src/main.rs:173:8 [INFO] [stdout] | [INFO] [stdout] 163 | impl SolveOpts { [INFO] [stdout] | -------------- associated function in this implementation [INFO] [stdout] ... [INFO] [stdout] 173 | fn hardcoded_solve_opts() -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `InstanceType` is never used [INFO] [stdout] --> src/ds_instance.rs:28:10 [INFO] [stdout] | [INFO] [stdout] 28 | pub enum InstanceType { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `GraphInstanceX` is never constructed [INFO] [stdout] --> src/ds_instance.rs:38:12 [INFO] [stdout] | [INFO] [stdout] 38 | pub struct GraphInstanceX { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/ds_instance.rs:45:12 [INFO] [stdout] | [INFO] [stdout] 43 | impl GraphInstanceX { [INFO] [stdout] | ------------------- associated items in this implementation [INFO] [stdout] 44 | /// Alive nodes in the instance, in arbitrary order. [INFO] [stdout] 45 | pub fn nodes(&self) -> &[NodeIdx] { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 50 | pub fn edges(&self) -> &[EdgeIdx] { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 54 | pub fn is_planar(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 58 | fn simple_edge(&self, edge: EdgeIdx) -> (NodeIdx, NodeIdx) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 63 | pub fn into_petgraph(&self) -> UnGraph { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 75 | fn from_petgraph(petgraph: &Graph) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 104 | pub fn to_graphviz(&self) -> String { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `GeneralInstance` is never used [INFO] [stdout] --> src/instance.rs:56:11 [INFO] [stdout] | [INFO] [stdout] 56 | pub trait GeneralInstance { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `AnalysisInstance` is never used [INFO] [stdout] --> src/instance.rs:167:11 [INFO] [stdout] | [INFO] [stdout] 167 | pub trait AnalysisInstance { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/instance.rs:322:12 [INFO] [stdout] | [INFO] [stdout] 212 | impl Instance { [INFO] [stdout] | ------------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 322 | pub fn partial_instance(&self, copied_vertices: Vec) -> (Self, Vec<(NodeIdx, NodeIdx)>) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 405 | pub fn is_simple(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 429 | pub fn adjacent_nodes(&self, node: NodeIdx) -> impl Iterator + Clone + '_ { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 436 | pub fn adjacent_edges(&self, edge: EdgeIdx) -> impl Iterator + Clone + '_ { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 467 | pub fn is_node_deleted(&self, node: NodeIdx) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 629 | pub fn show_stats(&self) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 665 | pub fn export_to_max_sat(&self, mut writer: impl Write) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 814 | pub fn get_dist_matrix(&self) -> Vec> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 836 | fn from_petgraph(petgraph: &Graph) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 876 | pub fn is_planar(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 880 | pub fn decompose_connected_components(&self) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 885 | pub fn decompose_bridges(&self) -> (Vec, Vec) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 889 | pub fn decompose_cut(&self) -> (Vec, Vec) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `RootBounds` is never constructed [INFO] [stdout] --> src/report.rs:113:12 [INFO] [stdout] | [INFO] [stdout] 113 | pub struct RootBounds { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `last_log_time` and `global_lower_bound` are never read [INFO] [stdout] --> src/solve.rs:25:9 [INFO] [stdout] | [INFO] [stdout] 21 | pub struct State { [INFO] [stdout] | ----- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 25 | pub last_log_time: Instant, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 26 | pub global_lower_bound: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `State` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve_via_decomposition` is never used [INFO] [stdout] --> src/strategies/decomposition.rs:5:4 [INFO] [stdout] | [INFO] [stdout] 5 | fn solve_via_decomposition(instance: &Instance) -> Status { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve_planar` is never used [INFO] [stdout] --> src/strategies/planar.rs:5:4 [INFO] [stdout] | [INFO] [stdout] 5 | fn solve_planar(instance: &Instance) -> Status { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `TreeDecomposition` is never constructed [INFO] [stdout] --> src/strategies/small_width.rs:9:8 [INFO] [stdout] | [INFO] [stdout] 9 | struct TreeDecomposition { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `NiceTreeNode` is never used [INFO] [stdout] --> src/strategies/small_width.rs:18:6 [INFO] [stdout] | [INFO] [stdout] 18 | enum NiceTreeNode { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `RawNode` is never constructed [INFO] [stdout] --> src/strategies/small_width.rs:27:8 [INFO] [stdout] | [INFO] [stdout] 27 | struct RawNode { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve_via_treewidth` is never used [INFO] [stdout] --> src/strategies/small_width.rs:35:4 [INFO] [stdout] | [INFO] [stdout] 35 | fn solve_via_treewidth(instance: &Instance) -> Status { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `compute_nice_tree_decomposition` is never used [INFO] [stdout] --> src/strategies/small_width.rs:43:4 [INFO] [stdout] | [INFO] [stdout] 43 | fn compute_nice_tree_decomposition(instance: &Instance) -> Box { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_resulting_td_file` is never used [INFO] [stdout] --> src/strategies/small_width.rs:52:4 [INFO] [stdout] | [INFO] [stdout] 52 | fn parse_resulting_td_file(file_path: &str) -> io::Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `build_raw_tree` is never used [INFO] [stdout] --> src/strategies/small_width.rs:153:4 [INFO] [stdout] | [INFO] [stdout] 153 | fn build_raw_tree(td: &TreeDecomposition, root_id: usize) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `assign_node_types` is never used [INFO] [stdout] --> src/strategies/small_width.rs:194:4 [INFO] [stdout] | [INFO] [stdout] 194 | fn assign_node_types(node: &RawNode, parent_bag: Option<&Vec>) -> Box { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `select_vertex_node_degree` is never used [INFO] [stdout] --> src/utils.rs:36:8 [INFO] [stdout] | [INFO] [stdout] 36 | pub fn select_vertex_node_degree(instance: &Instance) -> NodeIdx { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `apx_treewidth` is never used [INFO] [stdout] --> src/analysis/utils.rs:25:8 [INFO] [stdout] | [INFO] [stdout] 25 | pub fn apx_treewidth(instance: &Instance) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `centrality_distribution` is never used [INFO] [stdout] --> src/analysis/utils.rs:62:8 [INFO] [stdout] | [INFO] [stdout] 62 | pub fn centrality_distribution(instance: &Instance) -> Vec<(usize, usize)> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `pet_functionality` is never used [INFO] [stdout] --> src/analysis/utils.rs:92:8 [INFO] [stdout] | [INFO] [stdout] 92 | pub fn pet_functionality(g: UnGraph) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ParsedEdgeHandler` is never constructed [INFO] [stdout] --> src/hs_instance.rs:16:8 [INFO] [stdout] | [INFO] [stdout] 16 | struct ParsedEdgeHandler { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `handle_edge` is never used [INFO] [stdout] --> src/hs_instance.rs:22:8 [INFO] [stdout] | [INFO] [stdout] 21 | impl ParsedEdgeHandler { [INFO] [stdout] | ---------------------- method in this implementation [INFO] [stdout] 22 | fn handle_edge(&mut self, node_indices: impl IntoIterator>) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `HGRInstanceX` is never constructed [INFO] [stdout] --> src/hs_instance.rs:43:12 [INFO] [stdout] | [INFO] [stdout] 43 | pub struct HGRInstanceX { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/hs_instance.rs:51:8 [INFO] [stdout] | [INFO] [stdout] 50 | impl HGRInstanceX { [INFO] [stdout] | ----------------- associated items in this implementation [INFO] [stdout] 51 | fn build_instance( [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 91 | pub fn edges(&self) -> &[EdgeIdx] { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 96 | pub fn incident_edges( [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 106 | pub fn incident_nodes( [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 115 | pub fn num_edges(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 119 | pub fn num_nodes_total(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 123 | pub fn num_edges_total(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 127 | pub fn node_degree(&self, node: NodeIdx) -> usize { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 131 | pub fn edge_degree(&self, edge: crate::instance::EdgeIdx) -> usize { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 135 | pub fn adjacent_edges(&self, edge: EdgeIdx) -> impl Iterator + Clone + '_ { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 145 | pub fn delete_incident_edges(&mut self, node: crate::instance::NodeIdx) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 170 | pub fn restore_incident_edges(&mut self, node: crate::instance::NodeIdx) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 188 | fn partial_instance( [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:199:9 [INFO] [stdout] | [INFO] [stdout] 199 | let mut instance = opts.common.load_instance()?; [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:227:9 [INFO] [stdout] | [INFO] [stdout] 227 | let mut hard_instance : bool = instance.is_hard_instance(); [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:232:9 [INFO] [stdout] | [INFO] [stdout] 232 | let mut initial_hs = Vec::new(); [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:233:9 [INFO] [stdout] | [INFO] [stdout] 233 | let mut global_lower_bound = 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:235:9 [INFO] [stdout] | [INFO] [stdout] 235 | let mut state = State { [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:260:9 [INFO] [stdout] | [INFO] [stdout] 260 | let mut initial_hs = calc_greedy_approximation(&instance); [INFO] [stdout] | ----^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `use_first_lp` [INFO] [stdout] --> src/main.rs:211:9 [INFO] [stdout] | [INFO] [stdout] 211 | let use_first_lp = settings.lp_guided; [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_use_first_lp` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `hard_instance` [INFO] [stdout] --> src/main.rs:227:9 [INFO] [stdout] | [INFO] [stdout] 227 | let mut hard_instance : bool = instance.is_hard_instance(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_hard_instance` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `json` is never read [INFO] [stdout] --> src/main.rs:82:5 [INFO] [stdout] | [INFO] [stdout] 75 | struct CommonOpts { [INFO] [stdout] | ---------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 82 | json: bool, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `CommonOpts` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `hardcoded_solve_opts` is never used [INFO] [stdout] --> src/main.rs:173:8 [INFO] [stdout] | [INFO] [stdout] 163 | impl SolveOpts { [INFO] [stdout] | -------------- associated function in this implementation [INFO] [stdout] ... [INFO] [stdout] 173 | fn hardcoded_solve_opts() -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `InstanceType` is never used [INFO] [stdout] --> src/ds_instance.rs:28:10 [INFO] [stdout] | [INFO] [stdout] 28 | pub enum InstanceType { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `GraphInstanceX` is never constructed [INFO] [stdout] --> src/ds_instance.rs:38:12 [INFO] [stdout] | [INFO] [stdout] 38 | pub struct GraphInstanceX { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/ds_instance.rs:45:12 [INFO] [stdout] | [INFO] [stdout] 43 | impl GraphInstanceX { [INFO] [stdout] | ------------------- associated items in this implementation [INFO] [stdout] 44 | /// Alive nodes in the instance, in arbitrary order. [INFO] [stdout] 45 | pub fn nodes(&self) -> &[NodeIdx] { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 50 | pub fn edges(&self) -> &[EdgeIdx] { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 54 | pub fn is_planar(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 58 | fn simple_edge(&self, edge: EdgeIdx) -> (NodeIdx, NodeIdx) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 63 | pub fn into_petgraph(&self) -> UnGraph { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 75 | fn from_petgraph(petgraph: &Graph) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 104 | pub fn to_graphviz(&self) -> String { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `GeneralInstance` is never used [INFO] [stdout] --> src/instance.rs:56:11 [INFO] [stdout] | [INFO] [stdout] 56 | pub trait GeneralInstance { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `AnalysisInstance` is never used [INFO] [stdout] --> src/instance.rs:167:11 [INFO] [stdout] | [INFO] [stdout] 167 | pub trait AnalysisInstance { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/instance.rs:322:12 [INFO] [stdout] | [INFO] [stdout] 212 | impl Instance { [INFO] [stdout] | ------------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 322 | pub fn partial_instance(&self, copied_vertices: Vec) -> (Self, Vec<(NodeIdx, NodeIdx)>) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 405 | pub fn is_simple(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 429 | pub fn adjacent_nodes(&self, node: NodeIdx) -> impl Iterator + Clone + '_ { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 436 | pub fn adjacent_edges(&self, edge: EdgeIdx) -> impl Iterator + Clone + '_ { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 467 | pub fn is_node_deleted(&self, node: NodeIdx) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 629 | pub fn show_stats(&self) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 665 | pub fn export_to_max_sat(&self, mut writer: impl Write) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 814 | pub fn get_dist_matrix(&self) -> Vec> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 836 | fn from_petgraph(petgraph: &Graph) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 876 | pub fn is_planar(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 880 | pub fn decompose_connected_components(&self) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 885 | pub fn decompose_bridges(&self) -> (Vec, Vec) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 889 | pub fn decompose_cut(&self) -> (Vec, Vec) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `RootBounds` is never constructed [INFO] [stdout] --> src/report.rs:113:12 [INFO] [stdout] | [INFO] [stdout] 113 | pub struct RootBounds { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `last_log_time` and `global_lower_bound` are never read [INFO] [stdout] --> src/solve.rs:25:9 [INFO] [stdout] | [INFO] [stdout] 21 | pub struct State { [INFO] [stdout] | ----- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 25 | pub last_log_time: Instant, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 26 | pub global_lower_bound: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `State` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve_via_decomposition` is never used [INFO] [stdout] --> src/strategies/decomposition.rs:5:4 [INFO] [stdout] | [INFO] [stdout] 5 | fn solve_via_decomposition(instance: &Instance) -> Status { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve_planar` is never used [INFO] [stdout] --> src/strategies/planar.rs:5:4 [INFO] [stdout] | [INFO] [stdout] 5 | fn solve_planar(instance: &Instance) -> Status { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `TreeDecomposition` is never constructed [INFO] [stdout] --> src/strategies/small_width.rs:9:8 [INFO] [stdout] | [INFO] [stdout] 9 | struct TreeDecomposition { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `NiceTreeNode` is never used [INFO] [stdout] --> src/strategies/small_width.rs:18:6 [INFO] [stdout] | [INFO] [stdout] 18 | enum NiceTreeNode { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `RawNode` is never constructed [INFO] [stdout] --> src/strategies/small_width.rs:27:8 [INFO] [stdout] | [INFO] [stdout] 27 | struct RawNode { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve_via_treewidth` is never used [INFO] [stdout] --> src/strategies/small_width.rs:35:4 [INFO] [stdout] | [INFO] [stdout] 35 | fn solve_via_treewidth(instance: &Instance) -> Status { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `compute_nice_tree_decomposition` is never used [INFO] [stdout] --> src/strategies/small_width.rs:43:4 [INFO] [stdout] | [INFO] [stdout] 43 | fn compute_nice_tree_decomposition(instance: &Instance) -> Box { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_resulting_td_file` is never used [INFO] [stdout] --> src/strategies/small_width.rs:52:4 [INFO] [stdout] | [INFO] [stdout] 52 | fn parse_resulting_td_file(file_path: &str) -> io::Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `build_raw_tree` is never used [INFO] [stdout] --> src/strategies/small_width.rs:153:4 [INFO] [stdout] | [INFO] [stdout] 153 | fn build_raw_tree(td: &TreeDecomposition, root_id: usize) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `assign_node_types` is never used [INFO] [stdout] --> src/strategies/small_width.rs:194:4 [INFO] [stdout] | [INFO] [stdout] 194 | fn assign_node_types(node: &RawNode, parent_bag: Option<&Vec>) -> Box { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `select_vertex_node_degree` is never used [INFO] [stdout] --> src/utils.rs:36:8 [INFO] [stdout] | [INFO] [stdout] 36 | pub fn select_vertex_node_degree(instance: &Instance) -> NodeIdx { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `apx_treewidth` is never used [INFO] [stdout] --> src/analysis/utils.rs:25:8 [INFO] [stdout] | [INFO] [stdout] 25 | pub fn apx_treewidth(instance: &Instance) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `centrality_distribution` is never used [INFO] [stdout] --> src/analysis/utils.rs:62:8 [INFO] [stdout] | [INFO] [stdout] 62 | pub fn centrality_distribution(instance: &Instance) -> Vec<(usize, usize)> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `pet_functionality` is never used [INFO] [stdout] --> src/analysis/utils.rs:92:8 [INFO] [stdout] | [INFO] [stdout] 92 | pub fn pet_functionality(g: UnGraph) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ParsedEdgeHandler` is never constructed [INFO] [stdout] --> src/hs_instance.rs:16:8 [INFO] [stdout] | [INFO] [stdout] 16 | struct ParsedEdgeHandler { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `handle_edge` is never used [INFO] [stdout] --> src/hs_instance.rs:22:8 [INFO] [stdout] | [INFO] [stdout] 21 | impl ParsedEdgeHandler { [INFO] [stdout] | ---------------------- method in this implementation [INFO] [stdout] 22 | fn handle_edge(&mut self, node_indices: impl IntoIterator>) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `HGRInstanceX` is never constructed [INFO] [stdout] --> src/hs_instance.rs:43:12 [INFO] [stdout] | [INFO] [stdout] 43 | pub struct HGRInstanceX { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/hs_instance.rs:51:8 [INFO] [stdout] | [INFO] [stdout] 50 | impl HGRInstanceX { [INFO] [stdout] | ----------------- associated items in this implementation [INFO] [stdout] 51 | fn build_instance( [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 91 | pub fn edges(&self) -> &[EdgeIdx] { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 96 | pub fn incident_edges( [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 106 | pub fn incident_nodes( [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 115 | pub fn num_edges(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 119 | pub fn num_nodes_total(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 123 | pub fn num_edges_total(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 127 | pub fn node_degree(&self, node: NodeIdx) -> usize { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 131 | pub fn edge_degree(&self, edge: crate::instance::EdgeIdx) -> usize { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 135 | pub fn adjacent_edges(&self, edge: EdgeIdx) -> impl Iterator + Clone + '_ { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 145 | pub fn delete_incident_edges(&mut self, node: crate::instance::NodeIdx) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 170 | pub fn restore_incident_edges(&mut self, node: crate::instance::NodeIdx) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 188 | fn partial_instance( [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 27.60s [INFO] running `Command { std: "docker" "inspect" "a87b5f882b1db834d54a2bb555603fc74e0a9b4582f87956c26cff06aee580e6", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "a87b5f882b1db834d54a2bb555603fc74e0a9b4582f87956c26cff06aee580e6", kill_on_drop: false }` [INFO] [stdout] a87b5f882b1db834d54a2bb555603fc74e0a9b4582f87956c26cff06aee580e6