[INFO] cloning repository https://github.com/XiaoyaoZhangCS/GKD-D-DNNF
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/XiaoyaoZhangCS/GKD-D-DNNF" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FXiaoyaoZhangCS%2FGKD-D-DNNF", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FXiaoyaoZhangCS%2FGKD-D-DNNF'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] a8b8d04b29f848dbea1a3e74aa41a33164b78945
[INFO] building XiaoyaoZhangCS/GKD-D-DNNF against try#d79d87d4c0f7f0d0785ad6e493cf8cf718ed89a6 for pr-146237-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FXiaoyaoZhangCS%2FGKD-D-DNNF" "/workspace/builds/worker-6-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/XiaoyaoZhangCS/GKD-D-DNNF
[INFO] finished tweaking git repo https://github.com/XiaoyaoZhangCS/GKD-D-DNNF
[INFO] tweaked toml for git repo https://github.com/XiaoyaoZhangCS/GKD-D-DNNF written to /workspace/builds/worker-6-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/XiaoyaoZhangCS/GKD-D-DNNF on toolchain d79d87d4c0f7f0d0785ad6e493cf8cf718ed89a6
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+d79d87d4c0f7f0d0785ad6e493cf8cf718ed89a6" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/XiaoyaoZhangCS/GKD-D-DNNF 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" "+d79d87d4c0f7f0d0785ad6e493cf8cf718ed89a6" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+d79d87d4c0f7f0d0785ad6e493cf8cf718ed89a6" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] e69acdb10337810606fb83d16f82c4df6ec3c7dfa02fc879057b19b9b1821bb0
[INFO] running `Command { std: "docker" "start" "-a" "e69acdb10337810606fb83d16f82c4df6ec3c7dfa02fc879057b19b9b1821bb0", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "e69acdb10337810606fb83d16f82c4df6ec3c7dfa02fc879057b19b9b1821bb0", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "e69acdb10337810606fb83d16f82c4df6ec3c7dfa02fc879057b19b9b1821bb0", kill_on_drop: false }`
[INFO] [stdout] e69acdb10337810606fb83d16f82c4df6ec3c7dfa02fc879057b19b9b1821bb0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+d79d87d4c0f7f0d0785ad6e493cf8cf718ed89a6" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 48ecc941d65d5220353152f539b0b92a6da5b1bcc0ddb5721712cd86acfd2fa0
[INFO] running `Command { std: "docker" "start" "-a" "48ecc941d65d5220353152f539b0b92a6da5b1bcc0ddb5721712cd86acfd2fa0", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.170
[INFO] [stderr]    Compiling proc-macro2 v1.0.66
[INFO] [stderr]    Compiling unicode-ident v1.0.11
[INFO] [stderr]    Compiling memchr v2.5.0
[INFO] [stderr]    Compiling libm v0.2.7
[INFO] [stderr]    Compiling gmp-mpfr-sys v1.6.2
[INFO] [stderr]    Compiling utf8parse v0.2.1
[INFO] [stderr]    Compiling anstyle-parse v0.2.1
[INFO] [stderr]    Compiling num-traits v0.2.16
[INFO] [stderr]    Compiling az v1.2.1
[INFO] [stderr]    Compiling either v1.9.0
[INFO] [stderr]    Compiling serde v1.0.185
[INFO] [stderr]    Compiling anstyle v1.0.1
[INFO] [stderr]    Compiling anstyle-query v1.0.0
[INFO] [stderr]    Compiling colorchoice v1.0.0
[INFO] [stderr]    Compiling rustix v0.38.30
[INFO] [stderr]    Compiling radium v0.7.0
[INFO] [stderr]    Compiling anstream v0.6.11
[INFO] [stderr]    Compiling strsim v0.10.0
[INFO] [stderr]    Compiling tap v1.0.1
[INFO] [stderr]    Compiling quote v1.0.33
[INFO] [stderr]    Compiling syn v2.0.29
[INFO] [stderr]    Compiling rug v1.23.0
[INFO] [stderr]    Compiling clap_lex v0.6.0
[INFO] [stderr]    Compiling bitflags v2.4.2
[INFO] [stderr]    Compiling cc v1.0.83
[INFO] [stderr]    Compiling hashbrown v0.14.0
[INFO] [stderr]    Compiling linux-raw-sys v0.4.13
[INFO] [stderr]    Compiling getrandom v0.2.10
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]    Compiling clap_builder v4.4.18
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling indexmap v2.0.0
[INFO] [stderr]    Compiling libmimalloc-sys v0.1.35
[INFO] [stderr]    Compiling rand v0.8.5
[INFO] [stderr]    Compiling wyz v0.5.1
[INFO] [stderr]    Compiling rayon v1.10.0
[INFO] [stderr]    Compiling csv-core v0.1.10
[INFO] [stderr]    Compiling fixedbitset v0.4.2
[INFO] [stderr]    Compiling itoa v1.0.9
[INFO] [stderr]    Compiling bit-vec v0.8.0
[INFO] [stderr]    Compiling funty v2.0.0
[INFO] [stderr]    Compiling fastrand v2.0.1
[INFO] [stderr]    Compiling ryu v1.0.15
[INFO] [stderr]    Compiling tempfile v3.9.0
[INFO] [stderr]    Compiling bit-set v0.8.0
[INFO] [stderr]    Compiling bitvec v1.0.1
[INFO] [stderr]    Compiling sysinfo v0.30.13
[INFO] [stderr]    Compiling nom v7.1.3
[INFO] [stderr]    Compiling petgraph v0.6.4
[INFO] [stderr]    Compiling clap_derive v4.4.7
[INFO] [stderr]    Compiling csv v1.2.2
[INFO] [stderr]    Compiling mimalloc v0.1.39
[INFO] [stderr]    Compiling rand_distr v0.4.3
[INFO] [stderr]    Compiling rand_pcg v0.3.1
[INFO] [stderr]    Compiling itertools v0.12.0
[INFO] [stderr]    Compiling file_diff v1.0.0
[INFO] [stderr]    Compiling streaming-iterator v0.1.9
[INFO] [stderr]    Compiling workctl v0.2.0
[INFO] [stderr]    Compiling clap v4.4.18
[INFO] [stderr]    Compiling ddnnife v0.7.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unexpected `cfg` condition value: `benchmarks`
[INFO] [stdout]  --> src/lib.rs:7:17
[INFO] [stdout]   |
[INFO] [stdout] 7 | #[cfg(all(test, feature = "benchmarks"))]
[INFO] [stdout]   |                 ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: expected values for `feature` are: `d4-oxide`
[INFO] [stdout]   = help: consider adding `benchmarks` as a feature in `Cargo.toml`
[INFO] [stdout]   = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]   = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `CNFToken` and `check_for_cnf_header`
[INFO] [stdout]  --> src/parser.rs:9:16
[INFO] [stdout]   |
[INFO] [stdout] 9 | use from_cnf::{check_for_cnf_header, CNFToken};
[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: `And`
[INFO] [stdout]   --> src/parser.rs:10:11
[INFO] [stdout]    |
[INFO] [stdout] 10 | use nom::{And, ToUsize};
[INFO] [stdout]    |           ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Write`, `hash::Hash`, and `time::Duration`
[INFO] [stdout]   --> src/parser.rs:19:113
[INFO] [stdout]    |
[INFO] [stdout] 19 | ...Str, fs::{self, File}, hash::Hash, io::{BufRead, BufReader, Write}, path::Path, process, rc::Rc, time::Duration
[INFO] [stdout]    |                           ^^^^^^^^^^                           ^^^^^                                ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `anomalies::t_wise_sampling::sat_wrapper`, `self`, and `self`
[INFO] [stdout]   --> src/parser.rs:24:20
[INFO] [stdout]    |
[INFO] [stdout] 24 | use crate::ddnnf::{self, anomalies::t_wise_sampling::sat_wrapper, node::{self, Node, NodeType}, Ddnnf};
[INFO] [stdout]    |                    ^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^         ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `EdgeIndex`, `Edge`, and `Neighbors`
[INFO] [stdout]   --> src/parser.rs:27:13
[INFO] [stdout]    |
[INFO] [stdout] 27 |     graph::{Edge, EdgeIndex, NodeIndex},
[INFO] [stdout]    |             ^^^^  ^^^^^^^^^
[INFO] [stdout] 28 |     stable_graph::{Neighbors, StableGraph},
[INFO] [stdout]    |                    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `iter::empty`
[INFO] [stdout]   --> src/parser.rs:35:13
[INFO] [stdout]    |
[INFO] [stdout] 35 | use rayon::{iter::empty, prelude::*};
[INFO] [stdout]    |             ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Mutex`
[INFO] [stdout]   --> src/parser.rs:36:5
[INFO] [stdout]    |
[INFO] [stdout] 36 | use std::sync::Mutex;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `d4`
[INFO] [stdout]   --> src/parser.rs:60:19
[INFO] [stdout]    |
[INFO] [stdout] 60 |             #[cfg(feature = "d4")]
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected values for `feature` are: `d4-oxide`
[INFO] [stdout]    = help: consider adding `d4` as a feature in `Cargo.toml`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `d4`
[INFO] [stdout]   --> src/parser.rs:84:23
[INFO] [stdout]    |
[INFO] [stdout] 84 |             #[cfg(not(feature = "d4"))]
[INFO] [stdout]    |                       ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected values for `feature` are: `d4-oxide`
[INFO] [stdout]    = help: consider adding `d4` as a feature in `Cargo.toml`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `d4`
[INFO] [stdout]    --> src/parser.rs:129:19
[INFO] [stdout]     |
[INFO] [stdout] 129 |             #[cfg(feature = "d4")]
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected values for `feature` are: `d4-oxide`
[INFO] [stdout]     = help: consider adding `d4` as a feature in `Cargo.toml`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `d4`
[INFO] [stdout]    --> src/parser.rs:153:23
[INFO] [stdout]     |
[INFO] [stdout] 153 |             #[cfg(not(feature = "d4"))]
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected values for `feature` are: `d4-oxide`
[INFO] [stdout]     = help: consider adding `d4` as a feature in `Cargo.toml`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: denote infinite loops with `loop { ... }`
[INFO] [stdout]    --> src/parser.rs:593:13
[INFO] [stdout]     |
[INFO] [stdout] 593 |             while true {
[INFO] [stdout]     |             ^^^^^^^^^^ help: use `loop`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(while_true)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/parser.rs:698:12
[INFO] [stdout]     |
[INFO] [stdout] 698 |         if (nx.index() < set.capacity() && set[nx.index()]) {
[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] 698 -         if (nx.index() < set.capacity() && set[nx.index()]) {
[INFO] [stdout] 698 +         if nx.index() < set.capacity() && set[nx.index()] {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/parser.rs:710:16
[INFO] [stdout]     |
[INFO] [stdout] 710 |             if (n.index() < set.capacity() && set[n.index()]) {
[INFO] [stdout]     |                ^                                            ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 710 -             if (n.index() < set.capacity() && set[n.index()]) {
[INFO] [stdout] 710 +             if n.index() < set.capacity() && set[n.index()] {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/parser.rs:912:12
[INFO] [stdout]     |
[INFO] [stdout] 912 |         if (neighbor.index() < set.capacity() && set[neighbor.index()]) {
[INFO] [stdout]     |            ^                                                          ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 912 -         if (neighbor.index() < set.capacity() && set[neighbor.index()]) {
[INFO] [stdout] 912 +         if neighbor.index() < set.capacity() && set[neighbor.index()] {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rand_distr::num_traits::ToPrimitive`
[INFO] [stdout]  --> src/ddnnf/counting/features.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use rand_distr::num_traits::ToPrimitive;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::node::NodeType`
[INFO] [stdout]  --> src/ddnnf/heuristics.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use super::node::NodeType;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary qualification
[INFO] [stdout]    --> src/ddnnf/multiple_queries.rs:127:17
[INFO] [stdout]     |
[INFO] [stdout] 127 |                 std::thread::yield_now();
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] note: the lint level is defined here
[INFO] [stdout]    --> src/lib.rs:2:9
[INFO] [stdout]     |
[INFO] [stdout]   2 | #![warn(unused_qualifications)]
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]     |
[INFO] [stdout] 127 -                 std::thread::yield_now();
[INFO] [stdout] 127 +                 thread::yield_now();
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary qualification
[INFO] [stdout]   --> src/ddnnf/stream.rs:65:25
[INFO] [stdout]    |
[INFO] [stdout] 65 |                         std::thread::park();
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]    |
[INFO] [stdout] 65 -                         std::thread::park();
[INFO] [stdout] 65 +                         thread::park();
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `VecDeque` and `hash::Hash`
[INFO] [stdout]  --> src/ddnnf.rs:8:53
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::{collections::{BTreeSet, HashMap, HashSet, VecDeque}, hash::Hash, io::BufRead, time::Duration};
[INFO] [stdout]   |                                                     ^^^^^^^^   ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `index`, `ptr::swap`, and `vec`
[INFO] [stdout]   --> src/ddnnf.rs:10:14
[INFO] [stdout]    |
[INFO] [stdout] 10 | use bitvec::{index, ptr::swap, vec};
[INFO] [stdout]    |              ^^^^^  ^^^^^^^^^  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `counting::features`
[INFO] [stdout]   --> src/ddnnf.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use counting::features;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Interleave`
[INFO] [stdout]   --> src/ddnnf.rs:12:25
[INFO] [stdout]    |
[INFO] [stdout] 12 | use itertools::{Either, Interleave};
[INFO] [stdout]    |                         ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rand_distr::num_traits::ToPrimitive`
[INFO] [stdout]   --> src/ddnnf.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use rand_distr::num_traits::ToPrimitive;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> src/ddnnf.rs:531:59
[INFO] [stdout]     |
[INFO] [stdout] 531 |     pub fn my_weighted_dp(&mut self, features: &[i32]) -> (Vec<(Integer, Vec<i32>)>) {
[INFO] [stdout]     |                                                           ^                        ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 531 -     pub fn my_weighted_dp(&mut self, features: &[i32]) -> (Vec<(Integer, Vec<i32>)>) {
[INFO] [stdout] 531 +     pub fn my_weighted_dp(&mut self, features: &[i32]) -> Vec<(Integer, Vec<i32>)> {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable statement
[INFO] [stdout]    --> src/ddnnf.rs:214:9
[INFO] [stdout]     |
[INFO] [stdout] 213 |         return;
[INFO] [stdout]     |         ------ any code following this expression is unreachable
[INFO] [stdout] 214 |         println!("node:");
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^ unreachable statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout]     = note: this warning originates in the macro `println` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `IntoNeighborsDirected`
[INFO] [stdout]   --> src/parser.rs:29:36
[INFO] [stdout]    |
[INFO] [stdout] 29 |     visit::{DfsPostOrder, EdgeRef, IntoNeighborsDirected},
[INFO] [stdout]    |                                    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ToUsize`
[INFO] [stdout]   --> src/parser.rs:10:16
[INFO] [stdout]    |
[INFO] [stdout] 10 | use nom::{And, ToUsize};
[INFO] [stdout]    |                ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `features`
[INFO] [stdout]    --> src/parser.rs:418:30
[INFO] [stdout]     |
[INFO] [stdout] 418 |             Edge { from, to, features } => {
[INFO] [stdout]     |                              ^^^^^^^^ help: try ignoring the field: `features: _`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `raw`
[INFO] [stdout]    --> src/parser.rs:586:13
[INFO] [stdout]     |
[INFO] [stdout] 586 |         let raw = idx;
[INFO] [stdout]     |             ^^^ help: if this is intentional, prefix it with an underscore: `_raw`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `last` is assigned to, but never used
[INFO] [stdout]    --> src/parser.rs:591:21
[INFO] [stdout]     |
[INFO] [stdout] 591 |             let mut last = son;
[INFO] [stdout]     |                     ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using `_last` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `last` is never read
[INFO] [stdout]    --> src/parser.rs:609:21
[INFO] [stdout]     |
[INFO] [stdout] 609 |                     last = idx;
[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: variable does not need to be mutable
[INFO] [stdout]   --> src/parser.rs:56:20
[INFO] [stdout]    |
[INFO] [stdout] 56 | pub fn build_ddnnf(mut path: &str, mut total_features: Option<u32>) -> Ddnnf {
[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/parser.rs:56:36
[INFO] [stdout]    |
[INFO] [stdout] 56 | pub fn build_ddnnf(mut path: &str, mut total_features: Option<u32>) -> Ddnnf {
[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/parser.rs:57:9
[INFO] [stdout]    |
[INFO] [stdout] 57 |     let mut clauses = BTreeSet::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/parser.rs:118:23
[INFO] [stdout]     |
[INFO] [stdout] 118 | pub fn my_build_ddnnf(mut path: &str, mut total_features: Option<u32>, m: u32,n: u32,t:u32) -> Ddnnf {
[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/parser.rs:118:39
[INFO] [stdout]     |
[INFO] [stdout] 118 | pub fn my_build_ddnnf(mut path: &str, mut total_features: Option<u32>, m: u32,n: u32,t:u32) -> Ddnnf {
[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/parser.rs:126:9
[INFO] [stdout]     |
[INFO] [stdout] 126 |     let mut clauses = BTreeSet::new();
[INFO] [stdout]     |         ----^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `needless_edge_num` is assigned to, but never used
[INFO] [stdout]    --> src/parser.rs:814:17
[INFO] [stdout]     |
[INFO] [stdout] 814 |         let mut needless_edge_num = 0;
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using `_needless_edge_num` instead
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `ELTS`
[INFO] [stdout]     |
[INFO] [stdout] 814 -         let mut needless_edge_num = 0;
[INFO] [stdout] 814 +         let mut ddnnf::anomalies::atomic_sets::<impl ddnnf::Ddnnf>::get_signed_excludes::ELTS = 0;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `turn`
[INFO] [stdout]    --> src/parser.rs:764:5
[INFO] [stdout]     |
[INFO] [stdout] 764 |     turn: i32,
[INFO] [stdout]     |     ^^^^ help: if this is intentional, prefix it with an underscore: `_turn`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/parser.rs:766:9
[INFO] [stdout]     |
[INFO] [stdout] 766 |     let mut m: u32;
[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/parser.rs:767:9
[INFO] [stdout]     |
[INFO] [stdout] 767 |     let mut n: u32;
[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/parser.rs:768:9
[INFO] [stdout]     |
[INFO] [stdout] 768 |     let mut t: u32;
[INFO] [stdout]     |         ----^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `d`
[INFO] [stdout]     --> src/parser.rs:1016:9
[INFO] [stdout]      |
[INFO] [stdout] 1016 |     for d in 0..max_dep{
[INFO] [stdout]      |         ^ help: if this is intentional, prefix it with an underscore: `_d`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `d`
[INFO] [stdout]     --> src/parser.rs:1151:9
[INFO] [stdout]      |
[INFO] [stdout] 1151 |     for d in 0..max_dep{
[INFO] [stdout]      |         ^ help: if this is intentional, prefix it with an underscore: `_d`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `start`
[INFO] [stdout]    --> src/ddnnf.rs:239:13
[INFO] [stdout]     |
[INFO] [stdout] 239 |         let start = Instant::now();
[INFO] [stdout]     |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_start`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/ddnnf.rs:855:13
[INFO] [stdout]     |
[INFO] [stdout] 855 |         for i in 0..self.number_of_variables + 1 {
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `res` is never read
[INFO] [stdout]    --> src/ddnnf.rs:874:17
[INFO] [stdout]     |
[INFO] [stdout] 874 |         let mut res: Vec<(Integer, Vec<i32>)> = Vec::new();
[INFO] [stdout]     |                 ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/ddnnf.rs:615:13
[INFO] [stdout]     |
[INFO] [stdout] 615 |         for i in 0..len {
[INFO] [stdout]     |             ^
[INFO] [stdout]     |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]     |
[INFO] [stdout] 615 |         for _i in 0..len {
[INFO] [stdout]     |             +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `ELTS`
[INFO] [stdout]     |
[INFO] [stdout] 615 -         for i in 0..len {
[INFO] [stdout] 615 +         for ddnnf::anomalies::atomic_sets::<impl ddnnf::Ddnnf>::get_signed_excludes::ELTS in 0..len {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `w` is never read
[INFO] [stdout]    --> src/ddnnf.rs:636:33
[INFO] [stdout]     |
[INFO] [stdout] 636 |                         let mut w = Integer::ZERO;
[INFO] [stdout]     |                                 ^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `k`
[INFO] [stdout]    --> src/ddnnf.rs:640:29
[INFO] [stdout]     |
[INFO] [stdout] 640 |                         for k in 0..self.limit_solution_num as usize{
[INFO] [stdout]     |                             ^
[INFO] [stdout]     |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]     |
[INFO] [stdout] 640 |                         for _k in 0..self.limit_solution_num as usize{
[INFO] [stdout]     |                             +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `ELTS`
[INFO] [stdout]     |
[INFO] [stdout] 640 -                         for k in 0..self.limit_solution_num as usize{
[INFO] [stdout] 640 +                         for ddnnf::anomalies::atomic_sets::<impl ddnnf::Ddnnf>::get_signed_excludes::ELTS in 0..self.limit_solution_num as usize{
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `pre_hashset_multi_thread` is never used
[INFO] [stdout]     --> src/parser.rs:1074:4
[INFO] [stdout]      |
[INFO] [stdout] 1074 | fn pre_hashset_multi_thread(
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_literals` is never used
[INFO] [stdout]     --> src/parser.rs:1209:4
[INFO] [stdout]      |
[INFO] [stdout] 1209 | fn get_literals(
[INFO] [stdout]      |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_literals_bitset` is never used
[INFO] [stdout]     --> src/parser.rs:1249:4
[INFO] [stdout]      |
[INFO] [stdout] 1249 | fn get_literals_bitset(
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DummyAndMerger` is never constructed
[INFO] [stdout]   --> src/ddnnf/anomalies/t_wise_sampling/sample_merger.rs:48:19
[INFO] [stdout]    |
[INFO] [stdout] 48 | pub(super) struct DummyAndMerger<'a> {
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DummyOrMerger` is never constructed
[INFO] [stdout]   --> src/ddnnf/anomalies/t_wise_sampling/sample_merger.rs:81:19
[INFO] [stdout]    |
[INFO] [stdout] 81 | pub(super) struct DummyOrMerger {}
[INFO] [stdout]    |                   ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `mark_nodes_start` and `mark_nodes` are never used
[INFO] [stdout]    --> src/ddnnf/counting/marking.rs:248:8
[INFO] [stdout]     |
[INFO] [stdout]   7 | impl Ddnnf {
[INFO] [stdout]     | ---------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 248 |     fn mark_nodes_start(&mut self, i: usize) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 263 |     fn mark_nodes(&mut self, i: usize) {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_depths` is never used
[INFO] [stdout]    --> src/ddnnf/heuristics.rs:111:8
[INFO] [stdout]     |
[INFO] [stdout]   8 | impl Ddnnf {
[INFO] [stdout]     | ---------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 111 |     fn get_depths(&mut self) {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_depth` is never used
[INFO] [stdout]    --> src/ddnnf/heuristics.rs:273:4
[INFO] [stdout]     |
[INFO] [stdout] 273 | fn get_depth(nodes: &[Node], indize: usize, count: u64) -> Vec<u64> {
[INFO] [stdout]     |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `Duration` should have a snake case name
[INFO] [stdout]     --> src/parser.rs:1055:9
[INFO] [stdout]      |
[INFO] [stdout] 1055 |     let Duration = start.elapsed();
[INFO] [stdout]      |         ^^^^^^^^ help: convert the identifier to snake case: `duration`
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `Duration` should have a snake case name
[INFO] [stdout]     --> src/parser.rs:1190:9
[INFO] [stdout]      |
[INFO] [stdout] 1190 |     let Duration = start.elapsed();
[INFO] [stdout]      |         ^^^^^^^^ help: convert the identifier to snake case: `duration`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: for loop over an `Option`. This is more readably written as an `if let` statement
[INFO] [stdout]    --> src/ddnnf.rs:789:45
[INFO] [stdout]     |
[INFO] [stdout] 789 |                         for son_vec_list in solution_map.get(*son) {
[INFO] [stdout]     |                                             ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(for_loops_over_fallibles)]` on by default
[INFO] [stdout] help: to check pattern in a loop use `while let`
[INFO] [stdout]     |
[INFO] [stdout] 789 -                         for son_vec_list in solution_map.get(*son) {
[INFO] [stdout] 789 +                         while let Some(son_vec_list) = solution_map.get(*son) {
[INFO] [stdout]     |
[INFO] [stdout] help: consider using `if let` to clear intent
[INFO] [stdout]     |
[INFO] [stdout] 789 -                         for son_vec_list in solution_map.get(*son) {
[INFO] [stdout] 789 +                         if let Some(son_vec_list) = solution_map.get(*son) {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: for loop over an `Option`. This is more readably written as an `if let` statement
[INFO] [stdout]    --> src/ddnnf.rs:815:45
[INFO] [stdout]     |
[INFO] [stdout] 815 |                         for son_vec_list in solution_map.get(*son) {
[INFO] [stdout]     |                                             ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: to check pattern in a loop use `while let`
[INFO] [stdout]     |
[INFO] [stdout] 815 -                         for son_vec_list in solution_map.get(*son) {
[INFO] [stdout] 815 +                         while let Some(son_vec_list) = solution_map.get(*son) {
[INFO] [stdout]     |
[INFO] [stdout] help: consider using `if let` to clear intent
[INFO] [stdout]     |
[INFO] [stdout] 815 -                         for son_vec_list in solution_map.get(*son) {
[INFO] [stdout] 815 +                         if let Some(son_vec_list) = solution_map.get(*son) {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ddnnf_lib::ddnnf::anomalies::t_wise_sampling::save_solution_to_file`
[INFO] [stdout]  --> src/bin/ddnnife.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use ddnnf_lib::ddnnf::anomalies::t_wise_sampling::save_solution_to_file;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/bin/ddnnife.rs:304:11
[INFO] [stdout]     |
[INFO] [stdout] 304 |         if(cli.m.is_some()){
[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] 304 -         if(cli.m.is_some()){
[INFO] [stdout] 304 +         if cli.m.is_some() {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/bin/ddnnife.rs:307:11
[INFO] [stdout]     |
[INFO] [stdout] 307 |         if(cli.n.is_some()){
[INFO] [stdout]     |           ^               ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 307 -         if(cli.n.is_some()){
[INFO] [stdout] 307 +         if cli.n.is_some() {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/bin/ddnnife.rs:310:11
[INFO] [stdout]     |
[INFO] [stdout] 310 |         if(cli.iter.is_some()){
[INFO] [stdout]     |           ^                  ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 310 -         if(cli.iter.is_some()){
[INFO] [stdout] 310 +         if cli.iter.is_some() {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 4m 05s
[INFO] running `Command { std: "docker" "inspect" "48ecc941d65d5220353152f539b0b92a6da5b1bcc0ddb5721712cd86acfd2fa0", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "48ecc941d65d5220353152f539b0b92a6da5b1bcc0ddb5721712cd86acfd2fa0", kill_on_drop: false }`
[INFO] [stdout] 48ecc941d65d5220353152f539b0b92a6da5b1bcc0ddb5721712cd86acfd2fa0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+d79d87d4c0f7f0d0785ad6e493cf8cf718ed89a6" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] fde5f5e06662e59fb1050913d9da6df6628a8f6cebb9244cff06fa9f2a457f1b
[INFO] running `Command { std: "docker" "start" "-a" "fde5f5e06662e59fb1050913d9da6df6628a8f6cebb9244cff06fa9f2a457f1b", kill_on_drop: false }`
[INFO] [stderr]    Compiling futures-core v0.3.28
[INFO] [stderr]    Compiling slab v0.4.8
[INFO] [stderr]    Compiling futures-channel v0.3.28
[INFO] [stderr]    Compiling futures-task v0.3.28
[INFO] [stderr]    Compiling aho-corasick v1.0.4
[INFO] [stderr]    Compiling lock_api v0.4.10
[INFO] [stderr]    Compiling futures-util v0.3.28
[INFO] [stderr]    Compiling regex-syntax v0.7.4
[INFO] [stderr]    Compiling futures-sink v0.3.28
[INFO] [stderr]    Compiling parking_lot_core v0.9.8
[INFO] [stderr]    Compiling pin-project-lite v0.2.12
[INFO] [stderr]    Compiling futures-io v0.3.28
[INFO] [stderr]    Compiling smallvec v1.11.0
[INFO] [stderr]    Compiling predicates-core v1.0.6
[INFO] [stderr]    Compiling doc-comment v0.3.3
[INFO] [stderr]    Compiling float-cmp v0.9.0
[INFO] [stderr]    Compiling csv-core v0.1.10
[INFO] [stderr]    Compiling termtree v0.4.1
[INFO] [stderr]    Compiling normalize-line-endings v0.3.0
[INFO] [stderr]    Compiling difflib v0.4.0
[INFO] [stderr]    Compiling nom v7.1.3
[INFO] [stderr]    Compiling predicates-tree v1.0.9
[INFO] [stderr]    Compiling csv v1.2.2
[INFO] [stderr]    Compiling parking_lot v0.12.1
[INFO] [stderr]    Compiling dashmap v5.5.0
[INFO] [stderr]    Compiling serial_test_derive v2.0.0
[INFO] [stderr]    Compiling wait-timeout v0.2.0
[INFO] [stderr]    Compiling log v0.4.20
[INFO] [stderr]    Compiling regex-automata v0.3.6
[INFO] [stderr]    Compiling ddnnife v0.7.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unexpected `cfg` condition value: `benchmarks`
[INFO] [stdout]  --> src/lib.rs:7:17
[INFO] [stdout]   |
[INFO] [stdout] 7 | #[cfg(all(test, feature = "benchmarks"))]
[INFO] [stdout]   |                 ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: expected values for `feature` are: `d4-oxide`
[INFO] [stdout]   = help: consider adding `benchmarks` as a feature in `Cargo.toml`
[INFO] [stdout]   = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]   = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `CNFToken` and `check_for_cnf_header`
[INFO] [stdout]  --> src/parser.rs:9:16
[INFO] [stdout]   |
[INFO] [stdout] 9 | use from_cnf::{check_for_cnf_header, CNFToken};
[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: `And`
[INFO] [stdout]   --> src/parser.rs:10:11
[INFO] [stdout]    |
[INFO] [stdout] 10 | use nom::{And, ToUsize};
[INFO] [stdout]    |           ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Write`, `hash::Hash`, and `time::Duration`
[INFO] [stdout]   --> src/parser.rs:19:113
[INFO] [stdout]    |
[INFO] [stdout] 19 | ...Str, fs::{self, File}, hash::Hash, io::{BufRead, BufReader, Write}, path::Path, process, rc::Rc, time::Duration
[INFO] [stdout]    |                           ^^^^^^^^^^                           ^^^^^                                ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `anomalies::t_wise_sampling::sat_wrapper`, `self`, and `self`
[INFO] [stdout]   --> src/parser.rs:24:20
[INFO] [stdout]    |
[INFO] [stdout] 24 | use crate::ddnnf::{self, anomalies::t_wise_sampling::sat_wrapper, node::{self, Node, NodeType}, Ddnnf};
[INFO] [stdout]    |                    ^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^         ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `EdgeIndex`, `Edge`, and `Neighbors`
[INFO] [stdout]   --> src/parser.rs:27:13
[INFO] [stdout]    |
[INFO] [stdout] 27 |     graph::{Edge, EdgeIndex, NodeIndex},
[INFO] [stdout]    |             ^^^^  ^^^^^^^^^
[INFO] [stdout] 28 |     stable_graph::{Neighbors, StableGraph},
[INFO] [stdout]    |                    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `iter::empty`
[INFO] [stdout]   --> src/parser.rs:35:13
[INFO] [stdout]    |
[INFO] [stdout] 35 | use rayon::{iter::empty, prelude::*};
[INFO] [stdout]    |             ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Mutex`
[INFO] [stdout]   --> src/parser.rs:36:5
[INFO] [stdout]    |
[INFO] [stdout] 36 | use std::sync::Mutex;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `d4`
[INFO] [stdout]   --> src/parser.rs:60:19
[INFO] [stdout]    |
[INFO] [stdout] 60 |             #[cfg(feature = "d4")]
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected values for `feature` are: `d4-oxide`
[INFO] [stdout]    = help: consider adding `d4` as a feature in `Cargo.toml`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `d4`
[INFO] [stdout]   --> src/parser.rs:84:23
[INFO] [stdout]    |
[INFO] [stdout] 84 |             #[cfg(not(feature = "d4"))]
[INFO] [stdout]    |                       ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected values for `feature` are: `d4-oxide`
[INFO] [stdout]    = help: consider adding `d4` as a feature in `Cargo.toml`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `d4`
[INFO] [stdout]    --> src/parser.rs:129:19
[INFO] [stdout]     |
[INFO] [stdout] 129 |             #[cfg(feature = "d4")]
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected values for `feature` are: `d4-oxide`
[INFO] [stdout]     = help: consider adding `d4` as a feature in `Cargo.toml`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `d4`
[INFO] [stdout]    --> src/parser.rs:153:23
[INFO] [stdout]     |
[INFO] [stdout] 153 |             #[cfg(not(feature = "d4"))]
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected values for `feature` are: `d4-oxide`
[INFO] [stdout]     = help: consider adding `d4` as a feature in `Cargo.toml`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: denote infinite loops with `loop { ... }`
[INFO] [stdout]    --> src/parser.rs:593:13
[INFO] [stdout]     |
[INFO] [stdout] 593 |             while true {
[INFO] [stdout]     |             ^^^^^^^^^^ help: use `loop`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(while_true)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/parser.rs:698:12
[INFO] [stdout]     |
[INFO] [stdout] 698 |         if (nx.index() < set.capacity() && set[nx.index()]) {
[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] 698 -         if (nx.index() < set.capacity() && set[nx.index()]) {
[INFO] [stdout] 698 +         if nx.index() < set.capacity() && set[nx.index()] {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/parser.rs:710:16
[INFO] [stdout]     |
[INFO] [stdout] 710 |             if (n.index() < set.capacity() && set[n.index()]) {
[INFO] [stdout]     |                ^                                            ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 710 -             if (n.index() < set.capacity() && set[n.index()]) {
[INFO] [stdout] 710 +             if n.index() < set.capacity() && set[n.index()] {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/parser.rs:912:12
[INFO] [stdout]     |
[INFO] [stdout] 912 |         if (neighbor.index() < set.capacity() && set[neighbor.index()]) {
[INFO] [stdout]     |            ^                                                          ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 912 -         if (neighbor.index() < set.capacity() && set[neighbor.index()]) {
[INFO] [stdout] 912 +         if neighbor.index() < set.capacity() && set[neighbor.index()] {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rand_distr::num_traits::ToPrimitive`
[INFO] [stdout]  --> src/ddnnf/counting/features.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use rand_distr::num_traits::ToPrimitive;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::node::NodeType`
[INFO] [stdout]  --> src/ddnnf/heuristics.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use super::node::NodeType;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary qualification
[INFO] [stdout]    --> src/ddnnf/multiple_queries.rs:127:17
[INFO] [stdout]     |
[INFO] [stdout] 127 |                 std::thread::yield_now();
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] note: the lint level is defined here
[INFO] [stdout]    --> src/lib.rs:2:9
[INFO] [stdout]     |
[INFO] [stdout]   2 | #![warn(unused_qualifications)]
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]     |
[INFO] [stdout] 127 -                 std::thread::yield_now();
[INFO] [stdout] 127 +                 thread::yield_now();
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary qualification
[INFO] [stdout]   --> src/ddnnf/stream.rs:65:25
[INFO] [stdout]    |
[INFO] [stdout] 65 |                         std::thread::park();
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]    |
[INFO] [stdout] 65 -                         std::thread::park();
[INFO] [stdout] 65 +                         thread::park();
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `VecDeque` and `hash::Hash`
[INFO] [stdout]  --> src/ddnnf.rs:8:53
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::{collections::{BTreeSet, HashMap, HashSet, VecDeque}, hash::Hash, io::BufRead, time::Duration};
[INFO] [stdout]   |                                                     ^^^^^^^^   ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `index`, `ptr::swap`, and `vec`
[INFO] [stdout]   --> src/ddnnf.rs:10:14
[INFO] [stdout]    |
[INFO] [stdout] 10 | use bitvec::{index, ptr::swap, vec};
[INFO] [stdout]    |              ^^^^^  ^^^^^^^^^  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `counting::features`
[INFO] [stdout]   --> src/ddnnf.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use counting::features;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Interleave`
[INFO] [stdout]   --> src/ddnnf.rs:12:25
[INFO] [stdout]    |
[INFO] [stdout] 12 | use itertools::{Either, Interleave};
[INFO] [stdout]    |                         ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rand_distr::num_traits::ToPrimitive`
[INFO] [stdout]   --> src/ddnnf.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use rand_distr::num_traits::ToPrimitive;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> src/ddnnf.rs:531:59
[INFO] [stdout]     |
[INFO] [stdout] 531 |     pub fn my_weighted_dp(&mut self, features: &[i32]) -> (Vec<(Integer, Vec<i32>)>) {
[INFO] [stdout]     |                                                           ^                        ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 531 -     pub fn my_weighted_dp(&mut self, features: &[i32]) -> (Vec<(Integer, Vec<i32>)>) {
[INFO] [stdout] 531 +     pub fn my_weighted_dp(&mut self, features: &[i32]) -> Vec<(Integer, Vec<i32>)> {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable statement
[INFO] [stdout]    --> src/ddnnf.rs:214:9
[INFO] [stdout]     |
[INFO] [stdout] 213 |         return;
[INFO] [stdout]     |         ------ any code following this expression is unreachable
[INFO] [stdout] 214 |         println!("node:");
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^ unreachable statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout]     = note: this warning originates in the macro `println` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `IntoNeighborsDirected`
[INFO] [stdout]   --> src/parser.rs:29:36
[INFO] [stdout]    |
[INFO] [stdout] 29 |     visit::{DfsPostOrder, EdgeRef, IntoNeighborsDirected},
[INFO] [stdout]    |                                    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ToUsize`
[INFO] [stdout]   --> src/parser.rs:10:16
[INFO] [stdout]    |
[INFO] [stdout] 10 | use nom::{And, ToUsize};
[INFO] [stdout]    |                ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `start`
[INFO] [stdout]    --> src/ddnnf.rs:239:13
[INFO] [stdout]     |
[INFO] [stdout] 239 |         let start = Instant::now();
[INFO] [stdout]     |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_start`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/ddnnf.rs:615:13
[INFO] [stdout]     |
[INFO] [stdout] 615 |         for i in 0..len {
[INFO] [stdout]     |             ^
[INFO] [stdout]     |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]     |
[INFO] [stdout] 615 |         for _i in 0..len {
[INFO] [stdout]     |             +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `ELTS`
[INFO] [stdout]     |
[INFO] [stdout] 615 -         for i in 0..len {
[INFO] [stdout] 615 +         for ddnnf::anomalies::atomic_sets::<impl ddnnf::Ddnnf>::get_signed_excludes::ELTS in 0..len {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/parser.rs:56:20
[INFO] [stdout]    |
[INFO] [stdout] 56 | pub fn build_ddnnf(mut path: &str, mut total_features: Option<u32>) -> Ddnnf {
[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/parser.rs:56:36
[INFO] [stdout]    |
[INFO] [stdout] 56 | pub fn build_ddnnf(mut path: &str, mut total_features: Option<u32>) -> Ddnnf {
[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/parser.rs:57:9
[INFO] [stdout]    |
[INFO] [stdout] 57 |     let mut clauses = BTreeSet::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/parser.rs:118:23
[INFO] [stdout]     |
[INFO] [stdout] 118 | pub fn my_build_ddnnf(mut path: &str, mut total_features: Option<u32>, m: u32,n: u32,t:u32) -> Ddnnf {
[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/parser.rs:118:39
[INFO] [stdout]     |
[INFO] [stdout] 118 | pub fn my_build_ddnnf(mut path: &str, mut total_features: Option<u32>, m: u32,n: u32,t:u32) -> Ddnnf {
[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/parser.rs:126:9
[INFO] [stdout]     |
[INFO] [stdout] 126 |     let mut clauses = BTreeSet::new();
[INFO] [stdout]     |         ----^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `w` is never read
[INFO] [stdout]    --> src/ddnnf.rs:636:33
[INFO] [stdout]     |
[INFO] [stdout] 636 |                         let mut w = Integer::ZERO;
[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: `k`
[INFO] [stdout]    --> src/ddnnf.rs:640:29
[INFO] [stdout]     |
[INFO] [stdout] 640 |                         for k in 0..self.limit_solution_num as usize{
[INFO] [stdout]     |                             ^
[INFO] [stdout]     |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]     |
[INFO] [stdout] 640 |                         for _k in 0..self.limit_solution_num as usize{
[INFO] [stdout]     |                             +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `ELTS`
[INFO] [stdout]     |
[INFO] [stdout] 640 -                         for k in 0..self.limit_solution_num as usize{
[INFO] [stdout] 640 +                         for ddnnf::anomalies::atomic_sets::<impl ddnnf::Ddnnf>::get_signed_excludes::ELTS in 0..self.limit_solution_num as usize{
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `features`
[INFO] [stdout]    --> src/parser.rs:418:30
[INFO] [stdout]     |
[INFO] [stdout] 418 |             Edge { from, to, features } => {
[INFO] [stdout]     |                              ^^^^^^^^ help: try ignoring the field: `features: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `raw`
[INFO] [stdout]    --> src/parser.rs:586:13
[INFO] [stdout]     |
[INFO] [stdout] 586 |         let raw = idx;
[INFO] [stdout]     |             ^^^ help: if this is intentional, prefix it with an underscore: `_raw`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `last` is assigned to, but never used
[INFO] [stdout]    --> src/parser.rs:591:21
[INFO] [stdout]     |
[INFO] [stdout] 591 |             let mut last = son;
[INFO] [stdout]     |                     ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using `_last` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `last` is never read
[INFO] [stdout]    --> src/parser.rs:609:21
[INFO] [stdout]     |
[INFO] [stdout] 609 |                     last = idx;
[INFO] [stdout]     |                     ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/ddnnf.rs:855:13
[INFO] [stdout]     |
[INFO] [stdout] 855 |         for i in 0..self.number_of_variables + 1 {
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `res` is never read
[INFO] [stdout]    --> src/ddnnf.rs:874:17
[INFO] [stdout]     |
[INFO] [stdout] 874 |         let mut res: Vec<(Integer, Vec<i32>)> = Vec::new();
[INFO] [stdout]     |                 ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `d`
[INFO] [stdout]     --> src/parser.rs:1151:9
[INFO] [stdout]      |
[INFO] [stdout] 1151 |     for d in 0..max_dep{
[INFO] [stdout]      |         ^ help: if this is intentional, prefix it with an underscore: `_d`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `d`
[INFO] [stdout]     --> src/parser.rs:1016:9
[INFO] [stdout]      |
[INFO] [stdout] 1016 |     for d in 0..max_dep{
[INFO] [stdout]      |         ^ help: if this is intentional, prefix it with an underscore: `_d`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `needless_edge_num` is assigned to, but never used
[INFO] [stdout]    --> src/parser.rs:814:17
[INFO] [stdout]     |
[INFO] [stdout] 814 |         let mut needless_edge_num = 0;
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using `_needless_edge_num` instead
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `ELTS`
[INFO] [stdout]     |
[INFO] [stdout] 814 -         let mut needless_edge_num = 0;
[INFO] [stdout] 814 +         let mut ddnnf::anomalies::atomic_sets::<impl ddnnf::Ddnnf>::get_signed_excludes::ELTS = 0;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `turn`
[INFO] [stdout]    --> src/parser.rs:764:5
[INFO] [stdout]     |
[INFO] [stdout] 764 |     turn: i32,
[INFO] [stdout]     |     ^^^^ help: if this is intentional, prefix it with an underscore: `_turn`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling futures-executor v0.3.28
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/parser.rs:766:9
[INFO] [stdout]     |
[INFO] [stdout] 766 |     let mut m: u32;
[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/parser.rs:767:9
[INFO] [stdout]     |
[INFO] [stdout] 767 |     let mut n: u32;
[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/parser.rs:768:9
[INFO] [stdout]     |
[INFO] [stdout] 768 |     let mut t: u32;
[INFO] [stdout]     |         ----^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `pre_hashset_multi_thread` is never used
[INFO] [stdout]     --> src/parser.rs:1074:4
[INFO] [stdout]      |
[INFO] [stdout] 1074 | fn pre_hashset_multi_thread(
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_literals` is never used
[INFO] [stdout]     --> src/parser.rs:1209:4
[INFO] [stdout]      |
[INFO] [stdout] 1209 | fn get_literals(
[INFO] [stdout]      |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_literals_bitset` is never used
[INFO] [stdout]     --> src/parser.rs:1249:4
[INFO] [stdout]      |
[INFO] [stdout] 1249 | fn get_literals_bitset(
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DummyAndMerger` is never constructed
[INFO] [stdout]   --> src/ddnnf/anomalies/t_wise_sampling/sample_merger.rs:48:19
[INFO] [stdout]    |
[INFO] [stdout] 48 | pub(super) struct DummyAndMerger<'a> {
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DummyOrMerger` is never constructed
[INFO] [stdout]   --> src/ddnnf/anomalies/t_wise_sampling/sample_merger.rs:81:19
[INFO] [stdout]    |
[INFO] [stdout] 81 | pub(super) struct DummyOrMerger {}
[INFO] [stdout]    |                   ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `mark_nodes_start` and `mark_nodes` are never used
[INFO] [stdout]    --> src/ddnnf/counting/marking.rs:248:8
[INFO] [stdout]     |
[INFO] [stdout]   7 | impl Ddnnf {
[INFO] [stdout]     | ---------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 248 |     fn mark_nodes_start(&mut self, i: usize) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 263 |     fn mark_nodes(&mut self, i: usize) {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_depths` is never used
[INFO] [stdout]    --> src/ddnnf/heuristics.rs:111:8
[INFO] [stdout]     |
[INFO] [stdout]   8 | impl Ddnnf {
[INFO] [stdout]     | ---------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 111 |     fn get_depths(&mut self) {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_depth` is never used
[INFO] [stdout]    --> src/ddnnf/heuristics.rs:273:4
[INFO] [stdout]     |
[INFO] [stdout] 273 | fn get_depth(nodes: &[Node], indize: usize, count: u64) -> Vec<u64> {
[INFO] [stdout]     |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `Duration` should have a snake case name
[INFO] [stdout]     --> src/parser.rs:1055:9
[INFO] [stdout]      |
[INFO] [stdout] 1055 |     let Duration = start.elapsed();
[INFO] [stdout]      |         ^^^^^^^^ help: convert the identifier to snake case: `duration`
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `Duration` should have a snake case name
[INFO] [stdout]     --> src/parser.rs:1190:9
[INFO] [stdout]      |
[INFO] [stdout] 1190 |     let Duration = start.elapsed();
[INFO] [stdout]      |         ^^^^^^^^ help: convert the identifier to snake case: `duration`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: for loop over an `Option`. This is more readably written as an `if let` statement
[INFO] [stdout]    --> src/ddnnf.rs:789:45
[INFO] [stdout]     |
[INFO] [stdout] 789 |                         for son_vec_list in solution_map.get(*son) {
[INFO] [stdout]     |                                             ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(for_loops_over_fallibles)]` on by default
[INFO] [stdout] help: to check pattern in a loop use `while let`
[INFO] [stdout]     |
[INFO] [stdout] 789 -                         for son_vec_list in solution_map.get(*son) {
[INFO] [stdout] 789 +                         while let Some(son_vec_list) = solution_map.get(*son) {
[INFO] [stdout]     |
[INFO] [stdout] help: consider using `if let` to clear intent
[INFO] [stdout]     |
[INFO] [stdout] 789 -                         for son_vec_list in solution_map.get(*son) {
[INFO] [stdout] 789 +                         if let Some(son_vec_list) = solution_map.get(*son) {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: for loop over an `Option`. This is more readably written as an `if let` statement
[INFO] [stdout]    --> src/ddnnf.rs:815:45
[INFO] [stdout]     |
[INFO] [stdout] 815 |                         for son_vec_list in solution_map.get(*son) {
[INFO] [stdout]     |                                             ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: to check pattern in a loop use `while let`
[INFO] [stdout]     |
[INFO] [stdout] 815 -                         for son_vec_list in solution_map.get(*son) {
[INFO] [stdout] 815 +                         while let Some(son_vec_list) = solution_map.get(*son) {
[INFO] [stdout]     |
[INFO] [stdout] help: consider using `if let` to clear intent
[INFO] [stdout]     |
[INFO] [stdout] 815 -                         for son_vec_list in solution_map.get(*son) {
[INFO] [stdout] 815 +                         if let Some(son_vec_list) = solution_map.get(*son) {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling futures v0.3.28
[INFO] [stderr]    Compiling serial_test v2.0.0
[INFO] [stderr]    Compiling regex v1.9.3
[INFO] [stderr]    Compiling bstr v1.6.0
[INFO] [stderr]    Compiling predicates v3.1.0
[INFO] [stderr]    Compiling assert_cmd v2.0.12
[INFO] [stdout] warning: unexpected `cfg` condition value: `benchmarks`
[INFO] [stdout]  --> src/lib.rs:7:17
[INFO] [stdout]   |
[INFO] [stdout] 7 | #[cfg(all(test, feature = "benchmarks"))]
[INFO] [stdout]   |                 ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: expected values for `feature` are: `d4-oxide`
[INFO] [stdout]   = help: consider adding `benchmarks` as a feature in `Cargo.toml`
[INFO] [stdout]   = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]   = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `CNFToken` and `check_for_cnf_header`
[INFO] [stdout]  --> src/parser.rs:9:16
[INFO] [stdout]   |
[INFO] [stdout] 9 | use from_cnf::{check_for_cnf_header, CNFToken};
[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: `And`
[INFO] [stdout]   --> src/parser.rs:10:11
[INFO] [stdout]    |
[INFO] [stdout] 10 | use nom::{And, ToUsize};
[INFO] [stdout]    |           ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Write`, `hash::Hash`, and `time::Duration`
[INFO] [stdout]   --> src/parser.rs:19:113
[INFO] [stdout]    |
[INFO] [stdout] 19 | ...Str, fs::{self, File}, hash::Hash, io::{BufRead, BufReader, Write}, path::Path, process, rc::Rc, time::Duration
[INFO] [stdout]    |                           ^^^^^^^^^^                           ^^^^^                                ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `anomalies::t_wise_sampling::sat_wrapper`, `self`, and `self`
[INFO] [stdout]   --> src/parser.rs:24:20
[INFO] [stdout]    |
[INFO] [stdout] 24 | use crate::ddnnf::{self, anomalies::t_wise_sampling::sat_wrapper, node::{self, Node, NodeType}, Ddnnf};
[INFO] [stdout]    |                    ^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^         ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `EdgeIndex`, `Edge`, and `Neighbors`
[INFO] [stdout]   --> src/parser.rs:27:13
[INFO] [stdout]    |
[INFO] [stdout] 27 |     graph::{Edge, EdgeIndex, NodeIndex},
[INFO] [stdout]    |             ^^^^  ^^^^^^^^^
[INFO] [stdout] 28 |     stable_graph::{Neighbors, StableGraph},
[INFO] [stdout]    |                    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `iter::empty`
[INFO] [stdout]   --> src/parser.rs:35:13
[INFO] [stdout]    |
[INFO] [stdout] 35 | use rayon::{iter::empty, prelude::*};
[INFO] [stdout]    |             ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Mutex`
[INFO] [stdout]   --> src/parser.rs:36:5
[INFO] [stdout]    |
[INFO] [stdout] 36 | use std::sync::Mutex;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `d4`
[INFO] [stdout]   --> src/parser.rs:60:19
[INFO] [stdout]    |
[INFO] [stdout] 60 |             #[cfg(feature = "d4")]
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected values for `feature` are: `d4-oxide`
[INFO] [stdout]    = help: consider adding `d4` as a feature in `Cargo.toml`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `d4`
[INFO] [stdout]   --> src/parser.rs:84:23
[INFO] [stdout]    |
[INFO] [stdout] 84 |             #[cfg(not(feature = "d4"))]
[INFO] [stdout]    |                       ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected values for `feature` are: `d4-oxide`
[INFO] [stdout]    = help: consider adding `d4` as a feature in `Cargo.toml`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `d4`
[INFO] [stdout]    --> src/parser.rs:129:19
[INFO] [stdout]     |
[INFO] [stdout] 129 |             #[cfg(feature = "d4")]
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected values for `feature` are: `d4-oxide`
[INFO] [stdout]     = help: consider adding `d4` as a feature in `Cargo.toml`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `d4`
[INFO] [stdout]    --> src/parser.rs:153:23
[INFO] [stdout]     |
[INFO] [stdout] 153 |             #[cfg(not(feature = "d4"))]
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected values for `feature` are: `d4-oxide`
[INFO] [stdout]     = help: consider adding `d4` as a feature in `Cargo.toml`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: denote infinite loops with `loop { ... }`
[INFO] [stdout]    --> src/parser.rs:593:13
[INFO] [stdout]     |
[INFO] [stdout] 593 |             while true {
[INFO] [stdout]     |             ^^^^^^^^^^ help: use `loop`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(while_true)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/parser.rs:698:12
[INFO] [stdout]     |
[INFO] [stdout] 698 |         if (nx.index() < set.capacity() && set[nx.index()]) {
[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] 698 -         if (nx.index() < set.capacity() && set[nx.index()]) {
[INFO] [stdout] 698 +         if nx.index() < set.capacity() && set[nx.index()] {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/parser.rs:710:16
[INFO] [stdout]     |
[INFO] [stdout] 710 |             if (n.index() < set.capacity() && set[n.index()]) {
[INFO] [stdout]     |                ^                                            ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 710 -             if (n.index() < set.capacity() && set[n.index()]) {
[INFO] [stdout] 710 +             if n.index() < set.capacity() && set[n.index()] {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/parser.rs:912:12
[INFO] [stdout]     |
[INFO] [stdout] 912 |         if (neighbor.index() < set.capacity() && set[neighbor.index()]) {
[INFO] [stdout]     |            ^                                                          ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 912 -         if (neighbor.index() < set.capacity() && set[neighbor.index()]) {
[INFO] [stdout] 912 +         if neighbor.index() < set.capacity() && set[neighbor.index()] {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rand_distr::num_traits::ToPrimitive`
[INFO] [stdout]  --> src/ddnnf/counting/features.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use rand_distr::num_traits::ToPrimitive;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::node::NodeType`
[INFO] [stdout]  --> src/ddnnf/heuristics.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use super::node::NodeType;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary qualification
[INFO] [stdout]    --> src/ddnnf/multiple_queries.rs:127:17
[INFO] [stdout]     |
[INFO] [stdout] 127 |                 std::thread::yield_now();
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] note: the lint level is defined here
[INFO] [stdout]    --> src/lib.rs:2:9
[INFO] [stdout]     |
[INFO] [stdout]   2 | #![warn(unused_qualifications)]
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]     |
[INFO] [stdout] 127 -                 std::thread::yield_now();
[INFO] [stdout] 127 +                 thread::yield_now();
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary qualification
[INFO] [stdout]   --> src/ddnnf/stream.rs:65:25
[INFO] [stdout]    |
[INFO] [stdout] 65 |                         std::thread::park();
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]    |
[INFO] [stdout] 65 -                         std::thread::park();
[INFO] [stdout] 65 +                         thread::park();
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `VecDeque` and `hash::Hash`
[INFO] [stdout]  --> src/ddnnf.rs:8:53
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::{collections::{BTreeSet, HashMap, HashSet, VecDeque}, hash::Hash, io::BufRead, time::Duration};
[INFO] [stdout]   |                                                     ^^^^^^^^   ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `index`, `ptr::swap`, and `vec`
[INFO] [stdout]   --> src/ddnnf.rs:10:14
[INFO] [stdout]    |
[INFO] [stdout] 10 | use bitvec::{index, ptr::swap, vec};
[INFO] [stdout]    |              ^^^^^  ^^^^^^^^^  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `counting::features`
[INFO] [stdout]   --> src/ddnnf.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use counting::features;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Interleave`
[INFO] [stdout]   --> src/ddnnf.rs:12:25
[INFO] [stdout]    |
[INFO] [stdout] 12 | use itertools::{Either, Interleave};
[INFO] [stdout]    |                         ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rand_distr::num_traits::ToPrimitive`
[INFO] [stdout]   --> src/ddnnf.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use rand_distr::num_traits::ToPrimitive;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> src/ddnnf.rs:531:59
[INFO] [stdout]     |
[INFO] [stdout] 531 |     pub fn my_weighted_dp(&mut self, features: &[i32]) -> (Vec<(Integer, Vec<i32>)>) {
[INFO] [stdout]     |                                                           ^                        ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 531 -     pub fn my_weighted_dp(&mut self, features: &[i32]) -> (Vec<(Integer, Vec<i32>)>) {
[INFO] [stdout] 531 +     pub fn my_weighted_dp(&mut self, features: &[i32]) -> Vec<(Integer, Vec<i32>)> {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable statement
[INFO] [stdout]    --> src/ddnnf.rs:214:9
[INFO] [stdout]     |
[INFO] [stdout] 213 |         return;
[INFO] [stdout]     |         ------ any code following this expression is unreachable
[INFO] [stdout] 214 |         println!("node:");
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^ unreachable statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout]     = note: this warning originates in the macro `println` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ddnnf_lib::ddnnf::anomalies::t_wise_sampling::save_solution_to_file`
[INFO] [stdout]  --> src/bin/ddnnife.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use ddnnf_lib::ddnnf::anomalies::t_wise_sampling::save_solution_to_file;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/bin/ddnnife.rs:304:11
[INFO] [stdout]     |
[INFO] [stdout] 304 |         if(cli.m.is_some()){
[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] 304 -         if(cli.m.is_some()){
[INFO] [stdout] 304 +         if cli.m.is_some() {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/bin/ddnnife.rs:307:11
[INFO] [stdout]     |
[INFO] [stdout] 307 |         if(cli.n.is_some()){
[INFO] [stdout]     |           ^               ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 307 -         if(cli.n.is_some()){
[INFO] [stdout] 307 +         if cli.n.is_some() {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/bin/ddnnife.rs:310:11
[INFO] [stdout]     |
[INFO] [stdout] 310 |         if(cli.iter.is_some()){
[INFO] [stdout]     |           ^                  ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 310 -         if(cli.iter.is_some()){
[INFO] [stdout] 310 +         if cli.iter.is_some() {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `IntoNeighborsDirected`
[INFO] [stdout]   --> src/parser.rs:29:36
[INFO] [stdout]    |
[INFO] [stdout] 29 |     visit::{DfsPostOrder, EdgeRef, IntoNeighborsDirected},
[INFO] [stdout]    |                                    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ToUsize`
[INFO] [stdout]   --> src/parser.rs:10:16
[INFO] [stdout]    |
[INFO] [stdout] 10 | use nom::{And, ToUsize};
[INFO] [stdout]    |                ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `d`
[INFO] [stdout]     --> src/parser.rs:1151:9
[INFO] [stdout]      |
[INFO] [stdout] 1151 |     for d in 0..max_dep{
[INFO] [stdout]      |         ^ help: if this is intentional, prefix it with an underscore: `_d`
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/parser.rs:56:20
[INFO] [stdout]    |
[INFO] [stdout] 56 | pub fn build_ddnnf(mut path: &str, mut total_features: Option<u32>) -> Ddnnf {
[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/parser.rs:56:36
[INFO] [stdout]    |
[INFO] [stdout] 56 | pub fn build_ddnnf(mut path: &str, mut total_features: Option<u32>) -> Ddnnf {
[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/parser.rs:57:9
[INFO] [stdout]    |
[INFO] [stdout] 57 |     let mut clauses = BTreeSet::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/parser.rs:118:23
[INFO] [stdout]     |
[INFO] [stdout] 118 | pub fn my_build_ddnnf(mut path: &str, mut total_features: Option<u32>, m: u32,n: u32,t:u32) -> Ddnnf {
[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/parser.rs:118:39
[INFO] [stdout]     |
[INFO] [stdout] 118 | pub fn my_build_ddnnf(mut path: &str, mut total_features: Option<u32>, m: u32,n: u32,t:u32) -> Ddnnf {
[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/parser.rs:126:9
[INFO] [stdout]     |
[INFO] [stdout] 126 |     let mut clauses = BTreeSet::new();
[INFO] [stdout]     |         ----^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `features`
[INFO] [stdout]    --> src/parser.rs:418:30
[INFO] [stdout]     |
[INFO] [stdout] 418 |             Edge { from, to, features } => {
[INFO] [stdout]     |                              ^^^^^^^^ help: try ignoring the field: `features: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `raw`
[INFO] [stdout]    --> src/parser.rs:586:13
[INFO] [stdout]     |
[INFO] [stdout] 586 |         let raw = idx;
[INFO] [stdout]     |             ^^^ help: if this is intentional, prefix it with an underscore: `_raw`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `last` is assigned to, but never used
[INFO] [stdout]    --> src/parser.rs:591:21
[INFO] [stdout]     |
[INFO] [stdout] 591 |             let mut last = son;
[INFO] [stdout]     |                     ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using `_last` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `last` is never read
[INFO] [stdout]    --> src/parser.rs:609:21
[INFO] [stdout]     |
[INFO] [stdout] 609 |                     last = idx;
[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: variable `needless_edge_num` is assigned to, but never used
[INFO] [stdout]    --> src/parser.rs:814:17
[INFO] [stdout]     |
[INFO] [stdout] 814 |         let mut needless_edge_num = 0;
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using `_needless_edge_num` instead
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `ELTS`
[INFO] [stdout]     |
[INFO] [stdout] 814 -         let mut needless_edge_num = 0;
[INFO] [stdout] 814 +         let mut ddnnf::anomalies::atomic_sets::<impl ddnnf::Ddnnf>::get_signed_excludes::ELTS = 0;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `turn`
[INFO] [stdout]    --> src/parser.rs:764:5
[INFO] [stdout]     |
[INFO] [stdout] 764 |     turn: i32,
[INFO] [stdout]     |     ^^^^ help: if this is intentional, prefix it with an underscore: `_turn`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/parser.rs:766:9
[INFO] [stdout]     |
[INFO] [stdout] 766 |     let mut m: u32;
[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/parser.rs:767:9
[INFO] [stdout]     |
[INFO] [stdout] 767 |     let mut n: u32;
[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/parser.rs:768:9
[INFO] [stdout]     |
[INFO] [stdout] 768 |     let mut t: u32;
[INFO] [stdout]     |         ----^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `d`
[INFO] [stdout]     --> src/parser.rs:1016:9
[INFO] [stdout]      |
[INFO] [stdout] 1016 |     for d in 0..max_dep{
[INFO] [stdout]      |         ^ help: if this is intentional, prefix it with an underscore: `_d`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `start`
[INFO] [stdout]    --> src/ddnnf.rs:239:13
[INFO] [stdout]     |
[INFO] [stdout] 239 |         let start = Instant::now();
[INFO] [stdout]     |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_start`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/ddnnf.rs:615:13
[INFO] [stdout]     |
[INFO] [stdout] 615 |         for i in 0..len {
[INFO] [stdout]     |             ^
[INFO] [stdout]     |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]     |
[INFO] [stdout] 615 |         for _i in 0..len {
[INFO] [stdout]     |             +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `ELTS`
[INFO] [stdout]     |
[INFO] [stdout] 615 -         for i in 0..len {
[INFO] [stdout] 615 +         for ddnnf::anomalies::atomic_sets::<impl ddnnf::Ddnnf>::get_signed_excludes::ELTS in 0..len {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `w` is never read
[INFO] [stdout]    --> src/ddnnf.rs:636:33
[INFO] [stdout]     |
[INFO] [stdout] 636 |                         let mut w = Integer::ZERO;
[INFO] [stdout]     |                                 ^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `k`
[INFO] [stdout]    --> src/ddnnf.rs:640:29
[INFO] [stdout]     |
[INFO] [stdout] 640 |                         for k in 0..self.limit_solution_num as usize{
[INFO] [stdout]     |                             ^
[INFO] [stdout]     |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]     |
[INFO] [stdout] 640 |                         for _k in 0..self.limit_solution_num as usize{
[INFO] [stdout]     |                             +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `ELTS`
[INFO] [stdout]     |
[INFO] [stdout] 640 -                         for k in 0..self.limit_solution_num as usize{
[INFO] [stdout] 640 +                         for ddnnf::anomalies::atomic_sets::<impl ddnnf::Ddnnf>::get_signed_excludes::ELTS in 0..self.limit_solution_num as usize{
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `res` is never read
[INFO] [stdout]    --> src/ddnnf.rs:874:17
[INFO] [stdout]     |
[INFO] [stdout] 874 |         let mut res: Vec<(Integer, Vec<i32>)> = Vec::new();
[INFO] [stdout]     |                 ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/ddnnf.rs:855:13
[INFO] [stdout]     |
[INFO] [stdout] 855 |         for i in 0..self.number_of_variables + 1 {
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `Duration` should have a snake case name
[INFO] [stdout]     --> src/parser.rs:1055:9
[INFO] [stdout]      |
[INFO] [stdout] 1055 |     let Duration = start.elapsed();
[INFO] [stdout]      |         ^^^^^^^^ help: convert the identifier to snake case: `duration`
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `Duration` should have a snake case name
[INFO] [stdout]     --> src/parser.rs:1190:9
[INFO] [stdout]      |
[INFO] [stdout] 1190 |     let Duration = start.elapsed();
[INFO] [stdout]      |         ^^^^^^^^ help: convert the identifier to snake case: `duration`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DummyAndMerger` is never constructed
[INFO] [stdout]   --> src/ddnnf/anomalies/t_wise_sampling/sample_merger.rs:48:19
[INFO] [stdout]    |
[INFO] [stdout] 48 | pub(super) struct DummyAndMerger<'a> {
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DummyOrMerger` is never constructed
[INFO] [stdout]   --> src/ddnnf/anomalies/t_wise_sampling/sample_merger.rs:81:19
[INFO] [stdout]    |
[INFO] [stdout] 81 | pub(super) struct DummyOrMerger {}
[INFO] [stdout]    |                   ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `mark_nodes_start` and `mark_nodes` are never used
[INFO] [stdout]    --> src/ddnnf/counting/marking.rs:248:8
[INFO] [stdout]     |
[INFO] [stdout]   7 | impl Ddnnf {
[INFO] [stdout]     | ---------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 248 |     fn mark_nodes_start(&mut self, i: usize) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 263 |     fn mark_nodes(&mut self, i: usize) {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_depths` is never used
[INFO] [stdout]    --> src/ddnnf/heuristics.rs:111:8
[INFO] [stdout]     |
[INFO] [stdout]   8 | impl Ddnnf {
[INFO] [stdout]     | ---------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 111 |     fn get_depths(&mut self) {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_depth` is never used
[INFO] [stdout]    --> src/ddnnf/heuristics.rs:273:4
[INFO] [stdout]     |
[INFO] [stdout] 273 | fn get_depth(nodes: &[Node], indize: usize, count: u64) -> Vec<u64> {
[INFO] [stdout]     |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: for loop over an `Option`. This is more readably written as an `if let` statement
[INFO] [stdout]    --> src/ddnnf.rs:789:45
[INFO] [stdout]     |
[INFO] [stdout] 789 |                         for son_vec_list in solution_map.get(*son) {
[INFO] [stdout]     |                                             ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(for_loops_over_fallibles)]` on by default
[INFO] [stdout] help: to check pattern in a loop use `while let`
[INFO] [stdout]     |
[INFO] [stdout] 789 -                         for son_vec_list in solution_map.get(*son) {
[INFO] [stdout] 789 +                         while let Some(son_vec_list) = solution_map.get(*son) {
[INFO] [stdout]     |
[INFO] [stdout] help: consider using `if let` to clear intent
[INFO] [stdout]     |
[INFO] [stdout] 789 -                         for son_vec_list in solution_map.get(*son) {
[INFO] [stdout] 789 +                         if let Some(son_vec_list) = solution_map.get(*son) {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: for loop over an `Option`. This is more readably written as an `if let` statement
[INFO] [stdout]    --> src/ddnnf.rs:815:45
[INFO] [stdout]     |
[INFO] [stdout] 815 |                         for son_vec_list in solution_map.get(*son) {
[INFO] [stdout]     |                                             ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: to check pattern in a loop use `while let`
[INFO] [stdout]     |
[INFO] [stdout] 815 -                         for son_vec_list in solution_map.get(*son) {
[INFO] [stdout] 815 +                         while let Some(son_vec_list) = solution_map.get(*son) {
[INFO] [stdout]     |
[INFO] [stdout] help: consider using `if let` to clear intent
[INFO] [stdout]     |
[INFO] [stdout] 815 -                         for son_vec_list in solution_map.get(*son) {
[INFO] [stdout] 815 +                         if let Some(son_vec_list) = solution_map.get(*son) {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `pre_hashset_multi_thread` is never used
[INFO] [stdout]     --> src/parser.rs:1074:4
[INFO] [stdout]      |
[INFO] [stdout] 1074 | fn pre_hashset_multi_thread(
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_literals` is never used
[INFO] [stdout]     --> src/parser.rs:1209:4
[INFO] [stdout]      |
[INFO] [stdout] 1209 | fn get_literals(
[INFO] [stdout]      |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_literals_bitset` is never used
[INFO] [stdout]     --> src/parser.rs:1249:4
[INFO] [stdout]      |
[INFO] [stdout] 1249 | fn get_literals_bitset(
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 37.87s
[INFO] running `Command { std: "docker" "inspect" "fde5f5e06662e59fb1050913d9da6df6628a8f6cebb9244cff06fa9f2a457f1b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "fde5f5e06662e59fb1050913d9da6df6628a8f6cebb9244cff06fa9f2a457f1b", kill_on_drop: false }`
[INFO] [stdout] fde5f5e06662e59fb1050913d9da6df6628a8f6cebb9244cff06fa9f2a457f1b
