[INFO] cloning repository https://github.com/inthewaves/striped-matrix-reduction-rust
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/inthewaves/striped-matrix-reduction-rust" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Finthewaves%2Fstriped-matrix-reduction-rust", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Finthewaves%2Fstriped-matrix-reduction-rust'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 6afd8e4ce02d0d5b3fca9ecdae88759e34ed44bc
[INFO] checking inthewaves/striped-matrix-reduction-rust against try#14e4661efa5acbf985e4fe564baae04683366cc1 for pr-157696
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Finthewaves%2Fstriped-matrix-reduction-rust" "/workspace/builds/worker-2-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/inthewaves/striped-matrix-reduction-rust
[INFO] finished tweaking git repo https://github.com/inthewaves/striped-matrix-reduction-rust
[INFO] tweaked toml for git repo https://github.com/inthewaves/striped-matrix-reduction-rust written to /workspace/builds/worker-2-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/inthewaves/striped-matrix-reduction-rust on toolchain 14e4661efa5acbf985e4fe564baae04683366cc1
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+14e4661efa5acbf985e4fe564baae04683366cc1" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/inthewaves/striped-matrix-reduction-rust 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" "+14e4661efa5acbf985e4fe564baae04683366cc1" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: Cargo.toml: file `/workspace/builds/worker-2-tc2/source/benches/circuit_lengths.rs` found to be present in multiple build targets:
[INFO] [stderr]   * `bin` target `circuit_lengths`
[INFO] [stderr]   * `bench` target `circuit_lengths`
[INFO] [stderr] warning: `striped-matrix-reduction` (manifest) generated 1 warning
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,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" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3a6becf2bc8dde7f3fa57ede90e4f284e72d296796fc446bbb1e2c7cc0530151" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 78e845f60dd70c6b308ac3fe2d2f84fdaef7d63523a315856ef4955223dace4a
[INFO] running `Command { std: "docker" "start" "78e845f60dd70c6b308ac3fe2d2f84fdaef7d63523a315856ef4955223dace4a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "78e845f60dd70c6b308ac3fe2d2f84fdaef7d63523a315856ef4955223dace4a" "/opt/rustwide/cargo-home/bin/cargo" "+14e4661efa5acbf985e4fe564baae04683366cc1" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "78e845f60dd70c6b308ac3fe2d2f84fdaef7d63523a315856ef4955223dace4a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-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" "-w" "/opt/rustwide/workdir" "--user" "0:0" "78e845f60dd70c6b308ac3fe2d2f84fdaef7d63523a315856ef4955223dace4a" "/opt/rustwide/cargo-home/bin/cargo" "+14e4661efa5acbf985e4fe564baae04683366cc1" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr] warning: Cargo.toml: file `/opt/rustwide/workdir/benches/circuit_lengths.rs` found to be present in multiple build targets:
[INFO] [stderr]   * `bin` target `circuit_lengths`
[INFO] [stderr]   * `bench` target `circuit_lengths`
[INFO] [stderr] warning: `striped-matrix-reduction` (manifest) generated 1 warning
[INFO] [stderr]    Compiling proc-macro2 v1.0.94
[INFO] [stderr]    Compiling libc v0.2.171
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]     Checking memchr v2.7.4
[INFO] [stderr]    Compiling num-bigint v0.3.3
[INFO] [stderr]    Compiling getrandom v0.3.2
[INFO] [stderr]     Checking num-integer v0.1.46
[INFO] [stderr]    Compiling serde v1.0.219
[INFO] [stderr]     Checking either v1.15.0
[INFO] [stderr]    Compiling radium v0.7.0
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]     Checking bytemuck v1.22.0
[INFO] [stderr]     Checking aho-corasick v1.1.3
[INFO] [stderr]     Checking num-bigint v0.4.6
[INFO] [stderr]     Checking safe_arch v0.7.4
[INFO] [stderr]     Checking num-complex v0.4.6
[INFO] [stderr]    Compiling matrixmultiply v0.3.9
[INFO] [stderr]     Checking tap v1.0.1
[INFO] [stderr]     Checking regex-syntax v0.8.5
[INFO] [stderr]    Compiling quote v1.0.40
[INFO] [stderr]     Checking anstyle v1.0.10
[INFO] [stderr]    Compiling typenum v1.18.0
[INFO] [stderr]     Checking rand_core v0.9.3
[INFO] [stderr]     Checking wide v0.7.32
[INFO] [stderr]    Compiling syn v2.0.100
[INFO] [stderr]     Checking wyz v0.5.1
[INFO] [stderr]     Checking log v0.4.27
[INFO] [stderr]    Compiling serde_json v1.0.140
[INFO] [stderr]     Checking funty v2.0.0
[INFO] [stderr]     Checking regex-automata v0.4.9
[INFO] [stderr]     Checking rayon v1.10.0
[INFO] [stderr]     Checking num-rational v0.4.2
[INFO] [stderr]     Checking bitvec v1.0.1
[INFO] [stderr]     Checking rand_chacha v0.9.0
[INFO] [stderr]     Checking simba v0.9.0
[INFO] [stderr]    Compiling addchain v0.2.0
[INFO] [stderr]     Checking num-iter v0.1.45
[INFO] [stderr]     Checking easy-cast v0.5.3
[INFO] [stderr]     Checking half v2.6.0
[INFO] [stderr]     Checking subtle v2.6.1
[INFO] [stderr]     Checking utf8parse v0.2.2
[INFO] [stderr]     Checking ciborium-io v0.2.2
[INFO] [stderr]     Checking clap_lex v0.7.4
[INFO] [stderr]     Checking plotters-backend v0.3.7
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]     Checking float-ord v0.3.2
[INFO] [stderr]     Checking byteorder v1.5.0
[INFO] [stderr]     Checking regex v1.11.1
[INFO] [stderr]     Checking itoa v1.0.15
[INFO] [stderr]     Checking ryu v1.0.20
[INFO] [stderr]     Checking average v0.16.0
[INFO] [stderr]     Checking plotters-svg v0.3.7
[INFO] [stderr]     Checking clap_builder v4.5.36
[INFO] [stderr]     Checking ciborium-ll v0.2.2
[INFO] [stderr]     Checking anstyle-parse v0.2.6
[INFO] [stderr]     Checking num v0.4.3
[INFO] [stderr]     Checking rand v0.9.0
[INFO] [stderr]     Checking itertools v0.10.5
[INFO] [stderr]     Checking colorchoice v1.0.3
[INFO] [stderr]     Checking is_terminal_polyfill v1.70.1
[INFO] [stderr]     Checking cast v0.3.0
[INFO] [stderr]     Checking gray-codes v0.1.1
[INFO] [stderr]     Checking anstyle-query v1.1.2
[INFO] [stderr]     Checking anstream v0.6.18
[INFO] [stderr]     Checking env_filter v0.1.3
[INFO] [stderr]     Checking plotters v0.3.7
[INFO] [stderr]     Checking is-terminal v0.4.16
[INFO] [stderr]     Checking anes v0.1.6
[INFO] [stderr]     Checking jiff v0.2.6
[INFO] [stderr]     Checking oorandom v11.1.5
[INFO] [stderr]    Compiling ff_derive v0.13.1
[INFO] [stderr]     Checking clap v4.5.36
[INFO] [stderr]     Checking criterion-plot v0.5.0
[INFO] [stderr]    Compiling serde_derive v1.0.219
[INFO] [stderr]    Compiling nalgebra-macros v0.2.2
[INFO] [stderr]     Checking ff v0.13.1
[INFO] [stderr]     Checking nalgebra v0.33.2
[INFO] [stderr]     Checking env_logger v0.11.8
[INFO] [stderr]     Checking ciborium v0.2.2
[INFO] [stderr]     Checking tinytemplate v1.2.1
[INFO] [stderr]     Checking criterion v0.5.1
[INFO] [stderr]     Checking striped-matrix-reduction v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `std::ops::Div`
[INFO] [stdout]  --> src/f2.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::ops::Div;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `REPR_BYTES` should have an upper camel case name
[INFO] [stdout]  --> src/f3.rs:9:6
[INFO] [stdout]   |
[INFO] [stdout] 9 | type REPR_BYTES = [u8; 8usize];
[INFO] [stdout]   |      ^^^^^^^^^^ help: convert the identifier to upper camel case: `ReprBytes`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(non_camel_case_types)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `REPR_BITS` should have an upper camel case name
[INFO] [stdout]   --> src/f3.rs:10:6
[INFO] [stdout]    |
[INFO] [stdout] 10 | type REPR_BITS = REPR_BYTES;
[INFO] [stdout]    |      ^^^^^^^^^ help: convert the identifier to upper camel case: `ReprBits`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::f2::F2`
[INFO] [stdout]  --> src/striped.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::f2::F2;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::f3::F3`
[INFO] [stdout]  --> src/striped.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use crate::f3::F3;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `DMatrix` and `OMatrix`
[INFO] [stdout]   --> src/striped.rs:12:16
[INFO] [stdout]    |
[INFO] [stdout] 12 | use nalgebra::{DMatrix, Dyn, MatrixView, MatrixViewMut, OMatrix, U1};
[INFO] [stdout]    |                ^^^^^^^                                  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fmt::Debug`
[INFO] [stdout]   --> src/striped.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use std::fmt::Debug;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `LevelFilter` and `debug`
[INFO] [stdout]   --> src/striped.rs:16:11
[INFO] [stdout]    |
[INFO] [stdout] 16 | use log::{debug, LevelFilter};
[INFO] [stdout]    |           ^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::gray_code::GrayCode`
[INFO] [stdout]   --> src/gray_code.rs:73:9
[INFO] [stdout]    |
[INFO] [stdout] 73 |     use crate::gray_code::GrayCode;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `gray_codes::GrayCode64`
[INFO] [stdout]   --> src/gray_code.rs:74:9
[INFO] [stdout]    |
[INFO] [stdout] 74 |     use gray_codes::GrayCode64;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::f2::F2`
[INFO] [stdout]  --> src/cnot_synthesis.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::f2::F2;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `gauss_jordan_elimination_generic`
[INFO] [stdout]  --> src/cnot_synthesis.rs:9:25
[INFO] [stdout]   |
[INFO] [stdout] 9 | use crate::gauss_elim::{gauss_jordan_elimination_generic, GaussT};
[INFO] [stdout]   |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `log::debug`
[INFO] [stdout]   --> src/cnot_synthesis.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use log::debug;
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `DMatrix` and `OMatrix`
[INFO] [stdout]   --> src/cnot_synthesis.rs:11:16
[INFO] [stdout]    |
[INFO] [stdout] 11 | use nalgebra::{DMatrix, Dyn, MatrixViewMut, OMatrix, U1};
[INFO] [stdout]    |                ^^^^^^^                      ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ops::Div`
[INFO] [stdout]  --> src/f2.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::ops::Div;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `REPR_BYTES` should have an upper camel case name
[INFO] [stdout]  --> src/f3.rs:9:6
[INFO] [stdout]   |
[INFO] [stdout] 9 | type REPR_BYTES = [u8; 8usize];
[INFO] [stdout]   |      ^^^^^^^^^^ help: convert the identifier to upper camel case: `ReprBytes`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(non_camel_case_types)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `REPR_BITS` should have an upper camel case name
[INFO] [stdout]   --> src/f3.rs:10:6
[INFO] [stdout]    |
[INFO] [stdout] 10 | type REPR_BITS = REPR_BYTES;
[INFO] [stdout]    |      ^^^^^^^^^ help: convert the identifier to upper camel case: `ReprBits`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fmt::Debug`
[INFO] [stdout]   --> src/striped.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use std::fmt::Debug;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `debug`
[INFO] [stdout]   --> src/striped.rs:16:11
[INFO] [stdout]    |
[INFO] [stdout] 16 | use log::{debug, LevelFilter};
[INFO] [stdout]    |           ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `log::debug`
[INFO] [stdout]   --> src/cnot_synthesis.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use log::debug;
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `num::traits::float::FloatCore`
[INFO] [stdout]   --> src/striped.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use num::traits::float::FloatCore;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `PrimeField`
[INFO] [stdout]  --> src/f3.rs:1:17
[INFO] [stdout]   |
[INFO] [stdout] 1 | use ff::{Field, PrimeField};
[INFO] [stdout]   |                 ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `epsilon`
[INFO] [stdout]   --> src/f2.rs:24:41
[INFO] [stdout]    |
[INFO] [stdout] 24 |     fn abs_diff_eq(&self, other: &Self, epsilon: Self::Epsilon) -> bool {
[INFO] [stdout]    |                                         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_epsilon`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `epsilon`
[INFO] [stdout]   --> src/f2.rs:34:41
[INFO] [stdout]    |
[INFO] [stdout] 34 |     fn relative_eq(&self, other: &Self, epsilon: Self::Epsilon, max_relative: Self::Epsilon) -> bool {
[INFO] [stdout]    |                                         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_epsilon`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `max_relative`
[INFO] [stdout]   --> src/f2.rs:34:65
[INFO] [stdout]    |
[INFO] [stdout] 34 |     fn relative_eq(&self, other: &Self, epsilon: Self::Epsilon, max_relative: Self::Epsilon) -> bool {
[INFO] [stdout]    |                                                                 ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_max_relative`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `element`
[INFO] [stdout]   --> src/f2.rs:48:21
[INFO] [stdout]    |
[INFO] [stdout] 48 |     fn is_in_subset(element: &u8) -> bool {
[INFO] [stdout]    |                     ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_element`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `element`
[INFO] [stdout]   --> src/f2.rs:61:21
[INFO] [stdout]    |
[INFO] [stdout] 61 |     fn is_in_subset(element: &u64) -> bool {
[INFO] [stdout]    |                     ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_element`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `div`
[INFO] [stdout]    --> src/f2.rs:309:31
[INFO] [stdout]     |
[INFO] [stdout] 309 |     fn sqrt_ratio(num: &Self, div: &Self) -> (::ff::derive::subtle::Choice, Self) {
[INFO] [stdout]     |                               ^^^ help: if this is intentional, prefix it with an underscore: `_div`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/f2.rs:352:40
[INFO] [stdout]     |
[INFO] [stdout] 352 |     fn mont_reduce(&mut self, r0: u64, mut r1: u64) {
[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: `r0`
[INFO] [stdout]    --> src/f2.rs:352:31
[INFO] [stdout]     |
[INFO] [stdout] 352 |     fn mont_reduce(&mut self, r0: u64, mut r1: u64) {
[INFO] [stdout]     |                               ^^ help: if this is intentional, prefix it with an underscore: `_r0`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `r1`
[INFO] [stdout]    --> src/f2.rs:352:40
[INFO] [stdout]     |
[INFO] [stdout] 352 |     fn mont_reduce(&mut self, r0: u64, mut r1: u64) {
[INFO] [stdout]     |                                        ^^^^^^ help: if this is intentional, prefix it with an underscore: `_r1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `element`
[INFO] [stdout]   --> src/f3.rs:82:21
[INFO] [stdout]    |
[INFO] [stdout] 82 |     fn is_in_subset(element: &u8) -> bool {
[INFO] [stdout]    |                     ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_element`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `carry`
[INFO] [stdout]    --> src/f3.rs:428:18
[INFO] [stdout]     |
[INFO] [stdout] 428 |         let (r1, carry) = ::ff::derive::adc(r1, 0, carry);
[INFO] [stdout]     |                  ^^^^^ help: if this is intentional, prefix it with an underscore: `_carry`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/f3.rs:493:40
[INFO] [stdout]     |
[INFO] [stdout] 493 |     fn mont_reduce(&mut self, r0: u64, mut r1: u64) {
[INFO] [stdout]     |                                        ----^^
[INFO] [stdout]     |                                        |
[INFO] [stdout]     |                                        help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `carry2`
[INFO] [stdout]    --> src/f3.rs:496:18
[INFO] [stdout]     |
[INFO] [stdout] 496 |         let (r1, carry2) = ::ff::derive::adc(r1, 0, carry);
[INFO] [stdout]     |                  ^^^^^^ help: if this is intentional, prefix it with an underscore: `_carry2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/gauss_elim.rs:63:13
[INFO] [stdout]    |
[INFO] [stdout] 63 |         let mut matrix = DMatrix::from_fn(n, n, |_, _| F2::from(rng.next_u64()));
[INFO] [stdout]    |             ----^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `l`
[INFO] [stdout]    --> src/striped.rs:197:13
[INFO] [stdout]     |
[INFO] [stdout] 197 |     for (i, l) in list {
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_l`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `cmp_native`, `sub_noborrow`, and `mont_reduce` are never used
[INFO] [stdout]    --> src/f2.rs:325:8
[INFO] [stdout]     |
[INFO] [stdout] 321 | impl F2 {
[INFO] [stdout]     | ------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 325 |     fn cmp_native(&self, other: &F2) -> ::core::cmp::Ordering {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 339 |     fn sub_noborrow(&mut self, other: &F2) {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 352 |     fn mont_reduce(&mut self, r0: u64, mut r1: u64) {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `REPR_BYTES` is never used
[INFO] [stdout]  --> src/f3.rs:9:6
[INFO] [stdout]   |
[INFO] [stdout] 9 | type REPR_BYTES = [u8; 8usize];
[INFO] [stdout]   |      ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `REPR_BITS` is never used
[INFO] [stdout]   --> src/f3.rs:10:6
[INFO] [stdout]    |
[INFO] [stdout] 10 | type REPR_BITS = REPR_BYTES;
[INFO] [stdout]    |      ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MODULUS` is never used
[INFO] [stdout]   --> src/f3.rs:12:7
[INFO] [stdout]    |
[INFO] [stdout] 12 | const MODULUS: REPR_BITS = [3u8, 0u8, 0u8, 0u8, 0u8, 0u8, 0u8, 0u8];
[INFO] [stdout]    |       ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `encode` is never used
[INFO] [stdout]   --> src/gray_code.rs:43:12
[INFO] [stdout]    |
[INFO] [stdout] 27 | impl GrayCode {
[INFO] [stdout]    | ------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 43 |     pub fn encode(&self, x: usize) -> Vec<u64> {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> benches/circuit_lengths.rs:28:13
[INFO] [stdout]    |
[INFO] [stdout] 28 |         let mut cnot_synth_stats = MeanWithError::new();
[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]   --> benches/circuit_lengths.rs:29:13
[INFO] [stdout]    |
[INFO] [stdout] 29 |         let mut striped_synth_stats = MeanWithError::new();
[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]   --> benches/circuit_lengths.rs:30:13
[INFO] [stdout]    |
[INFO] [stdout] 30 |         let mut gaussian_elim_stats = MeanWithError::new();
[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]   --> benches/circuit_lengths.rs:28:13
[INFO] [stdout]    |
[INFO] [stdout] 28 |         let mut cnot_synth_stats = MeanWithError::new();
[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]   --> benches/circuit_lengths.rs:29:13
[INFO] [stdout]    |
[INFO] [stdout] 29 |         let mut striped_synth_stats = MeanWithError::new();
[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]   --> benches/circuit_lengths.rs:30:13
[INFO] [stdout]    |
[INFO] [stdout] 30 |         let mut gaussian_elim_stats = MeanWithError::new();
[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]   --> benches/circuit_lengths.rs:28:13
[INFO] [stdout]    |
[INFO] [stdout] 28 |         let mut cnot_synth_stats = MeanWithError::new();
[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]   --> benches/circuit_lengths.rs:29:13
[INFO] [stdout]    |
[INFO] [stdout] 29 |         let mut striped_synth_stats = MeanWithError::new();
[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]   --> benches/circuit_lengths.rs:30:13
[INFO] [stdout]    |
[INFO] [stdout] 30 |         let mut gaussian_elim_stats = MeanWithError::new();
[INFO] [stdout]    |             ----^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `black_box`
[INFO] [stdout]  --> benches/runtime.rs:2:17
[INFO] [stdout]   |
[INFO] [stdout] 2 | use criterion::{black_box, criterion_group, criterion_main, BatchSize, BenchmarkId, Criterion};
[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: `RngCore`, `Rng`, and `seq::SliceRandom`
[INFO] [stdout]  --> benches/runtime.rs:6:28
[INFO] [stdout]   |
[INFO] [stdout] 6 | use rand::{rngs::SmallRng, seq::SliceRandom, Rng, RngCore, SeedableRng};
[INFO] [stdout]   |                            ^^^^^^^^^^^^^^^^  ^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `gauss_jordan_elimination_generic`
[INFO] [stdout]  --> benches/runtime.rs:7:44
[INFO] [stdout]   |
[INFO] [stdout] 7 | use striped_matrix_reduction::gauss_elim::{gauss_jordan_elimination_generic, generate_random_matrix};
[INFO] [stdout]   |                                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> benches/runtime.rs:10:9
[INFO] [stdout]    |
[INFO] [stdout] 10 |     let mut a : OMatrix<F2, Dyn, Dyn> = DMatrix::from_row_slice(6, 6, &[
[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: `i`
[INFO] [stdout]   --> benches/runtime.rs:38:13
[INFO] [stdout]    |
[INFO] [stdout] 38 |         |b, i| {
[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: unused variable: `i`
[INFO] [stdout]   --> benches/runtime.rs:23:13
[INFO] [stdout]    |
[INFO] [stdout] 23 |         |b, i| {
[INFO] [stdout]    |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `num::traits::float::FloatCore`
[INFO] [stdout]   --> src/striped.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use num::traits::float::FloatCore;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `PrimeField`
[INFO] [stdout]  --> src/f3.rs:1:17
[INFO] [stdout]   |
[INFO] [stdout] 1 | use ff::{Field, PrimeField};
[INFO] [stdout]   |                 ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `epsilon`
[INFO] [stdout]   --> src/f2.rs:24:41
[INFO] [stdout]    |
[INFO] [stdout] 24 |     fn abs_diff_eq(&self, other: &Self, epsilon: Self::Epsilon) -> bool {
[INFO] [stdout]    |                                         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_epsilon`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `epsilon`
[INFO] [stdout]   --> src/f2.rs:34:41
[INFO] [stdout]    |
[INFO] [stdout] 34 |     fn relative_eq(&self, other: &Self, epsilon: Self::Epsilon, max_relative: Self::Epsilon) -> bool {
[INFO] [stdout]    |                                         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_epsilon`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `max_relative`
[INFO] [stdout]   --> src/f2.rs:34:65
[INFO] [stdout]    |
[INFO] [stdout] 34 |     fn relative_eq(&self, other: &Self, epsilon: Self::Epsilon, max_relative: Self::Epsilon) -> bool {
[INFO] [stdout]    |                                                                 ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_max_relative`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `element`
[INFO] [stdout]   --> src/f2.rs:48:21
[INFO] [stdout]    |
[INFO] [stdout] 48 |     fn is_in_subset(element: &u8) -> bool {
[INFO] [stdout]    |                     ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_element`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `element`
[INFO] [stdout]   --> src/f2.rs:61:21
[INFO] [stdout]    |
[INFO] [stdout] 61 |     fn is_in_subset(element: &u64) -> bool {
[INFO] [stdout]    |                     ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_element`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `div`
[INFO] [stdout]    --> src/f2.rs:309:31
[INFO] [stdout]     |
[INFO] [stdout] 309 |     fn sqrt_ratio(num: &Self, div: &Self) -> (::ff::derive::subtle::Choice, Self) {
[INFO] [stdout]     |                               ^^^ help: if this is intentional, prefix it with an underscore: `_div`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/f2.rs:352:40
[INFO] [stdout]     |
[INFO] [stdout] 352 |     fn mont_reduce(&mut self, r0: u64, mut r1: u64) {
[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: `r0`
[INFO] [stdout]    --> src/f2.rs:352:31
[INFO] [stdout]     |
[INFO] [stdout] 352 |     fn mont_reduce(&mut self, r0: u64, mut r1: u64) {
[INFO] [stdout]     |                               ^^ help: if this is intentional, prefix it with an underscore: `_r0`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `r1`
[INFO] [stdout]    --> src/f2.rs:352:40
[INFO] [stdout]     |
[INFO] [stdout] 352 |     fn mont_reduce(&mut self, r0: u64, mut r1: u64) {
[INFO] [stdout]     |                                        ^^^^^^ help: if this is intentional, prefix it with an underscore: `_r1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `element`
[INFO] [stdout]   --> src/f3.rs:82:21
[INFO] [stdout]    |
[INFO] [stdout] 82 |     fn is_in_subset(element: &u8) -> bool {
[INFO] [stdout]    |                     ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_element`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `carry`
[INFO] [stdout]    --> src/f3.rs:428:18
[INFO] [stdout]     |
[INFO] [stdout] 428 |         let (r1, carry) = ::ff::derive::adc(r1, 0, carry);
[INFO] [stdout]     |                  ^^^^^ help: if this is intentional, prefix it with an underscore: `_carry`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/f3.rs:493:40
[INFO] [stdout]     |
[INFO] [stdout] 493 |     fn mont_reduce(&mut self, r0: u64, mut r1: u64) {
[INFO] [stdout]     |                                        ----^^
[INFO] [stdout]     |                                        |
[INFO] [stdout]     |                                        help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `carry2`
[INFO] [stdout]    --> src/f3.rs:496:18
[INFO] [stdout]     |
[INFO] [stdout] 496 |         let (r1, carry2) = ::ff::derive::adc(r1, 0, carry);
[INFO] [stdout]     |                  ^^^^^^ help: if this is intentional, prefix it with an underscore: `_carry2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/gauss_elim.rs:63:13
[INFO] [stdout]    |
[INFO] [stdout] 63 |         let mut matrix = DMatrix::from_fn(n, n, |_, _| F2::from(rng.next_u64()));
[INFO] [stdout]    |             ----^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `l`
[INFO] [stdout]    --> src/striped.rs:197:13
[INFO] [stdout]     |
[INFO] [stdout] 197 |     for (i, l) in list {
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_l`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/striped.rs:357:9
[INFO] [stdout]     |
[INFO] [stdout] 357 |     let mut dm = make_matrix(3, 3, &[
[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/striped.rs:368:9
[INFO] [stdout]     |
[INFO] [stdout] 368 |     let mut dm = make_matrix(3, 3, &[
[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/striped.rs:378:9
[INFO] [stdout]     |
[INFO] [stdout] 378 |     let mut dm = make_matrix(3, 3, &[
[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/striped.rs:387:9
[INFO] [stdout]     |
[INFO] [stdout] 387 |     let mut dm: OMatrix<F3, Dyn, Dyn> = DMatrix::from_row_slice(3, 3, &[
[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/striped.rs:352:13
[INFO] [stdout]     |
[INFO] [stdout] 352 |         let mut dm: OMatrix<u8, Dyn, Dyn> = DMatrix::from_row_slice(nrows, ncols, entries);
[INFO] [stdout]     |             ----^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `cmp_native`, `sub_noborrow`, and `mont_reduce` are never used
[INFO] [stdout]    --> src/f2.rs:325:8
[INFO] [stdout]     |
[INFO] [stdout] 321 | impl F2 {
[INFO] [stdout]     | ------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 325 |     fn cmp_native(&self, other: &F2) -> ::core::cmp::Ordering {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 339 |     fn sub_noborrow(&mut self, other: &F2) {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 352 |     fn mont_reduce(&mut self, r0: u64, mut r1: u64) {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `REPR_BYTES` is never used
[INFO] [stdout]  --> src/f3.rs:9:6
[INFO] [stdout]   |
[INFO] [stdout] 9 | type REPR_BYTES = [u8; 8usize];
[INFO] [stdout]   |      ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `REPR_BITS` is never used
[INFO] [stdout]   --> src/f3.rs:10:6
[INFO] [stdout]    |
[INFO] [stdout] 10 | type REPR_BITS = REPR_BYTES;
[INFO] [stdout]    |      ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MODULUS` is never used
[INFO] [stdout]   --> src/f3.rs:12:7
[INFO] [stdout]    |
[INFO] [stdout] 12 | const MODULUS: REPR_BITS = [3u8, 0u8, 0u8, 0u8, 0u8, 0u8, 0u8, 0u8];
[INFO] [stdout]    |       ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 04s
[INFO] running `Command { std: "docker" "inspect" "78e845f60dd70c6b308ac3fe2d2f84fdaef7d63523a315856ef4955223dace4a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "78e845f60dd70c6b308ac3fe2d2f84fdaef7d63523a315856ef4955223dace4a", kill_on_drop: false }`
[INFO] [stdout] 78e845f60dd70c6b308ac3fe2d2f84fdaef7d63523a315856ef4955223dace4a
