[INFO] cloning repository https://github.com/DKotov29/lssscm-rs
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/DKotov29/lssscm-rs" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FDKotov29%2Flssscm-rs", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FDKotov29%2Flssscm-rs'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 5fde901e26af7ec25d2268414fb11d455186ef06
[INFO] checking DKotov29/lssscm-rs against master#c9af9c1dc85a55e309345030ff9cb7ea247953fa for pr-151146-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FDKotov29%2Flssscm-rs" "/workspace/builds/worker-4-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/DKotov29/lssscm-rs
[INFO] finished tweaking git repo https://github.com/DKotov29/lssscm-rs
[INFO] tweaked toml for git repo https://github.com/DKotov29/lssscm-rs written to /workspace/builds/worker-4-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/DKotov29/lssscm-rs on toolchain c9af9c1dc85a55e309345030ff9cb7ea247953fa
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c9af9c1dc85a55e309345030ff9cb7ea247953fa" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/DKotov29/lssscm-rs 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" "+c9af9c1dc85a55e309345030ff9cb7ea247953fa" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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:98afbf2d16093dec2546ff8915fddc74e65664aa03fc460b3712b1c2c54a33e4" "/opt/rustwide/cargo-home/bin/cargo" "+c9af9c1dc85a55e309345030ff9cb7ea247953fa" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] a3df52232773d6013ce0410026fa574bb919760cd4147786de3e2a3eb962af78
[INFO] running `Command { std: "docker" "start" "-a" "a3df52232773d6013ce0410026fa574bb919760cd4147786de3e2a3eb962af78", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "a3df52232773d6013ce0410026fa574bb919760cd4147786de3e2a3eb962af78", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "a3df52232773d6013ce0410026fa574bb919760cd4147786de3e2a3eb962af78", kill_on_drop: false }`
[INFO] [stdout] a3df52232773d6013ce0410026fa574bb919760cd4147786de3e2a3eb962af78
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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:98afbf2d16093dec2546ff8915fddc74e65664aa03fc460b3712b1c2c54a33e4" "/opt/rustwide/cargo-home/bin/cargo" "+c9af9c1dc85a55e309345030ff9cb7ea247953fa" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 9dadb51ee29046c0ffa8eb45a0978e3a91de6ffe7d5a89be28ab035dfb1c18ad
[INFO] running `Command { std: "docker" "start" "-a" "9dadb51ee29046c0ffa8eb45a0978e3a91de6ffe7d5a89be28ab035dfb1c18ad", kill_on_drop: false }`
[INFO] [stderr]     Checking lssscm-rs v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: ambiguous glob re-exports
[INFO] [stdout]   --> src/main.rs:11:9
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub use srom3::*;
[INFO] [stdout]    |         ^^^^^^^^ the name `convert_to_vec` in the value namespace is first re-exported here
[INFO] [stdout] ...
[INFO] [stdout] 16 | pub use srom4::*;
[INFO] [stdout]    |         -------- but the name `convert_to_vec` in the value namespace is also re-exported here
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(ambiguous_glob_reexports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: ambiguous glob re-exports
[INFO] [stdout]   --> src/main.rs:11:9
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub use srom3::*;
[INFO] [stdout]    |         ^^^^^^^^ the name `convert_to_string` in the value namespace is first re-exported here
[INFO] [stdout] ...
[INFO] [stdout] 16 | pub use srom4::*;
[INFO] [stdout]    |         -------- but the name `convert_to_string` in the value namespace is also re-exported here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: ambiguous glob re-exports
[INFO] [stdout]   --> src/main.rs:11:9
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub use srom3::*;
[INFO] [stdout]    |         ^^^^^^^^ the name `char_to_i` in the value namespace is first re-exported here
[INFO] [stdout] ...
[INFO] [stdout] 16 | pub use srom4::*;
[INFO] [stdout]    |         -------- but the name `char_to_i` in the value namespace is also re-exported here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Equal` and `Greater`
[INFO] [stdout]  --> src/srom4.rs:2:26
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::cmp::Ordering::{Equal, Greater};
[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: `Ordering::Less`
[INFO] [stdout]  --> src/srom4.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use Ordering::Less;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: private item shadows public glob re-export
[INFO] [stdout]   --> src/main.rs:26:1
[INFO] [stdout]    |
[INFO] [stdout] 26 | / fn add(first: &str, second: &str) -> String {
[INFO] [stdout] 27 | |     if first.eq("0") {
[INFO] [stdout] 28 | |         return String::from(second);
[INFO] [stdout] ...  |
[INFO] [stdout] 57 | |     from_arr_to_string(result)
[INFO] [stdout] 58 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout] note: the name `add` in the value namespace is supposed to be publicly re-exported here
[INFO] [stdout]   --> src/main.rs:11:9
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub use srom3::*;
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] note: but the private item here shadows it
[INFO] [stdout]   --> src/main.rs:26:1
[INFO] [stdout]    |
[INFO] [stdout] 26 | / fn add(first: &str, second: &str) -> String {
[INFO] [stdout] 27 | |     if first.eq("0") {
[INFO] [stdout] 28 | |         return String::from(second);
[INFO] [stdout] ...  |
[INFO] [stdout] 57 | |     from_arr_to_string(result)
[INFO] [stdout] 58 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    = note: `#[warn(hidden_glob_reexports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: private item shadows public glob re-export
[INFO] [stdout]    --> src/main.rs:121:1
[INFO] [stdout]     |
[INFO] [stdout] 121 | / fn mul(a: &str, b: &str) -> String {
[INFO] [stdout] 122 | |     let mut result = "0".to_string();
[INFO] [stdout] 123 | |     let mut bb = from_hex_string_to_arr(b);
[INFO] [stdout] 124 | |     bb.reverse();
[INFO] [stdout] ...   |
[INFO] [stdout] 131 | |     result
[INFO] [stdout] 132 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout] note: the name `mul` in the value namespace is supposed to be publicly re-exported here
[INFO] [stdout]    --> src/main.rs:11:9
[INFO] [stdout]     |
[INFO] [stdout]  11 | pub use srom3::*;
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout] note: but the private item here shadows it
[INFO] [stdout]    --> src/main.rs:121:1
[INFO] [stdout]     |
[INFO] [stdout] 121 | / fn mul(a: &str, b: &str) -> String {
[INFO] [stdout] 122 | |     let mut result = "0".to_string();
[INFO] [stdout] 123 | |     let mut bb = from_hex_string_to_arr(b);
[INFO] [stdout] 124 | |     bb.reverse();
[INFO] [stdout] ...   |
[INFO] [stdout] 131 | |     result
[INFO] [stdout] 132 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: private item shadows public glob re-export
[INFO] [stdout]    --> src/main.rs:134:1
[INFO] [stdout]     |
[INFO] [stdout] 134 | / fn add_right_zero(a: &str, i: usize) -> String {
[INFO] [stdout] 135 | |     let mut a = String::from(a);
[INFO] [stdout] 136 | |     (0..i).for_each(|_| a.push('0'));
[INFO] [stdout] 137 | |     a
[INFO] [stdout] 138 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout] note: the name `add_right_zero` in the value namespace is supposed to be publicly re-exported here
[INFO] [stdout]    --> src/main.rs:11:9
[INFO] [stdout]     |
[INFO] [stdout]  11 | pub use srom3::*;
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout] note: but the private item here shadows it
[INFO] [stdout]    --> src/main.rs:134:1
[INFO] [stdout]     |
[INFO] [stdout] 134 | / fn add_right_zero(a: &str, i: usize) -> String {
[INFO] [stdout] 135 | |     let mut a = String::from(a);
[INFO] [stdout] 136 | |     (0..i).for_each(|_| a.push('0'));
[INFO] [stdout] 137 | |     a
[INFO] [stdout] 138 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: ambiguous glob re-exports
[INFO] [stdout]   --> src/main.rs:11:9
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub use srom3::*;
[INFO] [stdout]    |         ^^^^^^^^ the name `convert_to_vec` in the value namespace is first re-exported here
[INFO] [stdout] ...
[INFO] [stdout] 16 | pub use srom4::*;
[INFO] [stdout]    |         -------- but the name `convert_to_vec` in the value namespace is also re-exported here
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(ambiguous_glob_reexports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: ambiguous glob re-exports
[INFO] [stdout]   --> src/main.rs:11:9
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub use srom3::*;
[INFO] [stdout]    |         ^^^^^^^^ the name `convert_to_string` in the value namespace is first re-exported here
[INFO] [stdout] ...
[INFO] [stdout] 16 | pub use srom4::*;
[INFO] [stdout]    |         -------- but the name `convert_to_string` in the value namespace is also re-exported here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: ambiguous glob re-exports
[INFO] [stdout]   --> src/main.rs:11:9
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub use srom3::*;
[INFO] [stdout]    |         ^^^^^^^^ the name `char_to_i` in the value namespace is first re-exported here
[INFO] [stdout] ...
[INFO] [stdout] 16 | pub use srom4::*;
[INFO] [stdout]    |         -------- but the name `char_to_i` in the value namespace is also re-exported here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Equal` and `Greater`
[INFO] [stdout]  --> src/srom4.rs:2:26
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::cmp::Ordering::{Equal, Greater};
[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: `Ordering::Less`
[INFO] [stdout]  --> src/srom4.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use Ordering::Less;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: private item shadows public glob re-export
[INFO] [stdout]   --> src/main.rs:26:1
[INFO] [stdout]    |
[INFO] [stdout] 26 | / fn add(first: &str, second: &str) -> String {
[INFO] [stdout] 27 | |     if first.eq("0") {
[INFO] [stdout] 28 | |         return String::from(second);
[INFO] [stdout] ...  |
[INFO] [stdout] 57 | |     from_arr_to_string(result)
[INFO] [stdout] 58 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout] note: the name `add` in the value namespace is supposed to be publicly re-exported here
[INFO] [stdout]   --> src/main.rs:11:9
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub use srom3::*;
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] note: but the private item here shadows it
[INFO] [stdout]   --> src/main.rs:26:1
[INFO] [stdout]    |
[INFO] [stdout] 26 | / fn add(first: &str, second: &str) -> String {
[INFO] [stdout] 27 | |     if first.eq("0") {
[INFO] [stdout] 28 | |         return String::from(second);
[INFO] [stdout] ...  |
[INFO] [stdout] 57 | |     from_arr_to_string(result)
[INFO] [stdout] 58 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    = note: `#[warn(hidden_glob_reexports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: private item shadows public glob re-export
[INFO] [stdout]    --> src/main.rs:121:1
[INFO] [stdout]     |
[INFO] [stdout] 121 | / fn mul(a: &str, b: &str) -> String {
[INFO] [stdout] 122 | |     let mut result = "0".to_string();
[INFO] [stdout] 123 | |     let mut bb = from_hex_string_to_arr(b);
[INFO] [stdout] 124 | |     bb.reverse();
[INFO] [stdout] ...   |
[INFO] [stdout] 131 | |     result
[INFO] [stdout] 132 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout] note: the name `mul` in the value namespace is supposed to be publicly re-exported here
[INFO] [stdout]    --> src/main.rs:11:9
[INFO] [stdout]     |
[INFO] [stdout]  11 | pub use srom3::*;
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout] note: but the private item here shadows it
[INFO] [stdout]    --> src/main.rs:121:1
[INFO] [stdout]     |
[INFO] [stdout] 121 | / fn mul(a: &str, b: &str) -> String {
[INFO] [stdout] 122 | |     let mut result = "0".to_string();
[INFO] [stdout] 123 | |     let mut bb = from_hex_string_to_arr(b);
[INFO] [stdout] 124 | |     bb.reverse();
[INFO] [stdout] ...   |
[INFO] [stdout] 131 | |     result
[INFO] [stdout] 132 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: private item shadows public glob re-export
[INFO] [stdout]    --> src/main.rs:134:1
[INFO] [stdout]     |
[INFO] [stdout] 134 | / fn add_right_zero(a: &str, i: usize) -> String {
[INFO] [stdout] 135 | |     let mut a = String::from(a);
[INFO] [stdout] 136 | |     (0..i).for_each(|_| a.push('0'));
[INFO] [stdout] 137 | |     a
[INFO] [stdout] 138 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout] note: the name `add_right_zero` in the value namespace is supposed to be publicly re-exported here
[INFO] [stdout]    --> src/main.rs:11:9
[INFO] [stdout]     |
[INFO] [stdout]  11 | pub use srom3::*;
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout] note: but the private item here shadows it
[INFO] [stdout]    --> src/main.rs:134:1
[INFO] [stdout]     |
[INFO] [stdout] 134 | / fn add_right_zero(a: &str, i: usize) -> String {
[INFO] [stdout] 135 | |     let mut a = String::from(a);
[INFO] [stdout] 136 | |     (0..i).for_each(|_| a.push('0'));
[INFO] [stdout] 137 | |     a
[INFO] [stdout] 138 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `q` is never read
[INFO] [stdout]  --> src/srom2.rs:5:17
[INFO] [stdout]   |
[INFO] [stdout] 5 |     let mut q = 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: variable does not need to be mutable
[INFO] [stdout]   --> src/srom3.rs:48:12
[INFO] [stdout]    |
[INFO] [stdout] 48 | pub fn mul(mut a: &str, mut b: &str) -> String {
[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/srom3.rs:48:25
[INFO] [stdout]    |
[INFO] [stdout] 48 | pub fn mul(mut a: &str, mut b: &str) -> String {
[INFO] [stdout]    |                         ----^
[INFO] [stdout]    |                         |
[INFO] [stdout]    |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]   --> src/srom4.rs:19:9
[INFO] [stdout]    |
[INFO] [stdout] 19 |     for i in 0..233 {
[INFO] [stdout]    |         ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `add_right_zero` is never used
[INFO] [stdout]  --> src/srom3.rs:9:8
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub fn add_right_zero(a: &str, i: usize) -> String {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `mul` is never used
[INFO] [stdout]   --> src/srom3.rs:48:8
[INFO] [stdout]    |
[INFO] [stdout] 48 | pub fn mul(mut a: &str, mut b: &str) -> String {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `GEN` is never used
[INFO] [stdout]  --> src/srom4.rs:6:7
[INFO] [stdout]   |
[INFO] [stdout] 6 | const GEN: [usize; 5] = [233, 9, 4, 1, 0];
[INFO] [stdout]   |       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `add_right_zero` is never used
[INFO] [stdout]  --> src/srom4.rs:9:8
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub fn add_right_zero(a: &str, i: usize) -> String {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `mul` is never used
[INFO] [stdout]   --> src/srom4.rs:15:15
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub unsafe fn mul(a: &str, b: &str) -> String {
[INFO] [stdout]    |               ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static variable `Matrix` should have an upper case name
[INFO] [stdout]  --> src/srom4.rs:7:12
[INFO] [stdout]   |
[INFO] [stdout] 7 | static mut Matrix: Vec<Vec<i16>> = Vec::new();
[INFO] [stdout]   |            ^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(non_upper_case_globals)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] help: convert the identifier to upper case
[INFO] [stdout]   |
[INFO] [stdout] 7 - static mut Matrix: Vec<Vec<i16>> = Vec::new();
[INFO] [stdout] 7 + static mut MATRIX: Vec<Vec<i16>> = Vec::new();
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]   --> src/srom4.rs:21:54
[INFO] [stdout]    |
[INFO] [stdout] 21 |             &mul_matrix(&bin_str_to_vec(a.as_str()), &Matrix),
[INFO] [stdout]    |                                                      ^^^^^^^ shared reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]    = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout]    = note: `#[warn(static_mut_refs)]` (part of `#[warn(rust_2024_compatibility)]`) on by default
[INFO] [stdout] help: use `&raw const` instead to create a raw pointer
[INFO] [stdout]    |
[INFO] [stdout] 21 |             &mul_matrix(&bin_str_to_vec(a.as_str()), &raw const Matrix),
[INFO] [stdout]    |                                                       +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> src/srom4.rs:125:9
[INFO] [stdout]     |
[INFO] [stdout] 125 |         Matrix.push(vec)
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `q` is never read
[INFO] [stdout]  --> src/srom2.rs:5:17
[INFO] [stdout]   |
[INFO] [stdout] 5 |     let mut q = 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: variable does not need to be mutable
[INFO] [stdout]   --> src/srom3.rs:48:12
[INFO] [stdout]    |
[INFO] [stdout] 48 | pub fn mul(mut a: &str, mut b: &str) -> String {
[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/srom3.rs:48:25
[INFO] [stdout]    |
[INFO] [stdout] 48 | pub fn mul(mut a: &str, mut b: &str) -> String {
[INFO] [stdout]    |                         ----^
[INFO] [stdout]    |                         |
[INFO] [stdout]    |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]   --> src/srom4.rs:19:9
[INFO] [stdout]    |
[INFO] [stdout] 19 |     for i in 0..233 {
[INFO] [stdout]    |         ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `add_right_zero` is never used
[INFO] [stdout]  --> src/srom3.rs:9:8
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub fn add_right_zero(a: &str, i: usize) -> String {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `GEN` is never used
[INFO] [stdout]  --> src/srom4.rs:6:7
[INFO] [stdout]   |
[INFO] [stdout] 6 | const GEN: [usize; 5] = [233, 9, 4, 1, 0];
[INFO] [stdout]   |       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `add_right_zero` is never used
[INFO] [stdout]  --> src/srom4.rs:9:8
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub fn add_right_zero(a: &str, i: usize) -> String {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `mul` is never used
[INFO] [stdout]   --> src/srom4.rs:15:15
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub unsafe fn mul(a: &str, b: &str) -> String {
[INFO] [stdout]    |               ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static variable `Matrix` should have an upper case name
[INFO] [stdout]  --> src/srom4.rs:7:12
[INFO] [stdout]   |
[INFO] [stdout] 7 | static mut Matrix: Vec<Vec<i16>> = Vec::new();
[INFO] [stdout]   |            ^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(non_upper_case_globals)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] help: convert the identifier to upper case
[INFO] [stdout]   |
[INFO] [stdout] 7 - static mut Matrix: Vec<Vec<i16>> = Vec::new();
[INFO] [stdout] 7 + static mut MATRIX: Vec<Vec<i16>> = Vec::new();
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]   --> src/srom4.rs:21:54
[INFO] [stdout]    |
[INFO] [stdout] 21 |             &mul_matrix(&bin_str_to_vec(a.as_str()), &Matrix),
[INFO] [stdout]    |                                                      ^^^^^^^ shared reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]    = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout]    = note: `#[warn(static_mut_refs)]` (part of `#[warn(rust_2024_compatibility)]`) on by default
[INFO] [stdout] help: use `&raw const` instead to create a raw pointer
[INFO] [stdout]    |
[INFO] [stdout] 21 |             &mul_matrix(&bin_str_to_vec(a.as_str()), &raw const Matrix),
[INFO] [stdout]    |                                                       +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> src/srom4.rs:125:9
[INFO] [stdout]     |
[INFO] [stdout] 125 |         Matrix.push(vec)
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.51s
[INFO] running `Command { std: "docker" "inspect" "9dadb51ee29046c0ffa8eb45a0978e3a91de6ffe7d5a89be28ab035dfb1c18ad", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "9dadb51ee29046c0ffa8eb45a0978e3a91de6ffe7d5a89be28ab035dfb1c18ad", kill_on_drop: false }`
[INFO] [stdout] 9dadb51ee29046c0ffa8eb45a0978e3a91de6ffe7d5a89be28ab035dfb1c18ad
