[INFO] cloning repository https://github.com/ellisjoe/project-euler
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/ellisjoe/project-euler" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fellisjoe%2Fproject-euler", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fellisjoe%2Fproject-euler'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 690c8e03a8549dacb570695209f49a69e294fa6b
[INFO] checking ellisjoe/project-euler against try#54bb9bb1bbe87f59b5a2e9afea4c8cedcf5e0b47 for pr-153041
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fellisjoe%2Fproject-euler" "/workspace/builds/worker-3-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/ellisjoe/project-euler
[INFO] finished tweaking git repo https://github.com/ellisjoe/project-euler
[INFO] tweaked toml for git repo https://github.com/ellisjoe/project-euler written to /workspace/builds/worker-3-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/ellisjoe/project-euler on toolchain 54bb9bb1bbe87f59b5a2e9afea4c8cedcf5e0b47
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+54bb9bb1bbe87f59b5a2e9afea4c8cedcf5e0b47" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/ellisjoe/project-euler 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" "+54bb9bb1bbe87f59b5a2e9afea4c8cedcf5e0b47" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:61361fe0aef631f17e9d025a70c5a647956f8c671dd02950a60ad3f5cc5526d7" "/opt/rustwide/cargo-home/bin/cargo" "+54bb9bb1bbe87f59b5a2e9afea4c8cedcf5e0b47" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] c0b8136a9120976be8e9fba7e41f87282b1a712bfdee276b4add9dbee3f46430
[INFO] running `Command { std: "docker" "start" "-a" "c0b8136a9120976be8e9fba7e41f87282b1a712bfdee276b4add9dbee3f46430", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "c0b8136a9120976be8e9fba7e41f87282b1a712bfdee276b4add9dbee3f46430", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "c0b8136a9120976be8e9fba7e41f87282b1a712bfdee276b4add9dbee3f46430", kill_on_drop: false }`
[INFO] [stdout] c0b8136a9120976be8e9fba7e41f87282b1a712bfdee276b4add9dbee3f46430
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:61361fe0aef631f17e9d025a70c5a647956f8c671dd02950a60ad3f5cc5526d7" "/opt/rustwide/cargo-home/bin/cargo" "+54bb9bb1bbe87f59b5a2e9afea4c8cedcf5e0b47" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 092c3267856f723046d82e2e5e3c47ebd50a4cf3b77b9ae94e8b4a52fca3c0cd
[INFO] running `Command { std: "docker" "start" "-a" "092c3267856f723046d82e2e5e3c47ebd50a4cf3b77b9ae94e8b4a52fca3c0cd", kill_on_drop: false }`
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]     Checking num-integer v0.1.46
[INFO] [stderr]     Checking num-bigint v0.4.6
[INFO] [stderr]     Checking project-euler v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `num_bigint::BigInt`
[INFO] [stdout]  --> src/problems/problem_002.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use num_bigint::BigInt;
[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: `crate::utils::fibonacci::FibonacciSequence`
[INFO] [stdout]  --> src/problems/problem_002.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::utils::fibonacci::FibonacciSequence;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::utils::primes::largest_prime_factor`
[INFO] [stdout]  --> src/problems/problem_003.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::utils::primes::largest_prime_factor;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::utils::numbers::lcm`
[INFO] [stdout]  --> src/problems/problem_005.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::utils::numbers::lcm;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::utils::primes::is_prime`
[INFO] [stdout]  --> src/problems/problem_007.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::utils::primes::is_prime;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::utils::primes::is_prime`
[INFO] [stdout]  --> src/problems/problem_010.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::utils::primes::is_prime;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::utils::numbers::num_divisors`
[INFO] [stdout]  --> src/problems/problem_012.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::utils::numbers::num_divisors;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::utils::collatz::CollatzSequence`
[INFO] [stdout]  --> src/problems/problem_014.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::utils::collatz::CollatzSequence;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `num_bigint::BigInt`
[INFO] [stdout]  --> src/problems/problem_016.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use num_bigint::BigInt;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `num_bigint::BigInt`
[INFO] [stdout]  --> src/problems/problem_020.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use num_bigint::BigInt;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::error::Error`
[INFO] [stdout]  --> src/problems/problem_022.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::error::Error;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fs::read_to_string`
[INFO] [stdout]  --> src/problems/problem_022.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::fs::read_to_string;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::utils::numbers::sum_divisors`
[INFO] [stdout]  --> src/problems/problem_023.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::utils::numbers::sum_divisors;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashSet`
[INFO] [stdout]  --> src/problems/problem_023.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::collections::HashSet;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::utils::fibonacci::FibonacciSequence`
[INFO] [stdout]  --> src/problems/problem_025.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::utils::fibonacci::FibonacciSequence;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashSet`
[INFO] [stdout]  --> src/problems/problem_029.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::collections::HashSet;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `num_bigint::BigInt`
[INFO] [stdout]  --> src/problems/problem_029.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use num_bigint::BigInt;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashSet`
[INFO] [stdout]  --> src/problems/problem_032.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::collections::HashSet;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::utils::permutations::permutations`
[INFO] [stdout]  --> src/problems/problem_032.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::utils::permutations::permutations;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashSet`
[INFO] [stdout]  --> src/problems/problem_033.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::collections::HashSet;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::utils::fraction::Fraction`
[INFO] [stdout]  --> src/problems/problem_033.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::utils::fraction::Fraction;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::utils::numbers::Digits`
[INFO] [stdout]  --> src/problems/problem_033.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::utils::numbers::Digits;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::utils::primes::is_prime`
[INFO] [stdout]  --> src/problems/problem_035.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::utils::primes::is_prime;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `number`
[INFO] [stdout]  --> src/problems/problem_038.rs:2:29
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::utils::numbers::{number, Digits};
[INFO] [stdout]   |                             ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::utils::numbers::Digits`
[INFO] [stdout]  --> src/problems/problem_041.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::utils::numbers::Digits;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::utils::pandigital::is_pandigital`
[INFO] [stdout]  --> src/problems/problem_041.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::utils::pandigital::is_pandigital;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::utils::primes::is_prime`
[INFO] [stdout]  --> src/problems/problem_041.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::utils::primes::is_prime;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fs::read_to_string`
[INFO] [stdout]  --> src/problems/problem_042.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::fs::read_to_string;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::utils::permutations::permutations`
[INFO] [stdout]  --> src/problems/problem_043.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::utils::permutations::permutations;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashSet`
[INFO] [stdout]  --> src/problems/problem_044.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::collections::HashSet;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashSet`
[INFO] [stdout]  --> src/problems/problem_045.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::collections::HashSet;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::utils::primes::is_prime`
[INFO] [stdout]  --> src/problems/problem_046.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::utils::primes::is_prime;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::utils::primes::Primes`
[INFO] [stdout]  --> src/problems/problem_047.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::utils::primes::Primes;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `num_bigint::BigInt`
[INFO] [stdout]  --> src/problems/problem_048.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use num_bigint::BigInt;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashSet`
[INFO] [stdout]  --> src/problems/problem_049.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::collections::HashSet;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::utils::primes::Primes`
[INFO] [stdout]  --> src/problems/problem_049.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::utils::primes::Primes;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Primes` and `is_prime`
[INFO] [stdout]  --> src/problems/problem_050.rs:1:28
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::utils::primes::{is_prime, Primes};
[INFO] [stdout]   |                            ^^^^^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Digits` and `number`
[INFO] [stdout]  --> src/problems/problem_051.rs:1:29
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::utils::numbers::{Digits, number};
[INFO] [stdout]   |                             ^^^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::utils::primes::is_prime`
[INFO] [stdout]  --> src/problems/problem_051.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::utils::primes::is_prime;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cmp::Ordering`
[INFO] [stdout]  --> src/problems/problem_054.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::cmp::Ordering;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fs::read_to_string`
[INFO] [stdout]  --> src/problems/problem_054.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::fs::read_to_string;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `num_bigint::BigInt`
[INFO] [stdout]  --> src/problems/problem_056.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use num_bigint::BigInt;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::utils::big_int::BigIntDigits`
[INFO] [stdout]  --> src/problems/problem_056.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::utils::big_int::BigIntDigits;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::utils::fraction::Fraction`
[INFO] [stdout]  --> src/problems/problem_057.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::utils::fraction::Fraction;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::utils::big_int::BigIntDigits`
[INFO] [stdout]  --> src/problems/problem_057.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::utils::big_int::BigIntDigits;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::utils::primes::is_prime`
[INFO] [stdout]  --> src/problems/problem_058.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::utils::primes::is_prime;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::utils::permutations::permutations`
[INFO] [stdout]  --> src/problems/problem_061.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::utils::permutations::permutations;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/problems/problem_062.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::utils::big_int::BigIntDigits`
[INFO] [stdout]  --> src/problems/problem_065.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::utils::big_int::BigIntDigits;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `num_bigint::BigInt`
[INFO] [stdout]  --> src/problems/problem_065.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use num_bigint::BigInt;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashSet`
[INFO] [stdout]  --> src/problems/problem_049.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::collections::HashSet;
[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::cmp::Ordering`
[INFO] [stdout]  --> src/problems/problem_054.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::cmp::Ordering;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::utils::fraction::Fraction`
[INFO] [stdout]  --> src/problems/problem_057.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::utils::fraction::Fraction;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]   --> src/problems/problem_055.rs:14:9
[INFO] [stdout]    |
[INFO] [stdout] 14 |     for i in 0..50 {
[INFO] [stdout]    |         ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/problems/problem_064.rs:53:13
[INFO] [stdout]    |
[INFO] [stdout] 53 |         let mut neg = sqrt;
[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: function `is_palindrome` is never used
[INFO] [stdout]   --> src/problems/problem_004.rs:15:4
[INFO] [stdout]    |
[INFO] [stdout] 15 | fn is_palindrome(num: i32) -> bool {
[INFO] [stdout]    |    ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NUM` is never used
[INFO] [stdout]   --> src/problems/problem_008.rs:19:7
[INFO] [stdout]    |
[INFO] [stdout] 19 | const NUM: &str = "73167176531330624919225119674426574742355349194934\
[INFO] [stdout]    |       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_pythagorean_triplet` is never used
[INFO] [stdout]   --> src/problems/problem_009.rs:18:4
[INFO] [stdout]    |
[INFO] [stdout] 18 | fn is_pythagorean_triplet(a: u64, b: u64, c: u64) -> bool {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `max` is never used
[INFO] [stdout]   --> src/problems/problem_011.rs:28:4
[INFO] [stdout]    |
[INFO] [stdout] 28 | fn max(current: u64, new: Vec<u64>) -> u64 {
[INFO] [stdout]    |    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Grid` is never constructed
[INFO] [stdout]   --> src/problems/problem_011.rs:33:8
[INFO] [stdout]    |
[INFO] [stdout] 33 | struct Grid<T> {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `max_y`, `max_x`, `up_diag`, `down_diag`, and `right_diag` are never used
[INFO] [stdout]   --> src/problems/problem_011.rs:38:8
[INFO] [stdout]    |
[INFO] [stdout] 37 | impl<T: Clone> Grid<T> {
[INFO] [stdout]    | ---------------------- methods in this implementation
[INFO] [stdout] 38 |     fn max_y(&self) -> usize {
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 42 |     fn max_x(&self) -> usize {
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 46 |     fn up_diag(&self, x: usize, y: usize, diag_len: usize) -> Option<Vec<T>> {
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 63 |     fn down_diag(&self, x: usize, y: usize, diag_len: usize) -> Option<Vec<T>> {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 80 |     fn right_diag(&self, x: usize, y: usize, len: usize) -> Option<Vec<T>> {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `GRID` is never used
[INFO] [stdout]   --> src/problems/problem_011.rs:94:7
[INFO] [stdout]    |
[INFO] [stdout] 94 | const GRID: &str = "08 02 22 97 38 15 00 40 00 75 04 05 07 78 52 12 50 77 91 08
[INFO] [stdout]    |       ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TriangleSequence` is never constructed
[INFO] [stdout]   --> src/problems/problem_012.rs:12:8
[INFO] [stdout]    |
[INFO] [stdout] 12 | struct TriangleSequence {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/problems/problem_012.rs:18:8
[INFO] [stdout]    |
[INFO] [stdout] 17 | impl TriangleSequence {
[INFO] [stdout]    | --------------------- associated function in this implementation
[INFO] [stdout] 18 |     fn new() -> Self {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NUMS` is never used
[INFO] [stdout]   --> src/problems/problem_013.rs:11:7
[INFO] [stdout]    |
[INFO] [stdout] 11 | const NUMS: &str = "37107287533902102798797998220837590246510135740250
[INFO] [stdout]    |       ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `LatticePaths` is never constructed
[INFO] [stdout]  --> src/problems/problem_015.rs:9:8
[INFO] [stdout]   |
[INFO] [stdout] 9 | struct LatticePaths {
[INFO] [stdout]   |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `paths`, and `path` are never used
[INFO] [stdout]   --> src/problems/problem_015.rs:15:8
[INFO] [stdout]    |
[INFO] [stdout] 14 | impl LatticePaths {
[INFO] [stdout]    | ----------------- associated items in this implementation
[INFO] [stdout] 15 |     fn new(grid_size: i32) -> Self {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 22 |     fn paths(&mut self) -> u64 {
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 26 |     fn path(&mut self, x: i32, y: i32) -> u64 {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `num_letters` is never used
[INFO] [stdout]  --> src/problems/problem_017.rs:7:4
[INFO] [stdout]   |
[INFO] [stdout] 7 | fn num_letters(num: i32) -> usize {
[INFO] [stdout]   |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Triangle` is never constructed
[INFO] [stdout]   --> src/problems/problem_018.rs:14:8
[INFO] [stdout]    |
[INFO] [stdout] 14 | struct Triangle {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `paths`, and `path` are never used
[INFO] [stdout]   --> src/problems/problem_018.rs:20:8
[INFO] [stdout]    |
[INFO] [stdout] 19 | impl Triangle {
[INFO] [stdout]    | ------------- associated items in this implementation
[INFO] [stdout] 20 |     fn new(values: Vec<Vec<u32>>) -> Self {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 27 |     fn paths(&mut self) -> u32 {
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 31 |     fn path(&mut self, x: usize, y: usize) -> u32 {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `TRIANGLE` is never used
[INFO] [stdout]   --> src/problems/problem_018.rs:49:7
[INFO] [stdout]    |
[INFO] [stdout] 49 | const TRIANGLE: &str = "75
[INFO] [stdout]    |       ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DateIterator` is never constructed
[INFO] [stdout]   --> src/problems/problem_019.rs:11:8
[INFO] [stdout]    |
[INFO] [stdout] 11 | struct DateIterator {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Date` is never constructed
[INFO] [stdout]   --> src/problems/problem_019.rs:25:8
[INFO] [stdout]    |
[INFO] [stdout] 25 | struct Date {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `jan_1_1900`, `incr`, `is_leap_year`, `is_century`, and `is_sunday_on_the_first` are never used
[INFO] [stdout]   --> src/problems/problem_019.rs:33:8
[INFO] [stdout]    |
[INFO] [stdout] 32 | impl Date {
[INFO] [stdout]    | --------- associated items in this implementation
[INFO] [stdout] 33 |     fn jan_1_1900() -> Date {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 42 |     fn incr(&self) -> Date {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 81 |     fn is_leap_year(&self) -> bool {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 85 |     fn is_century(&self) -> bool {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 89 |     fn is_sunday_on_the_first(&self) -> bool {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `DayOfWeek` is never used
[INFO] [stdout]   --> src/problems/problem_019.rs:95:6
[INFO] [stdout]    |
[INFO] [stdout] 95 | enum DayOfWeek {
[INFO] [stdout]    |      ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `next` is never used
[INFO] [stdout]    --> src/problems/problem_019.rs:106:8
[INFO] [stdout]     |
[INFO] [stdout] 105 | impl DayOfWeek {
[INFO] [stdout]     | -------------- method in this implementation
[INFO] [stdout] 106 |     fn next(&self) -> DayOfWeek {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `ammicable` is never used
[INFO] [stdout]   --> src/problems/problem_021.rs:19:4
[INFO] [stdout]    |
[INFO] [stdout] 19 | fn ammicable(cache: &mut Cache, left: u64, right: u64) -> bool {
[INFO] [stdout]    |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Cache` is never constructed
[INFO] [stdout]   --> src/problems/problem_021.rs:26:8
[INFO] [stdout]    |
[INFO] [stdout] 26 | struct Cache {
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `divisor_sum` are never used
[INFO] [stdout]   --> src/problems/problem_021.rs:31:8
[INFO] [stdout]    |
[INFO] [stdout] 30 | impl Cache {
[INFO] [stdout]    | ---------- associated items in this implementation
[INFO] [stdout] 31 |     fn new() -> Cache {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 35 |     fn divisor_sum(&mut self, num: u64) -> u64 {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `divisors` is never used
[INFO] [stdout]   --> src/problems/problem_021.rs:46:4
[INFO] [stdout]    |
[INFO] [stdout] 46 | fn divisors(num: u64) -> u64 {
[INFO] [stdout]    |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `name_value` is never used
[INFO] [stdout]   --> src/problems/problem_022.rs:21:4
[INFO] [stdout]    |
[INFO] [stdout] 21 | fn name_value(name: String) -> u64 {
[INFO] [stdout]    |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `factorial` is never used
[INFO] [stdout]   --> src/problems/problem_024.rs:24:4
[INFO] [stdout]    |
[INFO] [stdout] 24 | fn factorial(n: u32) -> u32 {
[INFO] [stdout]    |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `longest_cycle` is never used
[INFO] [stdout]  --> src/problems/problem_026.rs:7:4
[INFO] [stdout]   |
[INFO] [stdout] 7 | fn longest_cycle(num: i32) -> i32 {
[INFO] [stdout]   |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `num_primes` is never used
[INFO] [stdout]   --> src/problems/problem_027.rs:22:4
[INFO] [stdout]    |
[INFO] [stdout] 22 | fn num_primes(a: i32, b: i32) -> i32 {
[INFO] [stdout]    |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `power_of_digits` is never used
[INFO] [stdout]  --> src/problems/problem_030.rs:9:4
[INFO] [stdout]   |
[INFO] [stdout] 9 | fn power_of_digits(num: u32, pow: u32) -> u32 {
[INFO] [stdout]   |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `COINS` is never used
[INFO] [stdout]  --> src/problems/problem_031.rs:1:7
[INFO] [stdout]   |
[INFO] [stdout] 1 | const COINS: [i32; 8] = [1, 2, 5, 10, 20, 50, 100, 200];
[INFO] [stdout]   |       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `ways` is never used
[INFO] [stdout]  --> src/problems/problem_031.rs:8:4
[INFO] [stdout]   |
[INFO] [stdout] 8 | fn ways(amount: i32) -> u64 {
[INFO] [stdout]   |    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `ways_internal` is never used
[INFO] [stdout]   --> src/problems/problem_031.rs:12:4
[INFO] [stdout]    |
[INFO] [stdout] 12 | fn ways_internal(amount: i32, idx: usize) -> u64 {
[INFO] [stdout]    |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `number` is never used
[INFO] [stdout]   --> src/problems/problem_032.rs:30:4
[INFO] [stdout]    |
[INFO] [stdout] 30 | fn number(digits: &[i8]) -> i32 {
[INFO] [stdout]    |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `digit_factorial_sum` is never used
[INFO] [stdout]   --> src/problems/problem_034.rs:11:4
[INFO] [stdout]    |
[INFO] [stdout] 11 | fn digit_factorial_sum(num: i64) -> i64 {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `factorial` is never used
[INFO] [stdout]   --> src/problems/problem_034.rs:15:4
[INFO] [stdout]    |
[INFO] [stdout] 15 | fn factorial(num: i8) -> i64 {
[INFO] [stdout]    |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `all_rotations` is never used
[INFO] [stdout]   --> src/problems/problem_035.rs:12:4
[INFO] [stdout]    |
[INFO] [stdout] 12 | fn all_rotations(num: i64) -> Vec<i64> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `palindromic` is never used
[INFO] [stdout]  --> src/problems/problem_036.rs:9:4
[INFO] [stdout]   |
[INFO] [stdout] 9 | fn palindromic(num: i32) -> bool {
[INFO] [stdout]   |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `rev` is never used
[INFO] [stdout]   --> src/problems/problem_036.rs:16:4
[INFO] [stdout]    |
[INFO] [stdout] 16 | fn rev(string: &String) -> String {
[INFO] [stdout]    |    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `truncatable_prime` is never used
[INFO] [stdout]   --> src/problems/problem_037.rs:12:4
[INFO] [stdout]    |
[INFO] [stdout] 12 | fn truncatable_prime(num: i64) -> bool {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `drop_left` is never used
[INFO] [stdout]   --> src/problems/problem_037.rs:34:4
[INFO] [stdout]    |
[INFO] [stdout] 34 | fn drop_left<T>(digits: &[T]) -> &[T] {
[INFO] [stdout]    |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `drop_right` is never used
[INFO] [stdout]   --> src/problems/problem_037.rs:38:4
[INFO] [stdout]    |
[INFO] [stdout] 38 | fn drop_right<T>(digits: &[T]) -> &[T] {
[INFO] [stdout]    |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_pandigital` is never used
[INFO] [stdout]   --> src/problems/problem_038.rs:16:4
[INFO] [stdout]    |
[INFO] [stdout] 16 | fn is_pandigital(digits: &Vec<i8>) -> bool {
[INFO] [stdout]    |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `concatenated_product` is never used
[INFO] [stdout]   --> src/problems/problem_038.rs:25:4
[INFO] [stdout]    |
[INFO] [stdout] 25 | fn concatenated_product(num: i64) -> Vec<i8> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `num_triangles` is never used
[INFO] [stdout]   --> src/problems/problem_039.rs:10:4
[INFO] [stdout]    |
[INFO] [stdout] 10 | fn num_triangles(p: i64) -> i64 {
[INFO] [stdout]    |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `all_digits` is never used
[INFO] [stdout]   --> src/problems/problem_040.rs:17:4
[INFO] [stdout]    |
[INFO] [stdout] 17 | fn all_digits() -> Vec<i8> {
[INFO] [stdout]    |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `triangle_numbers` is never used
[INFO] [stdout]   --> src/problems/problem_042.rs:22:4
[INFO] [stdout]    |
[INFO] [stdout] 22 | fn triangle_numbers() -> HashSet<i32> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `to_number` is never used
[INFO] [stdout]   --> src/problems/problem_042.rs:28:4
[INFO] [stdout]    |
[INFO] [stdout] 28 | fn to_number(name: String) -> i32 {
[INFO] [stdout]    |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `property` is never used
[INFO] [stdout]   --> src/problems/problem_043.rs:14:4
[INFO] [stdout]    |
[INFO] [stdout] 14 | fn property(num: &[i8]) -> bool {
[INFO] [stdout]    |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `pentagonal` is never used
[INFO] [stdout]   --> src/problems/problem_044.rs:21:4
[INFO] [stdout]    |
[INFO] [stdout] 21 | fn pentagonal(n: i64) -> i64 {
[INFO] [stdout]    |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `triangle` is never used
[INFO] [stdout]   --> src/problems/problem_045.rs:17:4
[INFO] [stdout]    |
[INFO] [stdout] 17 | fn triangle(n: i64) -> i64 {
[INFO] [stdout]    |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `pentagonal` is never used
[INFO] [stdout]   --> src/problems/problem_045.rs:21:4
[INFO] [stdout]    |
[INFO] [stdout] 21 | fn pentagonal(n: i64) -> i64 {
[INFO] [stdout]    |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `hexagonal` is never used
[INFO] [stdout]   --> src/problems/problem_045.rs:25:4
[INFO] [stdout]    |
[INFO] [stdout] 25 | fn hexagonal(n: i64) -> i64 {
[INFO] [stdout]    |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_goldbach` is never used
[INFO] [stdout]   --> src/problems/problem_046.rs:15:4
[INFO] [stdout]    |
[INFO] [stdout] 15 | fn is_goldbach(n: u64, primes: &Vec<u64>) -> bool {
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_perfect_square` is never used
[INFO] [stdout]   --> src/problems/problem_046.rs:19:4
[INFO] [stdout]    |
[INFO] [stdout] 19 | fn is_perfect_square(n: u64) -> bool {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `unique` is never used
[INFO] [stdout]   --> src/problems/problem_047.rs:17:4
[INFO] [stdout]    |
[INFO] [stdout] 17 | fn unique(factors: Vec<u64>) -> u64 {
[INFO] [stdout]    |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Permutation` is never used
[INFO] [stdout]   --> src/problems/problem_049.rs:28:7
[INFO] [stdout]    |
[INFO] [stdout] 28 | trait Permutation {
[INFO] [stdout]    |       ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `predicate` is never used
[INFO] [stdout]  --> src/problems/problem_052.rs:9:4
[INFO] [stdout]   |
[INFO] [stdout] 9 | fn predicate(x: i64) -> bool {
[INFO] [stdout]   |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `same_digits` is never used
[INFO] [stdout]   --> src/problems/problem_052.rs:17:4
[INFO] [stdout]    |
[INFO] [stdout] 17 | fn same_digits(a: i64, b: i64) -> bool {
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `n_choose_r` is never used
[INFO] [stdout]   --> src/problems/problem_053.rs:17:4
[INFO] [stdout]    |
[INFO] [stdout] 17 | fn n_choose_r(n: i64, r: i64) -> BigInt {
[INFO] [stdout]    |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `factorial` is never used
[INFO] [stdout]   --> src/problems/problem_053.rs:21:4
[INFO] [stdout]    |
[INFO] [stdout] 21 | fn factorial(num: i64) -> BigInt {
[INFO] [stdout]    |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Hand` is never constructed
[INFO] [stdout]   --> src/problems/problem_054.rs:27:8
[INFO] [stdout]    |
[INFO] [stdout] 27 | struct Hand {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> src/problems/problem_054.rs:32:8
[INFO] [stdout]     |
[INFO] [stdout]  31 | impl Hand {
[INFO] [stdout]     | --------- methods in this implementation
[INFO] [stdout]  32 |     fn winner(&self, other: &Hand) -> bool {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  99 |     fn ranks(&self) -> Vec<u8> {
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 103 |     fn rank_counts(&self) -> HashMap<u8, u8> {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 111 |     fn royal_flush(&self) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 121 |     fn straight_flush(&self) -> Option<u8> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 129 |     fn four_of_a_kind(&self) -> Option<u8> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 133 |     fn full_house(&self) -> Option<u8> {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 141 |     fn three_of_a_kind(&self) -> Option<u8> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 149 |     fn two_pair(&self) -> Option<(u8, u8)> {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 163 |     fn pair(&self) -> Option<u8> {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 171 |     fn flush(&self) -> Option<u8> {
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 180 |     fn straight(&self) -> Option<u8> {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 191 |     fn high_card(&self) -> Card {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 195 |     fn cards(&self) -> Vec<Card> {
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Card` is never constructed
[INFO] [stdout]    --> src/problems/problem_054.rs:203:8
[INFO] [stdout]     |
[INFO] [stdout] 203 | struct Card {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `parse` is never used
[INFO] [stdout]    --> src/problems/problem_054.rs:209:8
[INFO] [stdout]     |
[INFO] [stdout] 208 | impl Card {
[INFO] [stdout]     | --------- associated function in this implementation
[INFO] [stdout] 209 |     fn parse(s: &str) -> Self {
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_lychrel` is never used
[INFO] [stdout]   --> src/problems/problem_055.rs:12:4
[INFO] [stdout]    |
[INFO] [stdout] 12 | fn is_lychrel(num: i64) -> bool {
[INFO] [stdout]    |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `iterate` is never used
[INFO] [stdout]   --> src/problems/problem_055.rs:23:4
[INFO] [stdout]    |
[INFO] [stdout] 23 | fn iterate(num: &BigInt) -> BigInt {
[INFO] [stdout]    |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `reverse` is never used
[INFO] [stdout]   --> src/problems/problem_055.rs:27:4
[INFO] [stdout]    |
[INFO] [stdout] 27 | fn reverse(num: &BigInt) -> BigInt {
[INFO] [stdout]    |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_palindrome` is never used
[INFO] [stdout]   --> src/problems/problem_055.rs:33:4
[INFO] [stdout]    |
[INFO] [stdout] 33 | fn is_palindrome(num: &BigInt) -> bool {
[INFO] [stdout]    |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `big_int` is never used
[INFO] [stdout]   --> src/problems/problem_055.rs:37:4
[INFO] [stdout]    |
[INFO] [stdout] 37 | fn big_int(digits: &[i8]) -> BigInt {
[INFO] [stdout]    |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `next` is never used
[INFO] [stdout]   --> src/problems/problem_057.rs:19:4
[INFO] [stdout]    |
[INFO] [stdout] 19 | fn next((old_num, old_den): (BigInt, BigInt)) -> (BigInt, BigInt) {
[INFO] [stdout]    |    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DiagonalGenerator` is never constructed
[INFO] [stdout]   --> src/problems/problem_058.rs:26:8
[INFO] [stdout]    |
[INFO] [stdout] 26 | struct DiagonalGenerator {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/problems/problem_058.rs:33:8
[INFO] [stdout]    |
[INFO] [stdout] 32 | impl DiagonalGenerator {
[INFO] [stdout]    | ---------------------- associated function in this implementation
[INFO] [stdout] 33 |     fn new() -> DiagonalGenerator {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `decrypt` is never used
[INFO] [stdout]   --> src/problems/problem_059.rs:12:4
[INFO] [stdout]    |
[INFO] [stdout] 12 | fn decrypt() -> Result<String, Box<dyn Error>> {
[INFO] [stdout]    |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_valid` is never used
[INFO] [stdout]   --> src/problems/problem_059.rs:27:4
[INFO] [stdout]    |
[INFO] [stdout] 27 | fn is_valid(c: char) -> bool {
[INFO] [stdout]    |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `try_key` is never used
[INFO] [stdout]   --> src/problems/problem_059.rs:34:4
[INFO] [stdout]    |
[INFO] [stdout] 34 | fn try_key(encrypted: &String, key: &mut Key) -> Result<String, Box<dyn Error>> {
[INFO] [stdout]    |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Key` is never constructed
[INFO] [stdout]   --> src/problems/problem_059.rs:43:8
[INFO] [stdout]    |
[INFO] [stdout] 43 | struct Key {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `crypt` are never used
[INFO] [stdout]   --> src/problems/problem_059.rs:49:8
[INFO] [stdout]    |
[INFO] [stdout] 48 | impl Key {
[INFO] [stdout]    | -------- associated items in this implementation
[INFO] [stdout] 49 |     fn new(key: Vec<char>) -> Key {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 56 |     fn crypt(&mut self, byte: u8) -> u8 {
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `prime_pair_set` is never used
[INFO] [stdout]   --> src/problems/problem_060.rs:34:4
[INFO] [stdout]    |
[INFO] [stdout] 34 | fn prime_pair_set(set: &Vec<u64>) -> bool {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `concat` is never used
[INFO] [stdout]   --> src/problems/problem_060.rs:47:4
[INFO] [stdout]    |
[INFO] [stdout] 47 | fn concat(one: u64, two: u64) -> u64 {
[INFO] [stdout]    |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_cycle` is never used
[INFO] [stdout]   --> src/problems/problem_061.rs:28:4
[INFO] [stdout]    |
[INFO] [stdout] 28 | fn is_cycle(vecs: &Vec<u32>) -> bool {
[INFO] [stdout]    |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `paths` is never used
[INFO] [stdout]   --> src/problems/problem_061.rs:37:4
[INFO] [stdout]    |
[INFO] [stdout] 37 | fn paths(vecs: &Vec<Vec<u32>>, offset: usize, prefix: String) -> Vec<Vec<u32>> {
[INFO] [stdout]    |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `four_digit_nums` is never used
[INFO] [stdout]   --> src/problems/problem_061.rs:65:4
[INFO] [stdout]    |
[INFO] [stdout] 65 | fn four_digit_nums<F: Fn(u32) -> u32>(func: F) -> Vec<u32> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `triangle` is never used
[INFO] [stdout]   --> src/problems/problem_061.rs:73:4
[INFO] [stdout]    |
[INFO] [stdout] 73 | fn triangle(n: u32) -> u32 {
[INFO] [stdout]    |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `square` is never used
[INFO] [stdout]   --> src/problems/problem_061.rs:77:4
[INFO] [stdout]    |
[INFO] [stdout] 77 | fn square(n: u32) -> u32 {
[INFO] [stdout]    |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `pentagonal` is never used
[INFO] [stdout]   --> src/problems/problem_061.rs:81:4
[INFO] [stdout]    |
[INFO] [stdout] 81 | fn pentagonal(n: u32) -> u32 {
[INFO] [stdout]    |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `hexagonal` is never used
[INFO] [stdout]   --> src/problems/problem_061.rs:85:4
[INFO] [stdout]    |
[INFO] [stdout] 85 | fn hexagonal(n: u32) -> u32 {
[INFO] [stdout]    |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `heptagonal` is never used
[INFO] [stdout]   --> src/problems/problem_061.rs:89:4
[INFO] [stdout]    |
[INFO] [stdout] 89 | fn heptagonal(n: u32) -> u32 {
[INFO] [stdout]    |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `octagonal` is never used
[INFO] [stdout]   --> src/problems/problem_061.rs:93:4
[INFO] [stdout]    |
[INFO] [stdout] 93 | fn octagonal(n: u32) -> u32 {
[INFO] [stdout]    |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `sorted_digits` is never used
[INFO] [stdout]   --> src/problems/problem_062.rs:19:4
[INFO] [stdout]    |
[INFO] [stdout] 19 | fn sorted_digits(n: u64) -> Vec<u8> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `n9th_powers` is never used
[INFO] [stdout]  --> src/problems/problem_063.rs:9:4
[INFO] [stdout]   |
[INFO] [stdout] 9 | fn n9th_powers(n: u32) -> u32 {
[INFO] [stdout]   |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `period` is never used
[INFO] [stdout]   --> src/problems/problem_064.rs:14:4
[INFO] [stdout]    |
[INFO] [stdout] 14 | fn period(n: i32) -> i32 {
[INFO] [stdout]    |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ContinuedFraction` is never constructed
[INFO] [stdout]   --> src/problems/problem_064.rs:27:8
[INFO] [stdout]    |
[INFO] [stdout] 27 | struct ContinuedFraction {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `init` and `next` are never used
[INFO] [stdout]   --> src/problems/problem_064.rs:35:8
[INFO] [stdout]    |
[INFO] [stdout] 34 | impl ContinuedFraction {
[INFO] [stdout]    | ---------------------- associated items in this implementation
[INFO] [stdout] 35 |     fn init(num: i32) -> ContinuedFraction {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 45 |     fn next(&self) -> ContinuedFraction {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `e_digits` is never used
[INFO] [stdout]   --> src/problems/problem_065.rs:18:4
[INFO] [stdout]    |
[INFO] [stdout] 18 | fn e_digits(count: i64) -> Vec<i64> {
[INFO] [stdout]    |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `FibonacciSequence` is never constructed
[INFO] [stdout]  --> src/utils/fibonacci.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct FibonacciSequence {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]  --> src/utils/fibonacci.rs:9:12
[INFO] [stdout]   |
[INFO] [stdout] 8 | impl FibonacciSequence {
[INFO] [stdout]   | ---------------------- associated function in this implementation
[INFO] [stdout] 9 |     pub fn new() -> Self {
[INFO] [stdout]   |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Primes` is never constructed
[INFO] [stdout]  --> src/utils/primes.rs:1:12
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub struct Primes {
[INFO] [stdout]   |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `as_slice`, and `factors` are never used
[INFO] [stdout]   --> src/utils/primes.rs:6:12
[INFO] [stdout]    |
[INFO] [stdout]  5 | impl Primes {
[INFO] [stdout]    | ----------- associated items in this implementation
[INFO] [stdout]  6 |     pub fn new(max_prime: u64) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 12 |     pub fn as_slice(&self) -> &[u64] {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 16 |     pub fn factors(&self, n: u64) -> Vec<u64> {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `largest_prime_factor` is never used
[INFO] [stdout]   --> src/utils/primes.rs:42:8
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub fn largest_prime_factor(number: u64) -> u64 {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_prime` is never used
[INFO] [stdout]   --> src/utils/primes.rs:69:8
[INFO] [stdout]    |
[INFO] [stdout] 69 | pub fn is_prime(number: u64) -> bool {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `lcm` is never used
[INFO] [stdout]  --> src/utils/numbers.rs:3:8
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub fn lcm(a: i64, b: i64) -> i64 {
[INFO] [stdout]   |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `gcd` is never used
[INFO] [stdout]  --> src/utils/numbers.rs:7:8
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub fn gcd(a: i64, b: i64) -> i64 {
[INFO] [stdout]   |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `gcd_internal` is never used
[INFO] [stdout]   --> src/utils/numbers.rs:11:4
[INFO] [stdout]    |
[INFO] [stdout] 11 | fn gcd_internal(a: i64, b: i64) -> i64 {
[INFO] [stdout]    |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `num_divisors` is never used
[INFO] [stdout]   --> src/utils/numbers.rs:18:8
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub fn num_divisors(n: i64) -> i64 {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `sum_divisors` is never used
[INFO] [stdout]   --> src/utils/numbers.rs:31:8
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub fn sum_divisors(n: i64) -> i64 {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Digits` is never used
[INFO] [stdout]   --> src/utils/numbers.rs:36:11
[INFO] [stdout]    |
[INFO] [stdout] 36 | pub trait Digits {
[INFO] [stdout]    |           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `number` is never used
[INFO] [stdout]   --> src/utils/numbers.rs:46:8
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub fn number(digits: &[i8]) -> i64 {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CollatzSequence` is never constructed
[INFO] [stdout]  --> src/utils/collatz.rs:1:12
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub struct CollatzSequence {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]  --> src/utils/collatz.rs:6:12
[INFO] [stdout]   |
[INFO] [stdout] 5 | impl CollatzSequence {
[INFO] [stdout]   | -------------------- associated function in this implementation
[INFO] [stdout] 6 |     pub fn new(start: u64) -> Self {
[INFO] [stdout]   |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Fraction` is never constructed
[INFO] [stdout]  --> src/utils/fraction.rs:6:12
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct Fraction {
[INFO] [stdout]   |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `denominator`, `numerator`, and `simplify` are never used
[INFO] [stdout]   --> src/utils/fraction.rs:28:12
[INFO] [stdout]    |
[INFO] [stdout] 27 | impl Fraction {
[INFO] [stdout]    | ------------- associated items in this implementation
[INFO] [stdout] 28 |     pub fn new(num: i64, den: i64) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 32 |     pub fn denominator(&self) -> i64 {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 36 |     pub fn numerator(&self) -> i64 {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 40 |     pub fn simplify(&self) -> Fraction {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_pandigital` is never used
[INFO] [stdout]  --> src/utils/pandigital.rs:3:8
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub fn is_pandigital(digits: Vec<i8>) -> bool {
[INFO] [stdout]   |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `permutations` is never used
[INFO] [stdout]  --> src/utils/permutations.rs:1:8
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub fn permutations<T: Clone>(vec: Vec<T>) -> Vec<Vec<T>> {
[INFO] [stdout]   |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `insert_in_all_positions` is never used
[INFO] [stdout]   --> src/utils/permutations.rs:16:4
[INFO] [stdout]    |
[INFO] [stdout] 16 | fn insert_in_all_positions<T: Clone>(item: T, vec: Vec<T>) -> Vec<Vec<T>> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `BigIntDigits` is never used
[INFO] [stdout]  --> src/utils/big_int.rs:3:11
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub trait BigIntDigits {
[INFO] [stdout]   |           ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]   --> src/problems/problem_055.rs:14:9
[INFO] [stdout]    |
[INFO] [stdout] 14 |     for i in 0..50 {
[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: `i`
[INFO] [stdout]  --> src/problems/problem_057.rs:9:9
[INFO] [stdout]   |
[INFO] [stdout] 9 |     for i in 0..1000 {
[INFO] [stdout]   |         ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/problems/problem_064.rs:53:13
[INFO] [stdout]    |
[INFO] [stdout] 53 |         let mut neg = sqrt;
[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: function `is_valid` is never used
[INFO] [stdout]   --> src/problems/problem_059.rs:27:4
[INFO] [stdout]    |
[INFO] [stdout] 27 | fn is_valid(c: char) -> bool {
[INFO] [stdout]    |    ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `numerator` is never used
[INFO] [stdout]   --> src/utils/fraction.rs:36:12
[INFO] [stdout]    |
[INFO] [stdout] 27 | impl Fraction {
[INFO] [stdout]    | ------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 36 |     pub fn numerator(&self) -> i64 {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 3.82s
[INFO] running `Command { std: "docker" "inspect" "092c3267856f723046d82e2e5e3c47ebd50a4cf3b77b9ae94e8b4a52fca3c0cd", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "092c3267856f723046d82e2e5e3c47ebd50a4cf3b77b9ae94e8b4a52fca3c0cd", kill_on_drop: false }`
[INFO] [stdout] 092c3267856f723046d82e2e5e3c47ebd50a4cf3b77b9ae94e8b4a52fca3c0cd
