[INFO] cloning repository https://github.com/evgeni-nabokov/codewars-rust
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/evgeni-nabokov/codewars-rust" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fevgeni-nabokov%2Fcodewars-rust", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fevgeni-nabokov%2Fcodewars-rust'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 39732a50a7ad5f30dac91070cc319d2a76d5764e
[INFO] checking evgeni-nabokov/codewars-rust against master#350d0ef0ec0493e6d21cfb265cb8211a0e74d766 for pr-145342
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fevgeni-nabokov%2Fcodewars-rust" "/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/evgeni-nabokov/codewars-rust
[INFO] finished tweaking git repo https://github.com/evgeni-nabokov/codewars-rust
[INFO] tweaked toml for git repo https://github.com/evgeni-nabokov/codewars-rust written to /workspace/builds/worker-3-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/evgeni-nabokov/codewars-rust on toolchain 350d0ef0ec0493e6d21cfb265cb8211a0e74d766
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+350d0ef0ec0493e6d21cfb265cb8211a0e74d766" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/evgeni-nabokov/codewars-rust 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" "+350d0ef0ec0493e6d21cfb265cb8211a0e74d766" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[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-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:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+350d0ef0ec0493e6d21cfb265cb8211a0e74d766" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 27013e2839b52140b3d0cb0531748f8b4429c2ce6cade71912d279793fc7c3db
[INFO] running `Command { std: "docker" "start" "-a" "27013e2839b52140b3d0cb0531748f8b4429c2ce6cade71912d279793fc7c3db", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "27013e2839b52140b3d0cb0531748f8b4429c2ce6cade71912d279793fc7c3db", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "27013e2839b52140b3d0cb0531748f8b4429c2ce6cade71912d279793fc7c3db", kill_on_drop: false }`
[INFO] [stdout] 27013e2839b52140b3d0cb0531748f8b4429c2ce6cade71912d279793fc7c3db
[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=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:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+350d0ef0ec0493e6d21cfb265cb8211a0e74d766" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] c57213362e7b88f9ef787074eb22e647356a05ded15408c376a17abc1878a6ff
[INFO] running `Command { std: "docker" "start" "-a" "c57213362e7b88f9ef787074eb22e647356a05ded15408c376a17abc1878a6ff", kill_on_drop: false }`
[INFO] [stderr]    Compiling memchr v2.2.1
[INFO] [stderr]     Checking lazy_static v1.3.0
[INFO] [stderr]     Checking regex-syntax v0.6.12
[INFO] [stderr]     Checking maplit v1.0.2
[INFO] [stderr]     Checking thread_local v0.3.6
[INFO] [stderr]     Checking aho-corasick v0.7.6
[INFO] [stderr]     Checking regex v1.3.1
[INFO] [stderr]     Checking codewars v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused `#[macro_use]` import
[INFO] [stdout]  --> src/main.rs:1:1
[INFO] [stdout]   |
[INFO] [stdout] 1 | #[macro_use]
[INFO] [stdout]   | ^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self::Parenthesis::*`
[INFO] [stdout]   --> src/kyu_2/calculator.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use self::Parenthesis::*;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self::Operator::*`
[INFO] [stdout]   --> src/kyu_2/calculator.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use self::Operator::*;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::common::*`
[INFO] [stdout]  --> src/kyu_4/mod.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use super::common::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cmp`
[INFO] [stdout]  --> src/kyu_6/mod.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::cmp;
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::iter`
[INFO] [stdout]  --> src/kyu_6/mod.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::iter;
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `HashSet`
[INFO] [stdout]  --> src/kyu_6/mod.rs:4:33
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::collections::{HashMap, HashSet};
[INFO] [stdout]   |                                 ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Match`
[INFO] [stdout]  --> src/kyu_6/mod.rs:5:20
[INFO] [stdout]   |
[INFO] [stdout] 5 | use regex::{Regex, Match};
[INFO] [stdout]   |                    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cmp`
[INFO] [stdout]  --> src/kyu_7/mod.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::cmp;
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cmp::Ordering::*`
[INFO] [stdout]  --> src/kyu_7/mod.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::cmp::Ordering::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::iter`
[INFO] [stdout]  --> src/kyu_7/mod.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::iter;
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `HashMap` and `HashSet`
[INFO] [stdout]  --> src/kyu_7/mod.rs:4:24
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::collections::{HashMap, HashSet};
[INFO] [stdout]   |                        ^^^^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::common::*`
[INFO] [stdout]  --> src/kyu_7/mod.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use super::common::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self::Parenthesis::*`
[INFO] [stdout]   --> src/kyu_2/calculator.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use self::Parenthesis::*;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self::Operator::*`
[INFO] [stdout]   --> src/kyu_2/calculator.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use self::Operator::*;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::common::*`
[INFO] [stdout]  --> src/kyu_4/mod.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use super::common::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]   --> src/kyu_5/tests.rs:98:13
[INFO] [stdout]    |
[INFO] [stdout] 98 |             (actual.abs() <= merr)
[INFO] [stdout]    |             ^                    ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 98 -             (actual.abs() <= merr)
[INFO] [stdout] 98 +             actual.abs() <= merr
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]    --> src/kyu_5/tests.rs:100:13
[INFO] [stdout]     |
[INFO] [stdout] 100 |             ((actual - expected).abs() / expected <= merr)
[INFO] [stdout]     |             ^                                            ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 100 -             ((actual - expected).abs() / expected <= merr)
[INFO] [stdout] 100 +             (actual - expected).abs() / expected <= merr
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cmp`
[INFO] [stdout]  --> src/kyu_6/mod.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::cmp;
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::iter`
[INFO] [stdout]  --> src/kyu_6/mod.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::iter;
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `HashSet`
[INFO] [stdout]  --> src/kyu_6/mod.rs:4:33
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::collections::{HashMap, HashSet};
[INFO] [stdout]   |                                 ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Match`
[INFO] [stdout]  --> src/kyu_6/mod.rs:5:20
[INFO] [stdout]   |
[INFO] [stdout] 5 | use regex::{Regex, Match};
[INFO] [stdout]   |                    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]   --> src/kyu_6/tests.rs:87:13
[INFO] [stdout]    |
[INFO] [stdout] 87 |             (actual.abs() <= merr)
[INFO] [stdout]    |             ^                    ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 87 -             (actual.abs() <= merr)
[INFO] [stdout] 87 +             actual.abs() <= merr
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]   --> src/kyu_6/tests.rs:89:13
[INFO] [stdout]    |
[INFO] [stdout] 89 |             ((actual - expected).abs() / expected <= merr)
[INFO] [stdout]    |             ^                                            ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 89 -             ((actual - expected).abs() / expected <= merr)
[INFO] [stdout] 89 +             (actual - expected).abs() / expected <= merr
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cmp`
[INFO] [stdout]  --> src/kyu_7/mod.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::cmp;
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cmp::Ordering::*`
[INFO] [stdout]  --> src/kyu_7/mod.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::cmp::Ordering::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::iter`
[INFO] [stdout]  --> src/kyu_7/mod.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::iter;
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `HashMap` and `HashSet`
[INFO] [stdout]  --> src/kyu_7/mod.rs:4:24
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::collections::{HashMap, HashSet};
[INFO] [stdout]   |                        ^^^^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::common::*`
[INFO] [stdout]  --> src/kyu_7/mod.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use super::common::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/kyu_8/mod.rs:17:25
[INFO] [stdout]    |
[INFO] [stdout] 17 |     arr.iter().fold(0, |mut acc, &n| acc + if n > 0 { n } else { 0 })
[INFO] [stdout]    |                         ----^^^
[INFO] [stdout]    |                         |
[INFO] [stdout]    |                         help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_prime` is never used
[INFO] [stdout]  --> src/common/mod.rs:4:8
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub fn is_prime(n: &u64) -> bool {
[INFO] [stdout]   |        ^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `mod_pow` is never used
[INFO] [stdout]   --> src/common/mod.rs:23:8
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub fn mod_pow(base: u64, exp: u64, modulus: u64) -> u64 {
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PRIME_NUMBERS` is never used
[INFO] [stdout]   --> src/common/mod.rs:38:11
[INFO] [stdout]    |
[INFO] [stdout] 38 | pub const PRIME_NUMBERS: [u64; 3330] = [
[INFO] [stdout]    |           ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `LAST_DIGITS` is never used
[INFO] [stdout]    --> src/common/mod.rs:289:11
[INFO] [stdout]     |
[INFO] [stdout] 289 | pub const LAST_DIGITS: [[u8; 4]; 10] = [
[INFO] [stdout]     |           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `calc` is never used
[INFO] [stdout]  --> src/kyu_2/mod.rs:5:8
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub fn calc(expression: &str) -> f64 {
[INFO] [stdout]   |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `calc` is never used
[INFO] [stdout]   --> src/kyu_2/calculator.rs:13:8
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub fn calc(expression: &str) -> f64 {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `TryParse` is never used
[INFO] [stdout]   --> src/kyu_2/calculator.rs:17:7
[INFO] [stdout]    |
[INFO] [stdout] 17 | trait TryParse<T>: Sized {
[INFO] [stdout]    |       ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Token` is never used
[INFO] [stdout]   --> src/kyu_2/calculator.rs:22:6
[INFO] [stdout]    |
[INFO] [stdout] 22 | enum Token {
[INFO] [stdout]    |      ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `is_number`, `is_operator`, `is_parenthesis`, `is_unary_minus`, `is_opening_parenthesis`, and `is_closing_parenthesis` are never used
[INFO] [stdout]   --> src/kyu_2/calculator.rs:30:12
[INFO] [stdout]    |
[INFO] [stdout] 29 | impl Token {
[INFO] [stdout]    | ---------- methods in this implementation
[INFO] [stdout] 30 |     pub fn is_number(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 37 |     pub fn is_operator(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 44 |     pub fn is_parenthesis(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 51 |     pub fn is_unary_minus(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 58 |     pub fn is_opening_parenthesis(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 65 |     pub fn is_closing_parenthesis(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Number` is never constructed
[INFO] [stdout]   --> src/kyu_2/calculator.rs:74:8
[INFO] [stdout]    |
[INFO] [stdout] 74 | struct Number(f64);
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `apply_unary_minus` is never used
[INFO] [stdout]   --> src/kyu_2/calculator.rs:77:12
[INFO] [stdout]    |
[INFO] [stdout] 76 | impl Number {
[INFO] [stdout]    | ----------- method in this implementation
[INFO] [stdout] 77 |     pub fn apply_unary_minus(&self) -> Number {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Operator` is never used
[INFO] [stdout]   --> src/kyu_2/calculator.rs:92:6
[INFO] [stdout]    |
[INFO] [stdout] 92 | enum Operator {
[INFO] [stdout]    |      ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `is_sub`, `precedence`, and `apply` are never used
[INFO] [stdout]    --> src/kyu_2/calculator.rs:100:12
[INFO] [stdout]     |
[INFO] [stdout]  99 | impl Operator {
[INFO] [stdout]     | ------------- methods in this implementation
[INFO] [stdout] 100 |     pub fn is_sub(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 107 |     pub fn precedence(&self) -> u8 {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 114 |     pub fn apply(&self, num_1: Number, num_2: Number) -> Number {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Parenthesis` is never used
[INFO] [stdout]    --> src/kyu_2/calculator.rs:139:6
[INFO] [stdout]     |
[INFO] [stdout] 139 | enum Parenthesis {
[INFO] [stdout]     |      ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `is_opening` is never used
[INFO] [stdout]    --> src/kyu_2/calculator.rs:145:12
[INFO] [stdout]     |
[INFO] [stdout] 144 | impl Parenthesis {
[INFO] [stdout]     | ---------------- method in this implementation
[INFO] [stdout] 145 |     pub fn is_opening(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `evaluate_postfix_expression` is never used
[INFO] [stdout]    --> src/kyu_2/calculator.rs:163:4
[INFO] [stdout]     |
[INFO] [stdout] 163 | fn evaluate_postfix_expression(tokens: Vec<Token>) -> f64 {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `convert_to_postfix_notation` is never used
[INFO] [stdout]    --> src/kyu_2/calculator.rs:192:4
[INFO] [stdout]     |
[INFO] [stdout] 192 | fn convert_to_postfix_notation(tokens: Vec<Token>) -> Vec<Token> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `split_into_tokens` is never used
[INFO] [stdout]    --> src/kyu_2/calculator.rs:229:4
[INFO] [stdout]     |
[INFO] [stdout] 229 | fn split_into_tokens(expression: &str) -> Vec<Token> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_number` is never used
[INFO] [stdout]    --> src/kyu_2/calculator.rs:271:4
[INFO] [stdout]     |
[INFO] [stdout] 271 | fn parse_number(digits: &[char]) -> Token {
[INFO] [stdout]     |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `last_digit2` is never used
[INFO] [stdout]  --> src/kyu_3/mod.rs:7:4
[INFO] [stdout]   |
[INFO] [stdout] 7 | fn last_digit2(list: &[u64]) -> u64 {
[INFO] [stdout]   |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `try_to_reduce_list` is never used
[INFO] [stdout]   --> src/kyu_3/mod.rs:50:4
[INFO] [stdout]    |
[INFO] [stdout] 50 | fn try_to_reduce_list(list: &[u64]) -> Vec<u64> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `spiralize` is never used
[INFO] [stdout]   --> src/kyu_3/mod.rs:85:4
[INFO] [stdout]    |
[INFO] [stdout] 85 | fn spiralize(size: usize) -> Vec<Vec<i8>> {
[INFO] [stdout]    |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `range_extraction` is never used
[INFO] [stdout]   --> src/kyu_4/mod.rs:11:4
[INFO] [stdout]    |
[INFO] [stdout] 11 | fn range_extraction(a: &[i32]) -> String {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `acc_to_string` is never used
[INFO] [stdout]   --> src/kyu_4/mod.rs:33:4
[INFO] [stdout]    |
[INFO] [stdout] 33 | fn acc_to_string(acc: &[i32]) -> String {
[INFO] [stdout]    |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `dbl_linear` is never used
[INFO] [stdout]   --> src/kyu_4/mod.rs:43:4
[INFO] [stdout]    |
[INFO] [stdout] 43 | fn dbl_linear(n: u32) -> u32 {
[INFO] [stdout]    |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `n_linear` is never used
[INFO] [stdout]   --> src/kyu_4/mod.rs:75:4
[INFO] [stdout]    |
[INFO] [stdout] 75 | fn n_linear(m: &[u32], n: usize) -> u32 {
[INFO] [stdout]    |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `strings_mix` is never used
[INFO] [stdout]   --> src/kyu_4/mod.rs:96:4
[INFO] [stdout]    |
[INFO] [stdout] 96 | fn strings_mix(s1: &str, s2: &str) -> String {
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `count_and_filter_chars` is never used
[INFO] [stdout]    --> src/kyu_4/mod.rs:138:4
[INFO] [stdout]     |
[INFO] [stdout] 138 | fn count_and_filter_chars(s: &str) -> HashMap<char, usize> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `int_part` is never used
[INFO] [stdout]    --> src/kyu_4/mod.rs:150:4
[INFO] [stdout]     |
[INFO] [stdout] 150 | fn int_part(n: u32) -> String {
[INFO] [stdout]     |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PartitionIter` is never constructed
[INFO] [stdout]    --> src/kyu_4/mod.rs:166:8
[INFO] [stdout]     |
[INFO] [stdout] 166 | struct PartitionIter {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/kyu_4/mod.rs:176:12
[INFO] [stdout]     |
[INFO] [stdout] 175 | impl PartitionIter {
[INFO] [stdout]     | ------------------ associated function in this implementation
[INFO] [stdout] 176 |     pub fn new(n: u32) -> PartitionIter {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Cons` is never used
[INFO] [stdout]    --> src/kyu_4/mod.rs:229:6
[INFO] [stdout]     |
[INFO] [stdout] 229 | enum Cons<T: Clone> {
[INFO] [stdout]     |      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/kyu_4/mod.rs:235:12
[INFO] [stdout]     |
[INFO] [stdout] 234 | impl<T: Clone> Cons<T> {
[INFO] [stdout]     | ---------------------- associated function in this implementation
[INFO] [stdout] 235 |     pub fn new(head: T, tail: Self) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `to_vec` is never used
[INFO] [stdout]    --> src/kyu_4/mod.rs:241:12
[INFO] [stdout]     |
[INFO] [stdout] 240 | impl<T: Clone> Cons<T> {
[INFO] [stdout]     | ---------------------- method in this implementation
[INFO] [stdout] 241 |     pub fn to_vec(&self) -> Vec<T> {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `from_iter`, `filter`, and `map` are never used
[INFO] [stdout]    --> src/kyu_4/mod.rs:254:12
[INFO] [stdout]     |
[INFO] [stdout] 253 | impl<T: Clone> Cons<T> {
[INFO] [stdout]     | ---------------------- associated items in this implementation
[INFO] [stdout] 254 |     pub fn from_iter<I>(it: I) -> Self
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 264 |     pub fn filter<F>(&self, fun: F) -> Self
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 276 |     pub fn map<F,S>(&self, fun: F) -> Cons<S>
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `recover_secret` is never used
[INFO] [stdout]    --> src/kyu_4/mod.rs:288:4
[INFO] [stdout]     |
[INFO] [stdout] 288 | fn recover_secret(mut triplets: Vec<[char; 3]>) -> String {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `char_does_follow_another` is never used
[INFO] [stdout]    --> src/kyu_4/mod.rs:308:4
[INFO] [stdout]     |
[INFO] [stdout] 308 | fn char_does_follow_another(ch: &char, triplets: &[[char; 3]]) -> bool {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `remove_char_from_beginning` is never used
[INFO] [stdout]    --> src/kyu_4/mod.rs:318:4
[INFO] [stdout]     |
[INFO] [stdout] 318 | fn remove_char_from_beginning(ch: &char, triplets: &mut [[char; 3]]) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MorseDecoder` is never constructed
[INFO] [stdout]    --> src/kyu_4/mod.rs:330:12
[INFO] [stdout]     |
[INFO] [stdout] 330 | pub struct MorseDecoder {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `decode_morse`, `decode_bits`, and `calc_sampling_rate` are never used
[INFO] [stdout]    --> src/kyu_4/mod.rs:335:12
[INFO] [stdout]     |
[INFO] [stdout] 334 | impl MorseDecoder {
[INFO] [stdout]     | ----------------- associated items in this implementation
[INFO] [stdout] 335 |     pub fn new() -> MorseDecoder {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 349 |     pub fn decode_morse(&self, encoded: &str) -> String {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 361 |     pub fn decode_bits(&self, encoded: &str) -> String {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 401 |     fn calc_sampling_rate(encoded: &str) -> usize {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `next_bigger_number` is never used
[INFO] [stdout]    --> src/kyu_4/mod.rs:433:4
[INFO] [stdout]     |
[INFO] [stdout] 433 | fn next_bigger_number(n: i64) -> i64 {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `sum_pairs` is never used
[INFO] [stdout]   --> src/kyu_5/mod.rs:11:4
[INFO] [stdout]    |
[INFO] [stdout] 11 | fn sum_pairs(numbers: &[i8], s: i8) -> Option<(i8, i8)> {
[INFO] [stdout]    |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `sum_pairs_naive` is never used
[INFO] [stdout]   --> src/kyu_5/mod.rs:25:4
[INFO] [stdout]    |
[INFO] [stdout] 25 | fn sum_pairs_naive(numbers: &[i8], s: i8) -> Option<(i8, i8)> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `sum_pairs_slow` is never used
[INFO] [stdout]   --> src/kyu_5/mod.rs:48:4
[INFO] [stdout]    |
[INFO] [stdout] 48 | fn sum_pairs_slow(numbers: &[i8], s: i8) -> Option<(i8, i8)> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `prime_gap` is never used
[INFO] [stdout]   --> src/kyu_5/mod.rs:60:4
[INFO] [stdout]    |
[INFO] [stdout] 60 | fn prime_gap(g: i32, m: u64, n: u64) -> Option<(u64, u64)> {
[INFO] [stdout]    |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `product_fib` is never used
[INFO] [stdout]   --> src/kyu_5/mod.rs:74:4
[INFO] [stdout]    |
[INFO] [stdout] 74 | fn product_fib(prod: u64) -> (u64, u64, bool) {
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_prime_factors` is never used
[INFO] [stdout]   --> src/kyu_5/mod.rs:94:4
[INFO] [stdout]    |
[INFO] [stdout] 94 | fn get_prime_factors(n: &u64) -> Vec<u64> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_primes` is never used
[INFO] [stdout]    --> src/kyu_5/mod.rs:132:4
[INFO] [stdout]     |
[INFO] [stdout] 132 | fn get_primes(start: u64, end: u64) -> Vec<u64> {
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_kprimes` is never used
[INFO] [stdout]    --> src/kyu_5/mod.rs:142:4
[INFO] [stdout]     |
[INFO] [stdout] 142 | fn get_kprimes(k: usize, start: u64, end: u64) -> Vec<u64> {
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `puzzle` is never used
[INFO] [stdout]    --> src/kyu_5/mod.rs:153:4
[INFO] [stdout]     |
[INFO] [stdout] 153 | fn puzzle(s: u64) -> u8 {
[INFO] [stdout]     |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `last_digit` is never used
[INFO] [stdout]    --> src/kyu_5/mod.rs:168:4
[INFO] [stdout]     |
[INFO] [stdout] 168 | fn last_digit(str1: &str, str2: &str) -> u8 {
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `buddy_numbers` is never used
[INFO] [stdout]    --> src/kyu_5/mod.rs:189:4
[INFO] [stdout]     |
[INFO] [stdout] 189 | fn buddy_numbers(start: u64, limit: u64) -> Option<(u64, u64)> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_sum_of_factors` is never used
[INFO] [stdout]    --> src/kyu_5/mod.rs:208:4
[INFO] [stdout]     |
[INFO] [stdout] 208 | fn get_sum_of_factors(n: &u64) -> u64 {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_sum_of_factors_slow` is never used
[INFO] [stdout]    --> src/kyu_5/mod.rs:232:4
[INFO] [stdout]     |
[INFO] [stdout] 232 | fn get_sum_of_factors_slow(n: &u64) -> u64 {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_factors_slow` is never used
[INFO] [stdout]    --> src/kyu_5/mod.rs:242:4
[INFO] [stdout]     |
[INFO] [stdout] 242 | fn get_factors_slow(n: &u64) -> Vec<u64> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `find_x_of_pseries` is never used
[INFO] [stdout]    --> src/kyu_5/mod.rs:254:4
[INFO] [stdout]     |
[INFO] [stdout] 254 | fn find_x_of_pseries(m: f64) -> f64 {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `sum_of_series` is never used
[INFO] [stdout]    --> src/kyu_5/mod.rs:259:4
[INFO] [stdout]     |
[INFO] [stdout] 259 | fn sum_of_series(n: i32) -> f64 {
[INFO] [stdout]     |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `phone_directory` is never used
[INFO] [stdout]    --> src/kyu_5/mod.rs:272:4
[INFO] [stdout]     |
[INFO] [stdout] 272 | fn phone_directory(dir: &str, num: &str) -> String {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `consec_kprimes` is never used
[INFO] [stdout]    --> src/kyu_5/mod.rs:325:4
[INFO] [stdout]     |
[INFO] [stdout] 325 | fn consec_kprimes(k: usize, arr: Vec<u64>) -> u64 {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `factorial_decomp` is never used
[INFO] [stdout]    --> src/kyu_5/mod.rs:344:4
[INFO] [stdout]     |
[INFO] [stdout] 344 | fn factorial_decomp(n: u64) -> String {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `prime_factors` is never used
[INFO] [stdout]    --> src/kyu_5/mod.rs:375:4
[INFO] [stdout]     |
[INFO] [stdout] 375 | fn prime_factors(n: u64) -> String {
[INFO] [stdout]     |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `rgb` is never used
[INFO] [stdout]    --> src/kyu_5/mod.rs:406:4
[INFO] [stdout]     |
[INFO] [stdout] 406 | fn rgb(r: i32, g: i32, b: i32) -> String {
[INFO] [stdout]     |    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `convert_to_byte` is never used
[INFO] [stdout]    --> src/kyu_5/mod.rs:413:4
[INFO] [stdout]     |
[INFO] [stdout] 413 | fn convert_to_byte(c: i32) -> u8 {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `perimeter` is never used
[INFO] [stdout]    --> src/kyu_5/mod.rs:418:4
[INFO] [stdout]     |
[INFO] [stdout] 418 | fn perimeter(n: u64) -> u64 {
[INFO] [stdout]     |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `john` is never used
[INFO] [stdout]    --> src/kyu_5/mod.rs:432:4
[INFO] [stdout]     |
[INFO] [stdout] 432 | fn john(n: u32) -> Vec<u32> {
[INFO] [stdout]     |    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `ann` is never used
[INFO] [stdout]    --> src/kyu_5/mod.rs:436:4
[INFO] [stdout]     |
[INFO] [stdout] 436 | fn ann(n: u32) -> Vec<u32> {
[INFO] [stdout]     |    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `sum_john` is never used
[INFO] [stdout]    --> src/kyu_5/mod.rs:440:4
[INFO] [stdout]     |
[INFO] [stdout] 440 | fn sum_john(n: u32) -> u32 {
[INFO] [stdout]     |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `sum_ann` is never used
[INFO] [stdout]    --> src/kyu_5/mod.rs:444:4
[INFO] [stdout]     |
[INFO] [stdout] 444 | fn sum_ann(n: u32) -> u32 {
[INFO] [stdout]     |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `john_ann` is never used
[INFO] [stdout]    --> src/kyu_5/mod.rs:448:4
[INFO] [stdout]     |
[INFO] [stdout] 448 | fn john_ann(n: &u32) -> (Vec<u32>, Vec<u32>) {
[INFO] [stdout]     |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `convert_fracts` is never used
[INFO] [stdout]    --> src/kyu_5/mod.rs:459:4
[INFO] [stdout]     |
[INFO] [stdout] 459 | fn convert_fracts(mut list: Vec<(u64, u64)>) -> Vec<(u64, u64)> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_prime_factors_with_power` is never used
[INFO] [stdout]    --> src/kyu_5/mod.rs:489:4
[INFO] [stdout]     |
[INFO] [stdout] 489 | fn get_prime_factors_with_power(n: &u64) -> HashMap<u64, u32> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `order_weight` is never used
[INFO] [stdout]    --> src/kyu_5/mod.rs:512:4
[INFO] [stdout]     |
[INFO] [stdout] 512 | fn order_weight(s: &str) -> String {
[INFO] [stdout]     |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Vector` is never constructed
[INFO] [stdout]    --> src/kyu_5/mod.rs:525:8
[INFO] [stdout]     |
[INFO] [stdout] 525 | struct Vector {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/kyu_5/mod.rs:532:11
[INFO] [stdout]     |
[INFO] [stdout] 531 | impl Vector {
[INFO] [stdout]     | ----------- associated items in this implementation
[INFO] [stdout] 532 |     const EPS: f64 = 0.001;
[INFO] [stdout]     |           ^^^
[INFO] [stdout] 533 |
[INFO] [stdout] 534 |     pub fn get_i() -> Vector {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 538 |     pub fn get_j() -> Vector {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 542 |     pub fn get_k() -> Vector {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 546 |     pub fn new(i: f64, j: f64, k: f64) -> Vector {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 550 |     pub fn get_magnitude(&self) -> f64 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 554 |     pub fn add(&self, another: Vector) -> Vector {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 558 |     pub fn multiply_by_scalar(&self, multiplier: f64) -> Vector {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 562 |     pub fn dot(&self, another: Vector) -> f64 {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 566 |     pub fn cross(&self, another: Vector) -> Vector {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 574 |     pub fn is_parallel_to(&self, another: Vector) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 597 |     pub fn is_perpendicular_to(&self, another: Vector) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 604 |     pub fn normalize(&self) -> Vector {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 609 |     pub fn is_normalized(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 613 |     fn is_equal(&self, another: Vector) -> bool {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 617 |     fn is_zero(&self) -> bool {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `dec2_fact_string` is never used
[INFO] [stdout]    --> src/kyu_5/mod.rs:623:8
[INFO] [stdout]     |
[INFO] [stdout] 623 | pub fn dec2_fact_string(mut n: u64) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `fact_string_2dec` is never used
[INFO] [stdout]    --> src/kyu_5/mod.rs:638:4
[INFO] [stdout]     |
[INFO] [stdout] 638 | fn fact_string_2dec(s: String) -> u64 {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ProgramInfo` is never constructed
[INFO] [stdout]    --> src/kyu_5/mod.rs:651:8
[INFO] [stdout]     |
[INFO] [stdout] 651 | struct ProgramInfo {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `match_and_substitute` is never used
[INFO] [stdout]    --> src/kyu_5/mod.rs:675:4
[INFO] [stdout]     |
[INFO] [stdout] 675 | fn match_and_substitute(s: &str, prog: &str, ver: &str) -> String {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Direction` is never used
[INFO] [stdout]    --> src/kyu_5/mod.rs:701:6
[INFO] [stdout]     |
[INFO] [stdout] 701 | enum Direction {
[INFO] [stdout]     |      ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `dir_reduction` is never used
[INFO] [stdout]    --> src/kyu_5/mod.rs:705:4
[INFO] [stdout]     |
[INFO] [stdout] 705 | fn dir_reduction(arr: &[Direction]) -> Vec<Direction> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `duplicate_encode` is never used
[INFO] [stdout]   --> src/kyu_6/mod.rs:12:4
[INFO] [stdout]    |
[INFO] [stdout] 12 | fn duplicate_encode(word: &str)->String {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `meeting` is never used
[INFO] [stdout]   --> src/kyu_6/mod.rs:32:4
[INFO] [stdout]    |
[INFO] [stdout] 32 | fn meeting(s: &str) -> String {
[INFO] [stdout]    |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `longest_consec` is never used
[INFO] [stdout]   --> src/kyu_6/mod.rs:43:4
[INFO] [stdout]    |
[INFO] [stdout] 43 | fn longest_consec(strarr: Vec<&str>, k: usize) -> String {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `comp` is never used
[INFO] [stdout]   --> src/kyu_6/mod.rs:66:4
[INFO] [stdout]    |
[INFO] [stdout] 66 | fn comp(a: Vec<i64>, b: Vec<i64>) -> bool {
[INFO] [stdout]    |    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `backwards_prime` is never used
[INFO] [stdout]   --> src/kyu_6/mod.rs:85:4
[INFO] [stdout]    |
[INFO] [stdout] 85 | fn backwards_prime(start: u64, stop: u64) -> Vec<u64> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `reverse` is never used
[INFO] [stdout]   --> src/kyu_6/mod.rs:98:4
[INFO] [stdout]    |
[INFO] [stdout] 98 | fn reverse(n: &u64) -> u64 {
[INFO] [stdout]    |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `travel` is never used
[INFO] [stdout]    --> src/kyu_6/mod.rs:109:4
[INFO] [stdout]     |
[INFO] [stdout] 109 | fn travel(text: &str, zip_code: &str) -> String {
[INFO] [stdout]     |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Address` is never constructed
[INFO] [stdout]    --> src/kyu_6/mod.rs:130:8
[INFO] [stdout]     |
[INFO] [stdout] 130 | struct Address<'a> {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `good_vs_evil` is never used
[INFO] [stdout]    --> src/kyu_6/mod.rs:137:4
[INFO] [stdout]     |
[INFO] [stdout] 137 | fn good_vs_evil(good: &str, evil: &str) -> String {
[INFO] [stdout]     |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `calc_worth_sum` is never used
[INFO] [stdout]    --> src/kyu_6/mod.rs:150:4
[INFO] [stdout]     |
[INFO] [stdout] 150 | fn calc_worth_sum(races_worth: &[u32], army: &str) -> u32 {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `fp_approx` is never used
[INFO] [stdout]    --> src/kyu_6/mod.rs:160:4
[INFO] [stdout]     |
[INFO] [stdout] 160 | fn fp_approx(x: f64) -> f64 {
[INFO] [stdout]     |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `deadfish_parse` is never used
[INFO] [stdout]    --> src/kyu_6/mod.rs:166:4
[INFO] [stdout]     |
[INFO] [stdout] 166 | fn deadfish_parse(code: &str) -> Vec<i32> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `array_diff` is never used
[INFO] [stdout]    --> src/kyu_6/mod.rs:182:4
[INFO] [stdout]     |
[INFO] [stdout] 182 | fn array_diff<T: PartialEq>(a: Vec<T>, b: Vec<T>) -> Vec<T> {
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `max_multiple` is never used
[INFO] [stdout]   --> src/kyu_7/mod.rs:11:4
[INFO] [stdout]    |
[INFO] [stdout] 11 | fn max_multiple(divisor: u32, bound: u32) -> u32 {
[INFO] [stdout]    |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `row_weights` is never used
[INFO] [stdout]   --> src/kyu_7/mod.rs:16:4
[INFO] [stdout]    |
[INFO] [stdout] 16 | fn row_weights(array: Vec<u32>) -> (u32, u32) {
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `min_value` is never used
[INFO] [stdout]   --> src/kyu_7/mod.rs:30:4
[INFO] [stdout]    |
[INFO] [stdout] 30 | fn min_value(mut digits: Vec<i32>) -> i32 {
[INFO] [stdout]    |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `passengers_in_bus` is never used
[INFO] [stdout]   --> src/kyu_7/mod.rs:37:4
[INFO] [stdout]    |
[INFO] [stdout] 37 | fn passengers_in_bus(bus_stops:&[(i32, i32)]) -> i32 {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_middle` is never used
[INFO] [stdout]   --> src/kyu_7/mod.rs:42:4
[INFO] [stdout]    |
[INFO] [stdout] 42 | fn get_middle(s: &str) -> &str {
[INFO] [stdout]    |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `multiply` is never used
[INFO] [stdout]  --> src/kyu_8/mod.rs:5:4
[INFO] [stdout]   |
[INFO] [stdout] 5 | fn multiply(a:i32, b:i32) -> i32 {
[INFO] [stdout]   |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `expressions_matter` is never used
[INFO] [stdout]   --> src/kyu_8/mod.rs:10:4
[INFO] [stdout]    |
[INFO] [stdout] 10 | fn expressions_matter(a: u64, b: u64, c: u64) -> u64 {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `positive_sum` is never used
[INFO] [stdout]   --> src/kyu_8/mod.rs:16:4
[INFO] [stdout]    |
[INFO] [stdout] 16 | fn positive_sum(arr: &[i32]) -> i32 {
[INFO] [stdout]    |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/kyu_2/calculator.rs:276:12
[INFO] [stdout]     |
[INFO] [stdout] 276 |     panic!(format!("Failed to parse number: '{}'", num_str));
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: the `panic!()` macro supports formatting, so there's no need for the `format!()` macro here
[INFO] [stdout]     = note: `#[warn(non_fmt_panics)]` on by default
[INFO] [stdout] help: remove the `format!(..)` macro call
[INFO] [stdout]     |
[INFO] [stdout] 276 -     panic!(format!("Failed to parse number: '{}'", num_str));
[INFO] [stdout] 276 +     panic!("Failed to parse number: '{}'", num_str);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/kyu_4/tests.rs:244:13
[INFO] [stdout]     |
[INFO] [stdout] 244 |         let mut decoded_bits = decoder.decode_bits(case[0]);
[INFO] [stdout]     |             ----^^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/kyu_8/mod.rs:17:25
[INFO] [stdout]    |
[INFO] [stdout] 17 |     arr.iter().fold(0, |mut acc, &n| acc + if n > 0 { n } else { 0 })
[INFO] [stdout]    |                         ----^^^
[INFO] [stdout]    |                         |
[INFO] [stdout]    |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `is_opening` is never used
[INFO] [stdout]    --> src/kyu_2/calculator.rs:145:12
[INFO] [stdout]     |
[INFO] [stdout] 144 | impl Parenthesis {
[INFO] [stdout]     | ---------------- method in this implementation
[INFO] [stdout] 145 |     pub fn is_opening(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `sum_pairs_naive` is never used
[INFO] [stdout]   --> src/kyu_5/mod.rs:25:4
[INFO] [stdout]    |
[INFO] [stdout] 25 | fn sum_pairs_naive(numbers: &[i8], s: i8) -> Option<(i8, i8)> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `sum_pairs_slow` is never used
[INFO] [stdout]   --> src/kyu_5/mod.rs:48:4
[INFO] [stdout]    |
[INFO] [stdout] 48 | fn sum_pairs_slow(numbers: &[i8], s: i8) -> Option<(i8, i8)> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_sum_of_factors_slow` is never used
[INFO] [stdout]    --> src/kyu_5/mod.rs:232:4
[INFO] [stdout]     |
[INFO] [stdout] 232 | fn get_sum_of_factors_slow(n: &u64) -> u64 {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_factors_slow` is never used
[INFO] [stdout]    --> src/kyu_5/mod.rs:242:4
[INFO] [stdout]     |
[INFO] [stdout] 242 | fn get_factors_slow(n: &u64) -> Vec<u64> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `is_equal` is never used
[INFO] [stdout]    --> src/kyu_5/mod.rs:613:8
[INFO] [stdout]     |
[INFO] [stdout] 531 | impl Vector {
[INFO] [stdout]     | ----------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 613 |     fn is_equal(&self, another: Vector) -> bool {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/kyu_2/calculator.rs:276:12
[INFO] [stdout]     |
[INFO] [stdout] 276 |     panic!(format!("Failed to parse number: '{}'", num_str));
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: the `panic!()` macro supports formatting, so there's no need for the `format!()` macro here
[INFO] [stdout]     = note: `#[warn(non_fmt_panics)]` on by default
[INFO] [stdout] help: remove the `format!(..)` macro call
[INFO] [stdout]     |
[INFO] [stdout] 276 -     panic!(format!("Failed to parse number: '{}'", num_str));
[INFO] [stdout] 276 +     panic!("Failed to parse number: '{}'", num_str);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 2.97s
[INFO] running `Command { std: "docker" "inspect" "c57213362e7b88f9ef787074eb22e647356a05ded15408c376a17abc1878a6ff", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "c57213362e7b88f9ef787074eb22e647356a05ded15408c376a17abc1878a6ff", kill_on_drop: false }`
[INFO] [stdout] c57213362e7b88f9ef787074eb22e647356a05ded15408c376a17abc1878a6ff
