[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/9e210d7745b7cfe53ddfa96e3331d431fb92fc7a against master#64b72a1fa5449d928d5f553b01a596b78ee255d2 for pr-153457
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmariette03%2FHittingSetPace" "/workspace/builds/worker-3-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-3-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-3-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/mariette03/HittingSetPace on toolchain 64b72a1fa5449d928d5f553b01a596b78ee255d2
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+64b72a1fa5449d928d5f553b01a596b78ee255d2" "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" "+64b72a1fa5449d928d5f553b01a596b78ee255d2" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]     Blocking waiting for file lock on package cache
[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.3)
[INFO] [stderr]       Adding signal-hook-registry v1.4.8
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded glpk-sys v0.2.0
[INFO] [stderr]   Downloaded priority-queue v2.3.1
[INFO] [stderr]   Downloaded rustworkx-core v0.16.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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" "+64b72a1fa5449d928d5f553b01a596b78ee255d2" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] b67d0c45d95682c89b5792d82fcd5035ac1c91fdaeab0b7c45444d2110bca3a7
[INFO] running `Command { std: "docker" "start" "-a" "b67d0c45d95682c89b5792d82fcd5035ac1c91fdaeab0b7c45444d2110bca3a7", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "b67d0c45d95682c89b5792d82fcd5035ac1c91fdaeab0b7c45444d2110bca3a7", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "b67d0c45d95682c89b5792d82fcd5035ac1c91fdaeab0b7c45444d2110bca3a7", kill_on_drop: false }`
[INFO] [stdout] b67d0c45d95682c89b5792d82fcd5035ac1c91fdaeab0b7c45444d2110bca3a7
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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" "+64b72a1fa5449d928d5f553b01a596b78ee255d2" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] a3cf6fca30cd572ba39aec507c2b633f7c3030c81f07f1a7e79669c28384aa87
[INFO] running `Command { std: "docker" "start" "-a" "a3cf6fca30cd572ba39aec507c2b633f7c3030c81f07f1a7e79669c28384aa87", kill_on_drop: false }`
[INFO] [stderr]     Checking rayon v1.10.0
[INFO] [stderr]     Checking getrandom v0.2.15
[INFO] [stderr]    Compiling matrixmultiply v0.3.9
[INFO] [stderr]    Compiling syn v2.0.100
[INFO] [stderr]     Checking atty v0.2.14
[INFO] [stderr]     Checking regex-syntax v0.8.5
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]    Compiling proc-macro-error-attr v1.0.4
[INFO] [stderr]     Checking textwrap v0.11.0
[INFO] [stderr]    Compiling heck v0.3.3
[INFO] [stderr]     Checking itertools v0.11.0
[INFO] [stderr]     Checking errno v0.3.14
[INFO] [stderr]     Checking num-integer v0.1.46
[INFO] [stderr]     Checking num-complex v0.4.6
[INFO] [stderr]    Compiling glpk-sys v0.2.0
[INFO] [stderr]     Checking once_cell v1.21.3
[INFO] [stderr]    Compiling serde_json v1.0.140
[INFO] [stderr]     Checking fixedbitset v0.5.7
[INFO] [stderr]     Checking signal-hook-registry v1.4.8
[INFO] [stderr]     Checking clap v2.34.0
[INFO] [stderr]     Checking csv-core v0.1.12
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]     Checking ahash v0.8.11
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking rand_pcg v0.3.1
[INFO] [stderr]     Checking libc v0.1.12
[INFO] [stderr]     Checking log v0.4.27
[INFO] [stderr]     Checking itertools v0.14.0
[INFO] [stderr]     Checking signal-hook v0.3.18
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]     Checking regex-automata v0.4.9
[INFO] [stderr]    Compiling serde_derive v1.0.219
[INFO] [stderr]     Checking hashbrown v0.15.2
[INFO] [stderr]     Checking ndarray v0.16.1
[INFO] [stderr]     Checking rayon-cond v0.3.0
[INFO] [stderr]     Checking regex v1.11.1
[INFO] [stderr]     Checking indexmap v2.9.0
[INFO] [stderr]     Checking env_logger v0.9.3
[INFO] [stderr]     Checking serde v1.0.219
[INFO] [stderr]     Checking priority-queue v2.3.1
[INFO] [stderr]     Checking petgraph v0.7.1
[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 structopt v0.3.26
[INFO] [stderr]     Checking rustworkx-core v0.16.0
[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<Self> {
[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<bool>) -> 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<Self> {
[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<bool>) -> 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<bool>) -> (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<bool>) -> (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: 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/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<NiceTreeNode> {
[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: `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<usize>>) -> Box<NiceTreeNode> {
[INFO] [stdout]     |                                      ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_parent_bag`
[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<NiceTreeNode> {
[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/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: 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<usize>>) -> Box<NiceTreeNode> {
[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/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<bool>) -> Self {
[INFO] [stdout]     |                                ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_new_nodes`
[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<bool>) -> Self {
[INFO] [stdout]     |                                ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_new_nodes`
[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<u32, ()> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  75 |     fn from_petgraph(petgraph: &Graph<u32, ()>) -> 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<bool>) -> (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<Item = NodeIdx> + Clone + '_ {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 436 |     pub fn adjacent_edges(&self, edge: EdgeIdx) -> impl Iterator<Item = EdgeIdx> + 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<Vec<usize>> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 836 |     fn from_petgraph(petgraph: &Graph<u32, ()>) -> 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<Instance> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 885 |     pub fn decompose_bridges(&self) -> (Vec<EdgeIdx>, Vec<Instance>) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 889 |     pub fn decompose_cut(&self) -> (Vec<NodeIdx>, Vec<Instance>) {
[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<NiceTreeNode> {
[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<TreeDecomposition> {
[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<RawNode> {
[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<usize>>) -> Box<NiceTreeNode> {
[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<u32, ()>) {
[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<Item = Result<usize>>) -> 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<Item = EdgeIdx> + 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<u32, ()> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  75 |     fn from_petgraph(petgraph: &Graph<u32, ()>) -> 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<bool>) -> (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<Item = NodeIdx> + Clone + '_ {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 436 |     pub fn adjacent_edges(&self, edge: EdgeIdx) -> impl Iterator<Item = EdgeIdx> + 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<Vec<usize>> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 836 |     fn from_petgraph(petgraph: &Graph<u32, ()>) -> 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<Instance> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 885 |     pub fn decompose_bridges(&self) -> (Vec<EdgeIdx>, Vec<Instance>) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 889 |     pub fn decompose_cut(&self) -> (Vec<NodeIdx>, Vec<Instance>) {
[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<NiceTreeNode> {
[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<TreeDecomposition> {
[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<RawNode> {
[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<usize>>) -> Box<NiceTreeNode> {
[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<u32, ()>) {
[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<Item = Result<usize>>) -> 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<Item = EdgeIdx> + 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 26.48s
[INFO] running `Command { std: "docker" "inspect" "a3cf6fca30cd572ba39aec507c2b633f7c3030c81f07f1a7e79669c28384aa87", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "a3cf6fca30cd572ba39aec507c2b633f7c3030c81f07f1a7e79669c28384aa87", kill_on_drop: false }`
[INFO] [stdout] a3cf6fca30cd572ba39aec507c2b633f7c3030c81f07f1a7e79669c28384aa87
