[INFO] cloning repository https://github.com/Janmajayamall/tfhe-research
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Janmajayamall/tfhe-research" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FJanmajayamall%2Ftfhe-research", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FJanmajayamall%2Ftfhe-research'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 3a1651c41715670501b557d13dd720dbe3520451
[INFO] testing Janmajayamall/tfhe-research against master#d98a5da813da67eb189387b8ccfb73cf481275d8+rustflags=-Copt-level=3 for pr-138759
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FJanmajayamall%2Ftfhe-research" "/workspace/builds/worker-0-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/Janmajayamall/tfhe-research
[INFO] finished tweaking git repo https://github.com/Janmajayamall/tfhe-research
[INFO] tweaked toml for git repo https://github.com/Janmajayamall/tfhe-research written to /workspace/builds/worker-0-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/Janmajayamall/tfhe-research on toolchain d98a5da813da67eb189387b8ccfb73cf481275d8
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+d98a5da813da67eb189387b8ccfb73cf481275d8" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/Janmajayamall/tfhe-research 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" "+d98a5da813da67eb189387b8ccfb73cf481275d8" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+d98a5da813da67eb189387b8ccfb73cf481275d8" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] aa0c8b3c1aab4802557348a9cbbdf3adbcf290e11964f2b9639e15e2d655a5b6
[INFO] running `Command { std: "docker" "start" "-a" "aa0c8b3c1aab4802557348a9cbbdf3adbcf290e11964f2b9639e15e2d655a5b6", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "aa0c8b3c1aab4802557348a9cbbdf3adbcf290e11964f2b9639e15e2d655a5b6", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "aa0c8b3c1aab4802557348a9cbbdf3adbcf290e11964f2b9639e15e2d655a5b6", kill_on_drop: false }`
[INFO] [stdout] aa0c8b3c1aab4802557348a9cbbdf3adbcf290e11964f2b9639e15e2d655a5b6
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid -Copt-level=3" "-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+d98a5da813da67eb189387b8ccfb73cf481275d8" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] b9b1ddff82a53b075d4193d8e198bf9610da8a88e8b2f92c34f7575c382800b3
[INFO] running `Command { std: "docker" "start" "-a" "b9b1ddff82a53b075d4193d8e198bf9610da8a88e8b2f92c34f7575c382800b3", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.147
[INFO] [stderr]    Compiling libm v0.2.7
[INFO] [stderr]    Compiling num-traits v0.2.16
[INFO] [stderr]    Compiling matrixmultiply v0.3.7
[INFO] [stderr]    Compiling num-integer v0.1.45
[INFO] [stderr]    Compiling either v1.9.0
[INFO] [stderr]    Compiling itertools v0.11.0
[INFO] [stderr]    Compiling getrandom v0.2.10
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling rand v0.8.5
[INFO] [stderr]    Compiling num-complex v0.4.3
[INFO] [stderr]    Compiling rand_distr v0.4.3
[INFO] [stderr]    Compiling ndarray v0.15.6
[INFO] [stderr]    Compiling tfhe v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused imports: `AddAssign` and `Add`
[INFO] [stdout]  --> src/lib.rs:1:16
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::ops::{Add, AddAssign};
[INFO] [stdout]   |                ^^^  ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Array1`, `Array2`, `Axis`, `concatenate`, and `s`
[INFO] [stdout]  --> src/lib.rs:7:15
[INFO] [stdout]   |
[INFO] [stdout] 7 | use ndarray::{concatenate, s, Array1, Array2, Axis};
[INFO] [stdout]   |               ^^^^^^^^^^^  ^  ^^^^^^  ^^^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ops::dot_product`
[INFO] [stdout]  --> src/lib.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use ops::dot_product;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `CryptoRng`, `RngCore`, and `thread_rng`
[INFO] [stdout]  --> src/lib.rs:9:12
[INFO] [stdout]   |
[INFO] [stdout] 9 | use rand::{thread_rng, CryptoRng, RngCore};
[INFO] [stdout]   |            ^^^^^^^^^^  ^^^^^^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `poly_dot_product`, `sample_binary_array`, and `sample_uniform_array`
[INFO] [stdout]   --> src/lib.rs:10:13
[INFO] [stdout]    |
[INFO] [stdout] 10 | use utils::{poly_dot_product, sample_binary_array, sample_uniform_array};
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `GgswParams`, `GlwePlaintext`, `LweParams`, `decrypt_glwe_ciphertext`, `poly_mul_monomial_custom_mod`, and `poly_mul_monomial`
[INFO] [stdout]   --> src/bootstrapping.rs:3:58
[INFO] [stdout]    |
[INFO] [stdout] 3  |     ggsw::{cmux, encrypt_ggsw_plaintext, GgswCiphertext, GgswParams, GgswPlaintext},
[INFO] [stdout]    |                                                          ^^^^^^^^^^
[INFO] [stdout] 4  |     glwe::{
[INFO] [stdout] 5  |         decrypt_glwe_ciphertext, trivial_encrypt_glwe_plaintext, GlweCiphertext, GlweCleartext,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 6  |         GlweParams, GlwePlaintext, GlweSecretKey, Monomial,
[INFO] [stdout]    |                     ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 9  |     lwe::{LweCiphertext, LweParams, LweSecretKey},
[INFO] [stdout]    |                          ^^^^^^^^^
[INFO] [stdout] 10 |     utils::{poly_mul_monomial, poly_mul_monomial_custom_mod, switch_modulus},
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Axis` and `concatenate`
[INFO] [stdout]   --> src/bootstrapping.rs:14:15
[INFO] [stdout]    |
[INFO] [stdout] 14 | use ndarray::{concatenate, s, Array1, Axis};
[INFO] [stdout]    |               ^^^^^^^^^^^             ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `thread_rng`
[INFO] [stdout]   --> src/bootstrapping.rs:15:12
[INFO] [stdout]    |
[INFO] [stdout] 15 | use rand::{thread_rng, CryptoRng, RngCore};
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AddAssign` and `Add`
[INFO] [stdout]   --> src/bootstrapping.rs:16:16
[INFO] [stdout]    |
[INFO] [stdout] 16 | use std::ops::{Add, AddAssign};
[INFO] [stdout]    |                ^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Array`
[INFO] [stdout]  --> src/ggsw.rs:1:31
[INFO] [stdout]   |
[INFO] [stdout] 1 | use ndarray::{concatenate, s, Array, Array3, Axis};
[INFO] [stdout]   |                               ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `GlweCleartext` and `encrypt_glwe_plaintext`
[INFO] [stdout]  --> src/ggsw.rs:7:36
[INFO] [stdout]   |
[INFO] [stdout] 7 |         decompose_glwe_ciphertext, encrypt_glwe_plaintext, encrypt_glwe_zero, GlweCiphertext,
[INFO] [stdout]   |                                    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 8 |         GlweCleartext, GlweParams, GlweSecretKey,
[INFO] [stdout]   |         ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `lwe::LweSecretKey`
[INFO] [stdout]  --> src/glwe.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 |     lwe::LweSecretKey,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Array`
[INFO] [stdout]   --> src/glwe.rs:11:31
[INFO] [stdout]    |
[INFO] [stdout] 11 | use ndarray::{concatenate, s, Array, Array1, Array2, ArrayView1, Axis};
[INFO] [stdout]    |                               ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `thread_rng`
[INFO] [stdout]   --> src/glwe.rs:12:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | use rand::{thread_rng, CryptoRng, RngCore};
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `MulAssign`
[INFO] [stdout]   --> src/glwe.rs:13:37
[INFO] [stdout]    |
[INFO] [stdout] 13 | use std::ops::{Add, AddAssign, Mul, MulAssign, Sub, SubAssign};
[INFO] [stdout]    |                                     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]    --> src/glwe.rs:200:65
[INFO] [stdout]     |
[INFO] [stdout] 200 |     let error = sample_gaussian_array(glwe_params.std_dev, rng, (glwe_params.degree()));
[INFO] [stdout]     |                                                                 ^                    ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 200 -     let error = sample_gaussian_array(glwe_params.std_dev, rng, (glwe_params.degree()));
[INFO] [stdout] 200 +     let error = sample_gaussian_array(glwe_params.std_dev, rng, glwe_params.degree());
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self`
[INFO] [stdout]  --> src/key_switching.rs:2:18
[INFO] [stdout]   |
[INFO] [stdout] 2 |     decomposer::{self, SignedDecomposer},
[INFO] [stdout]   |                  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ops::Neg`
[INFO] [stdout]  --> src/key_switching.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::ops::Neg;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `poly_dot_product`
[INFO] [stdout]  --> src/lwe.rs:3:13
[INFO] [stdout]   |
[INFO] [stdout] 3 |     utils::{poly_dot_product, sample_binary_array, sample_gaussian_slice, sample_uniform_array},
[INFO] [stdout]   |             ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Array2`, `Axis`, and `concatenate`
[INFO] [stdout]  --> src/lwe.rs:5:15
[INFO] [stdout]   |
[INFO] [stdout] 5 | use ndarray::{concatenate, s, Array1, Array2, Axis};
[INFO] [stdout]   |               ^^^^^^^^^^^             ^^^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `thread_rng`
[INFO] [stdout]  --> src/lwe.rs:6:12
[INFO] [stdout]   |
[INFO] [stdout] 6 | use rand::{thread_rng, CryptoRng, RngCore};
[INFO] [stdout]   |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `AddAssign`
[INFO] [stdout]  --> src/lwe.rs:7:21
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::ops::{Add, AddAssign, Mul};
[INFO] [stdout]   |                     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]   --> src/lwe.rs:57:44
[INFO] [stdout]    |
[INFO] [stdout] 57 |             data: sample_binary_array(rng, (lwe_params.lwe_dimension)),
[INFO] [stdout]    |                                            ^                        ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 57 -             data: sample_binary_array(rng, (lwe_params.lwe_dimension)),
[INFO] [stdout] 57 +             data: sample_binary_array(rng, lwe_params.lwe_dimension),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]    --> src/lwe.rs:125:64
[INFO] [stdout]     |
[INFO] [stdout] 125 |     let mut a_samples: Array1<u32> = sample_uniform_array(rng, (lwe_params.lwe_dimension));
[INFO] [stdout]     |                                                                ^                        ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 125 -     let mut a_samples: Array1<u32> = sample_uniform_array(rng, (lwe_params.lwe_dimension));
[INFO] [stdout] 125 +     let mut a_samples: Array1<u32> = sample_uniform_array(rng, lwe_params.lwe_dimension);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]    --> src/lwe.rs:148:64
[INFO] [stdout]     |
[INFO] [stdout] 148 |     let mut a_samples: Array1<u32> = sample_uniform_array(rng, (lwe_params.lwe_dimension));
[INFO] [stdout]     |                                                                ^                        ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 148 -     let mut a_samples: Array1<u32> = sample_uniform_array(rng, (lwe_params.lwe_dimension));
[INFO] [stdout] 148 +     let mut a_samples: Array1<u32> = sample_uniform_array(rng, lwe_params.lwe_dimension);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `glwe::GlweParams` and `lwe::LweParams`
[INFO] [stdout]   --> src/test_vector.rs:3:13
[INFO] [stdout]    |
[INFO] [stdout] 3  | use crate::{glwe::GlweParams, lwe::LweParams, TfheParams};
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: if this is a test module, consider adding a `#[cfg(test)]` to the containing module
[INFO] [stdout]   --> src/lib.rs:20:1
[INFO] [stdout]    |
[INFO] [stdout] 20 | mod test_vector;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ArrayView`, `Axis`, `Shape`, and `concatenate`
[INFO] [stdout]  --> src/utils.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 |     concatenate, Array, Array1, Array2, ArrayView, ArrayView1, ArrayView2, Axis, Dimension, Shape,
[INFO] [stdout]   |     ^^^^^^^^^^^                         ^^^^^^^^^                          ^^^^             ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `MulAssign` and `Mul`
[INFO] [stdout]  --> src/utils.rs:8:27
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::ops::{AddAssign, Mul, MulAssign};
[INFO] [stdout]   |                           ^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]   --> src/utils.rs:27:42
[INFO] [stdout]    |
[INFO] [stdout] 27 |             let v = integer_division(*v, (1 << (log_from - log_to)));
[INFO] [stdout]    |                                          ^                        ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 27 -             let v = integer_division(*v, (1 << (log_from - log_to)));
[INFO] [stdout] 27 +             let v = integer_division(*v, 1 << (log_from - log_to));
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `for` iterator expression
[INFO] [stdout]    --> src/utils.rs:227:18
[INFO] [stdout]     |
[INFO] [stdout] 227 |         for j in (0..i + 1) {
[INFO] [stdout]     |                  ^        ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 227 -         for j in (0..i + 1) {
[INFO] [stdout] 227 +         for j in 0..i + 1 {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `for` iterator expression
[INFO] [stdout]    --> src/utils.rs:230:18
[INFO] [stdout]     |
[INFO] [stdout] 230 |         for j in (i + 1..n) {
[INFO] [stdout]     |                  ^        ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 230 -         for j in (i + 1..n) {
[INFO] [stdout] 230 +         for j in i + 1..n {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Dimension`
[INFO] [stdout]  --> src/utils.rs:3:82
[INFO] [stdout]   |
[INFO] [stdout] 3 |     concatenate, Array, Array1, Array2, ArrayView, ArrayView1, ArrayView2, Axis, Dimension, Shape,
[INFO] [stdout]   |                                                                                  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `lwe_secret_key`
[INFO] [stdout]   --> src/bootstrapping.rs:61:5
[INFO] [stdout]    |
[INFO] [stdout] 61 |     lwe_secret_key: &LweSecretKey,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_lwe_secret_key`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `glwe_secret_key`
[INFO] [stdout]   --> src/bootstrapping.rs:62:5
[INFO] [stdout]    |
[INFO] [stdout] 62 |     glwe_secret_key: &GlweSecretKey,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_glwe_secret_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rng`
[INFO] [stdout]    --> src/glwe.rs:249:5
[INFO] [stdout]     |
[INFO] [stdout] 249 |     rng: &mut R,
[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/lwe.rs:125:9
[INFO] [stdout]     |
[INFO] [stdout] 125 |     let mut a_samples: Array1<u32> = sample_uniform_array(rng, (lwe_params.lwe_dimension));
[INFO] [stdout]     |         ----^^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/lwe.rs:148:9
[INFO] [stdout]     |
[INFO] [stdout] 148 |     let mut a_samples: Array1<u32> = sample_uniform_array(rng, (lwe_params.lwe_dimension));
[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/utils.rs:158:9
[INFO] [stdout]     |
[INFO] [stdout] 158 |     let mut res = p0_teoplitz.dot(&p1);
[INFO] [stdout]     |         ----^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `ks_decomposer` is never read
[INFO] [stdout]   --> src/lib.rs:30:5
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub struct TfheParams {
[INFO] [stdout]    |            ---------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 30 |     ks_decomposer: DecomposerParams,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `and` is never used
[INFO] [stdout]  --> src/boolean.rs:9:4
[INFO] [stdout]   |
[INFO] [stdout] 9 | fn and(
[INFO] [stdout]   |    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `or` is never used
[INFO] [stdout]   --> src/boolean.rs:32:4
[INFO] [stdout]    |
[INFO] [stdout] 32 | fn or(
[INFO] [stdout]    |    ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BootstrappingKey` is never constructed
[INFO] [stdout]   --> src/bootstrapping.rs:18:12
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub struct BootstrappingKey {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `bootstrapping_key_gen` is never used
[INFO] [stdout]   --> src/bootstrapping.rs:23:8
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub fn bootstrapping_key_gen<R: CryptoRng + RngCore>(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `bootstrap` is never used
[INFO] [stdout]   --> src/bootstrapping.rs:58:8
[INFO] [stdout]    |
[INFO] [stdout] 58 | pub fn bootstrap(
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `sample_extract` is never used
[INFO] [stdout]    --> src/bootstrapping.rs:122:4
[INFO] [stdout]     |
[INFO] [stdout] 122 | fn sample_extract(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `log_base`, `levels`, and `log_q` are never read
[INFO] [stdout]  --> src/decomposer.rs:3:16
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub struct DecomposerParams {
[INFO] [stdout]   |            ---------------- fields in this struct
[INFO] [stdout] 3 |     pub(crate) log_base: usize,
[INFO] [stdout]   |                ^^^^^^^^
[INFO] [stdout] 4 |     pub(crate) levels: usize,
[INFO] [stdout]   |                ^^^^^^
[INFO] [stdout] 5 |     pub(crate) log_q: usize,
[INFO] [stdout]   |                ^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `DecomposerParams` 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: associated function `new` is never used
[INFO] [stdout]  --> src/decomposer.rs:9:12
[INFO] [stdout]   |
[INFO] [stdout] 8 | impl DecomposerParams {
[INFO] [stdout]   | --------------------- associated function in this implementation
[INFO] [stdout] 9 |     pub fn new(log_base: usize, levels: usize, log_q: usize) -> DecomposerParams {
[INFO] [stdout]   |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SignedDecomposer` is never constructed
[INFO] [stdout]   --> src/decomposer.rs:18:12
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub struct SignedDecomposer {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `round_value`, `decompose`, and `recompose` are never used
[INFO] [stdout]   --> src/decomposer.rs:23:12
[INFO] [stdout]    |
[INFO] [stdout] 22 | impl SignedDecomposer {
[INFO] [stdout]    | --------------------- associated items in this implementation
[INFO] [stdout] 23 |     pub fn new(params: DecomposerParams) -> SignedDecomposer {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 27 |     pub fn round_value(&self, value: u32) -> u32 {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 42 |     pub fn decompose(&self, value: u32) -> Vec<u32> {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 83 |     pub fn recompose(&self, legs: &[u32]) -> u32 {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `GgswPlaintext` is never constructed
[INFO] [stdout]   --> src/ggsw.rs:16:12
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub struct GgswPlaintext {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/ggsw.rs:21:12
[INFO] [stdout]    |
[INFO] [stdout] 20 | impl GgswPlaintext {
[INFO] [stdout]    | ------------------ associated function in this implementation
[INFO] [stdout] 21 |     pub fn new(message: u32) -> GgswPlaintext {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `glwe_params` and `decomposer_params` are never read
[INFO] [stdout]   --> src/ggsw.rs:27:16
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub struct GgswParams {
[INFO] [stdout]    |            ---------- fields in this struct
[INFO] [stdout] 27 |     pub(crate) glwe_params: GlweParams,
[INFO] [stdout]    |                ^^^^^^^^^^^
[INFO] [stdout] 28 |     pub(crate) decomposer_params: DecomposerParams,
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `GgswCiphertext` is never constructed
[INFO] [stdout]   --> src/ggsw.rs:37:12
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub struct GgswCiphertext {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `encrypt_ggsw_plaintext` is never used
[INFO] [stdout]   --> src/ggsw.rs:76:8
[INFO] [stdout]    |
[INFO] [stdout] 76 | pub fn encrypt_ggsw_plaintext<R: CryptoRng + RngCore>(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `external_product` is never used
[INFO] [stdout]    --> src/ggsw.rs:132:4
[INFO] [stdout]     |
[INFO] [stdout] 132 | fn external_product(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `cmux` is never used
[INFO] [stdout]    --> src/ggsw.rs:164:8
[INFO] [stdout]     |
[INFO] [stdout] 164 | pub fn cmux(
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `decompose_poly` is never used
[INFO] [stdout]   --> src/glwe.rs:69:4
[INFO] [stdout]    |
[INFO] [stdout] 69 | fn decompose_poly(poly: &ArrayView1<u32>, signed_decomposer: &SignedDecomposer) -> Array2<u32> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `decompose_glwe_ciphertext` is never used
[INFO] [stdout]   --> src/glwe.rs:90:8
[INFO] [stdout]    |
[INFO] [stdout] 90 | pub fn decompose_glwe_ciphertext(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `glwe_dimension`, `padding_bits`, `log_q`, `log_p`, and `std_dev` are never read
[INFO] [stdout]    --> src/glwe.rs:113:16
[INFO] [stdout]     |
[INFO] [stdout] 112 | pub struct GlweParams {
[INFO] [stdout]     |            ---------- fields in this struct
[INFO] [stdout] 113 |     pub(crate) glwe_dimension: usize,
[INFO] [stdout]     |                ^^^^^^^^^^^^^^
[INFO] [stdout] 114 |     pub(crate) log_degree: usize,
[INFO] [stdout] 115 |     pub(crate) padding_bits: usize,
[INFO] [stdout]     |                ^^^^^^^^^^^^
[INFO] [stdout] 116 |     /// q in Z/2^qZ
[INFO] [stdout] 117 |     pub(crate) log_q: usize,
[INFO] [stdout]     |                ^^^^^
[INFO] [stdout] 118 |     /// p in Z/2^pZ
[INFO] [stdout] 119 |     pub(crate) log_p: usize,
[INFO] [stdout]     |                ^^^^^
[INFO] [stdout] 120 |     pub(crate) std_dev: f64,
[INFO] [stdout]     |                ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `GlweParams` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `GlweCleartext` is never constructed
[INFO] [stdout]    --> src/glwe.rs:137:12
[INFO] [stdout]     |
[INFO] [stdout] 137 | pub struct GlweCleartext {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `encode_message` is never used
[INFO] [stdout]    --> src/glwe.rs:141:12
[INFO] [stdout]     |
[INFO] [stdout] 140 | impl GlweCleartext {
[INFO] [stdout]     | ------------------ associated function in this implementation
[INFO] [stdout] 141 |     pub fn encode_message(message: &[u32], glwe_params: &GlweParams) -> GlwePlaintext {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `GlwePlaintext` is never constructed
[INFO] [stdout]    --> src/glwe.rs:155:12
[INFO] [stdout]     |
[INFO] [stdout] 155 | pub struct GlwePlaintext {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `decode` is never used
[INFO] [stdout]    --> src/glwe.rs:160:12
[INFO] [stdout]     |
[INFO] [stdout] 159 | impl GlwePlaintext {
[INFO] [stdout]     | ------------------ method in this implementation
[INFO] [stdout] 160 |     pub fn decode(&self, glwe_params: &GlweParams) -> GlweCleartext {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `GlweSecretKey` is never constructed
[INFO] [stdout]    --> src/glwe.rs:172:12
[INFO] [stdout]     |
[INFO] [stdout] 172 | pub struct GlweSecretKey {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `random` is never used
[INFO] [stdout]    --> src/glwe.rs:177:12
[INFO] [stdout]     |
[INFO] [stdout] 176 | impl GlweSecretKey {
[INFO] [stdout]     | ------------------ associated function in this implementation
[INFO] [stdout] 177 |     pub fn random<R: CryptoRng + RngCore>(glwe_params: &GlweParams, rng: &mut R) -> GlweSecretKey {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `encrypt_glwe_zero` is never used
[INFO] [stdout]    --> src/glwe.rs:190:8
[INFO] [stdout]     |
[INFO] [stdout] 190 | pub fn encrypt_glwe_zero<R: CryptoRng + RngCore>(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `encrypt_glwe_plaintext` is never used
[INFO] [stdout]    --> src/glwe.rs:211:8
[INFO] [stdout]     |
[INFO] [stdout] 211 | pub fn encrypt_glwe_plaintext<R: CryptoRng + RngCore>(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `trivial_encrypt_glwe_plaintext` is never used
[INFO] [stdout]    --> src/glwe.rs:232:8
[INFO] [stdout]     |
[INFO] [stdout] 232 | pub fn trivial_encrypt_glwe_plaintext(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `decrypt_glwe_ciphertext` is never used
[INFO] [stdout]    --> src/glwe.rs:245:8
[INFO] [stdout]     |
[INFO] [stdout] 245 | pub fn decrypt_glwe_ciphertext<R: CryptoRng + RngCore>(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `KeySwitchingKey` is never constructed
[INFO] [stdout]   --> src/key_switching.rs:13:12
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub struct KeySwitchingKey {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `generate_ksk` is never used
[INFO] [stdout]   --> src/key_switching.rs:20:12
[INFO] [stdout]    |
[INFO] [stdout] 17 | impl KeySwitchingKey {
[INFO] [stdout]    | -------------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 20 |     pub fn generate_ksk<R: CryptoRng + RngCore>(
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `key_switch_lwe` is never used
[INFO] [stdout]   --> src/key_switching.rs:63:8
[INFO] [stdout]    |
[INFO] [stdout] 63 | pub fn key_switch_lwe(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `lwe_dimension`, `padding_bits`, `log_q`, `log_p`, and `std_dev` are never read
[INFO] [stdout]   --> src/lwe.rs:27:16
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub struct LweParams {
[INFO] [stdout]    |            --------- fields in this struct
[INFO] [stdout] 27 |     pub(crate) lwe_dimension: usize,
[INFO] [stdout]    |                ^^^^^^^^^^^^^
[INFO] [stdout] 28 |     /// q in Z/2^qZ
[INFO] [stdout] 29 |     pub(crate) padding_bits: usize,
[INFO] [stdout]    |                ^^^^^^^^^^^^
[INFO] [stdout] 30 |     pub(crate) log_q: usize,
[INFO] [stdout]    |                ^^^^^
[INFO] [stdout] 31 |     /// p in Z/2^pZ
[INFO] [stdout] 32 |     pub(crate) log_p: usize,
[INFO] [stdout]    |                ^^^^^
[INFO] [stdout] 33 |     pub(crate) std_dev: f64,
[INFO] [stdout]    |                ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `LweParams` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `LweSecretKey` is never constructed
[INFO] [stdout]   --> src/lwe.rs:50:12
[INFO] [stdout]    |
[INFO] [stdout] 50 | pub struct LweSecretKey {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `random` is never used
[INFO] [stdout]   --> src/lwe.rs:55:12
[INFO] [stdout]    |
[INFO] [stdout] 54 | impl LweSecretKey {
[INFO] [stdout]    | ----------------- associated function in this implementation
[INFO] [stdout] 55 |     pub fn random<R: CryptoRng + RngCore>(lwe_params: &LweParams, rng: &mut R) -> LweSecretKey {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `LweCleartext` is never constructed
[INFO] [stdout]   --> src/lwe.rs:77:12
[INFO] [stdout]    |
[INFO] [stdout] 77 | pub struct LweCleartext {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `encode_message` and `encode` are never used
[INFO] [stdout]   --> src/lwe.rs:83:12
[INFO] [stdout]    |
[INFO] [stdout] 81 | impl LweCleartext {
[INFO] [stdout]    | ----------------- associated items in this implementation
[INFO] [stdout] 82 |     /// We limit q and p to powers of 2
[INFO] [stdout] 83 |     pub fn encode_message(m: u32, lwe_params: &LweParams) -> LwePlaintext {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 90 |     pub fn encode(&self, lwe_params: &LweParams) -> LwePlaintext {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `LwePlaintext` is never constructed
[INFO] [stdout]   --> src/lwe.rs:96:12
[INFO] [stdout]    |
[INFO] [stdout] 96 | pub struct LwePlaintext {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `decode` is never used
[INFO] [stdout]    --> src/lwe.rs:102:12
[INFO] [stdout]     |
[INFO] [stdout] 101 | impl LwePlaintext {
[INFO] [stdout]     | ----------------- method in this implementation
[INFO] [stdout] 102 |     pub fn decode(&self, lwe_params: &LweParams) -> LweCleartext {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `encrypt_lwe_zero` is never used
[INFO] [stdout]    --> src/lwe.rs:117:8
[INFO] [stdout]     |
[INFO] [stdout] 117 | pub fn encrypt_lwe_zero<R: CryptoRng + RngCore>(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `encrypt_lwe_plaintext` is never used
[INFO] [stdout]    --> src/lwe.rs:138:8
[INFO] [stdout]     |
[INFO] [stdout] 138 | pub fn encrypt_lwe_plaintext<R: CryptoRng + RngCore>(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `decrypt_lwe` is never used
[INFO] [stdout]    --> src/lwe.rs:162:8
[INFO] [stdout]     |
[INFO] [stdout] 162 | pub fn decrypt_lwe(lwe_params: &LweParams, sk: &LweSecretKey, ct: &LweCiphertext) -> LwePlaintext {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `dot_product` is never used
[INFO] [stdout]  --> src/ops.rs:3:8
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub fn dot_product(a: &[u32], b: &[u32]) -> u32 {
[INFO] [stdout]   |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `construct_test_vector_boolean` is never used
[INFO] [stdout]  --> src/test_vector.rs:5:8
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub fn construct_test_vector_boolean(
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `construct_identity_test_vector` is never used
[INFO] [stdout]   --> src/test_vector.rs:23:8
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub fn construct_identity_test_vector(tfhe_params: &TfheParams) -> Array1<u32> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `construct_test_from_lut` is never used
[INFO] [stdout]   --> src/test_vector.rs:38:8
[INFO] [stdout]    |
[INFO] [stdout] 38 | pub fn construct_test_from_lut(tfhe_params: &TfheParams, lut: &[u32]) -> Array1<u32> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `integer_division` is never used
[INFO] [stdout]   --> src/utils.rs:13:8
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub fn integer_division(a: u32, divisor: u32) -> u32 {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `switch_modulus` is never used
[INFO] [stdout]   --> src/utils.rs:23:8
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub fn switch_modulus(values: &[u32], log_from: usize, log_to: usize) -> Vec<u32> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `f64_to_torus_unsigned_representation` is never used
[INFO] [stdout]   --> src/utils.rs:36:8
[INFO] [stdout]    |
[INFO] [stdout] 36 | pub fn f64_to_torus_unsigned_representation(v: f64) -> u32 {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `sample_gaussian_slice` is never used
[INFO] [stdout]   --> src/utils.rs:43:8
[INFO] [stdout]    |
[INFO] [stdout] 43 | pub fn sample_gaussian_slice<R: CryptoRng + RngCore>(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `sample_gaussian_array` is never used
[INFO] [stdout]   --> src/utils.rs:56:8
[INFO] [stdout]    |
[INFO] [stdout] 56 | pub fn sample_gaussian_array<S: ShapeBuilder, R: CryptoRng + RngCore>(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `sample_binary_array` is never used
[INFO] [stdout]   --> src/utils.rs:68:8
[INFO] [stdout]    |
[INFO] [stdout] 68 | pub fn sample_binary_array<
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `sample_uniform_array` is never used
[INFO] [stdout]   --> src/utils.rs:96:8
[INFO] [stdout]    |
[INFO] [stdout] 96 | pub fn sample_uniform_array<A: Clone + num_traits::Zero, S: ShapeBuilder, R: CryptoRng + RngCore>(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `teoplitz` is never used
[INFO] [stdout]    --> src/utils.rs:113:8
[INFO] [stdout]     |
[INFO] [stdout] 113 | pub fn teoplitz(p: ArrayView1<u32>) -> Array2<u32> {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `poly_mul` is never used
[INFO] [stdout]    --> src/utils.rs:155:8
[INFO] [stdout]     |
[INFO] [stdout] 155 | pub fn poly_mul(p0: ArrayView1<u32>, p1: ArrayView1<u32>) -> Array1<u32> {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `poly_dot_product` is never used
[INFO] [stdout]    --> src/utils.rs:163:8
[INFO] [stdout]     |
[INFO] [stdout] 163 | pub fn poly_dot_product(p0: &ArrayView2<u32>, p1: &ArrayView2<u32>) -> Array1<u32> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `poly_mul_monomial_custom_mod` is never used
[INFO] [stdout]    --> src/utils.rs:209:8
[INFO] [stdout]     |
[INFO] [stdout] 209 | pub fn poly_mul_monomial_custom_mod(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `school_book_negacylic_mul` is never used
[INFO] [stdout]    --> src/utils.rs:221:8
[INFO] [stdout]     |
[INFO] [stdout] 221 | pub fn school_book_negacylic_mul(p0: ArrayView1<u32>, p1: ArrayView1<u32>) -> Array1<u32> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `random_keys` is never used
[INFO] [stdout]    --> src/utils.rs:238:8
[INFO] [stdout]     |
[INFO] [stdout] 238 | pub fn random_keys(tfhe_params: &TfheParams) -> (LweSecretKey, GlweSecretKey) {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 15.17s
[INFO] running `Command { std: "docker" "inspect" "b9b1ddff82a53b075d4193d8e198bf9610da8a88e8b2f92c34f7575c382800b3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "b9b1ddff82a53b075d4193d8e198bf9610da8a88e8b2f92c34f7575c382800b3", kill_on_drop: false }`
[INFO] [stdout] b9b1ddff82a53b075d4193d8e198bf9610da8a88e8b2f92c34f7575c382800b3
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid -Copt-level=3" "-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+d98a5da813da67eb189387b8ccfb73cf481275d8" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 145472eee3f650d078658bbe01e2da499e09833934fe1126a909c6affc730f01
[INFO] running `Command { std: "docker" "start" "-a" "145472eee3f650d078658bbe01e2da499e09833934fe1126a909c6affc730f01", kill_on_drop: false }`
[INFO] [stdout] warning: unused imports: `AddAssign` and `Add`
[INFO] [stdout]  --> src/lib.rs:1:16
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::ops::{Add, AddAssign};
[INFO] [stdout]   |                ^^^  ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Array1`, `Array2`, `Axis`, `concatenate`, and `s`
[INFO] [stdout]  --> src/lib.rs:7:15
[INFO] [stdout]   |
[INFO] [stdout] 7 | use ndarray::{concatenate, s, Array1, Array2, Axis};
[INFO] [stdout]   |               ^^^^^^^^^^^  ^  ^^^^^^  ^^^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ops::dot_product`
[INFO] [stdout]  --> src/lib.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use ops::dot_product;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `CryptoRng`, `RngCore`, and `thread_rng`
[INFO] [stdout]  --> src/lib.rs:9:12
[INFO] [stdout]   |
[INFO] [stdout] 9 | use rand::{thread_rng, CryptoRng, RngCore};
[INFO] [stdout]   |            ^^^^^^^^^^  ^^^^^^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `poly_dot_product`, `sample_binary_array`, and `sample_uniform_array`
[INFO] [stdout]   --> src/lib.rs:10:13
[INFO] [stdout]    |
[INFO] [stdout] 10 | use utils::{poly_dot_product, sample_binary_array, sample_uniform_array};
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `GgswParams`, `GlwePlaintext`, `LweParams`, `decrypt_glwe_ciphertext`, `poly_mul_monomial_custom_mod`, and `poly_mul_monomial`
[INFO] [stdout]   --> src/bootstrapping.rs:3:58
[INFO] [stdout]    |
[INFO] [stdout] 3  |     ggsw::{cmux, encrypt_ggsw_plaintext, GgswCiphertext, GgswParams, GgswPlaintext},
[INFO] [stdout]    |                                                          ^^^^^^^^^^
[INFO] [stdout] 4  |     glwe::{
[INFO] [stdout] 5  |         decrypt_glwe_ciphertext, trivial_encrypt_glwe_plaintext, GlweCiphertext, GlweCleartext,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 6  |         GlweParams, GlwePlaintext, GlweSecretKey, Monomial,
[INFO] [stdout]    |                     ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 9  |     lwe::{LweCiphertext, LweParams, LweSecretKey},
[INFO] [stdout]    |                          ^^^^^^^^^
[INFO] [stdout] 10 |     utils::{poly_mul_monomial, poly_mul_monomial_custom_mod, switch_modulus},
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Axis` and `concatenate`
[INFO] [stdout]   --> src/bootstrapping.rs:14:15
[INFO] [stdout]    |
[INFO] [stdout] 14 | use ndarray::{concatenate, s, Array1, Axis};
[INFO] [stdout]    |               ^^^^^^^^^^^             ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `thread_rng`
[INFO] [stdout]   --> src/bootstrapping.rs:15:12
[INFO] [stdout]    |
[INFO] [stdout] 15 | use rand::{thread_rng, CryptoRng, RngCore};
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AddAssign` and `Add`
[INFO] [stdout]   --> src/bootstrapping.rs:16:16
[INFO] [stdout]    |
[INFO] [stdout] 16 | use std::ops::{Add, AddAssign};
[INFO] [stdout]    |                ^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Array`
[INFO] [stdout]  --> src/ggsw.rs:1:31
[INFO] [stdout]   |
[INFO] [stdout] 1 | use ndarray::{concatenate, s, Array, Array3, Axis};
[INFO] [stdout]   |                               ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `GlweCleartext` and `encrypt_glwe_plaintext`
[INFO] [stdout]  --> src/ggsw.rs:7:36
[INFO] [stdout]   |
[INFO] [stdout] 7 |         decompose_glwe_ciphertext, encrypt_glwe_plaintext, encrypt_glwe_zero, GlweCiphertext,
[INFO] [stdout]   |                                    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 8 |         GlweCleartext, GlweParams, GlweSecretKey,
[INFO] [stdout]   |         ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `lwe::LweSecretKey`
[INFO] [stdout]  --> src/glwe.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 |     lwe::LweSecretKey,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Array`
[INFO] [stdout]   --> src/glwe.rs:11:31
[INFO] [stdout]    |
[INFO] [stdout] 11 | use ndarray::{concatenate, s, Array, Array1, Array2, ArrayView1, Axis};
[INFO] [stdout]    |                               ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `thread_rng`
[INFO] [stdout]   --> src/glwe.rs:12:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | use rand::{thread_rng, CryptoRng, RngCore};
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `MulAssign`
[INFO] [stdout]   --> src/glwe.rs:13:37
[INFO] [stdout]    |
[INFO] [stdout] 13 | use std::ops::{Add, AddAssign, Mul, MulAssign, Sub, SubAssign};
[INFO] [stdout]    |                                     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]    --> src/glwe.rs:200:65
[INFO] [stdout]     |
[INFO] [stdout] 200 |     let error = sample_gaussian_array(glwe_params.std_dev, rng, (glwe_params.degree()));
[INFO] [stdout]     |                                                                 ^                    ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 200 -     let error = sample_gaussian_array(glwe_params.std_dev, rng, (glwe_params.degree()));
[INFO] [stdout] 200 +     let error = sample_gaussian_array(glwe_params.std_dev, rng, glwe_params.degree());
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self`
[INFO] [stdout]  --> src/key_switching.rs:2:18
[INFO] [stdout]   |
[INFO] [stdout] 2 |     decomposer::{self, SignedDecomposer},
[INFO] [stdout]   |                  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ops::Neg`
[INFO] [stdout]  --> src/key_switching.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::ops::Neg;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `poly_dot_product`
[INFO] [stdout]  --> src/lwe.rs:3:13
[INFO] [stdout]   |
[INFO] [stdout] 3 |     utils::{poly_dot_product, sample_binary_array, sample_gaussian_slice, sample_uniform_array},
[INFO] [stdout]   |             ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Array2`, `Axis`, and `concatenate`
[INFO] [stdout]  --> src/lwe.rs:5:15
[INFO] [stdout]   |
[INFO] [stdout] 5 | use ndarray::{concatenate, s, Array1, Array2, Axis};
[INFO] [stdout]   |               ^^^^^^^^^^^             ^^^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `thread_rng`
[INFO] [stdout]  --> src/lwe.rs:6:12
[INFO] [stdout]   |
[INFO] [stdout] 6 | use rand::{thread_rng, CryptoRng, RngCore};
[INFO] [stdout]   |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `AddAssign`
[INFO] [stdout]  --> src/lwe.rs:7:21
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::ops::{Add, AddAssign, Mul};
[INFO] [stdout]   |                     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]   --> src/lwe.rs:57:44
[INFO] [stdout]    |
[INFO] [stdout] 57 |             data: sample_binary_array(rng, (lwe_params.lwe_dimension)),
[INFO] [stdout]    |                                            ^                        ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 57 -             data: sample_binary_array(rng, (lwe_params.lwe_dimension)),
[INFO] [stdout] 57 +             data: sample_binary_array(rng, lwe_params.lwe_dimension),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]    --> src/lwe.rs:125:64
[INFO] [stdout]     |
[INFO] [stdout] 125 |     let mut a_samples: Array1<u32> = sample_uniform_array(rng, (lwe_params.lwe_dimension));
[INFO] [stdout]     |                                                                ^                        ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 125 -     let mut a_samples: Array1<u32> = sample_uniform_array(rng, (lwe_params.lwe_dimension));
[INFO] [stdout] 125 +     let mut a_samples: Array1<u32> = sample_uniform_array(rng, lwe_params.lwe_dimension);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]    --> src/lwe.rs:148:64
[INFO] [stdout]     |
[INFO] [stdout] 148 |     let mut a_samples: Array1<u32> = sample_uniform_array(rng, (lwe_params.lwe_dimension));
[INFO] [stdout]     |                                                                ^                        ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 148 -     let mut a_samples: Array1<u32> = sample_uniform_array(rng, (lwe_params.lwe_dimension));
[INFO] [stdout] 148 +     let mut a_samples: Array1<u32> = sample_uniform_array(rng, lwe_params.lwe_dimension);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `glwe::GlweParams` and `lwe::LweParams`
[INFO] [stdout]   --> src/test_vector.rs:3:13
[INFO] [stdout]    |
[INFO] [stdout] 3  | use crate::{glwe::GlweParams, lwe::LweParams, TfheParams};
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: if this is a test module, consider adding a `#[cfg(test)]` to the containing module
[INFO] [stdout]   --> src/lib.rs:20:1
[INFO] [stdout]    |
[INFO] [stdout] 20 | mod test_vector;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ArrayView`, `Axis`, `Shape`, and `concatenate`
[INFO] [stdout]  --> src/utils.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 |     concatenate, Array, Array1, Array2, ArrayView, ArrayView1, ArrayView2, Axis, Dimension, Shape,
[INFO] [stdout]   |     ^^^^^^^^^^^                         ^^^^^^^^^                          ^^^^             ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `MulAssign` and `Mul`
[INFO] [stdout]  --> src/utils.rs:8:27
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::ops::{AddAssign, Mul, MulAssign};
[INFO] [stdout]   |                           ^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]   --> src/utils.rs:27:42
[INFO] [stdout]    |
[INFO] [stdout] 27 |             let v = integer_division(*v, (1 << (log_from - log_to)));
[INFO] [stdout]    |                                          ^                        ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 27 -             let v = integer_division(*v, (1 << (log_from - log_to)));
[INFO] [stdout] 27 +             let v = integer_division(*v, 1 << (log_from - log_to));
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `for` iterator expression
[INFO] [stdout]    --> src/utils.rs:227:18
[INFO] [stdout]     |
[INFO] [stdout] 227 |         for j in (0..i + 1) {
[INFO] [stdout]     |                  ^        ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 227 -         for j in (0..i + 1) {
[INFO] [stdout] 227 +         for j in 0..i + 1 {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `for` iterator expression
[INFO] [stdout]    --> src/utils.rs:230:18
[INFO] [stdout]     |
[INFO] [stdout] 230 |         for j in (i + 1..n) {
[INFO] [stdout]     |                  ^        ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 230 -         for j in (i + 1..n) {
[INFO] [stdout] 230 +         for j in i + 1..n {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Dimension`
[INFO] [stdout]  --> src/utils.rs:3:82
[INFO] [stdout]   |
[INFO] [stdout] 3 |     concatenate, Array, Array1, Array2, ArrayView, ArrayView1, ArrayView2, Axis, Dimension, Shape,
[INFO] [stdout]   |                                                                                  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `lwe_secret_key`
[INFO] [stdout]   --> src/bootstrapping.rs:61:5
[INFO] [stdout]    |
[INFO] [stdout] 61 |     lwe_secret_key: &LweSecretKey,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_lwe_secret_key`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `glwe_secret_key`
[INFO] [stdout]   --> src/bootstrapping.rs:62:5
[INFO] [stdout]    |
[INFO] [stdout] 62 |     glwe_secret_key: &GlweSecretKey,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_glwe_secret_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rng`
[INFO] [stdout]    --> src/glwe.rs:249:5
[INFO] [stdout]     |
[INFO] [stdout] 249 |     rng: &mut R,
[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/lwe.rs:125:9
[INFO] [stdout]     |
[INFO] [stdout] 125 |     let mut a_samples: Array1<u32> = sample_uniform_array(rng, (lwe_params.lwe_dimension));
[INFO] [stdout]     |         ----^^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/lwe.rs:148:9
[INFO] [stdout]     |
[INFO] [stdout] 148 |     let mut a_samples: Array1<u32> = sample_uniform_array(rng, (lwe_params.lwe_dimension));
[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/utils.rs:158:9
[INFO] [stdout]     |
[INFO] [stdout] 158 |     let mut res = p0_teoplitz.dot(&p1);
[INFO] [stdout]     |         ----^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `ks_decomposer` is never read
[INFO] [stdout]   --> src/lib.rs:30:5
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub struct TfheParams {
[INFO] [stdout]    |            ---------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 30 |     ks_decomposer: DecomposerParams,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `and` is never used
[INFO] [stdout]  --> src/boolean.rs:9:4
[INFO] [stdout]   |
[INFO] [stdout] 9 | fn and(
[INFO] [stdout]   |    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `or` is never used
[INFO] [stdout]   --> src/boolean.rs:32:4
[INFO] [stdout]    |
[INFO] [stdout] 32 | fn or(
[INFO] [stdout]    |    ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BootstrappingKey` is never constructed
[INFO] [stdout]   --> src/bootstrapping.rs:18:12
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub struct BootstrappingKey {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `bootstrapping_key_gen` is never used
[INFO] [stdout]   --> src/bootstrapping.rs:23:8
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub fn bootstrapping_key_gen<R: CryptoRng + RngCore>(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `bootstrap` is never used
[INFO] [stdout]   --> src/bootstrapping.rs:58:8
[INFO] [stdout]    |
[INFO] [stdout] 58 | pub fn bootstrap(
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `sample_extract` is never used
[INFO] [stdout]    --> src/bootstrapping.rs:122:4
[INFO] [stdout]     |
[INFO] [stdout] 122 | fn sample_extract(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `log_base`, `levels`, and `log_q` are never read
[INFO] [stdout]  --> src/decomposer.rs:3:16
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub struct DecomposerParams {
[INFO] [stdout]   |            ---------------- fields in this struct
[INFO] [stdout] 3 |     pub(crate) log_base: usize,
[INFO] [stdout]   |                ^^^^^^^^
[INFO] [stdout] 4 |     pub(crate) levels: usize,
[INFO] [stdout]   |                ^^^^^^
[INFO] [stdout] 5 |     pub(crate) log_q: usize,
[INFO] [stdout]   |                ^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `DecomposerParams` 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: associated function `new` is never used
[INFO] [stdout]  --> src/decomposer.rs:9:12
[INFO] [stdout]   |
[INFO] [stdout] 8 | impl DecomposerParams {
[INFO] [stdout]   | --------------------- associated function in this implementation
[INFO] [stdout] 9 |     pub fn new(log_base: usize, levels: usize, log_q: usize) -> DecomposerParams {
[INFO] [stdout]   |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SignedDecomposer` is never constructed
[INFO] [stdout]   --> src/decomposer.rs:18:12
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub struct SignedDecomposer {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `round_value`, `decompose`, and `recompose` are never used
[INFO] [stdout]   --> src/decomposer.rs:23:12
[INFO] [stdout]    |
[INFO] [stdout] 22 | impl SignedDecomposer {
[INFO] [stdout]    | --------------------- associated items in this implementation
[INFO] [stdout] 23 |     pub fn new(params: DecomposerParams) -> SignedDecomposer {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 27 |     pub fn round_value(&self, value: u32) -> u32 {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 42 |     pub fn decompose(&self, value: u32) -> Vec<u32> {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 83 |     pub fn recompose(&self, legs: &[u32]) -> u32 {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `GgswPlaintext` is never constructed
[INFO] [stdout]   --> src/ggsw.rs:16:12
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub struct GgswPlaintext {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/ggsw.rs:21:12
[INFO] [stdout]    |
[INFO] [stdout] 20 | impl GgswPlaintext {
[INFO] [stdout]    | ------------------ associated function in this implementation
[INFO] [stdout] 21 |     pub fn new(message: u32) -> GgswPlaintext {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `glwe_params` and `decomposer_params` are never read
[INFO] [stdout]   --> src/ggsw.rs:27:16
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub struct GgswParams {
[INFO] [stdout]    |            ---------- fields in this struct
[INFO] [stdout] 27 |     pub(crate) glwe_params: GlweParams,
[INFO] [stdout]    |                ^^^^^^^^^^^
[INFO] [stdout] 28 |     pub(crate) decomposer_params: DecomposerParams,
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `GgswCiphertext` is never constructed
[INFO] [stdout]   --> src/ggsw.rs:37:12
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub struct GgswCiphertext {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `encrypt_ggsw_plaintext` is never used
[INFO] [stdout]   --> src/ggsw.rs:76:8
[INFO] [stdout]    |
[INFO] [stdout] 76 | pub fn encrypt_ggsw_plaintext<R: CryptoRng + RngCore>(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `external_product` is never used
[INFO] [stdout]    --> src/ggsw.rs:132:4
[INFO] [stdout]     |
[INFO] [stdout] 132 | fn external_product(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `cmux` is never used
[INFO] [stdout]    --> src/ggsw.rs:164:8
[INFO] [stdout]     |
[INFO] [stdout] 164 | pub fn cmux(
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `decompose_poly` is never used
[INFO] [stdout]   --> src/glwe.rs:69:4
[INFO] [stdout]    |
[INFO] [stdout] 69 | fn decompose_poly(poly: &ArrayView1<u32>, signed_decomposer: &SignedDecomposer) -> Array2<u32> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `decompose_glwe_ciphertext` is never used
[INFO] [stdout]   --> src/glwe.rs:90:8
[INFO] [stdout]    |
[INFO] [stdout] 90 | pub fn decompose_glwe_ciphertext(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `glwe_dimension`, `padding_bits`, `log_q`, `log_p`, and `std_dev` are never read
[INFO] [stdout]    --> src/glwe.rs:113:16
[INFO] [stdout]     |
[INFO] [stdout] 112 | pub struct GlweParams {
[INFO] [stdout]     |            ---------- fields in this struct
[INFO] [stdout] 113 |     pub(crate) glwe_dimension: usize,
[INFO] [stdout]     |                ^^^^^^^^^^^^^^
[INFO] [stdout] 114 |     pub(crate) log_degree: usize,
[INFO] [stdout] 115 |     pub(crate) padding_bits: usize,
[INFO] [stdout]     |                ^^^^^^^^^^^^
[INFO] [stdout] 116 |     /// q in Z/2^qZ
[INFO] [stdout] 117 |     pub(crate) log_q: usize,
[INFO] [stdout]     |                ^^^^^
[INFO] [stdout] 118 |     /// p in Z/2^pZ
[INFO] [stdout] 119 |     pub(crate) log_p: usize,
[INFO] [stdout]     |                ^^^^^
[INFO] [stdout] 120 |     pub(crate) std_dev: f64,
[INFO] [stdout]     |                ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `GlweParams` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `GlweCleartext` is never constructed
[INFO] [stdout]    --> src/glwe.rs:137:12
[INFO] [stdout]     |
[INFO] [stdout] 137 | pub struct GlweCleartext {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `encode_message` is never used
[INFO] [stdout]    --> src/glwe.rs:141:12
[INFO] [stdout]     |
[INFO] [stdout] 140 | impl GlweCleartext {
[INFO] [stdout]     | ------------------ associated function in this implementation
[INFO] [stdout] 141 |     pub fn encode_message(message: &[u32], glwe_params: &GlweParams) -> GlwePlaintext {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `GlwePlaintext` is never constructed
[INFO] [stdout]    --> src/glwe.rs:155:12
[INFO] [stdout]     |
[INFO] [stdout] 155 | pub struct GlwePlaintext {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `decode` is never used
[INFO] [stdout]    --> src/glwe.rs:160:12
[INFO] [stdout]     |
[INFO] [stdout] 159 | impl GlwePlaintext {
[INFO] [stdout]     | ------------------ method in this implementation
[INFO] [stdout] 160 |     pub fn decode(&self, glwe_params: &GlweParams) -> GlweCleartext {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `GlweSecretKey` is never constructed
[INFO] [stdout]    --> src/glwe.rs:172:12
[INFO] [stdout]     |
[INFO] [stdout] 172 | pub struct GlweSecretKey {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling tfhe v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: associated function `random` is never used
[INFO] [stdout]    --> src/glwe.rs:177:12
[INFO] [stdout]     |
[INFO] [stdout] 176 | impl GlweSecretKey {
[INFO] [stdout]     | ------------------ associated function in this implementation
[INFO] [stdout] 177 |     pub fn random<R: CryptoRng + RngCore>(glwe_params: &GlweParams, rng: &mut R) -> GlweSecretKey {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `encrypt_glwe_zero` is never used
[INFO] [stdout]    --> src/glwe.rs:190:8
[INFO] [stdout]     |
[INFO] [stdout] 190 | pub fn encrypt_glwe_zero<R: CryptoRng + RngCore>(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `encrypt_glwe_plaintext` is never used
[INFO] [stdout]    --> src/glwe.rs:211:8
[INFO] [stdout]     |
[INFO] [stdout] 211 | pub fn encrypt_glwe_plaintext<R: CryptoRng + RngCore>(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `trivial_encrypt_glwe_plaintext` is never used
[INFO] [stdout]    --> src/glwe.rs:232:8
[INFO] [stdout]     |
[INFO] [stdout] 232 | pub fn trivial_encrypt_glwe_plaintext(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `decrypt_glwe_ciphertext` is never used
[INFO] [stdout]    --> src/glwe.rs:245:8
[INFO] [stdout]     |
[INFO] [stdout] 245 | pub fn decrypt_glwe_ciphertext<R: CryptoRng + RngCore>(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `KeySwitchingKey` is never constructed
[INFO] [stdout]   --> src/key_switching.rs:13:12
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub struct KeySwitchingKey {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `generate_ksk` is never used
[INFO] [stdout]   --> src/key_switching.rs:20:12
[INFO] [stdout]    |
[INFO] [stdout] 17 | impl KeySwitchingKey {
[INFO] [stdout]    | -------------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 20 |     pub fn generate_ksk<R: CryptoRng + RngCore>(
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `key_switch_lwe` is never used
[INFO] [stdout]   --> src/key_switching.rs:63:8
[INFO] [stdout]    |
[INFO] [stdout] 63 | pub fn key_switch_lwe(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `lwe_dimension`, `padding_bits`, `log_q`, `log_p`, and `std_dev` are never read
[INFO] [stdout]   --> src/lwe.rs:27:16
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub struct LweParams {
[INFO] [stdout]    |            --------- fields in this struct
[INFO] [stdout] 27 |     pub(crate) lwe_dimension: usize,
[INFO] [stdout]    |                ^^^^^^^^^^^^^
[INFO] [stdout] 28 |     /// q in Z/2^qZ
[INFO] [stdout] 29 |     pub(crate) padding_bits: usize,
[INFO] [stdout]    |                ^^^^^^^^^^^^
[INFO] [stdout] 30 |     pub(crate) log_q: usize,
[INFO] [stdout]    |                ^^^^^
[INFO] [stdout] 31 |     /// p in Z/2^pZ
[INFO] [stdout] 32 |     pub(crate) log_p: usize,
[INFO] [stdout]    |                ^^^^^
[INFO] [stdout] 33 |     pub(crate) std_dev: f64,
[INFO] [stdout]    |                ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `LweParams` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `LweSecretKey` is never constructed
[INFO] [stdout]   --> src/lwe.rs:50:12
[INFO] [stdout]    |
[INFO] [stdout] 50 | pub struct LweSecretKey {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `random` is never used
[INFO] [stdout]   --> src/lwe.rs:55:12
[INFO] [stdout]    |
[INFO] [stdout] 54 | impl LweSecretKey {
[INFO] [stdout]    | ----------------- associated function in this implementation
[INFO] [stdout] 55 |     pub fn random<R: CryptoRng + RngCore>(lwe_params: &LweParams, rng: &mut R) -> LweSecretKey {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `LweCleartext` is never constructed
[INFO] [stdout]   --> src/lwe.rs:77:12
[INFO] [stdout]    |
[INFO] [stdout] 77 | pub struct LweCleartext {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `encode_message` and `encode` are never used
[INFO] [stdout]   --> src/lwe.rs:83:12
[INFO] [stdout]    |
[INFO] [stdout] 81 | impl LweCleartext {
[INFO] [stdout]    | ----------------- associated items in this implementation
[INFO] [stdout] 82 |     /// We limit q and p to powers of 2
[INFO] [stdout] 83 |     pub fn encode_message(m: u32, lwe_params: &LweParams) -> LwePlaintext {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 90 |     pub fn encode(&self, lwe_params: &LweParams) -> LwePlaintext {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `LwePlaintext` is never constructed
[INFO] [stdout]   --> src/lwe.rs:96:12
[INFO] [stdout]    |
[INFO] [stdout] 96 | pub struct LwePlaintext {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `decode` is never used
[INFO] [stdout]    --> src/lwe.rs:102:12
[INFO] [stdout]     |
[INFO] [stdout] 101 | impl LwePlaintext {
[INFO] [stdout]     | ----------------- method in this implementation
[INFO] [stdout] 102 |     pub fn decode(&self, lwe_params: &LweParams) -> LweCleartext {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `encrypt_lwe_zero` is never used
[INFO] [stdout]    --> src/lwe.rs:117:8
[INFO] [stdout]     |
[INFO] [stdout] 117 | pub fn encrypt_lwe_zero<R: CryptoRng + RngCore>(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `encrypt_lwe_plaintext` is never used
[INFO] [stdout]    --> src/lwe.rs:138:8
[INFO] [stdout]     |
[INFO] [stdout] 138 | pub fn encrypt_lwe_plaintext<R: CryptoRng + RngCore>(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `decrypt_lwe` is never used
[INFO] [stdout]    --> src/lwe.rs:162:8
[INFO] [stdout]     |
[INFO] [stdout] 162 | pub fn decrypt_lwe(lwe_params: &LweParams, sk: &LweSecretKey, ct: &LweCiphertext) -> LwePlaintext {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `dot_product` is never used
[INFO] [stdout]  --> src/ops.rs:3:8
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub fn dot_product(a: &[u32], b: &[u32]) -> u32 {
[INFO] [stdout]   |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `construct_test_vector_boolean` is never used
[INFO] [stdout]  --> src/test_vector.rs:5:8
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub fn construct_test_vector_boolean(
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `construct_identity_test_vector` is never used
[INFO] [stdout]   --> src/test_vector.rs:23:8
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub fn construct_identity_test_vector(tfhe_params: &TfheParams) -> Array1<u32> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `construct_test_from_lut` is never used
[INFO] [stdout]   --> src/test_vector.rs:38:8
[INFO] [stdout]    |
[INFO] [stdout] 38 | pub fn construct_test_from_lut(tfhe_params: &TfheParams, lut: &[u32]) -> Array1<u32> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `integer_division` is never used
[INFO] [stdout]   --> src/utils.rs:13:8
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub fn integer_division(a: u32, divisor: u32) -> u32 {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `switch_modulus` is never used
[INFO] [stdout]   --> src/utils.rs:23:8
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub fn switch_modulus(values: &[u32], log_from: usize, log_to: usize) -> Vec<u32> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `f64_to_torus_unsigned_representation` is never used
[INFO] [stdout]   --> src/utils.rs:36:8
[INFO] [stdout]    |
[INFO] [stdout] 36 | pub fn f64_to_torus_unsigned_representation(v: f64) -> u32 {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `sample_gaussian_slice` is never used
[INFO] [stdout]   --> src/utils.rs:43:8
[INFO] [stdout]    |
[INFO] [stdout] 43 | pub fn sample_gaussian_slice<R: CryptoRng + RngCore>(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `sample_gaussian_array` is never used
[INFO] [stdout]   --> src/utils.rs:56:8
[INFO] [stdout]    |
[INFO] [stdout] 56 | pub fn sample_gaussian_array<S: ShapeBuilder, R: CryptoRng + RngCore>(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `sample_binary_array` is never used
[INFO] [stdout]   --> src/utils.rs:68:8
[INFO] [stdout]    |
[INFO] [stdout] 68 | pub fn sample_binary_array<
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `sample_uniform_array` is never used
[INFO] [stdout]   --> src/utils.rs:96:8
[INFO] [stdout]    |
[INFO] [stdout] 96 | pub fn sample_uniform_array<A: Clone + num_traits::Zero, S: ShapeBuilder, R: CryptoRng + RngCore>(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `teoplitz` is never used
[INFO] [stdout]    --> src/utils.rs:113:8
[INFO] [stdout]     |
[INFO] [stdout] 113 | pub fn teoplitz(p: ArrayView1<u32>) -> Array2<u32> {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `poly_mul` is never used
[INFO] [stdout]    --> src/utils.rs:155:8
[INFO] [stdout]     |
[INFO] [stdout] 155 | pub fn poly_mul(p0: ArrayView1<u32>, p1: ArrayView1<u32>) -> Array1<u32> {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `poly_dot_product` is never used
[INFO] [stdout]    --> src/utils.rs:163:8
[INFO] [stdout]     |
[INFO] [stdout] 163 | pub fn poly_dot_product(p0: &ArrayView2<u32>, p1: &ArrayView2<u32>) -> Array1<u32> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `poly_mul_monomial_custom_mod` is never used
[INFO] [stdout]    --> src/utils.rs:209:8
[INFO] [stdout]     |
[INFO] [stdout] 209 | pub fn poly_mul_monomial_custom_mod(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `school_book_negacylic_mul` is never used
[INFO] [stdout]    --> src/utils.rs:221:8
[INFO] [stdout]     |
[INFO] [stdout] 221 | pub fn school_book_negacylic_mul(p0: ArrayView1<u32>, p1: ArrayView1<u32>) -> Array1<u32> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `random_keys` is never used
[INFO] [stdout]    --> src/utils.rs:238:8
[INFO] [stdout]     |
[INFO] [stdout] 238 | pub fn random_keys(tfhe_params: &TfheParams) -> (LweSecretKey, GlweSecretKey) {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AddAssign` and `Add`
[INFO] [stdout]  --> src/lib.rs:1:16
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::ops::{Add, AddAssign};
[INFO] [stdout]   |                ^^^  ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Array1`, `Array2`, `Axis`, `concatenate`, and `s`
[INFO] [stdout]  --> src/lib.rs:7:15
[INFO] [stdout]   |
[INFO] [stdout] 7 | use ndarray::{concatenate, s, Array1, Array2, Axis};
[INFO] [stdout]   |               ^^^^^^^^^^^  ^  ^^^^^^  ^^^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ops::dot_product`
[INFO] [stdout]  --> src/lib.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use ops::dot_product;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `CryptoRng`, `RngCore`, and `thread_rng`
[INFO] [stdout]  --> src/lib.rs:9:12
[INFO] [stdout]   |
[INFO] [stdout] 9 | use rand::{thread_rng, CryptoRng, RngCore};
[INFO] [stdout]   |            ^^^^^^^^^^  ^^^^^^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `poly_dot_product`, `sample_binary_array`, and `sample_uniform_array`
[INFO] [stdout]   --> src/lib.rs:10:13
[INFO] [stdout]    |
[INFO] [stdout] 10 | use utils::{poly_dot_product, sample_binary_array, sample_uniform_array};
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `GgswParams`, `GlwePlaintext`, `LweParams`, `decrypt_glwe_ciphertext`, and `poly_mul_monomial`
[INFO] [stdout]   --> src/bootstrapping.rs:3:58
[INFO] [stdout]    |
[INFO] [stdout] 3  |     ggsw::{cmux, encrypt_ggsw_plaintext, GgswCiphertext, GgswParams, GgswPlaintext},
[INFO] [stdout]    |                                                          ^^^^^^^^^^
[INFO] [stdout] 4  |     glwe::{
[INFO] [stdout] 5  |         decrypt_glwe_ciphertext, trivial_encrypt_glwe_plaintext, GlweCiphertext, GlweCleartext,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 6  |         GlweParams, GlwePlaintext, GlweSecretKey, Monomial,
[INFO] [stdout]    |                     ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 9  |     lwe::{LweCiphertext, LweParams, LweSecretKey},
[INFO] [stdout]    |                          ^^^^^^^^^
[INFO] [stdout] 10 |     utils::{poly_mul_monomial, poly_mul_monomial_custom_mod, switch_modulus},
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Axis` and `concatenate`
[INFO] [stdout]   --> src/bootstrapping.rs:14:15
[INFO] [stdout]    |
[INFO] [stdout] 14 | use ndarray::{concatenate, s, Array1, Axis};
[INFO] [stdout]    |               ^^^^^^^^^^^             ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `thread_rng`
[INFO] [stdout]   --> src/bootstrapping.rs:15:12
[INFO] [stdout]    |
[INFO] [stdout] 15 | use rand::{thread_rng, CryptoRng, RngCore};
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AddAssign` and `Add`
[INFO] [stdout]   --> src/bootstrapping.rs:16:16
[INFO] [stdout]    |
[INFO] [stdout] 16 | use std::ops::{Add, AddAssign};
[INFO] [stdout]    |                ^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `LweParams`, `construct_test_vector_boolean`, `decompose_glwe_ciphertext`, `encrypt_glwe_zero`, and `self`
[INFO] [stdout]    --> src/bootstrapping.rs:163:13
[INFO] [stdout]     |
[INFO] [stdout] 163 |             decompose_glwe_ciphertext, encrypt_glwe_plaintext, encrypt_glwe_zero, GlweCleartext,
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^                          ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 166 |         lwe::{self, decrypt_lwe, encrypt_lwe_plaintext, LweCleartext, LweParams, LweSecretKey},
[INFO] [stdout]     |               ^^^^                                                    ^^^^^^^^^
[INFO] [stdout] 167 |         test_vector::{construct_identity_test_vector, construct_test_vector_boolean},
[INFO] [stdout]     |                                                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Rng` and `distributions::Uniform`
[INFO] [stdout]    --> src/bootstrapping.rs:169:16
[INFO] [stdout]     |
[INFO] [stdout] 169 |     use rand::{distributions::Uniform, thread_rng, Rng};
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^^^^^^^              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]    --> src/bootstrapping.rs:274:21
[INFO] [stdout]     |
[INFO] [stdout] 274 |                     ((approximate_lwe[i]) as isize),
[INFO] [stdout]     |                     ^                             ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 274 -                     ((approximate_lwe[i]) as isize),
[INFO] [stdout] 274 +                     (approximate_lwe[i]) as isize,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]    --> src/bootstrapping.rs:284:13
[INFO] [stdout]     |
[INFO] [stdout] 284 |             (tmp as isize),
[INFO] [stdout]     |             ^            ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 284 -             (tmp as isize),
[INFO] [stdout] 284 +             tmp as isize,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Array`
[INFO] [stdout]  --> src/ggsw.rs:1:31
[INFO] [stdout]   |
[INFO] [stdout] 1 | use ndarray::{concatenate, s, Array, Array3, Axis};
[INFO] [stdout]   |                               ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `lwe::LweSecretKey`
[INFO] [stdout]  --> src/glwe.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 |     lwe::LweSecretKey,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Array`
[INFO] [stdout]   --> src/glwe.rs:11:31
[INFO] [stdout]    |
[INFO] [stdout] 11 | use ndarray::{concatenate, s, Array, Array1, Array2, ArrayView1, Axis};
[INFO] [stdout]    |                               ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `thread_rng`
[INFO] [stdout]   --> src/glwe.rs:12:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | use rand::{thread_rng, CryptoRng, RngCore};
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `MulAssign`
[INFO] [stdout]   --> src/glwe.rs:13:37
[INFO] [stdout]    |
[INFO] [stdout] 13 | use std::ops::{Add, AddAssign, Mul, MulAssign, Sub, SubAssign};
[INFO] [stdout]    |                                     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]    --> src/glwe.rs:200:65
[INFO] [stdout]     |
[INFO] [stdout] 200 |     let error = sample_gaussian_array(glwe_params.std_dev, rng, (glwe_params.degree()));
[INFO] [stdout]     |                                                                 ^                    ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 200 -     let error = sample_gaussian_array(glwe_params.std_dev, rng, (glwe_params.degree()));
[INFO] [stdout] 200 +     let error = sample_gaussian_array(glwe_params.std_dev, rng, glwe_params.degree());
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self`
[INFO] [stdout]  --> src/key_switching.rs:2:18
[INFO] [stdout]   |
[INFO] [stdout] 2 |     decomposer::{self, SignedDecomposer},
[INFO] [stdout]   |                  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ops::Neg`
[INFO] [stdout]  --> src/key_switching.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::ops::Neg;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `poly_dot_product`
[INFO] [stdout]  --> src/lwe.rs:3:13
[INFO] [stdout]   |
[INFO] [stdout] 3 |     utils::{poly_dot_product, sample_binary_array, sample_gaussian_slice, sample_uniform_array},
[INFO] [stdout]   |             ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Array2`, `Axis`, and `concatenate`
[INFO] [stdout]  --> src/lwe.rs:5:15
[INFO] [stdout]   |
[INFO] [stdout] 5 | use ndarray::{concatenate, s, Array1, Array2, Axis};
[INFO] [stdout]   |               ^^^^^^^^^^^             ^^^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `thread_rng`
[INFO] [stdout]  --> src/lwe.rs:6:12
[INFO] [stdout]   |
[INFO] [stdout] 6 | use rand::{thread_rng, CryptoRng, RngCore};
[INFO] [stdout]   |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `AddAssign`
[INFO] [stdout]  --> src/lwe.rs:7:21
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::ops::{Add, AddAssign, Mul};
[INFO] [stdout]   |                     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]   --> src/lwe.rs:57:44
[INFO] [stdout]    |
[INFO] [stdout] 57 |             data: sample_binary_array(rng, (lwe_params.lwe_dimension)),
[INFO] [stdout]    |                                            ^                        ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 57 -             data: sample_binary_array(rng, (lwe_params.lwe_dimension)),
[INFO] [stdout] 57 +             data: sample_binary_array(rng, lwe_params.lwe_dimension),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]    --> src/lwe.rs:125:64
[INFO] [stdout]     |
[INFO] [stdout] 125 |     let mut a_samples: Array1<u32> = sample_uniform_array(rng, (lwe_params.lwe_dimension));
[INFO] [stdout]     |                                                                ^                        ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 125 -     let mut a_samples: Array1<u32> = sample_uniform_array(rng, (lwe_params.lwe_dimension));
[INFO] [stdout] 125 +     let mut a_samples: Array1<u32> = sample_uniform_array(rng, lwe_params.lwe_dimension);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]    --> src/lwe.rs:148:64
[INFO] [stdout]     |
[INFO] [stdout] 148 |     let mut a_samples: Array1<u32> = sample_uniform_array(rng, (lwe_params.lwe_dimension));
[INFO] [stdout]     |                                                                ^                        ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 148 -     let mut a_samples: Array1<u32> = sample_uniform_array(rng, (lwe_params.lwe_dimension));
[INFO] [stdout] 148 +     let mut a_samples: Array1<u32> = sample_uniform_array(rng, lwe_params.lwe_dimension);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `glwe::GlweParams` and `lwe::LweParams`
[INFO] [stdout]  --> src/test_vector.rs:3:13
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::{glwe::GlweParams, lwe::LweParams, TfheParams};
[INFO] [stdout]   |             ^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `glwe::GlweParams` and `lwe::LweParams`
[INFO] [stdout]   --> src/test_vector.rs:71:17
[INFO] [stdout]    |
[INFO] [stdout] 71 |     use crate::{glwe::GlweParams, lwe::LweParams, TfheParams};
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ArrayView`, `Axis`, `Shape`, and `concatenate`
[INFO] [stdout]  --> src/utils.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 |     concatenate, Array, Array1, Array2, ArrayView, ArrayView1, ArrayView2, Axis, Dimension, Shape,
[INFO] [stdout]   |     ^^^^^^^^^^^                         ^^^^^^^^^                          ^^^^             ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `MulAssign` and `Mul`
[INFO] [stdout]  --> src/utils.rs:8:27
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::ops::{AddAssign, Mul, MulAssign};
[INFO] [stdout]   |                           ^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]   --> src/utils.rs:27:42
[INFO] [stdout]    |
[INFO] [stdout] 27 |             let v = integer_division(*v, (1 << (log_from - log_to)));
[INFO] [stdout]    |                                          ^                        ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 27 -             let v = integer_division(*v, (1 << (log_from - log_to)));
[INFO] [stdout] 27 +             let v = integer_division(*v, 1 << (log_from - log_to));
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `for` iterator expression
[INFO] [stdout]    --> src/utils.rs:227:18
[INFO] [stdout]     |
[INFO] [stdout] 227 |         for j in (0..i + 1) {
[INFO] [stdout]     |                  ^        ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 227 -         for j in (0..i + 1) {
[INFO] [stdout] 227 +         for j in 0..i + 1 {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `for` iterator expression
[INFO] [stdout]    --> src/utils.rs:230:18
[INFO] [stdout]     |
[INFO] [stdout] 230 |         for j in (i + 1..n) {
[INFO] [stdout]     |                  ^        ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 230 -         for j in (i + 1..n) {
[INFO] [stdout] 230 +         for j in i + 1..n {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `glwe` and `test_vector`
[INFO] [stdout]    --> src/utils.rs:248:9
[INFO] [stdout]     |
[INFO] [stdout] 248 |         glwe,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout] 249 |         lwe::{encrypt_lwe_plaintext, LweCleartext, LweSecretKey},
[INFO] [stdout] 250 |         test_vector, TfheParams,
[INFO] [stdout]     |         ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Dimension`
[INFO] [stdout]  --> src/utils.rs:3:82
[INFO] [stdout]   |
[INFO] [stdout] 3 |     concatenate, Array, Array1, Array2, ArrayView, ArrayView1, ArrayView2, Axis, Dimension, Shape,
[INFO] [stdout]   |                                                                                  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `lwe_secret_key`
[INFO] [stdout]   --> src/bootstrapping.rs:61:5
[INFO] [stdout]    |
[INFO] [stdout] 61 |     lwe_secret_key: &LweSecretKey,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_lwe_secret_key`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `glwe_secret_key`
[INFO] [stdout]   --> src/bootstrapping.rs:62:5
[INFO] [stdout]    |
[INFO] [stdout] 62 |     glwe_secret_key: &GlweSecretKey,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_glwe_secret_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ggsw_ciphertext`
[INFO] [stdout]    --> src/ggsw.rs:193:13
[INFO] [stdout]     |
[INFO] [stdout] 193 |         let ggsw_ciphertext = encrypt_ggsw_plaintext(
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ggsw_ciphertext`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rng`
[INFO] [stdout]    --> src/glwe.rs:249:5
[INFO] [stdout]     |
[INFO] [stdout] 249 |     rng: &mut R,
[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/lwe.rs:125:9
[INFO] [stdout]     |
[INFO] [stdout] 125 |     let mut a_samples: Array1<u32> = sample_uniform_array(rng, (lwe_params.lwe_dimension));
[INFO] [stdout]     |         ----^^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/lwe.rs:148:9
[INFO] [stdout]     |
[INFO] [stdout] 148 |     let mut a_samples: Array1<u32> = sample_uniform_array(rng, (lwe_params.lwe_dimension));
[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/utils.rs:158:9
[INFO] [stdout]     |
[INFO] [stdout] 158 |     let mut res = p0_teoplitz.dot(&p1);
[INFO] [stdout]     |         ----^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `or` is never used
[INFO] [stdout]   --> src/boolean.rs:32:4
[INFO] [stdout]    |
[INFO] [stdout] 32 | fn or(
[INFO] [stdout]    |    ^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `dot_product` is never used
[INFO] [stdout]  --> src/ops.rs:3:8
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub fn dot_product(a: &[u32], b: &[u32]) -> u32 {
[INFO] [stdout]   |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 4.82s
[INFO] running `Command { std: "docker" "inspect" "145472eee3f650d078658bbe01e2da499e09833934fe1126a909c6affc730f01", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "145472eee3f650d078658bbe01e2da499e09833934fe1126a909c6affc730f01", kill_on_drop: false }`
[INFO] [stdout] 145472eee3f650d078658bbe01e2da499e09833934fe1126a909c6affc730f01
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid -Copt-level=3" "-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+d98a5da813da67eb189387b8ccfb73cf481275d8" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 1305972a3b4a6669b776f8ba6ac68cf4ef9745505ca00ae995a483e7a3a96827
[INFO] running `Command { std: "docker" "start" "-a" "1305972a3b4a6669b776f8ba6ac68cf4ef9745505ca00ae995a483e7a3a96827", kill_on_drop: false }`
[INFO] [stderr] warning: unused imports: `AddAssign` and `Add`
[INFO] [stderr]  --> src/lib.rs:1:16
[INFO] [stderr]   |
[INFO] [stderr] 1 | use std::ops::{Add, AddAssign};
[INFO] [stderr]   |                ^^^  ^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `Array1`, `Array2`, `Axis`, `concatenate`, and `s`
[INFO] [stderr]  --> src/lib.rs:7:15
[INFO] [stderr]   |
[INFO] [stderr] 7 | use ndarray::{concatenate, s, Array1, Array2, Axis};
[INFO] [stderr]   |               ^^^^^^^^^^^  ^  ^^^^^^  ^^^^^^  ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `ops::dot_product`
[INFO] [stderr]  --> src/lib.rs:8:5
[INFO] [stderr]   |
[INFO] [stderr] 8 | use ops::dot_product;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `CryptoRng`, `RngCore`, and `thread_rng`
[INFO] [stderr]  --> src/lib.rs:9:12
[INFO] [stderr]   |
[INFO] [stderr] 9 | use rand::{thread_rng, CryptoRng, RngCore};
[INFO] [stderr]   |            ^^^^^^^^^^  ^^^^^^^^^  ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `poly_dot_product`, `sample_binary_array`, and `sample_uniform_array`
[INFO] [stderr]   --> src/lib.rs:10:13
[INFO] [stderr]    |
[INFO] [stderr] 10 | use utils::{poly_dot_product, sample_binary_array, sample_uniform_array};
[INFO] [stderr]    |             ^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `GgswParams`, `GlwePlaintext`, `LweParams`, `decrypt_glwe_ciphertext`, `poly_mul_monomial_custom_mod`, and `poly_mul_monomial`
[INFO] [stderr]   --> src/bootstrapping.rs:3:58
[INFO] [stderr]    |
[INFO] [stderr] 3  |     ggsw::{cmux, encrypt_ggsw_plaintext, GgswCiphertext, GgswParams, GgswPlaintext},
[INFO] [stderr]    |                                                          ^^^^^^^^^^
[INFO] [stderr] 4  |     glwe::{
[INFO] [stderr] 5  |         decrypt_glwe_ciphertext, trivial_encrypt_glwe_plaintext, GlweCiphertext, GlweCleartext,
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 6  |         GlweParams, GlwePlaintext, GlweSecretKey, Monomial,
[INFO] [stderr]    |                     ^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 9  |     lwe::{LweCiphertext, LweParams, LweSecretKey},
[INFO] [stderr]    |                          ^^^^^^^^^
[INFO] [stderr] 10 |     utils::{poly_mul_monomial, poly_mul_monomial_custom_mod, switch_modulus},
[INFO] [stderr]    |             ^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `Axis` and `concatenate`
[INFO] [stderr]   --> src/bootstrapping.rs:14:15
[INFO] [stderr]    |
[INFO] [stderr] 14 | use ndarray::{concatenate, s, Array1, Axis};
[INFO] [stderr]    |               ^^^^^^^^^^^             ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `thread_rng`
[INFO] [stderr]   --> src/bootstrapping.rs:15:12
[INFO] [stderr]    |
[INFO] [stderr] 15 | use rand::{thread_rng, CryptoRng, RngCore};
[INFO] [stderr]    |            ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `AddAssign` and `Add`
[INFO] [stderr]   --> src/bootstrapping.rs:16:16
[INFO] [stderr]    |
[INFO] [stderr] 16 | use std::ops::{Add, AddAssign};
[INFO] [stderr]    |                ^^^  ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Array`
[INFO] [stderr]  --> src/ggsw.rs:1:31
[INFO] [stderr]   |
[INFO] [stderr] 1 | use ndarray::{concatenate, s, Array, Array3, Axis};
[INFO] [stderr]   |                               ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `GlweCleartext` and `encrypt_glwe_plaintext`
[INFO] [stderr]  --> src/ggsw.rs:7:36
[INFO] [stderr]   |
[INFO] [stderr] 7 |         decompose_glwe_ciphertext, encrypt_glwe_plaintext, encrypt_glwe_zero, GlweCiphertext,
[INFO] [stderr]   |                                    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 8 |         GlweCleartext, GlweParams, GlweSecretKey,
[INFO] [stderr]   |         ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `lwe::LweSecretKey`
[INFO] [stderr]  --> src/glwe.rs:3:5
[INFO] [stderr]   |
[INFO] [stderr] 3 |     lwe::LweSecretKey,
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Array`
[INFO] [stderr]   --> src/glwe.rs:11:31
[INFO] [stderr]    |
[INFO] [stderr] 11 | use ndarray::{concatenate, s, Array, Array1, Array2, ArrayView1, Axis};
[INFO] [stderr]    |                               ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `thread_rng`
[INFO] [stderr]   --> src/glwe.rs:12:12
[INFO] [stderr]    |
[INFO] [stderr] 12 | use rand::{thread_rng, CryptoRng, RngCore};
[INFO] [stderr]    |            ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `MulAssign`
[INFO] [stderr]   --> src/glwe.rs:13:37
[INFO] [stderr]    |
[INFO] [stderr] 13 | use std::ops::{Add, AddAssign, Mul, MulAssign, Sub, SubAssign};
[INFO] [stderr]    |                                     ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around function argument
[INFO] [stderr]    --> src/glwe.rs:200:65
[INFO] [stderr]     |
[INFO] [stderr] 200 |     let error = sample_gaussian_array(glwe_params.std_dev, rng, (glwe_params.degree()));
[INFO] [stderr]     |                                                                 ^                    ^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_parens)]` on by default
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 200 -     let error = sample_gaussian_array(glwe_params.std_dev, rng, (glwe_params.degree()));
[INFO] [stderr] 200 +     let error = sample_gaussian_array(glwe_params.std_dev, rng, glwe_params.degree());
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `self`
[INFO] [stderr]  --> src/key_switching.rs:2:18
[INFO] [stderr]   |
[INFO] [stderr] 2 |     decomposer::{self, SignedDecomposer},
[INFO] [stderr]   |                  ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::ops::Neg`
[INFO] [stderr]  --> src/key_switching.rs:8:5
[INFO] [stderr]   |
[INFO] [stderr] 8 | use std::ops::Neg;
[INFO] [stderr]   |     ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `poly_dot_product`
[INFO] [stderr]  --> src/lwe.rs:3:13
[INFO] [stderr]   |
[INFO] [stderr] 3 |     utils::{poly_dot_product, sample_binary_array, sample_gaussian_slice, sample_uniform_array},
[INFO] [stderr]   |             ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `Array2`, `Axis`, and `concatenate`
[INFO] [stderr]  --> src/lwe.rs:5:15
[INFO] [stderr]   |
[INFO] [stderr] 5 | use ndarray::{concatenate, s, Array1, Array2, Axis};
[INFO] [stderr]   |               ^^^^^^^^^^^             ^^^^^^  ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `thread_rng`
[INFO] [stderr]  --> src/lwe.rs:6:12
[INFO] [stderr]   |
[INFO] [stderr] 6 | use rand::{thread_rng, CryptoRng, RngCore};
[INFO] [stderr]   |            ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `AddAssign`
[INFO] [stderr]  --> src/lwe.rs:7:21
[INFO] [stderr]   |
[INFO] [stderr] 7 | use std::ops::{Add, AddAssign, Mul};
[INFO] [stderr]   |                     ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around function argument
[INFO] [stderr]   --> src/lwe.rs:57:44
[INFO] [stderr]    |
[INFO] [stderr] 57 |             data: sample_binary_array(rng, (lwe_params.lwe_dimension)),
[INFO] [stderr]    |                                            ^                        ^
[INFO] [stderr]    |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]    |
[INFO] [stderr] 57 -             data: sample_binary_array(rng, (lwe_params.lwe_dimension)),
[INFO] [stderr] 57 +             data: sample_binary_array(rng, lwe_params.lwe_dimension),
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around function argument
[INFO] [stderr]    --> src/lwe.rs:125:64
[INFO] [stderr]     |
[INFO] [stderr] 125 |     let mut a_samples: Array1<u32> = sample_uniform_array(rng, (lwe_params.lwe_dimension));
[INFO] [stderr]     |                                                                ^                        ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 125 -     let mut a_samples: Array1<u32> = sample_uniform_array(rng, (lwe_params.lwe_dimension));
[INFO] [stderr] 125 +     let mut a_samples: Array1<u32> = sample_uniform_array(rng, lwe_params.lwe_dimension);
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around function argument
[INFO] [stderr]    --> src/lwe.rs:148:64
[INFO] [stderr]     |
[INFO] [stderr] 148 |     let mut a_samples: Array1<u32> = sample_uniform_array(rng, (lwe_params.lwe_dimension));
[INFO] [stderr]     |                                                                ^                        ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 148 -     let mut a_samples: Array1<u32> = sample_uniform_array(rng, (lwe_params.lwe_dimension));
[INFO] [stderr] 148 +     let mut a_samples: Array1<u32> = sample_uniform_array(rng, lwe_params.lwe_dimension);
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `glwe::GlweParams` and `lwe::LweParams`
[INFO] [stderr]   --> src/test_vector.rs:3:13
[INFO] [stderr]    |
[INFO] [stderr] 3  | use crate::{glwe::GlweParams, lwe::LweParams, TfheParams};
[INFO] [stderr]    |             ^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr] help: if this is a test module, consider adding a `#[cfg(test)]` to the containing module
[INFO] [stderr]   --> src/lib.rs:20:1
[INFO] [stderr]    |
[INFO] [stderr] 20 | mod test_vector;
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `ArrayView`, `Axis`, `Shape`, and `concatenate`
[INFO] [stderr]  --> src/utils.rs:3:5
[INFO] [stderr]   |
[INFO] [stderr] 3 |     concatenate, Array, Array1, Array2, ArrayView, ArrayView1, ArrayView2, Axis, Dimension, Shape,
[INFO] [stderr]   |     ^^^^^^^^^^^                         ^^^^^^^^^                          ^^^^             ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `MulAssign` and `Mul`
[INFO] [stderr]  --> src/utils.rs:8:27
[INFO] [stderr]   |
[INFO] [stderr] 8 | use std::ops::{AddAssign, Mul, MulAssign};
[INFO] [stderr]   |                           ^^^  ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around function argument
[INFO] [stderr]   --> src/utils.rs:27:42
[INFO] [stderr]    |
[INFO] [stderr] 27 |             let v = integer_division(*v, (1 << (log_from - log_to)));
[INFO] [stderr]    |                                          ^                        ^
[INFO] [stderr]    |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]    |
[INFO] [stderr] 27 -             let v = integer_division(*v, (1 << (log_from - log_to)));
[INFO] [stderr] 27 +             let v = integer_division(*v, 1 << (log_from - log_to));
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `for` iterator expression
[INFO] [stderr]    --> src/utils.rs:227:18
[INFO] [stderr]     |
[INFO] [stderr] 227 |         for j in (0..i + 1) {
[INFO] [stderr]     |                  ^        ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 227 -         for j in (0..i + 1) {
[INFO] [stderr] 227 +         for j in 0..i + 1 {
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `for` iterator expression
[INFO] [stderr]    --> src/utils.rs:230:18
[INFO] [stderr]     |
[INFO] [stderr] 230 |         for j in (i + 1..n) {
[INFO] [stderr]     |                  ^        ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 230 -         for j in (i + 1..n) {
[INFO] [stderr] 230 +         for j in i + 1..n {
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Dimension`
[INFO] [stderr]  --> src/utils.rs:3:82
[INFO] [stderr]   |
[INFO] [stderr] 3 |     concatenate, Array, Array1, Array2, ArrayView, ArrayView1, ArrayView2, Axis, Dimension, Shape,
[INFO] [stderr]   |                                                                                  ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `lwe_secret_key`
[INFO] [stderr]   --> src/bootstrapping.rs:61:5
[INFO] [stderr]    |
[INFO] [stderr] 61 |     lwe_secret_key: &LweSecretKey,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_lwe_secret_key`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `glwe_secret_key`
[INFO] [stderr]   --> src/bootstrapping.rs:62:5
[INFO] [stderr]    |
[INFO] [stderr] 62 |     glwe_secret_key: &GlweSecretKey,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_glwe_secret_key`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `rng`
[INFO] [stderr]    --> src/glwe.rs:249:5
[INFO] [stderr]     |
[INFO] [stderr] 249 |     rng: &mut R,
[INFO] [stderr]     |     ^^^ help: if this is intentional, prefix it with an underscore: `_rng`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/lwe.rs:125:9
[INFO] [stderr]     |
[INFO] [stderr] 125 |     let mut a_samples: Array1<u32> = sample_uniform_array(rng, (lwe_params.lwe_dimension));
[INFO] [stderr]     |         ----^^^^^^^^^
[INFO] [stderr]     |         |
[INFO] [stderr]     |         help: remove this `mut`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/lwe.rs:148:9
[INFO] [stderr]     |
[INFO] [stderr] 148 |     let mut a_samples: Array1<u32> = sample_uniform_array(rng, (lwe_params.lwe_dimension));
[INFO] [stderr]     |         ----^^^^^^^^^
[INFO] [stderr]     |         |
[INFO] [stderr]     |         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/utils.rs:158:9
[INFO] [stderr]     |
[INFO] [stderr] 158 |     let mut res = p0_teoplitz.dot(&p1);
[INFO] [stderr]     |         ----^^^
[INFO] [stderr]     |         |
[INFO] [stderr]     |         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: field `ks_decomposer` is never read
[INFO] [stderr]   --> src/lib.rs:30:5
[INFO] [stderr]    |
[INFO] [stderr] 23 | pub struct TfheParams {
[INFO] [stderr]    |            ---------- field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 30 |     ks_decomposer: DecomposerParams,
[INFO] [stderr]    |     ^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: function `and` is never used
[INFO] [stderr]  --> src/boolean.rs:9:4
[INFO] [stderr]   |
[INFO] [stderr] 9 | fn and(
[INFO] [stderr]   |    ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `or` is never used
[INFO] [stderr]   --> src/boolean.rs:32:4
[INFO] [stderr]    |
[INFO] [stderr] 32 | fn or(
[INFO] [stderr]    |    ^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `BootstrappingKey` is never constructed
[INFO] [stderr]   --> src/bootstrapping.rs:18:12
[INFO] [stderr]    |
[INFO] [stderr] 18 | pub struct BootstrappingKey {
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `bootstrapping_key_gen` is never used
[INFO] [stderr]   --> src/bootstrapping.rs:23:8
[INFO] [stderr]    |
[INFO] [stderr] 23 | pub fn bootstrapping_key_gen<R: CryptoRng + RngCore>(
[INFO] [stderr]    |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `bootstrap` is never used
[INFO] [stderr]   --> src/bootstrapping.rs:58:8
[INFO] [stderr]    |
[INFO] [stderr] 58 | pub fn bootstrap(
[INFO] [stderr]    |        ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `sample_extract` is never used
[INFO] [stderr]    --> src/bootstrapping.rs:122:4
[INFO] [stderr]     |
[INFO] [stderr] 122 | fn sample_extract(
[INFO] [stderr]     |    ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: fields `log_base`, `levels`, and `log_q` are never read
[INFO] [stderr]  --> src/decomposer.rs:3:16
[INFO] [stderr]   |
[INFO] [stderr] 2 | pub struct DecomposerParams {
[INFO] [stderr]   |            ---------------- fields in this struct
[INFO] [stderr] 3 |     pub(crate) log_base: usize,
[INFO] [stderr]   |                ^^^^^^^^
[INFO] [stderr] 4 |     pub(crate) levels: usize,
[INFO] [stderr]   |                ^^^^^^
[INFO] [stderr] 5 |     pub(crate) log_q: usize,
[INFO] [stderr]   |                ^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `DecomposerParams` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `new` is never used
[INFO] [stderr]  --> src/decomposer.rs:9:12
[INFO] [stderr]   |
[INFO] [stderr] 8 | impl DecomposerParams {
[INFO] [stderr]   | --------------------- associated function in this implementation
[INFO] [stderr] 9 |     pub fn new(log_base: usize, levels: usize, log_q: usize) -> DecomposerParams {
[INFO] [stderr]   |            ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `SignedDecomposer` is never constructed
[INFO] [stderr]   --> src/decomposer.rs:18:12
[INFO] [stderr]    |
[INFO] [stderr] 18 | pub struct SignedDecomposer {
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `new`, `round_value`, `decompose`, and `recompose` are never used
[INFO] [stderr]   --> src/decomposer.rs:23:12
[INFO] [stderr]    |
[INFO] [stderr] 22 | impl SignedDecomposer {
[INFO] [stderr]    | --------------------- associated items in this implementation
[INFO] [stderr] 23 |     pub fn new(params: DecomposerParams) -> SignedDecomposer {
[INFO] [stderr]    |            ^^^
[INFO] [stderr] ...
[INFO] [stderr] 27 |     pub fn round_value(&self, value: u32) -> u32 {
[INFO] [stderr]    |            ^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 42 |     pub fn decompose(&self, value: u32) -> Vec<u32> {
[INFO] [stderr]    |            ^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 83 |     pub fn recompose(&self, legs: &[u32]) -> u32 {
[INFO] [stderr]    |            ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `GgswPlaintext` is never constructed
[INFO] [stderr]   --> src/ggsw.rs:16:12
[INFO] [stderr]    |
[INFO] [stderr] 16 | pub struct GgswPlaintext {
[INFO] [stderr]    |            ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `new` is never used
[INFO] [stderr]   --> src/ggsw.rs:21:12
[INFO] [stderr]    |
[INFO] [stderr] 20 | impl GgswPlaintext {
[INFO] [stderr]    | ------------------ associated function in this implementation
[INFO] [stderr] 21 |     pub fn new(message: u32) -> GgswPlaintext {
[INFO] [stderr]    |            ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: fields `glwe_params` and `decomposer_params` are never read
[INFO] [stderr]   --> src/ggsw.rs:27:16
[INFO] [stderr]    |
[INFO] [stderr] 26 | pub struct GgswParams {
[INFO] [stderr]    |            ---------- fields in this struct
[INFO] [stderr] 27 |     pub(crate) glwe_params: GlweParams,
[INFO] [stderr]    |                ^^^^^^^^^^^
[INFO] [stderr] 28 |     pub(crate) decomposer_params: DecomposerParams,
[INFO] [stderr]    |                ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `GgswCiphertext` is never constructed
[INFO] [stderr]   --> src/ggsw.rs:37:12
[INFO] [stderr]    |
[INFO] [stderr] 37 | pub struct GgswCiphertext {
[INFO] [stderr]    |            ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `encrypt_ggsw_plaintext` is never used
[INFO] [stderr]   --> src/ggsw.rs:76:8
[INFO] [stderr]    |
[INFO] [stderr] 76 | pub fn encrypt_ggsw_plaintext<R: CryptoRng + RngCore>(
[INFO] [stderr]    |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `external_product` is never used
[INFO] [stderr]    --> src/ggsw.rs:132:4
[INFO] [stderr]     |
[INFO] [stderr] 132 | fn external_product(
[INFO] [stderr]     |    ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `cmux` is never used
[INFO] [stderr]    --> src/ggsw.rs:164:8
[INFO] [stderr]     |
[INFO] [stderr] 164 | pub fn cmux(
[INFO] [stderr]     |        ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `decompose_poly` is never used
[INFO] [stderr]   --> src/glwe.rs:69:4
[INFO] [stderr]    |
[INFO] [stderr] 69 | fn decompose_poly(poly: &ArrayView1<u32>, signed_decomposer: &SignedDecomposer) -> Array2<u32> {
[INFO] [stderr]    |    ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `decompose_glwe_ciphertext` is never used
[INFO] [stderr]   --> src/glwe.rs:90:8
[INFO] [stderr]    |
[INFO] [stderr] 90 | pub fn decompose_glwe_ciphertext(
[INFO] [stderr]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: fields `glwe_dimension`, `padding_bits`, `log_q`, `log_p`, and `std_dev` are never read
[INFO] [stderr]    --> src/glwe.rs:113:16
[INFO] [stderr]     |
[INFO] [stderr] 112 | pub struct GlweParams {
[INFO] [stderr]     |            ---------- fields in this struct
[INFO] [stderr] 113 |     pub(crate) glwe_dimension: usize,
[INFO] [stderr]     |                ^^^^^^^^^^^^^^
[INFO] [stderr] 114 |     pub(crate) log_degree: usize,
[INFO] [stderr] 115 |     pub(crate) padding_bits: usize,
[INFO] [stderr]     |                ^^^^^^^^^^^^
[INFO] [stderr] 116 |     /// q in Z/2^qZ
[INFO] [stderr] 117 |     pub(crate) log_q: usize,
[INFO] [stderr]     |                ^^^^^
[INFO] [stderr] 118 |     /// p in Z/2^pZ
[INFO] [stderr] 119 |     pub(crate) log_p: usize,
[INFO] [stderr]     |                ^^^^^
[INFO] [stderr] 120 |     pub(crate) std_dev: f64,
[INFO] [stderr]     |                ^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `GlweParams` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: struct `GlweCleartext` is never constructed
[INFO] [stderr]    --> src/glwe.rs:137:12
[INFO] [stderr]     |
[INFO] [stderr] 137 | pub struct GlweCleartext {
[INFO] [stderr]     |            ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `encode_message` is never used
[INFO] [stderr]    --> src/glwe.rs:141:12
[INFO] [stderr]     |
[INFO] [stderr] 140 | impl GlweCleartext {
[INFO] [stderr]     | ------------------ associated function in this implementation
[INFO] [stderr] 141 |     pub fn encode_message(message: &[u32], glwe_params: &GlweParams) -> GlwePlaintext {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `GlwePlaintext` is never constructed
[INFO] [stderr]    --> src/glwe.rs:155:12
[INFO] [stderr]     |
[INFO] [stderr] 155 | pub struct GlwePlaintext {
[INFO] [stderr]     |            ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `decode` is never used
[INFO] [stderr]    --> src/glwe.rs:160:12
[INFO] [stderr]     |
[INFO] [stderr] 159 | impl GlwePlaintext {
[INFO] [stderr]     | ------------------ method in this implementation
[INFO] [stderr] 160 |     pub fn decode(&self, glwe_params: &GlweParams) -> GlweCleartext {
[INFO] [stderr]     |            ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `GlweSecretKey` is never constructed
[INFO] [stderr]    --> src/glwe.rs:172:12
[INFO] [stderr]     |
[INFO] [stderr] 172 | pub struct GlweSecretKey {
[INFO] [stderr]     |            ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `random` is never used
[INFO] [stderr]    --> src/glwe.rs:177:12
[INFO] [stderr]     |
[INFO] [stderr] 176 | impl GlweSecretKey {
[INFO] [stderr]     | ------------------ associated function in this implementation
[INFO] [stderr] 177 |     pub fn random<R: CryptoRng + RngCore>(glwe_params: &GlweParams, rng: &mut R) -> GlweSecretKey {
[INFO] [stderr]     |            ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `encrypt_glwe_zero` is never used
[INFO] [stderr]    --> src/glwe.rs:190:8
[INFO] [stderr]     |
[INFO] [stderr] 190 | pub fn encrypt_glwe_zero<R: CryptoRng + RngCore>(
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `encrypt_glwe_plaintext` is never used
[INFO] [stderr]    --> src/glwe.rs:211:8
[INFO] [stderr]     |
[INFO] [stderr] 211 | pub fn encrypt_glwe_plaintext<R: CryptoRng + RngCore>(
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `trivial_encrypt_glwe_plaintext` is never used
[INFO] [stderr]    --> src/glwe.rs:232:8
[INFO] [stderr]     |
[INFO] [stderr] 232 | pub fn trivial_encrypt_glwe_plaintext(
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `decrypt_glwe_ciphertext` is never used
[INFO] [stderr]    --> src/glwe.rs:245:8
[INFO] [stderr]     |
[INFO] [stderr] 245 | pub fn decrypt_glwe_ciphertext<R: CryptoRng + RngCore>(
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `KeySwitchingKey` is never constructed
[INFO] [stderr]   --> src/key_switching.rs:13:12
[INFO] [stderr]    |
[INFO] [stderr] 13 | pub struct KeySwitchingKey {
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `generate_ksk` is never used
[INFO] [stderr]   --> src/key_switching.rs:20:12
[INFO] [stderr]    |
[INFO] [stderr] 17 | impl KeySwitchingKey {
[INFO] [stderr]    | -------------------- associated function in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 20 |     pub fn generate_ksk<R: CryptoRng + RngCore>(
[INFO] [stderr]    |            ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `key_switch_lwe` is never used
[INFO] [stderr]   --> src/key_switching.rs:63:8
[INFO] [stderr]    |
[INFO] [stderr] 63 | pub fn key_switch_lwe(
[INFO] [stderr]    |        ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: fields `lwe_dimension`, `padding_bits`, `log_q`, `log_p`, and `std_dev` are never read
[INFO] [stderr]   --> src/lwe.rs:27:16
[INFO] [stderr]    |
[INFO] [stderr] 26 | pub struct LweParams {
[INFO] [stderr]    |            --------- fields in this struct
[INFO] [stderr] 27 |     pub(crate) lwe_dimension: usize,
[INFO] [stderr]    |                ^^^^^^^^^^^^^
[INFO] [stderr] 28 |     /// q in Z/2^qZ
[INFO] [stderr] 29 |     pub(crate) padding_bits: usize,
[INFO] [stderr]    |                ^^^^^^^^^^^^
[INFO] [stderr] 30 |     pub(crate) log_q: usize,
[INFO] [stderr]    |                ^^^^^
[INFO] [stderr] 31 |     /// p in Z/2^pZ
[INFO] [stderr] 32 |     pub(crate) log_p: usize,
[INFO] [stderr]    |                ^^^^^
[INFO] [stderr] 33 |     pub(crate) std_dev: f64,
[INFO] [stderr]    |                ^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `LweParams` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: struct `LweSecretKey` is never constructed
[INFO] [stderr]   --> src/lwe.rs:50:12
[INFO] [stderr]    |
[INFO] [stderr] 50 | pub struct LweSecretKey {
[INFO] [stderr]    |            ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `random` is never used
[INFO] [stderr]   --> src/lwe.rs:55:12
[INFO] [stderr]    |
[INFO] [stderr] 54 | impl LweSecretKey {
[INFO] [stderr]    | ----------------- associated function in this implementation
[INFO] [stderr] 55 |     pub fn random<R: CryptoRng + RngCore>(lwe_params: &LweParams, rng: &mut R) -> LweSecretKey {
[INFO] [stderr]    |            ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `LweCleartext` is never constructed
[INFO] [stderr]   --> src/lwe.rs:77:12
[INFO] [stderr]    |
[INFO] [stderr] 77 | pub struct LweCleartext {
[INFO] [stderr]    |            ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `encode_message` and `encode` are never used
[INFO] [stderr]   --> src/lwe.rs:83:12
[INFO] [stderr]    |
[INFO] [stderr] 81 | impl LweCleartext {
[INFO] [stderr]    | ----------------- associated items in this implementation
[INFO] [stderr] 82 |     /// We limit q and p to powers of 2
[INFO] [stderr] 83 |     pub fn encode_message(m: u32, lwe_params: &LweParams) -> LwePlaintext {
[INFO] [stderr]    |            ^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 90 |     pub fn encode(&self, lwe_params: &LweParams) -> LwePlaintext {
[INFO] [stderr]    |            ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `LwePlaintext` is never constructed
[INFO] [stderr]   --> src/lwe.rs:96:12
[INFO] [stderr]    |
[INFO] [stderr] 96 | pub struct LwePlaintext {
[INFO] [stderr]    |            ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `decode` is never used
[INFO] [stderr]    --> src/lwe.rs:102:12
[INFO] [stderr]     |
[INFO] [stderr] 101 | impl LwePlaintext {
[INFO] [stderr]     | ----------------- method in this implementation
[INFO] [stderr] 102 |     pub fn decode(&self, lwe_params: &LweParams) -> LweCleartext {
[INFO] [stderr]     |            ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `encrypt_lwe_zero` is never used
[INFO] [stderr]    --> src/lwe.rs:117:8
[INFO] [stderr]     |
[INFO] [stderr] 117 | pub fn encrypt_lwe_zero<R: CryptoRng + RngCore>(
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `encrypt_lwe_plaintext` is never used
[INFO] [stderr]    --> src/lwe.rs:138:8
[INFO] [stderr]     |
[INFO] [stderr] 138 | pub fn encrypt_lwe_plaintext<R: CryptoRng + RngCore>(
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `decrypt_lwe` is never used
[INFO] [stderr]    --> src/lwe.rs:162:8
[INFO] [stderr]     |
[INFO] [stderr] 162 | pub fn decrypt_lwe(lwe_params: &LweParams, sk: &LweSecretKey, ct: &LweCiphertext) -> LwePlaintext {
[INFO] [stderr]     |        ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `dot_product` is never used
[INFO] [stderr]  --> src/ops.rs:3:8
[INFO] [stderr]   |
[INFO] [stderr] 3 | pub fn dot_product(a: &[u32], b: &[u32]) -> u32 {
[INFO] [stderr]   |        ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `construct_test_vector_boolean` is never used
[INFO] [stderr]  --> src/test_vector.rs:5:8
[INFO] [stderr]   |
[INFO] [stderr] 5 | pub fn construct_test_vector_boolean(
[INFO] [stderr]   |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `construct_identity_test_vector` is never used
[INFO] [stderr]   --> src/test_vector.rs:23:8
[INFO] [stderr]    |
[INFO] [stderr] 23 | pub fn construct_identity_test_vector(tfhe_params: &TfheParams) -> Array1<u32> {
[INFO] [stderr]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `construct_test_from_lut` is never used
[INFO] [stderr]   --> src/test_vector.rs:38:8
[INFO] [stderr]    |
[INFO] [stderr] 38 | pub fn construct_test_from_lut(tfhe_params: &TfheParams, lut: &[u32]) -> Array1<u32> {
[INFO] [stderr]    |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `integer_division` is never used
[INFO] [stderr]   --> src/utils.rs:13:8
[INFO] [stderr]    |
[INFO] [stderr] 13 | pub fn integer_division(a: u32, divisor: u32) -> u32 {
[INFO] [stderr]    |        ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `switch_modulus` is never used
[INFO] [stderr]   --> src/utils.rs:23:8
[INFO] [stderr]    |
[INFO] [stderr] 23 | pub fn switch_modulus(values: &[u32], log_from: usize, log_to: usize) -> Vec<u32> {
[INFO] [stderr]    |        ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `f64_to_torus_unsigned_representation` is never used
[INFO] [stderr]   --> src/utils.rs:36:8
[INFO] [stderr]    |
[INFO] [stderr] 36 | pub fn f64_to_torus_unsigned_representation(v: f64) -> u32 {
[INFO] [stderr]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `sample_gaussian_slice` is never used
[INFO] [stderr]   --> src/utils.rs:43:8
[INFO] [stderr]    |
[INFO] [stderr] 43 | pub fn sample_gaussian_slice<R: CryptoRng + RngCore>(
[INFO] [stderr]    |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `sample_gaussian_array` is never used
[INFO] [stderr]   --> src/utils.rs:56:8
[INFO] [stderr]    |
[INFO] [stderr] 56 | pub fn sample_gaussian_array<S: ShapeBuilder, R: CryptoRng + RngCore>(
[INFO] [stderr]    |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `sample_binary_array` is never used
[INFO] [stderr]   --> src/utils.rs:68:8
[INFO] [stderr]    |
[INFO] [stderr] 68 | pub fn sample_binary_array<
[INFO] [stderr]    |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `sample_uniform_array` is never used
[INFO] [stderr]   --> src/utils.rs:96:8
[INFO] [stderr]    |
[INFO] [stderr] 96 | pub fn sample_uniform_array<A: Clone + num_traits::Zero, S: ShapeBuilder, R: CryptoRng + RngCore>(
[INFO] [stderr]    |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `teoplitz` is never used
[INFO] [stderr]    --> src/utils.rs:113:8
[INFO] [stderr]     |
[INFO] [stderr] 113 | pub fn teoplitz(p: ArrayView1<u32>) -> Array2<u32> {
[INFO] [stderr]     |        ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `poly_mul` is never used
[INFO] [stderr]    --> src/utils.rs:155:8
[INFO] [stderr]     |
[INFO] [stderr] 155 | pub fn poly_mul(p0: ArrayView1<u32>, p1: ArrayView1<u32>) -> Array1<u32> {
[INFO] [stderr]     |        ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `poly_dot_product` is never used
[INFO] [stderr]    --> src/utils.rs:163:8
[INFO] [stderr]     |
[INFO] [stderr] 163 | pub fn poly_dot_product(p0: &ArrayView2<u32>, p1: &ArrayView2<u32>) -> Array1<u32> {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `poly_mul_monomial_custom_mod` is never used
[INFO] [stderr]    --> src/utils.rs:209:8
[INFO] [stderr]     |
[INFO] [stderr] 209 | pub fn poly_mul_monomial_custom_mod(
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `school_book_negacylic_mul` is never used
[INFO] [stderr]    --> src/utils.rs:221:8
[INFO] [stderr]     |
[INFO] [stderr] 221 | pub fn school_book_negacylic_mul(p0: ArrayView1<u32>, p1: ArrayView1<u32>) -> Array1<u32> {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `random_keys` is never used
[INFO] [stderr]    --> src/utils.rs:238:8
[INFO] [stderr]     |
[INFO] [stderr] 238 | pub fn random_keys(tfhe_params: &TfheParams) -> (LweSecretKey, GlweSecretKey) {
[INFO] [stderr]     |        ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `GgswParams`, `GlwePlaintext`, `LweParams`, `decrypt_glwe_ciphertext`, and `poly_mul_monomial`
[INFO] [stderr]   --> src/bootstrapping.rs:3:58
[INFO] [stderr]    |
[INFO] [stderr] 3  |     ggsw::{cmux, encrypt_ggsw_plaintext, GgswCiphertext, GgswParams, GgswPlaintext},
[INFO] [stderr]    |                                                          ^^^^^^^^^^
[INFO] [stderr] 4  |     glwe::{
[INFO] [stderr] 5  |         decrypt_glwe_ciphertext, trivial_encrypt_glwe_plaintext, GlweCiphertext, GlweCleartext,
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 6  |         GlweParams, GlwePlaintext, GlweSecretKey, Monomial,
[INFO] [stderr]    |                     ^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 9  |     lwe::{LweCiphertext, LweParams, LweSecretKey},
[INFO] [stderr]    |                          ^^^^^^^^^
[INFO] [stderr] 10 |     utils::{poly_mul_monomial, poly_mul_monomial_custom_mod, switch_modulus},
[INFO] [stderr]    |             ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `LweParams`, `construct_test_vector_boolean`, `decompose_glwe_ciphertext`, `encrypt_glwe_zero`, and `self`
[INFO] [stderr]    --> src/bootstrapping.rs:163:13
[INFO] [stderr]     |
[INFO] [stderr] 163 |             decompose_glwe_ciphertext, encrypt_glwe_plaintext, encrypt_glwe_zero, GlweCleartext,
[INFO] [stderr]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^                          ^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 166 |         lwe::{self, decrypt_lwe, encrypt_lwe_plaintext, LweCleartext, LweParams, LweSecretKey},
[INFO] [stderr]     |               ^^^^                                                    ^^^^^^^^^
[INFO] [stderr] 167 |         test_vector::{construct_identity_test_vector, construct_test_vector_boolean},
[INFO] [stderr]     |                                                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `Rng` and `distributions::Uniform`
[INFO] [stderr]    --> src/bootstrapping.rs:169:16
[INFO] [stderr]     |
[INFO] [stderr] 169 |     use rand::{distributions::Uniform, thread_rng, Rng};
[INFO] [stderr]     |                ^^^^^^^^^^^^^^^^^^^^^^              ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around function argument
[INFO] [stderr]    --> src/bootstrapping.rs:274:21
[INFO] [stderr]     |
[INFO] [stderr] 274 |                     ((approximate_lwe[i]) as isize),
[INFO] [stderr]     |                     ^                             ^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_parens)]` on by default
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 274 -                     ((approximate_lwe[i]) as isize),
[INFO] [stderr] 274 +                     (approximate_lwe[i]) as isize,
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around function argument
[INFO] [stderr]    --> src/bootstrapping.rs:284:13
[INFO] [stderr]     |
[INFO] [stderr] 284 |             (tmp as isize),
[INFO] [stderr]     |             ^            ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 284 -             (tmp as isize),
[INFO] [stderr] 284 +             tmp as isize,
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around function argument
[INFO] [stderr]    --> src/glwe.rs:200:65
[INFO] [stderr]     |
[INFO] [stderr] 200 |     let error = sample_gaussian_array(glwe_params.std_dev, rng, (glwe_params.degree()));
[INFO] [stderr]     |                                                                 ^                    ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 200 -     let error = sample_gaussian_array(glwe_params.std_dev, rng, (glwe_params.degree()));
[INFO] [stderr] 200 +     let error = sample_gaussian_array(glwe_params.std_dev, rng, glwe_params.degree());
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `glwe::GlweParams` and `lwe::LweParams`
[INFO] [stderr]  --> src/test_vector.rs:3:13
[INFO] [stderr]   |
[INFO] [stderr] 3 | use crate::{glwe::GlweParams, lwe::LweParams, TfheParams};
[INFO] [stderr]   |             ^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `glwe::GlweParams` and `lwe::LweParams`
[INFO] [stderr]   --> src/test_vector.rs:71:17
[INFO] [stderr]    |
[INFO] [stderr] 71 |     use crate::{glwe::GlweParams, lwe::LweParams, TfheParams};
[INFO] [stderr]    |                 ^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `glwe` and `test_vector`
[INFO] [stderr]    --> src/utils.rs:248:9
[INFO] [stderr]     |
[INFO] [stderr] 248 |         glwe,
[INFO] [stderr]     |         ^^^^
[INFO] [stderr] 249 |         lwe::{encrypt_lwe_plaintext, LweCleartext, LweSecretKey},
[INFO] [stderr] 250 |         test_vector, TfheParams,
[INFO] [stderr]     |         ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `ggsw_ciphertext`
[INFO] [stderr]    --> src/ggsw.rs:193:13
[INFO] [stderr]     |
[INFO] [stderr] 193 |         let ggsw_ciphertext = encrypt_ggsw_plaintext(
[INFO] [stderr]     |             ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ggsw_ciphertext`
[INFO] [stderr] 
[INFO] [stderr] warning: function `or` is never used
[INFO] [stderr]   --> src/boolean.rs:32:4
[INFO] [stderr]    |
[INFO] [stderr] 32 | fn or(
[INFO] [stderr]    |    ^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: `tfhe` (lib) generated 99 warnings (run `cargo fix --lib -p tfhe` to apply 34 suggestions)
[INFO] [stderr] warning: `tfhe` (lib test) generated 46 warnings (35 duplicates) (run `cargo fix --lib -p tfhe --tests` to apply 9 suggestions)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.15s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/tfhe-ca1ab4f791e56482)
[INFO] [stdout] 
[INFO] [stdout] running 20 tests
[INFO] [stdout] test bootstrapping::tests::blind_rotate_in_clear ... ok
[INFO] [stdout] test test_vector::tests::test_vector_works ... ok
[INFO] [stdout] test utils::tests::poly_mul_works ... ok
[INFO] [stdout] test lwe::tests::encrypt_and_decrypt_lwe ... ok
[INFO] [stdout] test utils::tests::generate_random ... ok
[INFO] [stdout] test glwe::tests::glwe_monomial_mul_works ... ok
[INFO] [stdout] test utils::tests::poly_mul_monomial_works ... ok
[INFO] [stdout] test utils::tests::test ... ok
[INFO] [stdout] test utils::tests::switch_modulus_works ... ok
[INFO] [stdout] test utils::tests::teoplitz_works ... ok
[INFO] [stdout] test glwe::tests::decompose_glwe_works ... ok
[INFO] [stdout] test ggsw::tests::ggsw_encryption_works ... ok
[INFO] [stdout] test bootstrapping::tests::sample_extract_glwe_works ... FAILED
[INFO] [stdout] test key_switching::tests::key_switching_works ... FAILED
[INFO] [stdout] test glwe::tests::encrypt_and_decrypt_glwe ... FAILED
[INFO] [stdout] test ggsw::tests::cmux_works ... ok
[INFO] [stdout] test ggsw::tests::external_product_works ... ok
[INFO] [stdout] test bootstrapping::tests::bootstrapping_works ... ok
[INFO] [stdout] test boolean::tests::boolean_gates_work ... ok
[INFO] [stdout] test decomposer::tests::decomposition ... ok
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- bootstrapping::tests::sample_extract_glwe_works stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'bootstrapping::tests::sample_extract_glwe_works' panicked at src/glwe.rs:144:13:
[INFO] [stdout] assertion failed: *m < 1u32 << glwe_params.log_p
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x58301b327422 - std::backtrace_rs::backtrace::libunwind::trace::hd39b1f53d3cf9745
[INFO] [stdout]                                at /rustc/d98a5da813da67eb189387b8ccfb73cf481275d8/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x58301b327422 - std::backtrace_rs::backtrace::trace_unsynchronized::he91d9a75d4e3972b
[INFO] [stdout]                                at /rustc/d98a5da813da67eb189387b8ccfb73cf481275d8/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x58301b327422 - std::sys::backtrace::_print_fmt::hca46938f8c6e22cf
[INFO] [stdout]                                at /rustc/d98a5da813da67eb189387b8ccfb73cf481275d8/library/std/src/sys/backtrace.rs:66:9
[INFO] [stdout]    3:     0x58301b327422 - <std::sys::backtrace::BacktraceLock::print::DisplayBacktrace as core::fmt::Display>::fmt::ha499add612cccf8e
[INFO] [stdout]                                at /rustc/d98a5da813da67eb189387b8ccfb73cf481275d8/library/std/src/sys/backtrace.rs:39:26
[INFO] [stdout]    4:     0x58301b34cc23 - core::fmt::rt::Argument::fmt::hd21145b75a833b7a
[INFO] [stdout]                                at /rustc/d98a5da813da67eb189387b8ccfb73cf481275d8/library/core/src/fmt/rt.rs:173:76
[INFO] [stdout]    5:     0x58301b34cc23 - core::fmt::write::hb10c956f5235c8a4
[INFO] [stdout]                                at /rustc/d98a5da813da67eb189387b8ccfb73cf481275d8/library/core/src/fmt/mod.rs:1465:25
[INFO] [stdout]    6:     0x58301b324603 - std::io::default_write_fmt::hdb7615052be2ba4d
[INFO] [stdout]                                at /rustc/d98a5da813da67eb189387b8ccfb73cf481275d8/library/std/src/io/mod.rs:639:11
[INFO] [stdout]    7:     0x58301b324603 - std::io::Write::write_fmt::he1bcd251ec6e4153
[INFO] [stdout]                                at /rustc/d98a5da813da67eb189387b8ccfb73cf481275d8/library/std/src/io/mod.rs:1954:13
[INFO] [stdout]    8:     0x58301b327272 - std::sys::backtrace::BacktraceLock::print::hb47c770ef659fd10
[INFO] [stdout]                                at /rustc/d98a5da813da67eb189387b8ccfb73cf481275d8/library/std/src/sys/backtrace.rs:42:9
[INFO] [stdout]    9:     0x58301b32899c - std::panicking::default_hook::{{closure}}::hdda8afb9d457a22c
[INFO] [stdout]                                at /rustc/d98a5da813da67eb189387b8ccfb73cf481275d8/library/std/src/panicking.rs:300:27
[INFO] [stdout]   10:     0x58301b3287f2 - std::panicking::default_hook::h7c46b44874fe5c9a
[INFO] [stdout]                                at /rustc/d98a5da813da67eb189387b8ccfb73cf481275d8/library/std/src/panicking.rs:324:9
[INFO] [stdout]   11:     0x58301b2eca24 - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h178a5fcedee41e2f
[INFO] [stdout]                                at /rustc/d98a5da813da67eb189387b8ccfb73cf481275d8/library/alloc/src/boxed.rs:1985:9
[INFO] [stdout]   12:     0x58301b2eca24 - test::test_main_with_exit_callback::{{closure}}::h951a41e0149d6d5d
[INFO] [stdout]                                at /rustc/d98a5da813da67eb189387b8ccfb73cf481275d8/library/test/src/lib.rs:145:21
[INFO] [stdout]   13:     0x58301b32947b - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h13602080f5b63276
[INFO] [stdout]                                at /rustc/d98a5da813da67eb189387b8ccfb73cf481275d8/library/alloc/src/boxed.rs:1985:9
[INFO] [stdout]   14:     0x58301b32947b - std::panicking::rust_panic_with_hook::ha6cb99ed099eb1c5
[INFO] [stdout]                                at /rustc/d98a5da813da67eb189387b8ccfb73cf481275d8/library/std/src/panicking.rs:841:13
[INFO] [stdout]   15:     0x58301b329116 - std::panicking::begin_panic_handler::{{closure}}::he11808bc797ee921
[INFO] [stdout]                                at /rustc/d98a5da813da67eb189387b8ccfb73cf481275d8/library/std/src/panicking.rs:699:13
[INFO] [stdout]   16:     0x58301b327929 - std::sys::backtrace::__rust_end_short_backtrace::h9418807cb7346258
[INFO] [stdout]                                at /rustc/d98a5da813da67eb189387b8ccfb73cf481275d8/library/std/src/sys/backtrace.rs:168:18
[INFO] [stdout]   17:     0x58301b328ddd - __rustc[18fb429eef004894]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/d98a5da813da67eb189387b8ccfb73cf481275d8/library/std/src/panicking.rs:697:5
[INFO] [stdout]   18:     0x58301b34b7a0 - core::panicking::panic_fmt::hd890aeb12c3a3fc3
[INFO] [stdout]                                at /rustc/d98a5da813da67eb189387b8ccfb73cf481275d8/library/core/src/panicking.rs:75:14
[INFO] [stdout]   19:     0x58301b34b80c - core::panicking::panic::h318cb8731d7e290d
[INFO] [stdout]                                at /rustc/d98a5da813da67eb189387b8ccfb73cf481275d8/library/core/src/panicking.rs:145:5
[INFO] [stdout]   20:     0x58301b2a4a04 - tfhe::glwe::GlweCleartext::encode_message::{{closure}}::hfb4e2e8b2054bde3
[INFO] [stdout]                                at /opt/rustwide/workdir/src/glwe.rs:144:13
[INFO] [stdout]   21:     0x58301b2a4a04 - core::iter::traits::iterator::Iterator::for_each::call::{{closure}}::h6462aec7c127e419
[INFO] [stdout]                                at /rustc/d98a5da813da67eb189387b8ccfb73cf481275d8/library/core/src/iter/traits/iterator.rs:824:29
[INFO] [stdout]   22:     0x58301b2a4a04 - <core::iter::adapters::zip::Zip<A,B> as core::iter::adapters::zip::ZipImpl<A,B>>::fold::h87116bae158e8f10
[INFO] [stdout]                                at /rustc/d98a5da813da67eb189387b8ccfb73cf481275d8/library/core/src/iter/adapters/zip.rs:288:25
[INFO] [stdout]   23:     0x58301b2a4a04 - <core::iter::adapters::zip::Zip<A,B> as core::iter::traits::iterator::Iterator>::fold::hf1c2db47bd7ad0ce
[INFO] [stdout]                                at /rustc/d98a5da813da67eb189387b8ccfb73cf481275d8/library/core/src/iter/adapters/zip.rs:104:9
[INFO] [stdout]   24:     0x58301b2a4a04 - core::iter::traits::iterator::Iterator::for_each::h2f90b94c6eec279d
[INFO] [stdout]                                at /rustc/d98a5da813da67eb189387b8ccfb73cf481275d8/library/core/src/iter/traits/iterator.rs:827:14
[INFO] [stdout]   25:     0x58301b2a4a04 - tfhe::glwe::GlweCleartext::encode_message::h3d75d27b1abb0c85
[INFO] [stdout]                                at /opt/rustwide/workdir/src/glwe.rs:143:48
[INFO] [stdout]   26:     0x58301b2b1669 - tfhe::bootstrapping::tests::sample_extract_glwe_works::h6bf5bdb067402049
[INFO] [stdout]                                at /opt/rustwide/workdir/src/bootstrapping.rs:179:30
[INFO] [stdout]   27:     0x58301b2ae489 - tfhe::bootstrapping::tests::sample_extract_glwe_works::{{closure}}::h0f81be08b5076c55
[INFO] [stdout]                                at /opt/rustwide/workdir/src/bootstrapping.rs:172:35
[INFO] [stdout]   28:     0x58301b2ae489 - core::ops::function::FnOnce::call_once::h15b55194d3f8db90
[INFO] [stdout]                                at /rustc/d98a5da813da67eb189387b8ccfb73cf481275d8/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   29:     0x58301b2f21ab - core::ops::function::FnOnce::call_once::h2869fb5b0a2b0bdc
[INFO] [stdout]                                at /rustc/d98a5da813da67eb189387b8ccfb73cf481275d8/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   30:     0x58301b2f21ab - test::__rust_begin_short_backtrace::h7dd7142bd62fa711
[INFO] [stdout]                                at /rustc/d98a5da813da67eb189387b8ccfb73cf481275d8/library/test/src/lib.rs:648:18
[INFO] [stdout]   31:     0x58301b2f139e - test::run_test_in_process::{{closure}}::h43a753f038d36b3f
[INFO] [stdout]                                at /rustc/d98a5da813da67eb189387b8ccfb73cf481275d8/library/test/src/lib.rs:671:74
[INFO] [stdout]   32:     0x58301b2f139e - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h0ca95dd3e12d1e16
[INFO] [stdout]                                at /rustc/d98a5da813da67eb189387b8ccfb73cf481275d8/library/core/src/panic/unwind_safe.rs:272:9
[INFO] [stdout]   33:     0x58301b2f139e - std::panicking::catch_unwind::do_call::he308587d70ac34ba
[INFO] [stdout]                                at /rustc/d98a5da813da67eb189387b8ccfb73cf481275d8/library/std/src/panicking.rs:589:40
[INFO] [stdout]   34:     0x58301b2f139e - std::panicking::catch_unwind::h30dcba31973e8fb0
[INFO] [stdout]                                at /rustc/d98a5da813da67eb189387b8ccfb73cf481275d8/library/std/src/panicking.rs:552:19
[INFO] [stdout]   35:     0x58301b2f139e - std::panic::catch_unwind::hfb68364e5621fbee
[INFO] [stdout]                                at /rustc/d98a5da813da67eb189387b8ccfb73cf481275d8/library/std/src/panic.rs:359:14
[INFO] [stdout]   36:     0x58301b2f139e - test::run_test_in_process::hcdcc2977903b998a
[INFO] [stdout]                                at /rustc/d98a5da813da67eb189387b8ccfb73cf481275d8/library/test/src/lib.rs:671:27
[INFO] [stdout]   37:     0x58301b2f139e - test::run_test::{{closure}}::h544a6550958c5d14
[INFO] [stdout]                                at /rustc/d98a5da813da67eb189387b8ccfb73cf481275d8/library/test/src/lib.rs:592:43
[INFO] [stdout]   38:     0x58301b2b4f14 - test::run_test::{{closure}}::hb172e48ebe2b92c7
[INFO] [stdout]                                at /rustc/d98a5da813da67eb189387b8ccfb73cf481275d8/library/test/src/lib.rs:622:41
[INFO] [stdout]   39:     0x58301b2b4f14 - std::sys::backtrace::__rust_begin_short_backtrace::h7e79d8706638bea0
[INFO] [stdout]                                at /rustc/d98a5da813da67eb189387b8ccfb73cf481275d8/library/std/src/sys/backtrace.rs:152:18
[INFO] [stdout]   40:     0x58301b2b88ea - std::thread::Builder::spawn_unchecked_::{{closure}}::{{closure}}::hc4a275f1e71b8ab0
[INFO] [stdout]                                at /rustc/d98a5da813da67eb189387b8ccfb73cf481275d8/library/std/src/thread/mod.rs:559:17
[INFO] [stdout]   41:     0x58301b2b88ea - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h01ed0d242df78cfd
[INFO] [stdout]                                at /rustc/d98a5da813da67eb189387b8ccfb73cf481275d8/library/core/src/panic/unwind_safe.rs:272:9
[INFO] [stdout]   42:     0x58301b2b88ea - std::panicking::catch_unwind::do_call::h052f373fb905fee0
[INFO] [stdout]                                at /rustc/d98a5da813da67eb189387b8ccfb73cf481275d8/library/std/src/panicking.rs:589:40
[INFO] [stdout]   43:     0x58301b2b88ea - std::panicking::catch_unwind::hb425d20c8ffb09c8
[INFO] [stdout]                                at /rustc/d98a5da813da67eb189387b8ccfb73cf481275d8/library/std/src/panicking.rs:552:19
[INFO] [stdout]   44:     0x58301b2b88ea - std::panic::catch_unwind::ha0d5dfbf18fdeda5
[INFO] [stdout]                                at /rustc/d98a5da813da67eb189387b8ccfb73cf481275d8/library/std/src/panic.rs:359:14
[INFO] [stdout]   45:     0x58301b2b88ea - std::thread::Builder::spawn_unchecked_::{{closure}}::hbe79182bd37949c7
[INFO] [stdout]                                at /rustc/d98a5da813da67eb189387b8ccfb73cf481275d8/library/std/src/thread/mod.rs:557:30
[INFO] [stdout]   46:     0x58301b2b88ea - core::ops::function::FnOnce::call_once{{vtable.shim}}::hc096c4a06972fde5
[INFO] [stdout]                                at /rustc/d98a5da813da67eb189387b8ccfb73cf481275d8/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   47:     0x58301b32c3d7 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h47377e27fb938a26
[INFO] [stdout]                                at /rustc/d98a5da813da67eb189387b8ccfb73cf481275d8/library/alloc/src/boxed.rs:1971:9
[INFO] [stdout]   48:     0x58301b32c3d7 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h72f1fe5d095abf57
[INFO] [stdout]                                at /rustc/d98a5da813da67eb189387b8ccfb73cf481275d8/library/alloc/src/boxed.rs:1971:9
[INFO] [stdout]   49:     0x58301b32c3d7 - std::sys::pal::unix::thread::Thread::new::thread_start::h0a4d8e1b9c0d38cf
[INFO] [stdout]                                at /rustc/d98a5da813da67eb189387b8ccfb73cf481275d8/library/std/src/sys/pal/unix/thread.rs:97:17
[INFO] [stdout]   50:     0x7c245a4d3aa4 - <unknown>
[INFO] [stdout]   51:     0x7c245a560a34 - clone
[INFO] [stdout]   52:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- key_switching::tests::key_switching_works stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'key_switching::tests::key_switching_works' panicked at src/key_switching.rs:158:9:
[INFO] [stdout] assertion `left == right` failed
[INFO] [stdout]   left: LweCleartext { message: 0 }
[INFO] [stdout]  right: LweCleartext { message: 1 }
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x58301b327422 - std::backtrace_rs::backtrace::libunwind::trace::hd39b1f53d3cf9745
[INFO] [stdout]                                at /rustc/d98a5da813da67eb189387b8ccfb73cf481275d8/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x58301b327422 - std::backtrace_rs::backtrace::trace_unsynchronized::he91d9a75d4e3972b
[INFO] [stdout]                                at /rustc/d98a5da813da67eb189387b8ccfb73cf481275d8/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x58301b327422 - std::sys::backtrace::_print_fmt::hca46938f8c6e22cf
[INFO] [stdout]                                at /rustc/d98a5da813da67eb189387b8ccfb73cf481275d8/library/std/src/sys/backtrace.rs:66:9
[INFO] [stdout]    3:     0x58301b327422 - <std::sys::backtrace::BacktraceLock::print::DisplayBacktrace as core::fmt::Display>::fmt::ha499add612cccf8e
[INFO] [stdout]                                at /rustc/d98a5da813da67eb189387b8ccfb73cf481275d8/library/std/src/sys/backtrace.rs:39:26
[INFO] [stdout]    4:     0x58301b34cc23 - core::fmt::rt::Argument::fmt::hd21145b75a833b7a
[INFO] [stdout]                                at /rustc/d98a5da813da67eb189387b8ccfb73cf481275d8/library/core/src/fmt/rt.rs:173:76
[INFO] [stdout]    5:     0x58301b34cc23 - core::fmt::write::hb10c956f5235c8a4
[INFO] [stdout]                                at /rustc/d98a5da813da67eb189387b8ccfb73cf481275d8/library/core/src/fmt/mod.rs:1465:25
[INFO] [stdout]    6:     0x58301b324603 - std::io::default_write_fmt::hdb7615052be2ba4d
[INFO] [stdout]                                at /rustc/d98a5da813da67eb189387b8ccfb73cf481275d8/library/std/src/io/mod.rs:639:11
[INFO] [stdout]    7:     0x58301b324603 - std::io::Write::write_fmt::he1bcd251ec6e4153
[INFO] [stdout]                                at /rustc/d98a5da813da67eb189387b8ccfb73cf481275d8/library/std/src/io/mod.rs:1954:13
[INFO] [stdout]    8:     0x58301b327272 - std::sys::backtrace::BacktraceLock::print::hb47c770ef659fd10
[INFO] [stdout]                                at /rustc/d98a5da813da67eb189387b8ccfb73cf481275d8/library/std/src/sys/backtrace.rs:42:9
[INFO] [stdout]    9:     0x58301b32899c - std::panicking::default_hook::{{closure}}::hdda8afb9d457a22c
[INFO] [stdout]                                at /rustc/d98a5da813da67eb189387b8ccfb73cf481275d8/library/std/src/panicking.rs:300:27
[INFO] [stdout]   10:     0x58301b3287f2 - std::panicking::default_hook::h7c46b44874fe5c9a
[INFO] [stdout]                                at /rustc/d98a5da813da67eb189387b8ccfb73cf481275d8/library/std/src/panicking.rs:324:9
[INFO] [stdout]   11:     0x58301b2eca24 - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h178a5fcedee41e2f
[INFO] [stdout]                                at /rustc/d98a5da813da67eb189387b8ccfb73cf481275d8/library/alloc/src/boxed.rs:1985:9
[INFO] [stdout]   12:     0x58301b2eca24 - test::test_main_with_exit_callback::{{closure}}::h951a41e0149d6d5d
[INFO] [stdout]                                at /rustc/d98a5da813da67eb189387b8ccfb73cf481275d8/library/test/src/lib.rs:145:21
[INFO] [stdout]   13:     0x58301b32947b - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h13602080f5b63276
[INFO] [stdout]                                at /rustc/d98a5da813da67eb189387b8ccfb73cf481275d8/library/alloc/src/boxed.rs:1985:9
[INFO] [stdout]   14:     0x58301b32947b - std::panicking::rust_panic_with_hook::ha6cb99ed099eb1c5
[INFO] [stdout]                                at /rustc/d98a5da813da67eb189387b8ccfb73cf481275d8/library/std/src/panicking.rs:841:13
[INFO] [stdout]   15:     0x58301b32914a - std::panicking::begin_panic_handler::{{closure}}::he11808bc797ee921
[INFO] [stdout]                                at /rustc/d98a5da813da67eb189387b8ccfb73cf481275d8/library/std/src/panicking.rs:706:13
[INFO] [stdout]   16:     0x58301b327929 - std::sys::backtrace::__rust_end_short_backtrace::h9418807cb7346258
[INFO] [stdout]                                at /rustc/d98a5da813da67eb189387b8ccfb73cf481275d8/library/std/src/sys/backtrace.rs:168:18
[INFO] [stdout]   17:     0x58301b328ddd - __rustc[18fb429eef004894]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/d98a5da813da67eb189387b8ccfb73cf481275d8/library/std/src/panicking.rs:697:5
[INFO] [stdout]   18:     0x58301b34b7a0 - core::panicking::panic_fmt::hd890aeb12c3a3fc3
[INFO] [stdout]                                at /rustc/d98a5da813da67eb189387b8ccfb73cf481275d8/library/core/src/panicking.rs:75:14
[INFO] [stdout]   19:     0x58301b34ba07 - core::panicking::assert_failed_inner::h02e1528dd7bc6647
[INFO] [stdout]                                at /rustc/d98a5da813da67eb189387b8ccfb73cf481275d8/library/core/src/panicking.rs:448:17
[INFO] [stdout]   20:     0x58301b2ae709 - core::panicking::assert_failed::h31eb70214e396870
[INFO] [stdout]                                at /rustc/d98a5da813da67eb189387b8ccfb73cf481275d8/library/core/src/panicking.rs:403:5
[INFO] [stdout]   21:     0x58301b2b3039 - tfhe::key_switching::tests::key_switching_works::hdd3c05dfb266200f
[INFO] [stdout]                                at /opt/rustwide/workdir/src/key_switching.rs:158:9
[INFO] [stdout]   22:     0x58301b2ae589 - tfhe::key_switching::tests::key_switching_works::{{closure}}::hc4bfc38f52f24df8
[INFO] [stdout]                                at /opt/rustwide/workdir/src/key_switching.rs:118:29
[INFO] [stdout]   23:     0x58301b2ae589 - core::ops::function::FnOnce::call_once::h7382489740ce99fc
[INFO] [stdout]                                at /rustc/d98a5da813da67eb189387b8ccfb73cf481275d8/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   24:     0x58301b2f21ab - core::ops::function::FnOnce::call_once::h2869fb5b0a2b0bdc
[INFO] [stdout]                                at /rustc/d98a5da813da67eb189387b8ccfb73cf481275d8/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   25:     0x58301b2f21ab - test::__rust_begin_short_backtrace::h7dd7142bd62fa711
[INFO] [stdout]                                at /rustc/d98a5da813da67eb189387b8ccfb73cf481275d8/library/test/src/lib.rs:648:18
[INFO] [stdout]   26:     0x58301b2f139e - test::run_test_in_process::{{closure}}::h43a753f038d36b3f
[INFO] [stdout]                                at /rustc/d98a5da813da67eb189387b8ccfb73cf481275d8/library/test/src/lib.rs:671:74
[INFO] [stdout]   27:     0x58301b2f139e - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h0ca95dd3e12d1e16
[INFO] [stdout]                                at /rustc/d98a5da813da67eb189387b8ccfb73cf481275d8/library/core/src/panic/unwind_safe.rs:272:9
[INFO] [stdout]   28:     0x58301b2f139e - std::panicking::catch_unwind::do_call::he308587d70ac34ba
[INFO] [stdout]                                at /rustc/d98a5da813da67eb189387b8ccfb73cf481275d8/library/std/src/panicking.rs:589:40
[INFO] [stdout]   29:     0x58301b2f139e - std::panicking::catch_unwind::h30dcba31973e8fb0
[INFO] [stdout]                                at /rustc/d98a5da813da67eb189387b8ccfb73cf481275d8/library/std/src/panicking.rs:552:19
[INFO] [stdout]   30:     0x58301b2f139e - std::panic::catch_unwind::hfb68364e5621fbee
[INFO] [stdout]                                at /rustc/d98a5da813da67eb189387b8ccfb73cf481275d8/library/std/src/panic.rs:359:14
[INFO] [stdout]   31:     0x58301b2f139e - test::run_test_in_process::hcdcc2977903b998a
[INFO] [stdout]                                at /rustc/d98a5da813da67eb189387b8ccfb73cf481275d8/library/test/src/lib.rs:671:27
[INFO] [stdout]   32:     0x58301b2f139e - test::run_test::{{closure}}::h544a6550958c5d14
[INFO] [stdout]                                at /rustc/d98a5da813da67eb189387b8ccfb73cf481275d8/library/test/src/lib.rs:592:43
[INFO] [stdout]   33:     0x58301b2b4f14 - test::run_test::{{closure}}::hb172e48ebe2b92c7
[INFO] [stdout]                                at /rustc/d98a5da813da67eb189387b8ccfb73cf481275d8/library/test/src/lib.rs:622:41
[INFO] [stdout]   34:     0x58301b2b4f14 - std::sys::backtrace::__rust_begin_short_backtrace::h7e79d8706638bea0
[INFO] [stdout]                                at /rustc/d98a5da813da67eb189387b8ccfb73cf481275d8/library/std/src/sys/backtrace.rs:152:18
[INFO] [stdout]   35:     0x58301b2b88ea - std::thread::Builder::spawn_unchecked_::{{closure}}::{{closure}}::hc4a275f1e71b8ab0
[INFO] [stdout]                                at /rustc/d98a5da813da67eb189387b8ccfb73cf481275d8/library/std/src/thread/mod.rs:559:17
[INFO] [stdout]   36:     0x58301b2b88ea - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h01ed0d242df78cfd
[INFO] [stdout]                                at /rustc/d98a5da813da67eb189387b8ccfb73cf481275d8/library/core/src/panic/unwind_safe.rs:272:9
[INFO] [stdout]   37:     0x58301b2b88ea - std::panicking::catch_unwind::do_call::h052f373fb905fee0
[INFO] [stdout]                                at /rustc/d98a5da813da67eb189387b8ccfb73cf481275d8/library/std/src/panicking.rs:589:40
[INFO] [stdout]   38:     0x58301b2b88ea - std::panicking::catch_unwind::hb425d20c8ffb09c8
[INFO] [stdout]                                at /rustc/d98a5da813da67eb189387b8ccfb73cf481275d8/library/std/src/panicking.rs:552:19
[INFO] [stdout]   39:     0x58301b2b88ea - std::panic::catch_unwind::ha0d5dfbf18fdeda5
[INFO] [stdout]                                at /rustc/d98a5da813da67eb189387b8ccfb73cf481275d8/library/std/src/panic.rs:359:14
[INFO] [stdout]   40:     0x58301b2b88ea - std::thread::Builder::spawn_unchecked_::{{closure}}::hbe79182bd37949c7
[INFO] [stdout]                                at /rustc/d98a5da813da67eb189387b8ccfb73cf481275d8/library/std/src/thread/mod.rs:557:30
[INFO] [stdout]   41:     0x58301b2b88ea - core::ops::function::FnOnce::call_once{{vtable.shim}}::hc096c4a06972fde5
[INFO] [stdout]                                at /rustc/d98a5da813da67eb189387b8ccfb73cf481275d8/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   42:     0x58301b32c3d7 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h47377e27fb938a26
[INFO] [stdout]                                at /rustc/d98a5da813da67eb189387b8ccfb73cf481275d8/library/alloc/src/boxed.rs:1971:9
[INFO] [stdout]   43:     0x58301b32c3d7 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h72f1fe5d095abf57
[INFO] [stdout]                                at /rustc/d98a5da813da67eb189387b8ccfb73cf481275d8/library/alloc/src/boxed.rs:1971:9
[INFO] [stdout]   44:     0x58301b32c3d7 - std::sys::pal::unix::thread::Thread::new::thread_start::h0a4d8e1b9c0d38cf
[INFO] [stdout]                                at /rustc/d98a5da813da67eb189387b8ccfb73cf481275d8/library/std/src/sys/pal/unix/thread.rs:97:17
[INFO] [stdout]   45:     0x7c245a4d3aa4 - <unknown>
[INFO] [stdout]   46:     0x7c245a560a34 - clone
[INFO] [stdout]   47:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- glwe::tests::encrypt_and_decrypt_glwe stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'glwe::tests::encrypt_and_decrypt_glwe' panicked at src/glwe.rs:290:9:
[INFO] [stdout] assertion `left == right` failed
[INFO] [stdout]   left: GlwePlaintext { data: [536870912, 1073741824, 0, 1610612736, 1610612736, ..., 1073741824, 536870912, 1610612736, 536870912, 1073741824], shape=[512], strides=[1], layout=CFcf (0xf), const ndim=1 }
[INFO] [stdout]  right: GlwePlaintext { data: [536871184, 1073741824, 25, 1610612736, 1610612736, ..., 1073741824, 536870912, 1610612764, 536871067, 1073741890], shape=[512], strides=[1], layout=CFcf (0xf), const ndim=1 }
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x58301b327422 - std::backtrace_rs::backtrace::libunwind::trace::hd39b1f53d3cf9745
[INFO] [stdout]                                at /rustc/d98a5da813da67eb189387b8ccfb73cf481275d8/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x58301b327422 - std::backtrace_rs::backtrace::trace_unsynchronized::he91d9a75d4e3972b
[INFO] [stdout]                                at /rustc/d98a5da813da67eb189387b8ccfb73cf481275d8/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x58301b327422 - std::sys::backtrace::_print_fmt::hca46938f8c6e22cf
[INFO] [stdout]                                at /rustc/d98a5da813da67eb189387b8ccfb73cf481275d8/library/std/src/sys/backtrace.rs:66:9
[INFO] [stdout]    3:     0x58301b327422 - <std::sys::backtrace::BacktraceLock::print::DisplayBacktrace as core::fmt::Display>::fmt::ha499add612cccf8e
[INFO] [stdout]                                at /rustc/d98a5da813da67eb189387b8ccfb73cf481275d8/library/std/src/sys/backtrace.rs:39:26
[INFO] [stdout]    4:     0x58301b34cc23 - core::fmt::rt::Argument::fmt::hd21145b75a833b7a
[INFO] [stdout]                                at /rustc/d98a5da813da67eb189387b8ccfb73cf481275d8/library/core/src/fmt/rt.rs:173:76
[INFO] [stdout]    5:     0x58301b34cc23 - core::fmt::write::hb10c956f5235c8a4
[INFO] [stdout]                                at /rustc/d98a5da813da67eb189387b8ccfb73cf481275d8/library/core/src/fmt/mod.rs:1465:25
[INFO] [stdout]    6:     0x58301b324603 - std::io::default_write_fmt::hdb7615052be2ba4d
[INFO] [stdout]                                at /rustc/d98a5da813da67eb189387b8ccfb73cf481275d8/library/std/src/io/mod.rs:639:11
[INFO] [stdout]    7:     0x58301b324603 - std::io::Write::write_fmt::he1bcd251ec6e4153
[INFO] [stdout]                                at /rustc/d98a5da813da67eb189387b8ccfb73cf481275d8/library/std/src/io/mod.rs:1954:13
[INFO] [stdout]    8:     0x58301b327272 - std::sys::backtrace::BacktraceLock::print::hb47c770ef659fd10
[INFO] [stdout]                                at /rustc/d98a5da813da67eb189387b8ccfb73cf481275d8/library/std/src/sys/backtrace.rs:42:9
[INFO] [stdout]    9:     0x58301b32899c - std::panicking::default_hook::{{closure}}::hdda8afb9d457a22c
[INFO] [stdout]                                at /rustc/d98a5da813da67eb189387b8ccfb73cf481275d8/library/std/src/panicking.rs:300:27
[INFO] [stdout]   10:     0x58301b3287f2 - std::panicking::default_hook::h7c46b44874fe5c9a
[INFO] [stdout]                                at /rustc/d98a5da813da67eb189387b8ccfb73cf481275d8/library/std/src/panicking.rs:324:9
[INFO] [stdout]   11:     0x58301b2eca24 - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h178a5fcedee41e2f
[INFO] [stdout]                                at /rustc/d98a5da813da67eb189387b8ccfb73cf481275d8/library/alloc/src/boxed.rs:1985:9
[INFO] [stdout]   12:     0x58301b2eca24 - test::test_main_with_exit_callback::{{closure}}::h951a41e0149d6d5d
[INFO] [stdout]                                at /rustc/d98a5da813da67eb189387b8ccfb73cf481275d8/library/test/src/lib.rs:145:21
[INFO] [stdout]   13:     0x58301b32947b - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h13602080f5b63276
[INFO] [stdout]                                at /rustc/d98a5da813da67eb189387b8ccfb73cf481275d8/library/alloc/src/boxed.rs:1985:9
[INFO] [stdout]   14:     0x58301b32947b - std::panicking::rust_panic_with_hook::ha6cb99ed099eb1c5
[INFO] [stdout]                                at /rustc/d98a5da813da67eb189387b8ccfb73cf481275d8/library/std/src/panicking.rs:841:13
[INFO] [stdout]   15:     0x58301b32914a - std::panicking::begin_panic_handler::{{closure}}::he11808bc797ee921
[INFO] [stdout]                                at /rustc/d98a5da813da67eb189387b8ccfb73cf481275d8/library/std/src/panicking.rs:706:13
[INFO] [stdout]   16:     0x58301b327929 - std::sys::backtrace::__rust_end_short_backtrace::h9418807cb7346258
[INFO] [stdout]                                at /rustc/d98a5da813da67eb189387b8ccfb73cf481275d8/library/std/src/sys/backtrace.rs:168:18
[INFO] [stdout]   17:     0x58301b328ddd - __rustc[18fb429eef004894]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/d98a5da813da67eb189387b8ccfb73cf481275d8/library/std/src/panicking.rs:697:5
[INFO] [stdout]   18:     0x58301b34b7a0 - core::panicking::panic_fmt::hd890aeb12c3a3fc3
[INFO] [stdout]                                at /rustc/d98a5da813da67eb189387b8ccfb73cf481275d8/library/core/src/panicking.rs:75:14
[INFO] [stdout]   19:     0x58301b34ba07 - core::panicking::assert_failed_inner::h02e1528dd7bc6647
[INFO] [stdout]                                at /rustc/d98a5da813da67eb189387b8ccfb73cf481275d8/library/core/src/panicking.rs:448:17
[INFO] [stdout]   20:     0x58301b2ae793 - core::panicking::assert_failed::h8148e8b449bd1b3d
[INFO] [stdout]                                at /rustc/d98a5da813da67eb189387b8ccfb73cf481275d8/library/core/src/panicking.rs:403:5
[INFO] [stdout]   21:     0x58301b2a80d8 - tfhe::glwe::tests::encrypt_and_decrypt_glwe::hcb04ab76fd42a684
[INFO] [stdout]                                at /opt/rustwide/workdir/src/glwe.rs:290:9
[INFO] [stdout]   22:     0x58301b2ae6c9 - tfhe::glwe::tests::encrypt_and_decrypt_glwe::{{closure}}::h3717380459f3d05f
[INFO] [stdout]                                at /opt/rustwide/workdir/src/glwe.rs:275:34
[INFO] [stdout]   23:     0x58301b2ae6c9 - core::ops::function::FnOnce::call_once::hf6848fb3b992e059
[INFO] [stdout]                                at /rustc/d98a5da813da67eb189387b8ccfb73cf481275d8/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   24:     0x58301b2f21ab - core::ops::function::FnOnce::call_once::h2869fb5b0a2b0bdc
[INFO] [stdout]                                at /rustc/d98a5da813da67eb189387b8ccfb73cf481275d8/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   25:     0x58301b2f21ab - test::__rust_begin_short_backtrace::h7dd7142bd62fa711
[INFO] [stdout]                                at /rustc/d98a5da813da67eb189387b8ccfb73cf481275d8/library/test/src/lib.rs:648:18
[INFO] [stdout]   26:     0x58301b2f139e - test::run_test_in_process::{{closure}}::h43a753f038d36b3f
[INFO] [stdout]                                at /rustc/d98a5da813da67eb189387b8ccfb73cf481275d8/library/test/src/lib.rs:671:74
[INFO] [stdout]   27:     0x58301b2f139e - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h0ca95dd3e12d1e16
[INFO] [stdout]                                at /rustc/d98a5da813da67eb189387b8ccfb73cf481275d8/library/core/src/panic/unwind_safe.rs:272:9
[INFO] [stdout]   28:     0x58301b2f139e - std::panicking::catch_unwind::do_call::he308587d70ac34ba
[INFO] [stdout]                                at /rustc/d98a5da813da67eb189387b8ccfb73cf481275d8/library/std/src/panicking.rs:589:40
[INFO] [stdout]   29:     0x58301b2f139e - std::panicking::catch_unwind::h30dcba31973e8fb0
[INFO] [stdout]                                at /rustc/d98a5da813da67eb189387b8ccfb73cf481275d8/library/std/src/panicking.rs:552:19
[INFO] [stdout]   30:     0x58301b2f139e - std::panic::catch_unwind::hfb68364e5621fbee
[INFO] [stdout]                                at /rustc/d98a5da813da67eb189387b8ccfb73cf481275d8/library/std/src/panic.rs:359:14
[INFO] [stdout]   31:     0x58301b2f139e - test::run_test_in_process::hcdcc2977903b998a
[INFO] [stdout]                                at /rustc/d98a5da813da67eb189387b8ccfb73cf481275d8/library/test/src/lib.rs:671:27
[INFO] [stdout]   32:     0x58301b2f139e - test::run_test::{{closure}}::h544a6550958c5d14
[INFO] [stdout]                                at /rustc/d98a5da813da67eb189387b8ccfb73cf481275d8/library/test/src/lib.rs:592:43
[INFO] [stdout]   33:     0x58301b2b4f14 - test::run_test::{{closure}}::hb172e48ebe2b92c7
[INFO] [stdout]                                at /rustc/d98a5da813da67eb189387b8ccfb73cf481275d8/library/test/src/lib.rs:622:41
[INFO] [stdout]   34:     0x58301b2b4f14 - std::sys::backtrace::__rust_begin_short_backtrace::h7e79d8706638bea0
[INFO] [stdout]                                at /rustc/d98a5da813da67eb189387b8ccfb73cf481275d8/library/std/src/sys/backtrace.rs:152:18
[INFO] [stdout]   35:     0x58301b2b88ea - std::thread::Builder::spawn_unchecked_::{{closure}}::{{closure}}::hc4a275f1e71b8ab0
[INFO] [stdout]                                at /rustc/d98a5da813da67eb189387b8ccfb73cf481275d8/library/std/src/thread/mod.rs:559:17
[INFO] [stdout]   36:     0x58301b2b88ea - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h01ed0d242df78cfd
[INFO] [stdout]                                at /rustc/d98a5da813da67eb189387b8ccfb73cf481275d8/library/core/src/panic/unwind_safe.rs:272:9
[INFO] [stdout]   37:     0x58301b2b88ea - std::panicking::catch_unwind::do_call::h052f373fb905fee0
[INFO] [stdout]                                at /rustc/d98a5da813da67eb189387b8ccfb73cf481275d8/library/std/src/panicking.rs:589:40
[INFO] [stdout]   38:     0x58301b2b88ea - std::panicking::catch_unwind::hb425d20c8ffb09c8
[INFO] [stdout]                                at /rustc/d98a5da813da67eb189387b8ccfb73cf481275d8/library/std/src/panicking.rs:552:19
[INFO] [stdout]   39:     0x58301b2b88ea - std::panic::catch_unwind::ha0d5dfbf18fdeda5
[INFO] [stdout]                                at /rustc/d98a5da813da67eb189387b8ccfb73cf481275d8/library/std/src/panic.rs:359:14
[INFO] [stdout]   40:     0x58301b2b88ea - std::thread::Builder::spawn_unchecked_::{{closure}}::hbe79182bd37949c7
[INFO] [stdout]                                at /rustc/d98a5da813da67eb189387b8ccfb73cf481275d8/library/std/src/thread/mod.rs:557:30
[INFO] [stdout]   41:     0x58301b2b88ea - core::ops::function::FnOnce::call_once{{vtable.shim}}::hc096c4a06972fde5
[INFO] [stdout]                                at /rustc/d98a5da813da67eb189387b8ccfb73cf481275d8/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   42:     0x58301b32c3d7 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h47377e27fb938a26
[INFO] [stdout]                                at /rustc/d98a5da813da67eb189387b8ccfb73cf481275d8/library/alloc/src/boxed.rs:1971:9
[INFO] [stdout]   43:     0x58301b32c3d7 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h72f1fe5d095abf57
[INFO] [stdout]                                at /rustc/d98a5da813da67eb189387b8ccfb73cf481275d8/library/alloc/src/boxed.rs:1971:9
[INFO] [stdout]   44:     0x58301b32c3d7 - std::sys::pal::unix::thread::Thread::new::thread_start::h0a4d8e1b9c0d38cf
[INFO] [stdout]                                at /rustc/d98a5da813da67eb189387b8ccfb73cf481275d8/library/std/src/sys/pal/unix/thread.rs:97:17
[INFO] [stdout]   45:     0x7c245a4d3aa4 - <unknown>
[INFO] [stdout]   46:     0x7c245a560a34 - clone
[INFO] [stdout]   47:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     bootstrapping::tests::sample_extract_glwe_works
[INFO] [stdout]     glwe::tests::encrypt_and_decrypt_glwe
[INFO] [stdout]     key_switching::tests::key_switching_works
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 17 passed; 3 failed; 0 ignored; 0 measured; 0 filtered out; finished in 14.04s
[INFO] [stdout] 
[INFO] [stderr] error: test failed, to rerun pass `--lib`
[INFO] running `Command { std: "docker" "inspect" "1305972a3b4a6669b776f8ba6ac68cf4ef9745505ca00ae995a483e7a3a96827", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "1305972a3b4a6669b776f8ba6ac68cf4ef9745505ca00ae995a483e7a3a96827", kill_on_drop: false }`
[INFO] [stdout] 1305972a3b4a6669b776f8ba6ac68cf4ef9745505ca00ae995a483e7a3a96827
