[INFO] cloning repository https://github.com/andrewhannebrink/emojifier
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/andrewhannebrink/emojifier" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fandrewhannebrink%2Femojifier", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fandrewhannebrink%2Femojifier'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 8ae452b79f2e3cf34018c16c16313a308607b588
[INFO] checking andrewhannebrink/emojifier against 1.95.0 for pr-155915
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fandrewhannebrink%2Femojifier" "/workspace/builds/worker-0-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/andrewhannebrink/emojifier
[INFO] finished tweaking git repo https://github.com/andrewhannebrink/emojifier
[INFO] tweaked toml for git repo https://github.com/andrewhannebrink/emojifier written to /workspace/builds/worker-0-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/andrewhannebrink/emojifier on toolchain 1.95.0
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.95.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/andrewhannebrink/emojifier already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.95.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded async-process v1.5.0
[INFO] [stderr]   Downloaded signal-hook v0.3.14
[INFO] [stderr]   Downloaded futures-io v0.3.25
[INFO] [stderr]   Downloaded async-channel v1.7.1
[INFO] [stderr]   Downloaded concurrent-queue v1.2.4
[INFO] [stderr]   Downloaded polling v2.4.0
[INFO] [stderr]   Downloaded blocking v1.2.0
[INFO] [stderr]   Downloaded bytemuck v1.12.1
[INFO] [stderr]   Downloaded async-io v1.10.0
[INFO] [stderr]   Downloaded png v0.17.6
[INFO] [stderr]   Downloaded image v0.24.4
[INFO] [stderr]   Downloaded jpeg-decoder v0.2.6
[INFO] [stderr]   Downloaded tokio v1.22.0
[INFO] [stderr]   Downloaded tiff v0.7.4
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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" "+1.95.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 22d1663ec7e236d867ea9070ff8c217d81c96034cbd74c48bda047331cefd5b6
[INFO] running `Command { std: "docker" "start" "-a" "22d1663ec7e236d867ea9070ff8c217d81c96034cbd74c48bda047331cefd5b6", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "22d1663ec7e236d867ea9070ff8c217d81c96034cbd74c48bda047331cefd5b6", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "22d1663ec7e236d867ea9070ff8c217d81c96034cbd74c48bda047331cefd5b6", kill_on_drop: false }`
[INFO] [stdout] 22d1663ec7e236d867ea9070ff8c217d81c96034cbd74c48bda047331cefd5b6
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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" "+1.95.0" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] ff10c7c10b811c15efa73d0c833d34ff6bd3f7b075ea6f7cb6228a62881189ec
[INFO] running `Command { std: "docker" "start" "-a" "ff10c7c10b811c15efa73d0c833d34ff6bd3f7b075ea6f7cb6228a62881189ec", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.137
[INFO] [stderr]    Compiling proc-macro2 v1.0.47
[INFO] [stderr]    Compiling unicode-ident v1.0.5
[INFO] [stderr]    Compiling quote v1.0.21
[INFO] [stderr]    Compiling crossbeam-utils v0.8.12
[INFO] [stderr]    Compiling futures-core v0.3.25
[INFO] [stderr]    Compiling syn v1.0.103
[INFO] [stderr]    Compiling crossbeam-epoch v0.9.11
[INFO] [stderr]    Compiling rayon-core v1.9.3
[INFO] [stderr]    Compiling log v0.4.17
[INFO] [stderr]    Compiling rayon v1.5.3
[INFO] [stderr]     Checking miniz_oxide v0.5.4
[INFO] [stderr]    Compiling polling v2.4.0
[INFO] [stderr]    Compiling parking_lot_core v0.9.4
[INFO] [stderr]     Checking parking v2.0.0
[INFO] [stderr]     Checking waker-fn v1.1.0
[INFO] [stderr]     Checking futures-io v0.3.25
[INFO] [stderr]     Checking crossbeam-channel v0.5.6
[INFO] [stderr]     Checking either v1.8.0
[INFO] [stderr]     Checking spin v0.9.4
[INFO] [stderr]     Checking futures-lite v1.12.0
[INFO] [stderr]    Compiling async-io v1.10.0
[INFO] [stderr]     Checking num_cpus v1.13.1
[INFO] [stderr]     Checking getrandom v0.2.8
[INFO] [stderr]     Checking crossbeam-deque v0.8.2
[INFO] [stderr]     Checking flate2 v1.0.24
[INFO] [stderr]     Checking signal-hook-registry v1.4.0
[INFO] [stderr]     Checking socket2 v0.4.7
[INFO] [stderr]     Checking nanorand v0.7.0
[INFO] [stderr]     Checking futures-sink v0.3.25
[INFO] [stderr]     Checking cache-padded v1.2.0
[INFO] [stderr]    Compiling signal-hook v0.3.14
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]     Checking threadpool v1.8.1
[INFO] [stderr]     Checking concurrent-queue v1.2.4
[INFO] [stderr]    Compiling tokio v1.22.0
[INFO] [stderr]    Compiling async-process v1.5.0
[INFO] [stderr]     Checking half v2.1.0
[INFO] [stderr]     Checking bit_field v0.10.1
[INFO] [stderr]     Checking png v0.17.6
[INFO] [stderr]     Checking gif v0.11.4
[INFO] [stderr]     Checking async-lock v2.6.0
[INFO] [stderr]     Checking parking_lot v0.12.1
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking mio v0.8.5
[INFO] [stderr]     Checking scoped_threadpool v0.1.9
[INFO] [stderr]     Checking once_cell v1.16.0
[INFO] [stderr]     Checking bytes v1.3.0
[INFO] [stderr]     Checking bytemuck v1.12.1
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]     Checking jpeg-decoder v0.2.6
[INFO] [stderr]    Compiling pin-project-internal v1.0.12
[INFO] [stderr]    Compiling tokio-macros v1.8.0
[INFO] [stderr]     Checking tiff v0.7.4
[INFO] [stderr]     Checking pin-project v1.0.12
[INFO] [stderr]     Checking flume v0.10.14
[INFO] [stderr]     Checking exr v1.5.2
[INFO] [stderr]     Checking image v0.24.4
[INFO] [stderr]     Checking emojifier v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `async_process::Stdio`
[INFO] [stdout]  --> src/lil_videos.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use async_process::Stdio;
[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 imports: `QUADRANT_A` and `QUADRANT_B`
[INFO] [stdout]  --> src/scroll.rs:6:19
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::path::{QUADRANT_A, QUADRANT_B};
[INFO] [stdout]   |                   ^^^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rand::seq::SliceRandom`
[INFO] [stdout]  --> src/scroll.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use rand::seq::SliceRandom;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `async_process::Stdio`
[INFO] [stdout]  --> src/lil_videos.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use async_process::Stdio;
[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 imports: `QUADRANT_A` and `QUADRANT_B`
[INFO] [stdout]  --> src/scroll.rs:6:19
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::path::{QUADRANT_A, QUADRANT_B};
[INFO] [stdout]   |                   ^^^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rand::seq::SliceRandom`
[INFO] [stdout]  --> src/scroll.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use rand::seq::SliceRandom;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `now`
[INFO] [stdout]   --> src/transpose.rs:21:9
[INFO] [stdout]    |
[INFO] [stdout] 21 |     let now = Instant::now();
[INFO] [stdout]    |         ^^^ help: if this is intentional, prefix it with an underscore: `_now`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `parent_quadrant_dir` is never read
[INFO] [stdout]    --> src/transpose.rs:252:35
[INFO] [stdout]     |
[INFO] [stdout] 252 |     let mut parent_quadrant_dir = String::new();
[INFO] [stdout]     |                                   ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `now`
[INFO] [stdout]   --> src/mosaic.rs:63:9
[INFO] [stdout]    |
[INFO] [stdout] 63 |     let now = Instant::now();
[INFO] [stdout]    |         ^^^ help: if this is intentional, prefix it with an underscore: `_now`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `now`
[INFO] [stdout]   --> src/transpose.rs:21:9
[INFO] [stdout]    |
[INFO] [stdout] 21 |     let now = Instant::now();
[INFO] [stdout]    |         ^^^ help: if this is intentional, prefix it with an underscore: `_now`
[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/mosaic.rs:161:9
[INFO] [stdout]     |
[INFO] [stdout] 161 |     let mut lil_img_zoom_info: Vec<zoom::ZoomImageInfo> = vec![];
[INFO] [stdout]     |         ----^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `now`
[INFO] [stdout]    --> src/mosaic.rs:160:9
[INFO] [stdout]     |
[INFO] [stdout] 160 |     let now = Instant::now();
[INFO] [stdout]     |         ^^^ help: if this is intentional, prefix it with an underscore: `_now`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `lil_img_zoom_info`
[INFO] [stdout]    --> src/mosaic.rs:161:9
[INFO] [stdout]     |
[INFO] [stdout] 161 |     let mut lil_img_zoom_info: Vec<zoom::ZoomImageInfo> = vec![];
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_lil_img_zoom_info`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `now`
[INFO] [stdout]    --> src/mosaic.rs:228:9
[INFO] [stdout]     |
[INFO] [stdout] 228 |     let now = Instant::now();
[INFO] [stdout]     |         ^^^ help: if this is intentional, prefix it with an underscore: `_now`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `now`
[INFO] [stdout]    --> src/mosaic.rs:287:9
[INFO] [stdout]     |
[INFO] [stdout] 287 |     let now = Instant::now();
[INFO] [stdout]     |         ^^^ help: if this is intentional, prefix it with an underscore: `_now`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `now`
[INFO] [stdout]    --> src/mosaic.rs:330:9
[INFO] [stdout]     |
[INFO] [stdout] 330 |     let now = Instant::now();
[INFO] [stdout]     |         ^^^ help: if this is intentional, prefix it with an underscore: `_now`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `now`
[INFO] [stdout]    --> src/mosaic.rs:347:9
[INFO] [stdout]     |
[INFO] [stdout] 347 |     let now = Instant::now();
[INFO] [stdout]     |         ^^^ help: if this is intentional, prefix it with an underscore: `_now`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `skip`
[INFO] [stdout]    --> src/mosaic.rs:365:36
[INFO] [stdout]     |
[INFO] [stdout] 365 | fn get_avg_rgb(img: &DynamicImage, skip: u8) -> Color {
[INFO] [stdout]     |                                    ^^^^ help: if this is intentional, prefix it with an underscore: `_skip`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `target_quadrant_dir` is never read
[INFO] [stdout]   --> src/lil_videos.rs:16:35
[INFO] [stdout]    |
[INFO] [stdout] 16 |     let mut target_quadrant_dir = String::new();
[INFO] [stdout]    |                                   ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]   --> src/zoom_instruct.rs:67:9
[INFO] [stdout]    |
[INFO] [stdout] 67 |     for i in 0..20 {
[INFO] [stdout]    |         ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]   --> src/zoom_instruct.rs:83:9
[INFO] [stdout]    |
[INFO] [stdout] 83 |     for i in 0..20 {
[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/scroll.rs:20:9
[INFO] [stdout]    |
[INFO] [stdout] 20 |     for mut zoom_img in zoom_imgs.iter_mut() {
[INFO] [stdout]    |         ----^^^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `parent_quadrant_dir` is never read
[INFO] [stdout]    --> src/transpose.rs:252:35
[INFO] [stdout]     |
[INFO] [stdout] 252 |     let mut parent_quadrant_dir = String::new();
[INFO] [stdout]     |                                   ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `now`
[INFO] [stdout]   --> src/mosaic.rs:63:9
[INFO] [stdout]    |
[INFO] [stdout] 63 |     let now = Instant::now();
[INFO] [stdout]    |         ^^^ help: if this is intentional, prefix it with an underscore: `_now`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/mosaic.rs:161:9
[INFO] [stdout]     |
[INFO] [stdout] 161 |     let mut lil_img_zoom_info: Vec<zoom::ZoomImageInfo> = vec![];
[INFO] [stdout]     |         ----^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `now`
[INFO] [stdout]    --> src/mosaic.rs:160:9
[INFO] [stdout]     |
[INFO] [stdout] 160 |     let now = Instant::now();
[INFO] [stdout]     |         ^^^ help: if this is intentional, prefix it with an underscore: `_now`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `lil_img_zoom_info`
[INFO] [stdout]    --> src/mosaic.rs:161:9
[INFO] [stdout]     |
[INFO] [stdout] 161 |     let mut lil_img_zoom_info: Vec<zoom::ZoomImageInfo> = vec![];
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_lil_img_zoom_info`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `now`
[INFO] [stdout]    --> src/mosaic.rs:228:9
[INFO] [stdout]     |
[INFO] [stdout] 228 |     let now = Instant::now();
[INFO] [stdout]     |         ^^^ help: if this is intentional, prefix it with an underscore: `_now`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `now`
[INFO] [stdout]    --> src/mosaic.rs:287:9
[INFO] [stdout]     |
[INFO] [stdout] 287 |     let now = Instant::now();
[INFO] [stdout]     |         ^^^ help: if this is intentional, prefix it with an underscore: `_now`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `now`
[INFO] [stdout]    --> src/mosaic.rs:330:9
[INFO] [stdout]     |
[INFO] [stdout] 330 |     let now = Instant::now();
[INFO] [stdout]     |         ^^^ help: if this is intentional, prefix it with an underscore: `_now`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `now`
[INFO] [stdout]    --> src/mosaic.rs:347:9
[INFO] [stdout]     |
[INFO] [stdout] 347 |     let now = Instant::now();
[INFO] [stdout]     |         ^^^ help: if this is intentional, prefix it with an underscore: `_now`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `skip`
[INFO] [stdout]    --> src/mosaic.rs:365:36
[INFO] [stdout]     |
[INFO] [stdout] 365 | fn get_avg_rgb(img: &DynamicImage, skip: u8) -> Color {
[INFO] [stdout]     |                                    ^^^^ help: if this is intentional, prefix it with an underscore: `_skip`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `target_quadrant_dir` is never read
[INFO] [stdout]   --> src/lil_videos.rs:16:35
[INFO] [stdout]    |
[INFO] [stdout] 16 |     let mut target_quadrant_dir = String::new();
[INFO] [stdout]    |                                   ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/zoom.rs:216:9
[INFO] [stdout]     |
[INFO] [stdout] 216 |     for mut zoom_img in zoom_imgs {
[INFO] [stdout]     |         ----^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/zoom.rs:219:17
[INFO] [stdout]     |
[INFO] [stdout] 219 |         for (i, mut zoom_coords) in zoom_img.zoom_coords.iter_mut().enumerate() {
[INFO] [stdout]     |                 ----^^^^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]   --> src/zoom_instruct.rs:67:9
[INFO] [stdout]    |
[INFO] [stdout] 67 |     for i in 0..20 {
[INFO] [stdout]    |         ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]   --> src/zoom_instruct.rs:83:9
[INFO] [stdout]    |
[INFO] [stdout] 83 |     for i in 0..20 {
[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/scroll.rs:20:9
[INFO] [stdout]    |
[INFO] [stdout] 20 |     for mut zoom_img in zoom_imgs.iter_mut() {
[INFO] [stdout]    |         ----^^^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Quadrant` is never used
[INFO] [stdout]   --> src/mosaic.rs:37:10
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub enum Quadrant {
[INFO] [stdout]    |          ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `frame_number` is never read
[INFO] [stdout]    --> src/mosaic.rs:156:5
[INFO] [stdout]     |
[INFO] [stdout] 147 | struct WriteFinalImageArgs {
[INFO] [stdout]     |        ------------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 156 |     frame_number: String,
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `lil_imgs_dir` is never read
[INFO] [stdout]  --> src/zoom_instruct.rs:5:9
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub struct ZoomInstructions {
[INFO] [stdout]   |            ---------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 5 |     pub lil_imgs_dir: String
[INFO] [stdout]   |         ^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `ZoomInstructions` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `lil_imgs_dir` is never read
[INFO] [stdout]   --> src/zoom_instruct.rs:12:9
[INFO] [stdout]    |
[INFO] [stdout]  8 | pub struct ScrollInstructions {
[INFO] [stdout]    |            ------------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 12 |     pub lil_imgs_dir: String
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `x_second_transition` is never used
[INFO] [stdout]   --> src/instruct.rs:55:4
[INFO] [stdout]    |
[INFO] [stdout] 55 | fn x_second_transition(x: u32) -> Vec<FrameSequence> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `ten_two_transition` is never used
[INFO] [stdout]   --> src/instruct.rs:85:4
[INFO] [stdout]    |
[INFO] [stdout] 85 | fn ten_two_transition() -> Vec<FrameSequence> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `spike_emoji` is never used
[INFO] [stdout]    --> src/instruct.rs:141:4
[INFO] [stdout]     |
[INFO] [stdout] 141 | fn spike_emoji(starting_depth: u32, spike_depth: u32) -> Vec<FrameSequence> {
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `spike_splice` is never used
[INFO] [stdout]    --> src/instruct.rs:147:4
[INFO] [stdout]     |
[INFO] [stdout] 147 | fn spike_splice(starting_depth: u32, spike_depth: u32) -> Vec<FrameSequence> {
[INFO] [stdout]     |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `splice_wobble` is never used
[INFO] [stdout]    --> src/instruct.rs:168:4
[INFO] [stdout]     |
[INFO] [stdout] 168 | fn splice_wobble() -> Vec<FrameSequence> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `lil_video_micro_test` is never used
[INFO] [stdout]    --> src/instruct.rs:248:4
[INFO] [stdout]     |
[INFO] [stdout] 248 | fn lil_video_micro_test() -> Vec<FrameSequence> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `quad_test` is never used
[INFO] [stdout]    --> src/instruct.rs:264:8
[INFO] [stdout]     |
[INFO] [stdout] 264 | pub fn quad_test() -> Vec<FrameSequence> {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `ZOOM_OUTPUT_DIR` is never used
[INFO] [stdout]  --> src/path.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub static ZOOM_OUTPUT_DIR: &str = "io/output/zoom/";
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `quadrant_enum` is never read
[INFO] [stdout]   --> src/path.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub struct Quadrant<'a> {
[INFO] [stdout]    |            -------- field in this struct
[INFO] [stdout] 13 |     quadrant_enum: QuadrantEnum,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/transpose.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 |     fs::remove_dir_all(path::output_dir(&QUADRANT_A));
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 14 |     let _ = fs::remove_dir_all(path::output_dir(&QUADRANT_A));
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/transpose.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 |     fs::remove_dir_all(path::output_dir(&QUADRANT_B));
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 15 |     let _ = fs::remove_dir_all(path::output_dir(&QUADRANT_B));
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/transpose.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 |     fs::create_dir(path::output_dir(&QUADRANT_A));
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 16 |     let _ = fs::create_dir(path::output_dir(&QUADRANT_A));
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/transpose.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 |     fs::create_dir(path::output_dir(&QUADRANT_B));
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 17 |     let _ = fs::create_dir(path::output_dir(&QUADRANT_B));
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/transpose.rs:122:5
[INFO] [stdout]     |
[INFO] [stdout] 122 | /     async_process::Command::new("cp")
[INFO] [stdout] 123 | |             .arg(path::input_path(target_quadrant, frame_number_str))
[INFO] [stdout] 124 | |             .arg(path::output_path(target_quadrant, output_frame_number_str))
[INFO] [stdout] 125 | |             .spawn();
[INFO] [stdout]     | |____________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 122 |     let _ = async_process::Command::new("cp")
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/lil_videos.rs:73:5
[INFO] [stdout]    |
[INFO] [stdout] 73 |     img_to_replace_tiles_onto.save(dest_path.clone());
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 73 |     let _ = img_to_replace_tiles_onto.save(dest_path.clone());
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/lil_videos.rs:92:5
[INFO] [stdout]    |
[INFO] [stdout] 92 | /     async_process::Command::new("cp")
[INFO] [stdout] 93 | |             .arg(path::output_path(prev_parent_quadrant, &output_frame_number))
[INFO] [stdout] 94 | |             .arg(path::output_path(prev_parent_quadrant, &path::prepend_zeroes(copy_frame_number)))
[INFO] [stdout] 95 | |             .spawn();
[INFO] [stdout]    | |____________________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 92 |     let _ = async_process::Command::new("cp")
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]  --> src/quadrants.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 |     fs::remove_dir_all("io/output/quadrants");
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]   |
[INFO] [stdout] 9 |     let _ = fs::remove_dir_all("io/output/quadrants");
[INFO] [stdout]   |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/quadrants.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 |     fs::create_dir("io/output/quadrants");
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 10 |     let _ = fs::create_dir("io/output/quadrants");
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/zoom.rs:23:5
[INFO] [stdout]    |
[INFO] [stdout] 23 |     fs::remove_dir_all(path::input_dir(&QUADRANT_A));
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 23 |     let _ = fs::remove_dir_all(path::input_dir(&QUADRANT_A));
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/zoom.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 24 |     fs::remove_dir_all(path::input_dir(&QUADRANT_B));
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 24 |     let _ = fs::remove_dir_all(path::input_dir(&QUADRANT_B));
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/zoom.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 25 |     fs::create_dir(path::input_dir(&QUADRANT_A));
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 25 |     let _ = fs::create_dir(path::input_dir(&QUADRANT_A));
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/zoom.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 26 |     fs::create_dir(path::input_dir(&QUADRANT_B));
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 26 |     let _ = fs::create_dir(path::input_dir(&QUADRANT_B));
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `pickZoomTarget` should have a snake case name
[INFO] [stdout]   --> src/zoom.rs:99:4
[INFO] [stdout]    |
[INFO] [stdout] 99 | fn pickZoomTarget(zoom_imgs: &Vec<ZoomImageInfo>, pick_randomly: bool) -> (u32, u32) {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `pick_zoom_target`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/zoom.rs:216:9
[INFO] [stdout]     |
[INFO] [stdout] 216 |     for mut zoom_img in zoom_imgs {
[INFO] [stdout]     |         ----^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/zoom.rs:219:17
[INFO] [stdout]     |
[INFO] [stdout] 219 |         for (i, mut zoom_coords) in zoom_img.zoom_coords.iter_mut().enumerate() {
[INFO] [stdout]     |                 ----^^^^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Quadrant` is never used
[INFO] [stdout]   --> src/mosaic.rs:37:10
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub enum Quadrant {
[INFO] [stdout]    |          ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `frame_number` is never read
[INFO] [stdout]    --> src/mosaic.rs:156:5
[INFO] [stdout]     |
[INFO] [stdout] 147 | struct WriteFinalImageArgs {
[INFO] [stdout]     |        ------------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 156 |     frame_number: String,
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `lil_imgs_dir` is never read
[INFO] [stdout]  --> src/zoom_instruct.rs:5:9
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub struct ZoomInstructions {
[INFO] [stdout]   |            ---------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 5 |     pub lil_imgs_dir: String
[INFO] [stdout]   |         ^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `ZoomInstructions` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `lil_imgs_dir` is never read
[INFO] [stdout]   --> src/zoom_instruct.rs:12:9
[INFO] [stdout]    |
[INFO] [stdout]  8 | pub struct ScrollInstructions {
[INFO] [stdout]    |            ------------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 12 |     pub lil_imgs_dir: String
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `x_second_transition` is never used
[INFO] [stdout]   --> src/instruct.rs:55:4
[INFO] [stdout]    |
[INFO] [stdout] 55 | fn x_second_transition(x: u32) -> Vec<FrameSequence> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `ten_two_transition` is never used
[INFO] [stdout]   --> src/instruct.rs:85:4
[INFO] [stdout]    |
[INFO] [stdout] 85 | fn ten_two_transition() -> Vec<FrameSequence> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `spike_emoji` is never used
[INFO] [stdout]    --> src/instruct.rs:141:4
[INFO] [stdout]     |
[INFO] [stdout] 141 | fn spike_emoji(starting_depth: u32, spike_depth: u32) -> Vec<FrameSequence> {
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `spike_splice` is never used
[INFO] [stdout]    --> src/instruct.rs:147:4
[INFO] [stdout]     |
[INFO] [stdout] 147 | fn spike_splice(starting_depth: u32, spike_depth: u32) -> Vec<FrameSequence> {
[INFO] [stdout]     |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `splice_wobble` is never used
[INFO] [stdout]    --> src/instruct.rs:168:4
[INFO] [stdout]     |
[INFO] [stdout] 168 | fn splice_wobble() -> Vec<FrameSequence> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `lil_video_micro_test` is never used
[INFO] [stdout]    --> src/instruct.rs:248:4
[INFO] [stdout]     |
[INFO] [stdout] 248 | fn lil_video_micro_test() -> Vec<FrameSequence> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `quad_test` is never used
[INFO] [stdout]    --> src/instruct.rs:264:8
[INFO] [stdout]     |
[INFO] [stdout] 264 | pub fn quad_test() -> Vec<FrameSequence> {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `ZOOM_OUTPUT_DIR` is never used
[INFO] [stdout]  --> src/path.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub static ZOOM_OUTPUT_DIR: &str = "io/output/zoom/";
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `quadrant_enum` is never read
[INFO] [stdout]   --> src/path.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub struct Quadrant<'a> {
[INFO] [stdout]    |            -------- field in this struct
[INFO] [stdout] 13 |     quadrant_enum: QuadrantEnum,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/transpose.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 |     fs::remove_dir_all(path::output_dir(&QUADRANT_A));
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 14 |     let _ = fs::remove_dir_all(path::output_dir(&QUADRANT_A));
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/transpose.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 |     fs::remove_dir_all(path::output_dir(&QUADRANT_B));
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 15 |     let _ = fs::remove_dir_all(path::output_dir(&QUADRANT_B));
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/transpose.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 |     fs::create_dir(path::output_dir(&QUADRANT_A));
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 16 |     let _ = fs::create_dir(path::output_dir(&QUADRANT_A));
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/transpose.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 |     fs::create_dir(path::output_dir(&QUADRANT_B));
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 17 |     let _ = fs::create_dir(path::output_dir(&QUADRANT_B));
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/transpose.rs:122:5
[INFO] [stdout]     |
[INFO] [stdout] 122 | /     async_process::Command::new("cp")
[INFO] [stdout] 123 | |             .arg(path::input_path(target_quadrant, frame_number_str))
[INFO] [stdout] 124 | |             .arg(path::output_path(target_quadrant, output_frame_number_str))
[INFO] [stdout] 125 | |             .spawn();
[INFO] [stdout]     | |____________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 122 |     let _ = async_process::Command::new("cp")
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/lil_videos.rs:73:5
[INFO] [stdout]    |
[INFO] [stdout] 73 |     img_to_replace_tiles_onto.save(dest_path.clone());
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 73 |     let _ = img_to_replace_tiles_onto.save(dest_path.clone());
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/lil_videos.rs:92:5
[INFO] [stdout]    |
[INFO] [stdout] 92 | /     async_process::Command::new("cp")
[INFO] [stdout] 93 | |             .arg(path::output_path(prev_parent_quadrant, &output_frame_number))
[INFO] [stdout] 94 | |             .arg(path::output_path(prev_parent_quadrant, &path::prepend_zeroes(copy_frame_number)))
[INFO] [stdout] 95 | |             .spawn();
[INFO] [stdout]    | |____________________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 92 |     let _ = async_process::Command::new("cp")
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]  --> src/quadrants.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 |     fs::remove_dir_all("io/output/quadrants");
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]   |
[INFO] [stdout] 9 |     let _ = fs::remove_dir_all("io/output/quadrants");
[INFO] [stdout]   |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/quadrants.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 |     fs::create_dir("io/output/quadrants");
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 10 |     let _ = fs::create_dir("io/output/quadrants");
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/zoom.rs:23:5
[INFO] [stdout]    |
[INFO] [stdout] 23 |     fs::remove_dir_all(path::input_dir(&QUADRANT_A));
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 23 |     let _ = fs::remove_dir_all(path::input_dir(&QUADRANT_A));
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/zoom.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 24 |     fs::remove_dir_all(path::input_dir(&QUADRANT_B));
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 24 |     let _ = fs::remove_dir_all(path::input_dir(&QUADRANT_B));
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/zoom.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 25 |     fs::create_dir(path::input_dir(&QUADRANT_A));
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 25 |     let _ = fs::create_dir(path::input_dir(&QUADRANT_A));
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/zoom.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 26 |     fs::create_dir(path::input_dir(&QUADRANT_B));
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 26 |     let _ = fs::create_dir(path::input_dir(&QUADRANT_B));
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `pickZoomTarget` should have a snake case name
[INFO] [stdout]   --> src/zoom.rs:99:4
[INFO] [stdout]    |
[INFO] [stdout] 99 | fn pickZoomTarget(zoom_imgs: &Vec<ZoomImageInfo>, pick_randomly: bool) -> (u32, u32) {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `pick_zoom_target`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 27.01s
[INFO] running `Command { std: "docker" "inspect" "ff10c7c10b811c15efa73d0c833d34ff6bd3f7b075ea6f7cb6228a62881189ec", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ff10c7c10b811c15efa73d0c833d34ff6bd3f7b075ea6f7cb6228a62881189ec", kill_on_drop: false }`
[INFO] [stdout] ff10c7c10b811c15efa73d0c833d34ff6bd3f7b075ea6f7cb6228a62881189ec
