[INFO] cloning repository https://github.com/Janmajayamall/Onion-PIR
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Janmajayamall/Onion-PIR" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FJanmajayamall%2FOnion-PIR", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FJanmajayamall%2FOnion-PIR'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] d013b8a476a292f74f91d23cac25d9d038dc40ce
[INFO] building Janmajayamall/Onion-PIR against try#58b1b3c5342a414c161338871f8004258ccef2a7 for pr-149937
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FJanmajayamall%2FOnion-PIR" "/workspace/builds/worker-7-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/Janmajayamall/Onion-PIR
[INFO] finished tweaking git repo https://github.com/Janmajayamall/Onion-PIR
[INFO] tweaked toml for git repo https://github.com/Janmajayamall/Onion-PIR written to /workspace/builds/worker-7-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/Janmajayamall/Onion-PIR on toolchain 58b1b3c5342a414c161338871f8004258ccef2a7
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+58b1b3c5342a414c161338871f8004258ccef2a7" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/Janmajayamall/Onion-PIR 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" "+58b1b3c5342a414c161338871f8004258ccef2a7" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded libm v0.2.5
[INFO] [stderr]   Downloaded serde v1.0.145
[INFO] [stderr]   Downloaded num-bigint-dig v0.8.1
[INFO] [stderr]   Downloaded libc v0.2.133
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+58b1b3c5342a414c161338871f8004258ccef2a7" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] f21229918b94ca8bec7606f3f77e6c7fd4d3d200ab0a1e333b3474cb0e216ae2
[INFO] running `Command { std: "docker" "start" "-a" "f21229918b94ca8bec7606f3f77e6c7fd4d3d200ab0a1e333b3474cb0e216ae2", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "f21229918b94ca8bec7606f3f77e6c7fd4d3d200ab0a1e333b3474cb0e216ae2", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "f21229918b94ca8bec7606f3f77e6c7fd4d3d200ab0a1e333b3474cb0e216ae2", kill_on_drop: false }`
[INFO] [stdout] f21229918b94ca8bec7606f3f77e6c7fd4d3d200ab0a1e333b3474cb0e216ae2
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+58b1b3c5342a414c161338871f8004258ccef2a7" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 3116dc122aea2a28f3779819e02b23cd2622dbbf502bfc732ad1dad2e2e056c3
[INFO] running `Command { std: "docker" "start" "-a" "3116dc122aea2a28f3779819e02b23cd2622dbbf502bfc732ad1dad2e2e056c3", kill_on_drop: false }`
[INFO] [stderr]    Compiling libm v0.2.5
[INFO] [stderr]    Compiling num-traits v0.2.15
[INFO] [stderr]    Compiling libc v0.2.133
[INFO] [stderr]    Compiling num-integer v0.1.45
[INFO] [stderr]    Compiling num-iter v0.1.43
[INFO] [stderr]    Compiling serde v1.0.145
[INFO] [stderr]    Compiling num-bigint v0.4.3
[INFO] [stderr]    Compiling num-bigint-dig v0.8.1
[INFO] [stderr]    Compiling either v1.8.0
[INFO] [stderr]    Compiling smallvec v1.9.0
[INFO] [stderr]    Compiling matrixmultiply v0.3.2
[INFO] [stderr]    Compiling lazy_static v1.4.0
[INFO] [stderr]    Compiling byteorder v1.4.3
[INFO] [stderr]    Compiling cpufeatures v0.2.5
[INFO] [stderr]    Compiling block-buffer v0.10.3
[INFO] [stderr]    Compiling crypto-common v0.1.6
[INFO] [stderr]    Compiling digest v0.10.5
[INFO] [stderr]    Compiling itertools v0.10.5
[INFO] [stderr]    Compiling sha2 v0.10.6
[INFO] [stderr]    Compiling getrandom v0.2.7
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling crypto-bigint v0.4.9
[INFO] [stderr]    Compiling rand v0.8.5
[INFO] [stderr]    Compiling num-complex v0.4.2
[INFO] [stderr]    Compiling rand_distr v0.4.3
[INFO] [stderr]    Compiling ndarray v0.15.6
[INFO] [stderr]    Compiling onion-pir v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]    --> src/bfv.rs:150:26
[INFO] [stdout]     |
[INFO] [stdout] 150 |             let index2 = (m - pos - 1);
[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] 150 -             let index2 = (m - pos - 1);
[INFO] [stdout] 150 +             let index2 = m - pos - 1 ;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `for` iterator expression
[INFO] [stdout]    --> src/bfv.rs:353:18
[INFO] [stdout]     |
[INFO] [stdout] 353 |         for i in (1..ct.cts.len()) {
[INFO] [stdout]     |                  ^               ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 353 -         for i in (1..ct.cts.len()) {
[INFO] [stdout] 353 +         for i in 1..ct.cts.len()  {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]    --> src/bfv.rs:495:13
[INFO] [stdout]     |
[INFO] [stdout] 495 |             (self.cts.len() + rhs.cts.len() - 1)
[INFO] [stdout]     |             ^                                  ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 495 -             (self.cts.len() + rhs.cts.len() - 1)
[INFO] [stdout] 495 +             self.cts.len() + rhs.cts.len() - 1 
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/bfv.rs:763:12
[INFO] [stdout]     |
[INFO] [stdout] 763 |         if (p.representation == Representation::Ntt) {
[INFO] [stdout]     |            ^                                       ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 763 -         if (p.representation == Representation::Ntt) {
[INFO] [stdout] 763 +         if p.representation == Representation::Ntt  {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Encoding` and `modulus::Modulus`
[INFO] [stdout]  --> src/evaluations.rs:2:41
[INFO] [stdout]   |
[INFO] [stdout] 2 |     bfv::{BfvCipherText, BfvParameters, Encoding, GaliosKey, Plaintext, SecretKey},
[INFO] [stdout]   |                                         ^^^^^^^^
[INFO] [stdout] 3 |     ksk::Ksk,
[INFO] [stdout] 4 |     modulus::Modulus,
[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: `enumerate`
[INFO] [stdout]   --> src/evaluations.rs:10:17
[INFO] [stdout]    |
[INFO] [stdout] 10 | use itertools::{enumerate, izip, Itertools};
[INFO] [stdout]    |                 ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ndarray::Array2`
[INFO] [stdout]   --> src/evaluations.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use ndarray::Array2;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `One`, `ToPrimitive`, and `Zero`
[INFO] [stdout]   --> src/evaluations.rs:14:33
[INFO] [stdout]    |
[INFO] [stdout] 14 | use num_traits::{FromPrimitive, One, ToPrimitive, Zero};
[INFO] [stdout]    |                                 ^^^  ^^^^^^^^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Encoding` and `modulus::Modulus`
[INFO] [stdout]  --> src/ksk.rs:4:26
[INFO] [stdout]   |
[INFO] [stdout] 4 |     bfv::{BfvCipherText, Encoding, Plaintext},
[INFO] [stdout]   |                          ^^^^^^^^
[INFO] [stdout] 5 |     modulus::Modulus,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Itertools`
[INFO] [stdout]  --> src/ksk.rs:8:23
[INFO] [stdout]   |
[INFO] [stdout] 8 | use itertools::{izip, Itertools};
[INFO] [stdout]   |                       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `num_bigint::BigUint`
[INFO] [stdout]  --> src/ksk.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use num_bigint::BigUint;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `num_traits::FromPrimitive`
[INFO] [stdout]   --> src/ksk.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use num_traits::FromPrimitive;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `num_traits::cast::ToPrimitive`
[INFO] [stdout]  --> src/ntt.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use num_traits::cast::ToPrimitive;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self`
[INFO] [stdout]  --> src/omr.rs:5:11
[INFO] [stdout]   |
[INFO] [stdout] 5 |     pvw::{self, PvwCiphertext, PvwParams},
[INFO] [stdout]   |           ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Array2` and `Axis`
[INFO] [stdout]  --> src/pvw.rs:5:15
[INFO] [stdout]   |
[INFO] [stdout] 5 | use ndarray::{Array2, Axis};
[INFO] [stdout]   |               ^^^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::*`
[INFO] [stdout]    --> src/pvw.rs:160:9
[INFO] [stdout]     |
[INFO] [stdout] 160 |     use super::*;
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `sync::Arc` and `task::Poll`
[INFO] [stdout]  --> src/rgsw.rs:1:11
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{sync::Arc, task::Poll};
[INFO] [stdout]   |           ^^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crypto_bigint::rand_core::le`
[INFO] [stdout]  --> src/rgsw.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crypto_bigint::rand_core::le;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `itertools::izip`
[INFO] [stdout]  --> src/rgsw.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use itertools::izip;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `num_bigint::BigUint`
[INFO] [stdout]  --> src/rgsw.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use num_bigint::BigUint;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `sha2::digest::typenum::private::IsLessPrivate`
[INFO] [stdout]  --> src/rgsw.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use sha2::digest::typenum::private::IsLessPrivate;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Encoding`
[INFO] [stdout]  --> src/rgsw.rs:8:33
[INFO] [stdout]   |
[INFO] [stdout] 8 | use super::bfv::{BfvCipherText, Encoding};
[INFO] [stdout]   |                                 ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BfvParameters` and `RqContext`
[INFO] [stdout]   --> src/rgsw.rs:10:11
[INFO] [stdout]    |
[INFO] [stdout] 10 |     bfv::{BfvParameters, Plaintext, SecretKey},
[INFO] [stdout]    |           ^^^^^^^^^^^^^
[INFO] [stdout] 11 |     ksk::Ksk,
[INFO] [stdout] 12 |     rq::{Poly, Representation, RqContext},
[INFO] [stdout]    |                                ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `itertools::Itertools`
[INFO] [stdout]   --> src/rgsw.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use itertools::Itertools;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::clone`
[INFO] [stdout]  --> src/rns.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::clone;
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self`
[INFO] [stdout]  --> src/rq.rs:2:15
[INFO] [stdout]   |
[INFO] [stdout] 2 |     modulus::{self, Modulus},
[INFO] [stdout]   |               ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `thread_rng`
[INFO] [stdout]   --> src/rq.rs:12:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | use rand::{thread_rng, CryptoRng, RngCore, SeedableRng};
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `clone`, `error::Error`, `io::Repeat`, and `task::Context`
[INFO] [stdout]   --> src/rq.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 |     clone,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 17 |     error::Error,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 18 |     fmt::Debug,
[INFO] [stdout] 19 |     io::Repeat,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 22 |     task::Context,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `while` condition
[INFO] [stdout]    --> src/rq.rs:239:15
[INFO] [stdout]     |
[INFO] [stdout] 239 |         while (curr_ctx.next_ctx.is_some()) {
[INFO] [stdout]     |               ^                           ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 239 -         while (curr_ctx.next_ctx.is_some()) {
[INFO] [stdout] 239 +         while curr_ctx.next_ctx.is_some()  {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `for` iterator expression
[INFO] [stdout]    --> src/rq.rs:322:26
[INFO] [stdout]     |
[INFO] [stdout] 322 |                 for i in (0..self.context.bit_decomposition.l) {
[INFO] [stdout]     |                          ^                                   ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 322 -                 for i in (0..self.context.bit_decomposition.l) {
[INFO] [stdout] 322 +                 for i in 0..self.context.bit_decomposition.l  {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around pattern
[INFO] [stdout]    --> src/rq.rs:337:50
[INFO] [stdout]     |
[INFO] [stdout] 337 |                 izip!(cq.outer_iter()).for_each(|(c)| {
[INFO] [stdout]     |                                                  ^ ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 337 -                 izip!(cq.outer_iter()).for_each(|(c)| {
[INFO] [stdout] 337 +                 izip!(cq.outer_iter()).for_each(|c | {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `num_bigint::BigUint`
[INFO] [stdout]  --> src/utils.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use num_bigint::BigUint;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Uniform`
[INFO] [stdout]  --> src/utils.rs:5:32
[INFO] [stdout]   |
[INFO] [stdout] 5 | use rand_distr::{Distribution, Uniform};
[INFO] [stdout]   |                                ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::*`
[INFO] [stdout]    --> src/utils.rs:293:9
[INFO] [stdout]     |
[INFO] [stdout] 293 |     use super::*;
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Distribution`
[INFO] [stdout]  --> src/utils.rs:5:18
[INFO] [stdout]   |
[INFO] [stdout] 5 | use rand_distr::{Distribution, Uniform};
[INFO] [stdout]   |                  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/bfv.rs:676:9
[INFO] [stdout]     |
[INFO] [stdout] 676 |     let mut c_0 = &c0_0 * &c1_0;
[INFO] [stdout]     |         ----^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/bfv.rs:677:9
[INFO] [stdout]     |
[INFO] [stdout] 677 |     let mut c_1 = &(&c0_0 * &c1_1) + &(&c1_0 * &c0_1);
[INFO] [stdout]     |         ----^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/bfv.rs:678:9
[INFO] [stdout]     |
[INFO] [stdout] 678 |     let mut c_2 = &c0_1 * &c1_1;
[INFO] [stdout]     |         ----^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/bfv.rs:712:13
[INFO] [stdout]     |
[INFO] [stdout] 712 |         let mut sk_poly = Poly::try_from_vec_i64(&ctx, &sk.coeffs);
[INFO] [stdout]     |             ----^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bfv_params`
[INFO] [stdout]   --> src/evaluations.rs:40:9
[INFO] [stdout]    |
[INFO] [stdout] 40 |         bfv_params: &Arc<BfvParameters>,
[INFO] [stdout]    |         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_bfv_params`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sk`
[INFO] [stdout]   --> src/evaluations.rs:41:9
[INFO] [stdout]    |
[INFO] [stdout] 41 |         sk: &SecretKey,
[INFO] [stdout]    |         ^^ help: if this is intentional, prefix it with an underscore: `_sk`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `row_index`
[INFO] [stdout]    --> src/evaluations.rs:197:28
[INFO] [stdout]     |
[INFO] [stdout] 197 |                     .map(|(row_index, db_chunk_cts)| {
[INFO] [stdout]     |                            ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_row_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dim_index`
[INFO] [stdout]    --> src/evaluations.rs:192:25
[INFO] [stdout]     |
[INFO] [stdout] 192 |             .for_each(|(dim_index, dim_rgsws)| {
[INFO] [stdout]     |                         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_dim_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `representation` is never read
[INFO] [stdout]    --> src/rq.rs:121:13
[INFO] [stdout]     |
[INFO] [stdout] 121 |             representation = Representation::Ntt;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `c`
[INFO] [stdout]    --> src/rq.rs:337:51
[INFO] [stdout]     |
[INFO] [stdout] 337 |                 izip!(cq.outer_iter()).for_each(|(c)| {
[INFO] [stdout]     |                                                   ^ help: if this is intentional, prefix it with an underscore: `_c`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `decomposed`
[INFO] [stdout]    --> src/rq.rs:332:25
[INFO] [stdout]     |
[INFO] [stdout] 332 |                     let decomposed = decompose_bits(*v, parent_bits as usize, base_bits);
[INFO] [stdout]     |                         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_decomposed`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `g`
[INFO] [stdout]    --> src/rq.rs:334:25
[INFO] [stdout]     |
[INFO] [stdout] 334 |                     let g = poly.slice_mut(s![row_index, col_index, ..]);
[INFO] [stdout]     |                         ^ help: if this is intentional, prefix it with an underscore: `_g`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/rq.rs:372:21
[INFO] [stdout]     |
[INFO] [stdout] 372 |                 let mut p = self.clone();
[INFO] [stdout]     |                     ----^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `p`
[INFO] [stdout]    --> src/rq.rs:372:21
[INFO] [stdout]     |
[INFO] [stdout] 372 |                 let mut p = self.clone();
[INFO] [stdout]     |                     ^^^^^ help: if this is intentional, prefix it with an underscore: `_p`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `poly`
[INFO] [stdout]    --> src/rq.rs:507:13
[INFO] [stdout]     |
[INFO] [stdout] 507 |         let poly = Poly::zero(ctx, Representation::PowerBasis);
[INFO] [stdout]     |             ^^^^ help: if this is intentional, prefix it with an underscore: `_poly`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SecretKey` is never constructed
[INFO] [stdout]    --> src/bfv.rs:273:12
[INFO] [stdout]     |
[INFO] [stdout] 273 | pub struct SecretKey {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/bfv.rs:279:12
[INFO] [stdout]     |
[INFO] [stdout] 278 | impl SecretKey {
[INFO] [stdout]     | -------------- associated items in this implementation
[INFO] [stdout] 279 |     pub fn generate(params: &Arc<BfvParameters>) -> Self {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 292 |     pub fn new(coeffs: Vec<i64>, params: &Arc<BfvParameters>) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 299 |     pub fn encrypt_poly(&self, pt: &Poly) -> BfvCipherText {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 331 |     pub fn encrypt(&self, pt: &Plaintext) -> BfvCipherText {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 336 |     pub fn decrypt_trial(&self, ct0: &Poly, ct1: &Poly) -> Poly {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 347 |     pub fn decrypt(&self, ct: &BfvCipherText) -> Plaintext {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 386 |     pub fn measure_noise(&self, ct: &BfvCipherText) -> usize {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BfvCiphertext` is never constructed
[INFO] [stdout]    --> src/bfv.rs:413:12
[INFO] [stdout]     |
[INFO] [stdout] 413 | pub struct BfvCiphertext {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `multiply_with_strategy` is never used
[INFO] [stdout]    --> src/bfv.rs:657:8
[INFO] [stdout]     |
[INFO] [stdout] 657 | pub fn multiply_with_strategy(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `GaliosKey` is never constructed
[INFO] [stdout]    --> src/bfv.rs:700:12
[INFO] [stdout]     |
[INFO] [stdout] 700 | pub struct GaliosKey {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `relinearize` are never used
[INFO] [stdout]    --> src/bfv.rs:707:12
[INFO] [stdout]     |
[INFO] [stdout] 706 | impl GaliosKey {
[INFO] [stdout]     | -------------- associated items in this implementation
[INFO] [stdout] 707 |     pub fn new(sk: &SecretKey, i: &Substitution, galios_level: usize) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 725 |     pub fn relinearize(&self, ct: &BfvCipherText) -> BfvCipherText {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RelinearizationKey` is never constructed
[INFO] [stdout]    --> src/bfv.rs:743:12
[INFO] [stdout]     |
[INFO] [stdout] 743 | pub struct RelinearizationKey {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `relinearize_poly` are never used
[INFO] [stdout]    --> src/bfv.rs:749:12
[INFO] [stdout]     |
[INFO] [stdout] 748 | impl RelinearizationKey {
[INFO] [stdout]     | ----------------------- associated items in this implementation
[INFO] [stdout] 749 |     pub fn new(sk: &SecretKey, level: usize) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 762 |     pub fn relinearize_poly(&self, p: &Poly) -> (Poly, Poly) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Client` is never constructed
[INFO] [stdout]   --> src/evaluations.rs:17:8
[INFO] [stdout]    |
[INFO] [stdout] 17 | struct Client {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `encode` are never used
[INFO] [stdout]   --> src/evaluations.rs:32:12
[INFO] [stdout]    |
[INFO] [stdout] 31 | impl Client {
[INFO] [stdout]    | ----------- associated items in this implementation
[INFO] [stdout] 32 |     pub fn new(first_dim: usize, dim: usize) -> Client {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 36 |     pub fn encode(
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Server` is never constructed
[INFO] [stdout]   --> src/evaluations.rs:65:8
[INFO] [stdout]    |
[INFO] [stdout] 65 | struct Server {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `no_of_cts`, and `decode` are never used
[INFO] [stdout]    --> src/evaluations.rs:73:12
[INFO] [stdout]     |
[INFO] [stdout]  72 | impl Server {
[INFO] [stdout]     | ----------- associated items in this implementation
[INFO] [stdout]  73 |     pub fn new(
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  95 |     fn no_of_cts(&self) -> usize {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 109 |     pub fn decode(
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Evaluation` is never constructed
[INFO] [stdout]    --> src/evaluations.rs:229:8
[INFO] [stdout]     |
[INFO] [stdout] 229 | struct Evaluation {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `build`, `unpack`, and `gen_x_pows` are never used
[INFO] [stdout]    --> src/evaluations.rs:235:12
[INFO] [stdout]     |
[INFO] [stdout] 234 | impl Evaluation {
[INFO] [stdout]     | --------------- associated items in this implementation
[INFO] [stdout] 235 |     pub fn build(sk: &SecretKey, params: &Arc<BfvParameters>) -> Self {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 254 |     pub fn unpack(&self, mut ct: BfvCipherText) -> Vec<BfvCipherText> {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 301 |     fn gen_x_pows(n: usize, ctx: &Arc<RqContext>) -> Vec<Poly> {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Ksk` is never constructed
[INFO] [stdout]   --> src/ksk.rs:20:12
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub struct Ksk {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `KskType` is never used
[INFO] [stdout]   --> src/ksk.rs:32:6
[INFO] [stdout]    |
[INFO] [stdout] 32 | enum KskType {
[INFO] [stdout]    |      ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new_with_pt`, `new`, `key_switch`, and `try_from_decomposed_rlwes` are never used
[INFO] [stdout]    --> src/ksk.rs:38:12
[INFO] [stdout]     |
[INFO] [stdout]  37 | impl Ksk {
[INFO] [stdout]     | -------- associated items in this implementation
[INFO] [stdout]  38 |     pub fn new_with_pt(
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  47 |     pub fn new(sk: &SecretKey, from: &Poly, ct_level: usize, ksk_level: usize) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 102 |     pub fn key_switch(&self, poly: &Poly) -> (Poly, Poly) {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 127 |     pub fn try_from_decomposed_rlwes(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `inner_product` is never used
[INFO] [stdout]  --> src/omr.rs:9:4
[INFO] [stdout]   |
[INFO] [stdout] 9 | fn inner_product(cts: &Vec<BfvCipherText>, polys: &Vec<Poly>) -> BfvCipherText {
[INFO] [stdout]   |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `process` is never used
[INFO] [stdout]   --> src/omr.rs:21:4
[INFO] [stdout]    |
[INFO] [stdout] 21 | fn process() {
[INFO] [stdout]    |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PvwParams` is never constructed
[INFO] [stdout]   --> src/pvw.rs:11:12
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub struct PvwParams {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/pvw.rs:32:12
[INFO] [stdout]    |
[INFO] [stdout] 31 | impl PvwParams {
[INFO] [stdout]    | -------------- associated function in this implementation
[INFO] [stdout] 32 |     pub fn new() -> PvwParams {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PvwSk` is never constructed
[INFO] [stdout]   --> src/pvw.rs:37:12
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub struct PvwSk(Vec<Vec<u64>>);
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `gen_sk`, `gen_pk`, and `decrypt` are never used
[INFO] [stdout]   --> src/pvw.rs:40:12
[INFO] [stdout]    |
[INFO] [stdout] 39 | impl PvwSk {
[INFO] [stdout]    | ---------- associated items in this implementation
[INFO] [stdout] 40 |     pub fn gen_sk(params: &PvwParams) -> PvwSk {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 56 |     pub fn gen_pk(&self, params: &PvwParams) -> PvwPk {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 94 |     pub fn decrypt(&self, params: &PvwParams, ct: &PvwCiphertext) -> Vec<u64> {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PvwPk` is never constructed
[INFO] [stdout]    --> src/pvw.rs:117:12
[INFO] [stdout]     |
[INFO] [stdout] 117 | pub struct PvwPk(Vec<PvwCiphertext>);
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `encrypt` is never used
[INFO] [stdout]    --> src/pvw.rs:120:12
[INFO] [stdout]     |
[INFO] [stdout] 119 | impl PvwPk {
[INFO] [stdout]     | ---------- method in this implementation
[INFO] [stdout] 120 |     pub fn encrypt(&self, params: &PvwParams, m: Vec<u64>) -> PvwCiphertext {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PvwCiphertext` is never constructed
[INFO] [stdout]    --> src/pvw.rs:152:12
[INFO] [stdout]     |
[INFO] [stdout] 152 | pub struct PvwCiphertext {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RGSW` is never constructed
[INFO] [stdout]   --> src/rgsw.rs:17:12
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub struct RGSW {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RgswCt` is never constructed
[INFO] [stdout]   --> src/rgsw.rs:22:12
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub struct RgswCt {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `encrypt_poly`, `encrypt`, `external_product`, and `try_from_ksks` are never used
[INFO] [stdout]   --> src/rgsw.rs:28:12
[INFO] [stdout]    |
[INFO] [stdout] 27 | impl RgswCt {
[INFO] [stdout]    | ----------- associated functions in this implementation
[INFO] [stdout] 28 |     pub fn encrypt_poly(sk: &SecretKey, m: &Poly) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 44 |     pub fn encrypt(sk: &SecretKey, m: &Plaintext) -> Self {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 63 |     pub fn external_product(rgsw: &RgswCt, bfv: &BfvCipherText) -> (Poly, Poly) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 80 |     pub fn try_from_ksks(ksk0: &Ksk, ksk1: &Ksk) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/rq.rs:70:8
[INFO] [stdout]    |
[INFO] [stdout] 69 | impl BitDecomposition {
[INFO] [stdout]    | --------------------- associated function in this implementation
[INFO] [stdout] 70 |     fn new(base: usize, l: usize) -> Self {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `mod_inverse` is never used
[INFO] [stdout]   --> src/utils.rs:95:8
[INFO] [stdout]    |
[INFO] [stdout] 95 | pub fn mod_inverse(v: u64, q: u64) -> Option<u64> {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `D` should have a snake case name
[INFO] [stdout]   --> src/omr.rs:28:9
[INFO] [stdout]    |
[INFO] [stdout] 28 |     let D = 64;
[INFO] [stdout]    |         ^ help: convert the identifier to snake case: `d`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/rq.rs:268:25
[INFO] [stdout]     |
[INFO] [stdout] 268 |     pub fn coefficients(&self) -> ArrayView2<u64> {
[INFO] [stdout]     |                         ^^^^^     ^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 268 |     pub fn coefficients(&self) -> ArrayView2<'_, u64> {
[INFO] [stdout]     |                                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 10.03s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: num-bigint-dig v0.8.1
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 4`
[INFO] running `Command { std: "docker" "inspect" "3116dc122aea2a28f3779819e02b23cd2622dbbf502bfc732ad1dad2e2e056c3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "3116dc122aea2a28f3779819e02b23cd2622dbbf502bfc732ad1dad2e2e056c3", kill_on_drop: false }`
[INFO] [stdout] 3116dc122aea2a28f3779819e02b23cd2622dbbf502bfc732ad1dad2e2e056c3
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+58b1b3c5342a414c161338871f8004258ccef2a7" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 083fe1e835daf3ececc18cddde6170acbd9f872f7ec64b3e83993fc84b67cf75
[INFO] running `Command { std: "docker" "start" "-a" "083fe1e835daf3ececc18cddde6170acbd9f872f7ec64b3e83993fc84b67cf75", kill_on_drop: false }`
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]    --> src/bfv.rs:150:26
[INFO] [stdout]     |
[INFO] [stdout] 150 |             let index2 = (m - pos - 1);
[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] 150 -             let index2 = (m - pos - 1);
[INFO] [stdout] 150 +             let index2 = m - pos - 1 ;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `for` iterator expression
[INFO] [stdout]    --> src/bfv.rs:353:18
[INFO] [stdout]     |
[INFO] [stdout] 353 |         for i in (1..ct.cts.len()) {
[INFO] [stdout]     |                  ^               ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 353 -         for i in (1..ct.cts.len()) {
[INFO] [stdout] 353 +         for i in 1..ct.cts.len()  {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]    --> src/bfv.rs:495:13
[INFO] [stdout]     |
[INFO] [stdout] 495 |             (self.cts.len() + rhs.cts.len() - 1)
[INFO] [stdout]     |             ^                                  ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 495 -             (self.cts.len() + rhs.cts.len() - 1)
[INFO] [stdout] 495 +             self.cts.len() + rhs.cts.len() - 1 
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/bfv.rs:763:12
[INFO] [stdout]     |
[INFO] [stdout] 763 |         if (p.representation == Representation::Ntt) {
[INFO] [stdout]     |            ^                                       ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 763 -         if (p.representation == Representation::Ntt) {
[INFO] [stdout] 763 +         if p.representation == Representation::Ntt  {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Encoding` and `modulus::Modulus`
[INFO] [stdout]  --> src/evaluations.rs:2:41
[INFO] [stdout]   |
[INFO] [stdout] 2 |     bfv::{BfvCipherText, BfvParameters, Encoding, GaliosKey, Plaintext, SecretKey},
[INFO] [stdout]   |                                         ^^^^^^^^
[INFO] [stdout] 3 |     ksk::Ksk,
[INFO] [stdout] 4 |     modulus::Modulus,
[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: `enumerate`
[INFO] [stdout]   --> src/evaluations.rs:10:17
[INFO] [stdout]    |
[INFO] [stdout] 10 | use itertools::{enumerate, izip, Itertools};
[INFO] [stdout]    |                 ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ndarray::Array2`
[INFO] [stdout]   --> src/evaluations.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use ndarray::Array2;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `One`, `ToPrimitive`, and `Zero`
[INFO] [stdout]   --> src/evaluations.rs:14:33
[INFO] [stdout]    |
[INFO] [stdout] 14 | use num_traits::{FromPrimitive, One, ToPrimitive, Zero};
[INFO] [stdout]    |                                 ^^^  ^^^^^^^^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Encoding` and `modulus::Modulus`
[INFO] [stdout]  --> src/ksk.rs:4:26
[INFO] [stdout]   |
[INFO] [stdout] 4 |     bfv::{BfvCipherText, Encoding, Plaintext},
[INFO] [stdout]   |                          ^^^^^^^^
[INFO] [stdout] 5 |     modulus::Modulus,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Itertools`
[INFO] [stdout]  --> src/ksk.rs:8:23
[INFO] [stdout]   |
[INFO] [stdout] 8 | use itertools::{izip, Itertools};
[INFO] [stdout]   |                       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `num_bigint::BigUint`
[INFO] [stdout]  --> src/ksk.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use num_bigint::BigUint;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `num_traits::FromPrimitive`
[INFO] [stdout]   --> src/ksk.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use num_traits::FromPrimitive;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `num_traits::cast::ToPrimitive`
[INFO] [stdout]  --> src/ntt.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use num_traits::cast::ToPrimitive;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self`
[INFO] [stdout]  --> src/omr.rs:5:11
[INFO] [stdout]   |
[INFO] [stdout] 5 |     pvw::{self, PvwCiphertext, PvwParams},
[INFO] [stdout]   |           ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Array2` and `Axis`
[INFO] [stdout]  --> src/pvw.rs:5:15
[INFO] [stdout]   |
[INFO] [stdout] 5 | use ndarray::{Array2, Axis};
[INFO] [stdout]   |               ^^^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::*`
[INFO] [stdout]    --> src/pvw.rs:160:9
[INFO] [stdout]     |
[INFO] [stdout] 160 |     use super::*;
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `sync::Arc` and `task::Poll`
[INFO] [stdout]  --> src/rgsw.rs:1:11
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{sync::Arc, task::Poll};
[INFO] [stdout]   |           ^^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crypto_bigint::rand_core::le`
[INFO] [stdout]  --> src/rgsw.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crypto_bigint::rand_core::le;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `itertools::izip`
[INFO] [stdout]  --> src/rgsw.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use itertools::izip;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `num_bigint::BigUint`
[INFO] [stdout]  --> src/rgsw.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use num_bigint::BigUint;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `sha2::digest::typenum::private::IsLessPrivate`
[INFO] [stdout]  --> src/rgsw.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use sha2::digest::typenum::private::IsLessPrivate;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Encoding`
[INFO] [stdout]  --> src/rgsw.rs:8:33
[INFO] [stdout]   |
[INFO] [stdout] 8 | use super::bfv::{BfvCipherText, Encoding};
[INFO] [stdout]   |                                 ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BfvParameters` and `RqContext`
[INFO] [stdout]   --> src/rgsw.rs:10:11
[INFO] [stdout]    |
[INFO] [stdout] 10 |     bfv::{BfvParameters, Plaintext, SecretKey},
[INFO] [stdout]    |           ^^^^^^^^^^^^^
[INFO] [stdout] 11 |     ksk::Ksk,
[INFO] [stdout] 12 |     rq::{Poly, Representation, RqContext},
[INFO] [stdout]    |                                ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `itertools::Itertools`
[INFO] [stdout]   --> src/rgsw.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use itertools::Itertools;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::clone`
[INFO] [stdout]  --> src/rns.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::clone;
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self`
[INFO] [stdout]  --> src/rq.rs:2:15
[INFO] [stdout]   |
[INFO] [stdout] 2 |     modulus::{self, Modulus},
[INFO] [stdout]   |               ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `thread_rng`
[INFO] [stdout]   --> src/rq.rs:12:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | use rand::{thread_rng, CryptoRng, RngCore, SeedableRng};
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `clone`, `error::Error`, `io::Repeat`, and `task::Context`
[INFO] [stdout]   --> src/rq.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 |     clone,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 17 |     error::Error,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 18 |     fmt::Debug,
[INFO] [stdout] 19 |     io::Repeat,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 22 |     task::Context,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `while` condition
[INFO] [stdout]    --> src/rq.rs:239:15
[INFO] [stdout]     |
[INFO] [stdout] 239 |         while (curr_ctx.next_ctx.is_some()) {
[INFO] [stdout]     |               ^                           ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 239 -         while (curr_ctx.next_ctx.is_some()) {
[INFO] [stdout] 239 +         while curr_ctx.next_ctx.is_some()  {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `for` iterator expression
[INFO] [stdout]    --> src/rq.rs:322:26
[INFO] [stdout]     |
[INFO] [stdout] 322 |                 for i in (0..self.context.bit_decomposition.l) {
[INFO] [stdout]     |                          ^                                   ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 322 -                 for i in (0..self.context.bit_decomposition.l) {
[INFO] [stdout] 322 +                 for i in 0..self.context.bit_decomposition.l  {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around pattern
[INFO] [stdout]    --> src/rq.rs:337:50
[INFO] [stdout]     |
[INFO] [stdout] 337 |                 izip!(cq.outer_iter()).for_each(|(c)| {
[INFO] [stdout]     |                                                  ^ ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 337 -                 izip!(cq.outer_iter()).for_each(|(c)| {
[INFO] [stdout] 337 +                 izip!(cq.outer_iter()).for_each(|c | {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `num_bigint::BigUint`
[INFO] [stdout]  --> src/utils.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use num_bigint::BigUint;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Uniform`
[INFO] [stdout]  --> src/utils.rs:5:32
[INFO] [stdout]   |
[INFO] [stdout] 5 | use rand_distr::{Distribution, Uniform};
[INFO] [stdout]   |                                ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::*`
[INFO] [stdout]    --> src/utils.rs:293:9
[INFO] [stdout]     |
[INFO] [stdout] 293 |     use super::*;
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Distribution`
[INFO] [stdout]  --> src/utils.rs:5:18
[INFO] [stdout]   |
[INFO] [stdout] 5 | use rand_distr::{Distribution, Uniform};
[INFO] [stdout]   |                  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/bfv.rs:676:9
[INFO] [stdout]     |
[INFO] [stdout] 676 |     let mut c_0 = &c0_0 * &c1_0;
[INFO] [stdout]     |         ----^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/bfv.rs:677:9
[INFO] [stdout]     |
[INFO] [stdout] 677 |     let mut c_1 = &(&c0_0 * &c1_1) + &(&c1_0 * &c0_1);
[INFO] [stdout]     |         ----^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/bfv.rs:678:9
[INFO] [stdout]     |
[INFO] [stdout] 678 |     let mut c_2 = &c0_1 * &c1_1;
[INFO] [stdout]     |         ----^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/bfv.rs:712:13
[INFO] [stdout]     |
[INFO] [stdout] 712 |         let mut sk_poly = Poly::try_from_vec_i64(&ctx, &sk.coeffs);
[INFO] [stdout]     |             ----^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bfv_params`
[INFO] [stdout]   --> src/evaluations.rs:40:9
[INFO] [stdout]    |
[INFO] [stdout] 40 |         bfv_params: &Arc<BfvParameters>,
[INFO] [stdout]    |         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_bfv_params`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sk`
[INFO] [stdout]   --> src/evaluations.rs:41:9
[INFO] [stdout]    |
[INFO] [stdout] 41 |         sk: &SecretKey,
[INFO] [stdout]    |         ^^ help: if this is intentional, prefix it with an underscore: `_sk`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `row_index`
[INFO] [stdout]    --> src/evaluations.rs:197:28
[INFO] [stdout]     |
[INFO] [stdout] 197 |                     .map(|(row_index, db_chunk_cts)| {
[INFO] [stdout]     |                            ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_row_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dim_index`
[INFO] [stdout]    --> src/evaluations.rs:192:25
[INFO] [stdout]     |
[INFO] [stdout] 192 |             .for_each(|(dim_index, dim_rgsws)| {
[INFO] [stdout]     |                         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_dim_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `representation` is never read
[INFO] [stdout]    --> src/rq.rs:121:13
[INFO] [stdout]     |
[INFO] [stdout] 121 |             representation = Representation::Ntt;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `c`
[INFO] [stdout]    --> src/rq.rs:337:51
[INFO] [stdout]     |
[INFO] [stdout] 337 |                 izip!(cq.outer_iter()).for_each(|(c)| {
[INFO] [stdout]     |                                                   ^ help: if this is intentional, prefix it with an underscore: `_c`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `decomposed`
[INFO] [stdout]    --> src/rq.rs:332:25
[INFO] [stdout]     |
[INFO] [stdout] 332 |                     let decomposed = decompose_bits(*v, parent_bits as usize, base_bits);
[INFO] [stdout]     |                         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_decomposed`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `g`
[INFO] [stdout]    --> src/rq.rs:334:25
[INFO] [stdout]     |
[INFO] [stdout] 334 |                     let g = poly.slice_mut(s![row_index, col_index, ..]);
[INFO] [stdout]     |                         ^ help: if this is intentional, prefix it with an underscore: `_g`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/rq.rs:372:21
[INFO] [stdout]     |
[INFO] [stdout] 372 |                 let mut p = self.clone();
[INFO] [stdout]     |                     ----^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `p`
[INFO] [stdout]    --> src/rq.rs:372:21
[INFO] [stdout]     |
[INFO] [stdout] 372 |                 let mut p = self.clone();
[INFO] [stdout]     |                     ^^^^^ help: if this is intentional, prefix it with an underscore: `_p`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `poly`
[INFO] [stdout]    --> src/rq.rs:507:13
[INFO] [stdout]     |
[INFO] [stdout] 507 |         let poly = Poly::zero(ctx, Representation::PowerBasis);
[INFO] [stdout]     |             ^^^^ help: if this is intentional, prefix it with an underscore: `_poly`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SecretKey` is never constructed
[INFO] [stdout]    --> src/bfv.rs:273:12
[INFO] [stdout]     |
[INFO] [stdout] 273 | pub struct SecretKey {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/bfv.rs:279:12
[INFO] [stdout]     |
[INFO] [stdout] 278 | impl SecretKey {
[INFO] [stdout]     | -------------- associated items in this implementation
[INFO] [stdout] 279 |     pub fn generate(params: &Arc<BfvParameters>) -> Self {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 292 |     pub fn new(coeffs: Vec<i64>, params: &Arc<BfvParameters>) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 299 |     pub fn encrypt_poly(&self, pt: &Poly) -> BfvCipherText {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 331 |     pub fn encrypt(&self, pt: &Plaintext) -> BfvCipherText {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 336 |     pub fn decrypt_trial(&self, ct0: &Poly, ct1: &Poly) -> Poly {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 347 |     pub fn decrypt(&self, ct: &BfvCipherText) -> Plaintext {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 386 |     pub fn measure_noise(&self, ct: &BfvCipherText) -> usize {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BfvCiphertext` is never constructed
[INFO] [stdout]    --> src/bfv.rs:413:12
[INFO] [stdout]     |
[INFO] [stdout] 413 | pub struct BfvCiphertext {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling onion-pir v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: function `multiply_with_strategy` is never used
[INFO] [stdout]    --> src/bfv.rs:657:8
[INFO] [stdout]     |
[INFO] [stdout] 657 | pub fn multiply_with_strategy(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `GaliosKey` is never constructed
[INFO] [stdout]    --> src/bfv.rs:700:12
[INFO] [stdout]     |
[INFO] [stdout] 700 | pub struct GaliosKey {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `relinearize` are never used
[INFO] [stdout]    --> src/bfv.rs:707:12
[INFO] [stdout]     |
[INFO] [stdout] 706 | impl GaliosKey {
[INFO] [stdout]     | -------------- associated items in this implementation
[INFO] [stdout] 707 |     pub fn new(sk: &SecretKey, i: &Substitution, galios_level: usize) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 725 |     pub fn relinearize(&self, ct: &BfvCipherText) -> BfvCipherText {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RelinearizationKey` is never constructed
[INFO] [stdout]    --> src/bfv.rs:743:12
[INFO] [stdout]     |
[INFO] [stdout] 743 | pub struct RelinearizationKey {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `relinearize_poly` are never used
[INFO] [stdout]    --> src/bfv.rs:749:12
[INFO] [stdout]     |
[INFO] [stdout] 748 | impl RelinearizationKey {
[INFO] [stdout]     | ----------------------- associated items in this implementation
[INFO] [stdout] 749 |     pub fn new(sk: &SecretKey, level: usize) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 762 |     pub fn relinearize_poly(&self, p: &Poly) -> (Poly, Poly) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Client` is never constructed
[INFO] [stdout]   --> src/evaluations.rs:17:8
[INFO] [stdout]    |
[INFO] [stdout] 17 | struct Client {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `encode` are never used
[INFO] [stdout]   --> src/evaluations.rs:32:12
[INFO] [stdout]    |
[INFO] [stdout] 31 | impl Client {
[INFO] [stdout]    | ----------- associated items in this implementation
[INFO] [stdout] 32 |     pub fn new(first_dim: usize, dim: usize) -> Client {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 36 |     pub fn encode(
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Server` is never constructed
[INFO] [stdout]   --> src/evaluations.rs:65:8
[INFO] [stdout]    |
[INFO] [stdout] 65 | struct Server {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `no_of_cts`, and `decode` are never used
[INFO] [stdout]    --> src/evaluations.rs:73:12
[INFO] [stdout]     |
[INFO] [stdout]  72 | impl Server {
[INFO] [stdout]     | ----------- associated items in this implementation
[INFO] [stdout]  73 |     pub fn new(
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  95 |     fn no_of_cts(&self) -> usize {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 109 |     pub fn decode(
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Evaluation` is never constructed
[INFO] [stdout]    --> src/evaluations.rs:229:8
[INFO] [stdout]     |
[INFO] [stdout] 229 | struct Evaluation {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `build`, `unpack`, and `gen_x_pows` are never used
[INFO] [stdout]    --> src/evaluations.rs:235:12
[INFO] [stdout]     |
[INFO] [stdout] 234 | impl Evaluation {
[INFO] [stdout]     | --------------- associated items in this implementation
[INFO] [stdout] 235 |     pub fn build(sk: &SecretKey, params: &Arc<BfvParameters>) -> Self {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 254 |     pub fn unpack(&self, mut ct: BfvCipherText) -> Vec<BfvCipherText> {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 301 |     fn gen_x_pows(n: usize, ctx: &Arc<RqContext>) -> Vec<Poly> {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Ksk` is never constructed
[INFO] [stdout]   --> src/ksk.rs:20:12
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub struct Ksk {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `KskType` is never used
[INFO] [stdout]   --> src/ksk.rs:32:6
[INFO] [stdout]    |
[INFO] [stdout] 32 | enum KskType {
[INFO] [stdout]    |      ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new_with_pt`, `new`, `key_switch`, and `try_from_decomposed_rlwes` are never used
[INFO] [stdout]    --> src/ksk.rs:38:12
[INFO] [stdout]     |
[INFO] [stdout]  37 | impl Ksk {
[INFO] [stdout]     | -------- associated items in this implementation
[INFO] [stdout]  38 |     pub fn new_with_pt(
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  47 |     pub fn new(sk: &SecretKey, from: &Poly, ct_level: usize, ksk_level: usize) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 102 |     pub fn key_switch(&self, poly: &Poly) -> (Poly, Poly) {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 127 |     pub fn try_from_decomposed_rlwes(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `inner_product` is never used
[INFO] [stdout]  --> src/omr.rs:9:4
[INFO] [stdout]   |
[INFO] [stdout] 9 | fn inner_product(cts: &Vec<BfvCipherText>, polys: &Vec<Poly>) -> BfvCipherText {
[INFO] [stdout]   |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `process` is never used
[INFO] [stdout]   --> src/omr.rs:21:4
[INFO] [stdout]    |
[INFO] [stdout] 21 | fn process() {
[INFO] [stdout]    |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PvwParams` is never constructed
[INFO] [stdout]   --> src/pvw.rs:11:12
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub struct PvwParams {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/pvw.rs:32:12
[INFO] [stdout]    |
[INFO] [stdout] 31 | impl PvwParams {
[INFO] [stdout]    | -------------- associated function in this implementation
[INFO] [stdout] 32 |     pub fn new() -> PvwParams {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PvwSk` is never constructed
[INFO] [stdout]   --> src/pvw.rs:37:12
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub struct PvwSk(Vec<Vec<u64>>);
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `gen_sk`, `gen_pk`, and `decrypt` are never used
[INFO] [stdout]   --> src/pvw.rs:40:12
[INFO] [stdout]    |
[INFO] [stdout] 39 | impl PvwSk {
[INFO] [stdout]    | ---------- associated items in this implementation
[INFO] [stdout] 40 |     pub fn gen_sk(params: &PvwParams) -> PvwSk {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 56 |     pub fn gen_pk(&self, params: &PvwParams) -> PvwPk {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 94 |     pub fn decrypt(&self, params: &PvwParams, ct: &PvwCiphertext) -> Vec<u64> {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PvwPk` is never constructed
[INFO] [stdout]    --> src/pvw.rs:117:12
[INFO] [stdout]     |
[INFO] [stdout] 117 | pub struct PvwPk(Vec<PvwCiphertext>);
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `encrypt` is never used
[INFO] [stdout]    --> src/pvw.rs:120:12
[INFO] [stdout]     |
[INFO] [stdout] 119 | impl PvwPk {
[INFO] [stdout]     | ---------- method in this implementation
[INFO] [stdout] 120 |     pub fn encrypt(&self, params: &PvwParams, m: Vec<u64>) -> PvwCiphertext {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PvwCiphertext` is never constructed
[INFO] [stdout]    --> src/pvw.rs:152:12
[INFO] [stdout]     |
[INFO] [stdout] 152 | pub struct PvwCiphertext {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RGSW` is never constructed
[INFO] [stdout]   --> src/rgsw.rs:17:12
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub struct RGSW {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RgswCt` is never constructed
[INFO] [stdout]   --> src/rgsw.rs:22:12
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub struct RgswCt {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `encrypt_poly`, `encrypt`, `external_product`, and `try_from_ksks` are never used
[INFO] [stdout]   --> src/rgsw.rs:28:12
[INFO] [stdout]    |
[INFO] [stdout] 27 | impl RgswCt {
[INFO] [stdout]    | ----------- associated functions in this implementation
[INFO] [stdout] 28 |     pub fn encrypt_poly(sk: &SecretKey, m: &Poly) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 44 |     pub fn encrypt(sk: &SecretKey, m: &Plaintext) -> Self {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 63 |     pub fn external_product(rgsw: &RgswCt, bfv: &BfvCipherText) -> (Poly, Poly) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 80 |     pub fn try_from_ksks(ksk0: &Ksk, ksk1: &Ksk) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/rq.rs:70:8
[INFO] [stdout]    |
[INFO] [stdout] 69 | impl BitDecomposition {
[INFO] [stdout]    | --------------------- associated function in this implementation
[INFO] [stdout] 70 |     fn new(base: usize, l: usize) -> Self {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `mod_inverse` is never used
[INFO] [stdout]   --> src/utils.rs:95:8
[INFO] [stdout]    |
[INFO] [stdout] 95 | pub fn mod_inverse(v: u64, q: u64) -> Option<u64> {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `D` should have a snake case name
[INFO] [stdout]   --> src/omr.rs:28:9
[INFO] [stdout]    |
[INFO] [stdout] 28 |     let D = 64;
[INFO] [stdout]    |         ^ help: convert the identifier to snake case: `d`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/rq.rs:268:25
[INFO] [stdout]     |
[INFO] [stdout] 268 |     pub fn coefficients(&self) -> ArrayView2<u64> {
[INFO] [stdout]     |                         ^^^^^     ^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 268 |     pub fn coefficients(&self) -> ArrayView2<'_, u64> {
[INFO] [stdout]     |                                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]    --> src/bfv.rs:150:26
[INFO] [stdout]     |
[INFO] [stdout] 150 |             let index2 = (m - pos - 1);
[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] 150 -             let index2 = (m - pos - 1);
[INFO] [stdout] 150 +             let index2 = m - pos - 1 ;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `for` iterator expression
[INFO] [stdout]    --> src/bfv.rs:353:18
[INFO] [stdout]     |
[INFO] [stdout] 353 |         for i in (1..ct.cts.len()) {
[INFO] [stdout]     |                  ^               ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 353 -         for i in (1..ct.cts.len()) {
[INFO] [stdout] 353 +         for i in 1..ct.cts.len()  {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]    --> src/bfv.rs:495:13
[INFO] [stdout]     |
[INFO] [stdout] 495 |             (self.cts.len() + rhs.cts.len() - 1)
[INFO] [stdout]     |             ^                                  ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 495 -             (self.cts.len() + rhs.cts.len() - 1)
[INFO] [stdout] 495 +             self.cts.len() + rhs.cts.len() - 1 
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/bfv.rs:763:12
[INFO] [stdout]     |
[INFO] [stdout] 763 |         if (p.representation == Representation::Ntt) {
[INFO] [stdout]     |            ^                                       ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 763 -         if (p.representation == Representation::Ntt) {
[INFO] [stdout] 763 +         if p.representation == Representation::Ntt  {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `enumerate`
[INFO] [stdout]   --> src/evaluations.rs:10:17
[INFO] [stdout]    |
[INFO] [stdout] 10 | use itertools::{enumerate, izip, Itertools};
[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: `ndarray::Array2`
[INFO] [stdout]   --> src/evaluations.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use ndarray::Array2;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `One`, `ToPrimitive`, and `Zero`
[INFO] [stdout]   --> src/evaluations.rs:14:33
[INFO] [stdout]    |
[INFO] [stdout] 14 | use num_traits::{FromPrimitive, One, ToPrimitive, Zero};
[INFO] [stdout]    |                                 ^^^  ^^^^^^^^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `utils::generate_prime`
[INFO] [stdout]    --> src/evaluations.rs:322:9
[INFO] [stdout]     |
[INFO] [stdout] 322 |         utils::generate_prime,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crypto_bigint::rand_core::le`
[INFO] [stdout]    --> src/evaluations.rs:324:9
[INFO] [stdout]     |
[INFO] [stdout] 324 |     use crypto_bigint::rand_core::le;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ndarray::Axis`
[INFO] [stdout]    --> src/evaluations.rs:325:9
[INFO] [stdout]     |
[INFO] [stdout] 325 |     use ndarray::Axis;
[INFO] [stdout]     |         ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `num_traits::FromPrimitive`
[INFO] [stdout]    --> src/evaluations.rs:327:9
[INFO] [stdout]     |
[INFO] [stdout] 327 |     use num_traits::FromPrimitive;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `modulus::Modulus`
[INFO] [stdout]  --> src/ksk.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 |     modulus::Modulus,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Itertools`
[INFO] [stdout]  --> src/ksk.rs:8:23
[INFO] [stdout]   |
[INFO] [stdout] 8 | use itertools::{izip, Itertools};
[INFO] [stdout]   |                       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `num_bigint::BigUint`
[INFO] [stdout]  --> src/ksk.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use num_bigint::BigUint;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `num_traits::cast::ToPrimitive`
[INFO] [stdout]  --> src/ntt.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use num_traits::cast::ToPrimitive;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self`
[INFO] [stdout]  --> src/omr.rs:5:11
[INFO] [stdout]   |
[INFO] [stdout] 5 |     pvw::{self, PvwCiphertext, PvwParams},
[INFO] [stdout]   |           ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Array2` and `Axis`
[INFO] [stdout]  --> src/pvw.rs:5:15
[INFO] [stdout]   |
[INFO] [stdout] 5 | use ndarray::{Array2, Axis};
[INFO] [stdout]   |               ^^^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `sync::Arc` and `task::Poll`
[INFO] [stdout]  --> src/rgsw.rs:1:11
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{sync::Arc, task::Poll};
[INFO] [stdout]   |           ^^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crypto_bigint::rand_core::le`
[INFO] [stdout]  --> src/rgsw.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crypto_bigint::rand_core::le;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `itertools::izip`
[INFO] [stdout]  --> src/rgsw.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use itertools::izip;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `num_bigint::BigUint`
[INFO] [stdout]  --> src/rgsw.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use num_bigint::BigUint;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `sha2::digest::typenum::private::IsLessPrivate`
[INFO] [stdout]  --> src/rgsw.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use sha2::digest::typenum::private::IsLessPrivate;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BfvParameters` and `RqContext`
[INFO] [stdout]   --> src/rgsw.rs:10:11
[INFO] [stdout]    |
[INFO] [stdout] 10 |     bfv::{BfvParameters, Plaintext, SecretKey},
[INFO] [stdout]    |           ^^^^^^^^^^^^^
[INFO] [stdout] 11 |     ksk::Ksk,
[INFO] [stdout] 12 |     rq::{Poly, Representation, RqContext},
[INFO] [stdout]    |                                ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::clone`
[INFO] [stdout]  --> src/rns.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::clone;
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self`
[INFO] [stdout]  --> src/rq.rs:2:15
[INFO] [stdout]   |
[INFO] [stdout] 2 |     modulus::{self, Modulus},
[INFO] [stdout]   |               ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `clone`, `error::Error`, `io::Repeat`, and `task::Context`
[INFO] [stdout]   --> src/rq.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 |     clone,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 17 |     error::Error,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 18 |     fmt::Debug,
[INFO] [stdout] 19 |     io::Repeat,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 22 |     task::Context,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `while` condition
[INFO] [stdout]    --> src/rq.rs:239:15
[INFO] [stdout]     |
[INFO] [stdout] 239 |         while (curr_ctx.next_ctx.is_some()) {
[INFO] [stdout]     |               ^                           ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 239 -         while (curr_ctx.next_ctx.is_some()) {
[INFO] [stdout] 239 +         while curr_ctx.next_ctx.is_some()  {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `for` iterator expression
[INFO] [stdout]    --> src/rq.rs:322:26
[INFO] [stdout]     |
[INFO] [stdout] 322 |                 for i in (0..self.context.bit_decomposition.l) {
[INFO] [stdout]     |                          ^                                   ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 322 -                 for i in (0..self.context.bit_decomposition.l) {
[INFO] [stdout] 322 +                 for i in 0..self.context.bit_decomposition.l  {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around pattern
[INFO] [stdout]    --> src/rq.rs:337:50
[INFO] [stdout]     |
[INFO] [stdout] 337 |                 izip!(cq.outer_iter()).for_each(|(c)| {
[INFO] [stdout]     |                                                  ^ ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 337 -                 izip!(cq.outer_iter()).for_each(|(c)| {
[INFO] [stdout] 337 +                 izip!(cq.outer_iter()).for_each(|c | {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `SecretKey`
[INFO] [stdout]    --> src/rq.rs:681:37
[INFO] [stdout]     |
[INFO] [stdout] 681 |     use crate::bfv::{BfvParameters, SecretKey};
[INFO] [stdout]     |                                     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `num_bigint::BigUint`
[INFO] [stdout]  --> src/utils.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use num_bigint::BigUint;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Uniform`
[INFO] [stdout]  --> src/utils.rs:5:32
[INFO] [stdout]   |
[INFO] [stdout] 5 | use rand_distr::{Distribution, Uniform};
[INFO] [stdout]   |                                ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Distribution`
[INFO] [stdout]  --> src/utils.rs:5:18
[INFO] [stdout]   |
[INFO] [stdout] 5 | use rand_distr::{Distribution, Uniform};
[INFO] [stdout]   |                  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/bfv.rs:676:9
[INFO] [stdout]     |
[INFO] [stdout] 676 |     let mut c_0 = &c0_0 * &c1_0;
[INFO] [stdout]     |         ----^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/bfv.rs:677:9
[INFO] [stdout]     |
[INFO] [stdout] 677 |     let mut c_1 = &(&c0_0 * &c1_1) + &(&c1_0 * &c0_1);
[INFO] [stdout]     |         ----^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/bfv.rs:678:9
[INFO] [stdout]     |
[INFO] [stdout] 678 |     let mut c_2 = &c0_1 * &c1_1;
[INFO] [stdout]     |         ----^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/bfv.rs:712:13
[INFO] [stdout]     |
[INFO] [stdout] 712 |         let mut sk_poly = Poly::try_from_vec_i64(&ctx, &sk.coeffs);
[INFO] [stdout]     |             ----^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rng`
[INFO] [stdout]    --> src/bfv.rs:809:13
[INFO] [stdout]     |
[INFO] [stdout] 809 |         let rng = thread_rng();
[INFO] [stdout]     |             ^^^ help: if this is intentional, prefix it with an underscore: `_rng`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bfv_params`
[INFO] [stdout]   --> src/evaluations.rs:40:9
[INFO] [stdout]    |
[INFO] [stdout] 40 |         bfv_params: &Arc<BfvParameters>,
[INFO] [stdout]    |         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_bfv_params`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sk`
[INFO] [stdout]   --> src/evaluations.rs:41:9
[INFO] [stdout]    |
[INFO] [stdout] 41 |         sk: &SecretKey,
[INFO] [stdout]    |         ^^ help: if this is intentional, prefix it with an underscore: `_sk`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `row_index`
[INFO] [stdout]    --> src/evaluations.rs:197:28
[INFO] [stdout]     |
[INFO] [stdout] 197 |                     .map(|(row_index, db_chunk_cts)| {
[INFO] [stdout]     |                            ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_row_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dim_index`
[INFO] [stdout]    --> src/evaluations.rs:192:25
[INFO] [stdout]     |
[INFO] [stdout] 192 |             .for_each(|(dim_index, dim_rgsws)| {
[INFO] [stdout]     |                         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_dim_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `gi`
[INFO] [stdout]    --> src/evaluations.rs:365:27
[INFO] [stdout]     |
[INFO] [stdout] 365 |             .map(|(index, gi)| unpacked_query_cts[index][0].clone())
[INFO] [stdout]     |                           ^^ help: if this is intentional, prefix it with an underscore: `_gi`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/evaluations.rs:422:13
[INFO] [stdout]     |
[INFO] [stdout] 422 |         let mut rng = thread_rng();
[INFO] [stdout]     |             ----^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rng`
[INFO] [stdout]    --> src/evaluations.rs:422:13
[INFO] [stdout]     |
[INFO] [stdout] 422 |         let mut rng = thread_rng();
[INFO] [stdout]     |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_rng`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/evaluations.rs:470:13
[INFO] [stdout]     |
[INFO] [stdout] 470 |         let mut rng = thread_rng();
[INFO] [stdout]     |             ----^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rng`
[INFO] [stdout]    --> src/evaluations.rs:470:13
[INFO] [stdout]     |
[INFO] [stdout] 470 |         let mut rng = thread_rng();
[INFO] [stdout]     |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_rng`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/evaluations.rs:503:13
[INFO] [stdout]     |
[INFO] [stdout] 503 |         let mut rng = thread_rng();
[INFO] [stdout]     |             ----^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/evaluations.rs:552:13
[INFO] [stdout]     |
[INFO] [stdout] 552 |         let mut rng = thread_rng();
[INFO] [stdout]     |             ----^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/ksk.rs:172:13
[INFO] [stdout]     |
[INFO] [stdout] 172 |         let mut rng = thread_rng();
[INFO] [stdout]     |             ----^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/ksk.rs:191:13
[INFO] [stdout]     |
[INFO] [stdout] 191 |         let mut one_enc = sk.encrypt(&Plaintext::new(&params, &vec![1], 0, Encoding::Poly));
[INFO] [stdout]     |             ----^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rng`
[INFO] [stdout]    --> src/ksk.rs:172:13
[INFO] [stdout]     |
[INFO] [stdout] 172 |         let mut rng = thread_rng();
[INFO] [stdout]     |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_rng`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/ksk.rs:199:13
[INFO] [stdout]     |
[INFO] [stdout] 199 |         let mut rng = thread_rng();
[INFO] [stdout]     |             ----^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rng`
[INFO] [stdout]    --> src/ksk.rs:199:13
[INFO] [stdout]     |
[INFO] [stdout] 199 |         let mut rng = thread_rng();
[INFO] [stdout]     |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_rng`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sk_poly`
[INFO] [stdout]    --> src/ksk.rs:207:13
[INFO] [stdout]     |
[INFO] [stdout] 207 |         let sk_poly = Poly::try_from_vec_i64(&params.q_ctxs[0], &sk.coeffs);
[INFO] [stdout]     |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sk_poly`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `root`
[INFO] [stdout]    --> src/ntt.rs:263:13
[INFO] [stdout]     |
[INFO] [stdout] 263 |         let root = primitive_root(size, &moduli);
[INFO] [stdout]     |             ^^^^ help: if this is intentional, prefix it with an underscore: `_root`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/pvw.rs:169:17
[INFO] [stdout]     |
[INFO] [stdout] 169 |             let mut rng = thread_rng();
[INFO] [stdout]     |                 ----^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/rgsw.rs:246:13
[INFO] [stdout]     |
[INFO] [stdout] 246 |         let mut rng = thread_rng();
[INFO] [stdout]     |             ----^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/rgsw.rs:258:13
[INFO] [stdout]     |
[INFO] [stdout] 258 |         let mut m = &Plaintext::new(&params, &vec![2], 0, Encoding::Poly);
[INFO] [stdout]     |             ----^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rng`
[INFO] [stdout]    --> src/rgsw.rs:246:13
[INFO] [stdout]     |
[INFO] [stdout] 246 |         let mut rng = thread_rng();
[INFO] [stdout]     |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_rng`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sk_poly`
[INFO] [stdout]    --> src/rgsw.rs:254:13
[INFO] [stdout]     |
[INFO] [stdout] 254 |         let sk_poly = Poly::try_from_vec_i64(&ctx, &sk.coeffs);
[INFO] [stdout]     |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sk_poly`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `representation` is never read
[INFO] [stdout]    --> src/rq.rs:121:13
[INFO] [stdout]     |
[INFO] [stdout] 121 |             representation = Representation::Ntt;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `c`
[INFO] [stdout]    --> src/rq.rs:337:51
[INFO] [stdout]     |
[INFO] [stdout] 337 |                 izip!(cq.outer_iter()).for_each(|(c)| {
[INFO] [stdout]     |                                                   ^ help: if this is intentional, prefix it with an underscore: `_c`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `decomposed`
[INFO] [stdout]    --> src/rq.rs:332:25
[INFO] [stdout]     |
[INFO] [stdout] 332 |                     let decomposed = decompose_bits(*v, parent_bits as usize, base_bits);
[INFO] [stdout]     |                         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_decomposed`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `g`
[INFO] [stdout]    --> src/rq.rs:334:25
[INFO] [stdout]     |
[INFO] [stdout] 334 |                     let g = poly.slice_mut(s![row_index, col_index, ..]);
[INFO] [stdout]     |                         ^ help: if this is intentional, prefix it with an underscore: `_g`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/rq.rs:372:21
[INFO] [stdout]     |
[INFO] [stdout] 372 |                 let mut p = self.clone();
[INFO] [stdout]     |                     ----^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `p`
[INFO] [stdout]    --> src/rq.rs:372:21
[INFO] [stdout]     |
[INFO] [stdout] 372 |                 let mut p = self.clone();
[INFO] [stdout]     |                     ^^^^^ help: if this is intentional, prefix it with an underscore: `_p`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `poly`
[INFO] [stdout]    --> src/rq.rs:507:13
[INFO] [stdout]     |
[INFO] [stdout] 507 |         let poly = Poly::zero(ctx, Representation::PowerBasis);
[INFO] [stdout]     |             ^^^^ help: if this is intentional, prefix it with an underscore: `_poly`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/rq.rs:704:17
[INFO] [stdout]     |
[INFO] [stdout] 704 |             let mut q = p.clone();
[INFO] [stdout]     |                 ----^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/bfv.rs:292:12
[INFO] [stdout]     |
[INFO] [stdout] 278 | impl SecretKey {
[INFO] [stdout]     | -------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 292 |     pub fn new(coeffs: Vec<i64>, params: &Arc<BfvParameters>) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BfvCiphertext` is never constructed
[INFO] [stdout]    --> src/bfv.rs:413:12
[INFO] [stdout]     |
[INFO] [stdout] 413 | pub struct BfvCiphertext {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `no_of_cts` is never used
[INFO] [stdout]   --> src/evaluations.rs:95:8
[INFO] [stdout]    |
[INFO] [stdout] 72 | impl Server {
[INFO] [stdout]    | ----------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 95 |     fn no_of_cts(&self) -> usize {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `params` is never read
[INFO] [stdout]   --> src/ksk.rs:21:9
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub struct Ksk {
[INFO] [stdout]    |            --- field in this struct
[INFO] [stdout] 21 |     pub params: Arc<BfvParameters>,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Ksk` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `KskType` is never used
[INFO] [stdout]   --> src/ksk.rs:32:6
[INFO] [stdout]    |
[INFO] [stdout] 32 | enum KskType {
[INFO] [stdout]    |      ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `inner_product` is never used
[INFO] [stdout]  --> src/omr.rs:9:4
[INFO] [stdout]   |
[INFO] [stdout] 9 | fn inner_product(cts: &Vec<BfvCipherText>, polys: &Vec<Poly>) -> BfvCipherText {
[INFO] [stdout]   |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `process` is never used
[INFO] [stdout]   --> src/omr.rs:21:4
[INFO] [stdout]    |
[INFO] [stdout] 21 | fn process() {
[INFO] [stdout]    |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/pvw.rs:32:12
[INFO] [stdout]    |
[INFO] [stdout] 31 | impl PvwParams {
[INFO] [stdout]    | -------------- associated function in this implementation
[INFO] [stdout] 32 |     pub fn new() -> PvwParams {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RGSW` is never constructed
[INFO] [stdout]   --> src/rgsw.rs:17:12
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub struct RGSW {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `mod_inverse` is never used
[INFO] [stdout]   --> src/utils.rs:95:8
[INFO] [stdout]    |
[INFO] [stdout] 95 | pub fn mod_inverse(v: u64, q: u64) -> Option<u64> {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `D` should have a snake case name
[INFO] [stdout]   --> src/omr.rs:28:9
[INFO] [stdout]    |
[INFO] [stdout] 28 |     let D = 64;
[INFO] [stdout]    |         ^ help: convert the identifier to snake case: `d`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/rq.rs:268:25
[INFO] [stdout]     |
[INFO] [stdout] 268 |     pub fn coefficients(&self) -> ArrayView2<u64> {
[INFO] [stdout]     |                         ^^^^^     ^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 268 |     pub fn coefficients(&self) -> ArrayView2<'_, u64> {
[INFO] [stdout]     |                                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 2.96s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: num-bigint-dig v0.8.1
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 4`
[INFO] running `Command { std: "docker" "inspect" "083fe1e835daf3ececc18cddde6170acbd9f872f7ec64b3e83993fc84b67cf75", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "083fe1e835daf3ececc18cddde6170acbd9f872f7ec64b3e83993fc84b67cf75", kill_on_drop: false }`
[INFO] [stdout] 083fe1e835daf3ececc18cddde6170acbd9f872f7ec64b3e83993fc84b67cf75
