[INFO] cloning repository https://github.com/ernstjanhoek/codewars
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/ernstjanhoek/codewars" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fernstjanhoek%2Fcodewars", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fernstjanhoek%2Fcodewars'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 51df3572a76bccc57634186db275b79afe68f4f3
[INFO] checking ernstjanhoek/codewars against master#507271bc119683008ec719ecee48814e8ac86c65 for pr-146440
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fernstjanhoek%2Fcodewars" "/workspace/builds/worker-1-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/ernstjanhoek/codewars
[INFO] finished tweaking git repo https://github.com/ernstjanhoek/codewars
[INFO] tweaked toml for git repo https://github.com/ernstjanhoek/codewars written to /workspace/builds/worker-1-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/ernstjanhoek/codewars on toolchain 507271bc119683008ec719ecee48814e8ac86c65
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+507271bc119683008ec719ecee48814e8ac86c65" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/ernstjanhoek/codewars 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" "+507271bc119683008ec719ecee48814e8ac86c65" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded syn v2.0.62
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+507271bc119683008ec719ecee48814e8ac86c65" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] cbeda702b4c1a17d4c57fc50f205695b3ba5786646fc1f576335f0a18cdb5c0c
[INFO] running `Command { std: "docker" "start" "-a" "cbeda702b4c1a17d4c57fc50f205695b3ba5786646fc1f576335f0a18cdb5c0c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "cbeda702b4c1a17d4c57fc50f205695b3ba5786646fc1f576335f0a18cdb5c0c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "cbeda702b4c1a17d4c57fc50f205695b3ba5786646fc1f576335f0a18cdb5c0c", kill_on_drop: false }`
[INFO] [stdout] cbeda702b4c1a17d4c57fc50f205695b3ba5786646fc1f576335f0a18cdb5c0c
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+507271bc119683008ec719ecee48814e8ac86c65" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 12d2ad4618cb6be1e1d592c4b1c86193cfd7c7e4c0711684941421fc3019c2a2
[INFO] running `Command { std: "docker" "start" "-a" "12d2ad4618cb6be1e1d592c4b1c86193cfd7c7e4c0711684941421fc3019c2a2", kill_on_drop: false }`
[INFO] [stderr]     Checking chrono v0.4.38
[INFO] [stderr]     Checking codewars v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused macro definition: `compare`
[INFO] [stdout]  --> src/rgb.rs:5:14
[INFO] [stdout]   |
[INFO] [stdout] 5 | macro_rules! compare {
[INFO] [stdout]   |              ^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_macros)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `person`
[INFO] [stdout]   --> src/teknonymy.rs:53:19
[INFO] [stdout]    |
[INFO] [stdout] 53 |     if let Some(&(person, layer)) = max_layer_tuple {
[INFO] [stdout]    |                   ^^^^^^ help: if this is intentional, prefix it with an underscore: `_person`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `init_val`
[INFO] [stdout]  --> src/sum_dig_nth_term.rs:3:21
[INFO] [stdout]   |
[INFO] [stdout] 3 | fn sum_dig_nth_term(init_val: u32, pattern: &[u32], nth: usize ) -> u32 {
[INFO] [stdout]   |                     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_init_val`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pattern`
[INFO] [stdout]  --> src/sum_dig_nth_term.rs:3:36
[INFO] [stdout]   |
[INFO] [stdout] 3 | fn sum_dig_nth_term(init_val: u32, pattern: &[u32], nth: usize ) -> u32 {
[INFO] [stdout]   |                                    ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pattern`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `nth`
[INFO] [stdout]  --> src/sum_dig_nth_term.rs:3:53
[INFO] [stdout]   |
[INFO] [stdout] 3 | fn sum_dig_nth_term(init_val: u32, pattern: &[u32], nth: usize ) -> u32 {
[INFO] [stdout]   |                                                     ^^^ help: if this is intentional, prefix it with an underscore: `_nth`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `index`
[INFO] [stdout]    --> src/temp_maze.rs:105:10
[INFO] [stdout]     |
[INFO] [stdout] 105 |     for (index, point) in out.iter().enumerate() {
[INFO] [stdout]     |          ^^^^^ help: if this is intentional, prefix it with an underscore: `_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TimeData` is never constructed
[INFO] [stdout]   --> src/format_duration.rs:37:8
[INFO] [stdout]    |
[INFO] [stdout] 37 | struct TimeData {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `derive_from_secs`, and `build_string` are never used
[INFO] [stdout]   --> src/format_duration.rs:46:8
[INFO] [stdout]    |
[INFO] [stdout] 45 | impl TimeData {
[INFO] [stdout]    | ------------- associated items in this implementation
[INFO] [stdout] 46 |     fn new() -> Self {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 56 |     fn derive_from_secs(mut self, seconds: u64) -> Self { 
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 64 |     fn build_string(&self) -> String {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Second` is never constructed
[INFO] [stdout]    --> src/format_duration.rs:106:8
[INFO] [stdout]     |
[INFO] [stdout] 106 | struct Second {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `to_string` is never used
[INFO] [stdout]    --> src/format_duration.rs:111:8
[INFO] [stdout]     |
[INFO] [stdout] 110 | impl Second {
[INFO] [stdout]     | ----------- method in this implementation
[INFO] [stdout] 111 |     fn to_string(&self) -> String {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Minute` is never constructed
[INFO] [stdout]    --> src/format_duration.rs:131:8
[INFO] [stdout]     |
[INFO] [stdout] 131 | struct Minute {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `to_string` is never used
[INFO] [stdout]    --> src/format_duration.rs:136:8
[INFO] [stdout]     |
[INFO] [stdout] 135 | impl Minute {
[INFO] [stdout]     | ----------- method in this implementation
[INFO] [stdout] 136 |     fn to_string(&self) -> String {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Hour` is never constructed
[INFO] [stdout]    --> src/format_duration.rs:156:8
[INFO] [stdout]     |
[INFO] [stdout] 156 | struct Hour {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `to_string` is never used
[INFO] [stdout]    --> src/format_duration.rs:161:8
[INFO] [stdout]     |
[INFO] [stdout] 160 | impl Hour {
[INFO] [stdout]     | --------- method in this implementation
[INFO] [stdout] 161 |     fn to_string(&self) -> String{
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Day` is never constructed
[INFO] [stdout]    --> src/format_duration.rs:181:8
[INFO] [stdout]     |
[INFO] [stdout] 181 | struct Day {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `to_string` is never used
[INFO] [stdout]    --> src/format_duration.rs:186:8
[INFO] [stdout]     |
[INFO] [stdout] 185 | impl Day {
[INFO] [stdout]     | -------- method in this implementation
[INFO] [stdout] 186 |     fn to_string(&self) -> String {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Year` is never constructed
[INFO] [stdout]    --> src/format_duration.rs:206:8
[INFO] [stdout]     |
[INFO] [stdout] 206 | struct Year {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `to_string` is never used
[INFO] [stdout]    --> src/format_duration.rs:211:8
[INFO] [stdout]     |
[INFO] [stdout] 210 | impl Year {
[INFO] [stdout]     | --------- method in this implementation
[INFO] [stdout] 211 |     fn to_string(&self) -> String {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TimeParts` is never constructed
[INFO] [stdout]    --> src/format_duration.rs:231:8
[INFO] [stdout]     |
[INFO] [stdout] 231 | struct TimeParts {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `time_left` are never used
[INFO] [stdout]    --> src/format_duration.rs:237:8
[INFO] [stdout]     |
[INFO] [stdout] 236 | impl TimeParts {
[INFO] [stdout]     | -------------- associated items in this implementation
[INFO] [stdout] 237 |     fn new(remainder: u64, quotient: u64) -> Self {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 244 |     fn time_left(&self) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `TimeCalculation` is never used
[INFO] [stdout]    --> src/format_duration.rs:249:7
[INFO] [stdout]     |
[INFO] [stdout] 249 | trait TimeCalculation {
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `format_duration` is never used
[INFO] [stdout]    --> src/format_duration.rs:260:4
[INFO] [stdout]     |
[INFO] [stdout] 260 | fn format_duration(seconds: u64) -> String {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Dir` is never used
[INFO] [stdout]  --> src/path_finder.rs:2:6
[INFO] [stdout]   |
[INFO] [stdout] 2 | enum Dir {
[INFO] [stdout]   |      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Point` is never constructed
[INFO] [stdout]   --> src/path_finder.rs:10:8
[INFO] [stdout]    |
[INFO] [stdout] 10 | struct Point {
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Value` is never used
[INFO] [stdout]   --> src/path_finder.rs:18:6
[INFO] [stdout]    |
[INFO] [stdout] 18 | enum Value {
[INFO] [stdout]    |      ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `derive_side`, and `is_checked` are never used
[INFO] [stdout]   --> src/path_finder.rs:25:8
[INFO] [stdout]    |
[INFO] [stdout] 24 | impl Point {
[INFO] [stdout]    | ---------- associated items in this implementation
[INFO] [stdout] 25 |     fn new(value: Value, index: usize) -> Self {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 34 |     fn derive_side(mut self, max_n: usize) -> Self {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 55 |     fn is_checked(&self) -> bool {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `derive_point_vec` is never used
[INFO] [stdout]   --> src/path_finder.rs:61:4
[INFO] [stdout]    |
[INFO] [stdout] 61 | fn derive_point_vec(maze: &str, max_n: usize) -> Vec<Point> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `path_finder` is never used
[INFO] [stdout]   --> src/path_finder.rs:86:4
[INFO] [stdout]    |
[INFO] [stdout] 86 | fn path_finder(maze: &str) -> bool {
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `find_path_block` is never used
[INFO] [stdout]   --> src/path_finder.rs:98:4
[INFO] [stdout]    |
[INFO] [stdout] 98 | fn find_path_block(point_vec: &mut Vec<Point>, max_n: usize) -> bool {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `map_neighbours` is never used
[INFO] [stdout]    --> src/path_finder.rs:131:4
[INFO] [stdout]     |
[INFO] [stdout] 131 | fn map_neighbours(slice: &[Point], point_index: usize, n: usize) -> Neighbours {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Neighbours` is never constructed
[INFO] [stdout]    --> src/path_finder.rs:165:8
[INFO] [stdout]     |
[INFO] [stdout] 165 | struct Neighbours {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `check_init_neighbours` and `check_neighbours` are never used
[INFO] [stdout]    --> src/path_finder.rs:171:8
[INFO] [stdout]     |
[INFO] [stdout] 170 | impl Neighbours {
[INFO] [stdout]     | --------------- methods in this implementation
[INFO] [stdout] 171 |     fn check_init_neighbours(&self) -> Vec<Point> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 181 |     fn check_neighbours(&self) -> Vec<Point> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_enclosing` is never used
[INFO] [stdout]    --> src/path_finder.rs:192:4
[INFO] [stdout]     |
[INFO] [stdout] 192 | fn is_enclosing(side1: Dir, side2: Dir) -> bool {
[INFO] [stdout]     |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `range_extraction` is never used
[INFO] [stdout]  --> src/range_extraction.rs:2:12
[INFO] [stdout]   |
[INFO] [stdout] 2 |     pub fn range_extraction(a: &[i32]) -> String {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_consecutive` is never used
[INFO] [stdout]   --> src/range_extraction.rs:32:8
[INFO] [stdout]    |
[INFO] [stdout] 32 |     fn is_consecutive(a: &i32, b:&i32) -> bool {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `update_buf` is never used
[INFO] [stdout]   --> src/range_extraction.rs:36:8
[INFO] [stdout]    |
[INFO] [stdout] 36 |     fn update_buf(old_buf: [Option<i32>; 2], num: i32, peek: i32) -> [Option<i32>; 2] {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `buf_to_string` is never used
[INFO] [stdout]   --> src/range_extraction.rs:44:8
[INFO] [stdout]    |
[INFO] [stdout] 44 |     fn buf_to_string(range_buf: &[Option<i32>; 2]) -> Option<String> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `rgb` is never used
[INFO] [stdout]  --> src/rgb.rs:1:4
[INFO] [stdout]   |
[INFO] [stdout] 1 | fn rgb(r: i32, g: i32, b: i32) -> String {
[INFO] [stdout]   |    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Dir` is never used
[INFO] [stdout]  --> src/snail.rs:2:6
[INFO] [stdout]   |
[INFO] [stdout] 2 | enum Dir {
[INFO] [stdout]   |      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `change` is never used
[INFO] [stdout]   --> src/snail.rs:11:8
[INFO] [stdout]    |
[INFO] [stdout] 10 | impl Dir {
[INFO] [stdout]    | -------- method in this implementation
[INFO] [stdout] 11 |     fn change(self)-> Self {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `snail` is never used
[INFO] [stdout]   --> src/snail.rs:21:4
[INFO] [stdout]    |
[INFO] [stdout] 21 | fn snail(matrix: &[Vec<i32>]) -> Vec<i32> {
[INFO] [stdout]    |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `decrease_n` is never used
[INFO] [stdout]   --> src/snail.rs:36:4
[INFO] [stdout]    |
[INFO] [stdout] 36 | fn decrease_n(index: usize, n: usize) -> usize {
[INFO] [stdout]    |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `extract_values` is never used
[INFO] [stdout]   --> src/snail.rs:44:4
[INFO] [stdout]    |
[INFO] [stdout] 44 | fn extract_values(n: usize, dir: Dir, slice: &[Vec<i32>]) -> Vec<i32> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `current`, `max_x`, `max_y`, `min_x`, and `min_y` are never read
[INFO] [stdout]  --> src/spiralize.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub struct PointData {
[INFO] [stdout]   |            --------- fields in this struct
[INFO] [stdout] 4 |     current: Corner,
[INFO] [stdout]   |     ^^^^^^^
[INFO] [stdout] 5 |     max_x: i8,
[INFO] [stdout]   |     ^^^^^
[INFO] [stdout] 6 |     max_y: i8,
[INFO] [stdout]   |     ^^^^^
[INFO] [stdout] 7 |     min_x: i8,
[INFO] [stdout]   |     ^^^^^
[INFO] [stdout] 8 |     min_y: i8,
[INFO] [stdout]   |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `traverse_point`, and `return_next_xy` are never used
[INFO] [stdout]   --> src/spiralize.rs:12:8
[INFO] [stdout]    |
[INFO] [stdout] 11 | impl PointData {
[INFO] [stdout]    | -------------- associated items in this implementation
[INFO] [stdout] 12 |     fn new(grid_size: i8) -> Self {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 22 |     fn traverse_point(&mut self, spiral_width: i8, x: i8, y: i8) -> Self {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 67 |     fn return_next_xy(&self) -> (i8, i8) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `UpperLeft`, `UpperRight`, `LowerRight`, and `LowerLeft` are never constructed
[INFO] [stdout]   --> src/spiralize.rs:79:5
[INFO] [stdout]    |
[INFO] [stdout] 78 | enum Corner {
[INFO] [stdout]    |      ------ variants in this enum
[INFO] [stdout] 79 |     UpperLeft { x: i8, y: i8 },
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 80 |     UpperRight { x: i8, y: i8 },
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 81 |     LowerRight { x: i8, y: i8 },
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 82 |     LowerLeft { x: i8, y: i8 },
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Corner` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `traverse` and `return_xy` are never used
[INFO] [stdout]   --> src/spiralize.rs:87:8
[INFO] [stdout]    |
[INFO] [stdout] 86 | impl Corner {
[INFO] [stdout]    | ----------- methods in this implementation
[INFO] [stdout] 87 |     fn traverse(self, x: i8, y: i8) -> Self {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 95 |     fn return_xy(&self) -> (i8, i8) {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `spiralize` is never used
[INFO] [stdout]    --> src/spiralize.rs:105:4
[INFO] [stdout]     |
[INFO] [stdout] 105 | fn spiralize(size: usize) -> Vec<Vec<i8>> {
[INFO] [stdout]     |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `sq_in_rect` is never used
[INFO] [stdout]  --> src/sq_in_rect.rs:1:4
[INFO] [stdout]   |
[INFO] [stdout] 1 | fn sq_in_rect(lng: i32, wdth: i32) -> Option<Vec<i32>> {
[INFO] [stdout]   |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `testing` is never used
[INFO] [stdout]   --> src/sq_in_rect.rs:21:4
[INFO] [stdout]    |
[INFO] [stdout] 21 | fn testing(lng: i32, wdth: i32, exp: Option<Vec<i32>>) -> () {
[INFO] [stdout]    |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `extract` is never used
[INFO] [stdout]   --> src/tree_by_levels.rs:22:8
[INFO] [stdout]    |
[INFO] [stdout]  7 | impl Node {
[INFO] [stdout]    | --------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 22 |     fn extract(&self, mut layer: u32) -> Vec<(u32, u32)> {
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `sort` is never used
[INFO] [stdout]   --> src/tree_by_levels.rs:36:4
[INFO] [stdout]    |
[INFO] [stdout] 36 | fn sort(mut vec: Vec<(u32, u32)>) -> Vec<u32> {
[INFO] [stdout]    |    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `tree_by_levels` is never used
[INFO] [stdout]   --> src/tree_by_levels.rs:41:4
[INFO] [stdout]    |
[INFO] [stdout] 41 | fn tree_by_levels(root: &Node) -> Vec<u32> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `symbol` is never read
[INFO] [stdout]  --> src/roman_as_num.rs:5:9
[INFO] [stdout]   |
[INFO] [stdout] 4 | struct RomanNumerical {
[INFO] [stdout]   |        -------------- field in this struct
[INFO] [stdout] 5 |     pub symbol: char,
[INFO] [stdout]   |         ^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `RomanNumerical` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `sum_dig_nth_term` is never used
[INFO] [stdout]  --> src/sum_dig_nth_term.rs:3:4
[INFO] [stdout]   |
[INFO] [stdout] 3 | fn sum_dig_nth_term(init_val: u32, pattern: &[u32], nth: usize ) -> u32 {
[INFO] [stdout]   |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Dir` is never used
[INFO] [stdout]  --> src/temp_maze.rs:4:6
[INFO] [stdout]   |
[INFO] [stdout] 4 | enum Dir {
[INFO] [stdout]   |      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Value` is never used
[INFO] [stdout]   --> src/temp_maze.rs:14:6
[INFO] [stdout]    |
[INFO] [stdout] 14 | enum Value {
[INFO] [stdout]    |      ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `from_char` is never used
[INFO] [stdout]   --> src/temp_maze.rs:20:8
[INFO] [stdout]    |
[INFO] [stdout] 19 | impl Value {
[INFO] [stdout]    | ---------- associated function in this implementation
[INFO] [stdout] 20 |     fn from_char(c: char) -> Self {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Point` is never constructed
[INFO] [stdout]   --> src/temp_maze.rs:30:8
[INFO] [stdout]    |
[INFO] [stdout] 30 | struct Point {
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `derive_side`, and `checked` are never used
[INFO] [stdout]   --> src/temp_maze.rs:40:8
[INFO] [stdout]    |
[INFO] [stdout] 39 | impl Point {
[INFO] [stdout]    | ---------- associated items in this implementation
[INFO] [stdout] 40 |     fn new(value: Value, x: usize, y: usize) -> Self {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 50 |     fn derive_side(mut self, max_n: usize) -> Self {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 66 |     fn checked(&self) -> bool {
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `path_finder` is never used
[INFO] [stdout]   --> src/temp_maze.rs:72:4
[INFO] [stdout]    |
[INFO] [stdout] 72 | fn path_finder(maze: &str) -> bool {
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `old_path_finder` is never used
[INFO] [stdout]   --> src/temp_maze.rs:80:4
[INFO] [stdout]    |
[INFO] [stdout] 80 | fn old_path_finder(maze: &str) -> bool {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_enclosing` is never used
[INFO] [stdout]    --> src/temp_maze.rs:114:4
[INFO] [stdout]     |
[INFO] [stdout] 114 | fn is_enclosing(side1: Dir, side2: Dir) -> bool {
[INFO] [stdout]     |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: path statement with no effect
[INFO] [stdout]   --> src/format_duration.rs:32:9
[INFO] [stdout]    |
[INFO] [stdout] 32 |         local_time
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 59 |             update_time!(self, time_parts);
[INFO] [stdout]    |             ------------------------------ in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(path_statements)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout]    = note: this warning originates in the macro `update_time` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `person`
[INFO] [stdout]   --> src/teknonymy.rs:53:19
[INFO] [stdout]    |
[INFO] [stdout] 53 |     if let Some(&(person, layer)) = max_layer_tuple {
[INFO] [stdout]    |                   ^^^^^^ help: if this is intentional, prefix it with an underscore: `_person`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `init_val`
[INFO] [stdout]  --> src/sum_dig_nth_term.rs:3:21
[INFO] [stdout]   |
[INFO] [stdout] 3 | fn sum_dig_nth_term(init_val: u32, pattern: &[u32], nth: usize ) -> u32 {
[INFO] [stdout]   |                     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_init_val`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pattern`
[INFO] [stdout]  --> src/sum_dig_nth_term.rs:3:36
[INFO] [stdout]   |
[INFO] [stdout] 3 | fn sum_dig_nth_term(init_val: u32, pattern: &[u32], nth: usize ) -> u32 {
[INFO] [stdout]   |                                    ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pattern`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `nth`
[INFO] [stdout]  --> src/sum_dig_nth_term.rs:3:53
[INFO] [stdout]   |
[INFO] [stdout] 3 | fn sum_dig_nth_term(init_val: u32, pattern: &[u32], nth: usize ) -> u32 {
[INFO] [stdout]   |                                                     ^^^ help: if this is intentional, prefix it with an underscore: `_nth`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `index`
[INFO] [stdout]    --> src/temp_maze.rs:105:10
[INFO] [stdout]     |
[INFO] [stdout] 105 |     for (index, point) in out.iter().enumerate() {
[INFO] [stdout]     |          ^^^^^ help: if this is intentional, prefix it with an underscore: `_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `check_init_neighbours` is never used
[INFO] [stdout]    --> src/path_finder.rs:171:8
[INFO] [stdout]     |
[INFO] [stdout] 170 | impl Neighbours {
[INFO] [stdout]     | --------------- method in this implementation
[INFO] [stdout] 171 |     fn check_init_neighbours(&self) -> Vec<Point> {
[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 `ERR_MSG` is never used
[INFO] [stdout]   --> src/move_zeros.rs:21:11
[INFO] [stdout]    |
[INFO] [stdout] 21 |     const ERR_MSG: &str = "\nYour result (left) did not match the expected output (right)";
[INFO] [stdout]    |           ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `symbol` is never read
[INFO] [stdout]  --> src/roman_as_num.rs:5:9
[INFO] [stdout]   |
[INFO] [stdout] 4 | struct RomanNumerical {
[INFO] [stdout]   |        -------------- field in this struct
[INFO] [stdout] 5 |     pub symbol: char,
[INFO] [stdout]   |         ^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `RomanNumerical` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Dir` is never used
[INFO] [stdout]  --> src/temp_maze.rs:4:6
[INFO] [stdout]   |
[INFO] [stdout] 4 | enum Dir {
[INFO] [stdout]   |      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Value` is never used
[INFO] [stdout]   --> src/temp_maze.rs:14:6
[INFO] [stdout]    |
[INFO] [stdout] 14 | enum Value {
[INFO] [stdout]    |      ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `from_char` is never used
[INFO] [stdout]   --> src/temp_maze.rs:20:8
[INFO] [stdout]    |
[INFO] [stdout] 19 | impl Value {
[INFO] [stdout]    | ---------- associated function in this implementation
[INFO] [stdout] 20 |     fn from_char(c: char) -> Self {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Point` is never constructed
[INFO] [stdout]   --> src/temp_maze.rs:30:8
[INFO] [stdout]    |
[INFO] [stdout] 30 | struct Point {
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `derive_side`, and `checked` are never used
[INFO] [stdout]   --> src/temp_maze.rs:40:8
[INFO] [stdout]    |
[INFO] [stdout] 39 | impl Point {
[INFO] [stdout]    | ---------- associated items in this implementation
[INFO] [stdout] 40 |     fn new(value: Value, x: usize, y: usize) -> Self {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 50 |     fn derive_side(mut self, max_n: usize) -> Self {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 66 |     fn checked(&self) -> bool {
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `old_path_finder` is never used
[INFO] [stdout]   --> src/temp_maze.rs:80:4
[INFO] [stdout]    |
[INFO] [stdout] 80 | fn old_path_finder(maze: &str) -> bool {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_enclosing` is never used
[INFO] [stdout]    --> src/temp_maze.rs:114:4
[INFO] [stdout]     |
[INFO] [stdout] 114 | fn is_enclosing(side1: Dir, side2: Dir) -> bool {
[INFO] [stdout]     |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: path statement with no effect
[INFO] [stdout]   --> src/format_duration.rs:32:9
[INFO] [stdout]    |
[INFO] [stdout] 32 |         local_time
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 59 |             update_time!(self, time_parts);
[INFO] [stdout]    |             ------------------------------ in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(path_statements)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout]    = note: this warning originates in the macro `update_time` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 2.12s
[INFO] running `Command { std: "docker" "inspect" "12d2ad4618cb6be1e1d592c4b1c86193cfd7c7e4c0711684941421fc3019c2a2", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "12d2ad4618cb6be1e1d592c4b1c86193cfd7c7e4c0711684941421fc3019c2a2", kill_on_drop: false }`
[INFO] [stdout] 12d2ad4618cb6be1e1d592c4b1c86193cfd7c7e4c0711684941421fc3019c2a2
