[INFO] cloning repository https://github.com/shaggysa/sudoku-rust
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/shaggysa/sudoku-rust" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fshaggysa%2Fsudoku-rust", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fshaggysa%2Fsudoku-rust'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 7d396a9a38ee0cde93664975e0c5671fe4db600f
[INFO] checking shaggysa/sudoku-rust/7d396a9a38ee0cde93664975e0c5671fe4db600f against master#59fd4ef94daa991e6797b5aa6127e824f3067def for pr-145108-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fshaggysa%2Fsudoku-rust" "/workspace/builds/worker-6-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/shaggysa/sudoku-rust
[INFO] finished tweaking git repo https://github.com/shaggysa/sudoku-rust
[INFO] tweaked toml for git repo https://github.com/shaggysa/sudoku-rust written to /workspace/builds/worker-6-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/shaggysa/sudoku-rust on toolchain 59fd4ef94daa991e6797b5aa6127e824f3067def
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+59fd4ef94daa991e6797b5aa6127e824f3067def" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+59fd4ef94daa991e6797b5aa6127e824f3067def" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]      Locking 94 packages to latest Rust 1.95.0-nightly compatible versions
[INFO] [stderr]       Adding pyo3 v0.25.1 (available: v0.28.2)
[INFO] [stderr]       Adding rand v0.9.2 (available: v0.10.0)
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+59fd4ef94daa991e6797b5aa6127e824f3067def" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded ureq v3.2.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:61361fe0aef631f17e9d025a70c5a647956f8c671dd02950a60ad3f5cc5526d7" "/opt/rustwide/cargo-home/bin/cargo" "+59fd4ef94daa991e6797b5aa6127e824f3067def" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 02b9e525962d7df8cc1f7e0fbe3312b176b8b64192c90a6f128a89e6beb0a267
[INFO] running `Command { std: "docker" "start" "-a" "02b9e525962d7df8cc1f7e0fbe3312b176b8b64192c90a6f128a89e6beb0a267", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "02b9e525962d7df8cc1f7e0fbe3312b176b8b64192c90a6f128a89e6beb0a267", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "02b9e525962d7df8cc1f7e0fbe3312b176b8b64192c90a6f128a89e6beb0a267", kill_on_drop: false }`
[INFO] [stdout] 02b9e525962d7df8cc1f7e0fbe3312b176b8b64192c90a6f128a89e6beb0a267
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:61361fe0aef631f17e9d025a70c5a647956f8c671dd02950a60ad3f5cc5526d7" "/opt/rustwide/cargo-home/bin/cargo" "+59fd4ef94daa991e6797b5aa6127e824f3067def" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] a18c3a2990b8fe84e7d1791ef8ef0dbd6b5d62877859ea9c62cccac0960e15e7
[INFO] running `Command { std: "docker" "start" "-a" "a18c3a2990b8fe84e7d1791ef8ef0dbd6b5d62877859ea9c62cccac0960e15e7", kill_on_drop: false }`
[INFO] [stderr]    Compiling target-lexicon v0.13.5
[INFO] [stderr]    Compiling find-msvc-tools v0.1.9
[INFO] [stderr]     Checking zeroize v1.8.2
[INFO] [stderr]    Compiling httparse v1.10.1
[INFO] [stderr]    Compiling rustls v0.23.36
[INFO] [stderr]     Checking getrandom v0.2.17
[INFO] [stderr]     Checking getrandom v0.3.4
[INFO] [stderr]     Checking simd-adler32 v0.3.8
[INFO] [stderr]     Checking crc32fast v1.5.0
[INFO] [stderr]     Checking http v1.4.0
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]    Compiling indoc v2.0.7
[INFO] [stderr]     Checking miniz_oxide v0.8.9
[INFO] [stderr]     Checking rand_core v0.9.5
[INFO] [stderr]     Checking rustls-pki-types v1.14.0
[INFO] [stderr]    Compiling cc v1.2.56
[INFO] [stderr]     Checking flate2 v1.1.9
[INFO] [stderr]     Checking rand_chacha v0.9.0
[INFO] [stderr]     Checking rand v0.9.2
[INFO] [stderr]     Checking webpki-roots v1.0.6
[INFO] [stderr]    Compiling pyo3-build-config v0.25.1
[INFO] [stderr]     Checking ureq-proto v0.5.3
[INFO] [stderr]    Compiling ring v0.17.14
[INFO] [stderr]    Compiling pyo3-ffi v0.25.1
[INFO] [stderr]    Compiling pyo3-macros-backend v0.25.1
[INFO] [stderr]    Compiling pyo3 v0.25.1
[INFO] [stderr]    Compiling tokio-macros v2.6.0
[INFO] [stderr]     Checking tokio v1.49.0
[INFO] [stderr]     Checking rustls-webpki v0.103.9
[INFO] [stderr]    Compiling pyo3-macros v0.25.1
[INFO] [stderr]     Checking ureq v3.2.0
[INFO] [stderr]     Checking lib-sudoku v1.0.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `libraries::puzzle_reader::PuzzleReader`
[INFO] [stdout]  --> src/main.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use libraries::puzzle_reader::PuzzleReader;
[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: `libraries::speedtest`
[INFO] [stdout]  --> src/main.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use libraries::speedtest;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `libraries::puzzle_reader::PuzzleReader`
[INFO] [stdout]  --> src/main.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use libraries::puzzle_reader::PuzzleReader;
[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: `libraries::speedtest`
[INFO] [stdout]  --> src/main.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use libraries::speedtest;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `print_puzz` is never used
[INFO] [stdout]   --> src/libraries/puzzle_reader.rs:83:8
[INFO] [stdout]    |
[INFO] [stdout] 83 | pub fn print_puzz(puzz: Vec<u8>) {
[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 `backend_print_puzz` is never used
[INFO] [stdout]   --> src/libraries/puzzle_reader.rs:87:8
[INFO] [stdout]    |
[INFO] [stdout] 87 | pub fn backend_print_puzz(puzz: [u8; 81]) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Puzzle` is never constructed
[INFO] [stdout]  --> src/libraries/puzzle_solver.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct Puzzle { 
[INFO] [stdout]   |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `no_repeats` is never used
[INFO] [stdout]   --> src/libraries/puzzle_solver.rs:13:4
[INFO] [stdout]    |
[INFO] [stdout] 13 | fn no_repeats(items: Vec<u8>) -> bool {
[INFO] [stdout]    |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_valid` is never used
[INFO] [stdout]   --> src/libraries/puzzle_solver.rs:28:15
[INFO] [stdout]    |
[INFO] [stdout] 28 | pub(crate) fn is_valid(puzzle: Vec<u8>) -> PyResult<bool> {
[INFO] [stdout]    |               ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `backend_is_valid` is never used
[INFO] [stdout]   --> src/libraries/puzzle_solver.rs:32:15
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub(crate) fn backend_is_valid(puzzle: [u8; 81]) -> PyResult<bool> {
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_possibilities` is never used
[INFO] [stdout]   --> src/libraries/puzzle_solver.rs:73:15
[INFO] [stdout]    |
[INFO] [stdout] 73 | pub(crate) fn get_possibilities(puzz: &[u8; 81], pos: u8) -> Vec<u8> {
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `manual_solver_prep` is never used
[INFO] [stdout]   --> src/libraries/puzzle_solver.rs:98:15
[INFO] [stdout]    |
[INFO] [stdout] 98 | pub(crate) fn manual_solver_prep(p: &mut Puzzle) {
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `solver_prep` is never used
[INFO] [stdout]    --> src/libraries/puzzle_solver.rs:141:4
[INFO] [stdout]     |
[INFO] [stdout] 141 | fn solver_prep(puzz: [u8; 81]) -> Puzzle {
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_possibilities_as_array` is never used
[INFO] [stdout]    --> src/libraries/puzzle_solver.rs:192:15
[INFO] [stdout]     |
[INFO] [stdout] 192 | pub(crate) fn get_possibilities_as_array(puzz: &[u8; 81], pos: usize) -> [bool; 10] {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `solve` is never used
[INFO] [stdout]    --> src/libraries/puzzle_solver.rs:212:8
[INFO] [stdout]     |
[INFO] [stdout] 212 | pub fn solve(puzz: Vec<u8>) -> PyResult<[u8; 81]> {
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `backend_solve` is never used
[INFO] [stdout]    --> src/libraries/puzzle_solver.rs:216:8
[INFO] [stdout]     |
[INFO] [stdout] 216 | pub fn backend_solve(puzz: [u8; 81]) -> PyResult<[u8; 81]> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `manual_solve` is never used
[INFO] [stdout]    --> src/libraries/puzzle_solver.rs:272:8
[INFO] [stdout]     |
[INFO] [stdout] 272 | pub fn manual_solve(p: &mut Puzzle) -> PyResult<[u8; 81]> {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `async_solve` is never used
[INFO] [stdout]    --> src/libraries/puzzle_solver.rs:326:14
[INFO] [stdout]     |
[INFO] [stdout] 326 | pub async fn async_solve(puzz: [u8; 81]) -> PyResult<[u8; 81]> {
[INFO] [stdout]     |              ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `async_speedtest` is never used
[INFO] [stdout]  --> src/libraries/speedtest.rs:8:8
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub fn async_speedtest(puzzle_reader: &puzzle_reader::PuzzleReader, verbose: bool) {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `synchronous_speedtest` is never used
[INFO] [stdout]   --> src/libraries/speedtest.rs:67:8
[INFO] [stdout]    |
[INFO] [stdout] 67 | pub fn synchronous_speedtest(puzzle_reader: &puzzle_reader::PuzzleReader, verbose: bool) -> pyo3::PyResult<()> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Order` is never used
[INFO] [stdout]   --> src/libraries/puzzle_generator.rs:10:10
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub enum Order {
[INFO] [stdout]    |          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `alt_get_possibilities` is never used
[INFO] [stdout]   --> src/libraries/puzzle_generator.rs:15:4
[INFO] [stdout]    |
[INFO] [stdout] 15 | fn alt_get_possibilities(puzz: &[u8; 81], pos: u8, order: &Order) -> Vec<u8> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `alt_solver_prep` is never used
[INFO] [stdout]   --> src/libraries/puzzle_generator.rs:52:4
[INFO] [stdout]    |
[INFO] [stdout] 52 | fn alt_solver_prep(puzz: [u8;81], order: Order) -> Puzzle {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `alt_solve` is never used
[INFO] [stdout]    --> src/libraries/puzzle_generator.rs:103:8
[INFO] [stdout]     |
[INFO] [stdout] 103 | pub fn alt_solve(puzz: [u8; 81], order: Order) -> PyResult<[u8; 81]> {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `gen_random_solved` is never used
[INFO] [stdout]    --> src/libraries/puzzle_generator.rs:158:4
[INFO] [stdout]     |
[INFO] [stdout] 158 | fn gen_random_solved() -> [u8; 81] {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_legal` is never used
[INFO] [stdout]    --> src/libraries/puzzle_generator.rs:163:4
[INFO] [stdout]     |
[INFO] [stdout] 163 | fn is_legal(puzzle: &[u8; 81]) -> bool {
[INFO] [stdout]     |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `gen_unsolved` is never used
[INFO] [stdout]    --> src/libraries/puzzle_generator.rs:168:8
[INFO] [stdout]     |
[INFO] [stdout] 168 | pub fn gen_unsolved(num_hints: usize) -> PyResult<[u8; 81]> {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `print_puzz` is never used
[INFO] [stdout]   --> src/libraries/puzzle_reader.rs:83:8
[INFO] [stdout]    |
[INFO] [stdout] 83 | pub fn print_puzz(puzz: Vec<u8>) {
[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 `backend_print_puzz` is never used
[INFO] [stdout]   --> src/libraries/puzzle_reader.rs:87:8
[INFO] [stdout]    |
[INFO] [stdout] 87 | pub fn backend_print_puzz(puzz: [u8; 81]) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Puzzle` is never constructed
[INFO] [stdout]  --> src/libraries/puzzle_solver.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct Puzzle { 
[INFO] [stdout]   |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `no_repeats` is never used
[INFO] [stdout]   --> src/libraries/puzzle_solver.rs:13:4
[INFO] [stdout]    |
[INFO] [stdout] 13 | fn no_repeats(items: Vec<u8>) -> bool {
[INFO] [stdout]    |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_valid` is never used
[INFO] [stdout]   --> src/libraries/puzzle_solver.rs:28:15
[INFO] [stdout]    |
[INFO] [stdout] 28 | pub(crate) fn is_valid(puzzle: Vec<u8>) -> PyResult<bool> {
[INFO] [stdout]    |               ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `backend_is_valid` is never used
[INFO] [stdout]   --> src/libraries/puzzle_solver.rs:32:15
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub(crate) fn backend_is_valid(puzzle: [u8; 81]) -> PyResult<bool> {
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_possibilities` is never used
[INFO] [stdout]   --> src/libraries/puzzle_solver.rs:73:15
[INFO] [stdout]    |
[INFO] [stdout] 73 | pub(crate) fn get_possibilities(puzz: &[u8; 81], pos: u8) -> Vec<u8> {
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `manual_solver_prep` is never used
[INFO] [stdout]   --> src/libraries/puzzle_solver.rs:98:15
[INFO] [stdout]    |
[INFO] [stdout] 98 | pub(crate) fn manual_solver_prep(p: &mut Puzzle) {
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `solver_prep` is never used
[INFO] [stdout]    --> src/libraries/puzzle_solver.rs:141:4
[INFO] [stdout]     |
[INFO] [stdout] 141 | fn solver_prep(puzz: [u8; 81]) -> Puzzle {
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_possibilities_as_array` is never used
[INFO] [stdout]    --> src/libraries/puzzle_solver.rs:192:15
[INFO] [stdout]     |
[INFO] [stdout] 192 | pub(crate) fn get_possibilities_as_array(puzz: &[u8; 81], pos: usize) -> [bool; 10] {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `solve` is never used
[INFO] [stdout]    --> src/libraries/puzzle_solver.rs:212:8
[INFO] [stdout]     |
[INFO] [stdout] 212 | pub fn solve(puzz: Vec<u8>) -> PyResult<[u8; 81]> {
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `backend_solve` is never used
[INFO] [stdout]    --> src/libraries/puzzle_solver.rs:216:8
[INFO] [stdout]     |
[INFO] [stdout] 216 | pub fn backend_solve(puzz: [u8; 81]) -> PyResult<[u8; 81]> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `manual_solve` is never used
[INFO] [stdout]    --> src/libraries/puzzle_solver.rs:272:8
[INFO] [stdout]     |
[INFO] [stdout] 272 | pub fn manual_solve(p: &mut Puzzle) -> PyResult<[u8; 81]> {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `async_solve` is never used
[INFO] [stdout]    --> src/libraries/puzzle_solver.rs:326:14
[INFO] [stdout]     |
[INFO] [stdout] 326 | pub async fn async_solve(puzz: [u8; 81]) -> PyResult<[u8; 81]> {
[INFO] [stdout]     |              ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `async_speedtest` is never used
[INFO] [stdout]  --> src/libraries/speedtest.rs:8:8
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub fn async_speedtest(puzzle_reader: &puzzle_reader::PuzzleReader, verbose: bool) {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `synchronous_speedtest` is never used
[INFO] [stdout]   --> src/libraries/speedtest.rs:67:8
[INFO] [stdout]    |
[INFO] [stdout] 67 | pub fn synchronous_speedtest(puzzle_reader: &puzzle_reader::PuzzleReader, verbose: bool) -> pyo3::PyResult<()> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Order` is never used
[INFO] [stdout]   --> src/libraries/puzzle_generator.rs:10:10
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub enum Order {
[INFO] [stdout]    |          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `alt_get_possibilities` is never used
[INFO] [stdout]   --> src/libraries/puzzle_generator.rs:15:4
[INFO] [stdout]    |
[INFO] [stdout] 15 | fn alt_get_possibilities(puzz: &[u8; 81], pos: u8, order: &Order) -> Vec<u8> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `alt_solver_prep` is never used
[INFO] [stdout]   --> src/libraries/puzzle_generator.rs:52:4
[INFO] [stdout]    |
[INFO] [stdout] 52 | fn alt_solver_prep(puzz: [u8;81], order: Order) -> Puzzle {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `alt_solve` is never used
[INFO] [stdout]    --> src/libraries/puzzle_generator.rs:103:8
[INFO] [stdout]     |
[INFO] [stdout] 103 | pub fn alt_solve(puzz: [u8; 81], order: Order) -> PyResult<[u8; 81]> {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `gen_random_solved` is never used
[INFO] [stdout]    --> src/libraries/puzzle_generator.rs:158:4
[INFO] [stdout]     |
[INFO] [stdout] 158 | fn gen_random_solved() -> [u8; 81] {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_legal` is never used
[INFO] [stdout]    --> src/libraries/puzzle_generator.rs:163:4
[INFO] [stdout]     |
[INFO] [stdout] 163 | fn is_legal(puzzle: &[u8; 81]) -> bool {
[INFO] [stdout]     |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `gen_unsolved` is never used
[INFO] [stdout]    --> src/libraries/puzzle_generator.rs:168:8
[INFO] [stdout]     |
[INFO] [stdout] 168 | pub fn gen_unsolved(num_hints: usize) -> PyResult<[u8; 81]> {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 20.71s
[INFO] running `Command { std: "docker" "inspect" "a18c3a2990b8fe84e7d1791ef8ef0dbd6b5d62877859ea9c62cccac0960e15e7", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "a18c3a2990b8fe84e7d1791ef8ef0dbd6b5d62877859ea9c62cccac0960e15e7", kill_on_drop: false }`
[INFO] [stdout] a18c3a2990b8fe84e7d1791ef8ef0dbd6b5d62877859ea9c62cccac0960e15e7
