[INFO] cloning repository https://github.com/Mojashi/pcprec
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Mojashi/pcprec" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FMojashi%2Fpcprec", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FMojashi%2Fpcprec'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] bbceba04534dbdd81378dae71c8c020778624a7c
[INFO] checking Mojashi/pcprec against master#c8a31b780d5415358566a20b94912620a3f27067 for pr-139493-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FMojashi%2Fpcprec" "/workspace/builds/worker-6-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/Mojashi/pcprec
[INFO] finished tweaking git repo https://github.com/Mojashi/pcprec
[INFO] tweaked toml for git repo https://github.com/Mojashi/pcprec written to /workspace/builds/worker-6-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/Mojashi/pcprec on toolchain c8a31b780d5415358566a20b94912620a3f27067
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c8a31b780d5415358566a20b94912620a3f27067" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/Mojashi/pcprec 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" "+c8a31b780d5415358566a20b94912620a3f27067" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded kstring v2.0.0
[INFO] [stderr]   Downloaded gix-date v0.5.1
[INFO] [stderr]   Downloaded gix-transport v0.32.0
[INFO] [stderr]   Downloaded fwdansi v1.1.0
[INFO] [stderr]   Downloaded terminal_size v0.3.0
[INFO] [stderr]   Downloaded gix-diff v0.30.1
[INFO] [stderr]   Downloaded gix-revision v0.15.2
[INFO] [stderr]   Downloaded miow v0.6.0
[INFO] [stderr]   Downloaded gix-config-value v0.12.5
[INFO] [stderr]   Downloaded gix-fs v0.2.0
[INFO] [stderr]   Downloaded gix-validate v0.7.7
[INFO] [stderr]   Downloaded gix-discover v0.19.0
[INFO] [stderr]   Downloaded gix-trace v0.1.7
[INFO] [stderr]   Downloaded cargo-credential-macos-keychain v0.3.0
[INFO] [stderr]   Downloaded cargo-credential-wincred v0.3.0
[INFO] [stderr]   Downloaded gix-worktree v0.18.0
[INFO] [stderr]   Downloaded bytesize v1.3.0
[INFO] [stderr]   Downloaded cargo-credential v0.3.0
[INFO] [stderr]   Downloaded cargo-util v0.2.9
[INFO] [stderr]   Downloaded gix-mailmap v0.13.0
[INFO] [stderr]   Downloaded gix-config v0.23.0
[INFO] [stderr]   Downloaded chrono v0.4.34
[INFO] [stderr]   Downloaded cargo-credential-libsecret v0.3.1
[INFO] [stderr]   Downloaded cargo-platform v0.1.7
[INFO] [stderr]   Downloaded crates-io v0.38.0
[INFO] [stderr]   Downloaded git2-curl v0.18.0
[INFO] [stderr]   Downloaded rustfix v0.6.1
[INFO] [stderr]   Downloaded git2 v0.17.2
[INFO] [stderr]   Downloaded statrs v0.16.0
[INFO] [stderr]   Downloaded pest_derive v2.7.6
[INFO] [stderr]   Downloaded prodash v25.0.2
[INFO] [stderr]   Downloaded cargo-instruments v0.4.9
[INFO] [stderr]   Downloaded gix-chunk v0.4.7
[INFO] [stderr]   Downloaded curl v0.4.46
[INFO] [stderr]   Downloaded gix-quote v0.4.10
[INFO] [stderr]   Downloaded unicode-bom v2.0.3
[INFO] [stderr]   Downloaded normpath v1.2.0
[INFO] [stderr]   Downloaded gix-packetline v0.16.7
[INFO] [stderr]   Downloaded gix-object v0.30.0
[INFO] [stderr]   Downloaded gix-pack v0.36.0
[INFO] [stderr]   Downloaded gix-index v0.17.0
[INFO] [stderr]   Downloaded gix-prompt v0.5.5
[INFO] [stderr]   Downloaded ulid v1.1.2
[INFO] [stderr]   Downloaded gix-odb v0.46.0
[INFO] [stderr]   Downloaded maybe-async v0.2.10
[INFO] [stderr]   Downloaded gix-tempfile v6.0.0
[INFO] [stderr]   Downloaded faster-hex v0.8.1
[INFO] [stderr]   Downloaded gix-refspec v0.11.0
[INFO] [stderr]   Downloaded gix-ref v0.30.0
[INFO] [stderr]   Downloaded imara-diff v0.1.5
[INFO] [stderr]   Downloaded gix-attributes v0.13.1
[INFO] [stderr]   Downloaded orion v0.17.6
[INFO] [stderr]   Downloaded clru v0.6.1
[INFO] [stderr]   Downloaded gix-revwalk v0.1.0
[INFO] [stderr]   Downloaded gix-commitgraph v0.16.0
[INFO] [stderr]   Downloaded gix-negotiate v0.2.1
[INFO] [stderr]   Downloaded pest v2.7.6
[INFO] [stderr]   Downloaded ahash v0.8.9
[INFO] [stderr]   Downloaded gix-actor v0.21.0
[INFO] [stderr]   Downloaded gix-protocol v0.33.2
[INFO] [stderr]   Downloaded fiat-crypto v0.2.6
[INFO] [stderr]   Downloaded gix-sec v0.8.4
[INFO] [stderr]   Downloaded gix-features v0.30.0
[INFO] [stderr]   Downloaded gix-url v0.19.0
[INFO] [stderr]   Downloaded gix-ignore v0.3.0
[INFO] [stderr]   Downloaded time-macros v0.2.17
[INFO] [stderr]   Downloaded bytecount v0.6.7
[INFO] [stderr]   Downloaded editdistancek v1.0.2
[INFO] [stderr]   Downloaded clap_builder v4.5.1
[INFO] [stderr]   Downloaded gix-traverse v0.26.0
[INFO] [stderr]   Downloaded dot-generator v0.2.0
[INFO] [stderr]   Downloaded into-attr v0.1.1
[INFO] [stderr]   Downloaded getset v0.1.2
[INFO] [stderr]   Downloaded gix-credentials v0.15.0
[INFO] [stderr]   Downloaded into-attr-derive v0.2.1
[INFO] [stderr]   Downloaded gix-hashtable v0.2.4
[INFO] [stderr]   Downloaded http-auth v0.1.9
[INFO] [stderr]   Downloaded gix-utils v0.1.9
[INFO] [stderr]   Downloaded gix-lock v6.0.0
[INFO] [stderr]   Downloaded ct-codecs v1.1.1
[INFO] [stderr]   Downloaded ndarray v0.15.6
[INFO] [stderr]   Downloaded curl-sys v0.4.72+curl-8.6.0
[INFO] [stderr]   Downloaded pest_meta v2.7.6
[INFO] [stderr]   Downloaded gix-glob v0.8.0
[INFO] [stderr]   Downloaded gix-path v0.8.4
[INFO] [stderr]   Downloaded gix-hash v0.11.4
[INFO] [stderr]   Downloaded io-close v0.3.7
[INFO] [stderr]   Downloaded gix v0.45.1
[INFO] [stderr]   Downloaded pasetors v0.6.8
[INFO] [stderr]   Downloaded serde_ignored v0.1.10
[INFO] [stderr]   Downloaded env_logger v0.10.2
[INFO] [stderr]   Downloaded dot-structures v0.1.1
[INFO] [stderr]   Downloaded cargo v0.74.0
[INFO] [stderr]   Downloaded graphviz-rust v0.7.0
[INFO] [stderr]   Downloaded bio v1.5.0
[INFO] [stderr]   Downloaded gix-command v0.2.10
[INFO] [stderr]   Downloaded libnghttp2-sys v0.1.9+1.58.0
[INFO] [stderr]   Downloaded time v0.3.34
[INFO] [stderr]   Downloaded btoi v0.4.3
[INFO] [stderr]   Downloaded os_info v3.7.0
[INFO] [stderr]   Downloaded im-rc v15.1.0
[INFO] [stderr]   Downloaded gix-bitmap v0.2.10
[INFO] [stderr]   Downloaded pest_generator v2.7.6
[INFO] [stderr]   Downloaded triple_accel v0.4.0
[INFO] [stderr]   Downloaded clap v4.5.1
[INFO] [stderr]   Downloaded toml v0.7.8
[INFO] [stderr]   Downloaded structopt v0.3.26
[INFO] [stderr]   Downloaded bio-types v1.0.1
[INFO] [stderr]   Downloaded multimap v0.9.1
[INFO] [stderr]   Downloaded libgit2-sys v0.15.2+1.6.4
[INFO] [stderr]   Downloaded num-complex v0.4.5
[INFO] [stderr]   Downloaded kgst v0.1.1
[INFO] [stderr]   Downloaded ed25519-compact v2.1.1
[INFO] [stderr]   Downloaded opener v0.6.1
[INFO] [stderr]   Downloaded bstr v1.9.1
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+c8a31b780d5415358566a20b94912620a3f27067" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] bd62ca6a9b1354c9044d8b4301bf2f6e4067592dcb24ce20f4f862411c41fac1
[INFO] running `Command { std: "docker" "start" "-a" "bd62ca6a9b1354c9044d8b4301bf2f6e4067592dcb24ce20f4f862411c41fac1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "bd62ca6a9b1354c9044d8b4301bf2f6e4067592dcb24ce20f4f862411c41fac1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "bd62ca6a9b1354c9044d8b4301bf2f6e4067592dcb24ce20f4f862411c41fac1", kill_on_drop: false }`
[INFO] [stdout] bd62ca6a9b1354c9044d8b4301bf2f6e4067592dcb24ce20f4f862411c41fac1
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+c8a31b780d5415358566a20b94912620a3f27067" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] f32a5ebe2f19d0f1c3d9acca8def532bbafcd41c2f5d48ec1185cd77936fdba2
[INFO] running `Command { std: "docker" "start" "-a" "f32a5ebe2f19d0f1c3d9acca8def532bbafcd41c2f5d48ec1185cd77936fdba2", kill_on_drop: false }`
[INFO] [stderr] warning: pcp-rec-str v0.1.0 (/opt/rustwide/workdir) ignoring invalid dependency `cargo-instruments` which is missing a lib target
[INFO] [stderr]    Compiling proc-macro2 v1.0.76
[INFO] [stderr]    Compiling libc v0.2.152
[INFO] [stderr]     Checking memchr v2.7.1
[INFO] [stderr]    Compiling thiserror v1.0.56
[INFO] [stderr]    Compiling num-traits v0.2.18
[INFO] [stderr]    Compiling serde v1.0.196
[INFO] [stderr]    Compiling once_cell v1.19.0
[INFO] [stderr]    Compiling rustix v0.38.28
[INFO] [stderr]    Compiling matrixmultiply v0.3.8
[INFO] [stderr]     Checking bitflags v2.4.1
[INFO] [stderr]     Checking linux-raw-sys v0.4.12
[INFO] [stderr]    Compiling paste v1.0.14
[INFO] [stderr]     Checking bytemuck v1.14.3
[INFO] [stderr]    Compiling proc-macro-error-attr v1.0.4
[INFO] [stderr]    Compiling num-rational v0.4.1
[INFO] [stderr]     Checking safe_arch v0.7.1
[INFO] [stderr]    Compiling semver v0.1.20
[INFO] [stderr]    Compiling wasm-bindgen-shared v0.2.91
[INFO] [stderr]    Compiling quote v1.0.35
[INFO] [stderr]    Compiling rustversion v1.0.14
[INFO] [stderr]    Compiling rustc_version v0.1.7
[INFO] [stderr]     Checking wide v0.7.15
[INFO] [stderr]    Compiling syn v2.0.48
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]     Checking getrandom v0.2.11
[INFO] [stderr]     Checking num-integer v0.1.46
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]    Compiling jobserver v0.1.28
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking num-complex v0.4.5
[INFO] [stderr]     Checking approx v0.5.1
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]    Compiling cc v1.0.83
[INFO] [stderr]     Checking aho-corasick v1.1.2
[INFO] [stderr]    Compiling proc-macro-error v1.0.4
[INFO] [stderr]     Checking utf8parse v0.2.1
[INFO] [stderr]    Compiling feature-probe v0.1.1
[INFO] [stderr]     Checking regex-syntax v0.8.2
[INFO] [stderr]    Compiling ucd-trie v0.1.6
[INFO] [stderr]     Checking simba v0.6.0
[INFO] [stderr]    Compiling backtrace v0.3.69
[INFO] [stderr]    Compiling bv v0.11.1
[INFO] [stderr]     Checking anstyle-parse v0.2.3
[INFO] [stderr]     Checking rand_distr v0.4.3
[INFO] [stderr]    Compiling newtype_derive v0.1.6
[INFO] [stderr]    Compiling portable-atomic v1.6.0
[INFO] [stderr]    Compiling bumpalo v3.14.0
[INFO] [stderr]    Compiling anyhow v1.0.79
[INFO] [stderr]    Compiling dot-structures v0.1.1
[INFO] [stderr]     Checking anstyle v1.0.6
[INFO] [stderr]     Checking ryu v1.0.16
[INFO] [stderr]     Checking gimli v0.28.1
[INFO] [stderr]    Compiling log v0.4.20
[INFO] [stderr]     Checking equivalent v1.0.1
[INFO] [stderr]     Checking colorchoice v1.0.0
[INFO] [stderr]     Checking hashbrown v0.14.3
[INFO] [stderr]     Checking itoa v1.0.10
[INFO] [stderr]    Compiling heck v0.4.1
[INFO] [stderr]     Checking anstyle-query v1.0.2
[INFO] [stderr]     Checking anstream v0.6.11
[INFO] [stderr]     Checking miniz_oxide v0.7.2
[INFO] [stderr]     Checking indexmap v2.2.3
[INFO] [stderr]     Checking regex-automata v0.4.3
[INFO] [stderr]     Checking terminal_size v0.3.0
[INFO] [stderr]     Checking csv-core v0.1.11
[INFO] [stderr]     Checking object v0.32.2
[INFO] [stderr]    Compiling error-chain v0.12.4
[INFO] [stderr]     Checking bit-vec v0.6.3
[INFO] [stderr]     Checking clap_lex v0.7.0
[INFO] [stderr]    Compiling serde_json v1.0.113
[INFO] [stderr]     Checking either v1.9.0
[INFO] [stderr]     Checking fixedbitset v0.4.2
[INFO] [stderr]     Checking rustc-demangle v0.1.23
[INFO] [stderr]     Checking strsim v0.11.0
[INFO] [stderr]    Compiling nalgebra-macros v0.1.0
[INFO] [stderr]    Compiling derive-new v0.5.9
[INFO] [stderr]    Compiling wasm-bindgen-backend v0.2.91
[INFO] [stderr]     Checking unicode-width v0.1.11
[INFO] [stderr]     Checking console v0.15.8
[INFO] [stderr]     Checking clap_builder v4.5.1
[INFO] [stderr]     Checking addr2line v0.21.0
[INFO] [stderr]    Compiling getset v0.1.2
[INFO] [stderr]     Checking itertools v0.10.5
[INFO] [stderr]     Checking regex v1.10.2
[INFO] [stderr]    Compiling wasm-bindgen-macro-support v0.2.91
[INFO] [stderr]     Checking petgraph v0.6.4
[INFO] [stderr]     Checking fxhash v0.2.1
[INFO] [stderr]     Checking bit-set v0.5.3
[INFO] [stderr]    Compiling thiserror-impl v1.0.56
[INFO] [stderr]    Compiling serde_derive v1.0.196
[INFO] [stderr]    Compiling enum-map-derive v0.17.0
[INFO] [stderr]    Compiling strum_macros v0.25.3
[INFO] [stderr]     Checking enum-map v2.7.3
[INFO] [stderr]    Compiling into-attr v0.1.1
[INFO] [stderr]    Compiling dot-generator v0.2.0
[INFO] [stderr]     Checking ndarray v0.15.6
[INFO] [stderr]     Checking itertools-num v0.1.3
[INFO] [stderr]     Checking ordered-float v3.9.2
[INFO] [stderr]     Checking triple_accel v0.4.0
[INFO] [stderr]    Compiling pest v2.7.6
[INFO] [stderr]     Checking fastrand v2.0.1
[INFO] [stderr]     Checking nalgebra v0.29.0
[INFO] [stderr]     Checking bytecount v0.6.7
[INFO] [stderr]    Compiling wasm-bindgen v0.2.91
[INFO] [stderr]     Checking custom_derive v0.1.7
[INFO] [stderr]     Checking editdistancek v1.0.2
[INFO] [stderr]     Checking strum v0.25.0
[INFO] [stderr]     Checking tempfile v3.9.0
[INFO] [stderr]     Checking indicatif v0.17.8
[INFO] [stderr]    Compiling into-attr-derive v0.2.1
[INFO] [stderr]     Checking bio-types v1.0.1
[INFO] [stderr]     Checking clap v4.5.1
[INFO] [stderr]    Compiling wasm-bindgen-macro v0.2.91
[INFO] [stderr]    Compiling pest_meta v2.7.6
[INFO] [stderr]     Checking nom v7.1.3
[INFO] [stderr]     Checking ulid v1.1.2
[INFO] [stderr]    Compiling pest_generator v2.7.6
[INFO] [stderr]    Compiling pest_derive v2.7.6
[INFO] [stderr]     Checking graphviz-rust v0.7.0
[INFO] [stderr]     Checking vec_map v0.8.2
[INFO] [stderr]     Checking multimap v0.9.1
[INFO] [stderr]     Checking csv v1.3.0
[INFO] [stderr]     Checking statrs v0.16.0
[INFO] [stderr]     Checking bio v1.5.0
[INFO] [stderr]     Checking kgst v0.1.1
[INFO] [stderr]     Checking pcp-rec-str v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `graphviz_rust::print`
[INFO] [stdout]  --> src/automaton.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use graphviz_rust::print;
[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: `std::borrow::Borrow`
[INFO] [stdout]  --> src/conf_automaton.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::borrow::Borrow;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `borrow::Borrow`
[INFO] [stdout]  --> src/pcpseq.rs:1:11
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{borrow::Borrow, collections::HashSet};
[INFO] [stdout]   |           ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `regex::Regex`
[INFO] [stdout]  --> src/pcpseq.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use regex::Regex;
[INFO] [stdout]   |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `max`
[INFO] [stdout]  --> src/union_pdr.rs:2:11
[INFO] [stdout]   |
[INFO] [stdout] 2 |     cmp::{max, min},
[INFO] [stdout]   |           ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `NaiveSuffixTree` and `SuffixTreeTest`
[INFO] [stdout]  --> src/union_pdr.rs:9:19
[INFO] [stdout]   |
[INFO] [stdout] 9 |     suffix_tree::{NaiveSuffixTree, SuffixTree, SuffixTreeTest},
[INFO] [stdout]   |                   ^^^^^^^^^^^^^^^              ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `max` and `min`
[INFO] [stdout]  --> src/union_pdr2.rs:3:11
[INFO] [stdout]   |
[INFO] [stdout] 3 |     cmp::{max, min},
[INFO] [stdout]   |           ^^^  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AppRegex` and `BaseAutomaton`
[INFO] [stdout]  --> src/union_pdr2.rs:8:17
[INFO] [stdout]   |
[INFO] [stdout] 8 |     automaton::{AppRegex, BaseAutomaton, State, Transition, NFA},
[INFO] [stdout]   |                 ^^^^^^^^  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `hash::Hash`
[INFO] [stdout]  --> src/union_find.rs:1:44
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{collections::{HashMap, HashSet}, hash::Hash};
[INFO] [stdout]   |                                            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `graphviz_rust::print`
[INFO] [stdout]  --> src/automaton.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use graphviz_rust::print;
[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: `borrow::Borrow`
[INFO] [stdout]  --> src/pcpseq.rs:1:11
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{borrow::Borrow, collections::HashSet};
[INFO] [stdout]   |           ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `regex::Regex`
[INFO] [stdout]  --> src/pcpseq.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use regex::Regex;
[INFO] [stdout]   |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `max`
[INFO] [stdout]  --> src/union_pdr.rs:2:11
[INFO] [stdout]   |
[INFO] [stdout] 2 |     cmp::{max, min},
[INFO] [stdout]   |           ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `NaiveSuffixTree` and `SuffixTreeTest`
[INFO] [stdout]  --> src/union_pdr.rs:9:19
[INFO] [stdout]   |
[INFO] [stdout] 9 |     suffix_tree::{NaiveSuffixTree, SuffixTree, SuffixTreeTest},
[INFO] [stdout]   |                   ^^^^^^^^^^^^^^^              ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `max` and `min`
[INFO] [stdout]  --> src/union_pdr2.rs:3:11
[INFO] [stdout]   |
[INFO] [stdout] 3 |     cmp::{max, min},
[INFO] [stdout]   |           ^^^  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AppRegex` and `BaseAutomaton`
[INFO] [stdout]  --> src/union_pdr2.rs:8:17
[INFO] [stdout]   |
[INFO] [stdout] 8 |     automaton::{AppRegex, BaseAutomaton, State, Transition, NFA},
[INFO] [stdout]   |                 ^^^^^^^^  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `hash::Hash`
[INFO] [stdout]  --> src/union_find.rs:1:44
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{collections::{HashMap, HashSet}, hash::Hash};
[INFO] [stdout]   |                                            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `itertools::Itertools`
[INFO] [stdout]   --> src/suffix_tree.rs:92:9
[INFO] [stdout]    |
[INFO] [stdout] 92 |     use itertools::Itertools;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::suffix_tree::SuffixTree`
[INFO] [stdout]   --> src/suffix_tree.rs:94:9
[INFO] [stdout]    |
[INFO] [stdout] 94 |     use crate::suffix_tree::SuffixTree;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/pcpseq.rs:214:25
[INFO] [stdout]     |
[INFO] [stdout] 214 |         let (mut wilds, mut non_wilds): (Vec<PCPSequence>, Vec<PCPSequence>) = self
[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: unused variable: `s`
[INFO] [stdout]    --> src/pcpseq.rs:243:49
[INFO] [stdout]     |
[INFO] [stdout] 243 |                 .flat_map(|s| s.apply_pcp(pcp, |s| true))
[INFO] [stdout]     |                                                 ^ help: if this is intentional, prefix it with an underscore: `_s`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `s`
[INFO] [stdout]    --> src/pcpseq.rs:215:30
[INFO] [stdout]     |
[INFO] [stdout] 215 |             .apply_pcp(pcp, |s| true)
[INFO] [stdout]     |                              ^ help: if this is intentional, prefix it with an underscore: `_s`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `is_ok`
[INFO] [stdout]    --> src/pcpseq.rs:212:9
[INFO] [stdout]     |
[INFO] [stdout] 212 |         is_ok: impl Fn(&PCPSequence) -> bool,
[INFO] [stdout]     |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_is_ok`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dir`
[INFO] [stdout]    --> src/union_pdr.rs:125:49
[INFO] [stdout]     |
[INFO] [stdout] 125 |         PCPSequence::Exact(ExactSequence { seq, dir }) => seq.clone(),
[INFO] [stdout]     |                                                 ^^^ help: try ignoring the field: `dir: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dir`
[INFO] [stdout]    --> src/union_pdr.rs:126:55
[INFO] [stdout]     |
[INFO] [stdout] 126 |         PCPSequence::MidExact(MidExactSequence { mid, dir }) => mid.clone(),
[INFO] [stdout]     |                                                       ^^^ help: try ignoring the field: `dir: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `nexts`
[INFO] [stdout]    --> src/union_pdr.rs:278:35
[INFO] [stdout]     |
[INFO] [stdout] 278 |             Some(DependsOn::Nexts(ref nexts)) => {
[INFO] [stdout]     |                                   ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_nexts`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `mid`
[INFO] [stdout]    --> src/union_pdr.rs:376:65
[INFO] [stdout]     |
[INFO] [stdout] 376 |             || (if let PCPSequence::MidExact(MidExactSequence { mid, dir }) = seq {
[INFO] [stdout]     |                                                                 ^^^ help: try ignoring the field: `mid: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dir`
[INFO] [stdout]    --> src/union_pdr.rs:376:70
[INFO] [stdout]     |
[INFO] [stdout] 376 |             || (if let PCPSequence::MidExact(MidExactSequence { mid, dir }) = seq {
[INFO] [stdout]     |                                                                      ^^^ help: try ignoring the field: `dir: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dir`
[INFO] [stdout]    --> src/union_pdr.rs:491:59
[INFO] [stdout]     |
[INFO] [stdout] 491 |             PCPSequence::MidExact(MidExactSequence { mid, dir }) => mid.len() == 1,
[INFO] [stdout]     |                                                           ^^^ help: try ignoring the field: `dir: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dir`
[INFO] [stdout]    --> src/union_pdr.rs:558:61
[INFO] [stdout]     |
[INFO] [stdout] 558 |                     PCPSequence::Exact(ExactSequence { seq, dir }) => seq.to_string(),
[INFO] [stdout]     |                                                             ^^^ help: try ignoring the field: `dir: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dir`
[INFO] [stdout]    --> src/union_pdr.rs:559:67
[INFO] [stdout]     |
[INFO] [stdout] 559 |                     PCPSequence::MidExact(MidExactSequence { mid, dir }) => format!(".*{mid}.*"),
[INFO] [stdout]     |                                                                   ^^^ help: try ignoring the field: `dir: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `id`
[INFO] [stdout]    --> src/union_pdr.rs:577:74
[INFO] [stdout]     |
[INFO] [stdout] 577 |             let is_abstract_dep = if let Some(DependsOn::Abstract((_, _, id))) = &node.depends_on {
[INFO] [stdout]     |                                                                          ^^ help: if this is intentional, prefix it with an underscore: `_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `nexts`
[INFO] [stdout]    --> src/union_pdr2.rs:340:39
[INFO] [stdout]     |
[INFO] [stdout] 340 |                 Some(DependsOn::Nexts(ref nexts)) => {
[INFO] [stdout]     |                                       ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_nexts`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `id`
[INFO] [stdout]    --> src/union_pdr2.rs:344:49
[INFO] [stdout]     |
[INFO] [stdout] 344 |                 Some(DependsOn::Abstract((None, id))) => {
[INFO] [stdout]     |                                                 ^^ help: if this is intentional, prefix it with an underscore: `_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `id`
[INFO] [stdout]    --> src/union_pdr2.rs:347:53
[INFO] [stdout]     |
[INFO] [stdout] 347 |                 Some(DependsOn::Abstract((Some(ds), id))) => {
[INFO] [stdout]     |                                                     ^^ help: if this is intentional, prefix it with an underscore: `_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `id`
[INFO] [stdout]    --> src/union_pdr2.rs:618:71
[INFO] [stdout]     |
[INFO] [stdout] 618 |             let is_abstract_dep = if let Some(DependsOn::Abstract((_, id))) = &node.depends_on {
[INFO] [stdout]     |                                                                       ^^ help: if this is intentional, prefix it with an underscore: `_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/suffix_tree.rs:146:17
[INFO] [stdout]     |
[INFO] [stdout] 146 |             let mut nd = Node {
[INFO] [stdout]     |                 ----^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `gen_random_pcp` is never used
[INFO] [stdout]   --> src/pcp.rs:66:4
[INFO] [stdout]    |
[INFO] [stdout] 66 | fn gen_random_pcp(num_tile: usize, tile_size: usize) -> PCP {
[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 `prevs` is never used
[INFO] [stdout]   --> src/union_pdr.rs:36:4
[INFO] [stdout]    |
[INFO] [stdout] 36 | fn prevs(seq: &PCPConfig, pcp: &PCP) -> Vec<PCPConfig> {
[INFO] [stdout]    |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `substrings` is never used
[INFO] [stdout]    --> src/union_pdr.rs:150:4
[INFO] [stdout]     |
[INFO] [stdout] 150 | fn substrings(s: &str, min_len: usize, max_len: usize) -> Vec<String> {
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `prevs` is never used
[INFO] [stdout]   --> src/union_pdr2.rs:61:4
[INFO] [stdout]    |
[INFO] [stdout] 61 | fn prevs(seq: &PCPConfig, pcp: &PCP) -> Vec<PCPConfig> {
[INFO] [stdout]    |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MAX_SUBSTR_LEN` is never used
[INFO] [stdout]    --> src/union_pdr2.rs:142:7
[INFO] [stdout]     |
[INFO] [stdout] 142 | const MAX_SUBSTR_LEN: u32 = 40;
[INFO] [stdout]     |       ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `substrings` is never used
[INFO] [stdout]    --> src/union_pdr2.rs:160:4
[INFO] [stdout]     |
[INFO] [stdout] 160 | fn substrings(s: &str, min_len: usize, max_len: usize) -> Vec<String> {
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> src/automaton.rs:119:24
[INFO] [stdout]     |
[INFO] [stdout] 119 |         format!("q{}", STATE_COUNTER)
[INFO] [stdout]     |                        ^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout]     = note: `#[warn(static_mut_refs)]` (part of `#[warn(rust_2024_compatibility)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `toAut` should have a snake case name
[INFO] [stdout]   --> src/conf_automaton.rs:79:12
[INFO] [stdout]    |
[INFO] [stdout] 79 |     pub fn toAut(&self) -> PCPConf {
[INFO] [stdout]    |            ^^^^^ help: convert the identifier to snake case: `to_aut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `itertools::Itertools`
[INFO] [stdout]   --> src/suffix_tree.rs:92:9
[INFO] [stdout]    |
[INFO] [stdout] 92 |     use itertools::Itertools;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `pcp_rec_str::union_pdr2`
[INFO] [stdout]  --> src/bin/interactive.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use pcp_rec_str::union_pdr2;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/bin/interactive.rs:17:9
[INFO] [stdout]    |
[INFO] [stdout] 17 |     let mut aut = pcp.to_automaton();
[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: unused variable: `aut`
[INFO] [stdout]   --> src/bin/interactive.rs:17:9
[INFO] [stdout]    |
[INFO] [stdout] 17 |     let mut aut = pcp.to_automaton();
[INFO] [stdout]    |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_aut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pcp`
[INFO] [stdout]   --> src/bin/union_pdr2.rs:19:9
[INFO] [stdout]    |
[INFO] [stdout] 19 |     let pcp = PCP::parse_pcp_string("PCP(Vector(Tile(1111,1), Tile(1,1001), Tile(0,11)))");
[INFO] [stdout]    |         ^^^ help: if this is intentional, prefix it with an underscore: `_pcp`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pcp`
[INFO] [stdout]   --> src/bin/union_pdr2.rs:21:9
[INFO] [stdout]    |
[INFO] [stdout] 21 |     let pcp = PCP::parse_pcp_string("PCP(Vector(Tile(1110,1), Tile(01,11), Tile(1,011)))");
[INFO] [stdout]    |         ^^^ help: if this is intentional, prefix it with an underscore: `_pcp`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pcp`
[INFO] [stdout]   --> src/bin/union_pdr2.rs:23:9
[INFO] [stdout]    |
[INFO] [stdout] 23 |     let pcp = PCP::parse_pcp_string("PCP(Vector(Tile(1110,1), Tile(1,10), Tile(0,1110)))");//30
[INFO] [stdout]    |         ^^^ help: if this is intentional, prefix it with an underscore: `_pcp`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pcp`
[INFO] [stdout]   --> src/bin/union_pdr2.rs:24:9
[INFO] [stdout]    |
[INFO] [stdout] 24 |     let pcp = PCP::parse_pcp_string("PCP(Vector(Tile(10,0), Tile(0,001), Tile(001,1)))");
[INFO] [stdout]    |         ^^^ help: if this is intentional, prefix it with an underscore: `_pcp`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pcp`
[INFO] [stdout]   --> src/bin/union_pdr2.rs:25:9
[INFO] [stdout]    |
[INFO] [stdout] 25 |     let pcp = PCP::parse_pcp_string("PCP(Vector(Tile(1111,1), Tile(1,1110), Tile(0,1111)))");//20
[INFO] [stdout]    |         ^^^ help: if this is intentional, prefix it with an underscore: `_pcp`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pcp`
[INFO] [stdout]   --> src/bin/union_pdr2.rs:27:9
[INFO] [stdout]    |
[INFO] [stdout] 27 |     let pcp = PCP::parse_pcp_string("PCP(Vector(Tile(1111,11), Tile(10,111), Tile(1,1110)))").reverse_pcp();//0
[INFO] [stdout]    |         ^^^ help: if this is intentional, prefix it with an underscore: `_pcp`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_file` is never used
[INFO] [stdout]  --> src/bin/union_pdr2.rs:6:4
[INFO] [stdout]   |
[INFO] [stdout] 6 | fn parse_file(f: &str) -> Vec<(String, PCP)> {
[INFO] [stdout]   |    ^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around closure body
[INFO] [stdout]    --> src/main.rs:444:31
[INFO] [stdout]     |
[INFO] [stdout] 444 |         nexts.sort_by_key(|s| (s.num_chars() as i32));
[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] 444 -         nexts.sort_by_key(|s| (s.num_chars() as i32));
[INFO] [stdout] 444 +         nexts.sort_by_key(|s| s.num_chars() as i32 );
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pcp`
[INFO] [stdout]   --> src/bin/union_pdr2.rs:19:9
[INFO] [stdout]    |
[INFO] [stdout] 19 |     let pcp = PCP::parse_pcp_string("PCP(Vector(Tile(1111,1), Tile(1,1001), Tile(0,11)))");
[INFO] [stdout]    |         ^^^ help: if this is intentional, prefix it with an underscore: `_pcp`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around closure body
[INFO] [stdout]    --> src/main.rs:444:31
[INFO] [stdout]     |
[INFO] [stdout] 444 |         nexts.sort_by_key(|s| (s.num_chars() as i32));
[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] 444 -         nexts.sort_by_key(|s| (s.num_chars() as i32));
[INFO] [stdout] 444 +         nexts.sort_by_key(|s| s.num_chars() as i32 );
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pcp`
[INFO] [stdout]   --> src/bin/union_pdr2.rs:21:9
[INFO] [stdout]    |
[INFO] [stdout] 21 |     let pcp = PCP::parse_pcp_string("PCP(Vector(Tile(1110,1), Tile(01,11), Tile(1,011)))");
[INFO] [stdout]    |         ^^^ help: if this is intentional, prefix it with an underscore: `_pcp`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pcp`
[INFO] [stdout]   --> src/bin/union_pdr2.rs:23:9
[INFO] [stdout]    |
[INFO] [stdout] 23 |     let pcp = PCP::parse_pcp_string("PCP(Vector(Tile(1110,1), Tile(1,10), Tile(0,1110)))");//30
[INFO] [stdout]    |         ^^^ help: if this is intentional, prefix it with an underscore: `_pcp`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pcp`
[INFO] [stdout]   --> src/bin/union_pdr2.rs:24:9
[INFO] [stdout]    |
[INFO] [stdout] 24 |     let pcp = PCP::parse_pcp_string("PCP(Vector(Tile(10,0), Tile(0,001), Tile(001,1)))");
[INFO] [stdout]    |         ^^^ help: if this is intentional, prefix it with an underscore: `_pcp`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pcp`
[INFO] [stdout]   --> src/bin/union_pdr2.rs:25:9
[INFO] [stdout]    |
[INFO] [stdout] 25 |     let pcp = PCP::parse_pcp_string("PCP(Vector(Tile(1111,1), Tile(1,1110), Tile(0,1111)))");//20
[INFO] [stdout]    |         ^^^ help: if this is intentional, prefix it with an underscore: `_pcp`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pcp`
[INFO] [stdout]   --> src/bin/union_pdr2.rs:27:9
[INFO] [stdout]    |
[INFO] [stdout] 27 |     let pcp = PCP::parse_pcp_string("PCP(Vector(Tile(1111,11), Tile(10,111), Tile(1,1110)))").reverse_pcp();//0
[INFO] [stdout]    |         ^^^ help: if this is intentional, prefix it with an underscore: `_pcp`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_file` is never used
[INFO] [stdout]  --> src/bin/union_pdr2.rs:6:4
[INFO] [stdout]   |
[INFO] [stdout] 6 | fn parse_file(f: &str) -> Vec<(String, PCP)> {
[INFO] [stdout]   |    ^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pcp`
[INFO] [stdout]   --> src/bin/union_pdr.rs:19:9
[INFO] [stdout]    |
[INFO] [stdout] 19 |     let pcp = PCP::parse_pcp_string("PCP(Vector(Tile(1111,1), Tile(1,1001), Tile(0,11)))");
[INFO] [stdout]    |         ^^^ help: if this is intentional, prefix it with an underscore: `_pcp`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pcp`
[INFO] [stdout]   --> src/bin/union_pdr.rs:20:9
[INFO] [stdout]    |
[INFO] [stdout] 20 |     let pcp = PCP::parse_pcp_string("PCP(Vector(Tile(1101,1), Tile(0110,11), Tile(1,110)))");//hard
[INFO] [stdout]    |         ^^^ help: if this is intentional, prefix it with an underscore: `_pcp`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pcp`
[INFO] [stdout]   --> src/bin/union_pdr.rs:23:9
[INFO] [stdout]    |
[INFO] [stdout] 23 |     let pcp = PCP::parse_pcp_string("PCP(Vector(Tile(1110,1), Tile(01,11), Tile(1,011)))");
[INFO] [stdout]    |         ^^^ help: if this is intentional, prefix it with an underscore: `_pcp`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pcp`
[INFO] [stdout]   --> src/bin/union_pdr.rs:25:9
[INFO] [stdout]    |
[INFO] [stdout] 25 |     let pcp = PCP::parse_pcp_string("PCP(Vector(Tile(100,1)Tile(0,100)Tile(1,00))))");//solvable
[INFO] [stdout]    |         ^^^ help: if this is intentional, prefix it with an underscore: `_pcp`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pcp`
[INFO] [stdout]   --> src/bin/union_pdr.rs:26:9
[INFO] [stdout]    |
[INFO] [stdout] 26 |     let pcp = PCP::parse_pcp_string("PCP(Vector(Tile(110,1), Tile(1,0), Tile(0,110)))");//hard
[INFO] [stdout]    |         ^^^ help: if this is intentional, prefix it with an underscore: `_pcp`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pcp`
[INFO] [stdout]   --> src/bin/union_pdr.rs:28:9
[INFO] [stdout]    |
[INFO] [stdout] 28 |     let pcp = PCP::parse_pcp_string("PCP(Vector(Tile(1111,11), Tile(10,111), Tile(1,1110)))").reverse_pcp();//0
[INFO] [stdout]    |         ^^^ help: if this is intentional, prefix it with an underscore: `_pcp`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pcp`
[INFO] [stdout]   --> src/bin/union_pdr.rs:29:9
[INFO] [stdout]    |
[INFO] [stdout] 29 |     let pcp = PCP::parse_pcp_string("PCP(Vector(Tile(1111,1), Tile(10,11), Tile(1,1110)))");//20
[INFO] [stdout]    |         ^^^ help: if this is intentional, prefix it with an underscore: `_pcp`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pcp`
[INFO] [stdout]   --> src/bin/union_pdr.rs:30:9
[INFO] [stdout]    |
[INFO] [stdout] 30 |     let pcp = PCP::parse_pcp_string("PCP(Vector(Tile(1110,1), Tile(1,10), Tile(0,1110)))");//30
[INFO] [stdout]    |         ^^^ help: if this is intentional, prefix it with an underscore: `_pcp`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pcp`
[INFO] [stdout]   --> src/bin/union_pdr.rs:31:9
[INFO] [stdout]    |
[INFO] [stdout] 31 |     let pcp = PCP::parse_pcp_string("PCP(Vector(Tile(10,0), Tile(0,001), Tile(001,1)))");
[INFO] [stdout]    |         ^^^ help: if this is intentional, prefix it with an underscore: `_pcp`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pcp`
[INFO] [stdout]   --> src/bin/union_pdr.rs:32:9
[INFO] [stdout]    |
[INFO] [stdout] 32 |     let pcp = PCP::parse_pcp_string("PCP(Vector(Tile(1111,1), Tile(1,1110), Tile(0,1111)))");//20
[INFO] [stdout]    |         ^^^ help: if this is intentional, prefix it with an underscore: `_pcp`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_file` is never used
[INFO] [stdout]  --> src/bin/union_pdr.rs:6:4
[INFO] [stdout]   |
[INFO] [stdout] 6 | fn parse_file(f: &str) -> Vec<(String, PCP)> {
[INFO] [stdout]   |    ^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pcp`
[INFO] [stdout]   --> src/bin/union_pdr.rs:19:9
[INFO] [stdout]    |
[INFO] [stdout] 19 |     let pcp = PCP::parse_pcp_string("PCP(Vector(Tile(1111,1), Tile(1,1001), Tile(0,11)))");
[INFO] [stdout]    |         ^^^ help: if this is intentional, prefix it with an underscore: `_pcp`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pcp`
[INFO] [stdout]   --> src/bin/union_pdr.rs:20:9
[INFO] [stdout]    |
[INFO] [stdout] 20 |     let pcp = PCP::parse_pcp_string("PCP(Vector(Tile(1101,1), Tile(0110,11), Tile(1,110)))");//hard
[INFO] [stdout]    |         ^^^ help: if this is intentional, prefix it with an underscore: `_pcp`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pcp`
[INFO] [stdout]   --> src/bin/union_pdr.rs:23:9
[INFO] [stdout]    |
[INFO] [stdout] 23 |     let pcp = PCP::parse_pcp_string("PCP(Vector(Tile(1110,1), Tile(01,11), Tile(1,011)))");
[INFO] [stdout]    |         ^^^ help: if this is intentional, prefix it with an underscore: `_pcp`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pcp`
[INFO] [stdout]   --> src/bin/union_pdr.rs:25:9
[INFO] [stdout]    |
[INFO] [stdout] 25 |     let pcp = PCP::parse_pcp_string("PCP(Vector(Tile(100,1)Tile(0,100)Tile(1,00))))");//solvable
[INFO] [stdout]    |         ^^^ help: if this is intentional, prefix it with an underscore: `_pcp`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pcp`
[INFO] [stdout]   --> src/bin/union_pdr.rs:26:9
[INFO] [stdout]    |
[INFO] [stdout] 26 |     let pcp = PCP::parse_pcp_string("PCP(Vector(Tile(110,1), Tile(1,0), Tile(0,110)))");//hard
[INFO] [stdout]    |         ^^^ help: if this is intentional, prefix it with an underscore: `_pcp`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pcp`
[INFO] [stdout]   --> src/bin/union_pdr.rs:28:9
[INFO] [stdout]    |
[INFO] [stdout] 28 |     let pcp = PCP::parse_pcp_string("PCP(Vector(Tile(1111,11), Tile(10,111), Tile(1,1110)))").reverse_pcp();//0
[INFO] [stdout]    |         ^^^ help: if this is intentional, prefix it with an underscore: `_pcp`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pcp`
[INFO] [stdout]   --> src/bin/union_pdr.rs:29:9
[INFO] [stdout]    |
[INFO] [stdout] 29 |     let pcp = PCP::parse_pcp_string("PCP(Vector(Tile(1111,1), Tile(10,11), Tile(1,1110)))");//20
[INFO] [stdout]    |         ^^^ help: if this is intentional, prefix it with an underscore: `_pcp`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pcp`
[INFO] [stdout]   --> src/bin/union_pdr.rs:30:9
[INFO] [stdout]    |
[INFO] [stdout] 30 |     let pcp = PCP::parse_pcp_string("PCP(Vector(Tile(1110,1), Tile(1,10), Tile(0,1110)))");//30
[INFO] [stdout]    |         ^^^ help: if this is intentional, prefix it with an underscore: `_pcp`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pcp`
[INFO] [stdout]   --> src/bin/union_pdr.rs:31:9
[INFO] [stdout]    |
[INFO] [stdout] 31 |     let pcp = PCP::parse_pcp_string("PCP(Vector(Tile(10,0), Tile(0,001), Tile(001,1)))");
[INFO] [stdout]    |         ^^^ help: if this is intentional, prefix it with an underscore: `_pcp`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pcp`
[INFO] [stdout]   --> src/bin/union_pdr.rs:32:9
[INFO] [stdout]    |
[INFO] [stdout] 32 |     let pcp = PCP::parse_pcp_string("PCP(Vector(Tile(1111,1), Tile(1,1110), Tile(0,1111)))");//20
[INFO] [stdout]    |         ^^^ help: if this is intentional, prefix it with an underscore: `_pcp`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_file` is never used
[INFO] [stdout]  --> src/bin/union_pdr.rs:6:4
[INFO] [stdout]   |
[INFO] [stdout] 6 | fn parse_file(f: &str) -> Vec<(String, PCP)> {
[INFO] [stdout]   |    ^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ConfAutomaton`
[INFO] [stdout]  --> src/bin/oracle.rs:3:35
[INFO] [stdout]   |
[INFO] [stdout] 3 | use pcp_rec_str::conf_automaton::{ConfAutomaton, PCPConf};
[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: `pcp_rec_str::union_pdr2::union_pdr`
[INFO] [stdout]  --> src/bin/oracle.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use pcp_rec_str::union_pdr2::union_pdr;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_file` is never used
[INFO] [stdout]  --> src/bin/experiment.rs:6:4
[INFO] [stdout]   |
[INFO] [stdout] 6 | fn parse_file(f: &str) -> Vec<(String, PCP)> {
[INFO] [stdout]   |    ^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ConfAutomaton`
[INFO] [stdout]  --> src/bin/oracle.rs:3:35
[INFO] [stdout]   |
[INFO] [stdout] 3 | use pcp_rec_str::conf_automaton::{ConfAutomaton, PCPConf};
[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: `pcp_rec_str::union_pdr2::union_pdr`
[INFO] [stdout]  --> src/bin/oracle.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use pcp_rec_str::union_pdr2::union_pdr;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_file` is never used
[INFO] [stdout]  --> src/bin/oracle.rs:8:4
[INFO] [stdout]   |
[INFO] [stdout] 8 | fn parse_file(f: &str) -> Vec<(String, PCP)> {
[INFO] [stdout]   |    ^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `pcp_rec_str::union_pdr2`
[INFO] [stdout]  --> src/bin/interactive.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use pcp_rec_str::union_pdr2;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_file` is never used
[INFO] [stdout]  --> src/bin/oracle.rs:8:4
[INFO] [stdout]   |
[INFO] [stdout] 8 | fn parse_file(f: &str) -> Vec<(String, PCP)> {
[INFO] [stdout]   |    ^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/bin/interactive.rs:17:9
[INFO] [stdout]    |
[INFO] [stdout] 17 |     let mut aut = pcp.to_automaton();
[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: unused variable: `aut`
[INFO] [stdout]   --> src/bin/interactive.rs:17:9
[INFO] [stdout]    |
[INFO] [stdout] 17 |     let mut aut = pcp.to_automaton();
[INFO] [stdout]    |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_aut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_file` is never used
[INFO] [stdout]  --> src/bin/experiment.rs:6:4
[INFO] [stdout]   |
[INFO] [stdout] 6 | fn parse_file(f: &str) -> Vec<(String, PCP)> {
[INFO] [stdout]   |    ^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/main.rs:55:17
[INFO] [stdout]    |
[INFO] [stdout] 55 |             let mut ret = vec![];
[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: unused variable: `e`
[INFO] [stdout]   --> src/main.rs:54:30
[INFO] [stdout]    |
[INFO] [stdout] 54 |         PCPSequence::MidWild(e) => {
[INFO] [stdout]    |                              ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `s`
[INFO] [stdout]    --> src/main.rs:252:40
[INFO] [stdout]     |
[INFO] [stdout] 252 |         let next = seq.apply_pcp(pcp, |s| true);
[INFO] [stdout]     |                                        ^ help: if this is intentional, prefix it with an underscore: `_s`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `assumptions`
[INFO] [stdout]    --> src/main.rs:208:5
[INFO] [stdout]     |
[INFO] [stdout] 208 |     assumptions: &Vec<&PCPSequence>,
[INFO] [stdout]     |     ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_assumptions`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/conf_automaton.rs:236:9
[INFO] [stdout]     |
[INFO] [stdout] 236 |     for i in 0..6 {
[INFO] [stdout]     |         ^ help: if this is intentional, prefix it with an underscore: `_i`
[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/main.rs:55:17
[INFO] [stdout]    |
[INFO] [stdout] 55 |             let mut ret = vec![];
[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: unused variable: `e`
[INFO] [stdout]   --> src/main.rs:54:30
[INFO] [stdout]    |
[INFO] [stdout] 54 |         PCPSequence::MidWild(e) => {
[INFO] [stdout]    |                              ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `f`
[INFO] [stdout]    --> src/main.rs:391:25
[INFO] [stdout]     |
[INFO] [stdout] 391 |             if let Some(f) = state.emptied.iter().find(|f| s.contains(f)) {
[INFO] [stdout]     |                         ^ help: if this is intentional, prefix it with an underscore: `_f`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/main.rs:585:9
[INFO] [stdout]     |
[INFO] [stdout] 585 |     let mut firsts = ExactSequence {
[INFO] [stdout]     |         ----^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `s`
[INFO] [stdout]    --> src/pcpseq.rs:110:39
[INFO] [stdout]     |
[INFO] [stdout] 110 |     let nexts = s.apply_tile(&tile, &|s| true);
[INFO] [stdout]     |                                       ^ help: if this is intentional, prefix it with an underscore: `_s`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `s`
[INFO] [stdout]    --> src/main.rs:252:40
[INFO] [stdout]     |
[INFO] [stdout] 252 |         let next = seq.apply_pcp(pcp, |s| true);
[INFO] [stdout]     |                                        ^ help: if this is intentional, prefix it with an underscore: `_s`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `assumptions`
[INFO] [stdout]    --> src/main.rs:208:5
[INFO] [stdout]     |
[INFO] [stdout] 208 |     assumptions: &Vec<&PCPSequence>,
[INFO] [stdout]     |     ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_assumptions`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/pcpseq.rs:214:25
[INFO] [stdout]     |
[INFO] [stdout] 214 |         let (mut wilds, mut non_wilds): (Vec<PCPSequence>, Vec<PCPSequence>) = self
[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: unused variable: `s`
[INFO] [stdout]    --> src/pcpseq.rs:243:49
[INFO] [stdout]     |
[INFO] [stdout] 243 |                 .flat_map(|s| s.apply_pcp(pcp, |s| true))
[INFO] [stdout]     |                                                 ^ help: if this is intentional, prefix it with an underscore: `_s`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `s`
[INFO] [stdout]    --> src/pcpseq.rs:215:30
[INFO] [stdout]     |
[INFO] [stdout] 215 |             .apply_pcp(pcp, |s| true)
[INFO] [stdout]     |                              ^ help: if this is intentional, prefix it with an underscore: `_s`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `is_ok`
[INFO] [stdout]    --> src/pcpseq.rs:212:9
[INFO] [stdout]     |
[INFO] [stdout] 212 |         is_ok: impl Fn(&PCPSequence) -> bool,
[INFO] [stdout]     |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_is_ok`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `s`
[INFO] [stdout]    --> src/pcpseq.rs:411:9
[INFO] [stdout]     |
[INFO] [stdout] 411 |     let s = PCPSequence::MidWild(MidWildSequence {
[INFO] [stdout]     |         ^ help: if this is intentional, prefix it with an underscore: `_s`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/main.rs:930:9
[INFO] [stdout]     |
[INFO] [stdout] 930 |     let mut pcp = &PCP::parse_pcp_string("Tile(110,1)Tile(1,01)Tile(0,110)");
[INFO] [stdout]     |         ----^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `raw`
[INFO] [stdout]    --> src/main.rs:928:10
[INFO] [stdout]     |
[INFO] [stdout] 928 |     let (raw, pcp) = &instances[instance_idx];
[INFO] [stdout]     |          ^^^ help: if this is intentional, prefix it with an underscore: `_raw`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pcp`
[INFO] [stdout]    --> src/main.rs:928:15
[INFO] [stdout]     |
[INFO] [stdout] 928 |     let (raw, pcp) = &instances[instance_idx];
[INFO] [stdout]     |               ^^^ help: if this is intentional, prefix it with an underscore: `_pcp`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dir`
[INFO] [stdout]    --> src/union_pdr.rs:125:49
[INFO] [stdout]     |
[INFO] [stdout] 125 |         PCPSequence::Exact(ExactSequence { seq, dir }) => seq.clone(),
[INFO] [stdout]     |                                                 ^^^ help: try ignoring the field: `dir: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dir`
[INFO] [stdout]    --> src/union_pdr.rs:126:55
[INFO] [stdout]     |
[INFO] [stdout] 126 |         PCPSequence::MidExact(MidExactSequence { mid, dir }) => mid.clone(),
[INFO] [stdout]     |                                                       ^^^ help: try ignoring the field: `dir: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `f`
[INFO] [stdout]    --> src/main.rs:391:25
[INFO] [stdout]     |
[INFO] [stdout] 391 |             if let Some(f) = state.emptied.iter().find(|f| s.contains(f)) {
[INFO] [stdout]     |                         ^ help: if this is intentional, prefix it with an underscore: `_f`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `nexts`
[INFO] [stdout]    --> src/union_pdr.rs:278:35
[INFO] [stdout]     |
[INFO] [stdout] 278 |             Some(DependsOn::Nexts(ref nexts)) => {
[INFO] [stdout]     |                                   ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_nexts`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `check_reach_empty` is never used
[INFO] [stdout]    --> src/main.rs:205:4
[INFO] [stdout]     |
[INFO] [stdout] 205 | fn check_reach_empty(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `result` is never read
[INFO] [stdout]    --> src/main.rs:579:5
[INFO] [stdout]     |
[INFO] [stdout] 577 | struct Result {
[INFO] [stdout]     |        ------ field in this struct
[INFO] [stdout] 578 |     assumptions: Vec<PCPSequence>,
[INFO] [stdout] 579 |     result: bool,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Result` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `enumerate_substrings_from_pcp` is never used
[INFO] [stdout]    --> src/main.rs:651:4
[INFO] [stdout]     |
[INFO] [stdout] 651 | fn enumerate_substrings_from_pcp(pcp: &PCP, max_len: usize) -> (Vec<String>, Vec<String>) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `find_nonempty_substrs` is never used
[INFO] [stdout]    --> src/main.rs:705:4
[INFO] [stdout]     |
[INFO] [stdout] 705 | fn find_nonempty_substrs(pcp: &PCP) -> (Vec<String>, Vec<String>) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_nonempty_for_pcps` is never used
[INFO] [stdout]    --> src/main.rs:764:4
[INFO] [stdout]     |
[INFO] [stdout] 764 | fn get_nonempty_for_pcps() {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `from_input` is never used
[INFO] [stdout]    --> src/main.rs:783:4
[INFO] [stdout]     |
[INFO] [stdout] 783 | fn from_input() {
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `find_answer` is never used
[INFO] [stdout]    --> src/main.rs:794:4
[INFO] [stdout]     |
[INFO] [stdout] 794 | fn find_answer(pcp: &PCP) -> bool {
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_instance_list` is never used
[INFO] [stdout]    --> src/main.rs:835:4
[INFO] [stdout]     |
[INFO] [stdout] 835 | fn parse_instance_list(fname: &str) -> Vec<PCP> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `refine_recursive_seqs` is never used
[INFO] [stdout]    --> src/main.rs:966:4
[INFO] [stdout]     |
[INFO] [stdout] 966 | fn refine_recursive_seqs(seqs: &mut Vec<PCPSequence>) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `hard_instances_check` is never used
[INFO] [stdout]     --> src/main.rs:1008:4
[INFO] [stdout]      |
[INFO] [stdout] 1008 | fn hard_instances_check() {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `check_sanity` is never used
[INFO] [stdout]     --> src/main.rs:1027:4
[INFO] [stdout]      |
[INFO] [stdout] 1027 | fn check_sanity() {
[INFO] [stdout]      |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `find_recursive_strings` is never used
[INFO] [stdout]     --> src/main.rs:1044:4
[INFO] [stdout]      |
[INFO] [stdout] 1044 | fn find_recursive_strings(pcp: &PCP) -> Vec<PCPSequence> {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `find_recursive_strings_for_pcp` is never used
[INFO] [stdout]     --> src/main.rs:1121:4
[INFO] [stdout]      |
[INFO] [stdout] 1121 | fn find_recursive_strings_for_pcp() {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `reduce_checking` is never used
[INFO] [stdout]     --> src/main.rs:1150:4
[INFO] [stdout]      |
[INFO] [stdout] 1150 | fn reduce_checking(pcp: &PCP, iter: usize) -> bool {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `sanity_check_reduce_pcp_aut` is never used
[INFO] [stdout]     --> src/main.rs:1277:4
[INFO] [stdout]      |
[INFO] [stdout] 1277 | fn sanity_check_reduce_pcp_aut() {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `lMidExact` should have a snake case name
[INFO] [stdout]    --> src/main.rs:493:13
[INFO] [stdout]     |
[INFO] [stdout] 493 |         let lMidExact: Vec<&PCPSequence> = l
[INFO] [stdout]     |             ^^^^^^^^^ help: convert the identifier to snake case: `l_mid_exact`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `mid`
[INFO] [stdout]    --> src/union_pdr.rs:376:65
[INFO] [stdout]     |
[INFO] [stdout] 376 |             || (if let PCPSequence::MidExact(MidExactSequence { mid, dir }) = seq {
[INFO] [stdout]     |                                                                 ^^^ help: try ignoring the field: `mid: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dir`
[INFO] [stdout]    --> src/union_pdr.rs:376:70
[INFO] [stdout]     |
[INFO] [stdout] 376 |             || (if let PCPSequence::MidExact(MidExactSequence { mid, dir }) = seq {
[INFO] [stdout]     |                                                                      ^^^ help: try ignoring the field: `dir: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dir`
[INFO] [stdout]    --> src/union_pdr.rs:491:59
[INFO] [stdout]     |
[INFO] [stdout] 491 |             PCPSequence::MidExact(MidExactSequence { mid, dir }) => mid.len() == 1,
[INFO] [stdout]     |                                                           ^^^ help: try ignoring the field: `dir: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/main.rs:585:9
[INFO] [stdout]     |
[INFO] [stdout] 585 |     let mut firsts = ExactSequence {
[INFO] [stdout]     |         ----^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dir`
[INFO] [stdout]    --> src/union_pdr.rs:558:61
[INFO] [stdout]     |
[INFO] [stdout] 558 |                     PCPSequence::Exact(ExactSequence { seq, dir }) => seq.to_string(),
[INFO] [stdout]     |                                                             ^^^ help: try ignoring the field: `dir: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dir`
[INFO] [stdout]    --> src/union_pdr.rs:559:67
[INFO] [stdout]     |
[INFO] [stdout] 559 |                     PCPSequence::MidExact(MidExactSequence { mid, dir }) => format!(".*{mid}.*"),
[INFO] [stdout]     |                                                                   ^^^ help: try ignoring the field: `dir: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `id`
[INFO] [stdout]    --> src/union_pdr.rs:577:74
[INFO] [stdout]     |
[INFO] [stdout] 577 |             let is_abstract_dep = if let Some(DependsOn::Abstract((_, _, id))) = &node.depends_on {
[INFO] [stdout]     |                                                                          ^^ help: if this is intentional, prefix it with an underscore: `_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `nexts`
[INFO] [stdout]    --> src/union_pdr2.rs:340:39
[INFO] [stdout]     |
[INFO] [stdout] 340 |                 Some(DependsOn::Nexts(ref nexts)) => {
[INFO] [stdout]     |                                       ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_nexts`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `id`
[INFO] [stdout]    --> src/union_pdr2.rs:344:49
[INFO] [stdout]     |
[INFO] [stdout] 344 |                 Some(DependsOn::Abstract((None, id))) => {
[INFO] [stdout]     |                                                 ^^ help: if this is intentional, prefix it with an underscore: `_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `id`
[INFO] [stdout]    --> src/union_pdr2.rs:347:53
[INFO] [stdout]     |
[INFO] [stdout] 347 |                 Some(DependsOn::Abstract((Some(ds), id))) => {
[INFO] [stdout]     |                                                     ^^ help: if this is intentional, prefix it with an underscore: `_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `id`
[INFO] [stdout]    --> src/union_pdr2.rs:618:71
[INFO] [stdout]     |
[INFO] [stdout] 618 |             let is_abstract_dep = if let Some(DependsOn::Abstract((_, id))) = &node.depends_on {
[INFO] [stdout]     |                                                                       ^^ help: if this is intentional, prefix it with an underscore: `_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/suffix_tree.rs:146:17
[INFO] [stdout]     |
[INFO] [stdout] 146 |             let mut nd = Node {
[INFO] [stdout]     |                 ----^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/main.rs:930:9
[INFO] [stdout]     |
[INFO] [stdout] 930 |     let mut pcp = &PCP::parse_pcp_string("Tile(110,1)Tile(1,01)Tile(0,110)");
[INFO] [stdout]     |         ----^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `raw`
[INFO] [stdout]    --> src/main.rs:928:10
[INFO] [stdout]     |
[INFO] [stdout] 928 |     let (raw, pcp) = &instances[instance_idx];
[INFO] [stdout]     |          ^^^ help: if this is intentional, prefix it with an underscore: `_raw`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pcp`
[INFO] [stdout]    --> src/main.rs:928:15
[INFO] [stdout]     |
[INFO] [stdout] 928 |     let (raw, pcp) = &instances[instance_idx];
[INFO] [stdout]     |               ^^^ help: if this is intentional, prefix it with an underscore: `_pcp`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `gen_random_pcp` is never used
[INFO] [stdout]   --> src/pcp.rs:66:4
[INFO] [stdout]    |
[INFO] [stdout] 66 | fn gen_random_pcp(num_tile: usize, tile_size: usize) -> PCP {
[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 `prevs` is never used
[INFO] [stdout]   --> src/union_pdr.rs:36:4
[INFO] [stdout]    |
[INFO] [stdout] 36 | fn prevs(seq: &PCPConfig, pcp: &PCP) -> Vec<PCPConfig> {
[INFO] [stdout]    |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `substrings` is never used
[INFO] [stdout]    --> src/union_pdr.rs:150:4
[INFO] [stdout]     |
[INFO] [stdout] 150 | fn substrings(s: &str, min_len: usize, max_len: usize) -> Vec<String> {
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `prevs` is never used
[INFO] [stdout]   --> src/union_pdr2.rs:61:4
[INFO] [stdout]    |
[INFO] [stdout] 61 | fn prevs(seq: &PCPConfig, pcp: &PCP) -> Vec<PCPConfig> {
[INFO] [stdout]    |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MAX_SUBSTR_LEN` is never used
[INFO] [stdout]    --> src/union_pdr2.rs:142:7
[INFO] [stdout]     |
[INFO] [stdout] 142 | const MAX_SUBSTR_LEN: u32 = 40;
[INFO] [stdout]     |       ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `substrings` is never used
[INFO] [stdout]    --> src/union_pdr2.rs:160:4
[INFO] [stdout]     |
[INFO] [stdout] 160 | fn substrings(s: &str, min_len: usize, max_len: usize) -> Vec<String> {
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> src/automaton.rs:119:24
[INFO] [stdout]     |
[INFO] [stdout] 119 |         format!("q{}", STATE_COUNTER)
[INFO] [stdout]     |                        ^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout]     = note: `#[warn(static_mut_refs)]` (part of `#[warn(rust_2024_compatibility)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `toAut` should have a snake case name
[INFO] [stdout]   --> src/conf_automaton.rs:79:12
[INFO] [stdout]    |
[INFO] [stdout] 79 |     pub fn toAut(&self) -> PCPConf {
[INFO] [stdout]    |            ^^^^^ help: convert the identifier to snake case: `to_aut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `check_reach_empty` is never used
[INFO] [stdout]    --> src/main.rs:205:4
[INFO] [stdout]     |
[INFO] [stdout] 205 | fn check_reach_empty(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `result` is never read
[INFO] [stdout]    --> src/main.rs:579:5
[INFO] [stdout]     |
[INFO] [stdout] 577 | struct Result {
[INFO] [stdout]     |        ------ field in this struct
[INFO] [stdout] 578 |     assumptions: Vec<PCPSequence>,
[INFO] [stdout] 579 |     result: bool,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Result` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `enumerate_substrings_from_pcp` is never used
[INFO] [stdout]    --> src/main.rs:651:4
[INFO] [stdout]     |
[INFO] [stdout] 651 | fn enumerate_substrings_from_pcp(pcp: &PCP, max_len: usize) -> (Vec<String>, Vec<String>) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `find_nonempty_substrs` is never used
[INFO] [stdout]    --> src/main.rs:705:4
[INFO] [stdout]     |
[INFO] [stdout] 705 | fn find_nonempty_substrs(pcp: &PCP) -> (Vec<String>, Vec<String>) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_nonempty_for_pcps` is never used
[INFO] [stdout]    --> src/main.rs:764:4
[INFO] [stdout]     |
[INFO] [stdout] 764 | fn get_nonempty_for_pcps() {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `from_input` is never used
[INFO] [stdout]    --> src/main.rs:783:4
[INFO] [stdout]     |
[INFO] [stdout] 783 | fn from_input() {
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `find_answer` is never used
[INFO] [stdout]    --> src/main.rs:794:4
[INFO] [stdout]     |
[INFO] [stdout] 794 | fn find_answer(pcp: &PCP) -> bool {
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_instance_list` is never used
[INFO] [stdout]    --> src/main.rs:835:4
[INFO] [stdout]     |
[INFO] [stdout] 835 | fn parse_instance_list(fname: &str) -> Vec<PCP> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `refine_recursive_seqs` is never used
[INFO] [stdout]    --> src/main.rs:966:4
[INFO] [stdout]     |
[INFO] [stdout] 966 | fn refine_recursive_seqs(seqs: &mut Vec<PCPSequence>) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `hard_instances_check` is never used
[INFO] [stdout]     --> src/main.rs:1008:4
[INFO] [stdout]      |
[INFO] [stdout] 1008 | fn hard_instances_check() {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `check_sanity` is never used
[INFO] [stdout]     --> src/main.rs:1027:4
[INFO] [stdout]      |
[INFO] [stdout] 1027 | fn check_sanity() {
[INFO] [stdout]      |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `find_recursive_strings` is never used
[INFO] [stdout]     --> src/main.rs:1044:4
[INFO] [stdout]      |
[INFO] [stdout] 1044 | fn find_recursive_strings(pcp: &PCP) -> Vec<PCPSequence> {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `find_recursive_strings_for_pcp` is never used
[INFO] [stdout]     --> src/main.rs:1121:4
[INFO] [stdout]      |
[INFO] [stdout] 1121 | fn find_recursive_strings_for_pcp() {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `sanity_check_reduce_pcp_aut` is never used
[INFO] [stdout]     --> src/main.rs:1277:4
[INFO] [stdout]      |
[INFO] [stdout] 1277 | fn sanity_check_reduce_pcp_aut() {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `lMidExact` should have a snake case name
[INFO] [stdout]    --> src/main.rs:493:13
[INFO] [stdout]     |
[INFO] [stdout] 493 |         let lMidExact: Vec<&PCPSequence> = l
[INFO] [stdout]     |             ^^^^^^^^^ help: convert the identifier to snake case: `l_mid_exact`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 48s
[INFO] running `Command { std: "docker" "inspect" "f32a5ebe2f19d0f1c3d9acca8def532bbafcd41c2f5d48ec1185cd77936fdba2", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "f32a5ebe2f19d0f1c3d9acca8def532bbafcd41c2f5d48ec1185cd77936fdba2", kill_on_drop: false }`
[INFO] [stdout] f32a5ebe2f19d0f1c3d9acca8def532bbafcd41c2f5d48ec1185cd77936fdba2
