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