[INFO] cloning repository https://github.com/matter-labs/M1_algebra
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/matter-labs/M1_algebra" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmatter-labs%2FM1_algebra", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmatter-labs%2FM1_algebra'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] f4a7b72d281bbe0d151fa3c875a87a8b685e989b
[INFO] checking matter-labs/M1_algebra against try#012cd62c9add58ab3910e44c137d87db3ab70f61 for pr-155915
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmatter-labs%2FM1_algebra" "/workspace/builds/worker-4-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/matter-labs/M1_algebra
[INFO] finished tweaking git repo https://github.com/matter-labs/M1_algebra
[INFO] tweaked toml for git repo https://github.com/matter-labs/M1_algebra written to /workspace/builds/worker-4-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/matter-labs/M1_algebra on toolchain 012cd62c9add58ab3910e44c137d87db3ab70f61
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+012cd62c9add58ab3910e44c137d87db3ab70f61" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/matter-labs/M1_algebra 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" "+012cd62c9add58ab3910e44c137d87db3ab70f61" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+012cd62c9add58ab3910e44c137d87db3ab70f61" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 7815bc0bd3d720cc2bb1d4241b409ff2383c4ffc83d337aeeedc416a5313c8b7
[INFO] running `Command { std: "docker" "start" "-a" "7815bc0bd3d720cc2bb1d4241b409ff2383c4ffc83d337aeeedc416a5313c8b7", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "7815bc0bd3d720cc2bb1d4241b409ff2383c4ffc83d337aeeedc416a5313c8b7", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "7815bc0bd3d720cc2bb1d4241b409ff2383c4ffc83d337aeeedc416a5313c8b7", kill_on_drop: false }`
[INFO] [stdout] 7815bc0bd3d720cc2bb1d4241b409ff2383c4ffc83d337aeeedc416a5313c8b7
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=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" "+012cd62c9add58ab3910e44c137d87db3ab70f61" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] d1eb535bd4aaebeff3214caaefdbf8ad2cc5462c13d016fc82f1f7c103389606
[INFO] running `Command { std: "docker" "start" "-a" "d1eb535bd4aaebeff3214caaefdbf8ad2cc5462c13d016fc82f1f7c103389606", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.150
[INFO] [stderr]    Compiling syn v2.0.39
[INFO] [stderr]    Compiling rustix v0.38.26
[INFO] [stderr]     Checking plotters-backend v0.3.5
[INFO] [stderr]     Checking linux-raw-sys v0.4.12
[INFO] [stderr]     Checking half v1.8.2
[INFO] [stderr]     Checking ciborium-io v0.2.1
[INFO] [stderr]     Checking clap_builder v4.4.9
[INFO] [stderr]     Checking regex-automata v0.4.3
[INFO] [stderr]     Checking cast v0.3.0
[INFO] [stderr]     Checking rayon v1.8.0
[INFO] [stderr]     Checking walkdir v2.4.0
[INFO] [stderr]     Checking anes v0.1.6
[INFO] [stderr]     Checking oorandom v11.1.3
[INFO] [stderr]     Checking criterion-plot v0.5.0
[INFO] [stderr]     Checking ciborium-ll v0.2.1
[INFO] [stderr]     Checking plotters-svg v0.3.5
[INFO] [stderr]     Checking plotters v0.3.5
[INFO] [stderr]     Checking getrandom v0.2.11
[INFO] [stderr]     Checking num_cpus v1.16.0
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]     Checking is-terminal v0.4.9
[INFO] [stderr]     Checking regex v1.10.2
[INFO] [stderr]     Checking clap v4.4.10
[INFO] [stderr]    Compiling serde_derive v1.0.193
[INFO] [stderr]     Checking serde v1.0.193
[INFO] [stderr]     Checking serde_json v1.0.108
[INFO] [stderr]     Checking ciborium v0.2.1
[INFO] [stderr]     Checking tinytemplate v1.2.1
[INFO] [stderr]     Checking criterion v0.5.1
[INFO] [stderr]     Checking algebra v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `std::fmt`
[INFO] [stdout]  --> src/m1.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::fmt;
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fmt`
[INFO] [stdout]  --> src/m1.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::fmt;
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]    --> src/m1complex.rs:217:27
[INFO] [stdout]     |
[INFO] [stdout] 217 |         let mut binding = (Mersenne31Complex::new(Mersenne31Field::TWO, Mersenne31Field::TWO));
[INFO] [stdout]     |                           ^                                                                  ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 217 -         let mut binding = (Mersenne31Complex::new(Mersenne31Field::TWO, Mersenne31Field::TWO));
[INFO] [stdout] 217 +         let mut binding = Mersenne31Complex::new(Mersenne31Field::TWO, Mersenne31Field::TWO);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the feature `inline_const` has been stable since 1.79.0 and no longer requires an attribute to enable
[INFO] [stdout]  --> src/lib.rs:2:12
[INFO] [stdout]   |
[INFO] [stdout] 2 | #![feature(inline_const)]
[INFO] [stdout]   |            ^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(stable_features)]` on by default
[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/lib.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 4 | #![feature(const_mut_refs)]
[INFO] [stdout]   |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the feature `const_swap` has been stable since 1.85.0 and no longer requires an attribute to enable
[INFO] [stdout]  --> src/lib.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | #![feature(const_swap)]
[INFO] [stdout]   |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` attribute cannot be used on required trait methods
[INFO] [stdout]   --> src/field.rs:64:5
[INFO] [stdout]    |
[INFO] [stdout] 64 |     #[inline(always)]
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]    = help: `#[inline]` can be applied to closures, functions, inherent methods, provided trait methods, and trait methods in impl blocks
[INFO] [stdout]    = note: `#[warn(unused_attributes)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the feature `inline_const` has been stable since 1.79.0 and no longer requires an attribute to enable
[INFO] [stdout]  --> src/lib.rs:2:12
[INFO] [stdout]   |
[INFO] [stdout] 2 | #![feature(inline_const)]
[INFO] [stdout]   |            ^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(stable_features)]` on by default
[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/lib.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 4 | #![feature(const_mut_refs)]
[INFO] [stdout]   |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the feature `const_swap` has been stable since 1.85.0 and no longer requires an attribute to enable
[INFO] [stdout]  --> src/lib.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | #![feature(const_swap)]
[INFO] [stdout]   |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` attribute cannot be used on required trait methods
[INFO] [stdout]   --> src/field.rs:64:5
[INFO] [stdout]    |
[INFO] [stdout] 64 |     #[inline(always)]
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]    = help: `#[inline]` can be applied to closures, functions, inherent methods, provided trait methods, and trait methods in impl blocks
[INFO] [stdout]    = note: `#[warn(unused_attributes)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `FieldExtension`
[INFO] [stdout]  --> src/m1complex.rs:4:28
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::{field::{Field, FieldExtension, TwoAdicField}, m1::Mersenne31Field};
[INFO] [stdout]   |                            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bits`
[INFO] [stdout]    --> src/m1.rs:251:27
[INFO] [stdout]     |
[INFO] [stdout] 251 |     fn two_adic_generator(bits: usize) -> Self {
[INFO] [stdout]     |                           ^^^^ help: if this is intentional, prefix it with an underscore: `_bits`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/m1complex.rs:26:13
[INFO] [stdout]    |
[INFO] [stdout] 26 |         let mut real_chunk_1 = tmp.mul_assign(&other.real_part);
[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/m1complex.rs:29:13
[INFO] [stdout]    |
[INFO] [stdout] 29 |         let mut real = real_chunk_1.sub_assign(&real_chank_2);
[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/m1complex.rs:34:13
[INFO] [stdout]    |
[INFO] [stdout] 34 |         let mut imag =  tmp.add_assign(&tmp2);
[INFO] [stdout]    |             ----^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]   --> src/m1complex.rs:89:27
[INFO] [stdout]    |
[INFO] [stdout] 89 |     fn from_u64_unchecked(value: u64) -> Self {
[INFO] [stdout]    |                           ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]   --> src/m1complex.rs:93:17
[INFO] [stdout]    |
[INFO] [stdout] 93 |     fn from_u64(value: u64) -> Option<Self> {
[INFO] [stdout]    |                 ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/fft/fft.rs:592:9
[INFO] [stdout]     |
[INFO] [stdout] 592 |     let mut omega = Mersenne31Complex::two_adic_generator(base_bits + resize)
[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/fft/tooling.rs:51:9
[INFO] [stdout]    |
[INFO] [stdout] 51 |     let mut omega = E::two_adic_generator(size.trailing_zeros() as usize);
[INFO] [stdout]    |         ----^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `mul_2exp_u64` and `exp_power_of_2` are never used
[INFO] [stdout]   --> src/m1.rs:40:8
[INFO] [stdout]    |
[INFO] [stdout] 18 | impl Mersenne31Field{
[INFO] [stdout]    | -------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 40 |     fn mul_2exp_u64(&self, exp: u64) -> Self {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 59 |     fn exp_power_of_2(&self, power_log: usize) -> Self {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `mul_naive` is never used
[INFO] [stdout]   --> src/m1complex.rs:24:8
[INFO] [stdout]    |
[INFO] [stdout] 12 | impl Mersenne31Complex {
[INFO] [stdout]    | ---------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 24 |     fn mul_naive(&'_ mut self, other: &Self) -> Self {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `naive_dft` is never used
[INFO] [stdout]    --> src/fft/fft.rs:284:4
[INFO] [stdout]     |
[INFO] [stdout] 284 | fn naive_dft(input: &mut [Mersenne31Complex]
[INFO] [stdout]     |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `FieldExtension`
[INFO] [stdout]  --> src/m1complex.rs:4:28
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::{field::{Field, FieldExtension, TwoAdicField}, m1::Mersenne31Field};
[INFO] [stdout]   |                            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bits`
[INFO] [stdout]    --> src/m1.rs:251:27
[INFO] [stdout]     |
[INFO] [stdout] 251 |     fn two_adic_generator(bits: usize) -> Self {
[INFO] [stdout]     |                           ^^^^ help: if this is intentional, prefix it with an underscore: `_bits`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `a`
[INFO] [stdout]    --> src/m1.rs:524:13
[INFO] [stdout]     |
[INFO] [stdout] 524 |         let a = num.exp_power_of_2(2);
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_a`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/m1complex.rs:26:13
[INFO] [stdout]    |
[INFO] [stdout] 26 |         let mut real_chunk_1 = tmp.mul_assign(&other.real_part);
[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/m1complex.rs:29:13
[INFO] [stdout]    |
[INFO] [stdout] 29 |         let mut real = real_chunk_1.sub_assign(&real_chank_2);
[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/m1complex.rs:34:13
[INFO] [stdout]    |
[INFO] [stdout] 34 |         let mut imag =  tmp.add_assign(&tmp2);
[INFO] [stdout]    |             ----^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]   --> src/m1complex.rs:89:27
[INFO] [stdout]    |
[INFO] [stdout] 89 |     fn from_u64_unchecked(value: u64) -> Self {
[INFO] [stdout]    |                           ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]   --> src/m1complex.rs:93:17
[INFO] [stdout]    |
[INFO] [stdout] 93 |     fn from_u64(value: u64) -> Option<Self> {
[INFO] [stdout]    |                 ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: taking a mutable reference to a `const` item
[INFO] [stdout]    --> src/m1complex.rs:221:37
[INFO] [stdout]     |
[INFO] [stdout] 221 |             Mersenne31Complex::new(*Mersenne31Field::TWO.negate(), Mersenne31Field::from_u64(18).unwrap())
[INFO] [stdout]     |                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: each usage of a `const` item creates a new temporary
[INFO] [stdout]     = note: the mutable reference will refer to this temporary, not the original `const` item
[INFO] [stdout] note: mutable reference created due to call to this method
[INFO] [stdout]    --> src/field.rs:45:5
[INFO] [stdout]     |
[INFO] [stdout]  45 |     fn negate(&'_ mut self) -> &'_ mut Self;
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `const` item defined here
[INFO] [stdout]    --> src/field.rs:19:5
[INFO] [stdout]     |
[INFO] [stdout]  19 |     const TWO: Self;
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#[warn(const_item_mutation)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/m1complex.rs:218:13
[INFO] [stdout]     |
[INFO] [stdout] 218 | ...   let mut result = binding.mul_assign(&Mersenne31Complex::new(Mersenne31Field::from_u64(4).unwrap(), Mersenne31Field::from_u64(...
[INFO] [stdout]     |           ----^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/fft/fft.rs:425:9
[INFO] [stdout]     |
[INFO] [stdout] 425 |     for i in 0..poly_size-1 {
[INFO] [stdout]     |         ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/fft/fft.rs:472:9
[INFO] [stdout]     |
[INFO] [stdout] 472 |     for i in 0..poly_size-1 {
[INFO] [stdout]     |         ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `extended`
[INFO] [stdout]    --> src/fft/fft.rs:482:9
[INFO] [stdout]     |
[INFO] [stdout] 482 |     let extended = lde_twisted_naive(&poly, resize, &worker);
[INFO] [stdout]     |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_extended`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/fft/fft.rs:555:9
[INFO] [stdout]     |
[INFO] [stdout] 555 |     for i in 0..poly_size-1 {
[INFO] [stdout]     |         ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/fft/fft.rs:592:9
[INFO] [stdout]     |
[INFO] [stdout] 592 |     let mut omega = Mersenne31Complex::two_adic_generator(base_bits + resize)
[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/fft/fft.rs:843:13
[INFO] [stdout]     |
[INFO] [stdout] 843 |         let mut a_copy = a.clone();
[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/fft/fft.rs:846:13
[INFO] [stdout]     |
[INFO] [stdout] 846 |         let mut fft_a = fft_with_tricks_for_mersenne(&mut a, &worker);
[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/fft/tooling.rs:51:9
[INFO] [stdout]    |
[INFO] [stdout] 51 |     let mut omega = E::two_adic_generator(size.trailing_zeros() as usize);
[INFO] [stdout]    |         ----^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `mul_2exp_u64` is never used
[INFO] [stdout]   --> src/m1.rs:40:8
[INFO] [stdout]    |
[INFO] [stdout] 18 | impl Mersenne31Field{
[INFO] [stdout]    | -------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 40 |     fn mul_2exp_u64(&self, exp: u64) -> Self {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `mul_naive` is never used
[INFO] [stdout]   --> src/m1complex.rs:24:8
[INFO] [stdout]    |
[INFO] [stdout] 12 | impl Mersenne31Complex {
[INFO] [stdout]    | ---------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 24 |     fn mul_naive(&'_ mut self, other: &Self) -> Self {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `naive_dft` is never used
[INFO] [stdout]    --> src/fft/fft.rs:284:4
[INFO] [stdout]     |
[INFO] [stdout] 284 | fn naive_dft(input: &mut [Mersenne31Complex]
[INFO] [stdout]     |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 16.72s
[INFO] running `Command { std: "docker" "inspect" "d1eb535bd4aaebeff3214caaefdbf8ad2cc5462c13d016fc82f1f7c103389606", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "d1eb535bd4aaebeff3214caaefdbf8ad2cc5462c13d016fc82f1f7c103389606", kill_on_drop: false }`
[INFO] [stdout] d1eb535bd4aaebeff3214caaefdbf8ad2cc5462c13d016fc82f1f7c103389606
