[INFO] cloning repository https://github.com/hpca-uji/uArchFHE
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/hpca-uji/uArchFHE" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fhpca-uji%2FuArchFHE", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fhpca-uji%2FuArchFHE'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 8ee13ee96a9ab5701a6fe66abdfe74ffefe9b38d
[INFO] checking hpca-uji/uArchFHE against try#012cd62c9add58ab3910e44c137d87db3ab70f61 for pr-155915
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fhpca-uji%2FuArchFHE" "/workspace/builds/worker-0-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc2/source'...
[INFO] [stderr] done.
[INFO] removed /workspace/builds/worker-0-tc2/source/.cargo/config.toml
[INFO] removed /workspace/builds/worker-0-tc2/source/rust-toolchain.toml
[INFO] started tweaking git repo https://github.com/hpca-uji/uArchFHE
[INFO] finished tweaking git repo https://github.com/hpca-uji/uArchFHE
[INFO] tweaked toml for git repo https://github.com/hpca-uji/uArchFHE written to /workspace/builds/worker-0-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/hpca-uji/uArchFHE 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/hpca-uji/uArchFHE 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] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+012cd62c9add58ab3910e44c137d87db3ab70f61" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] a8a0a33d323c704c34f34d3e76793f1bb83ab0ad5ffd532769c8916500a0bf23
[INFO] running `Command { std: "docker" "start" "-a" "a8a0a33d323c704c34f34d3e76793f1bb83ab0ad5ffd532769c8916500a0bf23", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "a8a0a33d323c704c34f34d3e76793f1bb83ab0ad5ffd532769c8916500a0bf23", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "a8a0a33d323c704c34f34d3e76793f1bb83ab0ad5ffd532769c8916500a0bf23", kill_on_drop: false }`
[INFO] [stdout] a8a0a33d323c704c34f34d3e76793f1bb83ab0ad5ffd532769c8916500a0bf23
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=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] 2159fa03c888067ad2ea6cbbc165fcb363d6eeb5ac82ca47ea8c5086cd05021d
[INFO] running `Command { std: "docker" "start" "-a" "2159fa03c888067ad2ea6cbbc165fcb363d6eeb5ac82ca47ea8c5086cd05021d", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.183
[INFO] [stderr]    Compiling autocfg v1.5.0
[INFO] [stderr]    Compiling proc-macro2 v1.0.106
[INFO] [stderr]    Compiling quote v1.0.45
[INFO] [stderr]    Compiling unicode-ident v1.0.24
[INFO] [stderr]    Compiling libm v0.2.11 (https://github.com/rust-lang/libm?tag=libm-v0.2.11#cdbf4238)
[INFO] [stderr]     Checking cfg-if v1.0.4
[INFO] [stderr]    Compiling zerocopy v0.8.42
[INFO] [stderr]    Compiling crossbeam-utils v0.8.21
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling rayon-core v1.13.0
[INFO] [stderr]     Checking either v1.15.0
[INFO] [stderr]    Compiling getrandom v0.3.4
[INFO] [stderr]    Compiling anyhow v1.0.102
[INFO] [stderr]     Checking log v0.4.29
[INFO] [stderr]    Compiling thiserror v2.0.18
[INFO] [stderr]     Checking memchr v2.8.0
[INFO] [stderr]     Checking rawpointer v0.2.1
[INFO] [stderr]     Checking regex-syntax v0.8.10
[INFO] [stderr]     Checking rand_core v0.10.0
[INFO] [stderr]     Checking utf8parse v0.2.2
[INFO] [stderr]     Checking colorchoice v1.0.5
[INFO] [stderr]     Checking anstyle-query v1.1.5
[INFO] [stderr]     Checking is_terminal_polyfill v1.70.2
[INFO] [stderr]     Checking anstyle v1.0.14
[INFO] [stderr]     Checking jiff v0.2.23
[INFO] [stderr]     Checking anstyle-parse v0.2.7
[INFO] [stderr]    Compiling num-traits v0.2.19 (https://github.com/rust-num/num-traits?tag=num-traits-0.2.19#7ec3d41d)
[INFO] [stderr]    Compiling matrixmultiply v0.3.10
[INFO] [stderr]     Checking rand v0.10.1
[INFO] [stderr]     Checking anstream v0.6.21
[INFO] [stderr]     Checking aho-corasick v1.1.4
[INFO] [stderr]     Checking crossbeam-epoch v0.9.18
[INFO] [stderr]     Checking crossbeam-deque v0.8.6
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]     Checking regex-automata v0.4.14
[INFO] [stderr]     Checking getrandom v0.2.17
[INFO] [stderr]     Checking lapack-sys v0.14.0
[INFO] [stderr]     Checking cblas-sys v0.1.4
[INFO] [stderr]     Checking num-integer v0.1.46
[INFO] [stderr]     Checking approx v0.5.1
[INFO] [stderr]     Checking rand_distr v0.6.0
[INFO] [stderr]     Checking rand_core v0.9.5
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]     Checking rayon v1.11.0
[INFO] [stderr]     Checking num-bigint v0.4.6
[INFO] [stderr]     Checking num-iter v0.1.45
[INFO] [stderr]     Checking num-rational v0.4.2
[INFO] [stderr]     Checking regex v1.12.3
[INFO] [stderr]     Checking env_filter v1.0.0
[INFO] [stderr]     Checking env_logger v0.11.9
[INFO] [stderr]     Checking ppv-lite86 v0.2.21
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking rand_chacha v0.9.0
[INFO] [stderr]     Checking rand v0.9.2
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]     Checking num-complex v0.4.6
[INFO] [stderr]    Compiling bytemuck_derive v1.10.2
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]    Compiling katexit v0.1.5
[INFO] [stderr]     Checking cauchy v0.4.0
[INFO] [stderr]     Checking num v0.4.3
[INFO] [stderr]     Checking ndarray v0.16.1
[INFO] [stderr]     Checking common v0.1.0 (/opt/rustwide/workdir/crates/common)
[INFO] [stdout] warning: unused import: `num_traits::ToPrimitive`
[INFO] [stdout]  --> crates/common/src/util/primitive_mapper.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use num_traits::ToPrimitive;
[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]   --> crates/common/src/math/modular.rs:34:12
[INFO] [stdout]    |
[INFO] [stdout] 34 |     base = (base % q);
[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] 34 -     base = (base % q);
[INFO] [stdout] 34 +     base = base % q;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `One` and `Zero`
[INFO] [stdout]  --> crates/common/src/math/barret.rs:1:18
[INFO] [stdout]   |
[INFO] [stdout] 1 | use num_traits::{One, Zero};
[INFO] [stdout]   |                  ^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `One` and `ToPrimitive`
[INFO] [stdout]  --> crates/common/src/math/primes.rs:2:18
[INFO] [stdout]   |
[INFO] [stdout] 2 | use num_traits::{One, ToPrimitive};
[INFO] [stdout]   |                  ^^^  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `num_bigint::BigUint`
[INFO] [stdout]  --> crates/common/src/math/big_int_mod.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use num_bigint::BigUint;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `num::complex::Complex64`
[INFO] [stdout]  --> crates/common/src/math/shift.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use num::complex::Complex64;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::math::modular::gcd`
[INFO] [stdout]  --> crates/common/src/math/shift.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::math::modular::gcd;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `rand::thread_rng`: Renamed to `rng`
[INFO] [stdout]    --> crates/common/src/math/primes.rs:104:25
[INFO] [stdout]     |
[INFO] [stdout] 104 |     let mut rng = rand::thread_rng();
[INFO] [stdout]     |                         ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `num_traits::ToPrimitive`
[INFO] [stdout]  --> crates/common/src/util/primitive_mapper.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use num_traits::ToPrimitive;
[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]   --> crates/common/src/math/modular.rs:34:12
[INFO] [stdout]    |
[INFO] [stdout] 34 |     base = (base % q);
[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] 34 -     base = (base % q);
[INFO] [stdout] 34 +     base = base % q;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `One` and `Zero`
[INFO] [stdout]  --> crates/common/src/math/barret.rs:1:18
[INFO] [stdout]   |
[INFO] [stdout] 1 | use num_traits::{One, Zero};
[INFO] [stdout]   |                  ^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `One` and `ToPrimitive`
[INFO] [stdout]  --> crates/common/src/math/primes.rs:2:18
[INFO] [stdout]   |
[INFO] [stdout] 2 | use num_traits::{One, ToPrimitive};
[INFO] [stdout]   |                  ^^^  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `num_bigint::BigUint`
[INFO] [stdout]  --> crates/common/src/math/big_int_mod.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use num_bigint::BigUint;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `num::complex::Complex64`
[INFO] [stdout]  --> crates/common/src/math/shift.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use num::complex::Complex64;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::math::modular::gcd`
[INFO] [stdout]  --> crates/common/src/math/shift.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::math::modular::gcd;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `rand::thread_rng`: Renamed to `rng`
[INFO] [stdout]    --> crates/common/src/math/primes.rs:104:25
[INFO] [stdout]     |
[INFO] [stdout] 104 |     let mut rng = rand::thread_rng();
[INFO] [stdout]     |                         ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `pow` is never read
[INFO] [stdout]    --> crates/common/src/math/primes.rs:161:23
[INFO] [stdout]     |
[INFO] [stdout] 161 |         let mut pow = 1;
[INFO] [stdout]     |                       ^ this value is reassigned later and never used
[INFO] [stdout] 162 |         for k in 1..p-1 {
[INFO] [stdout] 163 |             pow = mod_pow(r, k, &p);
[INFO] [stdout]     |             ----------------------- `pow` is overwritten here before the previous value is read
[INFO] [stdout]     |
[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]   --> crates/common/src/math/shift.rs:59:17
[INFO] [stdout]    |
[INFO] [stdout] 59 |             let mut tmp = res[i];
[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]   --> crates/common/src/math/shift.rs:59:17
[INFO] [stdout]    |
[INFO] [stdout] 59 |             let mut tmp = res[i];
[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] [stderr]     Checking lax v0.17.0
[INFO] [stderr]     Checking bytemuck v1.25.0
[INFO] [stderr]     Checking shared v0.1.0 (/opt/rustwide/workdir/crates/ntt/shared)
[INFO] [stderr]     Checking kernel v0.1.0 (/opt/rustwide/workdir/crates/ntt/kernel)
[INFO] [stdout] warning: declaration of an `unsafe` function
[INFO] [stdout]   --> crates/ntt/kernel/src/simd/avx/avx.rs:5:1
[INFO] [stdout]    |
[INFO] [stdout]  5 | / pub unsafe fn ntt_butterfly_avx512(u: &mut [u64], v: &mut [u64], w: u64, q: u64, q_inv: u64) {
[INFO] [stdout]  6 | |     let len = u.len();
[INFO] [stdout]  7 | |     let mut chunks = len / 8;
[INFO] [stdout]  8 | |     let mut u_ptr = u.as_mut_ptr();
[INFO] [stdout] ...  |
[INFO] [stdout] 93 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: requested on the command line with `-W unsafe-code`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: declaration of an `unsafe` function
[INFO] [stdout]    --> crates/ntt/kernel/src/simd/avx/avx.rs:97:1
[INFO] [stdout]     |
[INFO] [stdout]  97 | / pub unsafe fn intt_butterfly_avx512(u: &mut [u64], v: &mut [u64], w: u64, q: u64, qd: u64, q_inv: u64) {
[INFO] [stdout]  98 | |     let len = u.len();
[INFO] [stdout]  99 | |     let mut chunks = len / 8;
[INFO] [stdout] ...   |
[INFO] [stdout] 199 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: declaration of an `unsafe` function
[INFO] [stdout]    --> crates/ntt/kernel/src/simd/avx/avx.rs:257:1
[INFO] [stdout]     |
[INFO] [stdout] 257 | / pub unsafe fn ntt_butterfly_avx2(u: &mut [u64], v: &mut [u64], w: u64, q: u64, q_inv: u64) {
[INFO] [stdout] 258 | |     use core::arch::x86_64::*;
[INFO] [stdout] 259 | |
[INFO] [stdout] 260 | |     let len = u.len();
[INFO] [stdout] ...   |
[INFO] [stdout] 310 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: declaration of an `unsafe` function
[INFO] [stdout]    --> crates/ntt/kernel/src/simd/avx/avx.rs:315:1
[INFO] [stdout]     |
[INFO] [stdout] 315 | / pub unsafe fn intt_butterfly_avx2(u: &mut [u64], v: &mut [u64], w: u64, q: u64, qd: u64, q_inv: u64) {
[INFO] [stdout] 316 | |     use core::arch::x86_64::*;
[INFO] [stdout] 317 | |
[INFO] [stdout] 318 | |     let len = u.len();
[INFO] [stdout] ...   |
[INFO] [stdout] 378 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: declaration of an `unsafe` function
[INFO] [stdout]    --> crates/ntt/kernel/src/simd/avx/avx.rs:383:1
[INFO] [stdout]     |
[INFO] [stdout] 383 | / pub unsafe fn mul_const_and_reduce_avx512(a: &mut [u64],
[INFO] [stdout] 384 | |                                           constant: u64, q: u64,
[INFO] [stdout] 385 | |                                           qr: u64, twok: u64) {
[INFO] [stdout] 386 | |     let mut a_ptr = a.as_mut_ptr();
[INFO] [stdout] ...   |
[INFO] [stdout] 465 | |     );
[INFO] [stdout] 466 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: declaration of an `unsafe` function
[INFO] [stdout]    --> crates/ntt/kernel/src/simd/avx/avx.rs:471:1
[INFO] [stdout]     |
[INFO] [stdout] 471 | / pub unsafe fn mul_const_and_reduce_avx2(a: &mut [u64], constant: u64, q: u64, qr: u64, twok: u64) {
[INFO] [stdout] 472 | |     use core::arch::x86_64::*;
[INFO] [stdout] 473 | |
[INFO] [stdout] 474 | |     let len = a.len();
[INFO] [stdout] ...   |
[INFO] [stdout] 570 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::math::math::mod_mul_barrett`
[INFO] [stdout]  --> crates/ntt/kernel/src/simd/neon/neon.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::math::math::mod_mul_barrett;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of an `unsafe` block
[INFO] [stdout]   --> crates/ntt/kernel/src/simd/simd_operations.rs:67:36
[INFO] [stdout]    |
[INFO] [stdout] 67 |               SimdBackend::Avx512 => unsafe {
[INFO] [stdout]    |  ____________________________________^
[INFO] [stdout] 68 | |                 for (u_c, v_c) in u.chunks_mut(L1_BLOCK_SIZE).zip(v.chunks_mut(L1_BLOCK_SIZE)) {
[INFO] [stdout] 69 | |                     ntt_butterfly_avx512(u_c, v_c, w, q, q_inv);
[INFO] [stdout] ...  |
[INFO] [stdout] 72 | |             },
[INFO] [stdout]    | |_____________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of an `unsafe` block
[INFO] [stdout]   --> crates/ntt/kernel/src/simd/simd_operations.rs:74:34
[INFO] [stdout]    |
[INFO] [stdout] 74 |               SimdBackend::Avx2 => unsafe {
[INFO] [stdout]    |  __________________________________^
[INFO] [stdout] 75 | |                 for (u_c, v_c) in u.chunks_mut(L1_BLOCK_SIZE).zip(v.chunks_mut(L1_BLOCK_SIZE)) {
[INFO] [stdout] 76 | |                     ntt_butterfly_avx2(u_c, v_c, w, q, q_inv);
[INFO] [stdout] ...  |
[INFO] [stdout] 79 | |             },
[INFO] [stdout]    | |_____________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of an `unsafe` block
[INFO] [stdout]    --> crates/ntt/kernel/src/simd/simd_operations.rs:115:36
[INFO] [stdout]     |
[INFO] [stdout] 115 |               SimdBackend::Avx512 => unsafe {
[INFO] [stdout]     |  ____________________________________^
[INFO] [stdout] 116 | |                 for (u_c, v_c) in u.chunks_mut(L1_BLOCK_SIZE).zip(v.chunks_mut(L1_BLOCK_SIZE)) {
[INFO] [stdout] 117 | |                     intt_butterfly_avx512(u_c, v_c, w, q, qd, q_inv);
[INFO] [stdout] ...   |
[INFO] [stdout] 120 | |             },
[INFO] [stdout]     | |_____________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of an `unsafe` block
[INFO] [stdout]    --> crates/ntt/kernel/src/simd/simd_operations.rs:122:34
[INFO] [stdout]     |
[INFO] [stdout] 122 |               SimdBackend::Avx2 => unsafe {
[INFO] [stdout]     |  __________________________________^
[INFO] [stdout] 123 | |                 for (u_c, v_c) in u.chunks_mut(L1_BLOCK_SIZE).zip(v.chunks_mut(L1_BLOCK_SIZE)) {
[INFO] [stdout] 124 | |                     intt_butterfly_avx2(u_c, v_c, w, q, qd, q_inv);
[INFO] [stdout] ...   |
[INFO] [stdout] 127 | |             },
[INFO] [stdout]     | |_____________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of an `unsafe` block
[INFO] [stdout]    --> crates/ntt/kernel/src/simd/simd_operations.rs:163:36
[INFO] [stdout]     |
[INFO] [stdout] 163 |               SimdBackend::Avx512 => unsafe {
[INFO] [stdout]     |  ____________________________________^
[INFO] [stdout] 164 | |                 mul_const_and_reduce_avx512(a, constant, q, qr, twok);
[INFO] [stdout] 165 | |                 core::arch::x86_64::_mm256_zeroupper();
[INFO] [stdout] 166 | |             },
[INFO] [stdout]     | |_____________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of an `unsafe` block
[INFO] [stdout]    --> crates/ntt/kernel/src/simd/simd_operations.rs:168:34
[INFO] [stdout]     |
[INFO] [stdout] 168 |               SimdBackend::Avx2 => unsafe {
[INFO] [stdout]     |  __________________________________^
[INFO] [stdout] 169 | |                 mul_const_and_reduce_avx2(a, constant, q, qr, twok);
[INFO] [stdout] 170 | |                 core::arch::x86_64::_mm256_zeroupper();
[INFO] [stdout] 171 | |             },
[INFO] [stdout]     | |_____________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `core::arch::asm`
[INFO] [stdout]  --> crates/ntt/kernel/src/simd/sve2/sve2.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use core::arch::asm;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[target_feature]` attribute cannot be used on macro defs
[INFO] [stdout]    --> crates/ntt/kernel/src/simd/avx/avx.rs:202:1
[INFO] [stdout]     |
[INFO] [stdout] 202 | #[target_feature(enable = "avx2", enable = "fma")]
[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: `#[target_feature]` can only be applied to functions
[INFO] [stdout]     = note: `#[warn(unused_attributes)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[target_feature]` attribute cannot be used on macro defs
[INFO] [stdout]    --> crates/ntt/kernel/src/simd/avx/avx.rs:215:1
[INFO] [stdout]     |
[INFO] [stdout] 215 | #[target_feature(enable = "avx2", enable = "fma")]
[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: `#[target_feature]` can only be applied to functions
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[target_feature]` attribute cannot be used on macro defs
[INFO] [stdout]    --> crates/ntt/kernel/src/simd/avx/avx.rs:232:1
[INFO] [stdout]     |
[INFO] [stdout] 232 | #[target_feature(enable = "avx2", enable = "fma")]
[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: `#[target_feature]` can only be applied to functions
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[target_feature]` attribute cannot be used on macro defs
[INFO] [stdout]    --> crates/ntt/kernel/src/simd/avx/avx.rs:244:1
[INFO] [stdout]     |
[INFO] [stdout] 244 | #[target_feature(enable = "avx2", enable = "fma")]
[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: `#[target_feature]` can only be applied to functions
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: declaration of an `unsafe` function
[INFO] [stdout]   --> crates/ntt/kernel/src/simd/avx/avx.rs:5:1
[INFO] [stdout]    |
[INFO] [stdout]  5 | / pub unsafe fn ntt_butterfly_avx512(u: &mut [u64], v: &mut [u64], w: u64, q: u64, q_inv: u64) {
[INFO] [stdout]  6 | |     let len = u.len();
[INFO] [stdout]  7 | |     let mut chunks = len / 8;
[INFO] [stdout]  8 | |     let mut u_ptr = u.as_mut_ptr();
[INFO] [stdout] ...  |
[INFO] [stdout] 93 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: requested on the command line with `-W unsafe-code`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: declaration of an `unsafe` function
[INFO] [stdout]    --> crates/ntt/kernel/src/simd/avx/avx.rs:97:1
[INFO] [stdout]     |
[INFO] [stdout]  97 | / pub unsafe fn intt_butterfly_avx512(u: &mut [u64], v: &mut [u64], w: u64, q: u64, qd: u64, q_inv: u64) {
[INFO] [stdout]  98 | |     let len = u.len();
[INFO] [stdout]  99 | |     let mut chunks = len / 8;
[INFO] [stdout] ...   |
[INFO] [stdout] 199 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: declaration of an `unsafe` function
[INFO] [stdout]    --> crates/ntt/kernel/src/simd/avx/avx.rs:257:1
[INFO] [stdout]     |
[INFO] [stdout] 257 | / pub unsafe fn ntt_butterfly_avx2(u: &mut [u64], v: &mut [u64], w: u64, q: u64, q_inv: u64) {
[INFO] [stdout] 258 | |     use core::arch::x86_64::*;
[INFO] [stdout] 259 | |
[INFO] [stdout] 260 | |     let len = u.len();
[INFO] [stdout] ...   |
[INFO] [stdout] 310 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: declaration of an `unsafe` function
[INFO] [stdout]    --> crates/ntt/kernel/src/simd/avx/avx.rs:315:1
[INFO] [stdout]     |
[INFO] [stdout] 315 | / pub unsafe fn intt_butterfly_avx2(u: &mut [u64], v: &mut [u64], w: u64, q: u64, qd: u64, q_inv: u64) {
[INFO] [stdout] 316 | |     use core::arch::x86_64::*;
[INFO] [stdout] 317 | |
[INFO] [stdout] 318 | |     let len = u.len();
[INFO] [stdout] ...   |
[INFO] [stdout] 378 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: declaration of an `unsafe` function
[INFO] [stdout]    --> crates/ntt/kernel/src/simd/avx/avx.rs:383:1
[INFO] [stdout]     |
[INFO] [stdout] 383 | / pub unsafe fn mul_const_and_reduce_avx512(a: &mut [u64],
[INFO] [stdout] 384 | |                                           constant: u64, q: u64,
[INFO] [stdout] 385 | |                                           qr: u64, twok: u64) {
[INFO] [stdout] 386 | |     let mut a_ptr = a.as_mut_ptr();
[INFO] [stdout] ...   |
[INFO] [stdout] 465 | |     );
[INFO] [stdout] 466 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: declaration of an `unsafe` function
[INFO] [stdout]    --> crates/ntt/kernel/src/simd/avx/avx.rs:471:1
[INFO] [stdout]     |
[INFO] [stdout] 471 | / pub unsafe fn mul_const_and_reduce_avx2(a: &mut [u64], constant: u64, q: u64, qr: u64, twok: u64) {
[INFO] [stdout] 472 | |     use core::arch::x86_64::*;
[INFO] [stdout] 473 | |
[INFO] [stdout] 474 | |     let len = a.len();
[INFO] [stdout] ...   |
[INFO] [stdout] 570 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::math::math::mod_mul_barrett`
[INFO] [stdout]  --> crates/ntt/kernel/src/simd/neon/neon.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::math::math::mod_mul_barrett;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of an `unsafe` block
[INFO] [stdout]   --> crates/ntt/kernel/src/simd/simd_operations.rs:67:36
[INFO] [stdout]    |
[INFO] [stdout] 67 |               SimdBackend::Avx512 => unsafe {
[INFO] [stdout]    |  ____________________________________^
[INFO] [stdout] 68 | |                 for (u_c, v_c) in u.chunks_mut(L1_BLOCK_SIZE).zip(v.chunks_mut(L1_BLOCK_SIZE)) {
[INFO] [stdout] 69 | |                     ntt_butterfly_avx512(u_c, v_c, w, q, q_inv);
[INFO] [stdout] ...  |
[INFO] [stdout] 72 | |             },
[INFO] [stdout]    | |_____________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of an `unsafe` block
[INFO] [stdout]   --> crates/ntt/kernel/src/simd/simd_operations.rs:74:34
[INFO] [stdout]    |
[INFO] [stdout] 74 |               SimdBackend::Avx2 => unsafe {
[INFO] [stdout]    |  __________________________________^
[INFO] [stdout] 75 | |                 for (u_c, v_c) in u.chunks_mut(L1_BLOCK_SIZE).zip(v.chunks_mut(L1_BLOCK_SIZE)) {
[INFO] [stdout] 76 | |                     ntt_butterfly_avx2(u_c, v_c, w, q, q_inv);
[INFO] [stdout] ...  |
[INFO] [stdout] 79 | |             },
[INFO] [stdout]    | |_____________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of an `unsafe` block
[INFO] [stdout]    --> crates/ntt/kernel/src/simd/simd_operations.rs:115:36
[INFO] [stdout]     |
[INFO] [stdout] 115 |               SimdBackend::Avx512 => unsafe {
[INFO] [stdout]     |  ____________________________________^
[INFO] [stdout] 116 | |                 for (u_c, v_c) in u.chunks_mut(L1_BLOCK_SIZE).zip(v.chunks_mut(L1_BLOCK_SIZE)) {
[INFO] [stdout] 117 | |                     intt_butterfly_avx512(u_c, v_c, w, q, qd, q_inv);
[INFO] [stdout] ...   |
[INFO] [stdout] 120 | |             },
[INFO] [stdout]     | |_____________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of an `unsafe` block
[INFO] [stdout]    --> crates/ntt/kernel/src/simd/simd_operations.rs:122:34
[INFO] [stdout]     |
[INFO] [stdout] 122 |               SimdBackend::Avx2 => unsafe {
[INFO] [stdout]     |  __________________________________^
[INFO] [stdout] 123 | |                 for (u_c, v_c) in u.chunks_mut(L1_BLOCK_SIZE).zip(v.chunks_mut(L1_BLOCK_SIZE)) {
[INFO] [stdout] 124 | |                     intt_butterfly_avx2(u_c, v_c, w, q, qd, q_inv);
[INFO] [stdout] ...   |
[INFO] [stdout] 127 | |             },
[INFO] [stdout]     | |_____________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of an `unsafe` block
[INFO] [stdout]    --> crates/ntt/kernel/src/simd/simd_operations.rs:163:36
[INFO] [stdout]     |
[INFO] [stdout] 163 |               SimdBackend::Avx512 => unsafe {
[INFO] [stdout]     |  ____________________________________^
[INFO] [stdout] 164 | |                 mul_const_and_reduce_avx512(a, constant, q, qr, twok);
[INFO] [stdout] 165 | |                 core::arch::x86_64::_mm256_zeroupper();
[INFO] [stdout] 166 | |             },
[INFO] [stdout]     | |_____________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of an `unsafe` block
[INFO] [stdout]    --> crates/ntt/kernel/src/simd/simd_operations.rs:168:34
[INFO] [stdout]     |
[INFO] [stdout] 168 |               SimdBackend::Avx2 => unsafe {
[INFO] [stdout]     |  __________________________________^
[INFO] [stdout] 169 | |                 mul_const_and_reduce_avx2(a, constant, q, qr, twok);
[INFO] [stdout] 170 | |                 core::arch::x86_64::_mm256_zeroupper();
[INFO] [stdout] 171 | |             },
[INFO] [stdout]     | |_____________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `core::arch::asm`
[INFO] [stdout]  --> crates/ntt/kernel/src/simd/sve2/sve2.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use core::arch::asm;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[target_feature]` attribute cannot be used on macro defs
[INFO] [stdout]    --> crates/ntt/kernel/src/simd/avx/avx.rs:202:1
[INFO] [stdout]     |
[INFO] [stdout] 202 | #[target_feature(enable = "avx2", enable = "fma")]
[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: `#[target_feature]` can only be applied to functions
[INFO] [stdout]     = note: `#[warn(unused_attributes)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[target_feature]` attribute cannot be used on macro defs
[INFO] [stdout]    --> crates/ntt/kernel/src/simd/avx/avx.rs:215:1
[INFO] [stdout]     |
[INFO] [stdout] 215 | #[target_feature(enable = "avx2", enable = "fma")]
[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: `#[target_feature]` can only be applied to functions
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[target_feature]` attribute cannot be used on macro defs
[INFO] [stdout]    --> crates/ntt/kernel/src/simd/avx/avx.rs:232:1
[INFO] [stdout]     |
[INFO] [stdout] 232 | #[target_feature(enable = "avx2", enable = "fma")]
[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: `#[target_feature]` can only be applied to functions
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[target_feature]` attribute cannot be used on macro defs
[INFO] [stdout]    --> crates/ntt/kernel/src/simd/avx/avx.rs:244:1
[INFO] [stdout]     |
[INFO] [stdout] 244 | #[target_feature(enable = "avx2", enable = "fma")]
[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: `#[target_feature]` can only be applied to functions
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]  --> crates/ntt/kernel/src/simd/avx/avx.rs:7:9
[INFO] [stdout]   |
[INFO] [stdout] 7 |     let mut chunks = len / 8;
[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]  --> crates/ntt/kernel/src/simd/avx/avx.rs:8:9
[INFO] [stdout]   |
[INFO] [stdout] 8 |     let mut u_ptr = u.as_mut_ptr();
[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]  --> crates/ntt/kernel/src/simd/avx/avx.rs:9:9
[INFO] [stdout]   |
[INFO] [stdout] 9 |     let mut v_ptr = v.as_mut_ptr();
[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]   --> crates/ntt/kernel/src/simd/avx/avx.rs:99:9
[INFO] [stdout]    |
[INFO] [stdout] 99 |     let mut chunks = len / 8;
[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]    --> crates/ntt/kernel/src/simd/avx/avx.rs:101:9
[INFO] [stdout]     |
[INFO] [stdout] 101 |     let mut u_ptr = u.as_mut_ptr();
[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]    --> crates/ntt/kernel/src/simd/avx/avx.rs:102:9
[INFO] [stdout]     |
[INFO] [stdout] 102 |     let mut v_ptr = v.as_mut_ptr();
[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]    --> crates/ntt/kernel/src/simd/avx/avx.rs:386:9
[INFO] [stdout]     |
[INFO] [stdout] 386 |     let mut a_ptr = a.as_mut_ptr();
[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]    --> crates/ntt/kernel/src/simd/avx/avx.rs:387:9
[INFO] [stdout]     |
[INFO] [stdout] 387 |     let mut chunks = a.len() / 8;
[INFO] [stdout]     |         ----^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: feature `riscv_target_feature` is declared but not used
[INFO] [stdout]  --> crates/ntt/kernel/src/lib.rs:1:12
[INFO] [stdout]   |
[INFO] [stdout] 1 | #![feature(riscv_target_feature)]
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_features)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking ntt v0.1.0 (/opt/rustwide/workdir/crates/ntt)
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]  --> crates/ntt/kernel/src/simd/avx/avx.rs:7:9
[INFO] [stdout]   |
[INFO] [stdout] 7 |     let mut chunks = len / 8;
[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]  --> crates/ntt/kernel/src/simd/avx/avx.rs:8:9
[INFO] [stdout]   |
[INFO] [stdout] 8 |     let mut u_ptr = u.as_mut_ptr();
[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]  --> crates/ntt/kernel/src/simd/avx/avx.rs:9:9
[INFO] [stdout]   |
[INFO] [stdout] 9 |     let mut v_ptr = v.as_mut_ptr();
[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]   --> crates/ntt/kernel/src/simd/avx/avx.rs:99:9
[INFO] [stdout]    |
[INFO] [stdout] 99 |     let mut chunks = len / 8;
[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]    --> crates/ntt/kernel/src/simd/avx/avx.rs:101:9
[INFO] [stdout]     |
[INFO] [stdout] 101 |     let mut u_ptr = u.as_mut_ptr();
[INFO] [stdout]     |         ----^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ntt_butterfly_step`
[INFO] [stdout]  --> crates/ntt/src/runners/cpu.rs:2:97
[INFO] [stdout]   |
[INFO] [stdout] 2 | use kernel::math::math::{mod_barrett, mod_barrett_64, mod_mul_barrett, mod_sub, montgomery_mul, ntt_butterfly_step};
[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: `shared::params::Params`
[INFO] [stdout]  --> crates/ntt/src/runners/cpu.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use shared::params::Params;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> crates/ntt/kernel/src/simd/avx/avx.rs:102:9
[INFO] [stdout]     |
[INFO] [stdout] 102 |     let mut v_ptr = v.as_mut_ptr();
[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]    --> crates/ntt/kernel/src/simd/avx/avx.rs:386:9
[INFO] [stdout]     |
[INFO] [stdout] 386 |     let mut a_ptr = a.as_mut_ptr();
[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]    --> crates/ntt/kernel/src/simd/avx/avx.rs:387:9
[INFO] [stdout]     |
[INFO] [stdout] 387 |     let mut chunks = a.len() / 8;
[INFO] [stdout]     |         ----^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `fast_reduce` is never used
[INFO] [stdout]   --> crates/ntt/src/runners/cpu.rs:14:8
[INFO] [stdout]    |
[INFO] [stdout] 13 | impl NttCpu {
[INFO] [stdout]    | ----------- method in this implementation
[INFO] [stdout] 14 |     fn fast_reduce(&self, val: u128, idx: usize, is_p: bool) -> 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: feature `riscv_target_feature` is declared but not used
[INFO] [stdout]  --> crates/ntt/kernel/src/lib.rs:1:12
[INFO] [stdout]   |
[INFO] [stdout] 1 | #![feature(riscv_target_feature)]
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_features)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ntt_butterfly_step`
[INFO] [stdout]  --> crates/ntt/src/runners/cpu.rs:2:97
[INFO] [stdout]   |
[INFO] [stdout] 2 | use kernel::math::math::{mod_barrett, mod_barrett_64, mod_mul_barrett, mod_sub, montgomery_mul, ntt_butterfly_step};
[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: `shared::params::Params`
[INFO] [stdout]  --> crates/ntt/src/runners/cpu.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use shared::params::Params;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `fast_reduce` is never used
[INFO] [stdout]   --> crates/ntt/src/runners/cpu.rs:14:8
[INFO] [stdout]    |
[INFO] [stdout] 13 | impl NttCpu {
[INFO] [stdout]    | ----------- method in this implementation
[INFO] [stdout] 14 |     fn fast_reduce(&self, val: u128, idx: usize, is_p: bool) -> u64 {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking ndarray-linalg v0.17.0
[INFO] [stderr]     Checking fhe v0.1.0 (/opt/rustwide/workdir/crates/fhe)
[INFO] [stdout] warning: unexpected `cfg` condition value: `cuda`
[INFO] [stdout]   --> crates/fhe/src/context.rs:19:11
[INFO] [stdout]    |
[INFO] [stdout] 19 | #[cfg(not(feature = "cuda"))]
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected values for `feature` are: `default`
[INFO] [stdout]    = help: consider adding `cuda` as a feature in `Cargo.toml`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Normal`
[INFO] [stdout]  --> crates/fhe/src/context.rs:1:18
[INFO] [stdout]   |
[INFO] [stdout] 1 | use rand_distr::{Normal};
[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::process::exit`
[INFO] [stdout]  --> crates/fhe/src/context.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::process::exit;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `One`, `WrappingMul`, and `Zero`
[INFO] [stdout]   --> crates/fhe/src/context.rs:10:18
[INFO] [stdout]    |
[INFO] [stdout] 10 | use num_traits::{One, ToPrimitive, WrappingAdd, WrappingMul, Zero};
[INFO] [stdout]    |                  ^^^                            ^^^^^^^^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `mod_barrett_64`
[INFO] [stdout]   --> crates/fhe/src/context.rs:13:41
[INFO] [stdout]    |
[INFO] [stdout] 13 | use common::math::barret::{mod_barrett, mod_barrett_64, mod_mul_barrett};
[INFO] [stdout]    |                                         ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `cuda`
[INFO] [stdout]    --> crates/fhe/src/context.rs:546:19
[INFO] [stdout]     |
[INFO] [stdout] 546 |         #[cfg(not(feature = "cuda"))]
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected values for `feature` are: `default`
[INFO] [stdout]     = help: consider adding `cuda` as a feature in `Cargo.toml`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]    --> crates/fhe/src/context.rs:262:75
[INFO] [stdout]     |
[INFO] [stdout] 262 |         let mut p_root_pows: Vec<Vec<u64>> = vec![vec![0; n as usize]; k];;
[INFO] [stdout]     |                                                                           ^ help: remove this semicolon
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(redundant_semicolons)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]    --> crates/fhe/src/context.rs:263:79
[INFO] [stdout]     |
[INFO] [stdout] 263 |         let mut p_root_pows_inv: Vec<Vec<u64>> = vec![vec![0; n as usize]; k];;
[INFO] [stdout]     |                                                                               ^ help: remove this semicolon
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]    --> crates/fhe/src/context.rs:264:81
[INFO] [stdout]     |
[INFO] [stdout] 264 |         let mut p_root_scale_pows: Vec<Vec<u64>> = vec![vec![0; n as usize]; k];;
[INFO] [stdout]     |                                                                                 ^ help: remove this semicolon
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]    --> crates/fhe/src/context.rs:453:109
[INFO] [stdout]     |
[INFO] [stdout] 453 | ...   pc_coeff[j + (i << log_n)] = mod_mul_barrett((94.2372881 * (p as i64 >> 20) as f64) as u64, (1u64 << 20), q_vec[i], qr_vec[i]...
[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] 453 -                 pc_coeff[j + (i << log_n)] = mod_mul_barrett((94.2372881 * (p as i64 >> 20) as f64) as u64, (1u64 << 20), q_vec[i], qr_vec[i], q_twok[i]);
[INFO] [stdout] 453 +                 pc_coeff[j + (i << log_n)] = mod_mul_barrett((94.2372881 * (p as i64 >> 20) as f64) as u64, 1u64 << 20 , q_vec[i], qr_vec[i], q_twok[i]);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of an `unsafe` block
[INFO] [stdout]     --> crates/fhe/src/context.rs:1966:13
[INFO] [stdout]      |
[INFO] [stdout] 1966 | /             unsafe {
[INFO] [stdout] 1967 | |                 std::ptr::swap(&mut vals[i], &mut vals[j]);
[INFO] [stdout] 1968 | |             }
[INFO] [stdout]      | |_____________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: requested on the command line with `-W unsafe-code`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cell::RefCell`
[INFO] [stdout]  --> crates/fhe/src/keygen.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::cell::RefCell;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::hash_map::Keys`
[INFO] [stdout]  --> crates/fhe/src/keygen.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::collections::hash_map::Keys;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::process::exit`
[INFO] [stdout]  --> crates/fhe/src/keygen.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::process::exit;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::rc::Rc`
[INFO] [stdout]  --> crates/fhe/src/keygen.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::rc::Rc;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Rng` and `rng`
[INFO] [stdout]  --> crates/fhe/src/keygen.rs:8:12
[INFO] [stdout]   |
[INFO] [stdout] 8 | use rand::{rng, Rng};
[INFO] [stdout]   |            ^^^  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::process::exit`
[INFO] [stdout]  --> crates/fhe/src/ckks.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::process::exit;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::rc::Rc`
[INFO] [stdout]  --> crates/fhe/src/ckks.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::rc::Rc;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: declaration of an `unsafe` function
[INFO] [stdout]   --> crates/fhe/src/simd/avx/avx.rs:5:1
[INFO] [stdout]    |
[INFO] [stdout]  5 | / pub unsafe fn add_mod_avx512_u64(a: &mut [u64], b: &[u64], q: u64) {
[INFO] [stdout]  6 | |     let len = a.len();
[INFO] [stdout]  7 | |     let mut chunks_16 = len / 16;
[INFO] [stdout]  8 | |     let mut a_ptr = a.as_mut_ptr();
[INFO] [stdout] ...  |
[INFO] [stdout] 51 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: declaration of an `unsafe` function
[INFO] [stdout]   --> crates/fhe/src/simd/avx/avx.rs:55:1
[INFO] [stdout]    |
[INFO] [stdout] 55 | / pub unsafe fn add_mod_avx2_u64(a: &mut [u64], b: &[u64], q: u64) {
[INFO] [stdout] 56 | |     use core::arch::x86_64::*;
[INFO] [stdout] 57 | |
[INFO] [stdout] 58 | |     let len = a.len();
[INFO] [stdout] ...  |
[INFO] [stdout] 89 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: declaration of an `unsafe` function
[INFO] [stdout]    --> crates/fhe/src/simd/avx/avx.rs:93:1
[INFO] [stdout]     |
[INFO] [stdout]  93 | / pub unsafe fn sub_mod_avx512_u64(a: &mut [u64], b: &[u64], q: u64) {
[INFO] [stdout]  94 | |     let len = a.len();
[INFO] [stdout]  95 | |     let mut chunks_16 = len / 16;
[INFO] [stdout]  96 | |     let mut a_ptr = a.as_mut_ptr();
[INFO] [stdout] ...   |
[INFO] [stdout] 144 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: declaration of an `unsafe` function
[INFO] [stdout]    --> crates/fhe/src/simd/avx/avx.rs:148:1
[INFO] [stdout]     |
[INFO] [stdout] 148 | / pub unsafe fn sub_mod_avx2_u64(a: &mut [u64], b: &[u64], q: u64) {
[INFO] [stdout] 149 | |     use core::arch::x86_64::*;
[INFO] [stdout] 150 | |     let len = a.len();
[INFO] [stdout] 151 | |     let chunks = len / 4;
[INFO] [stdout] ...   |
[INFO] [stdout] 188 | |     _mm256_zeroupper();
[INFO] [stdout] 189 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: declaration of an `unsafe` function
[INFO] [stdout]    --> crates/fhe/src/simd/avx/avx.rs:193:1
[INFO] [stdout]     |
[INFO] [stdout] 193 | / pub unsafe fn mul_and_reduce_avx512(a: &mut [u64], b: &[u64], q: u64, qr: u64, twok: u64) {
[INFO] [stdout] 194 | |     let len = a.len();
[INFO] [stdout] 195 | |     let chunks = len / 8;
[INFO] [stdout] ...   |
[INFO] [stdout] 268 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: declaration of an `unsafe` function
[INFO] [stdout]    --> crates/fhe/src/simd/avx/avx.rs:272:1
[INFO] [stdout]     |
[INFO] [stdout] 272 | / pub unsafe fn mul_and_reduce_avx2(a: &mut [u64], b: &[u64], q: u64, qr: u64, twok: u64) {
[INFO] [stdout] 273 | |     use core::arch::x86_64::*;
[INFO] [stdout] 274 | |
[INFO] [stdout] 275 | |     let len = a.len();
[INFO] [stdout] ...   |
[INFO] [stdout] 361 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: declaration of an `unsafe` function
[INFO] [stdout]    --> crates/fhe/src/simd/avx/avx.rs:365:1
[INFO] [stdout]     |
[INFO] [stdout] 365 | / pub unsafe fn mul_avx512_u64(a: &mut [u64], b: &[u64]) {
[INFO] [stdout] 366 | |     let len = a.len();
[INFO] [stdout] 367 | |     let chunks_16 = len / 16;
[INFO] [stdout] 368 | |     let mut a_ptr = a.as_mut_ptr();
[INFO] [stdout] ...   |
[INFO] [stdout] 404 | |     core::arch::x86_64::_mm256_zeroupper();
[INFO] [stdout] 405 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: declaration of an `unsafe` function
[INFO] [stdout]    --> crates/fhe/src/simd/avx/avx.rs:409:1
[INFO] [stdout]     |
[INFO] [stdout] 409 | / pub unsafe fn mul_const_and_reduce_avx512(a: &mut [u64], constant: u64, q: u64, qr: u64, twok: u64) {
[INFO] [stdout] 410 | |     let len = a.len();
[INFO] [stdout] 411 | |     let mut chunks_16 = len / 16;
[INFO] [stdout] 412 | |     let mut a_ptr = a.as_mut_ptr();
[INFO] [stdout] ...   |
[INFO] [stdout] 507 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: declaration of an `unsafe` function
[INFO] [stdout]    --> crates/fhe/src/simd/avx/avx.rs:511:1
[INFO] [stdout]     |
[INFO] [stdout] 511 | / pub unsafe fn multiply_by_const_i64_avx512(
[INFO] [stdout] 512 | |     a: &[i64],
[INFO] [stdout] 513 | |     constant: i64,
[INFO] [stdout] 514 | |     result: &mut [i64],
[INFO] [stdout] ...   |
[INFO] [stdout] 555 | |     core::arch::asm!("vzeroupper");
[INFO] [stdout] 556 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: declaration of an `unsafe` function
[INFO] [stdout]    --> crates/fhe/src/simd/avx/avx.rs:560:1
[INFO] [stdout]     |
[INFO] [stdout] 560 | / pub unsafe fn mul_const_and_reduce_avx2(a: &mut [u64], constant: u64, q: u64, qr: u64, twok: u64) {
[INFO] [stdout] 561 | |     use core::arch::x86_64::*;
[INFO] [stdout] 562 | |
[INFO] [stdout] 563 | |     let len = a.len();
[INFO] [stdout] ...   |
[INFO] [stdout] 658 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: declaration of an `unsafe` function
[INFO] [stdout]    --> crates/fhe/src/simd/avx/avx.rs:662:1
[INFO] [stdout]     |
[INFO] [stdout] 662 | / pub unsafe fn ntt_butterfly_avx2(u: &mut [u64], v: &mut [u64], w: u64, w_ratio: u64, q: u64) {
[INFO] [stdout] 663 | |     use core::arch::x86_64::*;
[INFO] [stdout] 664 | |
[INFO] [stdout] 665 | |     let len = u.len();
[INFO] [stdout] ...   |
[INFO] [stdout] 747 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: declaration of an `unsafe` function
[INFO] [stdout]    --> crates/fhe/src/simd/avx/avx.rs:750:1
[INFO] [stdout]     |
[INFO] [stdout] 750 | / pub unsafe fn fused_mul_add_i64_avx512(
[INFO] [stdout] 751 | |     c0: *const i64, d0: *const i64, c1: *const i64, d1: *const i64, scale: i64,
[INFO] [stdout] 752 | |     t0: *mut u64, t1: *mut u64, t2: *mut u64, len: usize
[INFO] [stdout] 753 | | ) {
[INFO] [stdout] ...   |
[INFO] [stdout] 828 | |     core::arch::x86_64::_mm256_zeroupper();
[INFO] [stdout] 829 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of an `unsafe` block
[INFO] [stdout]    --> crates/fhe/src/simd/avx/avx.rs:816:13
[INFO] [stdout]     |
[INFO] [stdout] 816 | /             unsafe {
[INFO] [stdout] 817 | |                 let c0_v = *c0.add(i);
[INFO] [stdout] 818 | |                 let d0_v = *d0.add(i);
[INFO] [stdout] 819 | |                 let c1_v = *c1.add(i);
[INFO] [stdout] ...   |
[INFO] [stdout] 824 | |                 *t2.add(i) = (d0_v as f64 * d1_v as f64 * inv_scale) as u64;
[INFO] [stdout] 825 | |             }
[INFO] [stdout]     | |_____________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: declaration of an `unsafe` function
[INFO] [stdout]    --> crates/fhe/src/simd/avx/avx.rs:833:1
[INFO] [stdout]     |
[INFO] [stdout] 833 | / pub unsafe fn fused_mul_add_i64_avx2(
[INFO] [stdout] 834 | |     mut c0: *const i64, mut d0: *const i64, mut c1: *const i64, mut d1: *const i64, scale: i64,
[INFO] [stdout] 835 | |     mut t0: *mut u64, mut t1: *mut u64, mut t2: *mut u64, len: usize
[INFO] [stdout] 836 | | ) {
[INFO] [stdout] ...   |
[INFO] [stdout] 954 | |     core::arch::x86_64::_mm256_zeroupper();
[INFO] [stdout] 955 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of an `unsafe` block
[INFO] [stdout]    --> crates/fhe/src/simd/avx/avx.rs:943:9
[INFO] [stdout]     |
[INFO] [stdout] 943 | /         unsafe {
[INFO] [stdout] 944 | |             let offset = i - processed;
[INFO] [stdout] 945 | |             let c0_v = *c0.add(offset);
[INFO] [stdout] 946 | |             let d0_v = *d0.add(offset);
[INFO] [stdout] ...   |
[INFO] [stdout] 951 | |             *t2.add(offset) = ((d0_v.wrapping_mul(d1_v) as f64) * inv_scale) as u64;
[INFO] [stdout] 952 | |         }
[INFO] [stdout]     | |_________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `common::math::barret::mod_mul_barrett`
[INFO] [stdout]  --> crates/fhe/src/simd/neon/neon.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use common::math::barret::mod_mul_barrett;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ntt_butterfly_avx2`
[INFO] [stdout]  --> crates/fhe/src/simd/simd_operations.rs:9:29
[INFO] [stdout]   |
[INFO] [stdout] 9 | ...                   ntt_butterfly_avx2, sub_mod_avx2_u64, sub_mod_avx512_u64};
[INFO] [stdout]   |                       ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of an `unsafe` block
[INFO] [stdout]   --> crates/fhe/src/simd/simd_operations.rs:74:40
[INFO] [stdout]    |
[INFO] [stdout] 74 |                 SimdBackend::Avx512 => unsafe { add_mod_avx512_u64(a_chunk, b_chunk, q); },
[INFO] [stdout]    |                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of an `unsafe` block
[INFO] [stdout]   --> crates/fhe/src/simd/simd_operations.rs:76:38
[INFO] [stdout]    |
[INFO] [stdout] 76 |                 SimdBackend::Avx2 => unsafe { add_mod_avx2_u64(a_chunk, b_chunk, q); },
[INFO] [stdout]    |                                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of an `unsafe` block
[INFO] [stdout]   --> crates/fhe/src/simd/simd_operations.rs:98:40
[INFO] [stdout]    |
[INFO] [stdout] 98 |                 SimdBackend::Avx512 => unsafe { sub_mod_avx512_u64(a_chunk, b_chunk, q); },
[INFO] [stdout]    |                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of an `unsafe` block
[INFO] [stdout]    --> crates/fhe/src/simd/simd_operations.rs:100:38
[INFO] [stdout]     |
[INFO] [stdout] 100 |                 SimdBackend::Avx2 => unsafe { sub_mod_avx2_u64(a_chunk, b_chunk, q); },
[INFO] [stdout]     |                                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of an `unsafe` block
[INFO] [stdout]    --> crates/fhe/src/simd/simd_operations.rs:122:40
[INFO] [stdout]     |
[INFO] [stdout] 122 |                 SimdBackend::Avx512 => unsafe { mul_and_reduce_avx512(a_chunk, b_chunk, q, qr, twok); },
[INFO] [stdout]     |                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of an `unsafe` block
[INFO] [stdout]    --> crates/fhe/src/simd/simd_operations.rs:124:38
[INFO] [stdout]     |
[INFO] [stdout] 124 |                 SimdBackend::Avx2 => unsafe { mul_and_reduce_avx2(a_chunk, b_chunk, q, qr, twok); },
[INFO] [stdout]     |                                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of an `unsafe` block
[INFO] [stdout]    --> crates/fhe/src/simd/simd_operations.rs:146:40
[INFO] [stdout]     |
[INFO] [stdout] 146 |                 SimdBackend::Avx512 => unsafe { mul_const_and_reduce_avx512(a_chunk, constant, q, qr, twok); },
[INFO] [stdout]     |                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of an `unsafe` block
[INFO] [stdout]    --> crates/fhe/src/simd/simd_operations.rs:148:38
[INFO] [stdout]     |
[INFO] [stdout] 148 |                 SimdBackend::Avx2 => unsafe { mul_const_and_reduce_avx2(a_chunk, constant, q, qr, twok); },
[INFO] [stdout]     |                                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of an `unsafe` block
[INFO] [stdout]    --> crates/fhe/src/simd/simd_operations.rs:186:40
[INFO] [stdout]     |
[INFO] [stdout] 186 |                   SimdBackend::Avx512 => unsafe {
[INFO] [stdout]     |  ________________________________________^
[INFO] [stdout] 187 | |                     fused_mul_add_i64_avx512(
[INFO] [stdout] 188 | |                         std::mem::transmute(c0_c.as_ptr()),
[INFO] [stdout] 189 | |                         std::mem::transmute(d0_c.as_ptr()),
[INFO] [stdout] ...   |
[INFO] [stdout] 197 | |                     );
[INFO] [stdout] 198 | |                 },
[INFO] [stdout]     | |_________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of an `unsafe` block
[INFO] [stdout]    --> crates/fhe/src/simd/simd_operations.rs:200:38
[INFO] [stdout]     |
[INFO] [stdout] 200 |                   SimdBackend::Avx2 => unsafe {
[INFO] [stdout]     |  ______________________________________^
[INFO] [stdout] 201 | |                     fused_mul_add_i64_avx2(
[INFO] [stdout] 202 | |                         std::mem::transmute(c0_c.as_ptr()),
[INFO] [stdout] 203 | |                         std::mem::transmute(d0_c.as_ptr()),
[INFO] [stdout] ...   |
[INFO] [stdout] 211 | |                     );
[INFO] [stdout] 212 | |                 },
[INFO] [stdout]     | |_________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `rand::thread_rng`: Renamed to `rng`
[INFO] [stdout]     --> crates/fhe/src/context.rs:1752:29
[INFO] [stdout]      |
[INFO] [stdout] 1752 |         let mut rng = rand::thread_rng();
[INFO] [stdout]      |                             ^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `rand::thread_rng`: Renamed to `rng`
[INFO] [stdout]     --> crates/fhe/src/context.rs:1804:29
[INFO] [stdout]      |
[INFO] [stdout] 1804 |         let mut rng = rand::thread_rng();
[INFO] [stdout]      |                             ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `rand::thread_rng`: Renamed to `rng`
[INFO] [stdout]     --> crates/fhe/src/context.rs:1877:29
[INFO] [stdout]      |
[INFO] [stdout] 1877 |         let mut rng = rand::thread_rng();
[INFO] [stdout]      |                             ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `#![feature]` attribute can only be used at the crate root
[INFO] [stdout]  --> crates/fhe/src/simd/rvv/rvv.rs:1:1
[INFO] [stdout]   |
[INFO] [stdout] 1 | #![feature(riscv_target_feature)]
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_attributes)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `cuda`
[INFO] [stdout]   --> crates/fhe/src/context.rs:19:11
[INFO] [stdout]    |
[INFO] [stdout] 19 | #[cfg(not(feature = "cuda"))]
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected values for `feature` are: `default`
[INFO] [stdout]    = help: consider adding `cuda` as a feature in `Cargo.toml`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Normal`
[INFO] [stdout]  --> crates/fhe/src/context.rs:1:18
[INFO] [stdout]   |
[INFO] [stdout] 1 | use rand_distr::{Normal};
[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::process::exit`
[INFO] [stdout]  --> crates/fhe/src/context.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::process::exit;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `One`, `WrappingMul`, and `Zero`
[INFO] [stdout]   --> crates/fhe/src/context.rs:10:18
[INFO] [stdout]    |
[INFO] [stdout] 10 | use num_traits::{One, ToPrimitive, WrappingAdd, WrappingMul, Zero};
[INFO] [stdout]    |                  ^^^                            ^^^^^^^^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `mod_barrett_64`
[INFO] [stdout]   --> crates/fhe/src/context.rs:13:41
[INFO] [stdout]    |
[INFO] [stdout] 13 | use common::math::barret::{mod_barrett, mod_barrett_64, mod_mul_barrett};
[INFO] [stdout]    |                                         ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `cuda`
[INFO] [stdout]    --> crates/fhe/src/context.rs:546:19
[INFO] [stdout]     |
[INFO] [stdout] 546 |         #[cfg(not(feature = "cuda"))]
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected values for `feature` are: `default`
[INFO] [stdout]     = help: consider adding `cuda` as a feature in `Cargo.toml`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]    --> crates/fhe/src/context.rs:262:75
[INFO] [stdout]     |
[INFO] [stdout] 262 |         let mut p_root_pows: Vec<Vec<u64>> = vec![vec![0; n as usize]; k];;
[INFO] [stdout]     |                                                                           ^ help: remove this semicolon
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(redundant_semicolons)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]    --> crates/fhe/src/context.rs:263:79
[INFO] [stdout]     |
[INFO] [stdout] 263 |         let mut p_root_pows_inv: Vec<Vec<u64>> = vec![vec![0; n as usize]; k];;
[INFO] [stdout]     |                                                                               ^ help: remove this semicolon
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]    --> crates/fhe/src/context.rs:264:81
[INFO] [stdout]     |
[INFO] [stdout] 264 |         let mut p_root_scale_pows: Vec<Vec<u64>> = vec![vec![0; n as usize]; k];;
[INFO] [stdout]     |                                                                                 ^ help: remove this semicolon
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]    --> crates/fhe/src/context.rs:453:109
[INFO] [stdout]     |
[INFO] [stdout] 453 | ...   pc_coeff[j + (i << log_n)] = mod_mul_barrett((94.2372881 * (p as i64 >> 20) as f64) as u64, (1u64 << 20), q_vec[i], qr_vec[i]...
[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] 453 -                 pc_coeff[j + (i << log_n)] = mod_mul_barrett((94.2372881 * (p as i64 >> 20) as f64) as u64, (1u64 << 20), q_vec[i], qr_vec[i], q_twok[i]);
[INFO] [stdout] 453 +                 pc_coeff[j + (i << log_n)] = mod_mul_barrett((94.2372881 * (p as i64 >> 20) as f64) as u64, 1u64 << 20 , q_vec[i], qr_vec[i], q_twok[i]);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of an `unsafe` block
[INFO] [stdout]     --> crates/fhe/src/context.rs:1966:13
[INFO] [stdout]      |
[INFO] [stdout] 1966 | /             unsafe {
[INFO] [stdout] 1967 | |                 std::ptr::swap(&mut vals[i], &mut vals[j]);
[INFO] [stdout] 1968 | |             }
[INFO] [stdout]      | |_____________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: requested on the command line with `-W unsafe-code`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cell::RefCell`
[INFO] [stdout]  --> crates/fhe/src/keygen.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::cell::RefCell;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::hash_map::Keys`
[INFO] [stdout]  --> crates/fhe/src/keygen.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::collections::hash_map::Keys;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::process::exit`
[INFO] [stdout]  --> crates/fhe/src/keygen.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::process::exit;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::rc::Rc`
[INFO] [stdout]  --> crates/fhe/src/keygen.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::rc::Rc;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Rng` and `rng`
[INFO] [stdout]  --> crates/fhe/src/keygen.rs:8:12
[INFO] [stdout]   |
[INFO] [stdout] 8 | use rand::{rng, Rng};
[INFO] [stdout]   |            ^^^  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::process::exit`
[INFO] [stdout]  --> crates/fhe/src/ckks.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::process::exit;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::rc::Rc`
[INFO] [stdout]  --> crates/fhe/src/ckks.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::rc::Rc;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: declaration of an `unsafe` function
[INFO] [stdout]   --> crates/fhe/src/simd/avx/avx.rs:5:1
[INFO] [stdout]    |
[INFO] [stdout]  5 | / pub unsafe fn add_mod_avx512_u64(a: &mut [u64], b: &[u64], q: u64) {
[INFO] [stdout]  6 | |     let len = a.len();
[INFO] [stdout]  7 | |     let mut chunks_16 = len / 16;
[INFO] [stdout]  8 | |     let mut a_ptr = a.as_mut_ptr();
[INFO] [stdout] ...  |
[INFO] [stdout] 51 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: declaration of an `unsafe` function
[INFO] [stdout]   --> crates/fhe/src/simd/avx/avx.rs:55:1
[INFO] [stdout]    |
[INFO] [stdout] 55 | / pub unsafe fn add_mod_avx2_u64(a: &mut [u64], b: &[u64], q: u64) {
[INFO] [stdout] 56 | |     use core::arch::x86_64::*;
[INFO] [stdout] 57 | |
[INFO] [stdout] 58 | |     let len = a.len();
[INFO] [stdout] ...  |
[INFO] [stdout] 89 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: declaration of an `unsafe` function
[INFO] [stdout]    --> crates/fhe/src/simd/avx/avx.rs:93:1
[INFO] [stdout]     |
[INFO] [stdout]  93 | / pub unsafe fn sub_mod_avx512_u64(a: &mut [u64], b: &[u64], q: u64) {
[INFO] [stdout]  94 | |     let len = a.len();
[INFO] [stdout]  95 | |     let mut chunks_16 = len / 16;
[INFO] [stdout]  96 | |     let mut a_ptr = a.as_mut_ptr();
[INFO] [stdout] ...   |
[INFO] [stdout] 144 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: declaration of an `unsafe` function
[INFO] [stdout]    --> crates/fhe/src/simd/avx/avx.rs:148:1
[INFO] [stdout]     |
[INFO] [stdout] 148 | / pub unsafe fn sub_mod_avx2_u64(a: &mut [u64], b: &[u64], q: u64) {
[INFO] [stdout] 149 | |     use core::arch::x86_64::*;
[INFO] [stdout] 150 | |     let len = a.len();
[INFO] [stdout] 151 | |     let chunks = len / 4;
[INFO] [stdout] ...   |
[INFO] [stdout] 188 | |     _mm256_zeroupper();
[INFO] [stdout] 189 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: declaration of an `unsafe` function
[INFO] [stdout]    --> crates/fhe/src/simd/avx/avx.rs:193:1
[INFO] [stdout]     |
[INFO] [stdout] 193 | / pub unsafe fn mul_and_reduce_avx512(a: &mut [u64], b: &[u64], q: u64, qr: u64, twok: u64) {
[INFO] [stdout] 194 | |     let len = a.len();
[INFO] [stdout] 195 | |     let chunks = len / 8;
[INFO] [stdout] ...   |
[INFO] [stdout] 268 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: declaration of an `unsafe` function
[INFO] [stdout]    --> crates/fhe/src/simd/avx/avx.rs:272:1
[INFO] [stdout]     |
[INFO] [stdout] 272 | / pub unsafe fn mul_and_reduce_avx2(a: &mut [u64], b: &[u64], q: u64, qr: u64, twok: u64) {
[INFO] [stdout] 273 | |     use core::arch::x86_64::*;
[INFO] [stdout] 274 | |
[INFO] [stdout] 275 | |     let len = a.len();
[INFO] [stdout] ...   |
[INFO] [stdout] 361 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: declaration of an `unsafe` function
[INFO] [stdout]    --> crates/fhe/src/simd/avx/avx.rs:365:1
[INFO] [stdout]     |
[INFO] [stdout] 365 | / pub unsafe fn mul_avx512_u64(a: &mut [u64], b: &[u64]) {
[INFO] [stdout] 366 | |     let len = a.len();
[INFO] [stdout] 367 | |     let chunks_16 = len / 16;
[INFO] [stdout] 368 | |     let mut a_ptr = a.as_mut_ptr();
[INFO] [stdout] ...   |
[INFO] [stdout] 404 | |     core::arch::x86_64::_mm256_zeroupper();
[INFO] [stdout] 405 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: declaration of an `unsafe` function
[INFO] [stdout]    --> crates/fhe/src/simd/avx/avx.rs:409:1
[INFO] [stdout]     |
[INFO] [stdout] 409 | / pub unsafe fn mul_const_and_reduce_avx512(a: &mut [u64], constant: u64, q: u64, qr: u64, twok: u64) {
[INFO] [stdout] 410 | |     let len = a.len();
[INFO] [stdout] 411 | |     let mut chunks_16 = len / 16;
[INFO] [stdout] 412 | |     let mut a_ptr = a.as_mut_ptr();
[INFO] [stdout] ...   |
[INFO] [stdout] 507 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: declaration of an `unsafe` function
[INFO] [stdout]    --> crates/fhe/src/simd/avx/avx.rs:511:1
[INFO] [stdout]     |
[INFO] [stdout] 511 | / pub unsafe fn multiply_by_const_i64_avx512(
[INFO] [stdout] 512 | |     a: &[i64],
[INFO] [stdout] 513 | |     constant: i64,
[INFO] [stdout] 514 | |     result: &mut [i64],
[INFO] [stdout] ...   |
[INFO] [stdout] 555 | |     core::arch::asm!("vzeroupper");
[INFO] [stdout] 556 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: declaration of an `unsafe` function
[INFO] [stdout]    --> crates/fhe/src/simd/avx/avx.rs:560:1
[INFO] [stdout]     |
[INFO] [stdout] 560 | / pub unsafe fn mul_const_and_reduce_avx2(a: &mut [u64], constant: u64, q: u64, qr: u64, twok: u64) {
[INFO] [stdout] 561 | |     use core::arch::x86_64::*;
[INFO] [stdout] 562 | |
[INFO] [stdout] 563 | |     let len = a.len();
[INFO] [stdout] ...   |
[INFO] [stdout] 658 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: declaration of an `unsafe` function
[INFO] [stdout]    --> crates/fhe/src/simd/avx/avx.rs:662:1
[INFO] [stdout]     |
[INFO] [stdout] 662 | / pub unsafe fn ntt_butterfly_avx2(u: &mut [u64], v: &mut [u64], w: u64, w_ratio: u64, q: u64) {
[INFO] [stdout] 663 | |     use core::arch::x86_64::*;
[INFO] [stdout] 664 | |
[INFO] [stdout] 665 | |     let len = u.len();
[INFO] [stdout] ...   |
[INFO] [stdout] 747 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: declaration of an `unsafe` function
[INFO] [stdout]    --> crates/fhe/src/simd/avx/avx.rs:750:1
[INFO] [stdout]     |
[INFO] [stdout] 750 | / pub unsafe fn fused_mul_add_i64_avx512(
[INFO] [stdout] 751 | |     c0: *const i64, d0: *const i64, c1: *const i64, d1: *const i64, scale: i64,
[INFO] [stdout] 752 | |     t0: *mut u64, t1: *mut u64, t2: *mut u64, len: usize
[INFO] [stdout] 753 | | ) {
[INFO] [stdout] ...   |
[INFO] [stdout] 828 | |     core::arch::x86_64::_mm256_zeroupper();
[INFO] [stdout] 829 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of an `unsafe` block
[INFO] [stdout]    --> crates/fhe/src/simd/avx/avx.rs:816:13
[INFO] [stdout]     |
[INFO] [stdout] 816 | /             unsafe {
[INFO] [stdout] 817 | |                 let c0_v = *c0.add(i);
[INFO] [stdout] 818 | |                 let d0_v = *d0.add(i);
[INFO] [stdout] 819 | |                 let c1_v = *c1.add(i);
[INFO] [stdout] ...   |
[INFO] [stdout] 824 | |                 *t2.add(i) = (d0_v as f64 * d1_v as f64 * inv_scale) as u64;
[INFO] [stdout] 825 | |             }
[INFO] [stdout]     | |_____________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: declaration of an `unsafe` function
[INFO] [stdout]    --> crates/fhe/src/simd/avx/avx.rs:833:1
[INFO] [stdout]     |
[INFO] [stdout] 833 | / pub unsafe fn fused_mul_add_i64_avx2(
[INFO] [stdout] 834 | |     mut c0: *const i64, mut d0: *const i64, mut c1: *const i64, mut d1: *const i64, scale: i64,
[INFO] [stdout] 835 | |     mut t0: *mut u64, mut t1: *mut u64, mut t2: *mut u64, len: usize
[INFO] [stdout] 836 | | ) {
[INFO] [stdout] ...   |
[INFO] [stdout] 954 | |     core::arch::x86_64::_mm256_zeroupper();
[INFO] [stdout] 955 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of an `unsafe` block
[INFO] [stdout]    --> crates/fhe/src/simd/avx/avx.rs:943:9
[INFO] [stdout]     |
[INFO] [stdout] 943 | /         unsafe {
[INFO] [stdout] 944 | |             let offset = i - processed;
[INFO] [stdout] 945 | |             let c0_v = *c0.add(offset);
[INFO] [stdout] 946 | |             let d0_v = *d0.add(offset);
[INFO] [stdout] ...   |
[INFO] [stdout] 951 | |             *t2.add(offset) = ((d0_v.wrapping_mul(d1_v) as f64) * inv_scale) as u64;
[INFO] [stdout] 952 | |         }
[INFO] [stdout]     | |_________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `common::math::barret::mod_mul_barrett`
[INFO] [stdout]  --> crates/fhe/src/simd/neon/neon.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use common::math::barret::mod_mul_barrett;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ntt_butterfly_avx2`
[INFO] [stdout]  --> crates/fhe/src/simd/simd_operations.rs:9:29
[INFO] [stdout]   |
[INFO] [stdout] 9 | ...                   ntt_butterfly_avx2, sub_mod_avx2_u64, sub_mod_avx512_u64};
[INFO] [stdout]   |                       ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of an `unsafe` block
[INFO] [stdout]   --> crates/fhe/src/simd/simd_operations.rs:74:40
[INFO] [stdout]    |
[INFO] [stdout] 74 |                 SimdBackend::Avx512 => unsafe { add_mod_avx512_u64(a_chunk, b_chunk, q); },
[INFO] [stdout]    |                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of an `unsafe` block
[INFO] [stdout]   --> crates/fhe/src/simd/simd_operations.rs:76:38
[INFO] [stdout]    |
[INFO] [stdout] 76 |                 SimdBackend::Avx2 => unsafe { add_mod_avx2_u64(a_chunk, b_chunk, q); },
[INFO] [stdout]    |                                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of an `unsafe` block
[INFO] [stdout]   --> crates/fhe/src/simd/simd_operations.rs:98:40
[INFO] [stdout]    |
[INFO] [stdout] 98 |                 SimdBackend::Avx512 => unsafe { sub_mod_avx512_u64(a_chunk, b_chunk, q); },
[INFO] [stdout]    |                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of an `unsafe` block
[INFO] [stdout]    --> crates/fhe/src/simd/simd_operations.rs:100:38
[INFO] [stdout]     |
[INFO] [stdout] 100 |                 SimdBackend::Avx2 => unsafe { sub_mod_avx2_u64(a_chunk, b_chunk, q); },
[INFO] [stdout]     |                                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of an `unsafe` block
[INFO] [stdout]    --> crates/fhe/src/simd/simd_operations.rs:122:40
[INFO] [stdout]     |
[INFO] [stdout] 122 |                 SimdBackend::Avx512 => unsafe { mul_and_reduce_avx512(a_chunk, b_chunk, q, qr, twok); },
[INFO] [stdout]     |                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of an `unsafe` block
[INFO] [stdout]    --> crates/fhe/src/simd/simd_operations.rs:124:38
[INFO] [stdout]     |
[INFO] [stdout] 124 |                 SimdBackend::Avx2 => unsafe { mul_and_reduce_avx2(a_chunk, b_chunk, q, qr, twok); },
[INFO] [stdout]     |                                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of an `unsafe` block
[INFO] [stdout]    --> crates/fhe/src/simd/simd_operations.rs:146:40
[INFO] [stdout]     |
[INFO] [stdout] 146 |                 SimdBackend::Avx512 => unsafe { mul_const_and_reduce_avx512(a_chunk, constant, q, qr, twok); },
[INFO] [stdout]     |                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of an `unsafe` block
[INFO] [stdout]    --> crates/fhe/src/simd/simd_operations.rs:148:38
[INFO] [stdout]     |
[INFO] [stdout] 148 |                 SimdBackend::Avx2 => unsafe { mul_const_and_reduce_avx2(a_chunk, constant, q, qr, twok); },
[INFO] [stdout]     |                                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of an `unsafe` block
[INFO] [stdout]    --> crates/fhe/src/simd/simd_operations.rs:186:40
[INFO] [stdout]     |
[INFO] [stdout] 186 |                   SimdBackend::Avx512 => unsafe {
[INFO] [stdout]     |  ________________________________________^
[INFO] [stdout] 187 | |                     fused_mul_add_i64_avx512(
[INFO] [stdout] 188 | |                         std::mem::transmute(c0_c.as_ptr()),
[INFO] [stdout] 189 | |                         std::mem::transmute(d0_c.as_ptr()),
[INFO] [stdout] ...   |
[INFO] [stdout] 197 | |                     );
[INFO] [stdout] 198 | |                 },
[INFO] [stdout]     | |_________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of an `unsafe` block
[INFO] [stdout]    --> crates/fhe/src/simd/simd_operations.rs:200:38
[INFO] [stdout]     |
[INFO] [stdout] 200 |                   SimdBackend::Avx2 => unsafe {
[INFO] [stdout]     |  ______________________________________^
[INFO] [stdout] 201 | |                     fused_mul_add_i64_avx2(
[INFO] [stdout] 202 | |                         std::mem::transmute(c0_c.as_ptr()),
[INFO] [stdout] 203 | |                         std::mem::transmute(d0_c.as_ptr()),
[INFO] [stdout] ...   |
[INFO] [stdout] 211 | |                     );
[INFO] [stdout] 212 | |                 },
[INFO] [stdout]     | |_________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `rand::thread_rng`: Renamed to `rng`
[INFO] [stdout]     --> crates/fhe/src/context.rs:1752:29
[INFO] [stdout]      |
[INFO] [stdout] 1752 |         let mut rng = rand::thread_rng();
[INFO] [stdout]      |                             ^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `rand::thread_rng`: Renamed to `rng`
[INFO] [stdout]     --> crates/fhe/src/context.rs:1804:29
[INFO] [stdout]      |
[INFO] [stdout] 1804 |         let mut rng = rand::thread_rng();
[INFO] [stdout]      |                             ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `rand::thread_rng`: Renamed to `rng`
[INFO] [stdout]     --> crates/fhe/src/context.rs:1877:29
[INFO] [stdout]      |
[INFO] [stdout] 1877 |         let mut rng = rand::thread_rng();
[INFO] [stdout]      |                             ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `#![feature]` attribute can only be used at the crate root
[INFO] [stdout]  --> crates/fhe/src/simd/rvv/rvv.rs:1:1
[INFO] [stdout]   |
[INFO] [stdout] 1 | #![feature(riscv_target_feature)]
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_attributes)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ndarray_linalg::Scalar`
[INFO] [stdout]  --> crates/fhe/src/context.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use ndarray_linalg::Scalar;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rayon::prelude`
[INFO] [stdout]  --> crates/fhe/src/ckks.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use rayon::prelude::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `WrappingAdd`
[INFO] [stdout]   --> crates/fhe/src/context.rs:10:36
[INFO] [stdout]    |
[INFO] [stdout] 10 | use num_traits::{One, ToPrimitive, WrappingAdd, WrappingMul, Zero};
[INFO] [stdout]    |                                    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> crates/fhe/src/context.rs:265:13
[INFO] [stdout]     |
[INFO] [stdout] 265 |         let mut p_root_scale_pows_over_p: Vec<u64> = vec![0; k];
[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: `tmp`
[INFO] [stdout]    --> crates/fhe/src/context.rs:303:21
[INFO] [stdout]     |
[INFO] [stdout] 303 |                 let tmp = (power as u128) << 64;
[INFO] [stdout]     |                     ^^^ help: if this is intentional, prefix it with an underscore: `_tmp`
[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]     --> crates/fhe/src/context.rs:1557:13
[INFO] [stdout]      |
[INFO] [stdout] 1557 |         let mut boot_context_map: HashMap<usize, BootContext> = HashMap::new();
[INFO] [stdout]      |             ----^^^^^^^^^^^^^^^^
[INFO] [stdout]      |             |
[INFO] [stdout]      |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `boot_context_map`
[INFO] [stdout]     --> crates/fhe/src/context.rs:1557:13
[INFO] [stdout]      |
[INFO] [stdout] 1557 |         let mut boot_context_map: HashMap<usize, BootContext> = HashMap::new();
[INFO] [stdout]      |             ^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_boot_context_map`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ndarray_linalg::Scalar`
[INFO] [stdout]  --> crates/fhe/src/context.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use ndarray_linalg::Scalar;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rayon::prelude`
[INFO] [stdout]  --> crates/fhe/src/ckks.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use rayon::prelude::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `WrappingAdd`
[INFO] [stdout]   --> crates/fhe/src/context.rs:10:36
[INFO] [stdout]    |
[INFO] [stdout] 10 | use num_traits::{One, ToPrimitive, WrappingAdd, WrappingMul, Zero};
[INFO] [stdout]    |                                    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]     --> crates/fhe/src/context.rs:2008:13
[INFO] [stdout]      |
[INFO] [stdout] 2008 |         let ctx = Context::new(15, 4, 55, 620,3.3, true);
[INFO] [stdout]      |             ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> crates/fhe/src/context.rs:265:13
[INFO] [stdout]     |
[INFO] [stdout] 265 |         let mut p_root_scale_pows_over_p: Vec<u64> = vec![0; k];
[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: `tmp`
[INFO] [stdout]    --> crates/fhe/src/context.rs:303:21
[INFO] [stdout]     |
[INFO] [stdout] 303 |                 let tmp = (power as u128) << 64;
[INFO] [stdout]     |                     ^^^ help: if this is intentional, prefix it with an underscore: `_tmp`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `poly`
[INFO] [stdout]    --> crates/fhe/src/ckks.rs:477:57
[INFO] [stdout]     |
[INFO] [stdout] 477 |     pub fn mult_by_monomial(&self, cipher: &Ciphertext, poly: &[u64]) -> Ciphertext {
[INFO] [stdout]     |                                                         ^^^^ help: if this is intentional, prefix it with an underscore: `_poly`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `poly`
[INFO] [stdout]    --> crates/fhe/src/ckks.rs:525:71
[INFO] [stdout]     |
[INFO] [stdout] 525 |     pub fn mult_by_monomial_and_equal(&self, cipher: &mut Ciphertext, poly: &[u64]) {
[INFO] [stdout]     |                                                                       ^^^^ help: if this is intentional, prefix it with an underscore: `_poly`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `poly`
[INFO] [stdout]    --> crates/fhe/src/ckks.rs:530:46
[INFO] [stdout]     |
[INFO] [stdout] 530 |     pub fn imult(&self, cipher: &Ciphertext, poly: &[u64]) -> Ciphertext {
[INFO] [stdout]     |                                              ^^^^ help: if this is intentional, prefix it with an underscore: `_poly`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> crates/fhe/src/ckks.rs:675:13
[INFO] [stdout]     |
[INFO] [stdout] 675 |         for i in 0..dl {
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dl`
[INFO] [stdout]    --> crates/fhe/src/ckks.rs:698:13
[INFO] [stdout]     |
[INFO] [stdout] 698 |         let dl = cipher.l - l;
[INFO] [stdout]     |             ^^ help: if this is intentional, prefix it with an underscore: `_dl`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]  --> crates/fhe/src/simd/avx/avx.rs:7:9
[INFO] [stdout]   |
[INFO] [stdout] 7 |     let mut chunks_16 = len / 16;
[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]   --> crates/fhe/src/simd/avx/avx.rs:95:9
[INFO] [stdout]    |
[INFO] [stdout] 95 |     let mut chunks_16 = len / 16;
[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]    --> crates/fhe/src/simd/avx/avx.rs:411:9
[INFO] [stdout]     |
[INFO] [stdout] 411 |     let mut chunks_16 = len / 16;
[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]    --> crates/fhe/src/simd/avx/avx.rs:412:9
[INFO] [stdout]     |
[INFO] [stdout] 412 |     let mut a_ptr = a.as_mut_ptr();
[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]    --> crates/fhe/src/simd/avx/avx.rs:517:9
[INFO] [stdout]     |
[INFO] [stdout] 517 |     let mut a_ptr = a.as_ptr();
[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]    --> crates/fhe/src/simd/avx/avx.rs:518:9
[INFO] [stdout]     |
[INFO] [stdout] 518 |     let mut r_ptr = result.as_mut_ptr();
[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]    --> crates/fhe/src/simd/avx/avx.rs:520:9
[INFO] [stdout]     |
[INFO] [stdout] 520 |     let mut chunks_16 = len / 16;
[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]    --> crates/fhe/src/simd/avx/avx.rs:834:5
[INFO] [stdout]     |
[INFO] [stdout] 834 |     mut c0: *const i64, mut d0: *const i64, mut c1: *const i64, mut d1: *const i64, scale: i64,
[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]    --> crates/fhe/src/simd/avx/avx.rs:834:25
[INFO] [stdout]     |
[INFO] [stdout] 834 |     mut c0: *const i64, mut d0: *const i64, mut c1: *const i64, mut d1: *const i64, scale: i64,
[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]    --> crates/fhe/src/simd/avx/avx.rs:834:45
[INFO] [stdout]     |
[INFO] [stdout] 834 |     mut c0: *const i64, mut d0: *const i64, mut c1: *const i64, mut d1: *const i64, scale: i64,
[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]    --> crates/fhe/src/simd/avx/avx.rs:834:65
[INFO] [stdout]     |
[INFO] [stdout] 834 |     mut c0: *const i64, mut d0: *const i64, mut c1: *const i64, mut d1: *const i64, scale: i64,
[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]    --> crates/fhe/src/simd/avx/avx.rs:835:5
[INFO] [stdout]     |
[INFO] [stdout] 835 |     mut t0: *mut u64, mut t1: *mut u64, mut t2: *mut u64, len: usize
[INFO] [stdout]     |     ----^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> crates/fhe/src/simd/avx/avx.rs:835:23
[INFO] [stdout]     |
[INFO] [stdout] 835 |     mut t0: *mut u64, mut t1: *mut u64, mut t2: *mut u64, len: usize
[INFO] [stdout]     |                       ----^^
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> crates/fhe/src/simd/avx/avx.rs:835:41
[INFO] [stdout]     |
[INFO] [stdout] 835 |     mut t0: *mut u64, mut t1: *mut u64, mut t2: *mut u64, len: usize
[INFO] [stdout]     |                                         ----^^
[INFO] [stdout]     |                                         |
[INFO] [stdout]     |                                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> crates/fhe/src/simd/avx/avx.rs:837:9
[INFO] [stdout]     |
[INFO] [stdout] 837 |     let mut chunks = len / 4;
[INFO] [stdout]     |         ----^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `log_Q` should have a snake case name
[INFO] [stdout]     --> crates/fhe/src/ckks.rs:1415:9
[INFO] [stdout]      |
[INFO] [stdout] 1415 |         log_Q: usize,
[INFO] [stdout]      |         ^^^^^ help: convert the identifier to snake case: `log_q`
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> crates/fhe/src/context.rs:1557:13
[INFO] [stdout]      |
[INFO] [stdout] 1557 |         let mut boot_context_map: HashMap<usize, BootContext> = HashMap::new();
[INFO] [stdout]      |             ----^^^^^^^^^^^^^^^^
[INFO] [stdout]      |             |
[INFO] [stdout]      |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `log_T` should have a snake case name
[INFO] [stdout]     --> crates/fhe/src/ckks.rs:1416:9
[INFO] [stdout]      |
[INFO] [stdout] 1416 |         log_T: usize,
[INFO] [stdout]      |         ^^^^^ help: convert the identifier to snake case: `log_t`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `log_I` should have a snake case name
[INFO] [stdout]     --> crates/fhe/src/ckks.rs:1417:9
[INFO] [stdout]      |
[INFO] [stdout] 1417 |         log_I: usize,
[INFO] [stdout]      |         ^^^^^ help: convert the identifier to snake case (notice the capitalization): `log_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `boot_context_map`
[INFO] [stdout]     --> crates/fhe/src/context.rs:1557:13
[INFO] [stdout]      |
[INFO] [stdout] 1557 |         let mut boot_context_map: HashMap<usize, BootContext> = HashMap::new();
[INFO] [stdout]      |             ^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_boot_context_map`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: feature `riscv_target_feature` is declared but not used
[INFO] [stdout]  --> crates/fhe/src/lib.rs:1:12
[INFO] [stdout]   |
[INFO] [stdout] 1 | #![feature(riscv_target_feature)]
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_features)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `poly`
[INFO] [stdout]    --> crates/fhe/src/ckks.rs:477:57
[INFO] [stdout]     |
[INFO] [stdout] 477 |     pub fn mult_by_monomial(&self, cipher: &Ciphertext, poly: &[u64]) -> Ciphertext {
[INFO] [stdout]     |                                                         ^^^^ help: if this is intentional, prefix it with an underscore: `_poly`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `poly`
[INFO] [stdout]    --> crates/fhe/src/ckks.rs:525:71
[INFO] [stdout]     |
[INFO] [stdout] 525 |     pub fn mult_by_monomial_and_equal(&self, cipher: &mut Ciphertext, poly: &[u64]) {
[INFO] [stdout]     |                                                                       ^^^^ help: if this is intentional, prefix it with an underscore: `_poly`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `poly`
[INFO] [stdout]    --> crates/fhe/src/ckks.rs:530:46
[INFO] [stdout]     |
[INFO] [stdout] 530 |     pub fn imult(&self, cipher: &Ciphertext, poly: &[u64]) -> Ciphertext {
[INFO] [stdout]     |                                              ^^^^ help: if this is intentional, prefix it with an underscore: `_poly`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> crates/fhe/src/ckks.rs:675:13
[INFO] [stdout]     |
[INFO] [stdout] 675 |         for i in 0..dl {
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dl`
[INFO] [stdout]    --> crates/fhe/src/ckks.rs:698:13
[INFO] [stdout]     |
[INFO] [stdout] 698 |         let dl = cipher.l - l;
[INFO] [stdout]     |             ^^ help: if this is intentional, prefix it with an underscore: `_dl`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]  --> crates/fhe/src/simd/avx/avx.rs:7:9
[INFO] [stdout]   |
[INFO] [stdout] 7 |     let mut chunks_16 = len / 16;
[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]   --> crates/fhe/src/simd/avx/avx.rs:95:9
[INFO] [stdout]    |
[INFO] [stdout] 95 |     let mut chunks_16 = len / 16;
[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]    --> crates/fhe/src/simd/avx/avx.rs:411:9
[INFO] [stdout]     |
[INFO] [stdout] 411 |     let mut chunks_16 = len / 16;
[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]    --> crates/fhe/src/simd/avx/avx.rs:412:9
[INFO] [stdout]     |
[INFO] [stdout] 412 |     let mut a_ptr = a.as_mut_ptr();
[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]    --> crates/fhe/src/simd/avx/avx.rs:517:9
[INFO] [stdout]     |
[INFO] [stdout] 517 |     let mut a_ptr = a.as_ptr();
[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]    --> crates/fhe/src/simd/avx/avx.rs:518:9
[INFO] [stdout]     |
[INFO] [stdout] 518 |     let mut r_ptr = result.as_mut_ptr();
[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]    --> crates/fhe/src/simd/avx/avx.rs:520:9
[INFO] [stdout]     |
[INFO] [stdout] 520 |     let mut chunks_16 = len / 16;
[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]    --> crates/fhe/src/simd/avx/avx.rs:834:5
[INFO] [stdout]     |
[INFO] [stdout] 834 |     mut c0: *const i64, mut d0: *const i64, mut c1: *const i64, mut d1: *const i64, scale: i64,
[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]    --> crates/fhe/src/simd/avx/avx.rs:834:25
[INFO] [stdout]     |
[INFO] [stdout] 834 |     mut c0: *const i64, mut d0: *const i64, mut c1: *const i64, mut d1: *const i64, scale: i64,
[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]    --> crates/fhe/src/simd/avx/avx.rs:834:45
[INFO] [stdout]     |
[INFO] [stdout] 834 |     mut c0: *const i64, mut d0: *const i64, mut c1: *const i64, mut d1: *const i64, scale: i64,
[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]    --> crates/fhe/src/simd/avx/avx.rs:834:65
[INFO] [stdout]     |
[INFO] [stdout] 834 |     mut c0: *const i64, mut d0: *const i64, mut c1: *const i64, mut d1: *const i64, scale: i64,
[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]    --> crates/fhe/src/simd/avx/avx.rs:835:5
[INFO] [stdout]     |
[INFO] [stdout] 835 |     mut t0: *mut u64, mut t1: *mut u64, mut t2: *mut u64, len: usize
[INFO] [stdout]     |     ----^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> crates/fhe/src/simd/avx/avx.rs:835:23
[INFO] [stdout]     |
[INFO] [stdout] 835 |     mut t0: *mut u64, mut t1: *mut u64, mut t2: *mut u64, len: usize
[INFO] [stdout]     |                       ----^^
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> crates/fhe/src/simd/avx/avx.rs:835:41
[INFO] [stdout]     |
[INFO] [stdout] 835 |     mut t0: *mut u64, mut t1: *mut u64, mut t2: *mut u64, len: usize
[INFO] [stdout]     |                                         ----^^
[INFO] [stdout]     |                                         |
[INFO] [stdout]     |                                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> crates/fhe/src/simd/avx/avx.rs:837:9
[INFO] [stdout]     |
[INFO] [stdout] 837 |     let mut chunks = len / 4;
[INFO] [stdout]     |         ----^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `log_Q` should have a snake case name
[INFO] [stdout]     --> crates/fhe/src/ckks.rs:1415:9
[INFO] [stdout]      |
[INFO] [stdout] 1415 |         log_Q: usize,
[INFO] [stdout]      |         ^^^^^ help: convert the identifier to snake case: `log_q`
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `log_T` should have a snake case name
[INFO] [stdout]     --> crates/fhe/src/ckks.rs:1416:9
[INFO] [stdout]      |
[INFO] [stdout] 1416 |         log_T: usize,
[INFO] [stdout]      |         ^^^^^ help: convert the identifier to snake case: `log_t`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `log_I` should have a snake case name
[INFO] [stdout]     --> crates/fhe/src/ckks.rs:1417:9
[INFO] [stdout]      |
[INFO] [stdout] 1417 |         log_I: usize,
[INFO] [stdout]      |         ^^^^^ help: convert the identifier to snake case (notice the capitalization): `log_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: feature `riscv_target_feature` is declared but not used
[INFO] [stdout]  --> crates/fhe/src/lib.rs:1:12
[INFO] [stdout]   |
[INFO] [stdout] 1 | #![feature(riscv_target_feature)]
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_features)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking basic-ckks-operations v0.1.0 (/opt/rustwide/workdir/examples/basic-ckks-operations)
[INFO] [stdout] warning: unused import: `std::cell::RefCell`
[INFO] [stdout]  --> examples/basic-ckks-operations/src/example_bootstrapping.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::cell::RefCell;
[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::process::exit`
[INFO] [stdout]  --> examples/basic-ckks-operations/src/example_bootstrapping.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::process::exit;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::rc::Rc`
[INFO] [stdout]  --> examples/basic-ckks-operations/src/example_bootstrapping.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::rc::Rc;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `log`
[INFO] [stdout]  --> examples/basic-ckks-operations/src/example_bootstrapping.rs:5:17
[INFO] [stdout]   |
[INFO] [stdout] 5 | use log::{info, log};
[INFO] [stdout]   |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cell::RefCell`
[INFO] [stdout]  --> examples/basic-ckks-operations/src/example_rotation.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::cell::RefCell;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::rc::Rc`
[INFO] [stdout]  --> examples/basic-ckks-operations/src/example_rotation.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::rc::Rc;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cell::RefCell`
[INFO] [stdout]  --> examples/basic-ckks-operations/src/example_mult.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::cell::RefCell;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::rc::Rc`
[INFO] [stdout]  --> examples/basic-ckks-operations/src/example_mult.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::rc::Rc;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cell::RefCell`
[INFO] [stdout]  --> examples/basic-ckks-operations/src/example_sum.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::cell::RefCell;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::rc::Rc`
[INFO] [stdout]  --> examples/basic-ckks-operations/src/example_sum.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::rc::Rc;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cell::RefCell`
[INFO] [stdout]  --> examples/basic-ckks-operations/src/example_conjugate.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::cell::RefCell;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::rc::Rc`
[INFO] [stdout]  --> examples/basic-ckks-operations/src/example_conjugate.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::rc::Rc;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `left_rotate_and_equal` and `right_rotate_and_equal`
[INFO] [stdout]  --> examples/basic-ckks-operations/src/example_conjugate.rs:6:27
[INFO] [stdout]   |
[INFO] [stdout] 6 | use common::math::shift::{left_rotate_and_equal, right_rotate_and_equal};
[INFO] [stdout]   |                           ^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cell::RefCell`
[INFO] [stdout]  --> examples/basic-ckks-operations/src/example_sub.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::cell::RefCell;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::rc::Rc`
[INFO] [stdout]  --> examples/basic-ckks-operations/src/example_sub.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::rc::Rc;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cell::RefCell`
[INFO] [stdout]  --> examples/basic-ckks-operations/src/example_bootstrapping.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::cell::RefCell;
[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::process::exit`
[INFO] [stdout]  --> examples/basic-ckks-operations/src/example_bootstrapping.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::process::exit;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::rc::Rc`
[INFO] [stdout]  --> examples/basic-ckks-operations/src/example_bootstrapping.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::rc::Rc;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `log`
[INFO] [stdout]  --> examples/basic-ckks-operations/src/example_bootstrapping.rs:5:17
[INFO] [stdout]   |
[INFO] [stdout] 5 | use log::{info, log};
[INFO] [stdout]   |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cell::RefCell`
[INFO] [stdout]  --> examples/basic-ckks-operations/src/example_rotation.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::cell::RefCell;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::rc::Rc`
[INFO] [stdout]  --> examples/basic-ckks-operations/src/example_rotation.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::rc::Rc;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cell::RefCell`
[INFO] [stdout]  --> examples/basic-ckks-operations/src/example_mult.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::cell::RefCell;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::rc::Rc`
[INFO] [stdout]  --> examples/basic-ckks-operations/src/example_mult.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::rc::Rc;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cell::RefCell`
[INFO] [stdout]  --> examples/basic-ckks-operations/src/example_sum.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::cell::RefCell;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::rc::Rc`
[INFO] [stdout]  --> examples/basic-ckks-operations/src/example_sum.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::rc::Rc;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cell::RefCell`
[INFO] [stdout]  --> examples/basic-ckks-operations/src/example_conjugate.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::cell::RefCell;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::rc::Rc`
[INFO] [stdout]  --> examples/basic-ckks-operations/src/example_conjugate.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::rc::Rc;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `left_rotate_and_equal` and `right_rotate_and_equal`
[INFO] [stdout]  --> examples/basic-ckks-operations/src/example_conjugate.rs:6:27
[INFO] [stdout]   |
[INFO] [stdout] 6 | use common::math::shift::{left_rotate_and_equal, right_rotate_and_equal};
[INFO] [stdout]   |                           ^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cell::RefCell`
[INFO] [stdout]  --> examples/basic-ckks-operations/src/example_sub.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::cell::RefCell;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::rc::Rc`
[INFO] [stdout]  --> examples/basic-ckks-operations/src/example_sub.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::rc::Rc;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> examples/basic-ckks-operations/src/example_bootstrapping.rs:37:9
[INFO] [stdout]    |
[INFO] [stdout] 37 |     let mut ckks = CKKS::new(Arc::clone(&ctx), Arc::clone(&keygen_shared));
[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: `nu`
[INFO] [stdout]   --> examples/basic-ckks-operations/src/example_bootstrapping.rs:16:9
[INFO] [stdout]    |
[INFO] [stdout] 16 |     let nu = 4;
[INFO] [stdout]    |         ^^ help: if this is intentional, prefix it with an underscore: `_nu`
[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]   --> examples/basic-ckks-operations/src/example_rotation.rs:28:9
[INFO] [stdout]    |
[INFO] [stdout] 28 |     let mut kgen = KeyGen::new(Arc::clone(&ctx));
[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]   --> examples/basic-ckks-operations/src/example_rotation.rs:35:9
[INFO] [stdout]    |
[INFO] [stdout] 35 |     let mut ckks = CKKS::new(Arc::clone(&ctx), Arc::clone(&keygen_shared));
[INFO] [stdout]    |         ----^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `nu`
[INFO] [stdout]   --> examples/basic-ckks-operations/src/example_rotation.rs:17:9
[INFO] [stdout]    |
[INFO] [stdout] 17 |     let nu = 4;
[INFO] [stdout]    |         ^^ help: if this is intentional, prefix it with an underscore: `_nu`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `log_t`
[INFO] [stdout]   --> examples/basic-ckks-operations/src/example_rotation.rs:18:9
[INFO] [stdout]    |
[INFO] [stdout] 18 |     let log_t = 2;
[INFO] [stdout]    |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_log_t`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dec_vec`
[INFO] [stdout]   --> examples/basic-ckks-operations/src/example_rotation.rs:50:9
[INFO] [stdout]    |
[INFO] [stdout] 50 |     let dec_vec = ckks.decrypt_complex(&mut enc_vec1);
[INFO] [stdout]    |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_dec_vec`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> examples/basic-ckks-operations/src/example_mult.rs:25:9
[INFO] [stdout]    |
[INFO] [stdout] 25 |     let mut kgen = KeyGen::new(Arc::clone(&ctx));
[INFO] [stdout]    |         ----^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `log_t`
[INFO] [stdout]   --> examples/basic-ckks-operations/src/example_mult.rs:17:9
[INFO] [stdout]    |
[INFO] [stdout] 17 |     let log_t = 3;
[INFO] [stdout]    |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_log_t`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> examples/basic-ckks-operations/src/example_sum.rs:27:9
[INFO] [stdout]    |
[INFO] [stdout] 27 |     let mut kgen = KeyGen::new(Arc::clone(&ctx));
[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]   --> examples/basic-ckks-operations/src/example_sum.rs:28:9
[INFO] [stdout]    |
[INFO] [stdout] 28 |     let mut keys = timer("Keygen time",true, || {
[INFO] [stdout]    |         ----^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `log_t`
[INFO] [stdout]   --> examples/basic-ckks-operations/src/example_sum.rs:17:9
[INFO] [stdout]    |
[INFO] [stdout] 17 |     let log_t = 3;
[INFO] [stdout]    |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_log_t`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> examples/basic-ckks-operations/src/example_conjugate.rs:25:9
[INFO] [stdout]    |
[INFO] [stdout] 25 |     let mut kgen = KeyGen::new(Arc::clone(&ctx.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]   --> examples/basic-ckks-operations/src/example_conjugate.rs:30:9
[INFO] [stdout]    |
[INFO] [stdout] 30 |     let mut ckks = CKKS::new(Arc::clone(&ctx), Arc::clone(&keygen_shared));
[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]   --> examples/basic-ckks-operations/src/example_conjugate.rs:32:9
[INFO] [stdout]    |
[INFO] [stdout] 32 |     let mut vec1: Vec<Complex<f64>> = vec![Complex::new(0.0370666, 0.664054), Complex::new(0.22808, 0.710907),
[INFO] [stdout]    |         ----^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `log_t`
[INFO] [stdout]   --> examples/basic-ckks-operations/src/example_conjugate.rs:18:9
[INFO] [stdout]    |
[INFO] [stdout] 18 |     let log_t = 3;
[INFO] [stdout]    |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_log_t`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> examples/basic-ckks-operations/src/example_sub.rs:26:9
[INFO] [stdout]    |
[INFO] [stdout] 26 |     let mut kgen = KeyGen::new(Arc::clone(&ctx));
[INFO] [stdout]    |         ----^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `log_t`
[INFO] [stdout]   --> examples/basic-ckks-operations/src/example_sub.rs:18:9
[INFO] [stdout]    |
[INFO] [stdout] 18 |     let log_t = 3;
[INFO] [stdout]    |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_log_t`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> examples/basic-ckks-operations/src/example_bootstrapping.rs:37:9
[INFO] [stdout]    |
[INFO] [stdout] 37 |     let mut ckks = CKKS::new(Arc::clone(&ctx), Arc::clone(&keygen_shared));
[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: `nu`
[INFO] [stdout]   --> examples/basic-ckks-operations/src/example_bootstrapping.rs:16:9
[INFO] [stdout]    |
[INFO] [stdout] 16 |     let nu = 4;
[INFO] [stdout]    |         ^^ help: if this is intentional, prefix it with an underscore: `_nu`
[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]   --> examples/basic-ckks-operations/src/example_rotation.rs:28:9
[INFO] [stdout]    |
[INFO] [stdout] 28 |     let mut kgen = KeyGen::new(Arc::clone(&ctx));
[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]   --> examples/basic-ckks-operations/src/example_rotation.rs:35:9
[INFO] [stdout]    |
[INFO] [stdout] 35 |     let mut ckks = CKKS::new(Arc::clone(&ctx), Arc::clone(&keygen_shared));
[INFO] [stdout]    |         ----^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `nu`
[INFO] [stdout]   --> examples/basic-ckks-operations/src/example_rotation.rs:17:9
[INFO] [stdout]    |
[INFO] [stdout] 17 |     let nu = 4;
[INFO] [stdout]    |         ^^ help: if this is intentional, prefix it with an underscore: `_nu`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `log_t`
[INFO] [stdout]   --> examples/basic-ckks-operations/src/example_rotation.rs:18:9
[INFO] [stdout]    |
[INFO] [stdout] 18 |     let log_t = 2;
[INFO] [stdout]    |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_log_t`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dec_vec`
[INFO] [stdout]   --> examples/basic-ckks-operations/src/example_rotation.rs:50:9
[INFO] [stdout]    |
[INFO] [stdout] 50 |     let dec_vec = ckks.decrypt_complex(&mut enc_vec1);
[INFO] [stdout]    |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_dec_vec`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> examples/basic-ckks-operations/src/example_mult.rs:25:9
[INFO] [stdout]    |
[INFO] [stdout] 25 |     let mut kgen = KeyGen::new(Arc::clone(&ctx));
[INFO] [stdout]    |         ----^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `log_t`
[INFO] [stdout]   --> examples/basic-ckks-operations/src/example_mult.rs:17:9
[INFO] [stdout]    |
[INFO] [stdout] 17 |     let log_t = 3;
[INFO] [stdout]    |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_log_t`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> examples/basic-ckks-operations/src/example_sum.rs:27:9
[INFO] [stdout]    |
[INFO] [stdout] 27 |     let mut kgen = KeyGen::new(Arc::clone(&ctx));
[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]   --> examples/basic-ckks-operations/src/example_sum.rs:28:9
[INFO] [stdout]    |
[INFO] [stdout] 28 |     let mut keys = timer("Keygen time",true, || {
[INFO] [stdout]    |         ----^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `log_t`
[INFO] [stdout]   --> examples/basic-ckks-operations/src/example_sum.rs:17:9
[INFO] [stdout]    |
[INFO] [stdout] 17 |     let log_t = 3;
[INFO] [stdout]    |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_log_t`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> examples/basic-ckks-operations/src/example_conjugate.rs:25:9
[INFO] [stdout]    |
[INFO] [stdout] 25 |     let mut kgen = KeyGen::new(Arc::clone(&ctx.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]   --> examples/basic-ckks-operations/src/example_conjugate.rs:30:9
[INFO] [stdout]    |
[INFO] [stdout] 30 |     let mut ckks = CKKS::new(Arc::clone(&ctx), Arc::clone(&keygen_shared));
[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]   --> examples/basic-ckks-operations/src/example_conjugate.rs:32:9
[INFO] [stdout]    |
[INFO] [stdout] 32 |     let mut vec1: Vec<Complex<f64>> = vec![Complex::new(0.0370666, 0.664054), Complex::new(0.22808, 0.710907),
[INFO] [stdout]    |         ----^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `log_t`
[INFO] [stdout]   --> examples/basic-ckks-operations/src/example_conjugate.rs:18:9
[INFO] [stdout]    |
[INFO] [stdout] 18 |     let log_t = 3;
[INFO] [stdout]    |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_log_t`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> examples/basic-ckks-operations/src/example_sub.rs:26:9
[INFO] [stdout]    |
[INFO] [stdout] 26 |     let mut kgen = KeyGen::new(Arc::clone(&ctx));
[INFO] [stdout]    |         ----^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `log_t`
[INFO] [stdout]   --> examples/basic-ckks-operations/src/example_sub.rs:18:9
[INFO] [stdout]    |
[INFO] [stdout] 18 |     let log_t = 3;
[INFO] [stdout]    |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_log_t`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `basic_ckks_operations::example_bootstrapping::example_bootstrapping`
[INFO] [stdout]  --> examples/basic-ckks-operations/src/main.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use basic_ckks_operations::example_bootstrapping::example_bootstrapping;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of an `unsafe` block
[INFO] [stdout]   --> examples/basic-ckks-operations/src/main.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | /     unsafe {
[INFO] [stdout] 12 | |         std::env::set_var("RUST_LOG", "info");
[INFO] [stdout] 13 | |         env_logger::init();
[INFO] [stdout] 14 | |     }
[INFO] [stdout]    | |_____^
[INFO] [stdout]    |
[INFO] [stdout]    = note: requested on the command line with `-W unsafe-code`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `basic_ckks_operations::example_bootstrapping::example_bootstrapping`
[INFO] [stdout]  --> examples/basic-ckks-operations/src/main.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use basic_ckks_operations::example_bootstrapping::example_bootstrapping;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of an `unsafe` block
[INFO] [stdout]   --> examples/basic-ckks-operations/src/main.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | /     unsafe {
[INFO] [stdout] 12 | |         std::env::set_var("RUST_LOG", "info");
[INFO] [stdout] 13 | |         env_logger::init();
[INFO] [stdout] 14 | |     }
[INFO] [stdout]    | |_____^
[INFO] [stdout]    |
[INFO] [stdout]    = note: requested on the command line with `-W unsafe-code`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized] target(s) in 26.06s
[INFO] running `Command { std: "docker" "inspect" "2159fa03c888067ad2ea6cbbc165fcb363d6eeb5ac82ca47ea8c5086cd05021d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "2159fa03c888067ad2ea6cbbc165fcb363d6eeb5ac82ca47ea8c5086cd05021d", kill_on_drop: false }`
[INFO] [stdout] 2159fa03c888067ad2ea6cbbc165fcb363d6eeb5ac82ca47ea8c5086cd05021d
