[INFO] cloning repository https://github.com/hherman1/ParallelProgrammingCapstone
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/hherman1/ParallelProgrammingCapstone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fhherman1%2FParallelProgrammingCapstone", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fhherman1%2FParallelProgrammingCapstone'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 45833dce857d7796c71542ed785e526e6bc16269
[INFO] testing hherman1/ParallelProgrammingCapstone against beta-2026-04-21 for beta-1.96-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fhherman1%2FParallelProgrammingCapstone" "/workspace/builds/worker-0-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/hherman1/ParallelProgrammingCapstone
[INFO] finished tweaking git repo https://github.com/hherman1/ParallelProgrammingCapstone
[INFO] tweaked toml for git repo https://github.com/hherman1/ParallelProgrammingCapstone written to /workspace/builds/worker-0-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/hherman1/ParallelProgrammingCapstone on toolchain beta-2026-04-21
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2026-04-21" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/hherman1/ParallelProgrammingCapstone 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" "+beta-2026-04-21" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: `package.edition` is unspecified, defaulting to `2015` while the latest is `2024`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-04-21" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 82eb0068de4a1f646ede65abb0c164bf8415551b84c30527d4491881af5fbef1
[INFO] running `Command { std: "docker" "start" "-a" "82eb0068de4a1f646ede65abb0c164bf8415551b84c30527d4491881af5fbef1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "82eb0068de4a1f646ede65abb0c164bf8415551b84c30527d4491881af5fbef1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "82eb0068de4a1f646ede65abb0c164bf8415551b84c30527d4491881af5fbef1", kill_on_drop: false }`
[INFO] [stdout] 82eb0068de4a1f646ede65abb0c164bf8415551b84c30527d4491881af5fbef1
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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" "+beta-2026-04-21" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 5cccc9e9a73d65beb99e83f24198be05b052fdbf5b9b40f286f2a552dc800c67
[INFO] running `Command { std: "docker" "start" "-a" "5cccc9e9a73d65beb99e83f24198be05b052fdbf5b9b40f286f2a552dc800c67", kill_on_drop: false }`
[INFO] [stderr] warning: `package.edition` is unspecified, defaulting to `2015` while the latest is `2024`
[INFO] [stderr]    Compiling libc v0.2.34
[INFO] [stderr]    Compiling cc v1.0.3
[INFO] [stderr]    Compiling either v1.4.0
[INFO] [stderr]    Compiling scopeguard v0.3.3
[INFO] [stderr]    Compiling rayon-core v1.3.0
[INFO] [stderr]    Compiling lazy_static v0.2.11
[INFO] [stderr]    Compiling unicode-width v0.1.4
[INFO] [stderr]    Compiling strsim v0.6.0
[INFO] [stderr]    Compiling ansi_term v0.10.2
[INFO] [stderr]    Compiling bitflags v1.0.1
[INFO] [stderr]    Compiling vec_map v0.8.0
[INFO] [stderr]    Compiling suffix v1.0.0
[INFO] [stderr]    Compiling lazy_static v1.0.0
[INFO] [stderr]    Compiling textwrap v0.9.0
[INFO] [stderr]    Compiling coco v0.1.1
[INFO] [stderr]    Compiling num_cpus v1.7.0
[INFO] [stderr]    Compiling rand v0.3.18
[INFO] [stderr]    Compiling atty v0.2.3
[INFO] [stderr]    Compiling clap v2.29.0
[INFO] [stderr]    Compiling saxx v0.1.2
[INFO] [stderr]    Compiling rayon v0.9.0
[INFO] [stderr]    Compiling parallel_lz77 v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] error[E0432]: unresolved import `std::heap`
[INFO] [stdout]  --> src/utils.rs:3:10
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::heap::Alloc;
[INFO] [stdout]   |          ^^^^ could not find `heap` in `std`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find `heap` in `std`
[INFO] [stdout]    --> src/utils.rs:167:30
[INFO] [stdout]     |
[INFO] [stdout] 167 |             data_store: std::heap::Heap.alloc_array(cap).unwrap(),
[INFO] [stdout]     |                              ^^^^ could not find `heap` in `std`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `enable_ansi_support` in crate `ansi_term`
[INFO] [stdout]    --> src/main.rs:108:16
[INFO] [stdout]     |
[INFO] [stdout] 108 |     ansi_term::enable_ansi_support();
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^^^^ not found in `ansi_term`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0554]: `#![feature]` may not be used on the beta release channel
[INFO] [stdout]   --> src/main.rs:15:1
[INFO] [stdout]    |
[INFO] [stdout] 15 | #![feature(test)]
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]   --> src/radix.rs:52:13
[INFO] [stdout]    |
[INFO] [stdout] 52 |             (((byte >> even_phase * 4) & 0b00001111) as usize)
[INFO] [stdout]    |             ^                                                ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 52 -             (((byte >> even_phase * 4) & 0b00001111) as usize)
[INFO] [stdout] 52 +             ((byte >> even_phase * 4) & 0b00001111) as usize 
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]    --> src/radix.rs:171:9
[INFO] [stdout]     |
[INFO] [stdout] 171 |         (((byte >> even_phase * 4) & 0b00001111) as usize)
[INFO] [stdout]     |         ^                                                ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 171 -         (((byte >> even_phase * 4) & 0b00001111) as usize)
[INFO] [stdout] 171 +         ((byte >> even_phase * 4) & 0b00001111) as usize 
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `radix`
[INFO] [stdout]  --> src/suffix.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use radix;
[INFO] [stdout]   |     ^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std`
[INFO] [stdout]  --> src/ansv.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std;
[INFO] [stdout]   |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rayon`
[INFO] [stdout]  --> src/ansv.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use rayon;
[INFO] [stdout]   |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rayon`
[INFO] [stdout]  --> src/lpf.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use rayon;
[INFO] [stdout]   |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `serial_suffix`
[INFO] [stdout]  --> src/lpf.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use serial_suffix;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ansv`
[INFO] [stdout]  --> src/lpf.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use ansv;
[INFO] [stdout]   |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std`
[INFO] [stdout]  --> src/lpf.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std;
[INFO] [stdout]   |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Send` and `Sync`
[INFO] [stdout]   --> src/main.rs:59:19
[INFO] [stdout]    |
[INFO] [stdout] 59 | use std::marker::{Send, Sync};
[INFO] [stdout]    |                   ^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `Once::new()` function is now preferred
[INFO] [stdout]   --> src/main.rs:60:1
[INFO] [stdout]    |
[INFO] [stdout] 60 | / lazy_static! {
[INFO] [stdout] 61 | |     static ref STATS : Mutex<HashMap<&'static str, f64>> = {
[INFO] [stdout] 62 | |         let mut hash = HashMap::new();
[INFO] [stdout] 63 | |         Mutex::new(hash)
[INFO] [stdout] 64 | |     };
[INFO] [stdout] 65 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout]    = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0635]: unknown feature `unique`
[INFO] [stdout]   --> src/main.rs:16:12
[INFO] [stdout]    |
[INFO] [stdout] 16 | #![feature(unique)]
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0658]: use of unstable library feature `ptr_internals`: use `NonNull` instead and consider `PhantomData<T>` (if you also use `#[may_dangle]`), `Send`, and/or `Sync`
[INFO] [stdout]    --> src/utils.rs:159:17
[INFO] [stdout]     |
[INFO] [stdout] 159 |     data_store: std::ptr::Unique<T>,
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/main.rs:79:75
[INFO] [stdout]    |
[INFO] [stdout] 79 | fn lempel_ziv_77(data: &[u8]) -> Result<(Box<[usize]>, Box<[isize]>), Box<std::error::Error>> {
[INFO] [stdout]    |                                                                           ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 79 | fn lempel_ziv_77(data: &[u8]) -> Result<(Box<[usize]>, Box<[isize]>), Box<dyn std::error::Error>> {
[INFO] [stdout]    |                                                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0658]: use of unstable library feature `ptr_internals`
[INFO] [stdout]    --> src/utils.rs:173:27
[INFO] [stdout]     |
[INFO] [stdout] 173 |         &*self.data_store.as_ptr().offset(self.len - 1)
[INFO] [stdout]     |                           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0658]: use of unstable library feature `ptr_internals`
[INFO] [stdout]    --> src/utils.rs:178:27
[INFO] [stdout]     |
[INFO] [stdout] 178 |         &*self.data_store.as_ptr().offset(self.len - 1)
[INFO] [stdout]     |                           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0658]: use of unstable library feature `ptr_internals`
[INFO] [stdout]    --> src/utils.rs:182:26
[INFO] [stdout]     |
[INFO] [stdout] 182 |         *self.data_store.as_ptr().offset(self.len) = val;
[INFO] [stdout]     |                          ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/main.rs:138:27
[INFO] [stdout]     |
[INFO] [stdout] 138 |     let x: Result<(), Box<std::error::Error>> = (|| {
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 138 |     let x: Result<(), Box<dyn std::error::Error>> = (|| {
[INFO] [stdout]     |                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/utils.rs:148:10
[INFO] [stdout]     |
[INFO] [stdout] 148 |     let (mut left, mut rest) = slice.split_at_mut(n);
[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: variable does not need to be mutable
[INFO] [stdout]    --> src/utils.rs:148:20
[INFO] [stdout]     |
[INFO] [stdout] 148 |     let (mut left, mut rest) = slice.split_at_mut(n);
[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/utils.rs:149:10
[INFO] [stdout]     |
[INFO] [stdout] 149 |     let (mut mid_arr, mut right) = rest.split_at_mut(1);
[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/utils.rs:149:23
[INFO] [stdout]     |
[INFO] [stdout] 149 |     let (mut mid_arr, mut right) = rest.split_at_mut(1);
[INFO] [stdout]     |                       ----^^^^^
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `len`
[INFO] [stdout]    --> src/utils.rs:147:9
[INFO] [stdout]     |
[INFO] [stdout] 147 |     let len = slice.len();
[INFO] [stdout]     |         ^^^ help: if this is intentional, prefix it with an underscore: `_len`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `idx`
[INFO] [stdout]    --> src/suffix.rs:126:90
[INFO] [stdout]     |
[INFO] [stdout] 126 |         slice.iter().rev().enumerate().fold((CharType::B, 0u8), |(next_type, next_val), (idx, &cur_val): (usize, &u8)| {
[INFO] [stdout]     |                                                                                          ^^^ help: if this is intentional, prefix it with an underscore: `_idx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `b_offsets`
[INFO] [stdout]    --> src/suffix.rs:192:29
[INFO] [stdout]     |
[INFO] [stdout] 192 | fn init_b_star(data: &[u8], b_offsets: &mut [[usize; B_DIM]], bstar_indices: &[usize]) {
[INFO] [stdout]     |                             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_b_offsets`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `suffix_array`
[INFO] [stdout]    --> src/suffix.rs:226:35
[INFO] [stdout]     |
[INFO] [stdout] 226 | pub fn suffix_array(data: & [u8], suffix_array: &mut [usize]) {
[INFO] [stdout]     |                                   ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_suffix_array`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `b_buckets`
[INFO] [stdout]    --> src/suffix.rs:227:21
[INFO] [stdout]     |
[INFO] [stdout] 227 |     let (a_buckets, b_buckets, b_star_indices) = gen_a_b_offsets_and_b_star_indices(data);
[INFO] [stdout]     |                     ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_b_buckets`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `b_star_indices`
[INFO] [stdout]    --> src/suffix.rs:227:32
[INFO] [stdout]     |
[INFO] [stdout] 227 |     let (a_buckets, b_buckets, b_star_indices) = gen_a_b_offsets_and_b_star_indices(data);
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_b_star_indices`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/ansv.rs:165:13
[INFO] [stdout]     |
[INFO] [stdout] 165 |         let mut table_arrs = (1..depth).map(|idx| {
[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/ansv.rs:269:9
[INFO] [stdout]     |
[INFO] [stdout] 269 |     let mut get_nearest_neighbor = |stack: &mut utils::UncheckedFixedSizeStack<usize>, idx, dest: &mut isize| {
[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/ansv.rs:294:9
[INFO] [stdout]     |
[INFO] [stdout] 294 |     let mut update_row = |child_row: &[usize], cur_row: &mut[usize]| {
[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/ansv.rs:311:13
[INFO] [stdout]     |
[INFO] [stdout] 311 |         let mut other_rows = min_tree.layers_mut();
[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/ansv.rs:316:18
[INFO] [stdout]     |
[INFO] [stdout] 316 |             let (mut before, mut cur, mut after) = utils::extract_at_mut(other_rows, d-1);
[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/ansv.rs:316:30
[INFO] [stdout]     |
[INFO] [stdout] 316 |             let (mut before, mut cur, mut after) = utils::extract_at_mut(other_rows, d-1);
[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/ansv.rs:316:39
[INFO] [stdout]     |
[INFO] [stdout] 316 |             let (mut before, mut cur, mut after) = utils::extract_at_mut(other_rows, d-1);
[INFO] [stdout]     |                                       ----^^^^^
[INFO] [stdout]     |                                       |
[INFO] [stdout]     |                                       help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cur_len`
[INFO] [stdout]    --> src/ansv.rs:300:13
[INFO] [stdout]     |
[INFO] [stdout] 300 |         let cur_len = cur_row.len();
[INFO] [stdout]     |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_cur_len`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `after`
[INFO] [stdout]    --> src/ansv.rs:316:39
[INFO] [stdout]     |
[INFO] [stdout] 316 |             let (mut before, mut cur, mut after) = utils::extract_at_mut(other_rows, d-1);
[INFO] [stdout]     |                                       ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_after`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/lpf.rs:82:26
[INFO] [stdout]    |
[INFO] [stdout] 82 |                      let mut llcp: usize = if left != -1 {
[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/lpf.rs:89:26
[INFO] [stdout]    |
[INFO] [stdout] 89 |                      let mut rlcp: usize = if right != -1 {
[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/lpf.rs:53:9
[INFO] [stdout]    |
[INFO] [stdout] 53 |     let mut longest_previous_factor = vec![0usize; ar_len].into_boxed_slice();
[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/lpf.rs:57:9
[INFO] [stdout]    |
[INFO] [stdout] 57 |     let mut rank_array = longest_previous_factor;
[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/lpf_to_lz.rs:66:9
[INFO] [stdout]    |
[INFO] [stdout] 66 |     let mut flag = vec![0usize; ar_len+1].into_boxed_slice();
[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/lpf_to_lz.rs:77:9
[INFO] [stdout]    |
[INFO] [stdout] 77 |     let mut next_block_swap = vec![0usize; n_chunks + 1].into_boxed_slice();
[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/lpf_to_lz.rs:78:9
[INFO] [stdout]    |
[INFO] [stdout] 78 |     let mut block_flags = vec![false; n_chunks + 1].into_boxed_slice();
[INFO] [stdout]    |         ----^^^^^^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `idx`
[INFO] [stdout]   --> src/lpf_to_lz.rs:80:54
[INFO] [stdout]    |
[INFO] [stdout] 80 |     next_block.par_iter_mut().enumerate().for_each(|(idx, next_block_el)| {
[INFO] [stdout]    |                                                      ^^^ help: if this is intentional, prefix it with an underscore: `_idx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `next_block_el`
[INFO] [stdout]   --> src/lpf_to_lz.rs:80:59
[INFO] [stdout]    |
[INFO] [stdout] 80 |     next_block.par_iter_mut().enumerate().for_each(|(idx, next_block_el)| {
[INFO] [stdout]    |                                                           ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_next_block_el`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `prev_occ`
[INFO] [stdout]   --> src/lpf_to_lz.rs:62:34
[INFO] [stdout]    |
[INFO] [stdout] 62 | fn lpf_to_lz(lpf : &mut [usize], prev_occ : &mut [isize]) {
[INFO] [stdout]    |                                  ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_prev_occ`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `flag`
[INFO] [stdout]   --> src/lpf_to_lz.rs:66:9
[INFO] [stdout]    |
[INFO] [stdout] 66 |     let mut flag = vec![0usize; ar_len+1].into_boxed_slice();
[INFO] [stdout]    |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_flag`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `next_block_swap`
[INFO] [stdout]   --> src/lpf_to_lz.rs:77:9
[INFO] [stdout]    |
[INFO] [stdout] 77 |     let mut next_block_swap = vec![0usize; n_chunks + 1].into_boxed_slice();
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_next_block_swap`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `block_flags`
[INFO] [stdout]   --> src/lpf_to_lz.rs:78:9
[INFO] [stdout]    |
[INFO] [stdout] 78 |     let mut block_flags = vec![false; n_chunks + 1].into_boxed_slice();
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_block_flags`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/main.rs:62:13
[INFO] [stdout]    |
[INFO] [stdout] 62 |         let mut hash = HashMap::new();
[INFO] [stdout]    |             ----^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0432, E0433, E0554, E0635, E0658.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `parallel_lz77` (bin "parallel_lz77") due to 9 previous errors; 46 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "5cccc9e9a73d65beb99e83f24198be05b052fdbf5b9b40f286f2a552dc800c67", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "5cccc9e9a73d65beb99e83f24198be05b052fdbf5b9b40f286f2a552dc800c67", kill_on_drop: false }`
[INFO] [stdout] 5cccc9e9a73d65beb99e83f24198be05b052fdbf5b9b40f286f2a552dc800c67
