[INFO] cloning repository https://github.com/terrarier2111/Algorithms
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/terrarier2111/Algorithms" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fterrarier2111%2FAlgorithms", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fterrarier2111%2FAlgorithms'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 90d8da743eb9cfc6b596564bffdff845af1bc98c
[INFO] checking terrarier2111/Algorithms against 1.95.0 for pr-155915
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fterrarier2111%2FAlgorithms" "/workspace/builds/worker-7-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/terrarier2111/Algorithms
[INFO] finished tweaking git repo https://github.com/terrarier2111/Algorithms
[INFO] tweaked toml for git repo https://github.com/terrarier2111/Algorithms written to /workspace/builds/worker-7-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/terrarier2111/Algorithms 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/terrarier2111/Algorithms 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] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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] 00dfd473dd7b99f22bebf754b9a05c948bf534c85b614127fab8e1efae2e290d
[INFO] running `Command { std: "docker" "start" "-a" "00dfd473dd7b99f22bebf754b9a05c948bf534c85b614127fab8e1efae2e290d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "00dfd473dd7b99f22bebf754b9a05c948bf534c85b614127fab8e1efae2e290d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "00dfd473dd7b99f22bebf754b9a05c948bf534c85b614127fab8e1efae2e290d", kill_on_drop: false }`
[INFO] [stdout] 00dfd473dd7b99f22bebf754b9a05c948bf534c85b614127fab8e1efae2e290d
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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] 9d54bc9006839547a4f1bedb5ef26e395b42b44d1e0593691d7943bda12cfc9b
[INFO] running `Command { std: "docker" "start" "-a" "9d54bc9006839547a4f1bedb5ef26e395b42b44d1e0593691d7943bda12cfc9b", kill_on_drop: false }`
[INFO] [stderr]     Checking RustAlgorithms v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] error[E0554]: `#![feature]` may not be used on the stable release channel
[INFO] [stdout]  --> src/main.rs:1:1
[INFO] [stdout]   |
[INFO] [stdout] 1 | #![feature(int_roundings)]
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = help: the feature `const_mut_refs` has been stable since `1.83.0` and no longer requires an attribute to enable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/encrypt/polyalphabet.rs:32:94
[INFO] [stdout]    |
[INFO] [stdout] 32 |     let key_offsets: Vec<u8> = key.as_bytes().iter().map(|x| (x & CHAR_MASK) - 1).collect(); /// Calculate the offset on one side of the table
[INFO] [stdout]    |                                                                                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 33 |     let key_offsets = key_offsets.as_slice();
[INFO] [stdout]    |     ----------------------------------------- rustdoc does not generate documentation for statements
[INFO] [stdout]    |
[INFO] [stdout]    = help: use `//` for a plain comment
[INFO] [stdout]    = note: `#[warn(unused_doc_comments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/encrypt/polyalphabet.rs:36:50
[INFO] [stdout]    |
[INFO] [stdout] 36 |         let char_offset = (x.1 & CHAR_MASK) - 1; /// Calculate the offset on the other side of the table
[INFO] [stdout]    |                                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 37 |         let result = result_fn(char_offset, key_offset);
[INFO] [stdout]    |         ------------------------------------------------ rustdoc does not generate documentation for statements
[INFO] [stdout]    |
[INFO] [stdout]    = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::error::Error`
[INFO] [stdout]  --> src/break_encrypt/caesar.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::error::Error;
[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: `Debug`, `Display`, and `Formatter`
[INFO] [stdout]  --> src/break_encrypt/caesar.rs:2:16
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::fmt::{Debug, Display, Formatter};
[INFO] [stdout]   |                ^^^^^  ^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::encrypt::encrypt_caesar`
[INFO] [stdout]  --> src/break_encrypt/caesar.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::encrypt::encrypt_caesar;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/break_encrypt/caesar.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 |     /// Create a buffer to which we write our cipher output later.
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 15 |     let mut buffer = input.to_string();
[INFO] [stdout]    |     ----------------------------------- rustdoc does not generate documentation for statements
[INFO] [stdout]    |
[INFO] [stdout]    = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/break_encrypt/caesar.rs:18:22
[INFO] [stdout]    |
[INFO] [stdout] 18 |     for x in 0..26 { /// Iterate over the number of letters in the alphabet and check for every possible shift
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 19 |         decrypt(inpt, buffer, x);
[INFO] [stdout]    |         ------------------------ rustdoc does not generate documentation for expressions
[INFO] [stdout]    |
[INFO] [stdout]    = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/break_encrypt/caesar.rs:20:40
[INFO] [stdout]    |
[INFO] [stdout] 20 |           if buffer == expected_result { /// Compare the result with the expected result
[INFO] [stdout]    |  ________________________________________^
[INFO] [stdout] 21 | |                                        /// we could also add this to a list which we could return later
[INFO] [stdout] 22 | |                                        /// and which contains all possible permutations.
[INFO] [stdout]    | |________________________________________________________________________________________^
[INFO] [stdout] 23 |               return Ok(x);
[INFO] [stdout]    |               ------------ rustdoc does not generate documentation for expressions
[INFO] [stdout]    |
[INFO] [stdout]    = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/break_encrypt/caesar.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 26 |       /// This means that we didn't find the expected result here!
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 27 | /     return Err(BreakError {
[INFO] [stdout] 28 | |         msg: "".to_string()
[INFO] [stdout] 29 | |     });
[INFO] [stdout]    | |______- rustdoc does not generate documentation for expressions
[INFO] [stdout]    |
[INFO] [stdout]    = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/break_encrypt/caesar.rs:45:22
[INFO] [stdout]    |
[INFO] [stdout] 45 |       for x in range { /// Iterate over the given range and check for every possible shift
[INFO] [stdout]    |  ______________________^
[INFO] [stdout] 46 | |         /// Create a buffer to which we write our cipher output later.
[INFO] [stdout]    | |______________________________________________________________________^
[INFO] [stdout] 47 |           let mut buffer = input.to_string();
[INFO] [stdout]    |           ----------------------------------- rustdoc does not generate documentation for statements
[INFO] [stdout]    |
[INFO] [stdout]    = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::verify`
[INFO] [stdout]   --> src/sudoku/verifier.rs:38:9
[INFO] [stdout]    |
[INFO] [stdout] 38 |     use super::verify;
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `finalize`
[INFO] [stdout]  --> src/rng/acorn.rs:1:13
[INFO] [stdout]   |
[INFO] [stdout] 1 | use super::{finalize, xor_shift::{self, gen_u64}, Rng};
[INFO] [stdout]   |             ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `hash::Hash`
[INFO] [stdout]  --> src/compression/huffman.rs:1:68
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{collections::{BinaryHeap, HashMap}, fmt::{Debug, Write}, hash::Hash};
[INFO] [stdout]   |                                                                    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::mem::transmute`
[INFO] [stdout]   --> src/main.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | use std::mem::transmute;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::slice::Iter`
[INFO] [stdout]   --> src/main.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | use std::slice::Iter;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::hash_map::Values`
[INFO] [stdout]   --> src/main.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 20 | use std::collections::hash_map::Values;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::convert::TryInto`
[INFO] [stdout]   --> src/main.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 | use std::convert::TryInto;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `hash::h1::H1`
[INFO] [stdout]   --> src/main.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 25 | use hash::h1::H1;
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rng::acorn::AcornRng`
[INFO] [stdout]   --> src/main.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 26 | use rng::acorn::AcornRng;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rng::lcg::LCGGenerator64`
[INFO] [stdout]   --> src/main.rs:27:5
[INFO] [stdout]    |
[INFO] [stdout] 27 | use rng::lcg::LCGGenerator64;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rng::xor_shift::XorShiftPRng64`
[INFO] [stdout]   --> src/main.rs:28:5
[INFO] [stdout]    |
[INFO] [stdout] 28 | use rng::xor_shift::XorShiftPRng64;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::sudoku::print_constants`
[INFO] [stdout]   --> src/main.rs:32:5
[INFO] [stdout]    |
[INFO] [stdout] 32 | use crate::sudoku::print_constants;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::sudoku::verifier::verify`
[INFO] [stdout]   --> src/main.rs:33:5
[INFO] [stdout]    |
[INFO] [stdout] 33 | use crate::sudoku::verifier::verify;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the feature `const_mut_refs` has been stable since 1.83.0 and no longer requires an attribute to enable
[INFO] [stdout]  --> src/main.rs:2:12
[INFO] [stdout]   |
[INFO] [stdout] 2 | #![feature(const_mut_refs)]
[INFO] [stdout]   |            ^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(stable_features)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the feature `const_maybe_uninit_write` has been stable since 1.85.0 and no longer requires an attribute to enable
[INFO] [stdout]  --> src/main.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | #![feature(const_maybe_uninit_write)]
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0554]: `#![feature]` may not be used on the stable release channel
[INFO] [stdout]  --> src/main.rs:1:1
[INFO] [stdout]   |
[INFO] [stdout] 1 | #![feature(int_roundings)]
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = help: the feature `const_mut_refs` has been stable since `1.83.0` and no longer requires an attribute to enable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/encrypt/polyalphabet.rs:32:94
[INFO] [stdout]    |
[INFO] [stdout] 32 |     let key_offsets: Vec<u8> = key.as_bytes().iter().map(|x| (x & CHAR_MASK) - 1).collect(); /// Calculate the offset on one side of the table
[INFO] [stdout]    |                                                                                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 33 |     let key_offsets = key_offsets.as_slice();
[INFO] [stdout]    |     ----------------------------------------- rustdoc does not generate documentation for statements
[INFO] [stdout]    |
[INFO] [stdout]    = help: use `//` for a plain comment
[INFO] [stdout]    = note: `#[warn(unused_doc_comments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/encrypt/polyalphabet.rs:36:50
[INFO] [stdout]    |
[INFO] [stdout] 36 |         let char_offset = (x.1 & CHAR_MASK) - 1; /// Calculate the offset on the other side of the table
[INFO] [stdout]    |                                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 37 |         let result = result_fn(char_offset, key_offset);
[INFO] [stdout]    |         ------------------------------------------------ rustdoc does not generate documentation for statements
[INFO] [stdout]    |
[INFO] [stdout]    = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::error::Error`
[INFO] [stdout]  --> src/break_encrypt/caesar.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::error::Error;
[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: `Debug`, `Display`, and `Formatter`
[INFO] [stdout]  --> src/break_encrypt/caesar.rs:2:16
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::fmt::{Debug, Display, Formatter};
[INFO] [stdout]   |                ^^^^^  ^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::encrypt::encrypt_caesar`
[INFO] [stdout]  --> src/break_encrypt/caesar.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::encrypt::encrypt_caesar;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/break_encrypt/caesar.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 |     /// Create a buffer to which we write our cipher output later.
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 15 |     let mut buffer = input.to_string();
[INFO] [stdout]    |     ----------------------------------- rustdoc does not generate documentation for statements
[INFO] [stdout]    |
[INFO] [stdout]    = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/break_encrypt/caesar.rs:18:22
[INFO] [stdout]    |
[INFO] [stdout] 18 |     for x in 0..26 { /// Iterate over the number of letters in the alphabet and check for every possible shift
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 19 |         decrypt(inpt, buffer, x);
[INFO] [stdout]    |         ------------------------ rustdoc does not generate documentation for expressions
[INFO] [stdout]    |
[INFO] [stdout]    = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/break_encrypt/caesar.rs:20:40
[INFO] [stdout]    |
[INFO] [stdout] 20 |           if buffer == expected_result { /// Compare the result with the expected result
[INFO] [stdout]    |  ________________________________________^
[INFO] [stdout] 21 | |                                        /// we could also add this to a list which we could return later
[INFO] [stdout] 22 | |                                        /// and which contains all possible permutations.
[INFO] [stdout]    | |________________________________________________________________________________________^
[INFO] [stdout] 23 |               return Ok(x);
[INFO] [stdout]    |               ------------ rustdoc does not generate documentation for expressions
[INFO] [stdout]    |
[INFO] [stdout]    = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/break_encrypt/caesar.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 26 |       /// This means that we didn't find the expected result here!
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 27 | /     return Err(BreakError {
[INFO] [stdout] 28 | |         msg: "".to_string()
[INFO] [stdout] 29 | |     });
[INFO] [stdout]    | |______- rustdoc does not generate documentation for expressions
[INFO] [stdout]    |
[INFO] [stdout]    = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/break_encrypt/caesar.rs:45:22
[INFO] [stdout]    |
[INFO] [stdout] 45 |       for x in range { /// Iterate over the given range and check for every possible shift
[INFO] [stdout]    |  ______________________^
[INFO] [stdout] 46 | |         /// Create a buffer to which we write our cipher output later.
[INFO] [stdout]    | |______________________________________________________________________^
[INFO] [stdout] 47 |           let mut buffer = input.to_string();
[INFO] [stdout]    |           ----------------------------------- rustdoc does not generate documentation for statements
[INFO] [stdout]    |
[INFO] [stdout]    = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `finalize`
[INFO] [stdout]  --> src/rng/acorn.rs:1:13
[INFO] [stdout]   |
[INFO] [stdout] 1 | use super::{finalize, xor_shift::{self, gen_u64}, Rng};
[INFO] [stdout]   |             ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `hash::Hash`
[INFO] [stdout]  --> src/compression/huffman.rs:1:68
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{collections::{BinaryHeap, HashMap}, fmt::{Debug, Write}, hash::Hash};
[INFO] [stdout]   |                                                                    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::mem::transmute`
[INFO] [stdout]   --> src/main.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | use std::mem::transmute;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::slice::Iter`
[INFO] [stdout]   --> src/main.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | use std::slice::Iter;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::hash_map::Values`
[INFO] [stdout]   --> src/main.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 20 | use std::collections::hash_map::Values;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::convert::TryInto`
[INFO] [stdout]   --> src/main.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 | use std::convert::TryInto;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `hash::h1::H1`
[INFO] [stdout]   --> src/main.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 25 | use hash::h1::H1;
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rng::acorn::AcornRng`
[INFO] [stdout]   --> src/main.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 26 | use rng::acorn::AcornRng;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rng::lcg::LCGGenerator64`
[INFO] [stdout]   --> src/main.rs:27:5
[INFO] [stdout]    |
[INFO] [stdout] 27 | use rng::lcg::LCGGenerator64;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rng::xor_shift::XorShiftPRng64`
[INFO] [stdout]   --> src/main.rs:28:5
[INFO] [stdout]    |
[INFO] [stdout] 28 | use rng::xor_shift::XorShiftPRng64;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::sudoku::print_constants`
[INFO] [stdout]   --> src/main.rs:32:5
[INFO] [stdout]    |
[INFO] [stdout] 32 | use crate::sudoku::print_constants;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::sudoku::verifier::verify`
[INFO] [stdout]   --> src/main.rs:33:5
[INFO] [stdout]    |
[INFO] [stdout] 33 | use crate::sudoku::verifier::verify;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the feature `const_mut_refs` has been stable since 1.83.0 and no longer requires an attribute to enable
[INFO] [stdout]  --> src/main.rs:2:12
[INFO] [stdout]   |
[INFO] [stdout] 2 | #![feature(const_mut_refs)]
[INFO] [stdout]   |            ^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(stable_features)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the feature `const_maybe_uninit_write` has been stable since 1.85.0 and no longer requires an attribute to enable
[INFO] [stdout]  --> src/main.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | #![feature(const_maybe_uninit_write)]
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/sorting/radix.rs:25:13
[INFO] [stdout]    |
[INFO] [stdout] 25 |         let mut bucket = buckets.get_mut(char_as_num(str_ver[str_ver.len() - 1] as char) as usize).unwrap();
[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/sorting/radix.rs:39:21
[INFO] [stdout]    |
[INFO] [stdout] 39 |                 let mut bucket = result.get_mut(elem).unwrap();
[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/encrypt/mod.rs:6:9
[INFO] [stdout]   |
[INFO] [stdout] 6 |     let mut out = unsafe { out.as_bytes_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/encrypt/mod.rs:13:9
[INFO] [stdout]    |
[INFO] [stdout] 13 |     let mut out = unsafe { out.as_bytes_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/encrypt/mod.rs:20:9
[INFO] [stdout]    |
[INFO] [stdout] 20 |     let mut out = unsafe { out.as_bytes_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/encrypt/mod.rs:27:9
[INFO] [stdout]    |
[INFO] [stdout] 27 |     let mut out = unsafe { out.as_bytes_mut() };
[INFO] [stdout]    |         ----^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]  --> src/util/mod.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 |     unsafe { input.as_bytes() }
[INFO] [stdout]   |     ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_unsafe)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]  --> src/util/mod.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 |     unsafe { input.as_bytes() }
[INFO] [stdout]   |     ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/sudoku/base.rs:93:13
[INFO] [stdout]    |
[INFO] [stdout] 93 |         let mut cells = CellArray::new(board);
[INFO] [stdout]    |             ----^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0554`.
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/sorting/radix.rs:25:13
[INFO] [stdout]    |
[INFO] [stdout] 25 |         let mut bucket = buckets.get_mut(char_as_num(str_ver[str_ver.len() - 1] as char) as usize).unwrap();
[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/sorting/radix.rs:39:21
[INFO] [stdout]    |
[INFO] [stdout] 39 |                 let mut bucket = result.get_mut(elem).unwrap();
[INFO] [stdout]    |                     ----^^^^^^
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `RustAlgorithms` (bin "RustAlgorithms" test) due to 1 previous error; 33 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]  --> src/encrypt/mod.rs:6:9
[INFO] [stdout]   |
[INFO] [stdout] 6 |     let mut out = unsafe { out.as_bytes_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/encrypt/mod.rs:13:9
[INFO] [stdout]    |
[INFO] [stdout] 13 |     let mut out = unsafe { out.as_bytes_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/encrypt/mod.rs:20:9
[INFO] [stdout]    |
[INFO] [stdout] 20 |     let mut out = unsafe { out.as_bytes_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/encrypt/mod.rs:27:9
[INFO] [stdout]    |
[INFO] [stdout] 27 |     let mut out = unsafe { out.as_bytes_mut() };
[INFO] [stdout]    |         ----^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]  --> src/util/mod.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 |     unsafe { input.as_bytes() }
[INFO] [stdout]   |     ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_unsafe)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]  --> src/util/mod.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 |     unsafe { input.as_bytes() }
[INFO] [stdout]   |     ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/sudoku/base.rs:93:13
[INFO] [stdout]    |
[INFO] [stdout] 93 |         let mut cells = CellArray::new(board);
[INFO] [stdout]    |             ----^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0554`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `RustAlgorithms` (bin "RustAlgorithms") due to 1 previous error; 34 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "9d54bc9006839547a4f1bedb5ef26e395b42b44d1e0593691d7943bda12cfc9b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "9d54bc9006839547a4f1bedb5ef26e395b42b44d1e0593691d7943bda12cfc9b", kill_on_drop: false }`
[INFO] [stdout] 9d54bc9006839547a4f1bedb5ef26e395b42b44d1e0593691d7943bda12cfc9b
